View Issue Details

IDProjectCategoryView StatusLast Update
0000217easycwmpHelppublic2017-04-27 10:17
Reporterandy_yang Assigned Tomohamed.kallel  
PriorityurgentSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Platformopenwrt15OSopenwrt OS Versionopenwrt 15
Summary0000217: The easycwmpd process sends a [FIN,ACK] packet to disconnect with acs after sending post request
DescriptionMy CPE ip is 192.168.20.99
My ITMS(ACS) ip is 192.168.4.11
CPE and ACS have established the TCP connection successfully by three TCP handshake protocols. Then,we meet a issue:
The easycwmpd process sends a [FIN,ACK] packet to disconnect with acs after sending post request.
Please refer to log and captured packet file.
Steps To Reproduce1.config interface and acs url is
    option interface 'eth1.4093'
    option url 'http://192.168.4.11:9090/ACS-server/ACS'
2.start easycwmpd process
    easycwmpd -f
3. Capture packet to analysis
    

   
Additional Informationlog message is following:
root@OpenWrt:~# easycwmpd -f
2017-04-24 09:20:10 [easycwmp] NOTICE - add event '0 BOOTSTRAP'
2017-04-24 09:20:10 [easycwmp] NOTICE - external script init
config_init_local(55):: easycwmp.@local[0].interface=eth1.4093
config_init_local(65):: easycwmp.@local[0].port=7547
config_init_local(83):: easycwmp.@local[0].ubus_socket=/var/run/ubus.sock
config_init_local(94):: easycwmp.@local[0].logging_level=3
config_init_acs(159):: easycwmp.@acs[0].url=http://192.168.4.11:9090/ACS-server/ACS
config_init_acs(177):: easycwmp.@acs[0].periodic_enable=1
config_init_acs(190):: easycwmp.@acs[0].periodic_time=0001-01-01T00:00:00Z
config_init_acs(183):: easycwmp.@acs[0].periodic_interval=1800
2017-04-24 09:20:10 [easycwmp] NOTICE - init periodic inform: reference time = n/a, interval = 1800
2017-04-24 09:20:10 [easycwmp] NOTICE - external: execute update_value_change
2017-04-24 09:20:14 [easycwmp] NOTICE - daemon started
2017-04-24 09:20:14 [easycwmp] NOTICE - external: execute inform device_id
2017-04-24 09:20:14 [easycwmp] NOTICE - external script exit
2017-04-24 09:20:14 [easycwmp] NOTICE - interface eth1.4093 has ip 192.168.20.99
+++ HTTP SERVER CONFIGURATION +++
ip: '192.168.20.99'
port: '7547'
--- HTTP SERVER CONFIGURATION ---
2017-04-24 09:20:14 [easycwmp] NOTICE - http server initialized
2017-04-24 09:20:14 [easycwmp] NOTICE - entering main loop
2017-04-24 09:20:14 [easycwmp] NOTICE - start session
+++ HTTP CLIENT CONFIGURATION +++
http_client_init(50):: url: http://192.168.4.11:9090/ACS-server/ACS
http_client_init(56):: ssl_verify: SSL certificate validation disabled.
--- HTTP CLIENT CONFIGURATION ---
2017-04-24 09:20:14 [easycwmp] NOTICE - configured acs url http://192.168.4.11:9090/ACS-server/ACS
2017-04-24 09:20:14 [easycwmp] NOTICE - external script init
2017-04-24 09:20:14 [easycwmp] NOTICE - external: execute inform parameter
2017-04-24 09:20:16 [easycwmp] NOTICE - send Inform
+++ SEND HTTP REQUEST +++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <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-2">
  <soap_env:Header>
   <cwmp:ID soap_env:mustUnderstand="1">1</cwmp:ID>
  </soap_env:Header>
  <soap_env:Body>
   <cwmp:Inform>
    <DeviceId>
     <Manufacturer>EBANG</Manufacturer>
     <OUI>8CC7D0</OUI>
     <ProductClass>EB-MIG-1800ZG</ProductClass>
     <SerialNumber>83170311002Y00002</SerialNumber>
    </DeviceId>
    <Event soap_enc:arrayType="cwmp:EventStruct[1]">
     <EventStruct>
      <EventCode>0 BOOTSTRAP</EventCode>
      <CommandKey />
     </EventStruct>
    </Event>
    <MaxEnvelopes>1</MaxEnvelopes>
    <CurrentTime>2017-04-24T09:20:14+00:00</CurrentTime>
    <RetryCount>0</RetryCount>
    <ParameterList soap_enc:arrayType="cwmp:ParameterValueStruct[10]">
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.HardwareVersion</Name>
      <Value xsi:type="xsd:string">10</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.Manufacturer</Name>
      <Value xsi:type="xsd:string">EBANG</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.ManufacturerOUI</Name>
      <Value xsi:type="xsd:string">8CC7D0</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.ProductClass</Name>
      <Value xsi:type="xsd:string">EB-MIG-1800ZG</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.ProvisioningCode</Name>
      <Value xsi:type="xsd:string"></Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.SerialNumber</Name>
      <Value xsi:type="xsd:string">83170311002Y00002</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.SoftwareVersion</Name>
      <Value xsi:type="xsd:string">soft_V1.0</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.DeviceInfo.SpecVersion</Name>
      <Value xsi:type="xsd:string">1.0</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.ManagementServer.ConnectionRequestURL</Name>
      <Value xsi:type="xsd:string">http://192.168.20.99:7547/</Value>
     </ParameterValueStruct>
     <ParameterValueStruct>
      <Name>Device.ManagementServer.ParameterKey</Name>
      <Value xsi:type="xsd:string">unsetCommandKey</Value>
     </ParameterValueStruct>
    </ParameterList>
   </cwmp:Inform>
  </soap_env:Body>
 </soap_env:Envelope>
