Broadband Forum

    DATA MODEL DEFINITION


TR-069 Device:2.10 Root Object definition
tr-181-2-10-0.xml (changes)

License

Copyright (c) 2010-2017, Broadband Forum

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The above license is used as a license under copyright only. Please reference the Forum IPR Policy for patent licensing terms <https://www.broadband-forum.org/ipr-policy>.

Any moral rights which are necessary to exercise under the above license grant are also deemed granted under this license.

Summary

Table of Contents

Data Types

The Parameters defined in this specification make use of a limited subset of the default SOAP data types [SOAP1.1]. These data types and the named data types used by this specification are described below.

Note: A Parameter that is defined to be one of the named data types is reported as such at the beginning of the Parameter's description via a reference back to the associated data type definition (e.g. [MacAddress]). However, such parameters still indicate their SOAP data type.

Data Type Base Type Description
Alias string(64)

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
DiagnosticsState string

Indicates the availability of diagnostics data. Enumeration of:

  • None (READONLY)
  • Requested
  • Canceled (OPTIONAL)
  • Complete (READONLY)
  • Error (READONLY, OPTIONAL)

If the ACS sets the value of this parameter to Requested, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed values are Requested and Canceled. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set, and any errors or inconsistencies in the test parameters MUST be detected, either prior to or at the same time as (in the same SetParameterValues) setting this parameter to Requested.

When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic test.

When the test is completed, the value of this parameter MUST be either Complete (if the test completed successfully), or one of the Error values listed above.

If the value of this parameter is anything other than Complete, the values of the results parameters for this test are indeterminate.

When the diagnostic initiated by the ACS is completed (successfully or not), but not if it is canceled for any reason, the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code 8 DIAGNOSTICS COMPLETE in the Inform message.

After the diagnostic is complete, the value of all result parameters (all read-only parameters in this object) MUST be retained by the CPE until either this diagnostic is run again, or the CPE reboots. After a reboot, if the CPE has not retained the result parameters from the most recent test, it MUST set the value of this parameter to None.

Modifying any of the writable parameters in this object except for this one MUST result in the value of this parameter being set to None.

While the test is in progress, modifying any of the writable parameters in this object except for this one MUST result in the test being terminated and the value of this parameter being set to None.

While the test is in progress, setting this parameter to Requested (and possibly modifying other writable parameters in this object) MUST result in the test being terminated and then restarted using the current values of the test parameters.

While the test is in progress, setting this parameter to Canceled MUST result in the test being canceled and the value of this parameter being set to None. If the CPE does not support the Canceled value, it MUST return a SPV error with "Invalid Parameter value" (9007) to the ACS instead.

IPPrefix string(49)

IPv4 or IPv6 routing prefix in Classless Inter-Domain Routing (CIDR) notation [RFC4632]. This is specified as an IP address followed by an appended "/n" suffix, where n (the prefix size) is an integer in the range 0-32 (for IPv4) or 0-128 (for IPv6) that indicates the number of (leftmost) '1' bits of the routing prefix.

  • IPv4 example: 192.168.1.0/24
  • IPv6 example: 2001:edff:fe6a:f76::/64

If the IP address part is unspecified or inapplicable, it MUST be an empty string unless otherwise specified by the parameter definition. In this case the IP prefix will be of the form "/n".

If the entire IP prefix is unspecified or inapplicable, it MUST be an empty string unless otherwise specified by the parameter definition.

IPv6Prefix IPPrefix(49)

IPv6 address prefix.

Can be any IPv6 prefix that is permitted by the IPPrefix data type.

StatsCounter32 unsignedInt

A 32-bit statistics parameter, e.g. a byte counter.

This data type SHOULD NOT be used for statistics parameters whose values might become greater than the maximum value that can be represented as an unsignedInt (i.e. 0xffffffff, referred to below as maxval). StatsCounter64 SHOULD be used for such parameters.

The value maxval indicates that no data is available for this parameter. In the unlikely event that the actual value of the statistic is maxval, the CPE SHOULD return maxval - 1.

The actual value of the statistic might be greater than maxval. Such values SHOULD wrap around through zero.

The term packet is to be interpreted as the transmission unit appropriate to the protocol layer in question, e.g. an IP packet or an Ethernet frame.

StatsCounter64 unsignedLong

A 64-bit statistics parameter, e.g. a byte counter.

This data type SHOULD be used for all statistics parameters whose values might become greater than the maximum value that can be represented as an unsignedInt.

The maximum value that can be represented as an unsignedLong (i.e. 0xffffffffffffffff) indicates that no data is available for this parameter.

The term packet is to be interpreted as the transmission unit appropriate to the protocol layer in question, e.g. an IP packet or an Ethernet frame.

base64 -

Base64 encoded binary (no line-length limitation).

A minimum and maximum allowed length can be indicated using the form base64(Min:Max), where Min and Max are the minimum and maximum length in characters before Base64 encoding. If either Min or Max are missing, this indicates no limit, and if Min is missing the colon can also be omitted, as in base64(Max). Multiple comma-separated ranges can be specified, in which case the length MUST be in one of the ranges.

boolean - Boolean, where the allowed values are 0 or 1 (or equivalently, true or false).
dateTime - The subset of the ISO 8601 date-time format defined by the SOAP dateTime type.
hexBinary -

Hex encoded binary.

A minimum and maximum allowed length can be indicated using the form hexBinary(Min:Max), where Min and Max are the minimum and maximum length in characters before Hex Binary encoding. If either Min or Max are missing, this indicates no limit, and if Min is missing the colon can also be omitted, as in hexBinary(Max). Multiple comma-separated ranges can be specified, in which case the length MUST be in one of the ranges.

int -

Integer in the range -2147483648 to +2147483647, inclusive.

For some int types, a value range is given using the form int[Min:Max] or int[Min:Max step Step] where the Min and Max values are inclusive. If either Min or Max are missing, this indicates no limit. If Step is missing, this indicates a step of 1. Multiple comma-separated ranges can be specified, in which case the value will be in one of the ranges.

long -

Long integer in the range -9223372036854775808 to 9223372036854775807, inclusive.

For some long types, a value range is given using the form long[Min:Max] or long[Min:Max step Step], where the Min and Max values are inclusive. If either Min or Max are missing, this indicates no limit. If Step is missing, this indicates a step of 1. Multiple comma-separated ranges can be specified, in which case the value will be in one of the ranges.

object - A container for parameters and/or other objects. The full Path Name of a parameter is given by the parameter name appended to the full Path Name of the object it is contained within.
string - For strings, a minimum and maximum allowed length can be indicated using the form string(Min:Max), where Min and Max are the minimum and maximum string length in characters. If either Min or Max are missing, this indicates no limit, and if Min is missing the colon can also be omitted, as in string(Max). Multiple comma-separated ranges can be specified, in which case the string length will be in one of the ranges.
unsignedInt -

Unsigned integer in the range 0 to 4294967295, inclusive.

For some unsignedInt types, a value range is given using the form unsignedInt[Min:Max] or unsigned[Min:Max step Step], where the Min and Max values are inclusive. If either Min or Max are missing, this indicates no limit. If Step is missing, this indicates a step of 1. Multiple comma-separated ranges can be specified, in which case the value will be in one of the ranges.

unsignedLong -

Unsigned long integer in the range 0 to 18446744073709551615, inclusive.

For some unsignedLong types, a value range is given using the form unsignedLong[Min:Max] or unsignedLong[Min:Max step Step], where the Min and Max values are inclusive. If either Min or Max are missing, this indicates no limit. If Step is missing, this indicates a step of 1. Multiple comma-separated ranges can be specified, in which case the value will be in one of the ranges.

References

