DeviceID.ProductClass from Device.DeviceInfo.ProductClass

Hello,
is it possible to customize where DeviceID.ProductClass should get the info?

In my case I have this info in:
Device.DeviceInfo.ProductClass

But GenieACS is using:
InternetGatewayDevice.DeviceInfo.ProductClass

So I have:

DeviceID.ID E4C32A-Device-E4C32ABCDEF
DeviceID.Manufacturer TP-Link
DeviceID.OUI E4C32A
DeviceID.ProductClass Device
DeviceID.SerialNumber E4C32ABCDEF

Instead of having the correct value in ProductClass

Is it possible to change this behavior?

Thanks

Please use DeviceID.ProductClass, this is provided by genieacs.
The other versions are provided by the CPE and the CPE devices Model. Genieacs is gathering that information and stores it into die DeviceID Model.

→ TR181 Datamodell

→ TR 098 Datamodell

Edit: if the value in there is wrong, the provided value by the cpe is “wrong”.

Edit2: sorry, miss interpreted the question. Usually the cpe should only use TR181 or TR098. If it uses both, it should provide the same values over each model. Try disableing the TR098 Model at the cpe.

Hi, I’ve disabled TR098 data model, but GenieACS doesn’t load the correct value into DeviceID.ProductClass

It seems to me there are not other TR098 data model info, so there should be TR181 infos only

You need to delete the device in genieacs. Then it will reload the model.

@JonasGhost Uhm… It doesn’t work correctly
I’ve deleted it and rebooted.

I see:

DeviceID.ID E4C32A-Device-E4C32ABCDEF
DeviceID.Manufacturer TP-Link
DeviceID.OUI E4C32A
DeviceID.ProductClass Device
DeviceID.SerialNumber E4C32ABCDEF

So, DeviceID.ProductClass is “Device”.

But there is:
Device.DeviceInfo.ProductClass IGD

The strange is that to see “Device.DeviceInfo.ProductClass” I need to load the entire DeviceInfo tree, I can’t see it just after the device is discovered.

Before doing this, I can only see:

Device.DeviceInfo.HardwareVersion MyModel
Device.DeviceInfo.ProvisioningCode
Device.DeviceInfo.SoftwareVersion 2.0.0 0.9 v603c.0 Build 201127 Rel.51511n

Please try sniffing the traffic between the cpe and genieacs.
Maybe there is something interesting.

Sure @JonasGhost, here it is when TR-098 inform is disabled, so with TR181 infos only.
I’ve logged from the first message after I’ve deleted the device in GenieACS and rebooted.


event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.252Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “2293”
connection: keep-alive
content-type: text/xml; charset=utf-8
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">1000</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:Inform>

<DeviceId>

<Manufacturer>TP-Link</Manufacturer>

<OUI>E4C32A</OUI>

<ProductClass>Device</ProductClass>

<SerialNumber>E4C32ABCDEFGH</SerialNumber>

</DeviceId>

<Event xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:EventStruct[1]">

<EventStruct>

<EventCode>1 BOOT</EventCode>

<CommandKey></CommandKey>

</EventStruct>

</Event>

<MaxEnvelopes>1</MaxEnvelopes>

<CurrentTime>2021-04-19T20:22:35</CurrentTime>

<RetryCount>0</RetryCount>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterValueStruct[8]">

<ParameterValueStruct>

<Name>Device.RootDataModelVersion</Name>

<Value xsi:type="xsd:string">2.4</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.HardwareVersion</Name>

<Value xsi:type="xsd:string">MyModel</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.SoftwareVersion</Name>

<Value xsi:type="xsd:string">2.0.0 0.9 v603c.0 Build 201127 Rel.51511n</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.ProvisioningCode</Name>

<Value xsi:type="xsd:string"></Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.ConnectionRequestURL</Name>

<Value xsi:type="xsd:string">http://xxx.xxx.xxx.xxx:7547/tr069</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.ParameterKey</Name>

<Value xsi:type="xsd:string"></Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.AliasBasedAddressing</Name>

<Value xsi:type="xsd:boolean">0</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.5.IPv4Address.1.IPAddress</Name>

<Value xsi:type="xsd:string">xxx.xxx.xxx.xxx</Value>

</ParameterValueStruct>

</ParameterList>

</cwmp:Inform>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.255Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 524
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
set-cookie: session=8c18a0c70127055e
body: >-
<?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">1000</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:InformResponse><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.343Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “568”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">1001</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:GetRPCMethods></cwmp:GetRPCMethods>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.345Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 654
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">1001</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetRPCMethodsResponse><MethodList
soap-enc:arrayType="xsd:string[3]"><string>Inform</string><string>GetRPCMethods</string><string>TransferComplete</string></MethodList></cwmp:GetRPCMethodsResponse></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.387Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “0”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
body: “”

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.394Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 566
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">178eb5eb6d00000</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetParameterNames><ParameterPath></ParameterPath><NextLevel>1</NextLevel></cwmp:GetParameterNames></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.531Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “801”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">178eb5eb6d00000</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:GetParameterNamesResponse>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterInfoStruct[1]">

