# Is GetParameterNames mandatory...?

**URL:** <https://forum.genieacs.com/t/is-getparameternames-mandatory/2711>\
**Category:** Uncategorized\
**Created:** [June 13, 2022, 9:21am UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711 "2022-06-13T09:21:48Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrewm](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@andrewm](https://forum.genieacs.com/u/andrewm)\
**Post date:** [June 13, 2022, 9:21am UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/1 "2022-06-13T09:21:48Z")

</div>

Hello.  
I can find some related topics but nothing exactly the same. This may be about interpretation of standards but maybe it’s clear and a proprietary quirk. Anyway, here’s the story:  
Our fleet of nice new LTE routers offers a list of connected client devices in a path like  
InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.1.IPAddress  
InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.1.MACAddress  
InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.1.  
InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.2.IPAddress  
InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.2.  
However, they always respond to GetParameterNames with path InternetGatewayDevice.WEB\_GUI.Overview.DeviceList. with an empty array which (if I am right) means that GenieACS then will not request the values.  
The vendor is cooperative and has offered a custom variant that implements GetParameterNames for this path but has also pointed out that other ACS’ don’t need this for lists of dynamic, read-only variables. I have tried two others (tr-069.cloud and XACS) and they are right, at least for these two examples.  
So, if this is a question of product philosophy and the standards really mandate support for GetParameterNames for all paths then I fully support GenieACS requiring it. If it’s a matter of interpretation then maybe there’s an interesting discussion. If the standards permit reading just the values in a whole path (with a dot at the end) then maybe it would be a useful feature.  
The other possibility is that I am getting something completely wrong in which case I apologise for wasting everyone’s time (and could you point me in the right direction please?) 🙂

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [June 13, 2022, 6:17pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/2 "2022-06-13T18:17:17Z")

</div>

I’ve battled with other vendors who like to say crap like “It works with other ACS’s.” I always go back to the very specific line in the spec they are violating. That is the **only** thing I’ve found that works.

---

<div class="post-metadata">

**Author:** ![andrewm](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@andrewm](https://forum.genieacs.com/u/andrewm)\
**Post date:** [June 13, 2022, 6:55pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/3 "2022-06-13T18:55:27Z")

</div>

Well, I’ve had similar battles but these people are different and open-minded. I haven’t spent as long with the specifications (and there seem to be many and multiple amendments) as many on the forum. Would you help me find that line? I have been involved in other telecommunications specifications and am acutely aware that no matter how hard we try it’s really difficult to eliminate all ambiguity.  
(In this particular case, if I were contributing to the specifications, I would say it’s reasonable for parameters returned while reading a sub-tree to be deemed to exist by implication but then there’s also a case for keeping things as deterministic as possible for ease of implementation.)  
Anyway, the key either way seems to be finding the very specific line (and others might know at least roughly where it might be).

---

<div class="post-metadata">

**Author:** ![rudymartin](https://avatars.discourse-cdn.com/v4/letter/r/919ad9/32.png) [@rudymartin](https://forum.genieacs.com/u/rudymartin)\
**Post date:** [June 13, 2022, 7:13pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/4 "2022-06-13T19:13:48Z")

</div>

I know I am not answering the proper question and I don’t know about LTE but under Huawei we can get that list of connected devices under:

**InternetGatewayDevice.LANDevice.1.Hosts.** \*

isn’t that what you really need ?

---

<div class="post-metadata">

**Author:** ![andrewm](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@andrewm](https://forum.genieacs.com/u/andrewm)\
**Post date:** [June 13, 2022, 7:16pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/5 "2022-06-13T19:16:12Z")

</div>

Thank you. Yes it is but on this device (QSDK-based) it’s under

**InternetGatewayDevice.WEB\_GUI.Overview.DeviceList.**

(but the content is basically the same). Arguably the WEB\_GUI bit is slightly lazy but if it means they can be more agile then maybe it’s justifiable.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [June 13, 2022, 9:22pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/6 "2022-06-13T21:22:07Z")

</div>

I took a 2 minute stab at finding the line, but I honestly don’t have the time to sift through the entire spec right now. Sorry.

---

<div class="post-metadata">

**Author:** ![andrewm](https://avatars.discourse-cdn.com/v4/letter/a/c57346/32.png) [@andrewm](https://forum.genieacs.com/u/andrewm)\
**Post date:** [June 14, 2022, 9:02am UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/7 "2022-06-14T09:02:10Z")

</div>

Reading so far…  
Document TR-069 Amendment 6 Corrigendum 1, June 2020  
Annex A  
‘A3.1 Generic Methods  
The methods listed in this Section are REQUIRED to be supported on both CPE devices and ACSs. Either a CPE or ACS MAY call these methods.’  
Note the use of REQUIRED  
‘A3.2 CPE Methods  
The methods listed in this Section are defined to be supported on a CPE device. Only an ACS can call these methods.’  
Note the use of defined  
‘A3.2.3 GetParameterNames  
This method MAY be used by an ACS to discover the Parameters accessible on a particular CPE. The calling arguments for this method are defined in Table 20. The arguments in the response are defined in Table 21.’  
…and in Table 21  
‘When NextLevel is true, this list MUST contain all Parameters and Object that are next-level children of the Object given by the ParameterPath argument, if any. If the OPTIONAL instance wildcards are used the list MUST contain the parameter or Objects for all instances, whose name matches the ParameterPath argument.’  
Note the use of MUST. I can’t find anything in the context of these sections that qualifies the MUST in Table 21.  
So, if this is the definitive specification for this situation then a complete response to GetParameterNames seems to be mandatory. Before I go to the vendor, are there any other specifications or amendments that anyne knows of that might apply?  
Thank you @akcoder and @rudymartin for guiding me.

---

<div class="post-metadata">

**Author:** ![akcoder](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.genieacs.com/akcoder/32/11_2.png) [@akcoder](https://forum.genieacs.com/u/akcoder)\
**Post date:** [June 14, 2022, 4:37pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/8 "2022-06-14T16:37:43Z")

</div>

I think you hit the nail on the head. I’d send them exactly what you have above. Bolding the last portion

**When NextLevel is true, this list MUST contain all Parameters and Object that are next-level children of the Object given by the ParameterPath argument, if any.** If the OPTIONAL instance wildcards are used the list MUST contain the parameter or Objects for all instances, whose name matches the ParameterPath argument.

---

<div class="post-metadata">

**Author:** ![mike99](https://avatars.discourse-cdn.com/v4/letter/m/8797f3/32.png) [@mike99](https://forum.genieacs.com/u/mike99)\
**Post date:** [February 13, 2025, 7:33pm UTC](https://forum.genieacs.com/t/is-getparameternames-mandatory/2711/9 "2025-02-13T19:33:26Z")

</div>

Thanks @andrewm for this. I’ve been look for some time now. I hope the vendor will fix it after this argument.