[802.11a-1999] IEEE Std 802.11a-1999, High-speed Physical Layer in the 5 GHz band, IEEE, 1999.
[802.11ac-2013] IEEE Std 802.11ac-2013, IEEE.
[802.11b-1999] IEEE Std 802.11b-1999, Higher Speed Physical Layer Extension in the 2.4 GHz band, IEEE, 1999.
[802.11g-2003] IEEE Std 802.11g-2003, Further Higher Data Rate Extension in the 2.4 GHz Band, IEEE, 2003.
[802.11n-2009] IEEE Std 802.11n-2009, Amendment 5: Enhancements for Higher Throughput, IEEE, 2009.
[MQTT31] MQTT v3.1, MQ Telemetry Transport (MQTT) V3.1 Protocol Specification, 2010.
[MQTT311] MQTT Version 3.1.1, MQTT v3.1.1, OASIS Message Queuing Telemetry Transport (MQTT) TC, October 2014.
[RFC2616] RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1, IETF, 1999.
[RFC2782] RFC 2782, A DNS RR for specifying the location of services (DNS SRV), IETF, 2000.
[RFC2818] RFC 2818, HTTP Over TLS, IETF, May 2000.
[RFC7597] RFC 7597, Mapping of Address and Port with Encapsulation (MAP), IETF, July 2015.
[RFC7598] RFC 7598, DHCPv6 Options for configuration of Softwire Address and Port Mapped Clients, IETF, July 2015.
[RFC7599] RFC 7599, Mapping of Address and Port using Translation (MAP-T), IETF, July 2015.
[SOAP1.1] Simple Object Access Protocol (SOAP) 1.1, W3C.
[TR-106] TR-106, Data Model Template for TR-069-Enabled Devices, Broadband Forum, 2005.
[TR-181i2a8] TR-181 Issue 2 Amendment 8, Device Data Model for TR-069, Broadband Forum, September 2014.

Device:2.10 Data Model (changes)

For a given implementation of this data model, the Agent MUST indicate support for the highest version number of any object or parameter that it supports. For example, even if the Agent supports only a single parameter that was introduced in version 2.10, then it will indicate support for version 2.10. The version number associated with each object and parameter is shown in the Version column.

Name Type Write Description Object Default Version
Device. object - The top-level object for a Device. - 2.0
Device.ManagementServer. object - This object contains parameters relating to the CPE's association with an ACS. - 2.0
ScheduleReboot dateTime W

An absolute date and time in UTC at which time the CPE will perform a reboot.

If a CWMP session is in progress at the specified time, the CPE MUST wait until the session has ended before performing the reboot.

If the value specifies a date and time that has already passed (i.e., a past date and time), no reboot will be performed.

- 2.10
DelayReboot int­[-1:] W

The number of seconds from the time the CWMP session in which this parameter value is set is ended until the CPE performs a reboot.

Whenever the CPE reboots, this value MUST be reset by the CPE to -1.

- 2.10
Device.WiFi. object - The WiFi object is based on the WiFi Alliance 802.11 specifications ([802.11-2007]). It defines interface objects (Radio and SSID), and application objects (AccessPoint and EndPoint). - 2.0
Device.WiFi.AccessPoint.{i}. object W

This object models an 802.11 connection from the perspective of a wireless access point. Each AccessPoint entry is associated with a particular SSID interface instance via the SSIDReference parameter.

For enabled table entries, if SSIDReference is not a valid reference then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Note: The AccessPoint table includes a unique key parameter that is a strong reference. If a strongly referenced object is deleted, the CPE will set the referencing parameter to an empty string. However, doing so under these circumstances might cause the updated AccessPoint row to then violate the table's unique key constraint; if this occurs, the CPE MUST set Status to Error_Misconfigured and disable the offending AccessPoint row.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias. On creation of a new table entry, the Agent MUST choose an initial value for Alias such that the new entry does not conflict with any existing entries.

At most one enabled entry in this table can exist with a given value for SSIDReference.

- 2.0
Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}. object -

A table of the devices currently associated with the access point.

At most one entry in this table can exist with a given value for MACAddress.

- 2.0
OperatingStandard string -

The operating standard that this associated device is connected with. Enumeration of:

- 2.10
Device.Hosts. object - This object provides information about each of the hosts on the LAN, including those whose IP address was allocated by the CPE using DHCP as well as hosts with statically allocated IP addresses. It can also include non-IP hosts. - 2.0
Device.Hosts.Host.{i}. object -

Host table.

At most one entry in this table can exist with a given value for Alias, or with a given value for PhysAddress.

- 2.0
ActiveLastChange dateTime -

The datetime when Active last changed from true to false or from false to true. The initial detection of a host SHOULD be treated as a transition from false to true, showing the datetime when the host was first detected.

The ability to list inactive hosts is OPTIONAL. The length of time an inactive host remains listed in this table is a local matter to the CPE.

- 2.10
Device.BulkData. object -

This object provides bulk data collection capabilities and global collection settings that affect the entire device.

Bulk Data utilizes various solutions (e.g., IPDR, HTTP) to collect data from devices and transfer the data to a collection server.

The IPDR solution is based on a service specification described in [TR-232].

The HTTP solution is based on transfer mechanisms described in [Annex A/TR-157a10].

The Bulk Data Collection Profiles are measured over a reporting interval (which can be aligned with absolute time) and are made available to the collection server.

- 2.5
ParameterWildCardSupported boolean - When true, the Device supports the use of wildcards to determine the parameters that are reported using a Profile. - 2.10
Device.BulkData.Profile.{i}. object W

A set of Bulk Data Collection profiles.

Each profile represents a bulk data report, including its own timing configuration, communications configuration, and set of parameters. This allows the ACS to configure multiple reports to be generated at different times for different sets of data.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias. On creation of a new table entry, the Agent MUST choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.5
Name string­(255) W The name of the profile. - 2.10
NumberOfRetainedFailedReports int­[-1:] W

The number of failed reports to be retained and transmitted (in addition to the current report) at the end of the current reporting interval.

If the value of the EncodingType parameter is modified any outstanding failed reports are deleted.

If the CPE cannot retain the number of failed reports from previous reporting intervals while transmitting the report of the current reporting interval, then the oldest failed reports are deleted until the CPE is able to transmit the report from the current reporting interval.

A value of 0 indicates that failed reports are not to be retained for transmission in the next reporting interval.

A value of -1 indicates that the CPE will retain as many failed reports as possible.

0 2.10
Device.BulkData.Profile.{i}.Parameter.{i}. object W

Bulk data parameter table.

Each entry in this table represents a parameter (or set of parameters if a partial path is provided) to be collected and reported.

- 2.5
Name string­(64) W

Name of the parameter in the report body.

If the value of this parameter is an empty string, then the value of the Reference parameter is used as the name.

When the value Reference parameter contains wildcards and/or partial parameter names, the rules for determining the value of this parameter are specified in [Annex A.3.2.1/TR-157a10].

- 2.10
Device.BulkData.Profile.{i}.CSVEncoding. object - This object defines the properties to be used when the Profile object's EncodingType parameter value is CSV. - 2.10
FieldSeparator string W Field separator to use when encoding CSV data. "," 2.10
RowSeparator string W Row separator to use when encoding CSV data. "&#13;&#10;" 2.10
EscapeCharacter string W Escape character to use when encoding CSV data. "&quot;" 2.10
ReportFormat string W

This parameter describes the formatting used for reports defined by this profile as described in [Annex A.3.4/TR-157a10].

Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in [RFC2616]. Enumeration of:

  • ParameterPerRow (Reports are formatted with each parameter formatted as a row entry)
  • ParameterPerColumn (Reports are formatted with each parameter formatted as a column entry)
"Parameter­Per­Column" 2.10
RowTimestamp string W

The format of the timestamp to use for data inserted into the row. Enumeration of:

  • Unix-Epoch (Timestamp is inserted using the UNIX epoch time (milliseconds since Jan 1, 1970 UTC) timestamp format. If the CPE is unable to acquire a time, then the time that has elapsed since the last reboot of the device is used)
  • ISO-8601 (Timestamp is inserted using the ISO-8601 timestamp format. If the CPE is unable to acquire a time, then the processing described by the dateTime type in [Table 12/TR-069] is followed)
  • None (Timestamp is not inserted in the row)