<ParameterInfoStruct>

<Name>Device.</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

</ParameterList>

</cwmp:GetParameterNamesResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.537Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 590
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">178eb5eb6d00001</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetParameterNames><ParameterPath>Device.ManagementServer.</ParameterPath><NextLevel>1</NextLevel></cwmp:GetParameterNames></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.622Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “4194”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">178eb5eb6d00001</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:GetParameterNamesResponse>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterInfoStruct[28]">

<ParameterInfoStruct>

<Name>Device.ManagementServer.EnableCWMP</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.URL</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.Username</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.Password</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.PeriodicInformEnable</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.PeriodicInformInterval</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.PeriodicInformTime</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ParameterKey</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ConnectionRequestURL</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ConnectionRequestUsername</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ConnectionRequestPassword</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.UpgradesManaged</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.KickURL</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.UDPConnectionRequestAddress</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.UDPConnectionRequestAddressNotificationLimit</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNEnable</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNServerAddress</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNServerPort</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNUsername</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNPassword</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNMaximumKeepAlivePeriod</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.STUNMinimumKeepAlivePeriod</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.NATDetected</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.AliasBasedAddressing</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.X_TP_DMMAP_DataModel</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ManageableDeviceNumberOfEntries</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ManageableDeviceNotificationLimit</Name>

<Writable>1</Writable>

</ParameterInfoStruct>

<ParameterInfoStruct>

<Name>Device.ManagementServer.ManageableDevice.</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

</ParameterList>

</cwmp:GetParameterNamesResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.625Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 896
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">178eb5eb6d00002</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetParameterValues><ParameterNames
soap-enc:arrayType="xsd:string[5]"><string>Device.ManagementServer.ConnectionRequestUsername</string><string>Device.ManagementServer.ConnectionRequestPassword</string><string>Device.ManagementServer.PeriodicInformEnable</string><string>Device.ManagementServer.PeriodicInformInterval</string><string>Device.ManagementServer.PeriodicInformTime</string></ParameterNames></cwmp:GetParameterValues></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.715Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “1498”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">178eb5eb6d00002</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:GetParameterValuesResponse>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterValueStruct[5]">

<ParameterValueStruct>

<Name>Device.ManagementServer.ConnectionRequestUsername</Name>

<Value xsi:type="xsd:string">E4C32A-Device-E4C32ABCDEFGH</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.ConnectionRequestPassword</Name>

<Value xsi:type="xsd:string"></Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.PeriodicInformEnable</Name>

<Value xsi:type="xsd:boolean">1</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.PeriodicInformInterval</Name>

<Value xsi:type="xsd:unsignedInt">7200</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.PeriodicInformTime</Name>

<Value xsi:type="xsd:dateTime">2021-04-19T18:22:36</Value>

</ParameterValueStruct>

</ParameterList>

</cwmp:GetParameterValuesResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.887Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 566
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">178eb5eb6d00003</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:GetParameterNames><ParameterPath></ParameterPath><NextLevel>1</NextLevel></cwmp:GetParameterNames></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:36.974Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “801”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">178eb5eb6d00003</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:GetParameterNamesResponse>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterInfoStruct[1]">

<ParameterInfoStruct>

<Name>Device.</Name>

<Writable>0</Writable>

</ParameterInfoStruct>

</ParameterList>

</cwmp:GetParameterNamesResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:36.977Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 200
headers:
content-length: 940
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
body: >-
<?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">178eb5eb6d00004</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:SetParameterValues><ParameterList
soap-enc:arrayType="cwmp:ParameterValueStruct[2]"><ParameterValueStruct><Name>Device.ManagementServer.ConnectionRequestPassword</Name><Value
xsi:type="xsd:string">i5sd6docov</Value></ParameterValueStruct><ParameterValueStruct><Name>Device.ManagementServer.PeriodicInformTime</Name><Value
xsi:type="xsd:dateTime">1970-01-01T06:28:04.216Z</Value></ParameterValueStruct></ParameterList><ParameterKey></ParameterKey></cwmp:SetParameterValues></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:37.250Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “625”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=8c18a0c70127055e
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">178eb5eb6d00004</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:SetParameterValuesResponse>

<Status>0</Status>

</cwmp:SetParameterValuesResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:37.257Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:36.252Z
statusCode: 204
headers:
content-length: 0
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
connection: close
body: “”

event: incoming HTTP request
timestamp: 2021-04-19T18:22:40.242Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:40.242Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “3085”
connection: keep-alive
content-type: text/xml; charset=utf-8
soapaction: “”
body: >
<?xml version="1.0" encoding="UTF-8" ?>

<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
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">1002</cwmp:ID>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<cwmp:Inform>

<DeviceId>

<Manufacturer>TP-Link</Manufacturer>

<OUI>E4C32A</OUI>

