Hi,
I have a CPE which reports Method 'cwmp:GetParameterNames' not implemented: method name or namespace not recognized
right after the initial contact. The CPE gets added the ACS (based on the little data in the initial contact with BOOTSTRAP), but the ACS cannot do any further discovery of the data model and every further attempt ends with “400 Bad Request”.
This is clearly something with the device, all my other CPEs work properly. The question is, what can I do about it?
I have seen the discussion in another topic about if “GetParameterNames” is mandatory or not. I think it is not mandatory as section A.3.2.3 - GetParameterNames clearly states:
“This method MAY be used by an ACS to discover the Parameters accessible on a particular CPE.” And in this sense it is not relevant what table 21. say about NextLevel=true, as that part is only mandatory, if the “GetParameterNames” is implemented, which is optional (“this method MAY be used”).
Searching the forum yields multiple such issues around GetParameterNames, but no solution in sight.
My idea is to somehow load the data model into the ACS (I have it in an XML), is this at all possible? I see that an already discovered device data model can be downloaded, but I dont see a way of how to import one? The logic whould be that if I load the data model, the ACS does not need to send GetParameterNames as it will known the (full) data model already.
Yes its possible. If you are running the default GenieACS provision scripts, on 0 BOOTSTRAP
the data model will be cleared. You will need to do extra work to figure out how to reconcile that. Keep in mind too internal caching in GenieACS could also present issues with trying to go around GenieACS to load the data model.
Is there a reason you have to support this device? Why don’t the vendor implement GPN?
Much appreciate your help!
Yes its possible.
Can you give me some clues where to look?
If you are running the default GenieACS provision scripts, on 0 BOOTSTRAP
the data model will be cleared.
I assume you refer to this part, and I need to remove it so the ACS is not forcing a refresh which will not work without GetParameterNames anyway:
// Clear cached data model to force a refresh
clear("Device", now);
clear("InternetGatewayDevice", now);
?
Is there a reason you have to support this device? Why don’t the vendor implement GPN?
To be honest, my opinion is that the vendor does this completely intentionally to break compatibility with generic ACS products. I have worked with Sagemcom, Technicolor, AVM, Huawei, and old ALU CPEs, all of them supported GPN. Even this specific vendor’s other GPON CPEs do support GPN, only this femto type devices is not supporting it. Long story short: I think this is intentional.
If you know the OUI and serial of each device is going to report, then create the full document for the device. The ACS ID will be in the form of OUI-PRODUCT_CLASS-SERIAL_NUMBER.
If this vendor is a jerk, why not drop them? You have to many in the field? Which vendor, so I know who to avoid.