"Unix-Epoch" 2.10
Device.BulkData.Profile.{i}.JSONEncoding. object - This object defines the properties to be used when the Profile object's EncodingType parameter value is JSON. - 2.10
ReportFormat string W

This parameter describes the formatting used for the report as described in [Annex A.3.5/TR-157a10].

Note: This parameter is encoded as a token in the BBF-Report-Format header field and MUST NOT include spaces or other characters excluded from token characters defined in [RFC2616]. Enumeration of:

  • ObjectHierarchy (Reports are formatted with each object in the object hierarchy of the data model encoded as a corresponding hierarchy of JSON Objects with the parameters of the object specified as name/value pairs of the JSON Object)
  • NameValuePair (Reports are formatted with each parameter of the data model encoded as a corresponding array of JSON Objects with the parameters specified as name/value pairs)
"Object­Hierarchy" 2.10
ReportTimestamp string W

The format of timestamp to use for the JSON Object named "CollectionTime" as described in [TR-157a10]. Enumeration of:

  • Unix-Epoch (Timestamp is inserted using the UNIX epoch time (milliseconds since Jan 1, 1970 UTC) timestamp format. If the CPE is unable to acquire a time, then the time that has elapsed since the last reboot of the device is used)
  • ISO-8601 (Timestamp is inserted using the ISO-8601 timestamp format. If the CPE is unable to acquire a time, then the processing described by the dateTime type in [Table 12/TR-069] is followed)
  • None (Timestamp is not inserted)
"Unix-Epoch" 2.10
Device.BulkData.Profile.{i}.HTTP. object - This object defines the properties to be used when transporting bulk data using the HTTP/HTTPS protocol. This object is used when the Protocol parameter has a value of HTTP. For authentication purposes the CPE MUST support HTTP Basic and Digest Access Authentication as defined in [RFC2616]. - 2.10
URL string­(1024) W The URL, as defined in [RFC3986], for the collection server to receive the Bulk Data transmitted by the CPE. - 2.10
Username string­(256) W Username used to authenticate the CPE when making a connection to the collection server. - 2.10
Password string­(256) W

Password used to authenticate the CPE when making a connection to the collection server.

When read, this parameter returns an empty string, regardless of the actual value.

- 2.10
CompressionsSupported string -

Comma-separated list of strings. Indicates the HTTP Compression mechanism(s) supported by this CPE for the purposes of transferring bulk data. Each list item is an enumeration of:

- 2.10
Compression string W The value MUST be a member of the list reported by the CompressionsSupported parameter, or else be None. The value of this parameter represents the HTTP Compression mechanism to be used by the CPE when transferring data to the collection server. "None" 2.10
MethodsSupported string -

Comma-separated list of strings. Indicates the HTTP method(s) supported by this CPE for the purposes of transferring bulk data. Each list item is an enumeration of:

- 2.10
Method string W The value MUST be a member of the list reported by the MethodsSupported parameter. The value of this parameter represents the HTTP method to be used by the CPE when transferring data to the collection server. "POST" 2.10
UseDateHeader boolean W When true, the CPE encodes the HTTP Date Header [Section 14.18/RFC2616] in the HTTP client request. true 2.10
RetryEnable boolean W When true, the CPE retries unsuccessful attempts to transfer data. false 2.10
RetryMinimumWaitInterval unsignedInt­[1:65535] W

Configures the data transfer retry wait interval, in seconds, as specified in [Annex A.2.2.1/TR-157a10].

