Every parameter a CPE’s CWMP data model contains metadata known as “attributes”. These attributes include the “Notification” attribute and “AccessList” attribute. The access attribute was defined early on in TR-069 to provide a method for assigning an access control rule identifier to each individual parameter, but this was never defined to more than one value, “Subscriber”, meaning that the subscriber is allowed to change the parameter through some other mechanism. CWMP leaves this attribute open to vendor extensions but otherwise it is unused.
The notification attribute is used to set the notification rules for the parameter. It can take a value from 0 to 6. Values 0 through 2 cover the basic notification mechanisms, and values 3 through 6 cover the “lightweight” notification or lightweight in combination with the basic notification mechanisms.
The SetParameterAttributes RPC takes 5 arguments. The first, name, is contains a parameter path. Like GetParameterNames, this can be a Complete or Partial path. Partial paths in SetParameterAttributes are usually used to set passive notification or removing notification; it can be dangerous to set Active Notification on large groups of parameters, which is why many parameters are assigned as “canDeny” in the data model. This means that they can refuse to be set for Active Notification; though no parameter can refuse Passive Notification.
The next arguments are NotificationChange and Notification. NotificationChange as true indicates that the value in the Notification argument should be used as the new value for the Notification attribute. If this is false, then the value in Notification should be ignored.
Similarly, the next arguments are AccessListChange and AccessList attribute. AccessListChange serves the same purpose as NotificationChange. The the CPE must only understand the value of “Subscriber” for AccessList, but it MUST store this value regardless of what the ACS sets. Any other values are undefined and must be handled in a non-standard way.
The SetParameterAttributes response contains no arguments.
The GetParameterAttributes RPC is very straightforward, and takes the familiar ParameterNames argument just like GetParameterValues. The GetParameterValuesResponse contains a ParameterList array of ParameterAttributeStruct objects that include the name of the parameter and its values for Notification and AccessList.
Our TR-069 training series is updated in real-time as we produce new articles. Come back often for updates or subscribe to our newsletter for more.