Problem
I’m trying to fix the strange behavior of some technicolor devices which do send an empty OUI tag in the deviceID, resulting in an exception:
2015-02-06 17:48:12,173 [30.0.0.161] ERROR ACS - setCPE() RemoteException setting CPE com.supportsoft.servicegateway.cwmp.ejb.acsmanager.info.CPEInfo [cpeGuid=null, manufacturer=Technicolor, OUI=null, productClass=Technicolor TG784n v3, serialNumber=CP1244RAZSP, specVersion=1.0, hardwareVersion=DANT-U, softwareVersion=10.5.2.G_FW_33_TG784nv3, provisioningCode=fastweb, connectionRequestURL=http://30.0.0.161:65535/0, dataModel=InternetGatewayDevice(0), externalIPAddress=0000:0000:0000:0000:0000:ffff:0a61:387d, remoteAddr=30.0.0.161, connectionRequestUsername=null, stunEnable=null, stunServerAddress=null, stunServerPort=null, stunUsername=null, udpConnectionRequestAddress=null, natDetected=null, encoreDeviceId=null, CPETimeout=0, macAddress=null, pppUsername=null, ACSUsername=null, ACSAuthOverride=null, ACSNonce=null, ACSAuthFailCount=null, ACSAuthProvFlag=null, connectionRequestReProvFlag=null, WorkflowState=null, lastContactTime=null]exception: java.rmi.RemoteException: EJB Exception: ; nested exception is: javax.ejb.EJBException: nested exception is: com.supportsoft.encore.common.exception.DAOException: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("SPRT"."SPRT_NC_CPE"."NC_CPE_OUI")
I’m trying to replace the empty “” with a fake one “ABCDEF” using a this configuration in the ACS Preprocessing…
Since the replacement involves some characters that are significant in XML, I tried to escape them as suggested in the manual, but it is not working, maybe you already encountered this issue…
2015-02-06 15:43:17,589 [30.0.0.161] INFO ACSSOAPXML - IP: null, CPE: null, SOAP message from device:
http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="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">
0_THOM_TR69_ID
Technicolor
Technicolor TG784n v3
CP1244RAZSP
1 BOOT
2
2015-02-06T14:42:52+01:00
03
InternetGatewayDevice.DeviceSummary
InternetGatewayDevice:1.1[] (Baseline:1, EthernetLAN:1, ADSLWAN:1, Bridging:1, Time:1, WiFiLAN:1)
InternetGatewayDevice.DeviceInfo.SpecVersion
1.0
InternetGatewayDevice.DeviceInfo.HardwareVersion
DANT-U
InternetGatewayDevice.DeviceInfo.SoftwareVersion
10.5.2.G_FW_33_TG784nv3
InternetGatewayDevice.DeviceInfo.ProvisioningCode
fastweb
InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Name
8/35 Voice + Management, 8/36 Data Bridge
InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Version
2.0
InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Date
0000-00-00T00:00:00
InternetGatewayDevice.DeviceInfo.VendorConfigFile.1.Description
Factory Defaults
InternetGatewayDevice.ManagementServer.ConnectionRequestURL
InternetGatewayDevice.ManagementServer.ParameterKey
InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress
10.97.56.125
Environment
Solaris 10Oracle 10.2
Weblogic 10.3.5
SG4.3.3
Cause
A different search/replace pattern is needed.Solution
I resolved using these patterns:
I found that the content of the inform in the catalina.out file is the final representation of what the ACS understood; the OUI tag in the request sent by the CPE was “” as found in the catalina.out logfile.
So I fixed both type of tags…
Now the catalina.out logifile shows the replaced OUI tag as “OUTSYS” and the request is correctly processed.
Priyanka Bhotika
Comments