The device MUST use a random value between RetryMinimumWaitInterval and (RetryMinimumWaitInterval * RetryIntervalMultiplier / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.

5 2.10
RetryIntervalMultiplier unsignedInt­[1000:65535] W

Configures the retry interval multiplier as specified in [Annex A.2.2.1/TR-157a10].

This value is expressed in units of 0.001. Hence the values of the multiplier range between 1.000 and 65.535.

The device MUST use a random value between RetryMinimumWaitInterval and (RetryMinimumWaitInterval * RetryIntervalMultiplier / 1000) as the first retry wait interval. Other values in the retry pattern MUST be calculated using this value as a starting point.

2000 2.10
RequestURIParameterNumberOfEntries unsignedInt - The number of entries in the RequestURIParameter table. - 2.10
Device.BulkData.Profile.{i}.HTTP.RequestURIParameter.{i}. object W This object represents an instance of a parameter to be used in the report header used as part of the HTTP Request-URI transmitted by the CPE to the collection server using the Request-URI in addition to the parameters required by [Annex A.2.1/TR-157a10]. - 2.10
Name string­(64) W

Name of the Request-URI parameter.

If Name is an empty string, the name of the Request-URI parameter is the value of Reference.

- 2.10
Reference string­(256) W

The value MUST be the path name of the Request-URI parameter.

If the value of this parameter is empty, then this object is not encoded in the report header.

<Empty> 2.10
Device.MQTT. object - MQTT Base object describing all MQTT related parameters and objects [MQTT31], - 2.10
ClientNumberOfEntries unsignedInt - The number of entries in the Client table. - 2.10
BrokerNumberOfEntries unsignedInt - The number of entries in the Broker table. - 2.10
Device.MQTT.Capabilities. object - Indicates the MQTT capabilities of the device. - 2.10
ProtocolVersionsSupported string -

Comma-separated list of strings. Indicates the supported protocol versions. Each list item is an enumeration of:

- 2.10
TransportProtocolSupported string -

Comma-separated list of strings. Indicates the supported transport protocols. Each list item is an enumeration of:

- 2.10
MaxNumberOfClientSubscriptions unsignedInt - Indicates the maximum number of subscriptions per MQTT client, which can be stored in the Client.{i}.Subscription table. A value of 0 means no limit. - 2.10
MaxNumberOfBrokerBridges unsignedInt - Indicates the maximum number of bridges, which can be configured in the Broker.{i}.Bridge table. A value of 0 means no limit. - 2.10
MaxNumberOfBrokerBridgeSubscriptions unsignedInt - Indicates the maximum number of subscriptions, which can be stored per bridge instance in the Broker.{i}.Bridge.{i}.Subscription table. A value of 0 means no limit. - 2.10
Device.MQTT.Client.{i}. object W

MQTT client table. Contains a list of configured MQTT clients.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias, or with a given value for Name. On creation of a new table entry, the Agent MUST choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Name string­(64) W The textual name of the MQTT client. - 2.10
Enable boolean W

Allows to enable or disable the MQTT client.

If a MQTT client gets enabled then the MQTT client has first to establish a MQTT broker session and then subscribe for all enabled topics in the Subscription. table. In case the CleanSession is set to false a subscription MUST only be sent for topics which haven't been subscribed before (see [Section 3.1.2.4/MQTT311]).

If a connected MQTT client gets disabled (Status is either Connecting or Connected) then the MQTT client has to send a MQTT DISCONNECT message to disconnect from the MQTT broker ([Section 3.14/MQTT31] or [Section 3.14/MQTT311]), before setting the Status to Disabled.

- 2.10
Status string -

Indicates the status of this MQTT client. Enumeration of:

The Error_Misconfigured value indicates that a necessary configuration value is undefined or invalid (e.g. The MQTT client can not use the defined port, because it is blocked)

The Error_BrokerUnreachable value indicates that the connection to the MQTT broker could not be established.

The Error value MAY be used by the CPE to indicate a locally defined error condition.

- 2.10
ClientID string­(1:23) W

The MQTT client identifier used in the CONNECT message (see [Section 3.1/MQTT31] and [Section 3.1.3.1/MQTT311]). This parameter MUST NOT be an empty string, the CPE has to provide a default value for the parameter, which can be changed by the ACS.

A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
Username string­(256) W

Username used to authenticate the CPE when making a connection to the MQTT broker. [Section 3.1/MQTT31] recommends that the username has 12 characters or fewer, but this is not required.

If this parameter is an empty string no authentication parameters are sent in the MQTT CONNECT message.

- 2.10
Password string­(256) W

Password used to authenticate the CPE when making a connection to the MQTT broker (see [Section 3.1/MQTT31] and [Section 3.1.3.4/MQTT311]).

This password is only sent in the MQTT CONNECT message if Username is not an empty string.

When read, this parameter returns an empty string, regardless of the actual value.

- 2.10
TransportProtocol string W The value MUST be a member of the list reported by the Capabilities.TransportProtocolSupported parameter. Indicates the transport protocol to be used for the MQTT broker connection. "TCP/IP" 2.10
ProtocolVersion string W The value MUST be a member of the list reported by the Capabilities.ProtocolVersionsSupported parameter. Specifies the MQTT protocol version used in the communication with the MQTT broker. - 2.10
CleanSession boolean W

The value of the MQTT clean session flag in the MQTT CONNECT message (see [Section 3.1/MQTT31] and [Section 3.1.2.4/MQTT311]). If this flag is set to true (default), the MQTT broker will delete all subscription information after a Disconnect.

A change of this parameter is only effective after the next MQTT CONNECT message to the MQTT broker. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

true 2.10
MessageRetryTime unsignedInt­[1:] W Message retry time in seconds defines the wait time before a MQTT message that expects a response (QoS value of message is > 0, or PUBLISH, PUBREL, SUBSCRIBE, UNSUBSCRIBE message) is resent, because the response is not received (see [Section 4.2/MQTT31] and [Section 4.4/MQTT311]). 5 2.10
ConnectRetryTime unsignedInt­[1:] W

Connect retry time in seconds defines the wait time before a failed MQTT broker connection is retried.

A failure can either be on the connection level (the TCP/IP or TLS can not be established) or on the Protocol level, the MQTT client does not receive a MQTT CONNACK message on a MQTT CONNECT message sent.

30 2.10
KeepAliveTime unsignedInt­[:65535] W

Keep Alive Time in seconds defines the maximum wait time after which a message has to be sent to the MQTT broker (see [Section 3.1/MQTT31] and [Section 3.1.2.10/MQTT311]). If no regular messages can be sent a MQTT PINGREQ is sent.

A value of zero (0) means no keep alive message are sent and the MQTT client is not disconnected by the server.

A change of this parameter is only effective after the next MQTT CONNECT message to the MQTT broker. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

60 2.10
ForceReconnect boolean W

Disconnects the MQTT client from the MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT client is currently connected to the MQTT broker (Parameter Status is Connected).

If the MQTT client is in a different state, the parameter has no effect.

This action parameter may be used to immediately apply changes in the MQTT connection settings.

When read, this parameter returns false, regardless of the actual value.

- 2.10
BrokerAddress string­(256) W Host name or IP address of the MQTT Broker. - 2.10
BrokerPort unsignedInt­[1:65535] W Port number of the MQTT broker. 1883 2.10
WillEnable boolean W

Enables or disables the will handling (see [Section 3.1/MQTT31] and [Section 3.1.2.5/MQTT311]).. Changing this parameter while the MQTT client is connected will cause the client to disconnect and reconnect.

If the connection gets enabled and this parameter is set to true and either the parameter WillTopic or WillValue are an empty string, the CPE MUST set the Status to Error_Misconfigured (see [Section 3.1.2.5/MQTT311]).

- 2.10
WillTopic string W

The Topic sent in the Will Message (see [Section 3.1/MQTT31] and [Section 3.1.2.5/MQTT311]). This parameter is only used if WillEnable is set to true.

A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.

If the will handling is enabled (Paramter WillEnable is set to true) and the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
WillValue string W

The value sent in the Will Message (see [Section 3.1/MQTT31] and [Section 3.1.2.5/MQTT311]). This parameter is only used if WillEnable is set to true.

A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.

If the will handling is enabled (Paramter WillEnable is set to true) and the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
WillQoS unsignedInt­[0:2] W

The MQTT QoS level assigned with the will message (see [Section 3.1/MQTT31] and [Section 3.1.2.6/MQTT311]). This parameter is only used if WillEnable is set to true.

A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.

If the will handling is enabled (Paramter WillEnable is set to true) and the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
WillRetain boolean W

Indicate to the MQTT broker to retain the Will over a Disconnect (see [Section 3.1/MQTT31] and [Section 3.1.2.7/MQTT311]). This parameter is only used if WillEnable is set to true.

A change of this parameter is only communicated to the MQTT broker with the next MQTT CONNECT message.

If the will handling is enabled (Paramter WillEnable is set to true) and the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
SubscriptionNumberOfEntries unsignedInt - The number of entries in the Subscription table. - 2.10
Device.MQTT.Client.{i}.Subscription.{i}. object W

List of MQTT subscriptions handled by the MQTT client.

The MQTT client MUST subscribe with the MQTT broker for all subscription instances, whose parameter Enable is set to true, when it establishes a new connection to the MQTT broker. Disabled subscription instances with Enable set to false will be ignored during connection establishment.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias, or with a given value for Topic. On creation of a new table entry, the Agent MUST choose initial values for Alias and Topic such that the new entry does not conflict with any existing entries.

- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Enable boolean W

Setting Enable to true means the topic is subscribed at the MQTT broker with a MQTT SUBSCRIBE message, setting it to false will unsubscribe the topic from the MQTT broker with a MQTT UNSUBSCRIBE message. If the MQTT client is already connected with the Broker (Status is Connected), the MQTT SUBSCRIBE or UNSUBSCRIBE message is sent directly, otherwise it is sent after the next successful connect.

The actual status of the subscription is indicated with Status.

- 2.10
Status string -

Indicates the status of this subscription. Enumeration of:

The Subscribed value indicates that the topic was successfully subscribed with the MQTT broker, the MQTT client received the SUBACK message for this topic from the server.

The Subscribing value MAY be used by the CPE to indicate that the a SUBSCRIBE message for this topic was sent, and the CPE is waiting for a SUBACK message.

The Unsubscribed value indicates that the topic is not reqistered with the MQTT broker.

The Unsubscribing value MAY be used by the CPE to indicate that the an UNSUBSCRIBE message for this topic was sent, and the CPE is waiting for an UNSUBACK message.

If the Enable is set to false the status MUST be either Unsubscribed or if the unsubscription failed Error.

- 2.10
Topic string­(65535) W Name of the subscribed topic. Topic names may contain wildcards according to the rules specified in [Appendix A/MQTT31] and [Section 4.7/MQTT311]. - 2.10
QoS unsignedInt­[0:2] W The MQTT QoS level assigned with the subscription (see [Section 4.1/MQTT31] and [Section 4.3/MQTT311]). - 2.10
Device.MQTT.Client.{i}.Stats. object -

Contains the MQTT client statistics and usage information.

The CPE MUST reset the Stats parameters after the MQTT client gets (re-)enabled or if the MQTT client connects with a new MQTT broker (e.g. BrokerAddress has changed). The CPE MAY retain the values across a reboot if it reconnects with the same MQTT broker.

- 2.10
BrokerConnectionEstablished dateTime - Time when the MQTT broker connection was established. - 2.10
LastPublishMessageSent dateTime - Time when the last publish message was sent to the MQTT broker. - 2.10
LastPublishMessageReceived dateTime - Time when the last publish message was received from the MQTT broker. - 2.10
PublishSent unsignedLong - [StatsCounter64] Number of publish messages sent to the MQTT broker. - 2.10
PublishReceived unsignedLong - [StatsCounter64] Number of publish messages received from to the MQTT broker. - 2.10
SubscribeSent unsignedLong - [StatsCounter64] Number of subscribe messages sent to the MQTT broker. - 2.10
UnSubscribeSent unsignedLong - [StatsCounter64] Number of unsubscribe messages sent to the MQTT broker. - 2.10
MQTTMessagesSent unsignedLong - [StatsCounter64] Total number of MQTT messages sent to the MQTT broker. - 2.10
MQTTMessagesReceived unsignedLong - [StatsCounter64] Total number of MQTT messages received from the MQTT broker. - 2.10
ConnectionErrors unsignedInt - [StatsCounter32] Number of connection errors. - 2.10
PublishErrors unsignedInt - [StatsCounter32] Number of errors which prevented sending publish messages. - 2.10
Device.MQTT.Broker.{i}. object W

MQTT broker table. Contains a list of configured MQTT brokers.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias, or with a given value for Name. On creation of a new table entry, the Agent MUST choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Name string­(64) W The textual name of the MQTT broker. - 2.10
Enable boolean W Allows to enable or disable the MQTT broker. - 2.10
Status string -

Indicates the status of the MQTT broker. Enumeration of:

The "Error_Misconfigured" value indicates that a necessary configuration value is undefined or invalid.

The "Error" value MAY be used by the CPE to indicate a locally defined error condition.

- 2.10
Port unsignedInt­[1:65535] W Port used by the MQTT Broker. 1883 2.10
Interface string­(256) W The value MUST be the Path Name of a row in the IP.Interface table. If the referenced object is deleted, the parameter value MUST be set to an empty string. If an empty string is specified, the CPE MUST bind the MQTT broker to all available interfaces. - 2.10
Username string­(256) W

Username used to authenticate the MQTT clients, which connect to the MQTT broker.

If this parameter is an empty string no authentication is used.

- 2.10
Password string­(256) W

Password used used to authenticate the MQTT clients, which connect to the MQTT broker.

This password is only used if Username is not an empty string.

When read, this parameter returns an empty string, regardless of the actual value.

- 2.10
BridgeNumberOfEntries unsignedInt - The number of entries in the Bridge table. - 2.10
Device.MQTT.Broker.{i}.Bridge.{i}. object W

Configures MQTT bridges, which are used to communicate with other MQTT brokers.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias, or with a given value for Name. On creation of a new table entry, the Agent MUST choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Name string­(64) W The textual name of the MQTT bridge used for identification. - 2.10
Enable boolean W Allows to enable or disable the MQTT Bridge. - 2.10
Status string -

Indicates the status of this MQTT Bridge. Enumeration of:

The Disabled value indicates that the MQTT bridge is not in service; parameter Enable is set to false.

The Connecting value indicates that the MQTT bridge is currently established.

The Connected value indicates that the MQTT bridge is currently active.

The Error_Misconfigured value indicates that a necessary configuration value is undefined or invalid (e.g. No active Server entry, the MQTT broker can not use the defined bridge port, because it is blocked)

The Error_BrokerUnreachable value indicates that the MQTT bridge connection to the remote MQTT broker could not be established.

The Error value MAY be used to indicate a locally defined error condition.

- 2.10
ClientID string­(1:23) W

The MQTT client identifier used in the CONNECT message (see [Section 3.1/MQTT31] and [Section 3.1.3.1/MQTT311]). This parameter MUST NOT be an empty string, the CPE has to provide a default value for the parameter, which may be changed by the ACS.

A change of this parameter is only communicated to the remote MQTT broker with the next MQTT CONNECT message. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

- 2.10
Username string­(256) W

Username used to authenticate the MQTT broker when making a connection over the MQTT bridge (see [Section 3.1/MQTT31] and [Section 3.1.3.4/MQTT311]). [Section 3.1/MQTT31] recommends that the username has 12 characters or fewer, but this is not required.

If this parameter is an empty string no authentication parameters are sent in the MQTT CONNECT message.

- 2.10
Password string­(256) W

Password used to authenticate the MQTT broker when making a connection over the MQTT bridge (see [Section 3.1/MQTT31] and [Section 3.1.3.4/MQTT311]).

The password is only sent if Username is not an empty string.

When read, this parameter returns an empty string, regardless of the actual value.

- 2.10
TransportProtocol string W The value MUST be a member of the list reported by the Capabilities.TransportProtocolSupported parameter. Indicates the transport protocol to be used for the MQTT bridge connection. "TCP/IP" 2.10
ProtocolVersion string W The value MUST be a member of the list reported by the Capabilities.ProtocolVersionsSupported parameter. Specifies the MQTT protocol version used in the MQTT bridge connection. - 2.10
CleanSession boolean W

The value of the MQTT clean session flag in the MQTT bridge connection (see [Section 3.1/MQTT31] and [Section 3.1.2.4/MQTT311]). If this flag is set to true (default), the remote MQTT broker will delete all subscription information after a Disconnect.

A change of this parameter is only effective after the next MQTT CONNECT message to the remote MQTT broker. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

true 2.10
MessageRetryTime unsignedInt­[1:] W Message retry time in seconds defines the wait time before a MQTT message that expects a response (QoS value of message is > 0, or PUBLISH, PUBREL, SUBSCRIBE, UNSUBSCRIBE message) is resent, because the response is not received (see [Section 4.2/MQTT31] and [Section 4.4/MQTT311]). 5 2.10
ConnectRetryTime unsignedInt­[1:] W

Connect retry time in seconds defines the wait time before a failed bridge connection is retried.

A failure can either be on the connection level (e.g. the TCP/IP or TLS conection can not be established) or on the Protocol level, the MQTT client does not receive a MQTT CONNACK message on a MQTT CONNECT message sent.

30 2.10
KeepAliveTime unsignedInt­[:65535] W

Keep Alive Time in seconds defines the maximum wait time after which a message has to be sent to the remote MQTT broker (see [Section 3.1/MQTT31] and [Section 3.1.2.10/MQTT311]). If no regular messages can be sent a MQTT PINGREQ is sent.

A value of zero (0) means no keep alive message are sent and the bridge is not disconnected by the server.

A change of this parameter is only effective after the next MQTT CONNECT message to the remote MQTT broker. If the change needs to be applied immediately, the parameter ForceReconnect has to be set as well.

60 2.10
ForceReconnect boolean W

Disconnects the MQTT bridge to the remote MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT bridge is currently connected to the remote MQTT broker (Parameter Status is Connected).

If the MQTT bridge is in a different state, the parameter has no effect.

This action parameter may be used to immediately apply changes in the MQTT connection settings.

When read, this parameter returns false, regardless of the actual value.

- 2.10
ServerSelectionAlgorithm string W

The algorithm used to select a server entry from the Server table

Enumeration of:

- 2.10
ServerConnection string - The value MUST be the Path Name of the Server. instance that is used for this Bridge, while the Status is Connecting or Connected. If the MQTT bridge is not connected the value MUST be an empty string. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.10
ServerNumberOfEntries unsignedInt - The number of entries in the Server table. - 2.10
SubscriptionNumberOfEntries unsignedInt - The number of entries in the Subscription table. - 2.10
Device.MQTT.Broker.{i}.Bridge.{i}.Server.{i}. object W

Each Server instance represents a MQTT bridge server to be used for a Bridge. A remote MQTT broker, which is connected by a MQTT bridge can be reachable via several host addresses each represented by its own Server table entry. For an active MQTT bridge at least one enabled entry has to exist.

If a MQTT bridge gets enabled by setting the parameter Bridge.{i}.Enable to true, which either has an empty Server table or the Server table only contains instances whose Enable is set to false, the Bridge.{i}.Status has to be set to Error_Misconfigured.

Any attempt to delete an instance, which is currently in use (Bridge.{i}.ServerConnection refers to the instance to be deleted), has to be rejected.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias. On creation of a new table entry, the Agent MUST choose an initial value for Alias such that the new entry does not conflict with any existing entries.

At most one enabled entry in this table can exist with the same values for Address and Port.

- 2.10
Enable boolean W Enables or disables this Server. false 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Priority unsignedInt­[0:65535] W

The priority of this Server that is used by the Bridge when determining the Server to connect to. The Bridge MUST contact the Server with the lowest-numbered priority that the Bridge can reach as defined in [RFC2782]. The selection of Servers with the same Priority value utilizes the Weight parameter to determine which Server is selected by the Bridge.

This value is only used if Bridge.{i}.ServerSelectionAlgorithm is set to Priority.

- 2.10
Weight long­[-1:65535] W

This parameter specifies a relative weight for entries with the same Priority. The mechanism is defined in [RFC2782]. A value of -1 indicates that the implementation of this parameter is specific to the Vendor.

This value is only used if Bridge.{i}.ServerSelectionAlgorithm is set to Priority.

- 2.10
Address string­(256) W

Fully Qualified Domain Name (FQDN) or IP address of the MQTT broker server this Bridge connects to.

If the value of this parameter is a FQDN that resolves to multiple addresses then each address SHOULD be attempted (in an implementation-specific order) until a connection can be made or all addresses are exhausted, in which case the next Server instance (based on rules defined over the selected Bridge.{i}.ServerSelectionAlgorithm) SHOULD be used.

- 2.10
Port unsignedInt­[1:65535] W Port number of the MQTT broker server this Bridge connects to. 1883 2.10
Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}. object W