--- SEND HTTP REQUEST ---
> POST /ACS-server/ACS HTTP/1.1
Host: 192.168.4.11:9090
User-Agent: easycwmp
Content-Type: text/xml; charset="utf-8"
SOAPAction:
Content-Length: 2733
Expect: 100-continue

* Operation timed out after 30008 milliseconds with 0 bytes received
2017-04-24 09:20:46 [easycwmp] NOTICE - LibCurl Error: Operation timed out after 30008 milliseconds with 0 bytes received
2017-04-24 09:20:46 [easycwmp] NOTICE - sending http message failed
rpc_inform(218): sending Inform http message failed
2017-04-24 09:20:46 [easycwmp] NOTICE - sending Inform failed
2017-04-24 09:20:46 [easycwmp] NOTICE - external: execute apply service
2017-04-24 09:20:46 [easycwmp] NOTICE - external script exit
2017-04-24 09:20:46 [easycwmp] NOTICE - end session failed
2017-04-24 09:20:46 [easycwmp] NOTICE - retry session in 7 sec, RetryCount = 1
^C2017-04-24 09:20:50 [easycwmp] NOTICE - exiting
TagsNo tags attached.
e-mail notification

Activities

andy_yang

2017-04-24 03:33

reporter  

cpe_connect_error.pcap (3,935 bytes)

andy_yang

2017-04-24 03:54

reporter   ~0000690

I use other CPE device with tr069, that can connect with the ITMS(ACS) of HUAWEI.
please refer to captured packet file(another_CPE_ok_con.pcap).

Another CPE device ip is 192.168.20.12
ITMS(ACS) ip addr is 192.168.4.11

andy_yang

2017-04-24 03:54

reporter  

andy_yang

2017-04-24 10:49

reporter   ~0000691

I analysis that the Easycwmp send the post packet with SOAP not supported by my acs or the HTTP packet format envelope error?

andy_yang

2017-04-24 10:49

reporter   ~0000692

what's your viewpoint?

mohamed.kallel

2017-04-24 13:22

administrator   ~0000693

try to set the "http100continue_disable" option to 1 in your easycwmp config

uci set easycwmp.@acs[0].http100continue_disable=1
uci commit

andy_yang

2017-04-25 03:08

reporter   ~0000694

I have try this method,but it's still not OK!!
please refer to packet file disable_http_100.pcap.