<ProductClass>Device</ProductClass>

<SerialNumber>E4C32ABCDEFGH</SerialNumber>

</DeviceId>

<Event xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cwmp:EventStruct[1]">

<EventStruct>

<EventCode>4 VALUE CHANGE</EventCode>

<CommandKey></CommandKey>

</EventStruct>

</Event>

<MaxEnvelopes>1</MaxEnvelopes>

<CurrentTime>2021-04-19T20:22:39</CurrentTime>

<RetryCount>0</RetryCount>

<ParameterList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="cwmp:ParameterValueStruct[13]">

<ParameterValueStruct>

<Name>Device.RootDataModelVersion</Name>

<Value xsi:type="xsd:string">2.4</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.HardwareVersion</Name>

<Value xsi:type="xsd:string">MyModel</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.SoftwareVersion</Name>

<Value xsi:type="xsd:string">2.0.0 0.9 v603c.0 Build 201127 Rel.51511n</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.DeviceInfo.ProvisioningCode</Name>

<Value xsi:type="xsd:string"></Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.ConnectionRequestURL</Name>

<Value xsi:type="xsd:string">http://xxx.xxx.xxx.xxx:7547/tr069</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.ParameterKey</Name>

<Value xsi:type="xsd:string"></Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.AliasBasedAddressing</Name>

<Value xsi:type="xsd:boolean">0</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.5.IPv4Address.1.IPAddress</Name>

<Value xsi:type="xsd:string">xxx.xxx.xxx.xxx</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.ManagementServer.UDPConnectionRequestAddress</Name>

<Value xsi:type="xsd:string">http://xxx.xxx.xxx.xxx:3478</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.1.IPv4Address.1.IPAddress</Name>

<Value xsi:type="xsd:string">192.168.1.1</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.1.IPv4Address.2.IPAddress</Name>

<Value xsi:type="xsd:string">0.0.0.0</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.2.IPv4Address.1.IPAddress</Name>

<Value xsi:type="xsd:string">0.0.0.0</Value>

</ParameterValueStruct>

<ParameterValueStruct>

<Name>Device.IP.Interface.3.IPv4Address.1.IPAddress</Name>

<Value xsi:type="xsd:string">0.0.0.0</Value>

</ParameterValueStruct>

</ParameterList>

</cwmp:Inform>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:40.248Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:40.242Z
statusCode: 200
headers:
content-length: 524
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
content-type: text/xml; charset=“utf-8”
set-cookie: session=2b4d9347bfe39d91
body: >-
<?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">1002</cwmp:ID></soap-env:Header><soap-env:Body><cwmp:InformResponse><MaxEnvelopes>1</MaxEnvelopes></cwmp:InformResponse></soap-env:Body></soap-env:Envelope>

event: incoming HTTP request
timestamp: 2021-04-19T18:22:40.292Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:40.242Z
localPort: 7547
method: POST
url: /
headers:
host: serverautoconf.domain.com
user-agent: TR069_AGENT/1.0
content-length: “0”
connection: keep-alive
content-type: text/xml; charset=utf-8
cookie2: "$Version=“1"”
cookie: session=2b4d9347bfe39d91
body: “”

event: outgoing HTTP response
timestamp: 2021-04-19T18:22:40.296Z
remoteAddress: xxx.xxx.xxx.xxx
deviceId: E4C32A-Device-E4C32ABCDEFGH
connection: 2021-04-19T18:22:40.242Z
statusCode: 204
headers:
content-length: 0
server: GenieACS/1.2.5+20210418184730
soapserver: GenieACS/1.2.5+20210418184730
connection: close
body: “”

Ok. This explains a lot.
Genieacs is getting the info from the first message.

There the device introduce it self with the wrong information.

It looks like the CPE sends wrong data.

1 Like

Thank you!
I’ll report this to the manufacturer!

Is it possible to change this on GenieACS?

You could create a virtual Parameter that get’s the information from the correct source depending on the Devices.

Sure, but GenieACS for the ID uses “Device” instead of the correct one, as the device is sending this… I would like to replace the “Device” part

This is not going to be possible without patching the code. Get used to crappy CWMP implementations from vendors. And responses from them along the lines of “it works for everyone else.”

I’ve gotten to the point where I don’t even bother reporting even major issues to CPE vendors. I get so much push back even with incredibly detailed defect reports. I’m not going to throw shade at any particular vendors, but SmartRG is one of the biggest offenders.

3 Likes

Lots of them have bad implementations through and through. It amazes me that so much of the code I see works. But to most they just pass it off as a “throw away” part of the device. I completely disagree about SmartRG, though. Their PBCA code is pretty rock solid.

I have to disagree with you regarding SmartRG. I’ve filed so many defects with them, citing the exact line of the spec they are not complying with, or the numerous other ways the CPE isn’t performing. What I get back from their lack luster support is to paraphrase them: We didn’t replicate your environment and were unable to reproduce the issue.

1 Like