List of MQTT subscriptions handled over the bridge.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias, or with the same values for Topic and Direction. On creation of a new table entry, the Agent MUST choose initial values for Alias, Topic and Direction such that the new entry does not conflict with any existing entries.

- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
Enable boolean W

Setting Enable to true activates the handling of this subscription instance. In case of incoming directions (Direction is either in or both) the topic is subscribed over the bridge at the remote MQTT broker with a MQTT SUBSCRIBE message if Enable is set to true or unsubscribed from the remote MQTT broker with a MQTT UNSUBSCRIBE message if the value is set to false.

The actual status of the subscription is indicated with Status.

- 2.10
Status string -

Indicates the status of this subscription. Enumeration of:

The Enabled value indicates that the this subscription is active. In case of incoming directions (Direction is either in or both) the topic was successfully subscribed with the remote MQTT broker.

The Disabled value indicates that this subscription is not used.

The Error value indicates that an error occured (e.g. an subscription could not be made with the remote MQTT broker) and the subscription is not in use.

- 2.10
Topic string­(65535) W Name of the subscribed topic. Topic names may contain wildcards according to the rules specified in [Appendix A/MQTT31] and [Section 4.7/MQTT311]. - 2.10
Direction string W

The direction of the subscription. Enumeration of:

  • out (Indicates that all matching topics will be sent over the bridge to the next MQTT broker)
  • in (Indicates that all matching topics will be received over the bridge from the next MQTT broker)
  • both (Indicates that all matching topics will be sent and received over the bridge).
- 2.10
QoS unsignedInt­[0:2] W The MQTT QoS level assigned with the subscription (see [Section 4.1/MQTT31] and [Section 4.3/MQTT311]). - 2.10
LocalPrefix string W

The local prefix is used for remapping received topics to the local topics of the MQTT broker and to select the topics to be sent over bridge to the remote MQTT broker.

For remote topics received over the bridge the MQTT broker adds the LocalPrefix in front of the received topic, before processing it.

Example:
Topic is "/bus/+", LocalPrefix is "/local", Direction is "in"
MQTT broker receives message with topic "/bus/tr181" over bridge => MQTT broker uses topic "/local/bus/tr181" for internal processing

For selection of the topics to be sent over the bridge the MQTT broker uses the combination of LocalPrefix and Topic to match the topics to be sent over bridge, and removes the LocalPrefix from the selected topic before sending it over the bridge.

Example:
Topic is "/bus/+", LocalPrefix is "/local", Direction is "out"
MQTT broker receives message with topic "/local/bus/tr181" from a MQTT client => MQTT broker sends topic "/bus/tr181" to remote MQTT broker

- 2.10
RemotePrefix string W

The remote prefix is used for remapping topics to the remote MQTT broker topic lists.

For remote topics received over the bridge the MQTT broker removes the remote prefix topic from the received topic (before handling the LocalPrefix), before processing it.

Example:
Topic is "/bus/+", LocalPrefix is "/local", RemotePrefix is "/remote", Direction is "in"
MQTT broker receives message with topic "/remote/bus/tr181" over bridge => MQTT broker uses topic "/local/bus/tr181" for internal processing

During activation of the bridge, the MQTT broker prepends the Topic with RemotePrefix topic and subscribes to the remote MQTT broker with it, in order to receive all applicable remote topics.

Example:
Topic is "/bus/+", RemotePrefix is "/remote", Direction is "in"
MQTT broker sends a subscription to the remote MQTT broker with the topic "/remote/bus/+".

For all topics to be sent over the bridge (Direction is either out or both), the RemotePrefix will be prepended to the topic after the LocalPrefix has been processed and before sending the message over the bridge.

Example:
Topic is "/bus/+", LocalPrefix is "/local", RemotePrefix is "/remote" Direction is "out"
MQTT broker receives message with topic "/local/bus/tr181" from a MQTT client => MQTT broker sends topic "/remote/bus/tr181" to remote MQTT broker

- 2.10
Device.MQTT.Broker.{i}.Stats. object - The MQTT broker statistics values. These will reset with each MQTT broker start, either after reboot or if the MQTT broker gets (re-)enabled. - 2.10
TotalNumberOfClients unsignedInt - Total number of MQTT clients registered with the MQTT broker. - 2.10
NumberOfActiveClients unsignedInt - Number of MQTT clients, which have a connection with the MQTT broker established. - 2.10
NumberOfInactiveClients unsignedInt - Number of MQTT clients, which have no connection with the MQTT broker established. - 2.10
Subscriptions unsignedInt - Number of subscriptions held by the MQTT broker. - 2.10
PublishSent unsignedLong - [StatsCounter64] Number of publish messages sent by the MQTT broker. - 2.10
PublishReceived unsignedLong - [StatsCounter64] Number of publish messages received by the MQTT broker. - 2.10
MQTTMessagesSent unsignedLong - [StatsCounter64] Total number of MQTT messages sent by the MQTT broker. - 2.10
MQTTMessagesReceived unsignedLong - [StatsCounter64] Total number of MQTT messages received by the MQTT broker. - 2.10
ConnectionErrors unsignedInt - [StatsCounter32] Number of connection errors. - 2.10
PublishErrors unsignedInt - [StatsCounter32] Number of errors which prevented sending publish messages - 2.10
Device.DynamicDNS. object - Properties for Dynamic DNS. - 2.10
ClientNumberOfEntries unsignedInt - The number of entries in the Client table. - 2.10
ServerNumberOfEntries unsignedInt - The number of entries in the Server table. - 2.10
SupportedServices string­(1024) - Comma-separated list (maximum list length 1024) of strings. List of Dynamic DNS service names that are supported by the CPE. - 2.10
Device.DynamicDNS.Client.{i}. object W

Client properties for Dynamic DNS.

A dynamic DNS client is responsible for verifying IP address changes and updating information from a subscribed account on a Dynamic DNS Server.

For enabled table entries, if Server is not a valid reference then the table entry is inoperable and the CPE MUST set the Status to Error_Misconfigured.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias. On creation of a new table entry, the Agent MUST choose an initial value for Alias such that the new entry does not conflict with any existing entries.

At most one enabled entry in this table can exist with the same values for Server and Username.

- 2.10
Enable boolean W Enables or disables this Dynamic DNS Client. - 2.10
Status string -

Status of this Dynamic DNS Client. Enumeration of:

  • Connecting (The Dynamic DNS Client is trying to connect to the Server)
  • Authenticating (The Dynamic DNS Client is in the authentication phase)
  • Updated (The Dynamic DNS Client has performed an update request since the last IP address change)
  • Error_Misconfigured (Error due to configuration)
  • Error (An error has occurred during the communication with the Server. The LastError parameter is updated with the detail of this error)
  • Disabled (The Client is disabled)
- 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
LastError string -

The last error this Dynamic DNS Client has encountered.

The parameter MAY instead indicate a vendor-specific cause, which MUST use the format defined in [TR-106]. Enumeration of:

- 2.10
Server string­(256) W

The DynamicDNS server associated with this Dynamic DNS Client.

The value MUST be the Path Name of a row in the Device.DynamicDNS.Server table. If the referenced object is deleted, the parameter value MUST be set to an empty string.

- 2.10
Interface string­(256) W

The IP interface over which update queries to the server are sent.

The value MUST be the Path Name of a row in the Device.IP.Interface table. If the referenced object is deleted, the parameter value MUST be set to an empty string.

If an empty string is specified, the CPE MUST use its routing policy (Forwarding table entries), to determine the appropriate interface.

- 2.10
Username string­(256) W Username used by this Dynamic DNS Client to authenticate with the Server. - 2.10
Password string­(256) W

Password used by this Dynamic DNS Client to authenticate with the Server.

When read, this parameter returns an empty string, regardless of the actual value.

- 2.10
HostnameNumberOfEntries unsignedInt - The number of entries in the Hostname table. - 2.10
Device.DynamicDNS.Client.{i}.Hostname.{i}. object W

Each table entry represents a fully qualified domain name updated by this Dynamic DNS Client.

At most one enabled entry in this table can exist with a given value for Name.

- 2.10
Enable boolean W Enables or disables this Hostname. - 2.10
Status string -

Status of this Hostname. Enumeration of:

  • Registered (The Hostname has been updated with the current IP address)
  • UpdateNeeded (The IP address has changed since last update)
  • Updating (The Client is trying to update this Hostname)
  • Error (The Hostname doesn't exist for this Dynamic DNS account)
  • Disabled (The Hostname is disabled)
- 2.10
Name string­(256) W

Fully qualified domain name that has to be updated with the IP address.

If the name is set to another value, the Client MUST immediately send an update request to the Server.

- 2.10
LastUpdate dateTime - The date time of the last successful update of this name to the Dynamic DNS Server. - 2.10
Device.DynamicDNS.Server.{i}. object W

Table of Dynamic DNS servers available for this CPE.

At most one entry in this table (regardless of whether or not it is enabled) can exist with a given value for Alias. On creation of a new table entry, the Agent MUST choose an initial value for Alias such that the new entry does not conflict with any existing entries.

At most one enabled entry in this table can exist with a given value for Name.

- 2.10
Enable string­(64) W Enables or disables Dynamic DNS Server. - 2.10
Name string­(64) W The textual name of the Dynamic DNS Server. - 2.10
Alias string­(64) W

A non-volatile handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

If the CPE supports the Alias-based Addressing feature as defined in [Section 3.6.1/TR-069a4] and described in [Appendix II/TR-069a4], the following mandatory constraints MUST be enforced:

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a "cpe-" prefix.
  • The CPE MUST NOT change the parameter value.
- 2.10
ServiceName string­(256) W

Dynamic DNS service used to contact this server.

The value MUST be a member of the list reported by the Device.DynamicDNS.SupportedServices parameter.

- 2.10
ServerAddress string­(256) W Host name or IP address of the Dynamic DNS server. - 2.10
ServerPort unsignedInt­[0:65535] W Port number of the Dynamic DNS server. - 2.10
SupportedProtocols string -

Indicates the protocols that are supported by the CPE for sending requests to the Dynamic DNS server. Comma-separated list of strings. This list depends on the Dynamic DNS service defined by the ServiceName parameter. Each list item is an enumeration of:

- 2.10
Protocol string W The value MUST be a member of the list reported by the SupportedProtocols parameter. Indicates the protocol used to send requests to the Dynamic DNS server. - 2.10
CheckInterval unsignedInt W

Interval (in seconds) between two checks for IP change.

A value of zero indicates that the CPE knows when IP changes and doesn’t need to check it periodically.

- 2.10
RetryInterval unsignedInt W Initial retry interval (in seconds) after a failed request. This parameter can be used as a fixed value or as part of a retry interval calculation. - 2.10
MaxRetries unsignedInt W

Maximum number of retries after a failed request. When the maximum number is reached, no further requests are sent until the context changes.

A value of 0 means that there are no retries after a failed request.

- 2.10

Inform and Notification Requirements

Forced Inform Parameters

Parameter

Forced Active Notification Parameters

Parameter

Default Active Notification Parameters

Parameter

Parameters for which Active Notification MAY be Denied

Parameter
Device.MQTT.Client.{i}.
Alias
Device.MQTT.Client.{i}.Subscription.{i}.
Alias
Device.MQTT.Client.{i}.Stats.
BrokerConnectionEstablished
LastPublishMessageSent
LastPublishMessageReceived
PublishSent
PublishReceived
SubscribeSent
UnSubscribeSent
MQTTMessagesSent
MQTTMessagesReceived
ConnectionErrors
Device.MQTT.Broker.{i}.
Alias
Device.MQTT.Broker.{i}.Bridge.{i}.
Alias
Device.MQTT.Broker.{i}.Bridge.{i}.Subscription.{i}.
Alias
Device.MQTT.Broker.{i}.Stats.
Subscriptions
PublishSent
PublishReceived
MQTTMessagesSent
MQTTMessagesReceived
ConnectionErrors
Device.DynamicDNS.Client.{i}.
Alias
Device.DynamicDNS.Server.{i}.
Alias

Profile Definitions

Notation

The following abbreviations are used to specify profile requirements:

Abbreviation Description
R Read support is REQUIRED.
W Both Read and Write support is REQUIRED. This MUST NOT be specified for a parameter that is defined as read-only.
P The object is REQUIRED to be present.
C Creation and deletion of instances of the object is REQUIRED.
A Creation of instances of the object is REQUIRED, but deletion is not REQUIRED.
D Deletion of instances of the object is REQUIRED, but creation is not REQUIRED.

BulkDataHTTP:1 Profile

The BulkDataHTTP:1 profile for the Device:2 data model is defined as the union of the BulkDataColl:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­BulkData.­Profile.­{i}.­HTTP. P
URL W
Username W
Password W
CompressionsSupported R
Compression W
MethodsSupported R
Method W
UseDateHeader W
RetryEnable W
RetryMinimumWaitInterval W
RetryIntervalMultiplier W
RequestURIParameterNumberOfEntries R
Device.­BulkData.­Profile.­{i}.­HTTP.­RequestURIParameter.­{i}. C
Name W
Reference W

BulkDataCSVEncoding:1 Profile

The BulkDataCSVEncoding:1 profile for the Device:2 data model is defined as the union of the BulkDataColl:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­BulkData.­Profile.­{i}.­CSVEncoding. P
FieldSeparator W
RowSeparator W
EscapeCharacter W
ReportFormat W
RowTimestamp W

BulkDataJSONEncoding:1 Profile

The BulkDataJSONEncoding:1 profile for the Device:2 data model is defined as the union of the BulkDataColl:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­BulkData.­Profile.­{i}.­JSONEncoding. P
ReportFormat W
ReportTimestamp W

BulkDataReports:1 Profile

The BulkDataReports:1 profile for the Device:2 data model is defined as the union of the BulkDataColl:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­BulkData. P
ParameterWildCardSupported R
Device.­BulkData.­Profile.­{i}. C
Name W
NumberOfRetainedFailedReports W
Device.­BulkData.­Profile.­{i}.­Parameter.­{i}. C
Name W

MQTTClientBase:1 Profile

This table defines the MQTTClientBase:1 profile for the Device:2 data model. The minimum REQUIRED version for this profile is Device:2.10. Provides basic MQTT client control and statistics

Name Requirement
Device.­MQTT. P
ClientNumberOfEntries R
Device.­MQTT.­Client.­{i}. P
Enable W
Status R
BrokerAddress W
BrokerPort W
CleanSession W
KeepAliveTime W
SubscriptionNumberOfEntries R
Device.­MQTT.­Client.­{i}.­Stats. P
BrokerConnectionEstablished R
MQTTMessagesSent R
MQTTMessagesReceived R
ConnectionErrors R

MQTTClientExtended:1 Profile

The MQTTClientExtended:1 profile for the Device:2 data model is defined as the union of the MQTTClientBase:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10. Adds client authentication, will handling and extends statistics

Name Requirement
Device.­MQTT.­Client.­{i}. P
Name W
ClientID W
Username W
Password W
TransportProtocol W
MessageRetryTime W
ConnectRetryTime W
ForceReconnect W
WillEnable W
WillTopic W
WillValue W
WillQoS W
WillRetain W
Device.­MQTT.­Client.­{i}.­Stats. P
LastPublishMessageSent R
LastPublishMessageReceived R
PublishSent R
PublishReceived R
SubscribeSent R
UnSubscribeSent R
PublishErrors R

MQTTClientSubscribe:1 Profile

The MQTTClientSubscribe:1 profile for the Device:2 data model is defined as the union of the MQTTClientBase:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10. Adds client subscription control and access to received topics

Name Requirement
Device.­MQTT.­Client.­{i}.­Subscription.­{i}. P
Topic W
QoS R
Enable W

MQTTBrokerBase:1 Profile

This table defines the MQTTBrokerBase:1 profile for the Device:2 data model. The minimum REQUIRED version for this profile is Device:2.10. Provides basic MQTT broker control and statistics

Name Requirement
Device.­MQTT. P
BrokerNumberOfEntries R
Device.­MQTT.­Broker.­{i}. P
Name W
Enable W
Status R
Interface W
Port W
Device.­MQTT.­Broker.­{i}.­Stats. P
TotalNumberOfClients R
NumberOfActiveClients R
MQTTMessagesSent R
MQTTMessagesReceived R
ConnectionErrors R

MQTTBrokerExtended:1 Profile

The MQTTBrokerExtended:1 profile for the Device:2 data model is defined as the union of the MQTTBrokerBase:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10. Adds client authentication and extends statistics

Name Requirement
Device.­MQTT.­Broker.­{i}. P
Username W
Password W
Device.­MQTT.­Broker.­{i}.­Stats. P
NumberOfInactiveClients R
PublishSent R
PublishReceived R
PublishErrors R

MQTTBrokerBridgeBase:1 Profile

The MQTTBrokerBridgeBase:1 profile for the Device:2 data model is defined as the union of the MQTTBrokerBase:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10. Adds parameters for MQTT network interconnection with Bridges

Name Requirement
Device.­MQTT.­Broker.­{i}. P
BridgeNumberOfEntries R
Device.­MQTT.­Broker.­{i}.­Bridge.­{i}. P
Name W
Enable W
Status R
ServerConnection R
ServerNumberOfEntries R
SubscriptionNumberOfEntries R
Device.­MQTT.­Broker.­{i}.­Bridge.­{i}.­Server.­{i}. P
Enable W
Priority W
Address W
Port W
Device.­MQTT.­Broker.­{i}.­Bridge.­{i}.­Subscription.­{i}. P
Topic W
Direction W
Enable W
QoS W

ZigBeeInterface:1 Profile

This table defines the ZigBeeInterface:1 profile for the Device:2 data model. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee. P
InterfaceNumberOfEntries R
Device.­ZigBee.­Interface.­{i}. P
Enable W
Status R
Alias W
Name R
LastChange R
LowerLayers W
IEEEAddress R
NetworkAddress R
ZDOReference R

ZigBeeStats:1 Profile

The ZigBeeStats:1 profile for the Device:2 data model is defined as the union of the ZigBeeInterface:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee.­Interface.­{i}.­Stats. P
BytesSent R
BytesReceived R
PacketsSent R
PacketsReceived R
ErrorsSent R
ErrorsReceived R
UnicastPacketsSent R
UnicastPacketsReceived R
DiscardPacketsSent R
DiscardPacketsReceived R
MulticastPacketsSent R
MulticastPacketsReceived R
BroadcastPacketsSent R
BroadcastPacketsReceived R
UnknownPacketsReceived R

ZigBeeAssociatedDevices:1 Profile

The ZigBeeAssociatedDevices:1 profile for the Device:2 data model is defined as the union of the ZigBeeInterface:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee.­Interface.­{i}. P
AssociatedDeviceNumberOfEntries R
Device.­ZigBee.­Interface.­{i}.­AssociatedDevice.­{i}. P
IEEEAddress R
NetworkAddress R
Active R
ZDOReference R

ZigBeeDisc:1 Profile

This table defines the ZigBeeDisc:1 profile for the Device:2 data model. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee.­Discovery. P
AreaNetworkNumberOfEntries R
Device.­ZigBee.­Discovery.­AreaNetwork.­{i}. C
Enable W
LastUpdate R
Status R
Coordinator W
ZDOReference R
ZDOList R

ZDOBasic:1 Profile

This table defines the ZDOBasic:1 profile for the Device:2 data model. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee. P
ZDONumberOfEntries R
Device.­ZigBee.­ZDO.­{i}. P
IEEEAddress R
NetworkAddress R
Device.­ZigBee.­ZDO.­{i}.­NodeDescriptor. P
LogicalType R
ComplexDescriptorSupported R
UserDescriptorSupported R
FrequencyBand R
MACCapability R
ManufactureCode R
MaximumBufferSize R
MaximumIncomingTransferSize R
MaximumOutgoingTransferSize R
ServerMask R
DescriptorCapability R
Device.­ZigBee.­ZDO.­{i}.­PowerDescriptor. P
CurrentPowerMode R
AvailablePowerSource R
CurrentPowerSource R
CurrentPowerSourceLevel R

ZDOAdv:1 Profile

The ZDOAdv:1 profile for the Device:2 data model is defined as the union of the ZDOBasic:1 profile and the additional requirements defined in this table. The minimum REQUIRED version for this profile is Device:2.10.

Name Requirement
Device.­ZigBee.­ZDO.­{i}. P
BindingTableNumberOfEntries R
GroupNumberOfEntries R
ApplicationEndpointNumberOfEntries R
Device.­ZigBee.­ZDO.­{i}.­UserDescriptor. P
DescriptorAvailable R
Description R
Device.­ZigBee.­ZDO.­{i}.­ComplexDescriptor. P
DescriptorAvailable R
Language R
CharacterSet R
ManufacturerName R
ModelName R
SerialNumber R
DeviceURL R
Icon R
IconURL R
Device.­ZigBee.­ZDO.­{i}.­Security. P
TrustCenterAddress R
SecurityLevel R
TimeOutPeriod R
Device.­ZigBee.­ZDO.­{i}.­Network. P
NeighborNumberOfEntries R
Device.­ZigBee.­ZDO.­{i}.­Network.­Neighbor.­{i}. P
Neighbor R
LQI R
Relationship R
PermitJoin R
Depth R
Device.­ZigBee.­ZDO.­{i}.­NodeManager. P
RoutingTableNumberOfEntries R
Device.­ZigBee.­ZDO.­{i}.­NodeManager.­RoutingTable.­{i}. P
DestinationAddress R
NextHopAddress R
Status R
MemoryConstrained R
ManyToOne R
RouteRecordRequired R
Device.­ZigBee.­ZDO.­{i}.­Binding.­{i}. C
Enable W
SourceEndpoint W
SourceAddress W
ClusterId W
DestinationAddressMode W
DestinationEndpoint W
IEEEDestinationAddress W
GroupDestinationAddress W
Device.­ZigBee.­ZDO.­{i}.­Group.­{i}. C
Enable W
GroupId W
EndpointList W
Device.­ZigBee.­ZDO.­{i}.­ApplicationEndpoint.­{i}. C
Enable W
EndpointId W
Device.­ZigBee.­ZDO.­{i}.­ApplicationEndpoint.­{i}.­SimpleDescriptor. P
ProfileId W
DeviceId R
DeviceVersion R
InputClusterList W
OutputClusterList W


Generated by Broadband Forum report.pl#422 (2018/03/28 version) on 2018/04/02 at 12:21:26.
report.pl --exitcode=fatals --cwmpindex=.. --nofontstyles --nowarnreport --quiet --lastonly --report=html --outfile=tr-181-2-10-0-diffs.html tr-181-2-10-0.xml