andy_yang

2017-04-25 03:08

reporter   ~0000695

the log is the same as above.
....
....
--- SEND HTTP REQUEST ---
> POST /ACS-server/ACS HTTP/1.1
Host: 192.168.4.11:9090
User-Agent: easycwmp
Content-Type: text/xml; charset="utf-8"
SOAPAction:
Content-Length: 2733

* Operation timed out after 30004 milliseconds with 0 bytes received
2017-04-25 09:06:59 [easycwmp] NOTICE - LibCurl Error: Operation timed out after 30004 milliseconds with 0 bytes received
2017-04-25 09:06:59 [easycwmp] NOTICE - sending http message failed
rpc_inform(218): sending Inform http message failed
2017-04-25 09:06:59 [easycwmp] NOTICE - sending Inform failed
2017-04-25 09:06:59 [easycwmp] NOTICE - external: execute apply service
2017-04-25 09:06:59 [easycwmp] NOTICE - external script exit
2017-04-25 09:06:59 [easycwmp] NOTICE - end session failed
2017-04-25 09:06:59 [easycwmp] NOTICE - retry session in 15 sec, RetryCount = 2
2017-04-25 09:07:14 [easycwmp] NOTICE - start session
+++ HTTP CLIENT CONFIGURATION +++
http_client_init(50):: url: http://192.168.4.11:9090/ACS-server/ACS
http_client_init(56):: ssl_verify: SSL certificate validation disabled.
--- HTTP CLIENT CONFIGURATION ---
2017-04-25 09:07:14 [easycwmp] NOTICE - configured acs url http://192.168.4.11:9090/ACS-server/ACS
2017-04-25 09:07:14 [easycwmp] NOTICE - external script init
2017-04-25 09:07:14 [easycwmp] NOTICE - external: execute inform parameter
2017-04-25 09:07:15 [easycwmp] NOTICE - send Inform
+++ SEND HTTP REQUEST +++
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <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-2">
  <soap_env:Header>
   <cwmp:ID soap_env:mustUnderstand="1">3</cwmp:ID>
....
....

andy_yang

2017-04-25 03:09

reporter  

disable_http_100.pcap (3,421 bytes)

mohamed.kallel

2017-04-25 10:40

administrator   ~0000696

some ACSs require that the xml tag attribute should be displayed in the same line.
In the microxml source code, try to change the the new lines by spaces of <sopa_env> attribute.
You can see that the name spaces attributes in the sop_env tag are displayed in new lines. try to replaced by spaces.

andy_yang

2017-04-27 08:25

reporter   ~0000697

Thanks for your idea. I have fixed my issue.The cause is that xml version the easycwmp use cwmp="urn:dslforum-org:cwmp-1-2" but my acs use cwmp="urn:dslforum-org:cwmp-1-0"
Thank you again!

mohamed.kallel

2017-04-27 10:17

administrator   ~0000698

Great!

Issue History

Date Modified Username Field Change
2017-04-24 03:33 andy_yang New Issue
2017-04-24 03:33 andy_yang File Added: cpe_connect_error.pcap
2017-04-24 03:54 andy_yang Note Added: 0000690
2017-04-24 03:54 andy_yang File Added: another_CPE_ok_con.pcap
2017-04-24 10:49 andy_yang Note Added: 0000691
2017-04-24 10:49 andy_yang Note Added: 0000692
2017-04-24 13:22 mohamed.kallel Note Added: 0000693
2017-04-25 03:08 andy_yang Note Added: 0000694
2017-04-25 03:08 andy_yang Note Added: 0000695
2017-04-25 03:09 andy_yang File Added: disable_http_100.pcap
2017-04-25 10:40 mohamed.kallel Note Added: 0000696
2017-04-27 08:25 andy_yang Note Added: 0000697
2017-04-27 10:17 mohamed.kallel Note Added: 0000698
2017-04-27 10:17 mohamed.kallel Status new => resolved
2017-04-27 10:17 mohamed.kallel Resolution open => fixed
2017-04-27 10:17 mohamed.kallel Assigned To => mohamed.kallel