EasyCwmp

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000217easycwmp[All Projects] Helppublic2017-04-24 03:332017-04-27 10:17
Reporterandy_yang 
Assigned Tomohamed.kallel 
PriorityurgentSeverityblockReproducibilityalways
StatusresolvedResolutionfixed 
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.
Attached Files? file icon cpe_connect_error.pcap [^] (3,935 bytes) 2017-04-24 03:33
? file icon another_CPE_ok_con.pcap [^] (9,377 bytes) 2017-04-24 03:54
? file icon disable_http_100.pcap [^] (3,421 bytes) 2017-04-25 03:09

- Relationships

-  Notes
(0000690)
andy_yang (reporter)
2017-04-24 03:54

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
(0000691)
andy_yang (reporter)
2017-04-24 10:49

I analysis that the Easycwmp send the post packet with SOAP not supported by my acs or the HTTP packet format envelope error?
(0000692)
andy_yang (reporter)
2017-04-24 10:49

what's your viewpoint?
(0000693)
mohamed.kallel (manager)
2017-04-24 13:22

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

uci set easycwmp.@acs[0].http100continue_disable=1
uci commit
(0000694)
andy_yang (reporter)
2017-04-25 03:08

I have try this method,but it's still not OK!!
please refer to packet file disable_http_100.pcap.
(0000695)
andy_yang (reporter)
2017-04-25 03:08

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>
....
....
(0000696)
mohamed.kallel (manager)
2017-04-25 10:40

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.
(0000697)
andy_yang (reporter)
2017-04-27 08:25

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!
(0000698)
mohamed.kallel (manager)
2017-04-27 10:17

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


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker