Session Timeout issue

Simon Ryf simon.ryf at dualstack.ch
Thu Aug 3 06:02:22 EDT 2017


Hi Zaid,

    So you're not seeing any exceptions in the log? Genie defaults to the
    30 seconds timeout or whatever you have specified in config.json. The
    device may also suggest a session timeout value in the inform message 
    but I doubt your device sets the timeout to 5 seconds.

I don’t see any exceptions in the log and no session timeouts:
2017-08-03T09:43:15.541Z [INFO] 172.18.1.10 00259E-HG8247H-485754439AB29B4A: Inform; cpeRequestId="2025" informEvent="2 PERIODIC" informRetryCount=1
2017-08-03T09:43:15.593Z [INFO] 172.18.1.10 00259E-HG8247H-485754439AB29B4A: ACS request; acsRequestId="15da77a4942000" acsRequestName="GetParameterNames"

    It's possible that the device sends "Connection: close" header. A CWMP
    session can span across multiple TCP connections so this could be
    normal.
Nope, it’s a keep-alive
See below the whole trace.


POST / HTTP/1.1
Host: 172.18.1.49:7547
SoapAction: 
Connection: Keep-Alive
Content-Type: text/xml; charset=UTF-8
User-Agent: HW_WAP_CWMP_V02
Content-Length: 2406

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0">
<SOAP-ENV:Header>
<cwmp:ID SOAP-ENV:mustUnderstand="1">362</cwmp:ID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<cwmp:Inform>
<DeviceId>
<Manufacturer>Huawei Technologies Co., Ltd</Manufacturer>
<OUI>00259E</OUI>
<ProductClass>HG8247H</ProductClass>
<SerialNumber>485754439AB29B4A</SerialNumber>
</DeviceId>
<Event SOAP-ENC:arrayType="cwmp:EventStruct[1]">
<EventStruct>
<EventCode>2 PERIODIC</EventCode>
<CommandKey/>
</EventStruct>
</Event>
<MaxEnvelopes>1</MaxEnvelopes>
<CurrentTime>2017-07-28T16:06:08+01:00</CurrentTime>
<RetryCount>8</RetryCount>
<ParameterList SOAP-ENC:arrayType="cwmp:ParameterValueStruct[8]">
<ParameterValueStruct>
<Name>InternetGatewayDevice.ManagementServer.ParameterKey</Name>
<Value xsi:type="xsd:string"/>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.ManagementServer.ConnectionRequestURL</Name>
<Value xsi:type="xsd:string">http://172.18.1.10:7547/9e5290f51b9c7dd4fb6707443c8b40d7</Value>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.DeviceSummary</Name>
<Value xsi:type="xsd:string">InternetGatewayDevice:1.1[](Baseline:1, EthernetLAN:1, USBLAN:1, WiFiLAN:1, ADSLWAN:1, Time:1, IPPing:1, ATMLoopback:1, DSLDiagnostics:1 DeviceAssociation:1)</Value>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.DeviceInfo.SpecVersion</Name>
<Value xsi:type="xsd:string">1.0</Value>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.DeviceInfo.HardwareVersion</Name>
<Value xsi:type="xsd:string">4B4.A</Value>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.DeviceInfo.SoftwareVersion</Name>
<Value xsi:type="xsd:string">V3R013C00S106</Value>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.DeviceInfo.ProvisioningCode</Name>
<Value xsi:type="xsd:string"/>
</ParameterValueStruct>
<ParameterValueStruct>
<Name>InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress</Name>
<Value xsi:type="xsd:string">172.18.1.10</Value>
</ParameterValueStruct>
</ParameterList>
</cwmp:Inform>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>




HTTP/1.1 200 OK
Server: GenieACS/1.1.1
SOAPServer: GenieACS/1.1.1
Content-Type: text/xml; charset="utf-8"
Set-Cookie: session=fa67715b6f2bbd79
Content-Length: 524
Date: Fri, 28 Jul 2017 15:06:08 GMT
Connection: keep-alive

<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><soap-env:Header><cwmp:ID soap-env:mustUnderstand="1">362</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:InformResponse><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></soap-env:Body></soap-env:Envelope>




POST / HTTP/1.1
Host: 172.18.1.49:7547
Connection: Keep-Alive
Cookie: session=fa67715b6f2bbd79
User-Agent: HW_WAP_CWMP_V02
Content-Length: 0




HTTP/1.1 200 OK
Server: GenieACS/1.1.1
SOAPServer: GenieACS/1.1.1
Content-Type: text/xml; charset="utf-8"
Content-Length: 588
Date: Fri, 28 Jul 2017 15:06:08 GMT
Connection: keep-alive

<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cwmp="urn:dslforum-org:cwmp-1-0"><soap-env:Header><cwmp:ID soap-env:mustUnderstand="1">15d89bbbe26000</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetParameterNames><ParameterPath>InternetGatewayDevice.</ParameterPath><NextLevel>0</NextLevel></cwmp:GetParameterNames></soap-env:Body></soap-env:Envelope>


Now comes a TCP-FIN from GenieACS.
Question is, does this come from GenieACS code or from the underlying libs?

Br
Simon

On 02.08.17, 03:06, "Users on behalf of Zaid Abdulla" <users-bounces at lists.genieacs.com on behalf of zaid at genieacs.com> wrote:

    On Fri, 2017-07-28 at 16:47 +0000, Simon Ryf wrote: 
    > Refreshing the whole tree (IGW.*) the device takes some time to
    > respond but GenieACS is sending a TCP-FIN to the device after 5
    > seconds.
    > Setting the SESSION_TIMEOUT in ./config/config.json had no effect. On
    > other installations, the timeout seems to be 30 seconds. I’m not sure
    > where this is coming from.
    
    So you're not seeing any exceptions in the log? Genie defaults to the
    30 seconds timeout or whatever you have specified in config.json. The
    device may also suggest a session timeout value in the inform message 
    but I doubt your device sets the timeout to 5 seconds.
     
    > When I use GET_PARAMETER_NAMES_DEPTH_THRESHOLD=2
    > I have the problem that on the first run the ACS is only collecting
    > PARAMTER_NAMES but not their values.
    > In the next inform it does then collect the values as well. But I
    > guess that is not the intended behaviour?
    
    This is likely a bug. I have a few fixes coming up tomorrow so that
    will hopefully get resolved. But let me know if it doesn't.
     
    > Do you have any thoughts where I need to look to change the timeout
    > so the tcp-session is not closed after (only) 5 seconds?
    
    It's possible that the device sends "Connection: close" header. A CWMP
    session can span across multiple TCP connections so this could be
    normal.
    
    -- 
    Zaid Abdulla <zaid at genieacs.com>
    _______________________________________________
    Users mailing list
    Users at lists.genieacs.com
    http://lists.genieacs.com/mailman/listinfo/users
    



More information about the Users mailing list