Broadband Forum

USP Device:2.16 Root Object definition (changes)

tr-181-2-16-0-usp.xml

DATA MODEL DEFINITION

License

Copyright (c) 2010-2022, Broadband Forum

The undersigned members have elected to grant the copyright to their contributed material used in this software:
    Copyright (c) 2017-2019, 2021 ARRIS Enterprises, LLC.

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.

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 types.

Data Type Base Type Description
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-separate 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 [SOAP1.1].
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.

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.

Alias string(:64)

A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.
IEEE_EUI64 string(:23)

The IEEE EUI 64-bit identifier as defined in [IEEE_EUI64]. The IEEE defined 64-bit extended unique identifier (EUI-64) is a concatenation of:

  • The 24-bit (OUI-24) or 36-bit (OUI-36) company_id value assigned by the IEEE Registration Authority (IEEE-RA), and
  • The extension identifier (40 bits for OUI-24 or 28 bits for OUI-36) assigned by the organization with that company_id assignment.

Possible patterns:

  • <Empty> (an empty string)
  • ([0-9A-Fa-f][0-9A-Fa-f]:){7}([0-9A-Fa-f][0-9A-Fa-f])
IPAddress string(:45)

IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.

All IPv4 addresses and subnet masks MUST be represented as strings in IPv4 dotted-decimal notation. Here are some examples of valid IPv4 address textual representations:

  • 216.52.29.100
  • 192.168.1.254

All IPv6 addresses MUST be represented using any of the 3 standard textual representations defined in [RFC4291] Sections 2.2.1, 2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but use of lower-case letters is RECOMMENDED. Here are some examples of valid IPv6 address textual representations:

  • 1080:0:0:800:ba98:3210:11aa:12dd
  • 1080::800:ba98:3210:11aa:12dd
  • 0:0:0:0:0:0:13.1.68.3

IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are discussed in [Section 6/RFC4007].

Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be represented as empty strings unless otherwise specified by the parameter definition.

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

This notation can also represent individual addresses by specifying all bits.

  • IPv4 example: 192.168.1.1/32
  • IPv6 example: 2001:edff:fe6a:f76::1/128

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.

IPv4Address IPAddress(:45)

IPv4 address (or subnet mask).

Can be any IPv4 address that is permitted by the IPAddress data type.

Possible patterns:

  • <Empty> (an empty string)
  • ((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])
IPv4Prefix IPPrefix(:49)

IPv4 address prefix.

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

Possible patterns:

  • <Empty> (an empty string)
  • /(3[0-2]|[012]?[0-9])
  • ((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])/(3[0-2]|[012]?[0-9])
IPv6Prefix IPPrefix(:49)

IPv6 address prefix.

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

JSONObject string A JSON Object as defined in [Section 4/RFC7159].
MACAddress string(:17)

All MAC addresses are represented as strings of 12 hexadecimal digits (digits 0-9, letters A-F or a-f) displayed as six pairs of digits separated by colons. Unspecified or inapplicable MAC addresses MUST be represented as empty strings unless otherwise specified by the parameter definition.

Possible patterns:

  • <Empty> (an empty string)
  • ([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])
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.

TenthdB int This data type represents power levels that are normally expressed in dB. Units are in tenths of a dB; for example, 5.1 dB will be represented as 51.
TenthdBmV int This data type represents power levels that are normally expressed in dBmV. Units are in tenths of a dBmV; for example, 5.1 dBmV will be represented as 51.
URI string(:2048) Uniform Resource Identifier. See [RFC3986].
URL URI(:2048) Uniform Resource Locator. See [RFC3986] (URI), [IANA-uri-schemes], and individual URI scheme RFCs such as [RFC7252] (coap, coaps) and [RFC7230] (http, https).
UUID string(36)

Universally Unique Identifier. See [RFC4122].

Possible patterns:

  • [A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}
ZigBeeNetworkAddress string(:4)

The ZigBee 16-bit network address (NWK) as defined in [ZigBee2007]. The address is assigned to a device by the network layer and used by the network layer for routing messages between devices.

Possible patterns:

  • <Empty> (an empty string)
  • ([0-9A-Fa-f]){4}

References

[3GPP-TS.23.501] 3GPP TS 23.501, System architecture for the 5G System (5GS); Stage 2, 3GPP SA WG2.
[3GPP-TS.24.008] 3GPP TS 24.008, Mobile radio interface Layer 3 specification; Core network protocols; Stage 3, 3GPP CT WG1.
[3GPP-TS.25.171] 3GPP TS 25.171, Requirements for support of Assisted Global Positioning System (A-GPS), 3GPP RAN WG4.
[802.11-2007] IEEE Std 802.11-2007, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE, 2007.
[802.11-2012] IEEE Std 802.11-2012, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE, March 2012.
[802.11-2016] IEEE Std 802.11-2016, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE, December 2016.
[802.11-2020] IEEE Std 802.11-2020, Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, IEEE, December 2020.
[802.11ax] IEEE Std 802.11ax, Enhancements for High Efficiency WLAN, IEEE, May 2021.
[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.1ad-2005] IEEE Std 802.1ad-2005, Virtual Bridged Local Area Networks Amendment 4: Provider Bridges, IEEE, May 2005.
[802.1AX-2014] IEEE Std 802.1AX-2014, IEEE Standard for Local and metropolitan area networks - Link Aggregation, IEEE, 2014.
[802.1D-2004] IEEE Std 802.1D-2004, Media Access Control (MAC) Bridges, IEEE, 2004.
[802.1Q-2005] IEEE Std 802.1Q-2005, Virtual Bridged Local Area Networks, IEEE, 2006.
[802.1Q-2011] IEEE Std 802.1Q-2011, MAC Bridges and Virtual Bridge Local Area Networks, IEEE, 2011.
[802.1x-2004] IEEE Std 802.1x-2004, Standards for Local and Metropolitan Area Networks: Port based Network Access Control, IEEE, 2004.
[802.3-2015] IEEE Std 802.3-2015, IEEE Standard for Ethernet, IEEE, 2015.
[CM-SP-CM-OSSIv3.1] CM-SP-CM-OSSIv3.1, Cable Modem Operations Support System Interface Specification, CableLabs, October 2020.
[CM-SP-MULPIv3.0] CM-SP-MULPIv3.0, DOCSIS 3.0 MAC and Upper Layer Protocols Interface Specification, CableLabs, December 2017.
[CM-SP-RFIv2.0] CM-SP-RFIv2.0, Data-Over-Cable Service Interface Specifications: Radio Frequency Interface Specification, CableLabs, April 2009.
[DataElements] Data Elements Specification, Wi-Fi Data Elements Specification, Wi-Fi Alliance, September 2021.
[DNS-SD] RFC 6763, DNS-Based Service Discovery, IETF, 2013.
[DSLite] RFC 6333, Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion, IETF, 2011.
[EasyMesh] EasyMesh Specification, Wi-Fi EasyMesh Specification, Wi-Fi Alliance, December 2021.
[ETSIBRAN] ETSI EN 301 893, Broadband Radio Access Networks (BRAN); 5 GHz high performance RLAN; Harmonized EN covering the essential requirements of article 3.2 of the RTTE Directive, ETSI.
[G.9701] G.9701, Fast access to subscriber terminals (G.fast)- Physical layer specification, ITU-T, 2014.
[G.9807.1] G.9807.1, 10-Gigabit-capable symmetric passive optical network (XGS-PON), ITU-T, June 2016.
[G.984.3] G.984.3, Gigabit-capable passive optical networks (G-PON): Transmission convergence layer specification, ITU-T, January 2010.
[G.987.3] G.987.3, 10-Gigabit-capable passive optical networks (XG-PON): Transmission convergence (TC) layer specification, ITU-T, January 2014.
[G.988] G.988, ONU management and control interface (OMCI) specification, ITU-T, 2010.
[G.989.3] G.989.3, 40-Gigabit-capable passive optical networks (NG-PON2): Transmission convergence layer specification, ITU-T, May 2021.
[G.993.1] G.993.1, Very high speed digital subscriber line transceivers, ITU-T.
[G.9954] G.9954, Phoneline networking transceivers - Enhanced physical, media access, and link layer specifications (HPNA 3.0 and 3.1), ITU-T, 2007.
[G.996.2] G.996.2, Single-ended line testing for digital subscriber lines (DSL), ITU-T.
[G.9960] G.9960, Unified high-speed wire-line based home networking transceivers - System architecture and physical layer specification, ITU-T.
[G.9961] G.9961, Unified high-speed wire-line based home networking transceivers - Data link layer specification, ITU-T.
[G.9964] G.9964, Unified high-speed wire-line based home networking transceivers - Power spectral density specification, ITU-T.
[G.997.2] G.997.2, Physical layer management for FAST transceivers, ITU-T, 2015.
[HPAV1.1] HomePlug™ AV Specification, Version 1.1, HomePlug Alliance, 2007.
[HTML4.01] HTML 4.01 Specification, W3C.
[IANA-ipversionnumbers] IANA IP Version Numbers, IP Version Numbers, IANA.
[IANA-protocolnumbers] IANA Protocol Numbers, Protocol Numbers, IANA.
[IANA-uri-schemes] IANA Uniform Resource Identifier (URI) Schemes Registry, Uniform Resource Identifier (URI) Schemes, IANA.
[IANAMauMIB] IANAMauMIB, IANA-MAU-MIB DEFINITIONS, IANA, 2022.
[ICSA-Baseline] ICSA Baseline Modular Firewall Certification Criteria, Baseline module - version 4.1, ICSA Labs, 2008.
[IEEE1905.1a] IEEE 1905.1a, IEEE Std 1905.1a, Convergent Digital Home Network for Heterogeneous Technologies Amendment 1: Support of new MAC/PHYs and enhancements, IEEE, December 2014., IEEE, December 2014.
[IEEE_EUI64] Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority, Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority, IEEE, March 1997.
[IPDR-FTP] IPDR File Transfer Protocol, IPDR/File Transfer Protocol, TM Forum.
[ISO3166-1] ISO 3166-1, Codes for the representation of names of countries and their subdivisions - Part 1: Country codes, ISO, 2006.
[LIBPCAP] Libpcap, Libpcap File Format, Wireshark, 2015.
[LMAPIFM] RFC 8193, Information Model for Large-Scale Measurement Platforms (LMAPs), IETF, August 2017.
[MOCA11-MIB] MOCA11-MIB, Remote Management of MoCA Interfaces using SNMP MIB, MoCA Alliance, 2009.
[MoCAv1.0] MoCA v1.0, MoCA MAC/PHY Specification v1.0, MoCA Alliance, 2009.
[MoCAv1.1] MoCA v1.1, MoCA MAC/PHY Specification v1.1 Extensions, MoCA Alliance, 2009.
[MQTT311] MQTT Version 3.1.1, MQTT v3.1.1, OASIS Message Queuing Telemetry Transport (MQTT) TC, October 2014.
[MQTT50] MQTT Version 5.0, MQTT Version 5.0, Candidate OASIS Standard 02., OASIS Message Queuing Telemetry Transport (MQTT) TC, February 2019.
[OUI] Organizationally Unique Identifiers (OUIs).
[RFC1123] RFC 1123, Requirements for Internet Hosts – Application and Support, IETF, 1989.
[RFC1661] RFC 1661, The Point-to-Point Protocol (PPP), IETF, 1994.
[RFC2104] RFC 2104, HMAC: Keyed-Hashing for Message Authentication, IETF, 1997.
[RFC2131] RFC 2131, Dynamic Host Configuration Protocol, IETF.
[RFC2397] RFC 2397, The “data” URL scheme, IETF, 1998.
[RFC2782] RFC 2782, A DNS RR for specifying the location of services (DNS SRV), IETF, 2000.
[RFC2819] RFC 2819, Remote Network Monitoring Management Information Base, IETF, 2000.
[RFC2863] RFC 2863, The Interfaces Group MIB, IETF, 2000.
[RFC2865] RFC 2865, Remote Authentication Dial In User Service (RADIUS), IETF, 2000.
[RFC2898] RFC 2898, PKCS #5: Password-Based Cryptography Specification Version 2.0, IETF.
[RFC3066] RFC 3066, Tags for the Identification of Languages, IETF.
[RFC3315] RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6), IETF, 2003.
[RFC3633] RFC 3633, IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6, IETF, 2003.
[RFC3775] RFC 3775, Mobility Support in IPv6, IETF, 2004.
[RFC3986] RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, IETF.
[RFC4007] RFC 4007, IPv6 Scoped Address Architecture, IETF.
[RFC4122] RFC 4122, A Universally Unique IDentifier (UUID) URN Namespace, IETF, 2005.
[RFC4191] RFC 4191, Default Router Preferences and More-Specific Routes, IETF, 2005.
[RFC4193] RFC 4193, Unique Local IPv6 Unicast Addresses, IETF, 2005.
[RFC4291] RFC 4291, IP Version 6 Addressing Architecture, IETF, 2006.
[RFC4292] RFC 4292, IP Forwarding Table MIB, IETF, 2006.
[RFC4293] RFC 4293, Management Information Base for the Internet Protocol (IP), IETF, 2006.
[RFC4301] RFC 4301, Security Architecture for the Internet Protocol, IETF, December 2005.
[RFC4302] RFC 4302, IP Authentication Header, IETF, December 2005.
[RFC4303] RFC 4303, IP Encapsulating Security Payload (ESP), IETF, December 2005.
[RFC4443] RFC 4443, Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, IETF, March 2006.
[RFC4632] RFC 4632, Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan, IETF, 2006.
[RFC4861] RFC 4861, Neighbor Discovery for IP version 6 (IPv6), IETF, 2007.
[RFC4868] RFC 4868, Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec, IETF, 2007.
[RFC5280] RFC 5280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, IETF, May 2008.
[RFC5625] RFC 5625, DNS Proxy Implementation Guidelines, IETF, 2009.
[RFC5905] RFC 5905, Network Time Protocol Version 4: Protocol and Algorithms Specification, IETF, 2010.
[RFC5969] RFC 5969, IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) - Protocol Specification, IETF, 2010.
[RFC5996] RFC 5996, Internet Key Exchange Protocol Version 2 (IKEv2), IETF, September 2010.
[RFC6106] RFC 6106, IPv6 Router Advertisement Option for DNS Configuration, IETF, 2010.
[RFC6120] RFC 6120, Extensible Messaging and Presence Protocol (XMPP) : Core, IETF, 2011.
[RFC6455] RFC 6455, The WebSocket Protocol, IETF, December 2011.
[RFC6887] RFC 6887, Port Control Protocol (PCP), IETF, 2013.
[RFC7159] RFC7159, The JavaScript Object Notation (JSON) Data Interchange Format, IETF, March 2014.
[RFC7230] RFC 7230, Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing, IETF, June 2014.
[RFC7252] RFC 7252, The Constrained Application Protocol (CoAP), IETF, June 2014.
[RFC7594] RFC 7594, A Framework for Large-Scale Measurement of Broadband Performance (LMAP), IETF, September 2015.
[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.
[RFC7616] RFC 7616, HTTP Digest Access Authentication, IETF, September 2015.
[RFC7693] RFC 7693, The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC), IETF, November 2015.
[RFC792] RFC 792, Internet Control Message Protocol, IETF, September 1981.
[RFC8141] RFC 8141, Uniform Resource Names (URNs), IETF, April 2017.
[RFC8349] RFC 8349, A YANG Data Model for Routing Management (NMDA Version), IETF, March 2018.
[RFC862] RFC 862, Echo Protocol, IETF, 1983.
[RFC8966] RFC 8966, The Babel Routing Protocol, IETF, January 2021.
[RFC8967] RFC 8967, MAC Authentication for the Babel Routing Protocol, IETF, January 2021.
[RFC8968] RFC 8968, Babel Routing Protocol over Datagram Transport Layer Security, IETF, January 2021.
[RFC9046] RFC 9046, Babel Information Model, IETF, June 2021.
[RFC9110] RFC 9110, HTTP Semantics, IETF, June 2022.
[RFC9249] RFC 9249, A YANG Data Model for NTP, IETF, July 2022.
[SFF-8024] SFF-8024, SFF Module Management Reference Code Tables, SNIA, May 2021.
[SFF-8472] SFF-8472, Management Interface for SFP+, SNIA, March 2021.
[SOAP1.1] Simple Object Access Protocol (SOAP) 1.1, W3C.
[STOMP1.2] STOMP Protocol Specification, STOMP Protocol Specification, Version 1.2.
[TR-069] TR-069 Amendment 6, CPE WAN Management Protocol, Broadband Forum, April 2018.
[TR-106] TR-106 Amendment 8, Data Model Template for CWMP Endpoints and USP Agents, Broadband Forum, May 2018.
[TR-143] TR-143 Amendment 1 Corrigendum 1, Enabling Network Throughput Performance Tests and Statistical Monitoring, Broadband Forum, August 2015.
[TR-159] TR-159, Management Framework for xDSL Bonding, Broadband Forum, December 2008.
[TR-181i2] TR-181 Issue 2 Amendment 15, Device Data Model, Broadband Forum, January 2022.
[TR-232] TR-232, Bulk Data Collection, Broadband Forum, May 2012.
[TR-369] TR-369 Issue 1 Amendment 2, User Services Platform, Broadband Forum, January 2022.
[TR-471] TR-471, Maximum IP-Layer Capacity Metric, Related Metrics, and Measurements, Broadband Forum, December 2023.
[UPA-PLC] Universal Powerline Association, UPA.
[UPnP-DAv1] UPnP Device Architecture, UPnP Device Architecture 1.0, UPnP Forum, April 2008.
[USB1.0] USB 1.0, USB 1.0 Specification, USB-IF, January 1996.
[USB2.0] USB 2.0, USB 2.0 Specification, USB-IF, April 2000.
[USB3.0] USB 3.0, USB 3.0 Specification, USB-IF, November 2008.
[WPA3v3.0] WPA3v3.0, Wi-Fi Protected Access 3 Specification Version 3.0.x, Wi-Fi Alliance.
[WPS 2.0] WSC 2.0, Wi-Fi Simple Configuration Technical Specification Version 2.0.x, Wi-Fi Alliance.
[WPSv1.0] Wi-Fi Protected Setup Specification Version 1.0h, Wi-Fi Alliance, 2006.
[ZigBee2007] ZigBee 2007 Specification, ZigBee 2007 Specification, ZigBee Alliance, October 2007.

Legend

Object definition.
Mount point definition.
Parameter definition.
Command or Event definition.
Command Input / Output Arguments container.
Command or Event Object Input / Output Argument definition.
Command or Event Parameter Input / Output Argument definition.

Device:2.16 Data Model

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 1.4, then it will indicate support for version 1.4. The version number associated with each object and parameter is shown in the Version column.

Changes in 2.16:

Name Type Write Description Object Default Version
Device. object R The top-level object for a Device.

Changes in 2.16:

- 2.0
CollectionDeviceNumberOfEntries unsignedInt R The number of entries in the CollectionDevice table. - 2.16
Reboot() command - Reboot the entity associated with the containing Device.

Changes in 2.16:

  • Added async = false
- 2.12
Boot! event - Boot event indicating that the Device was rebooted. - 2.12
ParameterMap string R

Boot parameters configured via the recipient Controller’s {{object: non-existent #.LocalAgent.Controller.{i}.BootParameter}} table.

Formatted as a [JSONObject] A JSON Object as defined in [Section 4/RFC7159].

- 2.12
FactoryReset() command - Factory reset the entity associated with the containing Device.

Changes in 2.16:

  • Added async = false
- 2.0
PacketCaptureDiagnostics() command - [ASYNC] This diagnostic command is used to record packet capture data on a valid (layer 2 or above) interface in libpcap or pcapng format. - 2.13
⇒ Input. arguments - Input arguments. -
FileTarget string(:2048) W The [URL] specifying the destination file location. HTTPThe HTTPS transport MUST be supported, and HTTPSthe transportsHTTP MUSTtransport MAY be supported. Other transports MAY also be supported. - 2.13
Password string(:256) W

Password to be used by the Agent to authenticate with the file location. This string is set to an empty string if no authentication is required.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.13
Device.DeviceInfo. object R This object contains general device information.

Changes in 2.16:

- 2.0
HostName string(:255) W The hostname of the device [Section 2 General issues/RFC1123]. This can be either a Fully Qualified Domain Name (FQDN) or just the first component of an FQDN. For example, myhgw, myhgw.home, myhgw.home.arpa, myhgw.isp.net. - 2.16
MaxNumberOfActivateTimeWindows unsignedInt(1:5) R The maximum number of time windows in a FirmwareImage.{i}.Activate() Command that the Device supports. - 2.16
Device.DeviceInfo.VendorConfigFile.{i}. object(0:) R

Every instance of this object is a Vendor Configuration File, and contains parameters associated with the Vendor Configuration File.

This table of Vendor Configuration Files is for information only and does not allow the Controller to operate on these files in any way.

Whenever the Agent successfully restores a configuration file as a result of the Restore() Command, the Agent MUST update this Object.

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

- 2.0
Backup() command -

[ASYNC] This command is issued to upload the configuration file specified by this VendorConfigFile instance.

All results of the actual upload will be contained within the {{event: non-existent ##.LocalAgent.TransferComplete!}} event.

- 2.12
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

[MANDATORY] The [URL] specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP and HTTPS transports MUSTtransport MAY be supported.

This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded.

If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time.

This URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

- 2.12
Restore() command -

[ASYNC] This command is issued to download a configuration file into this VendorConfigFile instance.

All results of the actual download will be contained within the {{event: non-existent ##.LocalAgent.TransferComplete!}} event.

- 2.12
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

[MANDATORY] The [URL] specifying the source file location. HTTPThe HTTPS transport MUST be supported, and HTTPSthe transportsHTTP MUSTtransport MAY be supported.

If the Agent receives multiple download requests with the same source URL, the Agent MUST perform each download as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time.

This URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

- 2.12
Device.DeviceInfo.TemperatureStatus. object R Status of the temperature of the device. - 2.0
Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}. object(0:) R

This object represents information that the device has obtained via sampling an internal temperature sensor.

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

- 2.0
Reset() command - Resets the temperature sensor.

Changes in 2.16:

  • Added async = false
- 2.12
Device.DeviceInfo.VendorLogFile.{i}. object(0:) R

Each table entry represents a Vendor Log File.

This table of log files is informational only and does not allow the Controller to operate on these files in any way.

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

- 2.1
Upload() command -

[ASYNC] This command is issued to upload the log file specified by this Vendor Log File instance.

All results of the actual upload will be contained within the {{event: non-existent ##.LocalAgent.TransferComplete!}} event.

- 2.12
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

[MANDATORY] The [URL] specifying the destination file location. The HTTPS transport MUST be supported, and the HTTP and HTTPS transports MUSTtransport MAY be supported.

This argument specifies only the destination file location, and does not indicate in any way the name or location of the local file to be uploaded.

If the Agent receives multiple upload requests with the same URL, the Agent MUST perform each upload as requested, and MUST NOT assume that the content of the file to be uploaded is the same each time.

This URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

- 2.12
Device.DeviceInfo.FirmwareImage.{i}. object(0:) R

Top-level object for mapping firmware images.

This is a static table – the number of object instances in this table is defined by the firmware that is currently running.

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

- 2.12
Version string(:64) R

A string identifying the version of the firmware image represented by this FirmwareImage. Whenever this firmware image is active (ie, the device has booted this firmware image), the value of the {{param: non-existent #.SoftwareVersion}} parameter MUST be the same as the value contained in this parameter.

To allow version comparisons, this element SHOULD be in the form of dot-delimited integers, where each successive integer represents a more minor category of variation. For example, 3.0.21 where the components mean: Major.Minor.Build.

The value of Version is an empty string if Status is anything other than Available, InstallationFailed, or ActivationFailed.

- 2.12
Download() command -

[ASYNC] This command is issued to download a firmware into this Firmware Image instance.

All results of the actual download will be contained within the {{event: non-existent ##.LocalAgent.TransferComplete!}} event.

- 2.12
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

[MANDATORY] The [URL] specifying the source file location. HTTPThe HTTPS transport MUST be supported, and HTTPSthe transportsHTTP MUSTtransport MAY be supported.

If the Agent receives multiple download requests with the same source URL, the Agent MUST perform each download as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time.

This URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

- 2.12
Activate() command -

[ASYNC] This command is issued to activate this FirmwareImage instance.

A FirmwareImage instance can also be activated by setting the {{param: non-existent #.BootFirmwareImage}} parameter and causing the Agent to reboot.

A successful activation will result in a reboot of the device with this FirmwareImage as the currently running firmware image. Furthermore, this FirmwareImage will be referenced by the {{param: non-existent #.ActiveFirmwareImage}} parameter.

A failed activation will result in this FirmwareImage instance’s BootFailureLog being updated.

- 2.12
Device.Time. object R

This object contains global parameters relating to the NTP time clients and or servers that are active in the device. This object can be used to model SNTP and NTP clients and servers.

Both NTP and SNTP have identical packet formats and use the same mathematical operations to calculate client time, clock offset, and roundtrip delay. From the perspective of an NTP or SNTP time clientserver, there is no difference between NTP and SNTP clients, and from the perspective of an NTP or SNTP client, there is no difference between NTP and SNTP servers. SNTP servers are stateless like NTP servers in the CPE.non-symmetric modes and can handle numerous clients, but SNTP clients usually operate with only one server at a time, unlike most NTP clients.

Changes in 2.16:

- 2.0
Enable boolean W Enables or disables all the NTP or SNTP time client.clients and servers. - 2.0
Status string R

StatusReflects the global time synchronisation status of Time support on the CPE. Enumeration of:

  • Disabled (

Indicates that the CPE’s time client services are disabled.

Changes in 2.16:

  • Added Indicates that the CPE’s time client services are disabled. description

)

  • Unsynchronized (

Indicates that the CPE’s absolute time has not yet been set by any of the configured time clients.

Changes in 2.16:

  • Added Indicates that the CPE’s absolute time has not yet been set by any of the configured time clients. description

)

  • Synchronized (

Indicates that the CPE has acquired accurate absolute time; its current time is accurate. One or more time client was able to configure the time of the CPE.

Changes in 2.16:

  • Added Indicates that the CPE has acquired accurate absolute time; its current time is accurate. One or more time client was able to configure the time of the CPE. description

)

  • Error_FailedToSynchronize (

This enumeration was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
  • Added This enumeration was DEPRECATED in 2.16 due to the introduction of Client. description

)

  • Error (

MAY be used by the CPE to indicate a locally defined error condition. None of the configured Time clients were able to synchronize the time.

Changes in 2.16:

  • Added MAY be used by the CPE to indicate a locally defined error condition. None of the configured Time clients were able to synchronize the time. description

, OPTIONAL)

The {{enum|Unsynchronized}} value indicates that the CPE’s absolute time has not yet been set.

The {{enum|Synchronized}} value indicates that the CPE has acquired accurate absolute time; its current time is accurate.

The {{enum|Error_FailedToSynchronize}} value indicates that the CPE failed to acquire accurate absolute time; its current time is not accurate.

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

- 2.0
NTPServer1 string(:64) W
First NTP timeserver. Either a host name or IP address.
This parameter was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
- 2.0
NTPServer2 string(:64) W
Second NTP timeserver. Either a host name or IP address.
This parameter was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
- 2.0
NTPServer3 string(:64) W
Third NTP timeserver. Either a host name or IP address.
This parameter was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
- 2.0
NTPServer4 string(:64) W
Fourth NTP timeserver. Either a host name or IP address.
This parameter was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
- 2.0
NTPServer5 string(:64) W
Fifth NTP timeserver. Either a host name or IP address.
This parameter was DEPRECATED in 2.16 due to the introduction of Client.

Changes in 2.16:

  • Added status = deprecated
- 2.0
ClientNumberOfEntries unsignedInt R The number of entries in the Client table. - 2.16
ServerNumberOfEntries unsignedInt R The number of entries in the Server table. - 2.16
Device.Time.Client.{i}. object(0:) W

This object contains parameters relating to an time client instance.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables or disables the time client. - 2.16
Status string R

Status of Time support for this client. Enumeration of:

  • Disabled (Indicates that the time client service is being disabled)
  • Unsynchronized (Indicates that the time client absolute time has not yet been set)
  • Synchronized (Indicates that the time client has acquired accurate absolute time; its current time is accurate)
  • Error (MAY be used by the time client to indicate a locally defined error condition, OPTIONAL)
- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Mode string W

Specifies in which mode the NTP client must be run. Enumeration of:

  • Unicast (Support for the NTP client in unicast mode)
  • Broadcast (Support for the NTP client in broadcast mode)
  • Multicast (Support for the NTP client in multicast mode)
  • Manycast (Support for the NTP client in manycast mode)
- 2.16
Port unsignedInt(1:65535) W Specify the port used to send NTP packets. [Section 7.2/RFC5905] 123 2.16
Version unsignedInt(1:4) W Specifies the supported NTP version. Possible versions are 1-4. 4 2.16
Servers string[] W Comma-separated list of strings. Points to a CSV list of NTP servers or pools. A NTP server can either be specified as an IP address or a host name. It is expected that the NTP client resolves multiple addresses which can change over time when ResolveAddresses is enabled. <Empty> 2.16
ResolveAddresses boolean W When this option is enabled the NTP client must resolve the multiple addresses associated with the host name(s) that are specified in the Servers field. false 2.16
ResolveMaxAddresses unsignedInt W When ResolveAddresses is enabled, This parameter specifies the maxium number of IP addresses that the NTP client can resolve. 0 means that all addresses must be resolved. 6 2.16
Peer boolean W Use symmetric active association mode. This device may provide synchronization to the configured NTP server. - 2.16
MinPoll unsignedInt W This is the minimum polling interval, in seconds to the power of two, allowed by any peer of the Internet system, currently set to 6 (64 seconds). [Section 7.2/RFC5905] 6 2.16
MaxPoll unsignedInt W This is the maximum polling interval, in seconds to the power of two, allowed by any peer of the Internet system, currently set to 10 (1024 seconds) [Section 7.2/RFC5905] 10 2.16
IBurst boolean W If the IBurst parameter is enabled, and this is the first packet sent when the server has been unreachable, the client sends a burst. This is useful to quickly reduce the synchronization distance below the distance threshold and synchronize the clock. [RFC5905]. - 2.16
Burst unsignedInt W If the Burst parameter is enabled and the server is reachable and a valid source of synchronization is available, the client sends a burst of BCOUNT (8) packets at each poll interval. The interval between packets in the burst is two seconds. This is useful to accurately measure jitter with long poll intervals. [RFC5905]. 8 2.16
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. The IP Interface associated with the Client entry. <Empty> 2.16
BindType string W

Specifies how the client sockets are bound. Enumeration of:

  • Address (The client sockets are bound to a local IP address)
  • Device (The client sockets are bound to a network device. This can be useful when the local address is dynamic)
- 2.16
Device.Time.Client.{i}.Authentication. object R This object contains parameters relating to enabling security for the time client. - 2.16
Enable boolean W Enables or disables authentication of the time client. false 2.16
Certificate string W The value MUST be the Path Name of a row in the Security.Certificate. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Points to the certificate that must be used by the NTS-KE client. <Empty> 2.16
NTSPort unsignedInt(1:65535) W On this port the NTS Key Establishment protocol is being provided. 4460 2.16
Device.Time.Client.{i}.Stats. object R This object specifies the statistic parameters for the time client. [Chapter 8 NTP Yang Module/RFC9249] - 2.16
PacketsSent unsignedInt R [StatsCounter32] Specifies the number of packets that have been successfully sent from the NTP client to the NTP server. - 2.16
PacketsSentFailed unsignedInt R [StatsCounter32] Specifies the number of packets that were not successfully sent to the NTP server. - 2.16
PacketsReceived unsignedInt R [StatsCounter32] Specifies the number of packets that have been successfully received by the NTP client from the NTP server. - 2.16
PacketsDropped unsignedInt R [StatsCounter32] Specifies the number of packets that were received by the NTP client but were not successfully processed or handled due to errors or other issues. - 2.16
Device.Time.Server.{i}. object(0:) W

This object contains parameters relating to an time server instance.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables or disables the time server. - 2.16
Status string R

Status of Time server instance. Enumeration of:

  • Up (Indicates that the NTP server instance is enabled and working)
  • Down (Indicates that the NTP server instance is disabled and thus not working)
  • Error (MAY be used by the NTP server instance to indicate a locally defined error condition, OPTIONAL)
- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Mode string W

Specifies in which mode the NTP server must be ran. Enumeration of:

  • Unicast (Support for the NTP server in unicast mode)
  • Broadcast (Support for the NTP server in broadcast mode)
  • Multicast (Support for the NTP server in multicast mode)
  • Manycast (Support for the NTP server in manycast mode)
- 2.16
Version unsignedInt(1:4) W Specifies the supported NTP version. Possible versions are 1-4. 4 2.16
Port unsignedInt(1:65535) W Specify the port used to receive NTP packets. [Section 7.2/RFC5905] 123 2.16
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. The IP Interface associated with the Server entry. <Empty> 2.16
BindType string W

Specifies how the client sockets must be bounded. Enumeration of:

  • Address (The server sockets are bound to a local IP address)
  • Device (The server sockets are bound to a network device. This can be useful when the local address is dynamic)
- 2.16
MinPoll unsignedInt W This is the minimum polling interval, in seconds to the power of two, allowed by any peer of the Internet system, currently set to 6 (64 seconds). [Section 7.2/RFC5905] 6 2.16
MaxPoll unsignedInt W This is the maximum polling interval, in seconds to the power of two, allowed by any peer of the Internet system, currently set to 10 (1024 seconds) [Section 7.2/RFC5905] 10 2.16
TTL unsignedInt(1:255) W Specifies the time to live (TTL) for a broadcast/multicast packet. [Section 3.1/RFC5905] 255 2.16
Device.Time.Server.{i}.Authentication. object R This object contains parameters relating to enabling security for the NTP Server. - 2.16
Enable boolean W Enables or disables authentication of the NTP server. false 2.16
Certificate string W The value MUST be the Path Name of a row in the Security.Certificate. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Points to the certificate that must be used by the NTS-KE client. <Empty> 2.16
NTSNTPServer string[] W Comma-separated list of strings. Points to a CSV list of NTP servers. A NTP server can either be specified as an IP address or a host name. When used the NTS-KE server will tell the remote NTS-KE client the NTP hostname or address of the NTP server(s) that should be used. This allows to seperate the NTP server and NTS-KE server implementation. <Empty> 2.16
Device.Time.Server.{i}.Stats. object R This object specifies the statistic parameters for the NTP server. [Chapter 8 NTP Yang Module/RFC9249] - 2.16
PacketsSent unsignedInt R [StatsCounter32] Specifies the number of packets that have been successfully sent from the NTP server to the NTP client. - 2.16
PacketsSentFailed unsignedInt R [StatsCounter32] Specifies the number of packets that were not successfully sent to the NTP client. - 2.16
PacketsReceived unsignedInt R [StatsCounter32] Specifies the number of packets that have been successfully received by the NTP server from a NTP client. - 2.16
PacketsDropped unsignedInt R [StatsCounter32] Specifies the number of packets that were received by the NTP server but were not successfully processed or handled due to errors or other issues. - 2.16
Device.UserInterface. object R This object contains parameters relating to the user interface of the CPE.

Changes in 2.16:

- 2.0
PasswordUserSelectable boolean W

Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.

Indicates whether or not a password to protect the local user interface of the CPE MAY be selected by the user directly (i.e. {{param: non-existent #.Users.User.{i}.Password}}), or MUST be equal to the password used by the LAN-side Auto-Configuration protocol (i.e. {{param: non-existent #.LANConfigSecurity.ConfigPassword}}).

- 2.0
PasswordReset() command -

Present only if the Agent provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.

Reset {{param: non-existent #.LANConfigSecurity.ConfigPassword}} to its factory value.

Changes in 2.16:

  • Added async = false
- 2.12
HTTPAccessSupportedProtocols string[] R

Comma-separated list of strings. Indicates the protocols that are supported by the CPE for the purpose of remotely accessing the user interface.

Each list item is an enumeration of:

- 2.16
HTTPAccessNumberOfEntries unsignedInt R The number of entries in the HTTPAccess table. - 2.16
Device.UserInterface.HTTPAccess.{i}. object(0:) W

HTTPAccess is used for modeling the different web interfaces that may be either localy or remotely available in the device. For example with Software Modules it is possible to install multiple services that embed a web interface like a Video service or Photo service.

An instance of the HTTPAccess can model a web interface that is embedded in the device firmware or installed through a Software Modules management system.

Access to the web interface MAY require user authentication. To have access authentication the device MUST support a Users.User. object with at least one instance and an assigned relevant role in Users.User.{i}.RoleParticipation.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables/disables web interface. - 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Order unsignedInt(1:) W

Position of the HTTPAccess entry in the order of precedence. A value of 1 indicates the first entry considered (highest precedence). For each incoming connection, the highest ordered entry that matches the Host: HTTP header and path prefix is applied. All lower Order entries are ignored. When this value is set, if the value matches that of an existing entry, the Order value for the existing entry and all lower Order entries is incremented (lowered in precedence) to ensure uniqueness of this value.

A deletion causes Order values to be compacted. When a value is changed, incrementing occurs before compaction.

- 2.16
Status string R

Status of web interface.

Enumeration of:

  • Up (Indicates that the web interface is enabled and working)
  • Down (Indicates that the web interface is disabled and thus not working)
  • Error (MAY be used by the web interface to indicate a locally defined error condition, OPTIONAL)
- 2.16
AccessType string W

This parameter describes the possible access types.

Enumeration of:

  • RemoteAccess (Indicates that the web interface should be used for remote access. Remote access is defined as any entity not on a local subnet attempting to connect to the device)
  • LocalAccess (Indicates that the web interface should be used for local access)
LocalAccess 2.16
AllowedRoles string(:256)[] W Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Users.Role. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Only allow users, defined in Users.User., to access the web instance represented by this HTTPAccess instance that have the following roles assigned that are defined in Users.Role.. <Empty> 2.16
Certificate string W The value MUST be the Path Name of a row in the Security.Certificate. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Points to the server certificate to be presented by the web interface. Only required when Protocol is set to HTTPS. <Empty> 2.16
CACertificate string W The value MUST be the Path Name of a row in the Security.Certificate. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Points to the CA certificate that must be used by the web interface. The CACertificate is used to validate the web client certificate. Protocol MUST be set to HTTPS. <Empty> 2.16
Interface string(:256) W

The value MUST be the Path Name of a table row. The IP or Logical Interface associated with the HTTPAccess entry. Example:

  • Device.IP.Interface.1.
  • Device.Logical.Interface.1.

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

<Empty> 2.16
Port unsignedInt(1:65535) W Listen port number. 443 2.16
Protocol string R The value MUST be a member of the list reported by the HTTPAccessSupportedProtocols parameter. Protocol being used. - 2.16
AllowedHosts string[] W

Comma-separated list of strings. Specifies which hostnames are permitted to be served by the web interface.

This could be done by comparing the Host: HTTP header in an incoming request which will result in the request being routed to this instance, in the case that the device supports Virtual Hosting.

If this string is empty then this instance acts as a “default” host, i.e. it will handle requests for which the Host header does not match any other instance.

- 2.16
AllowedPathPrefixes string[] W Comma-separated list of strings. Each string must be a partial path which will result in an incoming request being routed to this instance. / 2.16
AutoDisableDuration unsignedInt W

Indicates in seconds when the web interface will be automatically disabled. When 0 is specified, the web interface will not be automatically disabled.

For example if the web interface is to be active for only 30 minutes, then this parameter would be set to 1800 seconds.

0 2.16
TimeLeft unsignedInt R

The number of seconds remaining before the web interface will be disabled. 0 means that the web interface is disabled or no AutoDisableDuration was specified.

Example: The AutoDisableDuration parameter has been set to 1800 seconds and the web interface was enabled 600 seconds ago. This means that the TimeLeft will return 1200 seconds, which is the remaining time before the web interface will be disabled.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ActivationDate dateTime R Indicates when the web interface was enabled. - 2.16
SessionNumberOfEntries unsignedInt R The number of entries in the Session table. - 2.16
CreateWebSession() command - This command creates a time-limited web session. The web session will be terminated when the life time of the session exceeds AbsoluteTimeout or when no data is transmitted or received for IdleTimeout. - 2.16
⇒ Input. arguments - Input arguments. -
AbsoluteTimeout unsignedInt W AbsoluteTimeout in seconds specifies the amount of time that a session is may be active. When 0 is specified this feature is disabled. - 2.16
IdleTimeout unsignedInt W IdleTimeout in seconds specifies the amount of time that a session may be idle before it is automatically terminated. When 0 is specified this feature is disabled. - 2.16
⇐ Output. arguments - Output arguments. -
SessionID string(:4096) R [MANDATORY] Session identifier. - 2.16
Path string R Absolute path component as defined in [Section 3.3/RFC3986] that can be used to access the session on the web interface. - 2.16
Device.UserInterface.HTTPAccess.{i}.Session.{i}. object(0:) W

Web server session list.

At most one entry in this table can exist with a given value for SessionID. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for SessionID such that the new entry does not conflict with any existing entries.

- 2.16
SessionID string(:4096) R

Session identifier.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
User string(:256) W The value MUST be the Path Name of a row in the Users.User. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The user to whom the session belongs. When the user is unknown an empty string string SHOULD be used. <Empty> 2.16
IPAddress string(:45) R [IPAddress] The IP address of the remote web client, connected to the web interface. - 2.16
Port unsignedInt(1:65535) R Port number of the remote web client, connected to the web interface. - 2.16
Protocol string R The value MUST be a member of the list reported by the HTTPAccessSupportedProtocols parameter. Protocol being used. - 2.16
StartDate dateTime R Indicates when the session was created. - 2.16
Delete() command - This terminates an active session ahead of any configured timeouts. - 2.16
Device.UserInterface.RemoteAccess. object R
This object contains parameters relating to remotely accessing the CPE’s user interface.
Remote access is defined as any entity not of a local subnet attempting to connect to the CPE.
Remote access requires user authentication. To provide remote access authentication the CPE MUST support a “User” table with at least one instance that has “RemoteAccessCapable” set to true.
This object was DEPRECATED in 2.16 due to the introduction of HTTPAccess.

Changes in 2.16:

  • Added status = deprecated
- 2.0
Device.DSL. object R This object models DSL lines, DSL channels, DSL bonding, and DSL diagnostics. The specific interface objects defined here are Line, Channel, and BondingGroup. Each Line models a layer 1 DSL Line interface, and each Channel models a layer 1 DSL Channel interface where multiple channels can run over a DSL line. In the case where bonding is configured, it is expected that BondingGroup is stacked above the Channel instances within its group. - 2.0
Device.DSL.Channel.{i}. object(0:) R

DSL Channel table (a stackable interface object as described in [Section 4.2/TR-181i2]).

This table models DSL channel(s) on top of physical DSL lines.

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

- 2.0
LinkEncapsulationUsed string R

Indicates the link encapsulation standard that the Channel instance is using for the connection. Enumeration of:

  • G.992.3_Annex_K_ATM
  • G.992.3_Annex_K_PTM
  • G.993.2_Annex_K_ATM
  • G.993.2_Annex_K_PTM

When ATM encapsulation is identified then an upper-layer {{object: non-existent ##.ATM.Link}} interface MUST be used.

When PTM encapsulation is identified then an upper-layer {{object: non-existent ##.PTM.Link}} interface MUST be used.

- 2.0
Device.DSL.BondingGroup.{i}. object(0:) R

DSL bonding group table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each instance is a bonding group, and is expected to be stacked above a {{object: non-existent #.Channel}} instance or a {{object: non-existent ##.FAST.Line}} instance for each bonded channel in the group.

Many of the parameters within this object, including LowerLayers, are read-only because bonding is not expected to be configured by a Controller.

The DSL bonding data model is closely aligned with [TR-159]. Corresponds to [TR-159] oBondingGroup.

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

- 2.0
Device.DSL.BondingGroup.{i}.BondedChannel.{i}. object(0:) R

DSL bonded channel table. Each table entry represents a bonded channel within the bonding group, and is associated with exactly one {{object: non-existent ##.Channel}} instance or one {{object: non-existent ###.FAST.Line}} instance. There MUST be an instance of BondedChannel for each DSL channel or FAST line that is bonded.

When a {{object: non-existent ##.Channel}} or {{object: non-existent ###.FAST.Line}} is no longer bonded, then the CPE MUST delete the corresponding BondedChannel instance. However, when a bonded {{object: non-existent ##.Channel}} or {{object: non-existent ###.FAST.Line}} becomes disabled, the channel remains bonded and so the corresponding BondedChannel instance MUST NOT be deleted.

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

- 2.0
Device.DSL.Diagnostics. object R The DSL Diagnostics object. - 2.0
SELTP() command -

[ASYNC] This command performs a DSL Single-Ended Line Test - Processed (SELT-P).

This command is for the CPE, aka the Transmission Unit - Remote end (TU-R).

Reference: ITU-T Recommendation [G.996.2].

- 2.13
⇐ Output. arguments - Output arguments. -
LoopTermination string R

Loop termination indicator. Enumeration of:

  • Open
  • Short
  • Powered on DSLAM/DPU (

This enumeration was OBSOLETED in 2.14 because it’s been removed from the ITU-T Recommendation.

This enumeration was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted

)

  • Powered on CPE
  • Unknown

This parameter is defined as LOOP-TERM in ITU-T Recommendation [Clause B.1.1.1/G.996.2].

- 2.13
Device.FAST. object R This object models FAST (defined in ITU Recommendation [G.9701]) lines. Each Line models a layer 1 FAST Line interface. - 2.11
Device.FAST.Line.{i}. object(0:) R

FAST Line table (a stackable interface object as described in [Section 4.2/TR-181i2]).

This table models physical FAST lines.

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

- 2.11
UPBOKLE unsignedInt(0:1280) R

This parameter reports the electrical length expressed in 0.1dB, that would have been sent from the FTU-O to the FTU-R if the electrical length was not forced by the DPU-MIB. If the electrical length is not forced by the DPU-MIB, then this object reports the final electrical length, as determined by the FTU-O (see clause 7.3.1.4.2.1/[G.9701]) and conveyed in the O-UPDATE initialization message (see clause 12.3.3.2.4/[G.9701]).

Note: See clause 7.10.4.1 in ITU-T Recommendation [G.997.2].

- 2.11
Device.Cellular. object R This object models cellular interfaces and access points. - 2.8
Device.Cellular.Interface.{i}. object(0:) R

Cellular interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each instance of this object models a cellular modem with a single radio and a single USIM.

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

- 2.8
Device.Cellular.Interface.{i}.USIM. object R USIM (Universal Subscriber Identity Module or SIM card) parameters for the interface. - 2.8
PIN string(:4) W

Allows the Controller to change the USIM PIN used for SIM card activation.

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

Changes in 2.16:

  • Removed string(:4) syntax hidden = true
  • Added string(:4) syntax secured = true
- 2.8
Device.Cellular.AccessPoint.{i}. object(0:) W

Cellular Access Point table. Each entry is identified by an APN (Access Point Name) that identifies a gateway between the mobile network and another computer network.

At most one entry in this table can exist with a given value for Alias, or with a given value for APN, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, APN and Interface such that the new entry does not conflict with any existing entries.

- 2.8
Password string(:256) W

Password used to authenticate the CPE when making a connection to the Access Point.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.8
Device.ATM. object R Asynchronous Transfer Mode (ATM) object that contains the Link interface and **{{object: non-existent **{{command: empty ref only valid in command descriptions}}****Diagnostics.F5Loopback()}} diagnostics. - 2.0
Device.ATM.Link.{i}. object(0:) W

ATM link-layer table (a stackable interface object as described in [Section 4.2/TR-181i2]). Models an ATM PVC virtual circuit and the ATM Adaption Layer (AAL). An ATM Link entry is typically stacked on top of either a {{object: non-existent ##.DSL.Channel}} or a {{object: non-existent ##.DSL.BondingGroup}} object.

When an ATM Link interface is used, a lower-layer {{object: non-existent ##.DSL.Channel}} interface MUST be configured with ATM encapsulation (see {{param: non-existent ##.DSL.Channel.{i}.LinkEncapsulationUsed}}).

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.0
Device.DOCSIS. object R DOCSIS object. This object models the DOCSIS 3.x cable interface objects. - 2.15
Device.DOCSIS.DownstreamChannel.{i}. object(0:) R

[docsIfDownstreamChannelTable/1.3.6.1.2.1.10.127.1.1.1.1] This table describes the attributes of downstream channels (frequency bands).

See [Tables 6-16, and 6-17/CM-SP-RFIv2.0].

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

- 2.15
Frequency int(0:1000000000) R

[docsIfDownChannelFrequency/1.3.6.1.2.1.10.127.1.1.1.1.2] The center of the downstream frequency associated with this channel. This object will return the current tuner frequency.frequency, measured in Hz.

See [Section 6.3.3/CM-SP-RFIv2.0].

- 2.15
Width int(0:16000000) R

[docsIfDownChannelWidth/1.3.6.1.2.1.10.127.1.1.1.1.3] The bandwidth in Hz of this downstream channel. Most implementations are expected to support a channel width of 6 MHz (North America) and/or 8 MHz (Europe).

See [Table 6-17/CM-SP-RFIv2.0].

- 2.15
Device.DOCSIS.DownstreamChannel.{i}.SignalQuality. object R [docsIfSignalQualityTable/1.3.6.1.2.1.10.127.1.1.4.1] Describes the PHY signal quality of downstream channels. - 2.15
SignalNoise int R

[docsIfSigQSignalNoise/1.3.6.1.2.1.10.127.1.1.4.1.5] [TenthdB] Signal/Noise ratio as perceived for this channel. Describes the Signal/Noise of the downstream channel.channel, measured in TenthdB.

See [Tables 4-1 and 4-2/CM-SP-RFIv2.0].

- 2.15
Microreflections int(0:255) R

[docsIfSigQMicroreflections/1.3.6.1.2.1.10.127.1.1.4.1.6] Microreflections, including in-channel response as perceived on this interface, measured in -dBc (i.e., dBc below the signal level.level). This object is not assumed to return an absolutely accurate value, but it gives a rough indication of microreflections received on this interface. It is up to the implementer to provide information as accurately as possible.

See [Tables 4-1 and 4-2/CM-SP-RFIv2.0].

- 2.15
Device.DOCSIS.DownstreamChannel.{i}.SignalQualityExt. object R [docsIf3SignalQualityExtTable/1.3.6.1.4.1.4491.2.1.20.1.24.1] Describes the received modulation error ratio of each downstream channel. - 2.15
RxMER int R

[docsIf3SignalQualityExtRxMER/1.3.6.1.4.1.4491.2.1.20.1.24.1.1] [TenthdB] RxMER provides an in-channel received Modulation Error Ratio (MER).(MER), measured in TenthdB. RxMER is defined as an estimate, provided by the demodulator, of the ratio: (average constellation energy with equally likely symbols) / (average squared magnitude of error vector)

RxMER is measured just prior to FEC (trellis/Reed-Solomon) decoding. RxMER includes the effects of the HFC channel as well as implementation effects of the modulator and demodulator. Error vector estimation may vary among demodulator implementations. In the case of S-CDMA mode, RxMER is measured on the de-spread signal.

- 2.15
Device.DOCSIS.UpstreamChannel.{i}. object(0:) W

[docsIfUpstreamChannelTable/1.3.6.1.2.1.10.127.1.1.2.1] This table describes the attributes of attached upstream channels.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
Frequency int(0:1000000000) R

[docsIfUpChannelFrequency/1.3.6.1.2.1.10.127.1.1.2.1.2] The center of the frequency band associated with this upstream interface. This object returns 0 if the frequency is undefined or unknown. Minimum permitted upstream frequency is 5,000,000 HzHz for current technology.

See [Table 4-2/CM-SP-RFIv2.0].

- 2.15
Width int(0:64000000) R

[docsIfUpChannelWidth/1.3.6.1.2.1.10.127.1.1.2.1.3] The bandwidth in Hz of this upstream interface. This object returns 0 if the interface width is undefined or unknown. Minimum permitted interface width is currently 200,000 Hz.Hz.

See [Table 6-5/CM-SP-RFIv2.0].

- 2.15
SlotSize unsignedInt R

[docsIfUpChannelSlotSize/1.3.6.1.2.1.10.127.1.1.2.1.5] Applicable to TDMA and ATDMA channel types only. The number of 6.25 microsecond6.25 microsecond ticks in each upstream mini-slot. Returns zero if the value is undefined or unknown or in case of an SCDMA channel.

See [Section 8.1.2.4/CM-SP-RFIv2.0].

Changes in 2.16:

  • Changed units value = ticks6.25 microsecond
- 2.15
Device.DOCSIS.UpstreamChannel.{i}.Status. object R [docsIf3CmStatusUsTable/1.3.6.1.4.1.4491.2.1.20.1.2.1] This object provides Upstream channel information previously available in the SNMP table docsIfCmStatusTable. - 2.15
TxPower int R [docsIf3CmStatusUsTxPower/1.3.6.1.4.1.4491.2.1.20.1.2.1.1] [TenthdBmV] This attribute represents the operational CM transmit power for this SC-QAM upstream channel.channel, in TenthdBmV. In order for this attribute to provide consistent information under all circumstances, a 3.1 CM will report the average total power for the SC-QAM channel the same as was done for DOCSIS 3.0, regardless of whether it is operating with a 3.1 or a 3.0 CMTS. The value that is reported was referred to as Pr in the DOCSIS 3.0 PHY Spec. - 2.15
Device.DOCSIS.SpectrumAnalysis. object R

Changes in 2.16:

  • Added description
- 2.15
InactivityTimeout int(0:86400) W

[docsIf3CmSpectrumAnalysisCtrlCmdInactivityTimeout/1.3.6.1.4.1.4491.2.1.20.1.34.2] This attribute controls the length of time (in seconds) after the last spectrum analysis measurement before the feature is automatically disabled. If set to a value of 0, the feature will remain enabled until it is explicitly disabled.

See [CM-SP-CM-OSSIv3.1], Proactive Network Maintenance Information Model.

The factory default value MUST be 300.

- 2.15
FirstSegmentCenterFrequency unsignedInt W

[docsIf3CmSpectrumAnalysisCtrlCmdFirstSegmentCenterFrequency/1.3.6.1.4.1.4491.2.1.20.1.34.3] This attribute controls the center frequency (in Hz) of the first segment for the spectrum analysis measurement. The frequency bins for this segment lie symmetrically to the left and right of this center frequency.

If the number of bins in a segment is odd, the segment center frequency lies directly on the center bin.

If the number of bins in a segment is even, the segment center frequency lies halfway between two bins.

Changing the value of this attribute may result in changes to the Result table. Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value.

See [CM-SP-CM-OSSIv3.1], Proactive Network Maintenance Information Model.

The factory default value MUST be 93000000.

- 2.15
LastSegmentCenterFrequency unsignedInt W

[docsIf3CmSpectrumAnalysisCtrlCmdLastSegmentCenterFrequency/1.3.6.1.4.1.4491.2.1.20.1.34.4] This attribute controls the center frequency (in Hz) of the last segment of the spectrum analysis measurement.

The frequency bins for this segment lie symmetrically to the left and right of this center frequency. If the number of bins in a segment is odd, the segment center frequency lies directly on the center bin. If the number of bins in a segment is even, the segment center frequency lies halfway between two bins.

The value of the LastSegmentCenterFrequency should be equal to the FirstSegmentCenterFrequency plus and integer number of segment spans as determined by the SegmentFrequencySpan.

Changing the value of this attribute may result in changes to the Result table.

Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value.

See [CM-SP-CM-OSSIv3.1], Proactive Network Maintenance Information Model.

The factory default value MUST be 993000000.

- 2.15
SegmentFrequencySpan unsignedInt(1000000:900000000) W

[docsIf3CmSpectrumAnalysisCtrlCmdSegmentFrequencySpan/1.3.6.1.4.1.4491.2.1.20.1.34.5] This attribute controls the frequency span (in Hz) of each segment (instance) of the Result.{i} table.

If set to a value of 0, then a default span will be chosen based on the hardware capabilities of the device. Segments are contiguous from the FirstSegmentCenterFrequency to the LastSegmentCenterFrequency and the center frequency for each successive segment is incremented by the SegmentFrequencySpan. The number of segments is (LastSegmentCenterFrequency - FirstSegmentCenterFrequency)/SegmentFrequencySpan + 1. A segment is equivalent to an instance in the Result table. The chosen SegmentFrequencySpan affects the number of entries in Result table. A more granular SegmentFrequencySpan may adversely affect the amount of time needed to query the table entries in addition to possibly increasing the acquisition time.

Changing the value of this attribute may result in changes to Result table.

Note that if this parameter is set to an invalid value, the device may return an error, or may adjust the value of the parameter to the closest valid value.

See [CM-SP-CM-OSSIv3.1], Proactive Network Maintenance Information Model.

The factory default value MUST be 7500000.

- 2.15
EquivalentNoiseBandwidth unsignedInt(50:500) W

[docsIf3CmSpectrumAnalysisCtrlCmdEquivalentNoiseBandwidth/1.3.6.1.4.1.4491.2.1.20.1.34.7] This parameter allows the user to request an equivalent noise bandwidth (measured in hundredthsbin) for the resolution bandwidth filter used in the spectrum analysis. This corresponds to the spectral width of the window function used when performing a discrete Fourier transform for the analysis.

The window function which corresponds to a value written to this parameter may be obtained by reading the value of WindowFunction.

If an unsupported value is requested, the device may return an error, or choose the closest valid value to the one which is requested. If the closest value is chosen, then a subsequent read of this parameter will return the actual value which is in use.

See [CM-SP-CM-OSSIv3.1], Proactive Network Maintenance Information Model.

The factory default value MUST be 150.

- 2.15
Device.DOCSIS.SpectrumAnalysis.Result.{i}. object(0:) R

[docsIf3CmSpectrumAnalysisMeasTable/1.3.6.1.4.1.4491.2.1.20.1.35.1] This table provides a list of spectral analysis measurements as performed across a range of center frequencies. The table is capable of representing a full scan of the spectrum.

Each Result instance represents the spectral analysis around a single center frequency point in the spectrum.

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

- 2.15
Frequency int(-2147483648:2147483647) R [docsIf3CmSpectrumAnalysisMeasFrequency/1.3.6.1.4.1.4491.2.1.20.1.35.1.1] The center frequency (in Hz) of the spectral analysis span which is represented by this instance. - 2.15
Device.PTM. object R Packet Transfer Mode ([Annex H/G.993.1]). This object contains the Link interface. - 2.0
Device.PTM.Link.{i}. object(0:) W

PTM link-layer table (a stackable interface object as described in [Section 4.2/TR-181i2]). Models a layer 2 variable-sized packet interface. A PTM Link entry is typically stacked on top of either a {{object: non-existent ##.FAST.Line}}, {{object: non-existent ##.DSL.Channel}}, or a {{object: non-existent ##.DSL.BondingGroup}} object.

When a PTM Link interface is used, a lower-layer {{object: non-existent ##.DSL.Channel}} interface MUST be configured with PTM encapsulation (see {{param: non-existent ##.DSL.Channel.{i}.LinkEncapsulationUsed}}).

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
Device.Ethernet. object R Ethernet object. This object models several Ethernet interface objects, each representing a different stack layer, including: Interface, Link, and VLANTermination. Interface is media-specific and models a port, the PHY layer, and the Channel Access Method (CAM) part of the MAC layer. Link is media-independent and models the Logical Link Control (LLC) layer. An “outer” VLANTermination, when present, is expected to be stacked on top of Link objects to receive and send frames with a configured VLANID. - 2.0
Device.Ethernet.Interface.{i}. object(0:) R

Ethernet interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). This table models physical Ethernet ports, but in terms of the interface stack it only models the PHY and Connection Access Method of the Ethernet interface MAC. A {{object: argument unnecessary when referring to current object}} is also required to model a full Ethernet device.

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

Changes in 2.16:

- 2.0
MACAddress string(:17) R

[MACAddress] The unique manufacturer-assigned Ethernet hardware address of the interface, also referred to as burned-in MAC address.

Note: This is not necessarily the same as the MAC address used for higher-level protocols, which is modeled via the {{param: non-existent #.Link.{i}.MACAddress}} parameter. Its main purpose is the identification of a specific Ethernet interface; the information can also can be used to perform Wake on LAN.

- 2.0
SupportedLinkModes unsignedInt[] R

Comma-separated list of unsigned integers. Reports the supported link modes. MUST be reported in a compliant way as defined in [IANAifMauTypeListBits/IANAMauMIB]. For example, IANAifMauTypeListBits defines the following link mode types:

  • 11 (10BASE-T full duplex mode)
  • 14 (100BASE-T4)
  • 15 (100BASE-TX half duplex mode)
  • 16 (100BASE-TX full duplex mode)
- 2.16
Device.Ethernet.Link.{i}. object(0:) W

Ethernet link layer table (a stackable interface object as described in [Section 4.2/TR-181i2]). Table entries model the Logical Link Control (LLC) layer. It is expected that an Ethernet Link interface can be stacked above any lower-layer interface object capable of carrying Ethernet frames.

At most one entry in this table can exist with a given value for Alias, or with a given value for Name, or with a given value for MACAddress. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, Name and MACAddress such that the new entry does not conflict with any existing entries.

- 2.0
PriorityTagging boolean W

Enables or disables priority tagging on this Ethernet Link.

When true, egress frames leaving this interface will be priority tagged with the frame’s associated priority value, which will either be derived directly from the ingress frame or else set via {{param: non-existent ##.QoS.Classification.{i}.EthernetPriorityMark}} or {{param: non-existent ##.QoS.Classification.{i}.InnerEthernetPriorityMark}}.

When false, egress frames leaving this interface will be untagged.

The parameter does not affect reception of ingress frames.

false 2.0
Device.Ethernet.RMONStats.{i}. object(0:) W

Ethernet statistics based on the [RFC2819] RMON-MIB etherStatsTable, with some extensions inspired by [Section 9.3.32/G.988].

Each instance is associated with an interface capable of transporting Ethernet-encapsulated packets, and contains a set of unidirectional Ethernet statistics.

The statistics are sampled either on ingress or on egress. This is determined as follows:

  • If the instance is associated with an egress queue (or queues) via the Queue parameter or by setting AllQueues to true then data is sampled on egress. In this case Bytes etc measure the data that has been sent on the interface, possibly filtered by Queue or VLANID.
  • Otherwise data is sampled on ingress. In this case Bytes etc measure the data that has been received on the interface, possibly filtered by VLANID.

When sampling on egress, the term received means received by the queuing sub-system.

Multiple instances can be associated with a single interface: individual instances can be configured to collect data associated with the entire interface, or with a particular VLAN and/or queue.

The CPE MUST reset each instances’s Stats parameters whenever the instance is disabled and re-enabled. Whether this reset occurs when the instance becomes operationally disabled (Status = Disabled) or administratively enabled (Enable = true) is a local matter to the CPE. This is similar to the behavior of interface statistics, e.g. as specified for {{object: non-existent #.Interface.{i}.Stats}}. Furthermore, this instance’s Stats parameters MUST be reset whenever the referenced interface’s Stats parameters are reset, or when the referenced queue or VLAN is disabled and re-enabled.

For enabled table entries, if Interface references an interface that is not capable of transporting Ethernet-encapsulated packets, or if Queue references a queue that is not instantiated on Interface, or if Queue is not a valid reference and AllQueues is false, the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Note: The RMONStats table includes unique key parameters that are strong references. 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 RMONStats 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 RMONStats row.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of Interface, VLANID and Queue. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.4
Device.Ethernet.WoL. object R This object provides access to the WoL (Wake on LAN) funtionality. - 2.13
SendMagicPacket() command - This command sends a magic packet over the CPE active Ethernet interfaces.

Changes in 2.16:

  • Changed async = truefalse
- 2.13
Device.Ethernet.LAG.{i}. object(0:) W

Ethernet Link Aggregation Group (LAG) table (a stackable interface object as described in [Section 4.2/TR-181i2]). Table entries model the Link Aggregation Sub-Layer as defined in [802.3-2015] and [802.1AX-2014]. It is expected that a LAG interface can only be stacked above {{object: non-existent #.Interface}} interfaces. The CPE can reject creation of additional LAG instances if this would exceed its capabilities.

At most one entry in this table can exist with a given value for Alias, or with a given value for Name, or with a given value for MACAddress. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, Name and MACAddress such that the new entry does not conflict with any existing entries.

- 2.12
Device.USB. object R Universal Serial Bus ([USB1.0], [USB2.0], [USB3.0]). This object contains the Interface, Port, and USBHosts objects. - 2.0
Device.USB.Interface.{i}. object(0:) R

USB interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). This table models master and slave USB physical interfaces that support carrying Ethernet frames, e.g. via the USB Communication Device Class.

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

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
Device.USB.USBHosts. object R

This object models the CPE’s USB Host controllers.

See [Appendix XVII/TR-181i2] for Theory of Operation.

- 2.0
Device.USB.USBHosts.Host.{i}. object(0:) R

Table of CPE USB Host controllers.

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

- 2.0
Reset() command - Reset the Host Controller and apply the reset signaling (see [Chapter 7.1.7.5/USB2.0]) to all of the Host Controller Hub downstream ports.

Changes in 2.16:

  • Added async = false
- 2.12
Device.HPNA. object R HPNA object that contains the Interface and Diagnostics objects. The HPNA (also known as HomePNA) industry standard [G.9954] defines peer to peer communication for home networking over existing coax cables and telephone wiring within the home. - 2.0
Device.HPNA.Interface.{i}. object(0:) R

HPNA interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each table entry models the PHY and MAC levels of an HPNA interface [G.9954].

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

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
Device.HPNA.Interface.{i}.QoS. object R QoS configuration object. - 2.0
Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}. object(0:) W

Flow specification table.

The {{object: non-existent ####.QoS.Classification}} table is used to classify ingress traffic, where {{param: non-existent ####.QoS.Classification.{i}.TrafficClass}} is one of the classification result outputs. This TrafficClass value can be used to look up the appropriate FlowSpec entry (i.e. the FlowSpec entry whose TrafficClasses list contains a matching traffic class).

For enabled table entries, if TrafficClasses is an empty string then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Device.MoCA. object R MoCA object that contains the Interface table [MoCAv1.0] [MoCAv1.1]. - 2.0
Device.MoCA.Interface.{i}. object(0:) R

MoCA interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each table entry models the PHY and MAC levels of a MoCA interface [MoCAv1.0] [MoCAv1.1].

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

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
KeyPassphrase string(12:17) W

MoCA Password. The value consists of numeric characters (0-9). Possible patterns:

  • \d+

This parameter is based on mocaIfPassword from [MOCA11-MIB].

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

Changes in 2.16:

  • Removed string(12:17) syntax hidden = true
  • Added string(12:17) syntax secured = true
- 2.0
Device.Ghn. object R G.hn object that contains an Interface table for G.hn supported CPE. The ITU-T G.hn specifications [G.9960] and [G.9961] define Physical and MAC Layers for communication between two or more G.hn nodes in the home network over multiple wired media such as power line, phone line and coaxial cable. - 2.4
Device.Ghn.Interface.{i}. object(0:) R

G.hn interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each table entry models the PHY [G.9960] and MAC [G.9961] layers of a G.hn interface.

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

- 2.4
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface, denoted as node MAC address or REGID in [G.9961].

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.4
PHYThroughputDiagnosticsEnable unsignedInt[] W Comma-separated list of DeviceIDs of nodes that need to enable their PHY throughput diagnostics mode. All devices that are enabled will participate in the G.hn network PHY throughput diagnostics process.

Changes in 2.16:

  • Changed syntax = string -> unsignedInt[]
  • Added unsignedInt[] syntax unsignedInt
- 2.8
PerformanceMonitoringDiagnosticsEnable unsignedInt[] W Comma-separated list of DeviceIDs of nodes that need to enable their Performance Monitoring diagnostics mode on this node. All devices that are enabled will participate in the G.hn network Performance Monitoring diagnostics process.

Changes in 2.16:

  • Changed syntax = string -> unsignedInt[]
  • Added unsignedInt[] syntax unsignedInt
- 2.8
Device.Ghn.Diagnostics. object R The G.hn Diagnostics object. - 2.8
PerformanceMonitoring() command -

[ASYNC] G.hn Performance Monitoring diagnostics configuration and results.

When diagnostics are requested, all G.hn nodes for which the Interface.{i}.PerformanceMonitoringDiagnosticsEnable parameter is set enter PHY diagnostics mode.

- 2.12
⇐ Output. arguments - Output arguments. -
Channels. object R

Per-channel G.hn performance monitoring results.

Note: channels are unidirectional.

- 2.12
Channels.Channel.{i}. object(0:) R

Per-channel G.hn performance monitoring results during the current sample interval. Each table entry contains the results collected from the channel between a G.hn interface (as indicated by DiagnoseMACAddress) and a G.hn interface indicated by DestinationMACAddress)

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.12
SNR unsignedInt[] R Comma-separated list of unsigned integers. The result of an SNR test performed over the channel. It is formatted as a comma-separated list of N/M unsigned integers that represents the result of Signal-to-Noise-Ratio measurement (in 0.1 dB) averaging in groups of M subcarriers. The number N depends on the bandplan used by the node and corresponds to the OFDM control parameter N of each medium as defined in [G.9964]. The number M corresponds to the parameter SNRGroupLength. - 2.12
Device.HomePlug. object R HomePlug object that contains the Interface table. The HomePlug industry standard [HPAV1.1] defines peer to peer communication over powerline medium. - 2.0
Device.HomePlug.Interface.{i}. object(0:) R

HomePlug interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each table entry models the PHY and MAC levels of a HomePlug interface [HPAV1.1].

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

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
NetworkPassword string(:32) W

The network password of the device. This is a human readable ASCII string that is hashed per the HomePlug specification to generate the Network Membership Key (NMK). Note that care needs to be taken when setting this parameter as it might prohibit communication with other adapters or equipment connected via the powerline network.

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

Changes in 2.16:

  • Removed string(:32) syntax hidden = true
  • Added string(:32) syntax secured = true
- 2.0
Device.UPA. object R Universal Powerline Association [UPA-PLC]. This object contains the Interface and Diagnostics objects. - 2.0
Device.UPA.Interface.{i}. object(0:) R

UPA interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). Each table entry models the PHY and MAC levels of a UPA interface [UPA-PLC].

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

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC Address of the interface.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
EncryptionKey string(:36) W

Encryption key for secure PLC communications.

This a human readable string used by the system to generate the encryption key to encrypt communications in powerline. It takes non extended ASCII characters (i.e. printable 7-bit ASCII character codes 32-126, which includes SPACE but excludes TAB, LF and CR). For example: bvjPekZiYUf9kjNKJASkgJ09adfoP01Fjvgd

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

Changes in 2.16:

  • Removed string(:36) syntax hidden = true
  • Added string(:36) syntax secured = true
- 2.0
Device.WiFi. object R The WiFi object is based on the IEEE 802.11 specifications ([802.11-2020]). It defines interface objects (Radio and SSID), and application objects (AccessPoint and EndPoint). - 2.0
NeighboringWiFiDiagnostic() command - [ASYNC] This command defines access to other WiFi SSIDs that this device is able to receive. - 2.12
⇐ Output. arguments - Output arguments. -
Result.{i}. object(0:) R

Neighboring SSID table. This table models other WiFi SSIDs that this device is able to receive.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.12
SecurityModeEnabled string R

The type of encryption the neighboring WiFi SSID advertises.

The WEP value indicates either WEP-64 or WEP-128.

The WPA value is the same as WPA-Personal.

The WPA2 value is the same as WPA2-Personal.

The WPA-WPA2 value is the same as WPA-WPA2-Personal.

The WPA3-SAE value is the same as WPA3-Personal.

The WPA2-PSK-WPA3-SAE value is the same as WPA3-Personal-Transition.

Enumeration of:

  • None
  • WEP
  • WPA
  • WPA2
  • WPA-WPA2
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA-WPA2-Enterprise
  • WPA3-SAE
  • WPA2-PSK-WPA3-SAE
  • WPA3-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.12
OperatingFrequencyBand string R

Indicates the frequency band at which the radio this SSID instance is operating.

Enumeration of:

  • 2.4GHz
  • 5GHz
  • 6GHz (Added in 2.16)

Changes in 2.16:

  • Added string 6GHz enumeration
- 2.12
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this Result instance can support simultaneously, in the frequency band specified by OperatingFrequencyBand. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

If OperatingFrequencyBand is set to 2.4GHz, only values b, g, n, ax are allowed.

If OperatingFrequencyBand is set to 5GHz, only values a, n, ac, ax are allowed.

If OperatingFrequencyBand is set to 6GHz, only value ax is allowed.

- 2.12
OperatingStandards string[] R

Each list item MUST be a member of the list reported by the SupportedStandards parameter. Comma-separated list of strings. List items indicate which IEEE 802.11 standard that is detected for this Result.

Each value indicates support for the indicated standard.

If OperatingFrequencyBand is set to 2.4GHz, only values b, g, n, ax are allowed.

If OperatingFrequencyBand is set to 5GHz, only values a, n, ac, ax are allowed.

If OperatingFrequencyBand is set to 6GHz, only value ax is allowed.

For example, a value of “g,b” (or “b,g” - order is not important) means that the 802.11g standard [802.11g-2003] is used with a backwards-compatible mode for 802.11b [802.11b-1999]. A value of “g” means that only the 802.11g standard can be used.

- 2.12
DTIMPeriod unsignedInt R The number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2020] - 2.12
Reset() command - This command represents a request to reset or reboot the Wi-Fi sub-system without resetting or rebooting the device.

Changes in 2.16:

  • Added async = false
- 2.12
Device.WiFi.MultiAP. object R
This object describes a Wi-Fi network containing 1 or more Access Point devices.
This object is related to a Wi-Fi network that contains multiple Access Points (Multi-AP) and utilizes software logic to optimize that Wi-Fi network (typically via steering STAs, also known as Associated Devices, to the best Access Point). This object exposes the view of the Wi-Fi netwtork from the perspective of the Multi-AP Controller. The Wi-Fi Alliance EasyMesh solution is one example of managing a Multi-AP network.
This object and all sub-objects have been moved to new objects.
This object was DEPRECATED in 2.15 because it has moved to WiFi.DataElements.Network MultiAP objects.
- 2.13
APDeviceNumberOfEntries unsignedInt R
The number of entries in the APDevice table.
This parameter was DEPRECATED in 2.15 because the **{{object: non-existent [APDevice.{i}]{.inserted}**}}. is being deprecated.
- 2.13
Device.WiFi.MultiAP.APDevice.{i}. object(0:) R
Each instance of this object represents an individual Access Point device in the Wi-Fi network.
This object was DEPRECATED in 2.15 because ManufacturerOUI and LastContactTime have moved to DataElements.Network.Device.{i}.MultiAPDevice, Backhaul parameters have moved to DataElements.Network.Device.{i}.MultiAPDevice.Backhaul and MACAddress is duplicated in DataElements.Network.Device.{i}.ID. All the rest are deprecated as noted.
At most one entry in this table can exist with a given value for MACAddress.
- 2.13
RadioNumberOfEntries unsignedInt R
The number of entries in the Radio table.
This parameter was DEPRECATED in 2.15 because the **{{object: non-existent [Radio.{i}]{.inserted}**}}. is being deprecated
- 2.13
Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}. object(0:) R
This object represents all of the individual Radios contained within the identified Access Point device known to the controller.
At most one entry in this table can exist with a given value for MACAddress.
- 2.13
OperatingFrequencyBand string R

Indicates the frequency band at which the radio is operating. Enumeration of:

  • 2.4GHz
  • 5GHz
  • 6GHz (Added in 2.16)
This parameter was DEPRECATED in 2.15 because it is replaced with DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Class.

Changes in 2.16:

  • Added string 6GHz enumeration
- 2.13
OperatingStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standard this Radio instance is configured for. Each list item is an enumeration of:

If OperatingFrequencyBand is set to 2.4GHz, only values b, g, n, ax are applicable.
If OperatingFrequencyBand is set to 5GHz, only values a, n, ac, ax are applicable.
If OperatingFrequencyBand is set to 6GHz, only value ax is allowed.
For example, a value of “g,b” (or “b,g” - order is not important) means that the 802.11g standard [802.11g-2003] is used with a backwards-compatible mode for 802.11b [802.11b-1999]. A value of “g” means that only the 802.11g standard is in use.
This parameter was DEPRECATED in 2.15 because this information cannot be obtained by EasyMesh.
- 2.13
Channel unsignedInt(1:255) W
The current radio channel used by the connection.
To request automatic channel selection, set {{param: non-existent ###.Radio.{i}.AutoChannelEnable}} to true.
Whenever {{param: non-existent ###.Radio.{i}.AutoChannelEnable}} is true, the value of the Channel parameter MUST be the channel selected by the automatic channel selection procedure.
For channels in “wide mode” (where a channel bandwidth strictly greater than 20 MHz is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through ExtensionChannel.
Note: Valid Channel values depend on the OperatingFrequencyBand value specified and the regulatory domain.
This parameter was DEPRECATED in 2.15 because it is replaced with DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Channel.
- 2.13
APNumberOfEntries unsignedInt R
The number of entries in the AP table.
This parameter was DEPRECATED in 2.15 because the **{{object: non-existent [AP.{i}.]{.inserted}**}}. is being deprecated.
- 2.13
Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}. object(0:) R
A single logical Access Point operating on this radio.
This object was DEPRECATED in 2.15 because it has moved to DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MultiAPSteering. except SSIDand BSSID which are duplicated in DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}..
At most one entry in this table can exist with a given value for BSSID.
- 2.13
AssociatedDeviceNumberOfEntries unsignedInt R
{{numentries: not associated with a table}}
This parameter was DEPRECATED in 2.15 because the **{{object: non-existent [AssociatedDevice.{i}.]{.inserted}**}}. is being deprecated.
- 2.13
Device.WiFi.DataElements. object R This object represents the Wi-Fi Alliance Data Elements as defined in [DataElements] with extended capabilities in additional objects whose names begin with MultiAP. - 2.13
Device.WiFi.DataElements.Network. object R This object describes a Wi-Fi network containing 1 or more Access Point (AP) devices. - 2.13
SetSSID() command -

[ASYNC] This command specifies an SSID for fronthaul use across this Wi-Fi Multi-AP network, or on this single-AP. Also specifies the PassPhrase, whether to add or remove this SSID, and specifies the Band for each SSID.

This command applies to all EasyMesh Agent devices in the Wi-Fi network, or to this AP in the single-AP case.

This command can be used to set only PassPhrase if SSID matches an existing SSID.{i}.SSID for this Band for fronthaul use across this Wi-Fi Multi-AP network.

This command can configure SSID.{i}.

Status is to be returned after implementation or failed implementation on all agents/devices/APs in this Multi-AP network.

- 2.15
⇒ Input. arguments - Input arguments. -
Band string[] W

Comma-separated list of strings. The band(s) for which this SSID applies. Each list item is an enumeration of:

  • All (Applies to all bands)
  • 2.4 (2.4 GHz band)
  • 5 (The entire 5 GHz band)
  • 6 (The entire 6 GHz band)
  • 5_UNII_1 (5 GHz UNII-1 band, 5.15 to 5.25 GHz)
  • 5_UNII_2 (5 GHz UNII-2 band, 5.25 to 5.725 GHz)
  • 5_UNII_3 (5 GHz UNII-3 band, 5.725 to 5.85 GHz)
  • 5_UNII_4 (5 GHz UNII-4 band, 5.85 to 5.925 GHz)
  • 6_UNII_5 (6 GHz UNII-5 band, 5.925 to 6.425 GHz)
  • 6_UNII_6 (6 GHz UNII-6 band, 6.425 to 6.525 GHz)
  • 6_UNII_7 (6 GHz UNII-7 band, 6.525 to 6.875 GHz)
  • 6_UNII_8 (6 GHz UNII-8 band, 6.875 to 7.125 GHz)

If this input is not provided, then a value of All applies.

- 2.15
Device.WiFi.DataElements.Network.SSID.{i}. object(0:) R

This object specifies SSIDs for fronthaul use across all agents in this Wi-Fi Multi-AP network, or on this single-AP. Also specifies the Band for each SSID.

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

- 2.15
Band string[] R

Comma-separated list of strings. The band(s) (GHz) for which this SSID applies. Each list item is an enumeration of:

  • All (Applies to all bands)
  • 2.4 (2.4 GHz band)
  • 5 (The entire 5 GHz band)
  • 6 (The entire 6 GHz band)
  • 5_UNII_1 (5 GHz UNII-1 band, 5.15 to 5.25 GHz)
  • 5_UNII_2 (5 GHz UNII-2 band, 5.25 to 5.725 GHz)
  • 5_UNII_3 (5 GHz UNII-3 band, 5.725 to 5.85 GHz)
  • 5_UNII_4 (5 GHz UNII-4 band, 5.85 to 5.925 GHz)
  • 6_UNII_5 (6 GHz UNII-5 band, 5.925 to 6.425 GHz)
  • 6_UNII_6 (6 GHz UNII-6 band, 6.425 to 6.525 GHz)
  • 6_UNII_7 (6 GHz UNII-7 band, 6.525 to 6.875 GHz)
  • 6_UNII_8 (6 GHz UNII-8 band, 6.875 to 7.125 GHz)
- 2.15
Device.WiFi.DataElements.Network.Device.{i}. object(1:) R

Each instance of this object represents an individual Access Point device in the Wi-Fi network.

This table MUST contain at least 1 entry.

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

- 2.13
Manufacturer string R

Identifier of the manufacturer of the device.

If the instance of this Device is the same as Device., then this parameter is the same as Device.DeviceInfo.Manufacturer.

- 2.15
SerialNumber string R

Identifier of the particular Access Point device that is unique for the indicated model and manufacturer.

This value MUST remain fixed over the lifetime of the device, including across firmware updates.

If the instance of this Device is the same as Device., then this parameter is the same as Device.DeviceInfo.SerialNumber.

- 2.15
ManufacturerModel string R

Identifier of the manufacturer model to help the user more easily identify a particular piece of equipment.

If the instance of this Device is the same as Device., then this parameter is the same as Device.DeviceInfo.ModelName.

- 2.15
SoftwareVersion string R

Identifier of the software version currently installed in the Access Point device (i.e. version of the overall firmware).

If the instance of this Device is the same as Device., then this parameter is the same as Device.DeviceInfo.SoftwareVersion.

- 2.15
ExecutionEnv string R

Identifier of the execution environment (operating system) in the device. This parameter can be an entry in the table {{object: non-existent ####.SoftwareModules.ExecEnv.}}

If the instance of this Device is the same as Device., then this parameter is the same as DeviceDevice.SoftwareModules.ExecEnv.{i}..

- 2.15
APMetricsWiFi6 boolean R
Associated Wi-Fi6 STA Status Inclusion Policy.
true: Include Associated Wi-Fi6 STA Status TLV in AP Metrics Response.
false: Do not include Associated Wi-Fi6 STA Status TLV [3] in AP Metrics Response.
This parameter was DEPRECATED in 2.16 because it was the same as Radio.{i}.APMetricsWiFi6.

Changes in 2.16:

  • Added status = deprecated
- 2.15
CountryCode string(2) R

Two-character country code in which the Multi-AP Agent is operating according to [ISO3166-1]. The characters are encoded as UTF-8.

If the instance of this DataElements is the same as Device.WiFi.Radio.{i}., then this parameter is the same as Device.WiFi.Radio.{i}.RegulatoryDomain.

- 2.15
AssociatedSTAinAPMetricsWiFi6 boolean W
For EasyMesh [EasyMesh], this is the Associated Wi-Fi6 STA Status Inclusion Policy.
true: Include Associated Wi-Fi6 STA Status TLV in AP Metrics Response;
false: Do not include Associated Wi-Fi6 STA Status TLV in AP Metrics Response.
This parameter was DEPRECATED in 2.16 because it was the same as Radio.{i}.APMetricsWiFi6.

Changes in 2.16:

  • Added status = deprecated
- 2.15
SetDFSState() command -

[ASYNC] Enables/disables the use of Dynamic Frequency Selection (DFS) channels on this device.

This command can configure {{param: non-existent #.DFSEnable}}.

- 2.15
SetAnticipatedChannelPreference() command - [ASYNC] This command requests to set the Anticipated Channel Preference. The operating classes, and list of channels for each operating class, are input. For 2.4GHz and 5GHz bands, only 20MHz operating classes are valid inputs. - 2.15
⇒ Input. arguments - Input arguments. -
OpClass unsignedInt(:255) W

[MANDATORY] The Operating Class per [Table E-4/802.11-2020] For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid..

Note that the operating class identifies the band and channel width.

- 2.15
ChannelList unsignedInt(:255)[] W [MANDATORY] Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class for which the capability is being described.Class. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.IEEE1905Security.{i}. object(0:) R

This object describes the IEEE 1905 security capabilities.

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

- 2.15
OnboardingProtocol unsignedInt R

Onboarding protocols supported;

0: 1905 Device.Device Provisioning Protocol as defined in the EasyMesh [EasyMesh] 1905 Layer Security Capability TLV.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.15
Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannels.{i}. object(0:) R

This object contains a table of Wi-Fi 6 [802.11ax] operating classes, and channels within those operating classes, which have anticipated channel preference.

Operating Class contains an enumerated value from [Table E-4/802.11-2020]}.

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

- 2.15
OpClass unsignedInt(:255) R

The Operating Class per [Table E-4/802.11-2020].

Note that the operating class identifies the band and channel width. This changed from readOnly to readWrite in version 2.15.

- 2.15
ChannelList unsignedInt(:255)[] R Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class.Class which have anticipated channel preference. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice. object R This object represents an individual Access Point device. - 2.15
ManufacturerOUI string(6) R

Organizationally unique identifier of the Access Point device manufacturer. Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. Possible patterns:

  • [0-9A-F]{6}

The value MUST be a valid OUI as defined in [OUI].

This value MUST remain fixed over the lifetime of the device, including across firmware updates.

If the instance of this MultiAPDevice is the same as Device., then this parameter is the same as Device.DeviceInfo.ManufacturerOUI.

- 2.15
Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul. object R

This object represents an individual Access Point device’s Backhaul and unique aspects in the Wi-Fi network.

The endpoints of the backhaul interface are represented by the (Device’s ID and interface MAC Address). This object represents the upward view of the backhaul interface. The two endpoints of the backhaul interface are - (BackhaulDeviceID, BackhaulMACAddress) of the uplinked Backhaul Device - MACAddress of this Access Point Device

BackhaulDeviceID / BackhaulMACAddress <– LinkType — < MACAddress

an empty string is reserved for the Backhaul instance that represents the Multi-AP Controller.

- 2.15
SteerWiFiBackhaul() command -

[ASYNC] This command requests the Wi-Fi backhaul link to be steered to associate to a different BSS when the device is working as a bridge in a mesh network. The device needs to already have the necessary credentials for the switch to happen.

The TargetBSS should be an instance of a Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.BSSID.

- 2.15
⇒ Input. arguments - Input arguments. -
Channel unsignedInt W The number of the Wi-Fi channel the backhaul BSS is to be associated to. If Channel is not specified, then the radio is to determine which channel to use to associate to the requested SSID.TargetBSS. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.Stats. object R This object represents the statistics of the backhaul interface view from the current Device’s ID - 2.15
SignalStrength unsignedInt(:255) R An indicator of radio signal strength of the backhaul link of the Access Point (AP) to the Multi-AP Controller, measured in dBm. RCPI threshold is encoded per [Table 9-176/802.11-2020]. The value of this parameter is indeterminate if the value of the LinkType parameter is anything other than Wi-Fi. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}. object(1:) R

This object represents all of the individual Radios contained within the identified Access Point device known to the controller.

This table MUST contain at least 1 entry.

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

- 2.13
Enabled boolean R

Indicates whether this radio is enabled or disabled.

If the instance of this Radio is the same as Device.WiFi.Radio.{i}., then this parameter is the same as Device.WiFi.Radio.{i}.Enable.

- 2.13
Noise unsignedInt(:255) R

An indicator of the average radio noise plus interference power measured for the primary operating channel.

Encoded as defined for ANPI in [Section 11.10.9.4/802.11-2020].

If the instance of this Radio is the same as Device.WiFi.Radio.{i}., then this parameter is the same as Device.WiFi.Radio.{i}.Stats.Noise.

- 2.13
APMetricsWiFi6 boolean W

Associated Wi-Fi6 STA Status Inclusion Policy.

true: include Associated Wi-Fi6 STA Status TLV in AP Metrics Response.
false: do not include Associated Wi-Fi6 STA Status TLV [3] in AP Metrics Response.

Changes in 2.16:

  • Changed access = readOnlyreadWrite
- 2.15
ChannelScanRequest() command -

[ASYNC] Request to initiate a channel scan. The operating classes, and list of channels for each operating class, are input. For 2.4GHz and 5GHz bands, only 20MHz operating classes are valid inputs.

This command should result in updating Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.

- 2.15
⇒ Input. arguments - Input arguments. -
ChannelList unsignedInt(:255)[] W [MANDATORY] Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class for which the capabilityrequest isto beinginitiate described.a channel scan applies. - 2.15
RadioEnable() command -

[ASYNC] Request to enable or disable this radio.

This command can result in updating Enabled.

If the instance of this Radio is the same as Device.WiFi.Radio.{i}., then this command has the same effect as writing to Device.WiFi.Radio.{i}.Enable.

- 2.15
SetSpatialReuse() command -

[ASYNC] This command sets the spatial reuse configuration of this radio. Applies only to Wi-Fi 6 and possibly later generations of radios.

Acronyms: Spatial Reuse Group (SRG), Overlapping Basic Service Set (OBSS), Preamble Detection (PD).

This command can configure {{object: non-existent #.SpatialReuse.}}.

If some input parameter(s) are not provided, then the corresponding existing parameter in {{object: non-existent #.SpatialReuse.}} applies.

- 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability. object R This object describes the channel scan capabilities of a radio. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability.OpClassChannels.{i}. object(1:) R

Table of the operating classes (selected from [Table E-4/802.11-2020]) and channel numbers in each operating class that the radio is capable of scanning.

This table MUST contain at least 1 entry.

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

- 2.15
ChannelList unsignedInt(:255)[] R Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class for which the capabilityradio is beingcapable described.of scanning. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability. object R This object describes the Channel Availability Check (CAC) capabilities of a radio. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}. object(0:4) R

List of Channel Availability Check (CAC) method information for each type of CAC that the radio can perform. Each type is defined by a method and time to complete. For each type, the classes and channels allowed are enumerated.

This table MUST contain at least 0 and at most 4 entries.

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

- 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}.OpClassChannels.{i}. object(1:) R

Table of the operating classes (selected from [Table E-4/802.11-2020]) and channel numbers in each operating class supported for this method of CAC.

This table MUST contain at least 1 entry.

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

- 2.15
OpClass unsignedInt(:255) R

The Operating Class per [Table E-4/802.11-2020] For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid..

Note that the operating class identifies the band and channel width.

- 2.15
ChannelList unsignedInt(:255)[] R Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class that are supported for whichthis themethod capabilityof is being described.CAC. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities. object R This object represents the capabilities of the radio which may be different from the current operational configuration. - 2.13
HECapabilities base64(4:14) R
Describes the HE capabilities of the radio as defined by the HECapabilities TLV [Section 17.2.10/EasyMesh].
This parameter was DEPRECATED in 2.15 because it is superseded by **{{object: non-existent [WiFi6APRole]{.inserted}** and {{object: non-existent WiFi6bSTARole}}}}.
- 2.13
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}. object(0:) R

Describes one of the current Operating Classes in use by this Radio. One Operating Class is indicated for each current Operating Channel Bandwidth.

The Channel indicated for the 20 MHz Operating Class is equal to the current primary channel.

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

- 2.13
TransmitPowerLimit int(-128:127) R This is the upper limit on nominal transmit Equivalent Isotropically Radiated Power (EIRP) that this radio is allowed to use for the current {param|TransmitPowerLimitClass}}. In units of decibels relative to 1 mW dBm.}} - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.DisAllowedOpClassChannels.{i}. object(0:) W

The operating classes, and list of channels for each operating class, which are not allowed to be used on this radio.

At most one entry in this table can exist with a given value for OpClass. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for OpClass such that the new entry does not conflict with any existing entries.

- 2.15
OpClass unsignedInt(:255) W

The Operating Class per [Table E-4/802.11-2020] For 2.4GHz and 5GHz bands, only 20MHz Operating Classes are valid..

Note that the operating class identifies the band and channel width.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

- 2.15
ChannelList unsignedInt(:255)[] W Comma-separated list of unsigned integers (up to 255). The channel numbers in this Operating Class forthat whichare thenot capabilityallowed isto beingbe described.used on this radio. - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}. object(1:) R

A single logical BSS operating on this radio.

This table MUST contain at least 1 entry.

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

- 2.13
BSSID string(:17) R

[MACAddress] The MAC Address of the logical BSS (BSSID).

If the instance of this BSS is the same as Device.WiFi.SSID.{i}., then this parameter is the same as Device.WiFi.SSID.{i}.BSSID.

- 2.13
SSID string R

The SSID in use for this BSS.

If the instance of this BSS is the same as Device.WiFi.SSID.{i}., then this parameter is the same as Device.WiFi.SSID.{i}.SSID.

- 2.13
Enabled boolean R

Whether the BSSID is currently enabled (beaconing frames are being sent) or disabled.

If the instance of this BSS is the same as Device.WiFi.SSID.{i}., then this parameter is the same as Device.WiFi.SSID.{i}.Enable.

- 2.13
LastChange unsignedInt R

Time in seconds since the last change to the Enabled value.

If the instance of this BSS is the same as Device.WiFi.SSID.{i}., then this parameter is the same as Device.WiFi.SSID.{i}.LastChange.

- 2.13
SetQMDescriptors() command -

[ASYNC] This command configures each of the descriptor elements for Mirrored Stream Classification Service (MSCS), Stream Classification Service (SCS), or QoS Management. [EasyMesh].

This command can configure {{object: non-existent QMDescriptor.{i}.}}.

If {{param: non-existent Input.QMDescriptor.{i}.DescriptorElement}} is for SCS or MSCS, the AP adds/changes/removes the rule according to the descriptor element request type.

If a {{param: non-existent Input.QMDescriptor.{i}.DescriptorElement}} is a QoS Management DSCP Policy, the AP sends it to the STA identified by the {{param: non-existent Input.QMDescriptor.{i}.ClientMAC}}.

- 2.15
⇒ Input. arguments - Input arguments. -
QMDescriptor.{i}. object(1:) W

This object contains a table of DescriptorElement.

This table MUST contain at least 1 entry. This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
DescriptorElement hexBinary W

[MANDATORY] The descriptor element. One of:

MSCS descriptor element (as described in [Section 9.4.2.243/802.11-2020], or
SCS descriptor element (as described in [Section 9.4.2.121/802.11-2020], or
QoS Management DSCP policy element (as described in **{{bibref: non-existent {{inserted: unexpected argument Section 9.4.2.94 after: 802.11-2020}} and **{{bibref: non-existent }}RFC8325}}).
- 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.QMDescriptor.{i}. object(0:) R

This object contains a table of DescriptorElement.

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

- 2.15
DescriptorElement hexBinary R

The descriptor element. One of:

MSCS descriptor element (as described in [Section 9.4.2.243/802.11-2020], or
SCS descriptor element (as described in [Section 9.4.2.121/802.11-2020], or
QoS Management DSCP policy element (as described in **{{bibref: non-existent {{inserted: unexpected argument Section 9.4.2.94 after: 802.11-2020}} and **{{bibref: non-existent }}RFC8325}}).
- 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}. object(0:) R

Object describing a single Associated Device (STA).

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

- 2.13
MACAddress string(:17) R

[MACAddress] The MAC address of an associated device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.MACAddress.

- 2.13
HECapabilities base64(4:14) R
Describes the HE capabilities of the Associated Device (STA).
This parameter was DEPRECATED in 2.15 because it is superseded by **{{object: non-existent [WiFi6Capabilities]{.inserted}**}}.
- 2.13
LastDataDownlinkRate unsignedInt R

The data transmit rate in kbps that was most recently used for transmission of data from the access point to the associated device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate.

- 2.13
LastDataUplinkRate unsignedInt R

The data transmit rate in kbps that was most recently used for transmission of data from the associated device to the access point.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate.

- 2.13
SignalStrength unsignedInt(:255) R

An indicator of radio signal strength of the uplink from the associated STA to the access point - measured in dBm. RCPI thresholdis (encodedencoded per [Table 9-176/802.11-2020]},, and described in [Section 10.3.1/EasyMesh]). Reserved: 221 - 255.

NOTE: The underlying WFA specification is in the process of being reviewed for possible clarification. Please refer to that specification for more details.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.SignalStrength.

- 2.13
BytesSent unsignedLong R

[StatsCounter64] The total number of bytes transmitted to the Associated Device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesSent.

- 2.13
BytesReceived unsignedLong R

[StatsCounter64] The total number of bytes received from the Associated Device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.BytesReceived.

- 2.13
PacketsSent unsignedLong R

[StatsCounter64] The total number of packets transmitted to the Associated Device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsSent.

- 2.13
PacketsReceived unsignedLong R

[StatsCounter64] The total number of packets received from the Associated Device.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.PacketsReceived.

- 2.13
ErrorsSent unsignedLong R

[StatsCounter64] The total number of outbound packets that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsSent.

- 2.13
ErrorsReceived unsignedLong R

[StatsCounter64] The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.ErrorsReceived.

- 2.13
RetransCount unsignedLong R

[StatsCounter64] The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.

If the instance of this STA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}, then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats.RetransCount.

- 2.13
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA. object R

The summary of statistics and operations for an individual STA on the Wi-Fi network.

The counters contained in MultiAPSTA are all reset on reboot.

- 2.15
AssociationTime dateTime R

Date and time in UTC when the device was associated.

If the instance of this MultiAPSTA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}., then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.AssociationTime.

- 2.15
Noise unsignedInt(:255) R

An indicator of the average radio noise plus interference power measured on the uplink from the Associated Device (STA) to the Access Point (AP).

Encoded as defined for ANPI in [Section 11.10.9.4/802.11-2020].

If the instance of this MultiAPSTA is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}., then this parameter is the same as Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Noise.

- 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.MultiAPRadio. object R This object represents an individual Access Point Radio in the Wi-Fi network. - 2.15
FullScan() command -

[ASYNC] This parameter represents a request to initiate a full scan on this radio, including all channels supported by this radio, for a specific DwellTime and HomeTime. This command will result in updating Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.

If the instance of this MultiAPRadio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}, then this command is similar to, Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ChannelScanRequest().

- 2.15
⇐ Output. arguments - Output arguments. -
ScanResult.{i}. object(0:) R

The list of neighboring Access Points discovered by a Radio organized per Operating Class and Channel tuple.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.15
ScanResult.{i}.OpClassScan.{i}. object(0:) R

The Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}. object(0:) R

The Channel associated with an Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}. object(0:) R

The neighboring BSS discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
SecurityModeEnabled string R

The type of encryption the neighboring WiFi SSID advertises.

The WEP value indicates either WEP-64 or WEP-128.

The WPA value is the same as WPA-Personal.

The WPA2 value is the same as WPA2-Personal.

The WPA-WPA2 value is the same as WPA-WPA2-Personal.

The WPA3-SAE value is the same as WPA3-Personal.

The WPA2-PSK-WPA3-SAE value is the same as WPA3-Personal-Transition.

Enumeration of:

  • None
  • WEP
  • WPA
  • WPA2
  • WPA-WPA2
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA-WPA2-Enterprise
  • WPA3-SAE
  • WPA2-PSK-WPA3-SAE
  • WPA3-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.15
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this NeighborBSS instance can support simultaneously, in the frequency band specified by {{param: non-existent #.Channel}}. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

- 2.15
DTIMPeriod unsignedInt R The number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2020] - 2.15
ChannelScan() command -

[ASYNC] This parameter represents a request to initiate a channel scan on this radio on the given channel using a specific DwellTime. This command should result in updating Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.

If the instance of this MultiAPRadio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}, then this command is similar to, Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ChannelScanRequest().

- 2.15
⇐ Output. arguments - Output arguments. -
ScanResult.{i}. object(0:) R

The list of neighboring Access Points discovered by a Radio organized per Operating Class and Channel tuple.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.15
ScanResult.{i}.OpClassScan.{i}. object(0:) R

The Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}. object(0:) R

The Channel associated with an Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}. object(0:) R

The neighboring BSS discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
SecurityModeEnabled string R

The type of encryption the neighboring WiFi SSID advertises.

The WEP value indicates either WEP-64 or WEP-128.

The WPA value is the same as WPA-Personal.

The WPA2 value is the same as WPA2-Personal.

The WPA-WPA2 value is the same as WPA-WPA2-Personal.

The WPA3-SAE value is the same as WPA3-Personal.

The WPA2-PSK-WPA3-SAE value is the same as WPA3-Personal-Transition.

Enumeration of:

  • None
  • WEP
  • WPA
  • WPA2
  • WPA-WPA2
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA-WPA2-Enterprise
  • WPA3-SAE
  • WPA2-PSK-WPA3-SAE
  • WPA3-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.15
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this NeighborBSS instance can support simultaneously, in the frequency band specified by {{param: non-existent #.Channel}}. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

- 2.15
DTIMPeriod unsignedInt R The number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2020] - 2.15
Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}. object(0:) R

Each instance represents a Non-AP STA that has been discovered by the Radio but is not associated to any of the BSS operating on the Radio.

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

- 2.13
SignalStrength unsignedInt(:255) R

An indicator of radio signal strength (RCPI) of the uplink from the Non-AP STA - measured in dBm. (RCPI thresholdRCPI is encoded per [Table 9-176/802.11-2020], and described in [Section 10.3.2/EasyMesh]).. Reserved: 221 - 255.

NOTE: The underlying WFA specification is in the process of being reviewed for possible clarification. Please refer to that specification for more details.

- 2.13
Device.WiFi.DataElements.AssociationEvent. object R This object contains the events generated when a STA associates to a BSS. - 2.13
Associated! event - The event is generated when an Associated Device (STA) associates to a BSS.

Changes in 2.16:

- 2.15
HECapabilities base64(4:14) R
Describes the HE capabilities of the Associated Device (STA).
This parameter was DEPRECATED in 2.16 because it is superseded by WiFi6Capabilities.

Changes in 2.16:

  • Added status = deprecated
- 2.15
ClientCapabilities base64 R The frame body of the (Re)Association Request frame received from this client (STA), as defined in Table 9-34 and Table 9-36 of [802.11-2020] in the order of the underlying referenced standard. - 2.16
WiFi6Capabilities. object R Describes the Wi-Fi 6 capabilities of the Associated Device (STA). - 2.16
HE160 boolean R Indicates support for High Efficiency (HE) 160 MHz. - 2.16
HE8080 boolean R Indicates support for HE 80+80 MHz. - 2.16
MCSNSS base64(4:12) R Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and Number of Spatial Streams (NSS) Set field as defined in [Figure 9-788d/802.11ax] Supported HE-MCS And NSS Set field format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz is supported. - 2.16
SUBeamformer boolean R Indicates support for Single-User (SU) Beamformer. - 2.16
SUBeamformee boolean R Indicates support for SU Beamformee. - 2.16
MUBeamformer boolean R Indicates support for Multi-User (MU) Beamformer. - 2.16
Beamformee80orLess boolean R Indicates support for Beamformee Space-Time Stream (STS) ≤ 80 MHz. - 2.16
BeamformeeAbove80 boolean R Indicates support for Beamformee STS > 80 MHz. - 2.16
ULMUMIMO boolean R Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple Output (MU-MIMO). - 2.16
ULOFDMA boolean R Indicates support for UL Orthogonal Frequency Division Multiplexing (OFDMA). - 2.16
MaxDLMUMIMO unsignedInt(:255) R Max number of users supported per DL MU-MIMO Transmitter (TX) in an AP role. - 2.16
MaxULMUMIMO unsignedInt(:255) R Max number of users supported per UL MU-MIMO Receiver (RX) in an AP role. - 2.16
MaxDLOFDMA unsignedInt(:255) R Max number of users supported per Downlink (DL) OFDMA TX in an AP role. - 2.16
MaxULOFDMA unsignedInt(:255) R Max number of users supported per UL OFDMA RX in an AP role. - 2.16
RTS boolean R Indicates support for Request To Send (RTS). - 2.16
MURTS boolean R Indicates support for MU RTS. - 2.16
MultiBSSID boolean R Indicates support for Multi-Basic Service Set Identifier (BSSID). - 2.16
MUEDCA boolean R Indicates support for MU Enhanced distributed channel access (EDCA). - 2.16
TWTRequestor boolean R Indicates support for Target Wake Time (TWT) Requestor. - 2.16
TWTResponder boolean R Indicates support for TWT Responder. - 2.16
SpatialReuse boolean R Indicates support for EasyMesh configuration and reporting of BSS Color and Spatial Reuse. - 2.16
AnticipatedChannelUsage boolean R Indicates support for Anticipated Channel Usage (ACU) reporting. - 2.16
Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}. object(0:) R The events generated when an Associated Device (STA) associates to a BSS.

Changes in 2.16:

- 2.13
HECapabilities base64(4:14) R
Describes the HE capabilities of the Associated Device (STA).
This parameter was DEPRECATED in 2.16 because it is superseded by WiFi6Capabilities.

Changes in 2.16:

  • Added status = deprecated
- 2.13
ClientCapabilities base64 R The frame body of the (Re)Association Request frame received from this client (STA), as defined in Table 9-34 and Table 9-36 of [802.11-2020] in the order of the underlying referenced standard. - 2.16
Device.WiFi.Radio.{i}. object(0:) R

This object models an 802.11 wireless radio on a device (a stackable interface object as described in [Section 4.2/TR-181i2]).

If the device can establish more than one connection simultaneously (e.g. a dual radio device), a separate Radio instance MUST be used for each physical radio of the device. See [Appendix III.1/TR-181i2] for additional information.

Note: A dual-band single-radio device (e.g. an 802.11a/b/g radio) can be configured to operate at 2.4 or 5 GHz frequency bands, but only a single frequency band is used to transmit/receive at a given time. Therefore, a single Radio instance is used even for a dual-band radio.

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

- 2.0
Enable boolean W

Enables or disables the radio.

This parameter is based on ifAdminStatus from [RFC2863].

If the instance of this Radio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}, then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Enabled.

- 2.0
SupportedFrequencyBands string[] R

Comma-separated list of strings. List items indicate the frequency bands at which the radio can operate.

Each list item is an enumeration of:

  • 2.4GHz
  • 5GHz
  • 6GHz (Added in 2.16)

Changes in 2.16:

  • Added string 6GHz enumeration
- 2.0
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this Radio instance can support simultaneously, in the frequency band specified by OperatingFrequencyBand. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

If OperatingFrequencyBand is set to 2.4GHz, only values b, g, n, ax are allowed.

If OperatingFrequencyBand is set to 5GHz, only values a, n, ac, ax are allowed.

If OperatingFrequencyBand is set to 6GHz, only value ax is allowed.

- 2.0
OperatingStandards string[] W

Each list item MUST be a member of the list reported by the SupportedStandards parameter. Comma-separated list of strings. List items indicate which IEEE 802.11 standard this Radio instance is configured for.

Each value indicates support for the indicated standard.

If OperatingFrequencyBand is set to 2.4GHz, only values b, g, n, ax are allowed.

If OperatingFrequencyBand is set to 5GHz, only values a, n, ac, ax are allowed.

If OperatingFrequencyBand is set to 6GHz, only value ax is allowed.

For example, a value of “g,b” (or “b,g” - order is not important) means that the 802.11g standard [802.11g-2003] is used with a backwards-compatible mode for 802.11b [802.11b-1999]. A value of “g” means that only the 802.11g standard can be used.

- 2.0
Channel unsignedInt(1:255) W

The current radio channel used by the connection. To request automatic channel selection, set AutoChannelEnable to true.

Whenever AutoChannelEnable is true, the value of the Channel parameter MUST be the channel selected by the automatic channel selection procedure.

For channels in “wide mode” (802.11n where a 40MHz channel bandwidth is used), this parameter is used for Primary Channel only. The secondary or extension channel information is available through ExtensionChannel.

Note: Valid Channel values depend on the OperatingFrequencyBand value specified and the RegulatoryDomain.

If the instance of this Radio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Channel.

- 2.0
FirmwareVersion string(:64) R

This radio’s WiFi firmware version.

If the instance of this Device is the same as Device.WiFi.DataElements.Network.Device.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.SoftwareVersion.

- 2.12
SupportedOperatingChannelBandwidths string[] R Comma-separated list of strings. These are the valid writable values for OperatingChannelBandwidth.

Each list item is an enumeration of: Each list item is an enumeration of:

  • 20MHz
  • 40MHz (wide mode)
  • 80MHz (802.11ac and 802.11ax only)
  • 160MHz (802.11ac and 802.11ax only)
  • 80+80MHz (802.11ac and 802.11ax only)
  • Auto
- 2.12
CurrentOperatingChannelBandwidth string R The channel bandwidth currently in use. {{enum: only valid as argument}} - 2.11
CenterFrequencySegement0 unsignedInt W
When operating in 80+80MHz, this parameter determines the Center Frequency Segment 0 for the first 80 MHz channel. See [Section 9.4.2.161/802.11-2016] and Table 9-252.
This parameter was DEPRECATED in 2.14 due to a typo. Use CenterFrequencySegment0 instead.
This parameter was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.13
CenterFrequencySegement1 unsignedInt W
When operating in 80+80MHz, this parameter determines the Center Frequency Segment 1 for the second 80 MHz channel. See [Section 9.4.2.161/802.11-2016] and Table 9-252.
This parameter was DEPRECATED in 2.14 due to a typo. Use CenterFrequencySegment1 instead.
This parameter was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.13
TransmitPower int(-1:100) W

Indicates the current transmit power level as a percentage of full power. The value MUST be one of the values reported by the TransmitPowerSupported parameter. A value of -1 indicates auto mode (automatic decision by CPE).

If the instance of this Radio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.TxPower.

- 2.0
RegulatoryDomain string(3) W

The 802.11d Regulatory Domain. First two octets are [ISO3166-1] two-character country code. The third octet is either “ “ (all environments), “O” (outside) or “I” (inside).

If the instance of this Device is the same as Device.WiFi.DataElements.Network.Device.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.CountryCode.

Possible patterns:

  • [A-Z][A-Z][ OI]
- 2.0
DTIMPeriod unsignedInt W This specifies the number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM Count field is 0. This parameter is based on dot11DTIMPeriod from [802.11-2020].

Changes in 2.16:

  • Added unsignedInt ms units
- 2.8
SupportedDataTransmitRates string[] R

Comma-separated list of strings. DataMaximum radio data transmit rates in Mbps for unicast frames at which the access point will permit a station to connect (a subsetsuperset of {{param: non-existent BasicDataTransmitRates}}). Given the valuesvalue of BasicDataTransmitRates and OperationalDataTransmitRates from the examplesexample above, SupportedDataTransmitRates might be “1,2,5.5”,“1,2,5.5,11”, indicating that theunicast APframes willcan onlyadditionally permitbe connectionstransmitted at 1 Mbps, 25.5 Mbps and 5.5 Mbps, even though it could theoretically accept connections at 11 Mbps.

SupportedDataTransmitRates indicates equipment capability. This radio is capable of supporting these data rates.

- 2.8
OperationalDataTransmitRates string[] W

Comma-separated list of strings. Maximum access point dataData transmit rates in Mbps for unicast frames at which the radio will permit operation with any associated station (a supersetsubset of {{param: non-existent SupportedDataTransmitRates}}). Given the valuevalues of BasicDataTransmitRates and SupportedDataTransmitRates from the exampleexamples above, OperationalDataTransmitRates might be “1,2,5.5,11”,“1,2,5.5”, indicating that unicastthe framesradio canwill additionallyonly bepermit transmittedoperation at 5.51 Mbps, 2 Mbps and 5.5 Mbps, even though it could theoretically operate at 11 Mbps.

This radio is limited to allowing operation only at these data rates. Note: Setting OperationalDataTransmitRates can’t increase the set of possible data rates but could narrow them.

- 2.8
InitiateCCAMeasurement() command - [ASYNC] This command represents a request to initiate a Clear Channel Assessment (CCA) measurement scan on this radio on the given channel using a specific DwellTime.

Changes in 2.16:

- 2.15
⇒ Input. arguments - Input arguments. -
Frequency string W

[MANDATORY] Frequency of the channel the clear channel assessment (CCA) measurement is run on.

Enumeration of:

  • 2.4GHz
  • 5GHz
  • 6GHz (Added in 2.16)
- 2.16
FullScan() command -

[ASYNC] This parameter represents a request to initiate a full scan on this radio, including all channels supported by this radio, for a specific DwellTime and HomeTime. This command will result in updating Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.

If the instance of this Radio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}, then this command is similar to, Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ChannelScanRequest().

- 2.15
⇐ Output. arguments - Output arguments. -
ScanResult.{i}. object(0:) R

The list of neighboring Access Points discovered by a Radio organized per Operating Class and Channel tuple.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.15
ScanResult.{i}.OpClassScan.{i}. object(0:) R

The Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}. object(0:) R

The Channel associated with an Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}. object(0:) R

The neighboring BSS discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
SecurityModeEnabled string R

The type of encryption the neighboring WiFi SSID advertises.

The WEP value indicates either WEP-64 or WEP-128.

The WPA value is the same as WPA-Personal.

The WPA2 value is the same as WPA2-Personal.

The WPA-WPA2 value is the same as WPA-WPA2-Personal.

The WPA3-SAE value is the same as WPA3-Personal.

The WPA2-PSK-WPA3-SAE value is the same as WPA3-Personal-Transition.

Enumeration of:

  • None
  • WEP
  • WPA
  • WPA2
  • WPA-WPA2
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA-WPA2-Enterprise
  • WPA3-SAE
  • WPA2-PSK-WPA3-SAE
  • WPA3-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.15
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this NeighborBSS instance can support simultaneously, in the frequency band specified by {{param: non-existent #.Channel}}. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

- 2.15
DTIMPeriod unsignedInt R The number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2020] - 2.15
ChannelScan() command -

[ASYNC] This parameter represents a request to initiate a channel scan on this radio on the given channel using a specific DwellTime. This command should result in updating Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanResult.

If the instance of this Radio is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}, then this command is similar to, Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ChannelScanRequest().

- 2.15
⇐ Output. arguments - Output arguments. -
ScanResult.{i}. object(0:) R

The list of neighboring Access Points discovered by a Radio organized per Operating Class and Channel tuple.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.15
ScanResult.{i}.OpClassScan.{i}. object(0:) R

The Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}. object(0:) R

The Channel associated with an Operating Class of neighboring Access Points discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}. object(0:) R

The neighboring BSS discovered by a Radio during a channel scan.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.15
SecurityModeEnabled string R

The type of encryption the neighboring WiFi SSID advertises.

The WEP value indicates either WEP-64 or WEP-128.

The WPA value is the same as WPA-Personal.

The WPA2 value is the same as WPA2-Personal.

The WPA-WPA2 value is the same as WPA-WPA2-Personal.

The WPA3-SAE value is the same as WPA3-Personal.

The WPA2-PSK-WPA3-SAE value is the same as WPA3-Personal-Transition.

Enumeration of:

  • None
  • WEP
  • WPA
  • WPA2
  • WPA-WPA2
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA-WPA2-Enterprise
  • WPA3-SAE
  • WPA2-PSK-WPA3-SAE
  • WPA3-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.15
SupportedStandards string[] R

Comma-separated list of strings. List items indicate which IEEE 802.11 standards this NeighborBSS instance can support simultaneously, in the frequency band specified by {{param: non-existent #.Channel}}. Each list item is an enumeration of:

Each value indicates support for the indicated standard.

- 2.15
DTIMPeriod unsignedInt R The number of beacon intervals (measured in ms) that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2020] - 2.15
Device.WiFi.Radio.{i}.Stats. object R Throughput statistics for this interface. Packet counters here count 802.11 WiFi frames. See [Appendix III/TR-181i2] for further details. The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s Status parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s Enable parameter transitions from false to true). Administrative and operational interface status is discussed in [Section 4.2.2/TR-181i2]. - 2.0
Noise int R

An indicator of average noise strength received at this radio, measured in dBm. This measurement of non-IEEE 802.11 noise power is made by sampling the channel when virtual carrier sense indicates idle and this radio is neither transmitting nor receiving a frame.

If the instance of this Stats is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Noise.

- 2.8
TotalChannelChangeCount unsignedInt R The total number of times that the Channel has changed since the {{object: non-existent #}} entered its current operating state. - 2.12
ManualChannelChangeCount unsignedInt R The number of times that the Channel has changed due to manual channel selection since the {{object: non-existent #}} entered its current operating state. - 2.12
AutoStartupChannelChangeCount unsignedInt R The number of times that the Channel has changed due to automatic channel selection procedure launched at radio startup since the {{object: non-existent #}} entered its current operating state. - 2.12
AutoUserChannelChangeCount unsignedInt R The number of times that the Channel has changed due to automatic channel selection procedure triggered by the user (e.g. via a GUI) since the {{object: non-existent #}} entered its current operating state. - 2.12
AutoRefreshChannelChangeCount unsignedInt R The number of times that the Channel has changed due to automatic channel selection procedure triggered by the AutoChannelRefreshPeriod timer since the {{object: non-existent #}} entered its current operating state. - 2.12
AutoDynamicChannelChangeCount unsignedInt R The number of times that the Channel has changed due to automatic channel selection procedure dynamically triggered to adjust to environmental interference since the {{object: non-existent #}} entered its current operating state. - 2.12
AutoDFSChannelChangeCount unsignedInt R The number of times that the Channel has changed due to automatic channel selection procedure triggered by DFS [ETSIBRAN] since the {{object: non-existent #}} entered its current operating state. - 2.12
Device.WiFi.SSID.{i}. object(0:) W

WiFi SSID table (a stackable interface object as described in [Section 4.2/TR-181i2]), where table entries model the MAC layer. A WiFi SSID entry is typically stacked on top of a Radio object.

WiFi SSID is also a multiplexing layer, i.e. more than one SSID can be stacked above a single Radio.

At most one entry in this table can exist with a given value for Alias, or with a given value for Name, or with a given value for BSSID. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, Name and BSSID such that the new entry does not conflict with any existing entries.

- 2.0
Enable boolean W

Enables or disables the SSID entry.

This parameter is based on ifAdminStatus from [RFC2863].

If the instance of this SSID is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.Enabled.

false 2.0
LastChange unsignedInt R

The accumulated time in seconds since the SSID entered its current operational state.

If the instance of this SSID is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.LastChange.

Value Change Notification requests for this parameter MAY be denied.

- 2.0
BSSID string(:17) R

[MACAddress] The Basic Service Set ID.

This is the MAC address of the access point, which can either be local (when this instance models an access point SSID) or remote (when this instance models an end point SSID).

If the instance of this SSID is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.BSSID.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

- 2.0
MACAddress string(:17) R

[MACAddress] The MAC address of this interface.

If this instance models an access point SSID, MACAddress is the same as BSSID.

Note: This is not necessarily the same as the Ethernet header source or destination MAC address, which is associated with the IP interface and is modeled via the {{param: non-existent ##.Ethernet.Link.{i}.MACAddress}} parameter.

- 2.0
SSID string(:32) W

The current service set identifier in use by the connection. The SSID is an identifier that is attached to packets sent over the wireless LAN that functions as an ID for joining a particular radio network (BSS).

If the instance of this SSID is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.SSID.

- 2.0
SetATF unsignedInt(0:100) W Configures the ATF setting for all associated devices on an individual SSID. Expressed as percentagepercent of airtime, such that no station should exceed this percentage. - 2.14
Device.WiFi.AccessPoint.{i}. object(0:) 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 can exist with a given value for Alias, or with a given value for SSIDReference. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
MaxAssociatedDevices unsignedInt W
The maximum number of devices that can simultaneously be connected to the access point.
A value of 0 means that there is no specific limit.
This parameter was DEPRECATED in 2.13 in favor of MaxAllowedAssociations.
This parameter was OBSOLETED in 2.14-2.15.
This parameter was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted
0 2.4
Device.WiFi.AccessPoint.{i}.Security. object R This object contains security related parameters that apply to a CPE acting as an Access Point [802.11-2007].

Changes in 2.16:

- 2.0
ModesSupported string[] R

Comma-separated list of strings. Indicates which security modes this AccessPoint instance is capable of supporting.

The WPA3-Personal value is the same as WPA3-SAE.

The WPA3-Personal-Transition value is the same as WPA2-PSK-WPA3-SAE.

Each list item is an enumeration of:

  • None
  • WEP-64
  • WEP-128
  • WPA-Personal
  • WPA2-Personal
  • WPA3-Personal
  • WPA-WPA2-Personal
  • WPA3-Personal-Transition
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA3-Enterprise
  • WPA-WPA2-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.0
WEPKey hexBinary(5,13) W

A WEP key expressed as a hexadecimal string.

WEPKey is used only if ModeEnabled is set to WEP-64 or WEP-128.

A 5 byte WEPKey corresponds to security mode WEP-64 and a 13 byte WEPKey corresponds to security mode WEP-128.

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

Changes in 2.16:

  • Removed hexBinary(5,13) syntax hidden = true
  • Added hexBinary(5,13) syntax secured = true
- 2.0
PreSharedKey hexBinary(:32) W

A literal PreSharedKey (PSK) expressed as a hexadecimal string.

PreSharedKey is only used if ModeEnabled is set to WPA-Personal or WPA2-Personal or WPA-WPA2-Personal.

If KeyPassphrase is written, then PreSharedKey is immediately generated. The Controller SHOULD NOT set both the KeyPassphrase and the PreSharedKey directly (the result of doing this is undefined).

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

Changes in 2.16:

  • Removed hexBinary(:32) syntax hidden = true
  • Added hexBinary(:32) syntax secured = true
- 2.0
KeyPassphrase string(8:63) W

A passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.

If KeyPassphrase is written, then PreSharedKey for WPA2 is immediately generated. The Controller SHOULD NOT set both the KeyPassphrase and the PreSharedKey directly (the result of doing this is undefined). The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 ([RFC2898]).

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

Changes in 2.16:

  • Removed string(8:63) syntax hidden = true
  • Added string(8:63) syntax secured = true
- 2.0
SAEPassphrase string W

A passphrase for WPA3-Personal or WPA3-Personal-Transition security modes.

NOTE: this parameter is for WPA3. WPA2 PreSharedKey is generated from KeyPassphrase.

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.13
RadiusSecret string W

The secret used for handshaking with the RADIUS server [RFC2865].

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.0
SecondaryRadiusSecret string W

The secret used for handshaking with the secondary RADIUS server [RFC2865].

If this parameter is not implemented, the secondary RADIUS server will use the same secret as the primary RADIUS server.

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.5
SPPAMSDU string W

Signaling and Payload Protected for A-MSDU frames.

Enumeration of:

  • Disabled (This AP does not advertise supporting SPP A-MSDU)
  • Capable (This AP advertises supporting SPP A-MSDU)
  • Required (This AP advertises supporting SPP A-MSDU and refuses non-SPP A-MSDU frames)
- 2.16
TransitionDisableIndication boolean W Sets the transition disable indication. When this parameter is enabled with ModeEnabled set to a transition mode, such as WPA3-Personal-Transition, stations connected to the AP are not allowed to transition between the security modes allowed by the transition mode. Stations capable of the more secure security mode allowed by the transition, as defined in [WPA3v3.0], will always communicate to the AP using it. true 2.16
Reset() command -

Reset this Security instance’s WiFi security settings to their factory default values. The affected settings include ModeEnabled, WEPKey, PreSharedKey, KeyPassphrase, SAEPassphrase, and WPS.PIN (if applicable).

If the command cannot be executed, the agent MUST reject the command. Possible failure reasons include a lack of default values or if ModeEnabled is an Enterprise type, i.e. WPA-Enterprise, WPA2-Enterprise, WPA3-Enterprise, or WPA-WPA2-Enterprise.

Changes in 2.16:

  • Added async = false
- 2.12
Device.WiFi.AccessPoint.{i}.WPS. object R This object contains parameters related to Wi-Fi Protected Setup for this access point (as specified in [WPSv1.0] or {bibref|WPSv2.0[WPS 2.0]).).}} - 2.0
Status string R

{{list: parameter is not a list}} Indicates the current status of WPS. If the device goes to SetupLocked the WPS needs to be disabled and re-enabled to come out of state.

Enumeration of:

  • Disabled
  • Error
  • Unconfigured
  • Configured
  • SetupLocked
- 2.11
PIN string(:8) W

Represents the Device PIN used for PIN based pairing between WPS peers. This PIN is either a four digit number or an eight digit number.{{hidden}}

Possible patterns:

  • \d{4}|\d{8}

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

Changes in 2.16:

  • Removed string(:8) syntax hidden = true
  • Added string(:8) syntax secured = true
- 2.11
Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}. object(0:) R

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
MACAddress string(:17) R

[MACAddress] The MAC address of an associated device.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MACAddress.

- 2.0
SetStaATF unsignedInt(0:100) W Configures the Air Time Fairness (ATF) setting of this individual associated device. Expressed as percentagepercent of airtime, such that this associated device should not exceed this percentage. Setting this value overrides {{param: non-existent ##.SSID.{i}.SetATF}} for this associated device. - 2.14
LastDataDownlinkRate unsignedInt(1000:) R

The data transmit rate in kbps that was most recently used for transmission from the access point to the associated device.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastDataDownlinkRate.

Value Change Notification requests for this parameter MAY be denied.

- 2.0
LastDataUplinkRate unsignedInt(1000:) R

The data transmit rate in kbps that was most recently used for transmission from the associated device to the access point.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastDataUplinkRate.

Value Change Notification requests for this parameter MAY be denied.

- 2.0
AssociationTime dateTime R

Date and time in UTC when the device was associated

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.LastConnectTime.

- 2.12
SignalStrength int(-200:0) R

An indicator of radio signal strength of the uplink from the associated device to the access point, measured in dBm, as an average of the last 100 packets received from the device.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.SignalStrength.

- 2.0
Noise int(-200:0) R

An indicator of radio noise on the uplink from the associated device to the access point, measured in dBm, as an average of the last 100 packets received from the device (see ANPI definition in [Clause 10.11.9.4/802.11-2012])

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.Noise.

- 2.12
Retransmissions unsignedInt(0:100) R

The number of packets that had to be re-transmitted, from the last 100 packets sent to the associated device. Multiple re-transmissions of the same packet count as one.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.RetransCount.

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

These count bytes or packets sent to, or received from, this Associated Device, which is a WiFi station associated to this access point. Packet counters here count 802.11 WiFi frames.

The CPE MUST reset these Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the Status of the parent AccessPoint object transitions from Disabled to Enabled, or when it transitions from Enabled to Disabled.

- 2.8
BytesSent unsignedLong R

[StatsCounter64] The total number of bytes transmitted to the Associated Device, including framing characters.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.BytesSent.

- 2.8
BytesReceived unsignedLong R

[StatsCounter64] The total number of bytes received from the Associated Device, including framing characters.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.BytesReceived.

- 2.8
PacketsSent unsignedLong R

[StatsCounter64] The total number of packets transmitted to the Associated Device.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.PacketsSent.

- 2.8
PacketsReceived unsignedLong R

[StatsCounter64] The total number of packets received from the Associated Device.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.PacketsReceived.

- 2.8
ErrorsSent unsignedInt R

[StatsCounter32] The total number of outbound packets that could not be transmitted because of errors. These might be due to the number of retransmissions exceeding the retry limit, or from other causes.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ErrorsSent.

- 2.8
ErrorsReceived unsignedInt R

[StatsCounter32] The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ErrorsReceived.

- 2.14
RetransCount unsignedInt R

[StatsCounter32] The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two.

If the instance of this AssociatedDevice is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}., then this parameter is the same as Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.RetransCount.

- 2.8
Device.WiFi.AccessPoint.{i}.Accounting. object R This object contains the parameters related to RADIUS accounting functionality for the access point. - 2.5
Secret string W

The secret used for handshaking with the RADIUS accounting server [RFC2865].

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.5
SecondarySecret string W

The secret used for handshaking with the secondary RADIUS accounting server [RFC2865].

If this parameter is not implemented, the secondary RADIUS server will use the same secret as the primary RADIUS server.

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.5
Device.WiFi.EndPoint.{i}. object(0:) W

This object models an 802.11 connection from the perspective of a wireless end point. Each EndPoint entry is associated with a particular SSID interface instance via the SSIDReference parameter, and an associated active Profile instance via the ProfileReference parameter. The active profile is responsible for specifying the actual SSID and security settings used by the end point.

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

Note: The EndPoint 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 EndPoint 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 EndPoint row.

At most one entry in this table can exist with a given value for Alias, or with a given value for SSIDReference. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Device.WiFi.EndPoint.{i}.Security. object R This object contains security related parameters that apply to a WiFi end point [802.11-2007]. - 2.0
ModesSupported string[] R

Comma-separated list of strings. Indicates which security modes this EndPoint instance is capable of supporting.

Each list item is an enumeration of:

  • None
  • WEP-64
  • WEP-128
  • WPA-Personal
  • WPA2-Personal
  • WPA3-Personal
  • WPA-WPA2-Personal
  • WPA3-Personal-Transition
  • WPA-Enterprise
  • WPA2-Enterprise
  • WPA3-Enterprise
  • WPA-WPA2-Enterprise
  • OWE (Added in 2.16)

Changes in 2.16:

  • Added string OWE enumeration
- 2.0
Device.WiFi.EndPoint.{i}.Profile.{i}. object(0:) W

EndPoint Profile table.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of SSID, Location and Priority. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, SSID and Location such that the new entry does not conflict with any existing entries.

- 2.0
Device.WiFi.EndPoint.{i}.Profile.{i}.Security. object R This object contains security related parameters that apply to a WiFi End Point profile [802.11-2007]. - 2.0
WEPKey hexBinary(5,13) W

A WEP key expressed as a hexadecimal string.

WEPKey is used only if ModeEnabled is set to WEP-64 or WEP-128.

A 5 byte WEPKey corresponds to security mode WEP-64 and a 13 byte WEPKey corresponds to security mode WEP-128.

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

Changes in 2.16:

  • Removed hexBinary(5,13) syntax hidden = true
  • Added hexBinary(5,13) syntax secured = true
- 2.0
PreSharedKey hexBinary(:32) W

A literal PreSharedKey (PSK) expressed as a hexadecimal string.

PreSharedKey is only used if ModeEnabled is set to WPA-Personal or WPA2-Personal or WPA-WPA2-Personal.

If KeyPassphrase is written, then PreSharedKey is immediately generated. The Controller SHOULD NOT set both the KeyPassphrase and the PreSharedKey directly (the result of doing this is undefined).

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

Changes in 2.16:

  • Removed hexBinary(:32) syntax hidden = true
  • Added hexBinary(:32) syntax secured = true
- 2.0
KeyPassphrase string(8:63) W

A passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.

If KeyPassphrase is written, then PreSharedKey is immediately generated. The Controller SHOULD NOT set both the KeyPassphrase and the PreSharedKey directly (the result of doing this is undefined). The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 [RFC2898].

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

Changes in 2.16:

  • Removed string(8:63) syntax hidden = true
  • Added string(8:63) syntax secured = true
- 2.0
SAEPassphrase string W

A passphrase for WPA3-Personal or WPA3-Personal-Transition security modes.

NOTE: this parameter is for WPA3. WPA2 PreSharedKey is generated from KeyPassphrase.

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.13
Device.WiFi.EndPoint.{i}.WPS. object R This object contains parameters related to Wi-Fi Protected Setup [WPSv1.0] for this end point. - 2.0
Status string R

{{list: parameter is not a list}} Indicates the current status of WPS in EndPoint.

Enumeration of:

  • Disabled
  • Error
  • Unconfigured
  • Configured
- 2.11
PIN string(:8) W

Represents the Device PIN used for PIN based pairing between WPS peers. This PIN is either a four digit number or an eight digit number.

When read, this parameter returns an empty string, regardless of the actual value.Changed in 2.16: The data type was fixed (it was previously defined as an integer that had to have the value 4 or 8).

Possible patterns:

  • \d{4}|\d{8} (Added in 2.16)

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

Changes in 2.16:

  • Removed unsignedInt(4,8) syntax hidden = true
  • Added string(:8) syntax secured = true
  • Changed syntax = unsignedInt(4,8) -> string(:8)
- 2.11
Device.ZigBee. object R Top level object for ZigBee capabilities based on the [ZigBee2007] specification. - 2.7
Device.ZigBee.Interface.{i}. object(0:) R

ZigBee interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). This table models the ZigBee interface of a ZigBee end device, ZigBee router or ZigBee coordinator.

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

- 2.7
IEEEAddress string(:23) R [IEEE_EUI64] The IEEE address assigned to this interface. A value of “FF:FF:FF:FF:FF:FF:FF:FF” indicates that this address is unknown. This parameter has the same value as the {{param: non-existent #.ZDO.{i}.IEEEAddress}} parameter of the ZDO instance ZDOReference is pointing to. - 2.7
NetworkAddress string(:4) R [ZigBeeNetworkAddress] The ZigBee network address assigned to this interface. This parameter has the same value as the {{param: non-existent #.ZDO.{i}.NetworkAddress}} parameter of the ZDO instance ZDOReference is pointing to. - 2.7
Device.Bridging. object R

Layer 2 bridging configuration. Specifies bridges between different layer 2 interfaces. Bridges can be defined to include layer 2 filter criteria to selectively bridge traffic between interfaces.

This object can be used to configure both 802.1D [802.1D-2004] and 802.1Q [802.1Q-2011] bridges.

Not all 802.1D and 802.1Q features are modeled, and some additional features not present in either 802.1D or 802.1Q are modeled.

802.1Q [802.1Q-2011] bridges incorporate 802.1Q [802.1Q-2005] customer and 802.1ad [802.1ad-2005] provider bridges.

- 2.0
MaxBridgeEntries unsignedInt R The maximum number of entries available in the {{object: non-existent Bridge}} table. - 2.0
MaxDBridgeEntries unsignedInt R

The maximum number of 802.1D [802.1D-2004] entries available in the {{object: non-existent Bridge}} table. A positive value for this parameter implies support for 802.1D.

There is no guarantee that this many 802.1D Bridges can be configured. For example, the CPE might not be able simultaneously to support both 802.1D and 802.1Q Bridges.

- 2.0
MaxQBridgeEntries unsignedInt R

The maximum number of 802.1Q [802.1Q-2011] entries available in the {{object: non-existent Bridge}} table. A non-zero value for this parameter implies support for 802.1Q.

There is no guarantee that this many 802.1Q Bridges can be configured. For example, the CPE might not be able simultaneously to support both 802.1D and 802.1Q Bridges.

- 2.0
MaxVLANEntries unsignedInt R The maximum number of 802.1Q [802.1Q-2011] VLANs supported per {{object: non-existent Bridge}} table entry. - 2.0
MaxProviderBridgeEntries unsignedInt R The maximum number of entries available in the {{object: non-existent ProviderBridge}} table. A non-zero value for this parameter implies support for 802.1Q Provider Bridges. - 2.7
Device.Bridging.Bridge.{i}. object(0:) W

Bridge table.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Name string(:64) R The textual name of the bridge as assigned by the device. - 2.16
AgingTime unsignedInt(10:1000000) W

The timeout period in seconds for aging out dynamically-learned forwarding information as described in [Section 7.9.2/802.1Q-2011].

The Dynamic Filtering Entries are not modeled. They are part of the bridge’s internal Forwarding Database.

300 2.16
Device.Bridging.Bridge.{i}.STP. object R STP (Spanning Tree Algorithm and Protocol) / RSTP (Rapid Spanning Tree Algorithm and Protocol) bridge configuration as defined in [802.1D-2004] and [802.1Q-2011]. - 2.16
Enable boolean W Enables or disables STP on this bridge false 2.16
Status string R

The status of the STP for this Bridge.

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.

Enumeration of:

  • Disabled
  • Enabled
  • Error_Misconfigured
  • Error (OPTIONAL)
Disabled 2.16
Protocol string W

Protocol to use.

Enumeration of:

  • STP
  • RSTP
- 2.16
BridgePriority unsignedInt(0:57345:4096) W Value of the priority part of the Bridge Identifier as described in [Section 17.18.3 Bridge priority/802.1D-2004]. 32768 2.16
HelloTime unsignedInt(100:1000) W The interval in centiseconds between periodic transmissions of Configuration Messages by Designated Ports as described in [Section 17.13.6/802.1D-2004]. 200 2.16
MaxAge unsignedInt(600:4000) W The maximum age in centiseconds of the information transmitted by the Bridge when it is the Root Bridge as described in [Section 17.13.8/802.1D-2004]. 2000 2.16
ForwardingDelay unsignedInt(4:30) W The minimum delay in seconds a port should be listening before entering Forwarding PortState as defined in [Section 17.29.2/802.1D-2004]. 15 2.16
Device.Bridging.Bridge.{i}.Port.{i}. object(0:) W

Bridge Port table, which MUST contain an entry for each bridge port (a stackable interface object as described in [Section 4.2/TR-181i2]).

There are two types of bridge ports: management (upward facing) and non-management (downward facing). This is determined by configuring the Boolean ManagementPort parameter. The CPE will automatically configure each management bridge port to appear in the interface stack above all non-management bridge ports that share the same Bridge instance.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
PriorityTagging boolean W

Enables or disables priority tagging on this Bridge Port.

When true, egress frames leaving this interface will be priority tagged with the frame’s associated priority value, which will either be derived directly from the ingress frame or else set via {{param: non-existent ###.QoS.Classification.{i}.EthernetPriorityMark}}.

When false, egress frames leaving this interface will be untagged.

The parameter does not affect reception of ingress frames.

Only applies on bridge ports that are untagged member of one or more VLAN’s.

false 2.0
PathCost unsignedInt(0:65535) W

The Port’s contribution, when it is the Root Port, to the Root Path Cost for the Bridge as described in [Section 17.13.11/802.1D-2004].

This parameter apply only when Bridging.Bridge.{i}.STP.Enable is true.

- 2.16
Priority unsignedInt(0:225:16) W

The first four components of the Port’s port priority vector value as described in [Section 17.19.21/802.1D-2004].

This parameter apply only when Bridging.Bridge.{i}.STP.Enable is true.

128 2.16
Device.Bridging.Filter.{i}. object(0:) W

Filter table containing classification filter entries, each of which expresses a set of classification criterion to classify ingress frames as member of a Bridge instance or a Bridge.{i}.VLAN instance.

Bridge VLAN classification only applies for 802.1Q [802.1Q-2011] Bridges.

For enabled table entries, if Bridge or Interface is an empty string then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Several of this object’s parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as filter criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the DHCPType parameter.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Bridge string(:256) W

The value MUST be the Path Name of a {{object: non-existent #.Bridge}} object in case of a 802.1D bridge or a {{object: non-existent #.Bridge.{i}.VLAN}} object in case of a 802.1Q bridge. If the referenced object is deleted, the parameter value MUST be set to an empty string. Note: either way, this identifies the bridge (because each bridge has a VLAN table).

Defines the Bridge or Bridge VLAN to which ingress frames will be classified based upon matches of the classification criteria.

<Empty> 2.0
Device.PPP. object R Point-to-Point Protocol [RFC1661]. This object contains the Interface table. - 2.0
Device.PPP.Interface.{i}. object(0:) W

PPP interface table (a stackable interface object as described in [Section 4.2/TR-181i2]).

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Reset() command -

On a reset the device MUST tear down the existing PPP connection represented by this object and establish a new one.

The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call.

Reset on a disabled interface is a no-op (not an error).

Changes in 2.16:

  • Added async = false
- 2.12
Password string(:64) W

Password to be used for authentication.

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

Changes in 2.16:

  • Removed string(:64) syntax hidden = true
  • Added string(:64) syntax secured = true
- 2.0
LCPEcho unsignedInt W A PPP LCP Echo periodRequest inis sent every LCPEcho seconds. A value 0 means that no LCP Echo Requests are sent. [Section 5.8 Echo-Request and Echo-Reply/RFC1661] describes the relevant LCP Echo frames.

Changes in 2.16:

  • Changed access = readOnlyreadWrite
- 2.0
LCPEchoRetry unsignedInt W NumberApplicable only when LCPEcho is greater than 0. When number of PPPconsecutive LCPEchoRetry LCP Echo retriesReplies withinhave anbeen echomissed. period.The remote peer will be assumed dead and the connection will be terminated.

Changes in 2.16:

  • Changed access = readOnlyreadWrite
- 2.0
LCPEchoAdaptive boolean W When traffic is received during the LCPEcho interval, no LCP Echo-Request is sent until the next LCPEcho interval. true 2.16
Device.IP. object R IP object that contains the Interface, ActivePort, and Diagnostics objects. - 2.0
Device.IP.Interface.{i}. object(0:) W

IP interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). This table models the layer 3 IP interface.

Each IP interface can be attached to the IPv4 and/or IPv6 stack. The interface’s IP addresses and prefixes are listed in the IPv4Address, IPv6Address and IPv6Prefix tables.

Note that support for manipulating Loopback interfaces is OPTIONAL, so the implementation MAY choose not to create (or allow the Controller to create) Interface instances of type Loopback.

When the Controller administratively disables the interface, i.e. sets Enable to false, the interface’s automatically-assigned IP addresses and prefixes MAY be retained. When the Controller administratively enables the interface, i.e. sets Enable to true, these IP addresses and prefixes MUST be refreshed. It’s up to the implementation to decide exactly what this means: it SHOULD take all reasonable steps to refresh everything but if it is unable, for example, to refresh a prefix that still has a significant lifetime, it might well choose to retain rather than discard it.

Any Tunneled IP interface instances instantiated by the CPE MUST NOT have any statistics, writable parameters, IP addresses or IPv6 prefixes. Any read-only parameters, e.g. Status, MUST return the same information as for the corresponding Tunnel interface. The reason for these rules is that Tunneled IP interfaces exist only in order to be the targets of references (within the data model) and do not model any concepts over and above those already modeled by the Tunnel IP interfaces.

Note that Tunnel and Tunneled IP interfaces are part of a legacy mechanism that is only used for IPv6rd, DSLite and IPsec tunnels and MUST NOT be used in any other context. For all other tunneling mechanisms Normal IP interfaces are stacked above technology-specific Tunnel Interfaces, e.g. above GRE.Tunnel.{i}.Interface or MAP.Domain.{i}.Interface objects.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.0
Reset() command -

On a reset device MUST tear down the existing IP connection represented by this object and establish a new one.

The device MAY delay resetting the connection in order to avoid interruption of a user service such as an ongoing voice call.

Reset on a disabled interface is a no-op (not an error).

Changes in 2.16:

  • Added async = false
- 2.12
Device.IP.Interface.{i}.IPv6Prefix.{i}. object(0:) W

This table contains the interface’s IPv6 prefixes. There MUST be an entry for each such prefix, not only for prefixes learned from router advertisements.

There are several ways in which entries can be added to and deleted from this table, including:

  • Automatically via [RFC4861] Router Advertisements. See also {{object: non-existent ###.RouterAdvertisement}}.
  • Automatically via DHCPv6 [RFC3315] prefix delegation [RFC3633]. See also {{object: non-existent ###.DHCPv6.Client}}.
  • Automatically via internal CPE logic, e.g. creation of child prefixes derived from a parent prefix.
  • Manually via a GUI or some other local management interface.
  • Manually via factory default configuration.
  • By the Controller.

The CPE MAY choose not to create IPv6Prefix entries for WellKnown prefixes or for the ULA /48 prefix [RFC4193]. If an IPv6Prefix entry exists for the ULA /48 prefix, it MUST be on a downstream interface (i.e. an interface for which the physical layer interface object has Upstream = false).

This object is based on ipAddressPrefixTable from [RFC4293].

At most one entry in this table can exist with a given value for Alias, or with a given value for Prefix. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.2
Device.IP.Diagnostics. object R The IP Diagnostics object. - 2.0
IPPing() command - [ASYNC] This command provides access to an IP-layer ping test. - 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
TraceRoute() command - [ASYNC] This command defines access to an IP-layer trace-route test for the specified IP interface. - 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
⇐ Output. arguments - Output arguments. -
RouteHops.{i}. object(0:) R

Contains the array of hop results returned. If a route could not be determined, this array will be empty

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
RTTimes unsignedInt[1:3] R

Comma-separated list (1 to 3 items) of unsigned integers. Each list item contains one or more round trip times in milliseconds (one for each repetition) for this hop.

A list item of 0 indicates that the corresponding response was not received. Round trip times of less than 1 milliseconds MUST be rounded up to 1.

The number of list entries is determined by the value of NumberOfTries.

Changes in 2.16:

  • Removed 1:3 list :16 size
- 2.12
DownloadDiagnostics() command -

[ASYNC] This command defines the diagnostics configuration for a HTTP and FTP DownloadDiagnostics Test.

Files received in the DownloadDiagnostics do not require file storage on the CPE device.

- 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
⇐ Output. arguments - Output arguments. -
TestBytesReceived unsignedLong R [StatsCounter64] The number of bytes received during the FTP/HTTP transaction including FTP/HTTP headers, between BOMTime and EOMTime across all connections.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TestBytesReceivedUnderFullLoading unsignedLong R [StatsCounter64] The number of bytes of the test file received between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime across all connections.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceivedUnderFullLoading unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received in between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at the latest PerConnectionResult.{i}.BOMTime and at the earliest PerConnectionResult.{i}.EOMTime and subtracting.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSentUnderFullLoading unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at the latest PerConnectionResult.{i}.BOMTime and at the earliest PerConnectionResult.{i}.EOMTime and subtracting.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
PerConnectionResult.{i}. object(0:) R

Results for individual connections. This table is only populated when EnablePerConnectionResults is true. A new object is created for each connection specified in NumberOfConnections. Instance numbers MUST start at 1 and sequentially increment as new instances are created.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
TestBytesReceived unsignedLong R [StatsCounter64] The number of bytes of the test file received during the FTP/HTTP transaction including FTP/HTTP headers, between BOMTime and EOMTime.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at BOMTime and at EOMTime and subtracting.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at BOMTime and at EOMTime and subtracting.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
IncrementalResult.{i}. object(0:) R

Results for time segmented tests (tests where TimeBasedTestDuration > 0 and TimeBasedTestMeasurementInterval > 0). This data is totaled across all connections in the test. A new object is created every TimeBasedTestMeasurementInterval after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
TestBytesReceived unsignedLong R [StatsCounter64] Change in the value of TestBytesReceivedUnderFullLoading between StartTime and EndTime, measured in bytes.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between StartTime and EndTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at StartTime and at EndTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between StartTime and EndTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at StartTime and at EndTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
UploadDiagnostics() command -

[ASYNC] This command defines the diagnostics configuration for a HTTP or FTP UploadDiagnostics test.

Files sent by the UploadDiagnostics do not require file storage on the CPE device, and MAY be an arbitrary stream of bytes.

- 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
TestFileLength unsignedLong W

The size of the file (in bytes)bytes to be uploaded to the server.

The CPE MUST insure the appropriate number of bytes are sent.

Changes in 2.16:

  • Changed syntax = unsignedInt -> unsignedLong
- 2.12
⇐ Output. arguments - Output arguments. -
TestBytesSent unsignedLong R [StatsCounter64] The number of bytes of the test file sent during the FTP/HTTP transaction including FTP/HTTP headers, between BOMTime and EOMTime acrosss all connections.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TestBytesSentUnderFullLoading unsignedLong R [StatsCounter64] The number of bytes of the test file sent between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime across all connections.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceivedUnderFullLoading unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime across all connections in the test. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at the latest PerConnectionResult.{i}.BOMTime and at the earliest PerConnectionResult.{i}.EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSentUnderFullLoading unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent between the latest PerConnectionResult.{i}.BOMTime and the earliest PerConnectionResult.{i}.EOMTime across all connections in the test. This MAY be calculated by sampling Stats.BytesSent on the Interface object at the latest PerConnectionResult.{i}.BOMTime and at the earliest PerConnectionResult.{i}.EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
PerConnectionResult.{i}. object(0:) R

Results for individual connections. This table is only populated when EnablePerConnectionResults is true. A new object is created for each connection specified in NumberOfConnections. Instance numbers MUST start at 1 and sequentially increment as new instances are created.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
TestBytesSent unsignedLong R [StatsCounter64] The number of bytes of the test file sent during the FTP/HTTP transaction including FTP/HTTP headers, between BOMTime and EOMTime.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between BOMTime and EOMTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at BOMTime and at EOMTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
IncrementalResult.{i}. object(0:) R

Results for time segmented tests (tests where TimeBasedTestDuration > 0 and TimeBasedTestMeasurementInterval > 0). This data is totaled across all connections in the test. A new object is created every TimeBasedTestMeasurementInterval after that interval has completed. Instance numbers MUST start at 1 and sequentially increment as new instances are created.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
TestBytesSent unsignedLong R [StatsCounter64] Change in the value of TestBytesSent between StartTime and EndTime, measured in bytes.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesReceived unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) received on the Interface between StartTime and EndTime. This MAY be calculated by sampling Stats.BytesReceived on the Interface object at StartTime and at EndTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
TotalBytesSent unsignedLong R [StatsCounter64] The total number of bytes (at the IP layer) sent on the Interface between StartTime and EndTime. This MAY be calculated by sampling Stats.BytesSent on the Interface object at StartTime and at EndTime and subtracting. If Interface is an empty string, this parameter cannot be determined and SHOULD be 0.

Changes in 2.16:

  • Changed syntax = unsignedInt -> StatsCounter64
- 2.12
UDPEchoDiagnostics() command - [ASYNC] This command defines the diagnostics configuration for a UDP Echo test [Appendix A.1/TR-143] defined in [RFC862] or a UDP Echo Plus test defined in [Appendix A.1/TR-143]. - 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a row in the IP.Interface. table. The value MUST be the Path Name of theThe IP-layer interface over which the test is to be performed.performed. Example: Device.IP.Interface.1

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
Port unsignedInt(1:65535) W

[MANDATORY] Port on the host to perform tests to.

The default value MUST be 7.

Changes in 2.16:

  • Added unsignedInt(1:65535) syntax 7 default
- 2.12
⇐ Output. arguments - Output arguments. -
IndividualPacketResult.{i}. object(0:) R

This object provides the results from individual UDPEchoPlus test packets collected during a test if EnableIndividualPacketResults is set to true. It should contain NumberOfRepetitions objects. Instance numbers MUST start at 1 and sequentially increment as new instances are created. The instance number should match the TestIterationNumber field of the request and response packet.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.12
TestRespRcvTimeStamp unsignedInt R The TestRespRcvTimeStamp field in the response packet [Section A.1.4/TR-143] from the UDP Echo Plus server (i.e. Host) to record the reception time in microseconds of this UDP Echo Plus packet sent from the CPE client. If PacketSuccess is false, TestRespRcvTimeStamp SHOULD be 0. - 2.12
TestRespReplyTimeStamp unsignedInt R

The TestRespReplyTimeStamp field in the response packet [Section A.1.4/TR-143] from the UDP Echo Plus server (i.e. Host) to record the server reply time in microseconds of this UDP Echo Plus packet sent from the CPE client.

That is, the time that the server returned the UDP Echo Plus packet. If PacketSuccess is false, TestRespReplyTimeStamp SHOULD be 0.

- 2.12
IPLayerCapacity() command -

[ASYNC] This command defines the IP Layer Capacity measurement configuration. IP Layer Capacity measurement is specified in [TR-471].

Data received in the IP Layer Capacity measurement do not require storage on the device.

Changes in 2.16:

- 2.14
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The IP-layer interface over which the test is to be performed. Example: Device.IP.Interface.1

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.14
NumberOfConnections unsignedInt(1:) W The number of connections to be used in the test. The default value SHOULD be 1. NumberOfConnections MUST NOT be set to a value greater than {{param: non-existent #.IPLayerMaxConnections}}. - 2.14
StartSendingRate unsignedInt(500:40000000) W The Sending Rate for a Fixed test or the initial Sending Rate value for a Search test. Value specified in kbps. The default value SHOULD be 500 kbps.

Changes in 2.16:

  • Changed 500:40000000 range maxInclusive = 1000000040000000
- 2.14
StartSendingRateIndex unsignedInt(0:11108) W The configurable initial Sending Rate index (to a row of the sending rate table) for a Fixed or Search test. StartSendingRateIndex overrides StartSendingRate if both parameters are present. See Annex A of [TR-471] for details. The default value SHOULD be 0. - 2.16
NumberTestSubIntervals unsignedInt(1:100) W Number of intermediate measurement reporting intervals. The value MUST NOT be greater than {{param: non-existent #.IPLayerMaxIncrementalResult}}. The default value SHOULD be 10. - 2.14
TimestampResolution unsignedInt(1:1000) W Indicates the requested precision of timestamp values. The test implementation will determine the actual precision to use based on the implemented resolution capabilities of the protocols used and this requested value. If the implemented resolution capabilities of the {{param: non-existent #.IPLayerCapSupportedMetrics}} protocols being used are able to provide the requested resolution, this resolution SHOULD be provided. Value specified in microseconds. The default value SHOULD be 1 microseconds. - 2.14
ReordDupIgnoreEnable boolean W This parameter is only meaningful if TestType is Search. When true (enabled) only Loss counts toward received packet sequence number errors, and reorderingReordering and Duplication impairments are ignored. When false (disabled), Loss, Reordering and Duplication are all counted as sequence number errors. The default value SHOULD be falsetrue (disabled).(enabled). - 2.15
RetryThresh unsignedInt(1:3000) W The initial number of retries before activating “fast” sending rate increase mode. Different paths through the flow chart increase the sending rate, either fast or slow, or decrease the rate, etc. The algorithm doubles the threshold each time on subsequent activations. See Annex B of [TR-471] for details. The default value SHOULD be 5. - 2.16
RateAdjAlgorithm string W

Configurable choice of Load Rate Adjustment Algorithm. Refer to [TR-471] for details.

Enumeration of:

  • B (Use type “B” Load Rate Adjustment Algorithm. See section 5.2.1 in [TR-471] for details)
  • C (Use type “C” Load Rate Adjustment Algorithm. See Annex B in [TR-471] for details)
- 2.16
ServerSelectionDiagnostics() command - [ASYNC] This command provides access to a diagnostics test that performs either an ICMP Ping or UDP Echo ping against multiple hosts determining which one has the smallest average response time. There MUST be a ping response to the transmitted ping, or timeout, before the next ping is sent out. - 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of the IP-layer interface over which the test is to be performed|ignore. Example: Device.IP.Interface.1

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
Device.IPsec. object R

IPsec [RFC4301] object that supports the configuration of Encapsulating Security Payload (ESP) [RFC4303] and Authentication Header (AH) [RFC4302] in tunnel mode [Section 3.2/RFC4301].

Use of IKEv2 [RFC5996] is assumed. The IPsec object does not currently support static configuration of tunnels and child Security Associations (SAs).

See the IPsec Theory of Operation [Appendix IX/TR-181i2] for a description of the working of this IPsec data model.

- 2.5
Device.IPsec.Stats. object R

Global IPsec statistics. These statistics include all IPsec traffic, i.e. all IKEv2 negotiation, IKEv2 SAs and child SAs.

The CPE MUST reset global IPsec Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when IPsec is disabled ({{param: non-existent #.Enable}} is set to false) or when IPsec is enabled ({{param: non-existent #.Enable}} is set to true).

- 2.5
Device.IPsec.Profile.{i}. object(0:) W

Profile table that represents the IPsec Security Policy Database (SPD) [Section 4.4.1/RFC4301] processing info. Each entry defines the IPsec treatment for packets that match the Filter entries that reference the entry.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.5
IKEv2AuthenticationMethod string W

IKEv2 CPE authentication method [Section 2.15/RFC5996]. The value MUST be the Path Name of an enabled row in the {{object: non-existent ##.Security.Certificate}} table or in another table that contains appropriate CPE credentials.

If an empty string, or the referenced row is disabled or deleted, the CPE chooses the authentication method based on local policy.

<Empty> 2.5
Device.IPsec.Tunnel.{i}. object(0:) R

Represents an IPsec tunnel, i.e. a virtual IP interface that models an IPsec tunnel entry point and exit point. A Tunnel instance always references (and has the same lifetime as) a ({{enum: non-existent ##.IP.Interface.{i}.Type}},{{enum: non-existent ##.IP.Interface.{i}.Type}}) {{object: non-existent ##.IP.Interface}} pair. The Tunnel instance models the IPsec-specific concepts, the {{enum: non-existent ##.IP.Interface.{i}.Type IP.Interface}} instance models the generic concepts, and the {{enum: non-existent ##.IP.Interface.{i}.Type IP.Interface}} instance exists only so it can be referenced by forwarding or filter rules.

Tunnel instances are automatically created (as needed) when Filter instances are enabled and disabled.

Each instance’s Filters parameter references the Filter instances that require the Tunnel instance to exist. If this list ever becomes an empty string, e.g. because all the referenced Filter instances have been disabled or deleted, the CPE MAY choose not to delete the Tunnel instance (and its associated ({{enum: non-existent ##.IP.Interface.{i}.Type}},{{enum: non-existent ##.IP.Interface.{i}.Type}}) {{object: non-existent ##.IP.Interface}} pair). This can be desirable, because {{object: non-existent ##.QoS.Classification, Routing.Router.{i}.IPv4Forwarding, Routing.Router.{i}.IPv6Forwarding}} etc instances might be referencing the {{object: non-existent ##.IP.Interface}} instances.

At most one entry in this table can exist with a given value for Alias, or with the same values for both TunnelInterface and TunneledInterface.

- 2.5
TunnelInterface string R The corresponding auto-created {{enum: non-existent ##.IP.Interface.{i}.Type}} {{object: non-existent ##.IP.Interface}} instance. The value MUST be the Path Name of a row in the IP.Interface. table. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string). - 2.5
TunneledInterface string R The corresponding auto-created {{enum: non-existent ##.IP.Interface.{i}.Type}} {{object: non-existent ##.IP.Interface}} instance. The value MUST be the Path Name of a row in the IP.Interface. table. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string). - 2.5
Device.IPsec.Tunnel.{i}.Stats. object R

Statistics for this IPsec tunnel, i.e. all traffic that has passed through the tunnel, including IKEv2 negotiation, IKEv2 SA and ChildSA traffic.

The CPE MUST reset the tunnel’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the tunnel becomes operationally down due to a previous administrative down (i.e. its associated {{param: non-existent ###.IP.Interface.{i}.Status}} parameter transitions to a down state after the tunnel has been disabled) or when the tunnel becomes administratively up (i.e. its associated {{param: non-existent ###.IP.Interface.{i}.Enable}} parameter transition from false to true).

Note that this object does not include generic statistics that are available in the associated {{object: non-existent ###.IP.Interface.{i}.Stats}} object.

- 2.5
Device.MAP. object R

The Mapping of Address and Port (MAP) object [RFC7597] [RFC7599] [RFC7598]. This object applies only to gateway devices that support IPv4 on the LAN side, include a NAT, and typically have only IPv6 connectivity on the WAN side.

See the MAP Theory of Operation [Appendix XV/TR-181i2] for a description of the working of this MAP data model.

- 2.8
Device.MAP.Domain.{i}. object(0:) W

MAP domain settings [RFC7597] [RFC7599]. Each instance models a MAP domain.

MAP supports two transport modes, both of which use NAPT44 (modified to use a restricted port range):

Note: There is an n:1 relationship between a MAP domain and the associated WANInterface, i.e. in theory multiple MAP domains can be associated with a single WAN IP interface (each domain would have its own End-user IPv6 prefix and MAP IPv6 address).

Note: The Domain table includes unique key parameters that are strong references. 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 Domain 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 Domain row.

At most one entry in this table can exist with a given value for Alias, or with the same values for both WANInterface and IPv6Prefix. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, WANInterface and IPv6Prefix such that the new entry does not conflict with any existing entries.

- 2.8
BRIPv6Prefix string(:49) W

[IPv6Prefix] The MAP Border Relay (BR) address or prefix.

  • For MAP-E this is the BR address and therefore MUST be a /128 [RFC7597]. Note this address can be an IPv6 anycast address. This address corresponds to the [RFC7598] OPTION_S46_BR (Border Relay) option.
  • For MAP-T this is the BR prefix [RFC7599]. This address prefix corresponds to the [RFC7598] OPTION_S46_DMR (Default Mapping Rule) option.

Note: There will be a corresponding {{object: non-existent ##.Routing.Router.{i}.IPv4Forwarding}} default rule.

- 2.8
PSIDOffset unsignedInt(0:15) W
Port-set ID (PSID) offset in bits. The number of Port-sets is 2^PSIDOffset.
Corresponds to the [RFC7598] S46_PORTPARAMS (Port Parameters) option’s offset field.
This parameter was DEPRECATED in 2.12 because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the Rule.{i}. object.
This parameter was OBSOLETED in 2.14-2.16.
6 2.8
PSIDLength unsignedInt(0:16) W
The length in bits of the Port-set id (PSID) configured in the PSID parameter.
Corresponds to the [RFC7598] S46_PORTPARAMS (Port Parameters) option’s PSID-len field.
This parameter was DEPRECATED in 2.12 because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the Rule.{i}. object.
This parameter was OBSOLETED in 2.14-2.16.
0 2.8
PSID unsignedInt(0:65535) W
Port-set ID (PSID) to use in preference to the value extracted from the Embedded Address (EA) bits.
Only the high order PSIDLength bits of the PSID value are used, so the parameter is ignored when PSIDLength is zero.
Corresponds to the [RFC7598] S46_PORTPARAMS (Port Parameters) option’s PSID field.
This parameter was DEPRECATED in 2.12 because details changed between drafting this data model and the RFC being published. This parameter has been moved to the proper location within the Rule.{i}. object.
This parameter was OBSOLETED in 2.14-2.16.
0 2.8
Device.Routing. object R Routing object that contains the Router table and RIP protocol object. - 2.0
Device.Routing.Router.{i}. object(0:) W

This object allows the handling of the routing and forwarding configuration of the device.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Device.Routing.Router.{i}.IPv4Forwarding.{i}. object(0:) W

Layer 3 IPv4 forwarding table.

In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIP (i.e. RIP version 2), OSPF, DHCPv4, and IPCP. The CPE MAY reject attempts to delete or modify a dynamic route entry.

For each incoming packet, the layer 3 forwarding decision is conceptually made as follows:

  • Only enabled table entries with a matching ForwardingPolicy are considered, i.e. those that either do not specify a ForwardingPolicy, or else specify a ForwardingPolicy that matches that of the incoming packet.
  • Next, table entries that also have a matching destination address/mask are considered, and the matching entry with the longest prefix is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero.

For enabled table entries, if Interface is not a valid reference to an IPv4-capable interface (that is attached to the IPv4 stack), then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Note: The IPv4Forwarding 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 IPv4Forwarding row to then violate the table’s unique key constraint; if this occurs, the CPE MUST disable the offending IPv4Forwarding row.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of DestIPAddress, DestSubnetMask, ForwardingPolicy, GatewayIPAddress, Interface and ForwardingMetric. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

  • Added Type parameter
- 2.0
Type string W

Specifies the forwarding entry type. Based on [RFC8349]

Enumeration of:

  • Normal (The packet will be sent to the next hop)
  • Receive (The packet will be received by the local system)
  • Blackhole (The specified destinations are considered unreachable. Packets are silently discarded)
  • Unreachable (The specified destinations are considered unreachable. Packets are discarded and an ICMP message “host unreachable message” is sent)
  • Prohibit (The specified destinations are considered unreachable. Packets are discarded and an ICMP message “communication administratively prohibited” is sent)
Normal 2.16
ForwardingPolicy int(-1:) W

Identifier of a set of classes or flows that have the corresponding ForwardingPolicy value as defined in the {{object: non-existent ###.QoS}} object.

A value of -1 indicates no ForwardingPolicy is specified.

If specified, this forwarding entry is to apply only to traffic associated with the specified classes and flows.

-1 2.0
Device.Routing.Router.{i}.IPv6Forwarding.{i}. object(0:) W

Layer 3 IPv6 forwarding table.

In addition to statically configured routes, this table MUST include dynamic routes learned through layer 3 routing protocols, including RIPng, OSPF, DHCPv6, and RA. The CPE MAY reject attempts to delete or modify a dynamic route entry.

For each incoming packet, the layer 3 forwarding decision is conceptually made as follows:

  • Only enabled table entries with a matching ForwardingPolicy are considered, i.e. those that either do not specify a ForwardingPolicy, or else specify a ForwardingPolicy that matches that of the incoming packet.
  • Next, table entries that also have a matching destination prefix are considered, and the matching entry with the longest prefix length is applied to the packet (i.e. the entry with the most specific network). An unspecified destination address is a wild-card and always matches, but with a prefix length of zero.

For enabled table entries, if Interface is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

This object is based on inetCidrRouteTable from [RFC4292].

At most one entry in this table can exist with a given value for Alias, or with the same values for all of DestIPPrefix, ForwardingPolicy, NextHop, Interface and ForwardingMetric. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

  • Added Type parameter
- 2.2
Type string W

Specifies the forwarding entry type. Based on [RFC8349]

Enumeration of:

  • Normal (The packet will be sent to the next hop)
  • Receive (The packet will be received by the local system)
  • Blackhole (The specified destinations are considered unreachable. Packets are silently discarded)
  • Unreachable (The specified destinations are considered unreachable. Packets are discarded and an ICMP message “host unreachable message” is sent)
  • Prohibit (The specified destinations are considered unreachable. Packets are discarded and an ICMP message “communication administratively prohibited” is sent)
Normal 2.16
ForwardingPolicy int(-1:) W

Identifier of a set of classes or flows that have the corresponding ForwardingPolicy value as defined in the {{object: non-existent ###.QoS}} object.

A value of -1 indicates no ForwardingPolicy is specified.

If specified, this forwarding entry is to apply only to traffic associated with the specified classes and flows.

-1 2.2
Device.Routing.RouteInformation. object R Received Router Advertisement (RA) route information [RFC4191]. - 2.2
Device.Routing.RouteInformation.InterfaceSetting.{i}. object(0:) R

IP Interface RA route information table. Contains received RA route information [RFC4191]. As such, the data in this table cannot be modified.

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

Changes in 2.16:

- 2.2
ManagedAddressConfiguration boolean R When set, it indicates that addresses are available via Dynamic Host Configuration Protocol [DHCPv6]. If the ManagedAddressConfiguration is set, the OtherConfiguration is redundant and can be ignored because DHCPv6 will return all available configuration information (see [Section 4.2/RFC4861]). - 2.16
OtherConfiguration boolean R When set, it indicates that other configuration information is available via DHCPv6. Examples of such information are DNS-related information or information on other servers within the network (see [Section 4.2/RFC4861]). - 2.16
ReachableTime unsignedInt(:3600000) R The time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation. Used by the Neighbor Unreachability Detection algorithm [See Section 7.3/RFC4861]. A value of zero means unspecified (by this router) (see [Section 4.2/RFC4861]). - 2.16
RetransTimer unsignedInt R The time, in milliseconds, between retransmitted Neighbor Solicitation messages. Used by address resolution and the Neighbor Unreachability Detection algorithm [Sections 7.2 and 7.3/RFC4861]. A value of zero means unspecified (by this router) (see [Section 4.2/RFC4861]). - 2.16
HomeAgent boolean R The Home Agent (H) bit is set in a Router Advertisement to indicate that the router sending this Router Advertisement is also functioning as a Mobile IPv6 home agent on this link. (see [Section 7.1/RFC3775] and [Section 4.2/RFC4861]) - 2.16
OptionNumberOfEntries unsignedInt R The number of entries in the Option table. - 2.16
Device.Routing.RouteInformation.InterfaceSetting.{i}.Option.{i}. object(0:) R

This object specifies the received options in a Router Advertisement (RA) message [Section 4.6/RFC4861]. This includes support for receiving DNS information in the RA message as described in [RFC6106].

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

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Tag unsignedInt(0:65535) R Option tag (type) [Section 4.6/RFC4861]. - 2.16
Value hexBinary(0:65535) R A hexbinary encoded option value [Section 4.6/RFC4861]. - 2.16
Device.Routing.Babel. object R This object provides parameters for configuration, troubleshooting, and monitoring of the Babel routing protocol [RFC8966]. This data model is based on the Babel information model defined in [RFC9046]. - 2.15
StatsReset() command - This command represents a request to reset all statistics counters to zero. Statistics are provided in InterfaceSetting.{i}.Stats..

Changes in 2.16:

  • Added async = false
- 2.15
Device.Routing.Babel.InterfaceSetting.{i}. object(0:) W

This object provides parameters related to the interfaces the Babel protocol is operating over and can act as a routing protocol for.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
InterfaceReference string R 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. The {{object: non-existent ###.IP.Interface}} object instance this Babel implementation is running over. The referenced interface object MUST have {{param: non-existent ###.IP.Interface.{i}.IPv6Enable}} set to true. - 2.15
PacketLog string R The value MUST be the Path Name of a row in the DeviceInfo.VendorLogFile. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to a {{object: non-existent ###.DeviceInfo.VendorLogFile}} instance that contains a timestamped log of packets received and sent on Constants.UDPPort on this interface. The [LIBPCAP] file format with .pcap file extension SHOULD be supported for packet log files. Logging is enabled/disabled by PacketLogEnable. - 2.15
Device.Routing.Babel.MACKeySet.{i}. object(0:) W

This object provides parameters related to use of the HMAC security mechanism [RFC8967] to sign and verify Babel packets.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
Device.Routing.Babel.MACKeySet.{i}.MACKey.{i}. object(0:) W

This object provides the MAC keys used to calculate MACs for verification and sending by the MACKeySet instance.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
KeyValue hexBinary WO

The value of the MAC key. This value is immutable, once written. This value is of a length suitable for the associated MACKeyAlgorithm. If the algorithm is based on the HMAC construction [RFC2104], the length MUST be between 0 and an upper limit that is at least the size of the output length (where “HMAC-SHA256” output length is 32 octets as described in [RFC4868]). Longer lengths MAY be supported but are not necessary if the management system has the ability to generate a suitably random value (e.g., by randomly generating a value or by using a key derivation technique as recommended in [Security Considerations/RFC8967]). If the algorithm is “BLAKE2s-128”, the length MUST be between 0 and 32 bytes inclusive, as specified in [RFC7693].

Once it’s been set, this parameter is immutable.

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

Changes in 2.16:

  • Removed hexBinary syntax hidden = true
  • Added hexBinary syntax secured = true
- 2.15
MACTest() command - This command allows the MAC key and MAC algorithm to be tested to see if they produce an expected outcome. The command calculates a MAC for InputString using the KeyValue and MACKeyAlgorithm and compares that to the value of InputMAC. If the values match, the output Match is true.

Changes in 2.16:

  • Added async = false
- 2.15
Device.Routing.Babel.DTLSCertSet.{i}. object(0:) W

This object provides parameters related to use of the DTLS security mechanism [RFC8968] to encrypt Babel packets.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
Device.Routing.Babel.DTLSCertSet.{i}.DTLSCert.{i}. object(0:) W

This object provides the certificates used for verification and signing by the DTLSCertSet instance with DTLS.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.15
CertPrivateKey hexBinary WO

The private key of the certificate. CertPrivateKey is only given a value if the certificate belongs to this device. If CertPrivateKey is non-empty, this certificate can be supplied during DTLS handshaking. This value is immutable, once written.

Once it’s been set, this parameter is immutable.

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

Changes in 2.16:

  • Removed hexBinary syntax hidden = true
  • Added hexBinary syntax secured = true
- 2.15
Device.RouterAdvertisement. object R

The Router Advertisement (RA) object [RFC4861]. This object applies only to IPv6. It contains an InterfaceSetting table that defines the RA configuration for individual IP interfaces.

Information received via router advertisement messages is automatically propagated to the relevant {{object: non-existent #.IP.Interface}} sub-objects, e.g. to the {{object: non-existent #.IP.Interface.{i}.IPv6Address}} and {{object: non-existent #.IP.Interface.{i}.IPv6Prefix}} tables.

- 2.2
Device.RouterAdvertisement.InterfaceSetting.{i}. object(0:) W

Per-interface Router Advertisement (RA) configuration [RFC4861]. Table entries are created for use in sending Router Advertisements.

For enabled table entries, if Interface is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Note: The InterfaceSetting 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 InterfaceSetting 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 InterfaceSetting row.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.2
ManualPrefixes string[:8]() W

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

Manually-configured prefixes that will be sent in Router Advertisement messages. Each referenced prefix MUST have a {{param: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} of {{enum: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} or {{enum: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}}. Router Advertisement messages MUST include Prefix Information Options [RFC4861] for all Valid ({{param: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime}} is infinite or in the future) prefixes in this list.

Prefixes MUST be associated with the interface instance referenced by Interface.

<Empty> 2.2
Prefixes string[:8]() R

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

All prefixes that will be included in Router Advertisement (RA) messages sent out this interface. This list can include:

  • Prefixes from ManualPrefixes that are included in RA messages.
  • Prefixes with {{param: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} = {{enum: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} or {{enum: non-existent ##.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} associated with the interface instance referenced by Interface.
- 2.2
AdvRetransTimer unsignedInt W

The value placed in the “Retrans Timer” field of Router Advertisement messages on this interfaceinterface, in milliseconds (see [Section 4.2/RFC4861]).

The value zero means unspecified (by the router).

0 2.2
Device.IPv6rd. object R

Settings allowing a CPE to derive and route IPv6 Rapid Deployment (6rd) delegated prefixes as specified in [RFC5969]. The 6rd mechanism is intended to be implemented only on what [RFC5969] refers to as Customer Edge Routers, i.e. on gateway devices, that support IPv6 on the LAN side and only have IPv4 connectivity on the WAN side.

See the 6rd Theory of Operation [Appendix VI/TR-181i2] for a description of the working of this 6rd data model.

- 2.2
Device.IPv6rd.InterfaceSetting.{i}. object(0:) R

6rd [RFC5969] settings.

A 6rd delegated prefix is expected to be of maximum length 64 bits, and is the concatenation of the following two items:

  • Service provider IPv6 prefix: specified via the SPIPv6Prefix parameter
  • IPv4 address suffix: the IPv4 address with the first IPv4MaskLength bits removed

This object definition is derived from [RFC5969] with some minor nomenclature changes.

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

- 2.2
TunnelInterface string(:256) R

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. This is an IP interface of Type {{enum: non-existent ##.IP.Interface.{i}.Type}} that is logically the tunnel entry point for upstream IPv6 traffic and is also logically the tunnel exit point for downstream IPv6 traffic (i.e. the entry point for non-tunneled upstream IPv6 traffic to enter a tunnel and become tunneled, or conversely, the exit point for downstream IPv6 traffic leaving a tunnel after being un-tunneled).

IPv6 traffic that enters TunnelInterface from the LAN is expected to continue on through TunneledInterface, and traffic from the WAN is expected to come from TunneledInterface into TunnelInterface. TunnelInterface is a logical interface that can allow for classification, marking (of IPv6 headers), and policing of IPv6 traffic that will be going over a 6rd tunnel. These functions are modeled in the {{object: non-existent ##.QoS}} object.

TunnelInterface can be used also to represent the 6rd virtual interface defined in [RFC5969].

Note: In 6rd, IPv6 packets arriving over one or more device LAN IP interfaces are logically fed into this TunnelInterface. Likewise, 6rd traffic from the WAN gets logically sent from this TunnelInterface to LAN IP interfaces.

- 2.2
TunneledInterface string(:256) R

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. This is an IP interface of Type {{enum: non-existent ##.IP.Interface.{i}.Type}} that provides information about the IPv4 headers used to encapsulate the IPv6 packets.

Encapsulated IPv6 traffic that enters TunneledInterface from the WAN is expected to continue on through TunnelInterface, and traffic from the LAN is expected to come from TunnelInterface into TunneledInterface. TunneledInterface is a logical interface that can allow for classification, marking (of IPv4 headers and VLAN tags), and policing of IPv4 packets that encapsulate IPv6 packets in 6rd traffic. These functions are modeled in the {{object: non-existent ##.QoS}} object.

Note: In 6rd, TunneledInterface traffic originating from the LAN logically feeds into a WAN-side IPv4 capable IP interface that the “IPv6 6rd tunnel” goes over. 6rd traffic that enters over this IPv4 WAN interface gets logically sent to this TunneledInterface.

- 2.2
Device.DSLite. object R

Settings allowing a CPE to configure and route IPv6 Dual-Stack Lite (DSLite) as specified in [DSLite]. The DS-Lite mechanism is intended to be implemented only on gateway devices that support IPv4 on the LAN side and only have IPv6 connectivity on the WAN side.

See the Dual-Stack Lite Theory of Operation [Appendix VII/TR-181i2] for a description of the working of this DS-Lite data model.

- 2.2
Device.DSLite.InterfaceSetting.{i}. object(0:) R

DSLite [DSLite] settings.

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

- 2.2
TunnelInterface string(:256) R

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. This is an IP interface of Type {{enum: non-existent ##.IP.Interface.{i}.Type}} that is logically the tunnel entry point for upstream IPv4 traffic and is also logically the tunnel exit point for downstream IPv4 traffic (i.e. the entry point for non-tunneled upstream IPv4 traffic to enter a tunnel and become tunneled, or conversely, the exit point for downstream IPv4 traffic leaving a tunnel after being un-tunneled).

IPv4 traffic that enters TunnelInterface is expected to continue on through TunneledInterface from the LAN, and traffic from the WAN is expected to come from TunneledInterface into TunnelInterface. TunnelInterface is a logical interface that can allow for classification, marking (of IPv4 headers), and policing of IPv4 traffic that will be going over a DS-Lite tunnel. These functions are modeled in the Device.QoS object.

Note: In DS-Lite, IPv4 packets arriving over one or more device LAN IP interfaces are logically fed into this TunnelInterface. Likewise, DS-Lite traffic from the WAN gets logically sent from this TunnelInterface to LAN IP interfaces.

- 2.2
TunneledInterface string(:256) R

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. This is an IP interface of Type {{enum: non-existent ##.IP.Interface.{i}.Type}} that provides information about the IPv6 headers used to encapsulate the IPv4 packets.

Encapsulated IPv4 traffic that enters TunneledInterface from the WAN is expected to continue on through TunnelInterface, and traffic from the LAN is expected to come from TunnelInterface into TunneledInterface. TunneledInterface is a logical interface that can allow for classification, marking (of IPv6 headers and VLAN tags), and policing of IPv6 packets that encapsulate IPv4 packets in DS-Lite traffic. These functions are modeled in the {{object: non-existent ##.QoS}} object.

Note: In DS-Lite, TunneledInterface traffic originating from the LAN logically feeds into a WAN-side IPv6 capable IP interface that the “DSLite IPv4-in-IPv6 tunnel” goes over. DS-Lite traffic that enters over this IPv6 WAN interface gets logically sent to this TunneledInterface.

- 2.2
Device.QoS. object R Queue management configuration object.

Changes in 2.16:

- 2.0
MaxSchedulerEntries unsignedInt R The maximum number of entries available in the Scheduler table. - 2.16
SchedulerNumberOfEntries unsignedInt R The number of entries in the Scheduler table. - 2.16
Device.QoS.Classification.{i}. object(0:) W

Classification table.

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

Several of this object’s parameters specify DHCP option values. Some cases are version neutral (the parameter can apply to both DHCPv4 and DHCPv6), but in other cases the representation of the option is different for DHCPv4 and DHCPv6, so it is necessary to define separate DHCPv4-specific and DHCPv6-specific parameters. Therefore, an instance of this object that uses DHCP option values as classification criteria will be associated with either DHCPv4 or DHCPv6, as indicated by the DHCPType parameter.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Interface string(:256) W

Classification criterion. The value MUST be the Path Name of a table row.

This specifies the ingress interface associated with the entry. It MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Classifications can be instantiated is a local matter to the CPE.

Note that this parameter is permitted to reference Tunnel instances in order to classify upstream packets that have just been encapsulated (such packets are conceptually similar to locally-generated traffic). For example, this parameter might reference a {{object: non-existent ##.GRE.Tunnel}} or a {{object: non-existent ##.MAP.Domain}} instance.

<Empty> 2.0
IPVersion int(-1:15) W

Classification criterion.

IP Protocol Version as specified in [IANA-ipversionnumbers]. For example:

  • 4 (IPv4)
  • 6 (IPv6)

A value of -1 indicates this criterion is not used for matching.

-1 2.16
Device.QoS.Flow.{i}. object(0:) W

Flow table.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
TypeParameters string(:256)[] W Comma-separated list of strings (maximum number of characters per item 256). ListEach ofentry is a name-value pairspair representing additional criteria to identify the flow type. The use and interpretation is specific to the particular FlowType URN.Encoded using the “x-www-form-urlencoded” content type defined in [HTML4.01].

Changes in 2.16:

  • Added string(:256)[] syntax [] list
<Empty> 2.0
Device.QoS.Queue.{i}. object(0:) W

Queue table. Each entry is associated with a set of traffic classes, which are specified via the TrafficClasses parameter, and is configured with weight, precedence, drop algorithm, scheduler algorithm etc as appropriate for the traffic classes. An entry can be associated either with all egress interfaces (in which case an actual queue will be instantiated on each egress interface on which traffic of that traffic class can be generated) or else with a single specified egress interface.

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

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Children string[] W Each list item MUST be the Path Name of a table row, or an empty string. Comma-separated list of strings. Each reference can be associated with another QoS.Queue.{i}, QoS.Shaper.{i}, QoS.Scheduler.{i} instance object. The references in this parameter are used to build a hierarchy. - 2.16
CurrentShapingRate int(-1:) R If the Queue is active, the CurrentShapingRate must reflect the actual configured ShapingRate, in bits per second per second. -1 means no rate due to do Queue not active. -1 2.16
AssuredRate int(-1:) W

Minimum rate to shape this queue’s traffic to.

If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress.

If > 100, in bits per second.

A value of -1 indicates no shaping.

-1 2.16
CurrentAssuredRate int(-1:) R If the Queue is active, the CurrentAssuredRate must reflect the actual configured AssuredRate, in bits per second. -1 means no rate due to do Queue not active. -1 2.16
Device.QoS.Shaper.{i}. object(0:) W

Shaper table. Used to shape the queue(s) associated with Interface. In case of a single queue for that interface, determines the egress rate of the queue. In case of multiple queues for that interface (possibly with per queue shaping rates), determines the aggregate egress rate on that interface.

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

Note: The Shaper 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 Shaper 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 Shaper row.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Children string[] W Each list item MUST be the Path Name of a table row, or an empty string. Comma-separated list of strings. Each reference can be associated with another QoS.Queue.{i}, QoS.Shaper.{i}, QoS.Scheduler.{i} instance object. The references in this parameter are used to build a hierarchy. - 2.16
Device.QoS.Scheduler.{i}. object(0:) W

Scheduler table. Each entry is used to model a scheduler object.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables or disables this scheduler. false 2.16
Status string R

The status of this scheduler. Enumeration of:

  • Disabled
  • Enabled
  • Error_Misconfigured
  • Error (OPTIONAL)

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.

Disabled 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Children string[] W Each list item MUST be the Path Name of a table row, or an empty string. Comma-separated list of strings. Each reference can be associated with another QoS.Queue.{i}, QoS.Shaper.{i}, QoS.Scheduler.{i} instance object. The references in this parameter are used to build a hierarchy. - 2.16
Interface string(:256) W

The value MUST be the Path Name of a table row. Specifies the egress interface for which the specified queue MUST exist.

This MAY be a layer 1, 2 or 3 interface, however, the types of interfaces for which Queues can be instantiated is a local matter to the CPE.

<Empty> 2.16
SchedulerAlgorithm string W

Scheduling Algorithm used by scheduler.

Enumeration of:

  • WFQ (Weighted Fair Queueing)
  • WRR (Weighted Round Robin)
  • SP (Strict Priority)
SP 2.16
ShapingRate int(-1:) W

Rate to shape this scheduler’s traffic to. For leaky bucket (constant rate shaping), this is the constant rate. For token bucket (variable rate shaping), this is the average rate.

If <= 100, in percent of the rate of the highest rate-constrained layer over which the packet will travel on egress.

If > 100, in bits per second.

A value of -1 indicates no shaping.

-1 2.16
AssuredRate int(-1:) W

Minimum guaranteed rate to shape this scheduler’s traffic to.

Must be > 0 and < ShapingRate, for a valid rate.

A value of -1 indicates the ShapingRate’s value is not used.

-1 2.16
DefaultQueue string(:256) W The value MUST be the Path Name of a table row. The value MUST be the Path Name for a QoS.Queue.{i} instance. If the referenced object is deleted, the parameter value MUST be set to an empty string. <Empty> 2.16
Device.LANConfigSecurity. object R This object contains generic device configuration information. - 2.0
ConfigPassword string(:64) W

A password to allow LAN access to protected auto-configuration services.

If the CPE supports TR-064 (LAN-side DSL CPE Configuration Protocol), this parameter is to be used as the dslf-config password (as defined in TR-064).

If the CPE has a user interface with password protection enabled, this parameter is also to be used as the user password for password-protected operations. However, this parameter MUST NOT be used to set the user password if the parameter {{param: non-existent #.UserInterface.PasswordUserSelectable}} is true.

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

Changes in 2.16:

  • Removed string(:64) syntax hidden = true
  • Added string(:64) syntax secured = true
- 2.0
Device.Hosts. object R 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(0:) R

Host table.

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

- 2.0
UserClassID hexBinary(:65535) R
A hexbinary string, User Class Identifier DHCP option (Option 77) of the host.
It MAY be defined when AddressSource is DHCP. An empty string indicates this option is not used.
Note: DHCPv4 Option values are limited to a length of 255, while DHCPv6 Option values can have a maximum length of 65535.
This parameter was DEPRECATED in 2.11 because host-supplied DHCP options can be accessed via the DHCPClient reference.
This parameter was OBSOLETED in 2.15.
This parameter was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted
- 2.0
Device.DNS. object R Properties for Domain Name Service (DNS). - 2.0
Device.DNS.Client. object R Client properties for Domain Name Service (DNS). The DNS client resolves FQDN on behalf of device internal (client) applications. - 2.0
Device.DNS.Client.Server.{i}. object(0:) W

This table contains the DNS Server IP address to be used by the DNS Client (it does not model a DNS Server). Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the Controller.

At most one entry in this table can exist with a given value for DNSServer, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for DNSServer and Alias such that the new entry does not conflict with any existing entries.

- 2.0
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. This parameter specifies the IP interface over which the DNS query is sent.

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

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

Note: Interface is only writable when Type is Static; otherwise, Interface is automatically configured as result of DHCP, IPCP, or RA received DNS server information.

<Empty> 2.0
Type string R

Method used to assign the DNSServer address. Enumeration of:

  • DHCP (

This enumeration was OBSOLETED in 2.14 because it’s been replaced by DHCPv4.

This enumeration was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted

)

  • DHCPv4
  • DHCPv6
  • RouterAdvertisement
  • IPCP
  • Static

Table entries that are automatically created as result of DHCP, IPCP, or RA received DNS server information will have Type set to DHCPv4, DHCPv6, IPCP, or RouterAdvertisement, as the case may be. Manually created table entires will have their Type set to Static.

Static 2.0
Device.DNS.Relay. object R DNS Relay object. The DNS proxy (or relay) function allows the forwarding of local network DNS queries to local or external DNS server(s) [RFC5625]. - 2.0
Device.DNS.Relay.Forwarding.{i}. object(0:) W

DNS Server forwarding policy to be used by the DNS Relay. Entries are either automatically created as result of DHCP (v4 or v6), IPCP, or RA received DNS server information, or are statically configured by the Controller.

Note: Management of re-directing queries to the device embedded DNS server is not defined in this version of the specification.

At most one entry in this table can exist with a given value for DNSServer, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for DNSServer and Alias such that the new entry does not conflict with any existing entries.

- 2.0
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. Specifies the IP interface over which the DNS query is sent.

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

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

Note: Interface is only writable when Type is Static; otherwise, Interface is automatically configured as result of DHCP, IPCP, or RA received DNS server information.

<Empty> 2.0
Type string R

Method used to assign the DNSServer address. Enumeration of:

  • DHCP (

This enumeration was OBSOLETED in 2.14 because it’s been replaced by DHCPv4.

This enumeration was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted

)

  • DHCPv4
  • DHCPv6
  • RouterAdvertisement
  • IPCP
  • Static

Table entries that are automatically created as result of DHCP, IPCP, or RA received DNS server information will have Type set to DHCPv4, DHCPv6, IPCP, or RouterAdvertisement, as the case may be. Manually created table entires will have their Type set to Static.

Static 2.0
Device.DNS.Diagnostics. object R The DNS Diagnostics object containing the **{{object: non-existent **{{command: empty ref only valid in command descriptions}}****NSLookupDiagnostics()}} test. - 2.0
NSLookupDiagnostics() command -

[ASYNC] This command defines access to an IP-layer NS Lookup test for the specified IP interface.

When initiated, the NS Lookup test will contact DNSServer and look up HostName NumberOfRepetitions times.

There will be a Result instance for each time the device performs a DNS lookup, which is determined by the value of NumberOfRepetitions.

Any previous Result instances are removed when a new test is initiated.

- 2.12
⇒ Input. arguments - Input arguments. -
Interface string(:256) W

The value MUST be the Path Name of a table row. The layer 2 or layer 3 interface over which the test is to be performed. Example: Device.IP.Interface.1, Device.Bridge.1.Port.2Device.IP.Interface.1.

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

If the value is an empty string, the CPE MUST use its routing policy (IP Forwarding table entries), if necessary, to determine the appropriate interface.
- 2.12
Device.DNS.SD. object R

This object contains the DNS Service Discovery [DNS-SD] object and parameters necessary to discover services and their associated devices.

Upon reboot the the contents of the service table are repopulated. When the DNS.SD service is disabled, the contents of the service table is implementation specific.

- 2.6
Device.DNS.SD.Service.{i}. object(0:) R

The Service table contains discovered DNS-SD services. DNS.SD service information is provided in DNS RR SRV records [RFC2782]. The Service Instance Name [Section 4.1 Structured Instance Names/DNS-SD] further specifies information about the service name (RFC2782 Service field) and domain name (RFC2782 Name field) in the form:

Service Instance Name = . .

= _ . _

RFC2782 Service field will always be equal to .

RFC2782 Name field will always be equal to

For example, an SSH service might have:

*InstanceName = “Secure Shell (SSH))”

*ApplicationProtocol = “ssh”

*TransportProtocol = “TCP”

*Domain = “example.com”

*Port = 22

*Target = “ssh.example.com.”

At most one entry in this table can exist with the same values for all of InstanceName, ApplicationProtocol, TransportProtocol and Domain.

- 2.6
Host string(:256)[] R Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Hosts.Host. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list of strings (maximum number of characters per item 256).Includes Each list item MUST be the Path Name of all Host table entries, active or inactive, that correspond to this discovered DNS.SD service. As such, when entries are added or removed from the Host tables the value of this parameter MUST be updated accordingly. If the referenced object is deleted, the corresponding item MUST be removed from the list.

Changes in 2.16:

  • Removed list :1024 size
- 2.6
Device.NAT. object R

Properties for Network Address Translation (NAT).

The entire NAT object only applies to IPv4.

Changes in 2.16:

- 2.0
PortTriggerNumberOfEntries unsignedInt R The number of entries in the PortTrigger table. - 2.16
Device.NAT.InterfaceSetting.{i}. object(0:) W

NAT settings for an associated IP Interface on which NAT is enabled.

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

Note: The InterfaceSetting 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 InterfaceSetting 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 InterfaceSetting row.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
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. The associated outgoing IP interface on which NAT is to be enabled. <Empty> 2.0
SourceNetwork string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path name of a IP.Interface.{i}.IPv4Address. table or of one of its rows. If the referenced object is deleted, the corresponding item MUST be removed from the list.

Specifies the source IPv4 network(s) that MUST be translated for all outgoing traffic associated with the Interface (e.g. Device.IP.Interface.2.IPv4Address. (table) or Device.IP.Interface.2.IPv4Address.1. (row)).

The IP.Interface.{i}.IPv4Address.{i}.IPAddress and IP.Interface.{i}.IPv4Address.{i}.SubnetMask are used to construct an additional filter rule that specifies which address range needs to be translated.

<Empty> 2.16
Device.NAT.PortMapping.{i}. object(0:) W

Port mapping table.

This table MUST contain all NAT port mappings associated with this connection, including static and dynamic port mappings programmatically created via local control protocol, such as UPnP.

This table MUST NOT contain dynamic NAT binding entries associated with the normal operation of NAT.

If the CPE hosts a firewall, it is assumed that it will appropriately configure the firewall for the port mapping.

For enabled table entries, if InternalClient is an empty string, or if Interface is not a valid reference and AllInterfaces is false, then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of RemoteHost, ExternalPort and Protocol. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, ExternalPort and Protocol such that the new entry does not conflict with any existing entries.

- 2.0
RemoteHost string W

This parameter is the IP address of the source of inbound packets. An empty string indicates a “wildcard”, i.e. any IP address (this will be an empty string in most cases). CPE are REQUIRED only to support an empty string.

When RemoteHost is an empty string, all traffic sent to the ExternalPort on the WAN interface of the gateway is forwarded to the {{object: non-existent ##.IP.Interface}} associated with the InternalClient on the InternalPort.

When RemoteHost is specified as one external IP address, the NAT will only forward inbound packets from this RemoteHost to the InternalClient, all other packets will be dropped.

If a CPE supports non-empty values for RemoteHost, it MAY additionally support the ability to have more than one port mapping with the same ExternalPort and Protocol, but with differing values of RemoteHost.

When wildcard values are used for RemoteHost and/or ExternalPort, the following precedence order applies (with the highest precedence listed first):

  1. Explicit RemoteHost, explicit ExternalPort
  2. Explicit RemoteHost, zero ExternalPort
  3. Empty RemoteHost, explicit ExternalPort
  4. Empty RemoteHost, zero ExternalPort

If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.

<Empty> 2.0
ExternalPort unsignedInt(0:65535) W

The external port (or the first port of a range of external ports) that the NAT gateway would listen on for traffic to a corresponding InternalPort. Inbound packets to this external port on the WAN interface SHOULD be forwarded to the {{object: non-existent ##.IP.Interface}} associated with the InternalClient on the InternalPort.

A value of zero (0) represents a “wildcard”, i.e. any port number. If this value is 0, traffic on all external ports (that are not otherwise mapped) will be forwarded to InternalClient, and the value(s) of InternalPort on InternalClient are ignored.

When wildcard values are used for RemoteHost and/or ExternalPort, the following precedence order applies (with the highest precedence listed first):

  1. Explicit RemoteHost, explicit ExternalPort
  2. Explicit RemoteHost, zero ExternalPort
  3. Empty RemoteHost, explicit ExternalPort
  4. Empty RemoteHost, zero ExternalPort

If an incoming packet matches the criteria associated with more than one entry in this table, the CPE MUST apply the port mapping associated with the highest precedence entry.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that (together with Protocol) doesn’t conflict with any existing entries.

- 2.0
InternalClient string(:256) W

The IP address or DNS host name of an internal client (on the LAN).

Support for an IP address is mandatory. If InternalClient is specified as an IP address and the LAN device’s IP address subsequently changes, the port mapping MUST remain associated with the original IP address.

Support for DNS host names is OPTIONAL. If InternalClient is specified as a DNS host name and the LAN device’s IP address subsequently changes, the port mapping MUST remain associated with this LAN device. In this case, it is the responsibility of the CPE to maintain the name-to-address mapping in the event of IP address changes. This can be accomplished, for example, by assigning the DNS host name via use of DHCP option 12 (Host Name) or option 81 (FQDN). Note that the Controller can learn the host name associated with a given LAN device via the {{object: non-existent ##.Hosts.Host}} table.

Read access to this parameter MUST always return the exact value that was last set by the Controller. For example, if the internal client is set to a DNS host name, it MUST read back as a DNS host name and not as an IP address.

It MUST be possible to set the InternalClient to the broadcast IP address 255.255.255.255 for UDP mappings. This is to enable multiple NAT clients to use the same well-known port simultaneously.

<Empty> 2.0
Device.NAT.PortTrigger.{i}. object(0:) W

Firewall PortTrigger table.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W Enables or disables the Port Trigger - 2.16
Status string R

The status of this PortTrigger entry.

Enumeration of:

  • Disabled (Indicates that the PortTrigger entry is disabled)
  • Enabled (Indicates that the PortTrigger entry is enabled)
  • Error_Misconfigured (Indicates that a necessary configuration value is undefined or invalid)
  • Error (MAY be used to define an error condition, OPTIONAL)
Disabled 2.16
Origin string W

Indicates the owner of the PortTrigger instance.

Enumeration of:

  • User (Used for indicating that the PortTrigger entry was created by the end-user. For example through the web-ui)
  • System (Used for indicating that the PortTrigger entry was created by the system itself)
  • Controller (Used for indicating that the PortTrigger entry was created by a Controller)
Controller 2.16
Description string(:256) W Human-readable description associated with this PortTrigger entry. - 2.16
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. Specifies the incoming L3 interface to which this port trigger applies. Typically this will be the LAN interface. <Empty> 2.16
Port unsignedInt(0:65535) W Trigger Port, the port number which is used to start the port trigger rule. 0 2.16
PortEndRange unsignedInt(0:65535) W

Indicates the last port of the port range that starts with Port which is used to start the port trigger rule.

A value of zero (0) indicates that no port range is specified, i.e. that the range consists only of Port.

If Port is zero, the value of this parameter MUST be ignored.

If specified, the value of this parameter MUST be greater than or equal to the value of Port.

0 2.16
AutoDisableDuration unsignedInt W Number of seconds the port trigger MUST be active. When the AutoDisableDuration is expired new connections are no longer allowed, active connections SHOULD not be terminated. 0 2.16
ActivationDate dateTime W Indicates when the port trigger was enabled. When the port trigger is no longer active. 0001-01-01T00:00:00Z 2.16
Protocol string W

The protocol of the trigger port.

Enumeration of:

  • TCP
  • UDP
- 2.16
RuleNumberOfEntries unsignedInt R The number of entries in the Rule table. - 2.16
Device.NAT.PortTrigger.{i}.Rule.{i}. object(0:) W

Firewall PortTrigger Rule table.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Port unsignedInt(0:65535) W Port (or the first port of a range of ports) which needs to be opened when the Trigger conditions are met. 0 2.16
PortEndRange unsignedInt(0:65535) W

Indicates the last port of the port range that starts with Port which needs to be opened when the Trigger conditions are met.

A value of zero (0) indicates that no port range is specified, i.e. that the range consists only of Port.

If Port is zero, the value of this parameter MUST be ignored.

If specified, the value of this parameter MUST be greater than or equal to the value of Port.

0 2.16
Protocol string W

The protocol of the to be forwarded port.

Enumeration of:

  • TCP
  • UDP
- 2.16
Device.PCP. object R

Properties for Port Control Protocol (PCP) [RFC6887].

See the PCP Theory of Operation [Appendix XIV/TR-181i2] for a description of the working of this PCP data model.

Changes in 2.16:

- 2.8
Enable boolean W Enables or disables the PCP stack. If the stack is disabled then the status of any enabled Client entries will change to StackDisabled. - 2.16
Device.PCP.Client.{i}. object(0:) W

Client properties for Port Control Protocol (PCP). The PCP Client interacts with a PCP Server as defined in [RFC6887] for internal device applications or LAN device applications via Interworking functions.

At most one entry in this table can exist with a given value for Alias, or with a given value for WANInterface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and WANInterface such that the new entry does not conflict with any existing entries.

- 2.8
WANInterface string R

The value MUST be the Path Name of the interface stack instance representing the WAN interface this client operates on. If the referenced object is deleted, the parameter value MUST be set to an empty string. See {{object: non-existent ##.InterfaceStack}}

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

- 2.8
Status string R

The status of the PCP Client. Enumeration of:

  • Disabled
  • Enabled
  • StackDisabled (Added in 2.16)
  • Error (OPTIONAL)

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

Changes in 2.16:

  • Added string StackDisabled enumeration
- 2.8
Device.DHCPv4. object R The Dynamic Host Configuration Protocol (DHCP) IPv4 object [RFC2131]. This entire object applies to IPv4 only. It contains the Client, Server, and Relay objects. - 2.0
Device.DHCPv4.Client.{i}. object(1:) W

This object contains DHCP client settings for an associated IP Interface indicated by Interface.

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

Note: The Client 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 Client 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 Client row.

This table MUST contain at least 1 entry.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Renew() command - The DHCP client will renew its DHCP lease.

Changes in 2.16:

  • Added async = false
- 2.12
Device.DHCPv4.Server. object R DHCP server configuration. - 2.0
Device.DHCPv4.Server.Pool.{i}. object(0:) W

DHCP conditional serving pool table.

Each instance of this object defines a DHCP conditional serving pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCP options, and MAC address.

Overlapping pool ranges MUST be supported.

For enabled table entries, if Interface is not a valid reference, or MinAddress, MaxAddress, or SubnetMask is not a valid value, then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias, or with a given value for Order. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and Order such that the new entry does not conflict with any existing entries.

- 2.0
AllowedDevices string W

Pool association criterion. Determines which devices are allowed, Enumeration of:

- 2.13
MinAddress string(:45) W

[IPv4Address] Specifies first IPv4 address in the pool to be assigned by the DHCP server on the LAN interface.

The parameter value can be overwritten by dynamic values retrieved via a DHCP client with Client.{i}.PassthroughEnable or a PPP interface with {{param: non-existent ###.PPP.Interface.{i}.IPCP.PassthroughEnable}} equal to true.

- 2.0
MaxAddress string(:45) W

[IPv4Address] Specifies last IPv4 address in the pool to be assigned by the DHCP server on the LAN interface.

The parameter value can be overwritten by dynamic values retrieved via a DHCP client with Client.{i}.PassthroughEnable or a PPP interface with {{param: non-existent ###.PPP.Interface.{i}.IPCP.PassthroughEnable}} equal to true.

- 2.0
SubnetMask string(:45) W

[IPv4Address] Specifies the client’s network subnet mask.

The parameter value can be overwritten by dynamic values retrieved via a DHCP client with Client.{i}.PassthroughEnable or a PPP interface with {{param: non-existent ###.PPP.Interface.{i}.IPCP.PassthroughEnable}} equal to true.

- 2.0
DNSServers string(:45)[:4]() W

[IPv4Address] Comma-separated list (up to 4 items) (length ) of IPv4Addresses. List items represent DNS servers offered to DHCP clients. Support for more than three DNS Servers is OPTIONAL.

The parameter value can be overwritten by dynamic values retrieved via a DHCP client with Client.{i}.PassthroughEnable or a PPP interface with {{param: non-existent ###.PPP.Interface.{i}.IPCP.PassthroughEnable}} equal to true.

- 2.0
IPRouters string(:45)[:4]() W

[IPv4Address] Comma-separated list (up to 4 items) (length ) of IPv4Addresses. List items represent addresses of routers on this subnet. Also known as default gateway. Support for more than one Router address is OPTIONAL.

The parameter value can be overwritten by dynamic values retrieved via a DHCP client with Client.{i}.PassthroughEnable or a PPP interface with {{param: non-existent ###.PPP.Interface.{i}.IPCP.PassthroughEnable}} equal to true.

- 2.0
Device.DHCPv6. object R The Dynamic Host Configuration Protocol (DHCP) IPv6 object [RFC3315]. This entire object applies to IPv6 only. It contains the Client and Server objects. - 2.2
Device.DHCPv6.Client.{i}. object(1:) W

This object contains DHCPv6 client settings for an associated IP Interface indicated by Interface.

For enabled table entries, if Interface is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack), then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

Note: The Client 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 Client 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 Client row.

This table MUST contain at least 1 entry.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.2
Renew() command - The Client will renew its DHCPv6-supplied information (i.e. the Agent will do a renew or information request as needed, updating both stateful and stateless parameter values discovered by this Client instance).

Changes in 2.16:

  • Added async = false
- 2.12
Device.DHCPv6.Server. object R DHCPv6 server configuration. - 2.2
Device.DHCPv6.Server.Pool.{i}. object(0:) W

DHCPv6 server pool table.

Each instance of this object defines a DHCPv6 server pool. Client requests are associated with pools based on criteria such as source interface, supplied DHCPv6 options, and source address.

Overlapping pool ranges MUST be supported.

For enabled table entries, if Interface is not a valid reference to an IPv6-capable interface (that is attached to the IPv6 stack) then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias, or with a given value for Order. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and Order such that the new entry does not conflict with any existing entries.

- 2.2
IANAManualPrefixes string[:8]() W

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

Manually-configured prefixes from which IA_NA addresses will be assigned. Each referenced prefix MUST have a {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} of {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}}. All clients that request IA_NA and match filter criteria on this Interface MUST be offered IA_NA addresses from all of the Valid ({{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime}} is infinite or in the future) /64 prefixes in this list.

Prefixes MUST be associated with the interface instance referenced by Interface.

<Empty> 2.2
IANAPrefixes string[:8]() R

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

All prefixes from which IA_NA addresses will be assigned. This list can include:

  • Prefixes from IANAManualPrefixes that are used for IA_NA offers.
  • Prefixes with {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} = {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} associated with the interface instance referenced by Interface.
- 2.2
IAPDManualPrefixes string[:8]() W

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

Manually-configured prefixes from which IA_PD prefixes will be derived. This list can include:

  • Prefixes with {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} = {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = true).
  • Prefixes with {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} = {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.StaticType}} associated with with the interface instance referenced by Interface.

All clients that request IA_PD and match filter criteria on this Interface MUST be offered IA_PD prefixes derived from all of the Valid ({{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.ValidLifetime}} is infinite or in the future) prefixes in this list.

<Empty> 2.2
IAPDPrefixes string[:8]() R

Comma-separated list (up to 8 items) (length ) of strings. Each list item MUST be the Path Name of a row in the IP.Interface.{i}.IPv6Prefix. table. If the referenced object is deleted, the corresponding item MUST be removed from the list.

All prefixes for which IA_PD prefixes will be assigned. This list can include:

  • Prefixes from IAPDManualPrefixes that are used for IA_PD offers.
  • Prefixes with {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} = {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} associated with upstream interfaces (i.e. interfaces for which the physical layer interface object has Upstream = true).
  • Prefixes with {{param: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} = {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} or {{enum: non-existent ###.IP.Interface.{i}.IPv6Prefix.{i}.Origin}} associated with the interface instance referenced by Interface.
- 2.2
Device.IEEE8021x. object R IEEE 802.1x object [802.1x-2004], where Supplicant models authentication supplicants. - 2.0
Device.IEEE8021x.Supplicant.{i}. object(1:) W

802.1x supplicant authentication provisioning and status information associated with an interface to be authenticated (e.g. an {{object: non-existent ##.Ethernet.Link}} instance).

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

Note: The Supplicant 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 Supplicant 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 Supplicant row.

This table MUST contain at least 1 entry.

At most one entry in this table can exist with a given value for Alias, or with a given value for Interface. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
Reset() command -

On a reset the device MUST reset the session by performing an initial authentication attempt as defined in [Section 9.6.1.3/802.1x-2004], Initialize Port by sending out the EAP start message.

The device MAY delay resetting the resource in order to avoid interruption of a user service such as an ongoing voice call.

Changes in 2.16:

  • Added async = false
- 2.12
Disconnect() command -

On a reset the device MUST disconnect (forced unauthentication) the resource.

The device MAY delay re-authentication of the resource in order to avoid interruption of a user service such as an ongoing voice call.

Changes in 2.16:

  • Added async = false
- 2.12
Device.IEEE8021x.Supplicant.{i}.EAPMD5. object R 802.1x Authentication Supplicant provisioning information used for MD5 shared secret exchange. This object will not exist if EAP-MD5 is not a supported authentication type. - 2.0
SharedSecret string(:256) W

The shared secret to be exchanged between the supplicant and authenticator.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.0
Device.Users. object R Users object that contains the User, Group, and Role tables. - 2.0
CheckCredentialsDiagnostics() command - Checks whether the input Username and Password are valid for allowing access to the user interface on the device. If not valid, then an indication of why they are not valid is output.

Changes in 2.16:

  • Changed async = truefalse
- 2.15
Device.Users.User.{i}. object(0:) W

This object contains parameters relating to the user characteristics.

At most one entry in this table can exist with a given value for Username, or with a given value for Alias, or with a given value for UserID. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and UserID such that the new entry does not conflict with any existing entries.

- 2.0
RemoteAccessCapable boolean W
Allows this user to remotely access the UserInterface via the mechanism defined in {{object: non-existent ##.UserInterface.HTTPAccess}}
This parameter was DEPRECATED in 2.16 due to the introduction of UserInterface.HTTPAccess.{i}. and RoleParticipation.

Changes in 2.16:

  • Added status = deprecated
false 2.0
Password string(:64) W

The user’s password.

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

Changes in 2.16:

  • Removed string(:64) syntax hidden = true
  • Added string(:64) syntax secured = true
- 2.0
Language string(:16) W

String describing the default language for the local configuration interface, specified according to [RFC3066].

If an empty string, {{param: non-existent ##.UserInterface.CurrentLanguage}} is used.

<Empty> 2.0
Device.Users.SupportedShell.{i}. object(0:) W

This table provides a list of user accessible shells which can be used as a reference in {{param: non-existent #.User.{i}.Shell}}

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.15
Device.SmartCardReaders. object R SmartCardReaders object that contains the SmartCardReader table. - 2.0
Device.SmartCardReaders.SmartCardReader.{i}. object(0:) R

This object describes the characteristics of the smart card reader.

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

- 2.0
Reset() command - Reset the SmartCard Reader and the associated SmartCard.

Changes in 2.16:

  • Added async = false
- 2.12
Device.UPnP. object R This object contains all UPnP related objects and parameters including Device and Discovery related objects and parameters. - 2.0
Device.UPnP.Discovery. object R

UPnP [UPnP-DAv1] SSDP discovered root devices, embedded devices and embedded services.

The CPE MAY, but need not, retain some or all of the information in this object across reboots.

- 2.0
Device.UPnP.Discovery.RootDevice.{i}. object(0:) R

UPnP root device table. This table contains an entry for each UPnP root device that has been discovered via SSDP.

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

- 2.0
Host string(:256)[] R Comma-separated list of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Hosts.Host. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list of strings (maximum number of characters per item 256). Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP root device.As such entries are added to or removed from the Host tables, the value of this parameter MUST be updated accordingly.

Changes in 2.16:

  • Removed list :1024 size
  • Added string ###.Hosts.Host. pathRef
- 2.0
Device.UPnP.Discovery.Device.{i}. object(0:) R

UPnP embedded device table. This table contains an entry for each UPnP embedded device that has been discovered via SSDP.

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

- 2.0
Host string(:256)[:1024] R Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Hosts.Host. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256). Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP embedded device.As such entries are added to or removed from the Host tables, the value of this parameter MUST be updated accordingly.

Changes in 2.16:

  • Added [:1024] list maxItems = 1024
  • Removed list :1024 size
  • Added string ###.Hosts.Host. pathRef
- 2.0
Device.UPnP.Discovery.Service.{i}. object(0:) R

UPnP embedded service table. This table contains an entry for each UPnP embedded service that has been discovered via SSDP.

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

- 2.0
Host string(:256)[:1024] R Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Hosts.Host. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256). Indicates the full path names of all Host table entries, whether active or inactive, that correspond to this UPnP embedded service.As such entries are added to or removed from the Host tables, the value of this parameter MUST be updated accordingly.

Changes in 2.16:

  • Added [:1024] list maxItems = 1024
  • Removed list :1024 size
  • Added string ###.Hosts.Host. pathRef
- 2.0
Device.UPnP.Description. object R This object contains information from the Description Document discovered from the UPnP Devices and Services. - 2.6
Device.UPnP.Description.DeviceDescription.{i}. object(0:) R

This table contains information read from the Device Description Document of discovered root devices.

The CPE MAY, but need not, retain some or all of the information in this table after the associated SSDP advertisement (objects in the UPnP.Discovery. object tables) expires.

In case the SSDP advertisement expires and the CPE deletes the related instances from the tables in UPnP.Discovery., the reference to such instances MUST be set to the empty string.

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

- 2.6
Host string(:256)[:1024] R Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256). Each list item MUST be the Path Name of a row in the Hosts.Host. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list (up to 1024 items) of strings (maximum number of characters per item 256).Includes Each list item MUST be the Path Name of the Host table entries associated with the root device from which the device description was retrieved. If the referenced object is deleted, the corresponding item MUST be removed from the list.retrieved.

Changes in 2.16:

  • Added [:1024] list maxItems = 1024
  • Removed list :1024 size
- 2.6
Device.Firewall. object R

Firewall configuration object. The Config parameter enables and disables the Firewall, and can select either a predefined configuration (High or Low) or an explicitly-defined Advanced configuration.

For an Advanced configuration, AdvancedLevel controls the currently active Firewall Level, and the Firewall Levels are defined in the Level, Chain and Chain.{i}.Rule tables.

For an Policy configuration, PolicyLevel controls the currently active Firewall Level, and the Firewall Levels are defined in the Policy, Level, Chain and Chain.{i}.Rule tables.The Firewall rules modeled by thisChain, DMZ and Pinhole operate only on the forwarding path. This means that they affect only routed traffic, and do not affect traffic that is destined for or generated by the device itself.

Traffic destined for or generated by the device itself can use the Service object operate only on the forwarding path. This means that they affect only routed traffic, and do not affect traffic that is destined for or generated by the CPE. to model the appropriate Firewall rules.Note that any NAT processing on the ingress packet occurs before Firewall rules are applied so, for example, the Firewall rules will see the translated destination IP address and port in a downstream packet that has passed through the NAT.

See [Appendix VIII/TR-181i2] for an example Advanced configuration.

Changes in 2.16:

- 2.0
Config string W

How this firewall is configured. Enumeration of:

  • High (The firewall implements the “Traffic Denied Inbound” and “Minimally Permit Common Services Outbound” components of the ICSA residential certification’s Required Services Security Policy [ICSA-Residential]. If DoS and vulnerability protections are implemented [ICSA-Baseline], these are enabled)
  • Low (All Outbound traffic and pinhole-defined Inbound traffic is allowed. If DoS and vulnerability protections are implemented [ICSA-Baseline], these are enabled)
  • Off (

All Inbound and Outbound traffic is allowed, and the CPE is only protected by NAT settings (if supported and enabled). If DoS and vulnerability protections are implemented [ICSA-Baseline], these are disabled.

This enumeration was OBSOLETED in 2.14 because it is the same as setting Enable to false.

This enumeration was DELETED in 2.16.

Changes in 2.16:

  • Changed status = obsoleteddeleted

)

  • Advanced (Advanced firewall configuration applies, as specified by AdvancedLevel, OPTIONAL)
  • Policy (Policy firewall configuration applies, as specified by PolicyLevel, OPTIONAL, added in 2.16)

Vendors can extend the enumerated values with vendor specific extensions, in which case the rules outlined in [Section 3.3/TR-106] MUST be adhered to.

Changes in 2.16:

  • Added string Policy enumeration
- 2.0
PolicyLevel string W

The value MUST be the Path Name of a row in the Level. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. Selects the currently active Firewall Policy Level.

PolicyLevel only applies when Config is Policy.

- 2.16
DMZNumberOfEntries unsignedInt R The number of entries in the DMZ table. - 2.16
ServiceNumberOfEntries unsignedInt R The number of entries in the Service table. - 2.16
PinholeNumberOfEntries unsignedInt R The number of entries in the Pinhole table. - 2.16
PolicyNumberOfEntries unsignedInt R The number of entries in the Policy table. - 2.16
Device.Firewall.Level.{i}. object(0:) W

Firewall Level table. When an Advanced or Policy configuration is selected, {{param: non-existent #.AdvancedLevel or PolicyLevel}} selects the currently active entry in this table. Each Level table entry references the Chain that contains the rules for this level.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.2
Policies string[] W Comma-separated list of strings. Each list item MUST be the Path Name of a Policy, or an empty string. Policies only applies when Config is Policy. - 2.16
Device.Firewall.Policy.{i}. object(0:) W

Firewall Policy table. When a Policy configuration is selected, PolicyLevel selects the currently active entry in this table. Each Policy table entry references the Chain that contains the rules for this policy.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W Enables or disables the firewall policy. - 2.16
Status string R

The status of this Policy entry. Enumeration of:

  • Disabled
  • Enabled
  • Error_Misconfigured
  • Error (OPTIONAL)

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.

Disabled 2.16
Chain string W The value MUST be the Path Name of a row in the Chain. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The Chain containing Firewall Rules associated with this Policy entry. This is applicable for traffic from the SourceInterface to the DestinationInterface. Chain only applies when TargetChain is Chain. - 2.16
TargetChain string W

Action to perform for traffic matching this Policy entry. Enumeration of:

  • Drop (The firewall discards packets matching this rule)
  • Accept (The firewall forwards packets matching this rule)
  • Reject (The firewall discards packets matching this rule, and sends an ICMP message to the originating host, OPTIONAL)
  • Chain (The rules in the chain referenced by the Chain parameter are matched, OPTIONAL)
Drop 2.16
SourceInterface 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. This specifies the L3 source interface associated with the entry. <Empty> 2.16
DestinationInterface 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. This specifies the L3 destination interface associated with the entry. <Empty> 2.16
IPVersion int(-1:15) W

IP Protocol Version as specified in [IANA-ipversionnumbers]. For example:

  • 4 (IPv4)
  • 6 (IPv6)

A value of -1 indicates this criterion is not used for matching.

-1 2.16
ReverseChain string W The value MUST be the Path Name of a row in the Chain. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The Chain containing Firewall Rules associated with this Policy entry. This is applicable for traffic from the DestinationInterface to the SourceInterface. ReverseChain only applies when ReverseTargetChain is Chain. - 2.16
ReverseTargetChain string W

Action to perform for traffic matching this Policy entry.

Enumeration of:

  • Drop (The firewall discards packets matching this rule)
  • Accept (The firewall forwards packets matching this rule)
  • Reject (The firewall discards packets matching this rule, and sends an ICMP message to the originating host, OPTIONAL)
  • Chain (The rules in the chain referenced by the ReverseChain parameter are matched, OPTIONAL)
Drop 2.16
Device.Firewall.Chain.{i}. object(0:) W

Firewall Chain table. Each entry contains an ordered list of Rule objects which can themselves reference other Chain instances. A hierarchy of rules can therefore be created.

A given Firewall Chain’s rules are all created by the same entity, as indicated by the Creator parameter.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.2
Device.Firewall.Chain.{i}.Rule.{i}. object(0:) W

Firewall Rule table. Each entry defines a Firewall packet selection rule. The Target parameter defines the action to perform for traffic matching this rule: the packet can be dropped, accepted, rejected or passed to another Chain.

This table MUST NOT contain dynamic Firewall rules associated with Stateful Firewall sessions.

All entries are created by the creator of the parent Chain, as indicated by its Creator parameter. Rule entries in a Chain with a Creator of Defaults, ACS, UserInterface or (maybe) Other are referred to as Static Rules. Whether or not a Rule in a Chain with Creator Other is regarded as Static is a local matter to the CPE. Some of this object’s parameter descriptions refer to whether a Rule is Static when specifying whether or not the parameter value can be modified.

For enabled table entries, if SourceInterface is not a valid reference and SourceAllInterfaces is false, or if DestInterface is not a valid reference and DestAllInterfaces is false, then the table entry is inoperable and the CPE MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.2
Target string W

Action to perform for traffic matching this Rule entry.[ Enumeration of:

  • Drop (The firewall discards packets matching this rule)
  • Accept (The firewall forwards packets matching this rule)
  • Reject (The firewall discards packets matching this rule, and sends an ICMP message to the originating host, OPTIONAL)
  • Return (The firewall doesn’t consider the remaining rules (if any) in the current chain, OPTIONAL)
  • TargetChain (The rules in the chain referenced by the TargetChain parameter are matched, OPTIONAL) ]

This parameter can only be modified if the Rule is Static (as explained in the object description).

Enumeration of:

  • Drop (The firewall discards packets matching this rule)
  • Accept (The firewall forwards packets matching this rule)
  • Reject (The firewall discards packets matching this rule, and sends an ICMP message to the originating host, OPTIONAL)
  • Return (The firewall doesn’t consider the remaining rules (if any) in the current chain, OPTIONAL)
  • TargetChain (The rules in the chain referenced by the TargetChain parameter are matched, OPTIONAL)
Drop 2.2
IPVersion int(-1:15) W

Rule criterion.

IP Protocol Version (e.g.as 4specified forin IPv4[IANA-ipversionnumbers]. andFor 6example:

  • 4 for(IPv4)
  • 6 IPv6). (IPv6)A value of -1-1 indicates this criterion is not used for matching.

This parameter can only be modified if the Rule is Static (as explained in the object description).

-1 2.2
ConnectionState string[] W

Comma-separated list of strings. Matches only packets according to the following connection states. An empty string indicates this criterion is not used for matching.

Each list item is an enumeration of:

  • INVALID (The received packet is not associated with an known connection and it may contain faulty data or headers)
  • NEW (The first received packet of a new not yet established connection)
  • RELATED (The received packet that is starting a new connection and is related to an already known and established connection)
  • ESTABLISHED (The received packet is part of an already established and known connection that has handled packets in both directions and is being considered fully valid)
- 2.16
SourceMAC string(:17) W [MACAddress] Source MAC address. An empty string indicates this criterion is not used for matching. <Empty> 2.16
SourceMACExclude boolean W

If false, the rule matches only those packets that match the SourceMAC entry, if specified.

If true, the rule matches all packets except those that match the SourceMAC entry, if specified.

false 2.16
Device.Firewall.Pinhole.{i}. object(0:) W

Firewall Pinhole object that is used for configuring pinholes. Pinholes are similar to port mapping entries but without the NAT support. The Pinhole table is used for allowing certain incoming traffic, on the Interface, to be routed to the internal network.

For enabled table entries, if DestMACAddress and DestIP are an empty string, or if Interface is not a valid reference, then the table entry is inoperable and the device MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W Enables or disables the pinhole. - 2.16
Status string R

The status of this Pinhole entry.

Enumeration of:

  • Disabled (Indicates that the pinhole is disabled)
  • Enabled (Indicates that the pinhole is enabled)
  • Error_Misconfigured (Indicates that a necessary configuration value is undefined or invalid)
  • Error (MAY be used to define an error condition, OPTIONAL)
Disabled 2.16
Origin string W

Indicates the owner of the Pinhole instance.

Enumeration of:

  • User (Used for indicating that the pinhole rule was created by the end-user. For example through the web-ui)
  • System (Used for indicating that the pinhole rule was created by the system itself)
  • Controller (Used for indicating that the pinhole rule was created by a Controller)
Controller 2.16
Description string(:256) W Human-readable description associated with this Pinhole entry. - 2.16
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. Specifies the incoming L3 interface to which this pinhole applies. <Empty> 2.16
SourcePort int(-1:65535) W Source port number of the incoming connection. A value of -1 indicates this criterion is not used for matching. -1 2.16
DestPort int(-1:65535) W Destination port number. A value of -1 indicates this criterion is not used for matching. -1 2.16
IPVersion int(-1:15) W

IP Protocol Version as specified in [IANA-ipversionnumbers]. For example:

  • 4 (IPv4)
  • 6 (IPv6)

A value of -1 indicates this criterion is not used for matching.

6 2.16
Protocol int(-1:255)[] W

Comma-separated list of integers (-1 to 255). Protocol number as specified in [IANA-protocolnumbers] For example:

  • 6 (TCP)
  • 17(UDP) A value of -1 indicates this criterion is not used for matching.
-1 2.16
SourcePrefixes string(:49)[] W [IPPrefix] Comma-separated list of IPPrefixs. Only allow incoming connections that match one or more of the source IP addresses or prefixes that are specified in SourcePrefixes for the applied pinhole. - 2.16
DestIP string(:45) W [IPAddress] The IP address of a client on the internal network. Either DestIP or DestMACAddress MUST be configured, it is not allowed to configure them both. An empty string indicates this criterion is not used for matching. - 2.16
DestMACAddress string(:17) W [MACAddress] The MAC address of a client on the internal network. Either DestMACAddress or DestIP MUST be configured, it is not allowed to configure them both. An empty string indicates this criterion is not used for matching. - 2.16
Device.Firewall.DMZ.{i}. object(0:) W

Firewall DMZ object that is be used for configuring a demilitarized zone. A DMZ network is a seperate network perimeter that protects the internal network from untrusted traffic. Typically the DMZ is located between two firewalls, the firewall of the internal network and the firewall responsible for handling untrusted traffic.

The device MUST forward all received packets that matches the SourcePrefix criteria to the IP address that is specified in DestIP.

For enabled table entries, if DestIP is an empty string, or if Interface is not a valid reference, then the table entry is inoperable and the device MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias, or with the same values for both DestIP and SourcePrefix. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and DestIP such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W Enables or disables the firewall DMZ instance. - 2.16
Status string R

The status of this DMZ entry.

Enumeration of:

  • Disabled (Indicates that the DMZ entry is disabled)
  • Enabled (Indicates that the DMZ entry is enabled)
  • Error_Misconfigured (Indicates that a necessary configuration value is undefined or invalid)
  • Error (MAY be used to define an error condition, OPTIONAL)
Disabled 2.16
Origin string W

Indicates who configured the DMZ instance.

Enumeration of:

  • User (Used for indicating that the DMZ rule was created by the end-user. For example through the web-ui)
  • System (Used for indicating that the DMZ rule was created by the system itself)
  • Controller (Used for indicating that the DMZ rule was created by a Controller,)
Controller 2.16
Description string(:256) W Human-readable description associated with the entry. - 2.16
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. This specifies the incoming L3 interface to which the DMZ applies. <Empty> 2.16
DestIP string(:45) W

[IPv4Address] The IPv4 address of a client in the DMZ network.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

- 2.16
SourcePrefix string(:49) W [IPv4Prefix] Only allow incoming connections that match to the source IPv4 address or prefix that is specified in SourcePrefix for the applied DMZ instance. An empty string indicates this criterion is not used for matching. <Empty> 2.16
Device.Firewall.Service.{i}. object(0:) W

Firewall Service object that is used for configuring the firewall for opening a port/protocol for a local network service. For example:

  • SSH Server
  • Web Server

For enabled table entries, if Interface, DestPort and Protocol are an empty string, or if Interface is not a valid reference, then the table entry is inoperable and the device MUST set Status to Error_Misconfigured.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of Interface, DestPort, Protocol and SourcePrefixes. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W Enables or disables the firewall service instance. - 2.16
Status string R

The status of this Service entry.

Enumeration of:

  • Disabled (Indicates that the Service entry is disabled)
  • Enabled (Indicates that the Service entry is enabled)
  • Error_Misconfigured (Indicates that a necessary configuration value is undefined or invalid)
  • Error (MAY be used to define an error condition, OPTIONAL)
Disabled 2.16
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. This specifies the incoming L3 interface to which the Service rule applies. <Empty> 2.16
DestPort int(-1:65535)[] W Comma-separated list of integers (-1 to 65535). Destination port number. A value of -1 indicates this criterion is not used for matching. -1 2.16
IPVersion int(-1:15) W

IP Protocol Version as specified in [IANA-ipversionnumbers]. For example:

  • 4 (IPv4)
  • 6 (IPv6)

A value of -1 indicates this criterion is not used for matching.

-1 2.16
Protocol int(-1:255)[] W

Comma-separated list of integers (-1 to 255). Protocol number as specified in [IANA-protocolnumbers] For example:

  • 6 (TCP)
  • 17(UDP) A value of -1 indicates this criterion is not used for matching.
-1 2.16
ICMPType int(-1:255) W ICMP type as specified in [RFC792] for ‘IPv4’ and [RFC4443] for ‘IPv6’. Only applicable when Protocol contains 1 (ICMP IPv4) or 58 (ICMP IPv6). A value of -1 indicates this criterion is not used for matching. -1 2.16
SourcePrefixes string(:49)[] W [IPPrefix] Comma-separated list of IPPrefixs. Only allow incoming connections that match one or more of the source IP addresses or prefixes that are specified in SourcePrefixes for the applied service. <Empty> 2.16
Action string W

Action to perform for traffic matching this Service entry.

Enumeration of:

  • Drop (The firewall discards packets matching this rule)
  • Accept (The firewall forwards packets matching this rule)
  • Reject (The firewall discards packets matching this rule, and sends an ICMP message to the originating host, OPTIONAL)
Accept 2.16
Device.PeriodicStatistics. object R

This object configures collection of periodic statistics for the device.

Periodic statistics are measured over a sample interval (which can be aligned with absolute time) and are made available to the Controller as a comma-separated list of the most recent samples.

This object provides a single set of global settings that affect the entire device unless overridden locally.

- 2.0
Device.PeriodicStatistics.SampleSet.{i}. object(0:) W

Periodic statistics sample set table. Each sample set has its own sample interval etc.

At most one entry in this table can exist with a given value for Name, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.0
Status string R

Indicates availability of Sample statistics. Enumeration of:

  • Disabled (Collection is disabled)
  • Enabled (Collection is enabled)
  • Trigger (Collection is enabled and the Controller SHOULD now fetch the collected data)
The Trigger value is only used for triggering the Controller to fetch the collected data and can only be used when FetchSamples is in the range [1:ReportSamples].
The transition from Enabled to Trigger to Enabled MUST be instantaneous and so will result in only a single value change for notification purposes.
This parameter was DEPRECATED in 2.16 because the periodic statistics are sent through a USP Push! event.

Changes in 2.16:

  • Added status = deprecated
Disabled 2.0
Controller string R

The value MUST be the Path Name of the {{object: non-existent ##.LocalAgent.Controller}} instance that created SampleSet. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string).

The value of this parameter is automatically populated by the USP Agent upon SampleSet creation using the reference to the USP Controller that created the instance.

The USP Controller referenced by this parameter defines the set of permissions to use when updating the {{object: non-existent Parameter}} table. Furthermore, only the USP Controller referenced by this parameter will havereceive accessa toPush! theEvent Parameter.{i}.Values,(assuming Parameter.{i}.SampleSeconds,it Parameter.{i}.SuspectDatahas andan Parameter.{i}.Failuresassociated parameters.Subscription), even if another USP Controller has an associated Subscription.

- 2.15
SampleInterval unsignedInt(1:) W

The sample interval in seconds. Each statistic is measured over this sample interval.

The CPE MAY reject a request to set SampleInterval to less than {{param: non-existent #.MinSampleInterval}}.

Sample intervals MUST begin every SampleInterval seconds, with no delay between samples.

If SampleInterval is changed while collection of periodic statistics is enabled, any stored samples are discarded, and the first sample interval begins immediately.

For example, if ReportSamples is 24 and SampleInterval is 3600 (an hour), the CPE can store up to a day’s worth of samples for each statistic.

3600 2.0
ReportSamples unsignedInt(1:) W

The number of samples that the CPE will store and report for each statistic.

The CPE MUST permit ReportSamples to be set to at least {{param: non-existent #.MaxReportSamples}}.

If ReportSamples is changed while collection of periodic statistics is enabled, the CPE will truncate or extend its statistics buffers as appropriate, but statistics collection MUST NOT otherwise be affected.

For example, if ReportSamples is 24 and SampleInterval is 3600 (an hour), the CPE can store up to a day’s worth of samples for each statistic.

24 2.0
TimeReference dateTime W

An absolute time reference in UTC to determine when sample intervals will complete. Each sample interval MUST complete at this reference time plus or minus an integer multiple of SampleInterval.

TimeReference is used only to set the “phase” of the sample and fetch intervals. The actual value of TimeReference can be arbitrarily far into the past or future.

This time reference also determines when the {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}} {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Trigger}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} transitionsPush! event that areis controlled by FetchSamples will occur. If collection of periodic statistics is enabled and FetchSamples is in the range [1:ReportSamples] then each such {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}} transitionPush! event MUST occur at this reference time plus or minus an integer multiple of FetchSamples * SampleInterval (the fetch interval).

If TimeReference is changed while collection of periodic statistics is enabled, any stored samples are discarded, and the first sample interval begins immediately.

The Unknown Time value defined in [TR-106] indicates that no particular time reference is specified. That is, the CPE MAY locally choose the time reference, and is required only to adhere to the specified sample and fetch intervals.

If absolute time is not available to the CPE, its sample and fetch interval behavior MUST be the same as if the TimeReference parameter was set to the Unknown Time value.

For example, if SampleInterval is 3600 (an hour) and if TimeReference is set to UTC midnight on some day (in the past, present, or future) then sample intervals will complete on each UTC hour (00:00, 01:00, 02:00 etc).

If, in addition, FetchSamples is 24, then the fetch interval is 86400 (a day) and {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}} {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Trigger}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} transitionsthe Push! event will occur every day at UTC midnight.

Note that, if TimeReference is set to a time other than the Unknown Time, the first sample interval (which has to begin immediately) will almost certainly be shorter than SampleInterval). This is why TimeReference is defined in terms of when sample intervals complete rather than start.

0001-01-01T00:00:00Z 2.0
ReportStartTime dateTime R The absolute time at which the sample interval for the first stored sample (for each statistic) started.

Changes in 2.16:

  • Changed default value = ““ ⇒ 0001-01-01T00:00:00Z
0001-01-01T00:00:00Z 2.0
ReportEndTime dateTime R

The absolute time at which the sample interval for the last stored sample (for each statistic) ended.

If Device.PeriodicStatistics.SampleSet.{i}.ForceSample() has been used to force statistics for the current sample to be calculated and updated in the data model, then ReportEndTime MUST be updated to reflect the actual time over which stored data was collected.

Changes in 2.16:

  • Changed default value = ““ ⇒ 0001-01-01T00:00:00Z
0001-01-01T00:00:00Z 2.0
FetchSamples unsignedInt(1:) W

The number of sample intervals to be collected before transitioningtriggering {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}}a fromPush! {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Trigger}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}}.event.

If this SampleSet is enabled and FetchSamples is in the range [1:ReportSamples] then {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}}a Push! event MUST transitionbe from {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Trigger}} to {{enum: reference to deprecated enumeration Device.PeriodicStatistics.SampleSet.{i}.Status.Enabled}}sent on completion of every FetchSamples sample intervals. Otherwise, the transition MUST NOT occur.

For example, if ReportSamples is 25 and FetchSamples is 24, then the CPE will store 25 values for each monitored parameter and the abovePush! {{param: reference to deprecated parameter Device.PeriodicStatistics.SampleSet.{i}.Status}} transitionevent will occur as the CPE stores each 24th of 25 sample intervals, which means that the Controller could delay for up to two sample intervals before reading the stored values and would still not miss any samples (see also Device.PeriodicStatistics.SampleSet.{i}.ForceSample()).intervals.To disable this trigger mechanism and still collect sampled statistics, {{param}} can be set to either 0 or a value greater than {{param|ReportSamples}}.

Changes in 2.16:

  • Added unsignedInt 1: range
  • Changed default value = 01
1 2.0
Push! event - Periodic Statistics Push event for delivering a periodic statistics report within a USP Notification message. - 2.16
Parameter.{i}. object(0:) R

Periodic statistics parameter table for the report sent by this event. This table contains entries for parameters whose values were sampled.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.16
Reference string(:256) R The value MUST be the Path Name of a parameter. This is the parameter being reported by the Periodic Statistics mechanism. - 2.16
Values string[] R

Comma-separated list of strings. Each entry indicates the value of the referenced parameter, as determined by Parameter.{i}.SampleMode, during the sample interval.

The statistics values in this comma-separated list MUST be in time order, with the oldest one first and the most recent one last.

If the Parameter.{i}.SampleMode parameter is not present, or is inappropriate for the referenced parameter, the statistics values MUST be collected in Current mode.

- 2.16
SampleSeconds unsignedInt[] R

Comma-separated list of unsigned integers. Each entry indicates the number of seconds during which data was collected for this parameter during the sample interval.

Individual SampleSeconds values can be less than SampleInterval, for several reasons, including:

Any of the reasons for which SampleSeconds values might be less than SampleInterval.
The parameter doesn’t exist, or was created or deleted during a sample interval.
- 2.16
SuspectData unsignedInt(:1)[] R

Comma-separated list of unsigned integers (up to 1). Each entry is 0 if the sampled value is believed to be valid, or 1 if an event that might affect the validity of the sampled value occurred during the sample interval.

For example, if the parameter value were to be reset during the sample interval then it would be appropriate to set SuspectData to 1.

- 2.16
Failures unsignedInt R

Counts the number of times (since this object instance was last enabled) that a newly-calculated sample value (accounting for Parameter.{i}.SampleMode) transitioned from the “in range” state to the “out of range” state, or between the “out of range (low)” and “out of range (high)” states. The states are defined as follows:

Note that, if Parameter.{i}.LowThreshold and Parameter.{i}.HighThreshold are both the same, the threshold/failure mechanism is disabled, so the value of this parameter will not increment.

This parameter can be incremented at any time during a sample interval, and might be incremented more than once during a single sample interval. For this reason, the CPE SHOULD place a locally specified limit on the frequency at which it will notify the Controller of such changes.

Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.

- 2.16
ForceSample() command -

Force statistics for the current sample to be calculated and updated in the data model.

If this is the first time that this command is called during the current sample interval, this MUST cause a new value to be added to each of the periodic statistics comma-separated list parameters, and the ReportEndTime and all SampleSeconds parameters MUST be updated accordingly.

If this is not the first time that this command is during the current sample interval, then the new values that were added as described in the previous paragraph, and the ReportEndTime and all SampleSeconds parameters, MUST be updated accordingly.

Note that {{param: empty ref only valid in parameter descriptions}}ForceSample() just provides a “sneak preview” of the current sample. It does not create a new sample and it does not interfere with the sample interval schedule.

At the end of each sample interval, if this command was executed during the sample interval then the new values that were added as described above, and the ReportEndTime and all SampleSeconds parameters, will be updated accordingly. In other words, the partial sample data that was created when the command was executed will be updated one last time at the end of the sample interval.

Changes in 2.16:

  • Added async = false
- 2.12
ForceCollection() command -

Start the periodic statistics collection performing actions equivalent to a ForceSample() command and transmission performing a Push! event immediately, regardless of the current values of the Enable and FetchSamples parameters.

This command can be used for testing of the periodic statistics collection mechanism and sample set but also to preempt any regular schedule without affecting it.

- 2.16
Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}. object(0:) W

Periodic statistics parameter table for this sample set. This table contains entries for parameters whose values are to be sampled.

Note that the comma-separated lists in this object (SampleSeconds, SuspectData and Values) only ever change (a) when first enabled, (b) when Device.PeriodicStatistics.SampleSet.{i}.ForceSample() ishas setbeen used to trueforce statistics for the current sample to be calculated (a “sneak preview” of the current sample), or (c) at the end of the sample interval.

At most one entry in this table can exist with a given value for Reference, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.0
LowThreshold int W

The low threshold value that controls the calculation of FailuresDevice.PeriodicStatistics.SampleSet.{i}.Push!.Parameter.{i}.Failures.

A value equal to HighThreshold disables the threshold/failure mechanism.

Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.

0 2.0
HighThreshold int W

The high threshold value that controls the calculation of FailuresDevice.PeriodicStatistics.SampleSet.{i}.Push!.Parameter.{i}.Failures.

A value equal to LowThreshold disables the threshold/failure mechanism.

Parameters of non-numeric types cannot support the threshold/failure mechanism. The value of this parameter MUST be ignored for such parameters.

0 2.0
SampleSeconds unsignedInt[] R

Comma-separated list of unsigned integers. Each entry indicates the number of seconds during which data was collected for this parameter during the sample interval.

Individual SampleSeconds values can be less than {{param: non-existent #.SampleInterval}}, for several reasons, including:

Any of the reasons for which {{param: non-existent #.SampleSeconds}} values might be less than {{param: non-existent #.SampleInterval}}.
The parameter doesn’t exist, or was created or deleted during a sample interval.

Value Change Notification requests for this parameter MAY be denied.

<Empty> 2.0
Device.FaultMgmt. object R This object contains parameters relating to Fault/Alarm Management. - 2.4
MaxCurrentAlarmEntries unsignedInt R The maximum number of entries allowed in the {{object: non-existent CurrentAlarm}} table. - 2.4
Device.FaultMgmt.SupportedAlarm.{i}. object(0:) R

Supported Alarm Entries which can be raised by the device.

The instance numbers for this table SHOULD be maintained across firmware upgrades of the device.

At most one entry in this table can exist with the same values for all of EventType, ProbableCause, SpecificProblem and PerceivedSeverity.

- 2.4
ReportingMechanism string W

Indicates the reporting mechanism setting of the alarm. Enumeration of:

  • 0 Expedited (The device inserts the alarm into the {{object: non-existent #.ExpeditedEvent}} table and the {{object: non-existent #.ExpeditedEvent}} table)
  • 1 Queued (The device inserts the alarm into the {{object: non-existent #.QueuedEvent}} table and the {{object: non-existent #.QueuedEvent}} table)
  • 2 Logged (The device inserts the alarm into the {{object: non-existent #.HistoryEvent}} table)
  • 3 Disabled (The device ignores the alarm)
- 2.4
Device.FaultMgmt.CurrentAlarm.{i}. object(0:) R

Contains all currently active alarms (whose {{param: non-existent #.SupportedAlarm.{i}.PerceivedSeverity}} is not {{enum: non-existent #.SupportedAlarm.{i}.PerceivedSeverity}}).

Newly raised alarms result in a new entry in this table being added, any changes to the alarm as a result of an update event are updated in the existing table entry, and a clear event raised against an alarm results in the alarm being removed from this table.

If maximum entries as indicated by {{param: non-existent #.MaxCurrentAlarmEntries}} is reached, the next event overrides the object with the oldest AlarmChangedTime.

When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).

At most one entry in this table can exist with a given value for AlarmIdentifier, or with the same values for all of EventType, ProbableCause and SpecificProblem.

- 2.4
Device.FaultMgmt.HistoryEvent.{i}. object(0:) R

Alarm events added or updated in {{object: non-existent #.CurrentAlarm}} are simultaneously entered into the this table. This table also contains alarm clearing events.

Active alarms at the time of a power failure or reboot might not get an alarm clearing event.

This object has a fixed number of entries with instance numbers from 1 to {{param: non-existent #.HistoryEventNumberOfEntries}}.

If maximum instance number {{param: non-existent #.HistoryEventNumberOfEntries}} is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic “rolling” of records.

At most one entry in this table can exist with the same values for both EventTime and AlarmIdentifier.

- 2.4
Device.FaultMgmt.ExpeditedEvent.{i}. object(0:) R

Alarm events added or updated in {{object: non-existent #.CurrentAlarm}} are simultaneously entered into the this table if their corresponding entry in {{object: non-existent #.SupportedAlarm}} has {{param: non-existent #.SupportedAlarm.{i}.ReportingMechanism}} set to {{enum: non-existent #.SupportedAlarm.{i}.ReportingMechanism}}. This table also contains alarm clearing events.

This object has a fixed number of entries with instance numbers from 1 to {{param: non-existent #.ExpeditedEventNumberOfEntries}}.

Initially the table starts with all instances having EventTime set to the Unknown Time value, as defined in [TR-106].

If maximum instance number {{param: non-existent #.ExpeditedEventNumberOfEntries}} is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic “rolling” of records.

When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).

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

- 2.4
Device.FaultMgmt.QueuedEvent.{i}. object(0:) R

Alarm events added or updated in {{object: non-existent #.CurrentAlarm}} are simultaneously entered into the this table if their corresponding entry in {{object: non-existent #.SupportedAlarm}} has {{param: non-existent #.SupportedAlarm.{i}.ReportingMechanism}} set to {{enum: non-existent #.SupportedAlarm.{i}.ReportingMechanism}}. This table also contains alarm clearing events.

This object has a fixed number of entries with instance numbers from 1 to {{param: non-existent #.QueuedEventNumberOfEntries}}.

Initially the table starts with all instances having EventTime set to the Unknown Time value, as defined in [TR-106].

If maximum instance number {{param: non-existent #.QueuedEventNumberOfEntries}} is reached, the next event overrides the object with instance number 1. Subsequent entries override objects at sequentially increasing instance numbers. This logic provides for automatic “rolling” of records.

When a new alarm replaces an existing alarm, then all parameter values for that instance are considered as changed for the purposes of value change notifications to the Controller (even if their new values are identical to those of the prior alarm).

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

- 2.4
Device.FAP. object R This object is the container for all Femto related component objects, to prevent pollution of the so-called global namespace of the BBF with FAP specific objects. - 2.4
Device.FAP.GPS. object R This object contains the parameters relating to the GPS scan. - 2.4
GPSReset() command - Reset the GPS Hardware.

Changes in 2.16:

  • Added async = false
- 2.12
Device.FAP.GPS.AGPSServerConfig. object R This object contains parameters for the configuration of the Assisted Global Positioning System (A-GPS) server. See also [Section 3.2/3GPP-TS.25.171] - 2.4
Password string(:64) W

Password to be used by the device to authenticate with the A-GPS server. This string is set to an empty string if no authentication is used.

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

Changes in 2.16:

  • Removed string(:64) syntax hidden = true
  • Added string(:64) syntax secured = true
- 2.4
Device.FAP.PerfMgmt. object R This object contains parameters relating to Performance Management in a Femto-related environment. - 2.4
Device.FAP.PerfMgmt.Config.{i}. object(0:) W

This object contains parameters relating to File Management configuration for uploading of Performance Files to a designated File Server. Each table entry can be referenced by zero or more radio-specific objects contained in the FAPService instances. The periodic upload will upload data for all of the radio-specific objects that reference it.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of URL, PeriodicUploadInterval and PeriodicUploadTime. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, URL, PeriodicUploadInterval and PeriodicUploadTime such that the new entry does not conflict with any existing entries.

- 2.4
Password string(:256) W

Password to be used by the device to authenticate with the file server. This string is set to an empty string if no authentication is used.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.4
Device.BulkData. object R

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-369].

The USPEventNotif solution is based on sending a Profile.{i}.Push! Event Notification via USP [TR-369].

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
Device.BulkData.Profile.{i}. object(0:) 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 Controller to configure multiple reports to be generated at different times for different sets of data.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.5
Controller string R

The value MUST be the Path Name of the {{object: non-existent ##.LocalAgent.Controller}} instance that created Profile. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string).

The value of this parameter is automatically populated by the USP Agent upon Profile creation using the reference to the USP Controller that created the instance.

The USP Controller referenced by this parameter also defines the set of permissions to use when generating the Bulk Data report. Furthermore, only the USP Controller referenced by this parameter will receive a Push! Event (assuming it has an associated Subscription) when the Profile has Protocol configured to USPEventNotif, even if another USP Controller has an associated Subscription.

- 2.12
FileTransferPassword string(:64) W
Password used for authentication of the FileTransferURL.
This is the FileTransferPassword that the IPDR Collector uses to access the CPE when this collection profile is configured for the IPDR File Transfer Protocol [IPDR-FTP] (the Protocol parameter has a value of File).
This parameter was DEPRECATED in 2.15 because IPDR Bulk Data Collection is not supported in USP.
When read, this parameter returns an empty string, regardless of the actual value.

Changes in 2.16:

  • Removed string(:64) syntax hidden = true
  • Added string(:64) syntax secured = true
- 2.5
ForceCollection() command -

Start the bulk data collection and transmission as defined in this profile immediately, regardless of the current values of the Enable and ReportingInterval parameters.

This command can be used for testing of the bulk data collection mechanism and profile but also to preempt any regular schedule without affecting it.

Changes in 2.16:

  • Added async = false
- 2.15
Device.BulkData.Profile.{i}.Parameter.{i}. object(0:) 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 either collected and reported.reported, or omitted if Exclude is true.

Changes in 2.16:

- 2.5
Exclude boolean W When true, the entry is to be excluded from the report. false 2.16
Device.BulkData.Profile.{i}.HTTP. object R 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 {{bibref: non-existent RFC7617 and [RFC7616]}}. - 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.

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.10
Device.SoftwareModules. object R Top level object for dynamically managed software applications.

Changes in 2.16:

- 2.1
ExecEnvClassNumberOfEntries unsignedInt R The number of entries in the ExecEnvClass table. - 2.16
InstallDU() command - [ASYNC] Install one or more Deployment Units (DUs) to the associated SoftwareModules.

Changes in 2.16:

- 2.12
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

[MANDATORY] The [URL] that specifies the location of the DU to be installed.

The URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

HTTPThe HTTPS transport MUST be supported, and HTTPSthe transportsHTTP MUSTtransport MAY be supported. Other optional transports MAY also be supported.

- 2.12
Signature string(:2048) W

The [URL] which can be used to fetch the signature for this DU. The [URL] may use the “data” scheme defined in [RFC2397] in order to incorporate the signature into the command directly.

Several signature formats are in common use; the device may deduce the format used from the Content-Type of the retrieved object and/or by examining its content.

The URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

HTTPS transport MUST be supported. Other optional transports MAY be supported.

The absence of this parameter indicates that the DU is unsigned. If this is contrary to the security policy of the device then the command will be rejected.

- 2.16
RequiredRoles string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). The roles which the application installed by this command will need to be assigned in order to be able to function at all. If any of these roles are not present in the ExecEnv.{i}.AvailableRoles of the ExecEnv into which the DU is to be installed then the command will fail. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role. If there is no such row then the command will fail, as installation requires a role which is not available on the Device.

If this argument is absent or empty then no roles are required in order for the application to function.

- 2.16
OptionalRoles string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). The additional roles which the application installed by this command would need to be assigned in order to be able to provide its full functionality.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role. If there is no such row, or the matching row is not present in the ExecEnv.{i}.AvailableRoles of the Execution Environment into which the DU is to be installed, then the entry will be ignored. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive.

If this argument is absent or empty then no additional roles are required in order for the application to be able to provide its full functionality.

- 2.16
AutoRestart. object W

Defines the parameters of the auto-restart algorithm for any ExecutionUnit which is created as a result of this command.

An auto-restart may be triggered if the Agent determines that the EU has terminated abnormally. An exponential backoff algorithm is applied (increasing each time the delay before the EU is re-launched) in order to prevent continual re-starting of the EU.

The retry interval range is controlled by two Parameters, RetryMinimumWaitInterval and RetryIntervalMultiplier.

Let m be the value of RetryMinimumWaitInterval, k the value of RetryIntervalMultiplier, and n the current value of ExecutionUnit.{i}.AutoRestart.RetryCount. Then on the next occasion that the Agent determines that the EU has terminated abnormally, the delay before re-starting the EU must lie between m * (k/1000)^n and m * (k/1000)^(n+1) seconds, so long as m * (k/1000)^n evaluates to a value less than RetryMaximumWaitInterval. Once this point has been reached, on all subsequent occasions that the Agent determines that the EU has terminated abnormally the delay before re-starting the EU must lie between RetryMaximumWaitInterval* * (1000/k)* and RetryMaximumWaitInterval seconds.

- 2.16
Enable boolean W [MANDATORY] Enable the auto-restart feature for any ExecutionUnit which is created as a result of this command. - 2.16
RetryMinimumWaitInterval unsignedInt W [MANDATORY] Configures the initial delay in seconds between detecting that the EU has terminated abnormally and re-starting it. - 2.16
RetryMaximumWaitInterval unsignedInt W [MANDATORY] Maximum delay in seconds between detecting that the EU has terminated abnormally and re-starting it. - 2.16
RetryIntervalMultiplier unsignedInt W [MANDATORY] Configures the retry interval multiplier. This value is expressed in units of 0.001, so for example a value of 2000 will result in the retry interval being doubled each time. - 2.16
MaximumRetryCount unsignedInt W

Configures the maximum number of consecutive restarts (as shown in ExecutionUnit.{i}.AutoRestart.RetryCount) after which no more attempts will be performed. A value of zero means that the number of attempts is unlimited.

The default value MUST be 10.

- 2.16
ResetPeriod unsignedInt W

If the EU runs for this number of seconds without terminating abnormally the Agent MAY reset its ExecutionUnit.{i}.AutoRestart.RetryCount to zero, thereby resetting the exponential backoff algorithm. A value of zero disables this behavior.

The default value MUST be 0.

- 2.16
Resources. object W Defines the resource restrictions for any Execution Unit which is created by installation of the DeploymentUnit. If this object is absent then no resource restrictions will be applied. - 2.16
AllocatedDiskSpace int(-1:) W

The amount of disk space measured in KiB allocated to any ExecutionUnit which is created as a result of this command. If this parameter is omitted or has the value -1 then no disk space constraint will be applied.

The default value MUST be -1.

- 2.16
AllocatedMemory int(-1:) W

The amount of physical RAM measured in KiB allocated to any ExecutionUnit which is created as a result of this command. If this parameter is omitted or has the value -1 then no memory constraint will be applied.

The default value MUST be -1.

- 2.16
AllocatedCPUPercent int(-1:100) W

The CPU power measured in % allocated to any ExecutionUnit which is created as a result of this command, as a fraction (in %) of the CPU allocation of the ExecEnv into which the DeploymentUnit is installed. If this parameter is omitted or has the value -1 then no CPU power constraint will be applied.

The default value MUST be -1.

- 2.16
ApplicationData.{i}. object(0:) W

The application data volumes which are required for correct functioning of the DeploymentUnit. The device should create these application data volumes and add them to the ExecEnv.{i}.ApplicationData table, with the UUID of the DU as ApplicationUUID.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.16
Name string(:64) W [MANDATORY] A name which is assigned to the ApplicationData instance at the time of its creation, which distinguishes it from any other application data volumes owned by the same application. - 2.16
Capacity unsignedInt W [MANDATORY] Storage capacity of the volume, in MiB. - 2.16
Encrypted boolean W

Whether the data is stored on an encrypted medium.

The default value MUST be true.

- 2.16
Retain string W

[MANDATORY] The level of persistency of the volume.

Enumeration of:

  • UntilStopped (The application data will be lost when all ExecutionUnits which were created by the DeploymentUnit are stopped)
  • Forever (The application data will be retained after all ExecutionUnits which were created by the DeploymentUnit are stopped, and also across a device reboot or a restart of the DeploymentUnit. The application data will be lost on removal of the ExecEnv in which the DeploymentUnit is to be installed. The application data will be retained on DeploymentUnit.{i}.Update() or DeploymentUnit.{i}.Uninstall() if and only if the RetainData input argument of the command is present and has the value true)
- 2.16
AccessPath string(:256) W [MANDATORY] The path by which the Execution Units created by the Deployment Unit may access the storage volume. - 2.16
HostObject.{i}. object(0:) W

This parameter describes the ExecutionUnit.{i}.HostObject instances which should be added to any ExecutionUnit created by installation of the DeploymentUnit.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.16
Source string(:256) W [MANDATORY] The object identifier by which the object may be accessed in the host OS environment. This object identifier MUST be valid in the host OS environment. For security reasons, Execution Environments may impose restrictions on the object identifiers which may be specified. - 2.16
Destination string(:256) W [MANDATORY] The object identifier by which the object may be accessed by the ExecutionUnit. This object identifier MUST be valid in the context of the Execution Environment in which the ExecutionUnit is installed. - 2.16
Options string(:256) W May be used to pass implementation-dependent options which are to be applied to the mapping, - 2.16
DUStateChange! event -

This event informs a Controller of the completion (successful or unsuccessful) of a DU state change.

When used, this event MUST be issued after the device has completed any file transfers and carried out all operations related to the DU State Change.

This event MAY contain the results from multiple DU state changes; it is implementation specific how the device chooses to aggregate the DU state changes, although the device MUST notify the Controller of any DU state changes within 24 hours of the time the operations were completed by the device.

The device SHOULD make every attempt to aggregate, as much as possible, the DU State Change notifications to the Controller in the interest of scalability.

- 2.12
Version string(:32) R

In the case of an Install, this will be the version of the DU created. In the case of an Update, it will be the updated version of the DU. In the case of an Uninstall, it will be the version of the uninstalled DU.

This MUST match the {{param: non-existent #.DeploymentUnit.{i}.Version}} Parameter contained within the instance of the DeploymentUnit that is contained within the DeploymentUnitRef argument.

- 2.12
ExecutionUnitRefList string[] R

Comma-separated list of strings. Each list item MUST be the Path Name of a row in the ExecutionUnit. table. The Execution Units affected by this operation.

In the case of an Install, this will be the list of EUs that were created as a result of the DU’s installation.

In the case of an Update, this will be the list of all EUs currently associated with the updated DU, including those that were created through the initial DU installation and any updates that had already occurred but not including any EUs that no longer exist on the device because of this or previous updates.

In the case of an Uninstall, this will be the list of the EUs removed from the device due to the DU being removed.

- 2.12
Fault. object R Fault Structure. If the operation was successful, the FaultCode MUST be zero. Otherwise a non-zero FaultCode is specified along with a FaultString indicating the failure reason. - 2.12
FaultCode unsignedInt R

The numerical fault code. Valid values are:

*If the operation was successful, the fault code is 0.

*If the device cannot complete the operation for some unknown reason, it SHOULD reject the operation with a 7002 (Request Denied) fault code.

*If the device detects the presence of the “userinfo” component in the file source URL, it SHOULD reject the operation with a 7004 (Invalid Arguments) fault code.

*If the device cannot find the Execution Environment specified in the Install or Update command, it SHOULD reject the operation with a 7223 (Unknown Execution Environment) fault code.

*If the device determines that the Deployment Unit being installed does not match either the Execution Environment specified or any Execution Environment on the device, it SHOULD reject the operation with a 7225 (Deployment Unit to Execution Environment Mismatch) fault code

*If the device detects that the Deployment Unit being installed already has the same version as one already installed on the same Execution Environment, it SHOULD reject the operation with a 7226 (Duplicate Deployment Unit) fault code.

*If the device detects that that there are no more system resources (disk space, memory, etc.) to perform the Install or Update of a Deployment Unit, it SHOULD reject the operation with a 7227 (System Resources Exceeded) fault code.

*If a requested operation attempts to alter the State of a Deployment Unit in a manner that conflicts with the Deployment Unit State Machine Diagram [Appendix I “Software Module Management”/TR-369], it SHOULD reject the operation with a 7229 (Invalid Deployment Unit State) fault code.

*If a requested operation attempts to Uninstall a DU that caused an EE to come into existence, where that EE has at least 1 installed DU or at least 1 child EE, then the device SHOULD reject the operation with a 7229 (Invalid Deployment Unit State) fault code.

*If a requested operation attempts to Uninstall a DU that caused an ExecEnvClass to come into existence, where at least one EE exists which instantiates that ExecEnvClass, then the device SHOULD reject the operation with a 7229 (Invalid Deployment Unit State) fault code.

*If a requested operation attempts to Install or Update a DU and the server specified in the URL is not currently reachable or the request times out, then the device SHOULD reject the operation with a 7033 (Server Unreachable) fault code.

*If a requested operation attempts to Install or Update a DU and the server specified in the URL fails security checks (e.g. by not presenting a valid certificate), then the device SHOULD reject the operation with a 7034 (Server Insecure) fault code.

*If a requested operation attempts to Install or Update a DU and the file returned by the server appears to be corrupt, then the device SHOULD reject the operation with a 7035 (Corrupt Data) fault code.

*If a requested operation attempts to Install or Update a DU and the file returned by the server does not match the signature provided, or a required signature is absent, then the device SHOULD reject the operation with a 7036 (Bad Signature) fault code.

  • If a requested operation attempts to Install or Update a DU and includes a RequestedRole argument which contains at least one Role which is not in the EE’s AvailableRoles list, then the device SHOULD reject the operation with a 7032 (Unavailable Role) fault code.
- 2.12
Device.SoftwareModules.ExecEnvClass.{i}. object(0:) R

This table lists the kinds of Execution Environments which are available in this device. Rows in this table may possibly be be added, modified, or removed by as a result of respectively installing, updating, or removing a DeploymentUnit.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of Vendor, Name and Version.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Name string(:256) R The Name of this ExecEnvClass as specified by the Vendor that implemented this ExecEnvClass. - 2.16
Vendor string(:128) R The author of this ExecEnvClass formatted as a fully qualified domain name. - 2.16
Version string(:32) R The Version of this ExecEnvClass as specified by the Vendor that implemented this ExecEnvClass. Vendors are encouraged to use Semantic Versioning. - 2.16
DeploymentUnitRef string R The value MUST be the Path Name of a row in the DeploymentUnit. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the DeploymentUnit (if any) by which this ExecEnvClass was created. - 2.16
CapabilityNumberOfEntries unsignedInt R The number of entries in the Capability table. - 2.16
AddExecEnv() command - Create a new Execution Environment of this class. - 2.16
⇒ Input. arguments - Input arguments. -
Alias string(:64) W [Alias] An optional input the Controller can use to specify the ExecEnv.{i}.Alias value for the new instance. If provided as an input and the value already exists in ExecEnv.{i}, this command will fail. - 2.16
Name string(:256) W Suggested value for the ExecEnv.{i}.Name of the new instance. If provided as an input and the value already exists in ExecEnv.{i}, this command will fail. - 2.16
ParentExecEnv string(:256) W [MANDATORY] The value MUST be the Path Name of a row in the ExecEnv. table. The ExecEnv instance of which the new instance should be a child. - 2.16
AvailableRoles string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). The roles which are available to Deployment Units installed into the new instance. Only the listed roles may be assigned to any DeploymentUnit installed into the instance. If this parameter is missing or an empty string then no roles may be assigned to any DeploymentUnit installed into the instance.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role. If there is no such row then the entry will be ignored.

- 2.16
Enable boolean W

If this parameter is present and is true, the created ExecEnv will have its ExecEnv.{i}.Enable flag set true and it will immediately transition to Status Up. Otherwise the ExecEnv will initially be Disabled, allowing the Controller to set further parameters before enabling the ExecEnv.

The default value MUST be true.

- 2.16
AllocatedDiskSpace int(-1:) W

The amount of disk space measured in KiB allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
AllocatedMemory int(-1:) W

The amount of physical RAM measured in KiB allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
AllocatedCPUPercent int(-1:100) W

The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware “owns” 100*%* of CPU). A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
⇐ Output. arguments - Output arguments. -
ExecEnvRef string R The value MUST be the Path Name of a row in the ExecEnv. table. A reference to the ExecEnv which was created. - 2.16
Device.SoftwareModules.ExecEnvClass.{i}.Capability.{i}. object(0:) R

The standard(s) describing the kinds of DeploymentUnit which can be installed into instances of this ExecEnvClass.

At most one entry in this table can exist with the same values for both Specification and SpecificationVersion.

- 2.16
Specification string R

The specification which describes the format of the DeploymentUnit.

Enumeration of:

  • OCIImage (OPTIONAL)
  • VMRawImage (OPTIONAL)
  • OSGiBundle (OPTIONAL)
  • JAR (OPTIONAL)
  • WAR (OPTIONAL)
- 2.16
SpecificationVersion string(:32) R

The Version of the Specification which is supported by this ExecEnvClass.

If this parameter begins with the character “(” or “[” then it MUST end with the character “)” or “]” and it indicates a version range which may be interpreted following Semantic Versioning rules. Otherwise it indicates the latest version of the specification which is known to be supported by this ExecEnvClass.

- 2.16
SpecificationURI string(:256) R The URI where of the definition of the Specification may be found. - 2.16
Device.SoftwareModules.ExecEnv.{i}. object(0:) R

The Execution Environments that are available on the device, along with their properties and configurable settings.

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

Changes in 2.16:

- 2.1
Status string R

Indicates the status of this ExecEnv.

Enumeration of:

  • Up
  • Error (OPTIONAL)
  • Disabled
  • Restarting (Added in 2.16)

Changes in 2.16:

  • Added string Restarting enumeration
- 2.1
Name string(:256) R

A Name provided by the device that adequately distinguishes this ExecEnv from all other ExecEnv instances.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

Changes in 2.16:

  • Changed :256 size maxLength = 32256
- 2.1
AllocatedDiskSpace int(-1:) R

The amount of disk space measured in KiB allocated to this ExecEnv.ExecEnv. A value of -1 MUSTindicates be used for ExecEnv instances wherethat this parameter is not applicable.

This value can be altered by executing the ModifyConstraints() command.

The default value SHOULD be -1.

Changes in 2.16:

  • Added int(-1:) syntax -1 default
- 2.1
AllocatedMemory int(-1:) R

The amount of physical RAM measured in KiB allocated to this ExecEnv.ExecEnv. A value of -1 MUSTindicates be used for ExecEnv instances wherethat this parameter is not applicable.

This value can be altered by executing the ModifyConstraints() command.

The default value SHOULD be -1.

Changes in 2.16:

  • Added int(-1:) syntax -1 default
- 2.1
AllocatedCPUPercent int(-1:100) R

The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware “owns” 100*%* of CPU). A value of -1 indicates that this parameter is not applicable.

This value can be altered by executing the ModifyConstraints() command.

The default value SHOULD be -1.

- 2.16
AvailableCPUPercent int(-1:100) R The fraction (in %) of CPU time currently available to this ExecEnv. This value changes as the ExecutionUnit instances associated with this ExecEnv are started/stopped and consume the CPU. A value of -1 MUST be used for ExecEnv instances where this parameter is not applicable. - 2.16
CreatedAt dateTime R The time and date at which this ExecEnv was created. If the ExecEnv is provided by the primary firmware of the device then this parameter SHOULD be set to 0001-01-01T00:00:00Z. - 2.16
ExecEnvClassRef string R The value MUST be the Path Name of a row in the ExecEnvClass. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The ExecEnvClass of which this ExecEnv is an instance. - 2.16
ApplicationDataNumberOfEntries unsignedInt R The number of entries in the ApplicationData table. - 2.16
RestartReason string(:256) R

This parameter is set each time the ExecEnv is restarted. It is cleared each time that parameter Enable is set false for any reason other than a restart of the ExecEnv.

If the restart was the result of invoking the Restart() command then the value will be taken from the Reason parameter of the command.

- 2.16
RestartCount unsignedInt R The number of times the ExecEnv has been restarted since it was last disabled. - 2.16
LastRestarted dateTime R The time at which the ExecEnv was last restarted. Initially this parameter is set to the Unknown Time (0001-01-01T00:00:00Z). - 2.16
Signers string[] W

Comma-separated list of strings. Each list item MUST be the Path Name of a row in the Device.Security.Certificate. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. If the device stores the acceptable public keys for signing in X.509 certificates, this parameter identifies which certificates contain public keys which can be used to verify the signature of a DeploymentUnit.

Not all devices will use X.509 certificates to store the public keys. In devices which do not use X.509 certificates for this purpose, this parameter will be empty.

- 2.16
AvailableRoles string[] R

Comma-separated list of strings. Each list item MUST be the Path Name of a row in the Device.LocalAgent.ControllerTrust.Role. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. The roles which are available to Deployment Units installed into this ExecEnv. Only the listed roles may be assigned to any DeploymentUnit.

If this parameter is missing or an empty string then no roles will be assigned to any DeploymentUnit installed into this ExecEnv.

- 2.16
SetRunLevel() command -

Provides a mechanism to remotely manipulate the run level of this ExecEnv, meaning that altering this comand will change the value of the CurrentRunLevel.

Run levels dictate which Execution Units will be started. Execution Units will be started if CurrentRunLevel is greater than or equal to ExecutionUnit.{i}.RunLevel and ExecutionUnit.{i}.AutoStart is true.

Changes in 2.16:

  • Added async = false
- 2.12
ModifyConstraints() command - [ASYNC] Provides a mechanism to remotely manipulate the resource constraints applied to this ExecEnv, thereby changing the value of AllocatedDiskSpace, AllocatedMemory, or AllocatedCPUPercent. A resource constraint will only be modified if the corresponding parameter is present in the call to ModifyConstraints(); all other resource constraints will be left unchanged, - 2.16
⇒ Input. arguments - Input arguments. -
Force boolean W

Determines the behavior if a request is made which would reduce the allocation of a resource below the amount which is currently being used.

If Force is false and any of the other parameters specify a value which is less than the amount of the resource which is currently being consumed, the Agent SHOULD reject the request with error code 7022 and leave all resource allocations unchanged.

if Force is true and any of the other parameters specify a value which is less than the amount of the resource which is currently being consumed, the Agent MAY take steps to reduce the resource consumption accordingly. These steps might include forcing a restart of individual ExecutionUnits or of the whole ExecEnv. Use of Force = true may therefore lead to unpredictable behaviour.

The default value MUST be false.

- 2.16
AllocatedDiskSpace int(-1:) W

The amount of disk space measured in KiB allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
AllocatedMemory int(-1:) W

The amount of physical RAM measured in KiB allocated to this ExecEnv. A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
AllocatedCPUPercent int(-1:100) W

The percentage of CPU time allocated to this ExecEnv, i.e. the percentage of the whole CPU (all cores) which is available to the parent ExecEnv (the primary firmware “owns” 100*%* of CPU). A value of -1 indicates that this parameter is not applicable.

The default value MUST be -1.

- 2.16
ModifyAvailableRoles() command - [ASYNC] Modify the roles which are available to Deployment Units installed into this ExecEnv. - 2.16
⇒ Input. arguments - Input arguments. -
AvailableRoles string(:256)[] W

[MANDATORY] Comma-separated list of strings (maximum number of characters per item 256). The new list of roles which may be assigned to any DeploymentUnit installed into the ExecEnv; this list replaces the previous value of AvailableRoles. If this parameter is an empty string then no roles may be assigned to any DeploymentUnit installed into the ExecEnv.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role.

- 2.16
Restart() command -

[ASYNC] Restart this ExecEnv.

If the ExecEnv is currently disabled, this command will fail and the state of the ExecEnv will not change.

If the ExecEnv is currently enabled, this command has the following effect:

  1. The ExecEnv transitions to status Restarting.
  2. All Deployment Units installed to the ExecEnv will be unaffected, but any Execution Units currently running on the ExecEnv will automatically transition to Idle, exactly as if the ExecEnv had transitioned to status Disabled.
  3. As soon as all the Execution Units have transisitioned to Idle, the ExecEnv transitions to status Up. The Execution Units which were running on the ExecEnv will be restarted according to their ExecutionUnit.{i}.AutoStart flag and ExecutionUnit.{i}.RunLevel.
- 2.16
⇒ Input. arguments - Input arguments. -
Reason string(:256) W Textual description of the reason why this ExecEnv is being restarted. This will be copied into the RestartReason of the ExecEnv. - 2.16
Force boolean W

If this parameter is set to true, the implementation MAY take extra steps to ensure that all Execution Units transition to Idle within finite time.

The default value MUST be false.

- 2.16
Reset() command -

[ASYNC] This command causes this ExecEnv to revert back to the state it was in when the device last issued a Boot event with a cause of a local or remote factory reset.

The following requirements dictate what MUST happen for the reset to be complete:

  1. All Deployment Units that were installed after the last Boot (with cause of a factory reset) event MUST be removed
  2. All persistent storage, configuration files, and log files that were associated with the removed Deployment Units MUST be removed
  3. Any Deployment Unit that is still installed against the Execution Environment MUST be restored to the version present when the last Boot (with cause of a factory reset) event was issued
  4. Any Deployment Unit that was present when the last Boot (with cause of a factory reset) event was issued, but was subsequently uninstalled and is now not present, MUST be installed with the version that was present when the last Boot (with cause of a factory reset) event was issued
  5. The Execution Environment MUST be restored to the version and configuration present when the last Boot (with cause of a factory reset) event was issued
  6. The Execution Environment MUST be restarted after all other restoration requirements have been met

Changes in 2.16:

  • Added async = true
- 2.12
Remove() command - [ASYNC] This command removes the ExecEnv from the device. The command will always fail if the ExecEnv has at least 1 child ExecEnv; the behaviour in the case that the ExecEnv has at least 1 installed DeploymentUnit depends on the value of the Force parameter. - 2.16
⇒ Input. arguments - Input arguments. -
Force boolean W

If this parameter is present and is true, the ExecEnv will be removed even if one or more DU is installed in it. A DUStateChange! Event with DUStateChange!.OperationPerformed set to Uninstall will be issued for each DU which is removed as a result of the operation. Any Application Data associated with the DU will be lost.

If this parameter is absent or false, the operation will fail if any DU is installed in the EE; in the case of such a failure the EE will continue to exist and its Status will not change, nor will any Application Data be lost.

The default value MUST be false.

- 2.16
Restarted! event - This event informs a Controller when an ExecEnv has been restarted. - 2.16
RestartTime dateTime R The time at which the restart was initiated. - 2.16
RestartReason string(:256) R If the restart was initiated by a an invocation of the Restart() command then this parameter is copied from the Reason parameter of that command. - 2.16
Device.SoftwareModules.ExecEnv.{i}.ApplicationData.{i}. object(0:) R

The ApplicationData volumes which currently exist within this ExecEnv.

The entries in this table are created automatically as a result of calls to InstallDU() and DeploymentUnit.{i}.Update(), and are removed as a result of calls to DeploymentUnit.{i}.Update(), DeploymentUnit.{i}.Uninstall(), and Remove().

At most one entry in this table can exist with a given value for Alias, or with the same values for both ApplicationUUID and Name.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Name string(:64) R A name which is assigned to the ApplicationData instance at the time of its creation, which distinguishes it from any other application data volumes owned by the same application. - 2.16
Capacity unsignedInt R Storage capacity of the volume, in MiB. - 2.16
Encrypted boolean R Whether the data is stored on an encrypted medium. - 2.16
Retain string R

The level of persistency of the volume.

Note that if this parameter has the value Forever, it is possible that there is no currently installed DeploymentUnit whose DeploymentUnit.{i}.UUID matches the ApplicationUUID of this ExecEnv table entry; this situation will be resolved when either a matching DeploymentUnit is re-installed, or this volume is removed using the Remove() command.

Enumeration of:

  • UntilStopped (The application data will be lost when all ExecutionUnits which were created by the DeploymentUnit are stopped)
  • Forever (The application data will be retained after all ExecutionUnits which were created by the DeploymentUnit are stopped, and also across a device reboot or a restart of the Device. The application data will be lost if the Device is removed. The application data will be retained on DeploymentUnit.{i}.Update() or DeploymentUnit.{i}.Uninstall() if and only if the RetainData input argument of the command is present and has the value true)
- 2.16
AccessPath string(:256) R The path by which the Execution Units created by the Deployment Unit may access the storage volume. - 2.16
ApplicationUUID string(36) R [UUID] The DeploymentUnit.{i}.UUID of the DeploymentUnit for which this volume was created. This parameter retains its value so long as the ApplicationData instance continues to exist, even if the DeploymentUnit is not currently installed. - 2.16
Utilization unsignedInt R

The amount of data which is currently stored in this volume, in MiB.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
Remove() command - Remove this row from the table, together with the associated application data volume. - 2.16
Device.SoftwareModules.DeploymentUnit.{i}. object(0:) R

This table serves as the Deployment Unit inventory and contains status information about each Deployment Unit.

A new instance of this table gets created during the installation of a Software Module.

At most one entry in this table can exist with the same values for all of UUID, Version and ExecutionEnvRef, or with a given value for Alias.

Changes in 2.16:

- 2.1
UUID string(36) R

[UUID] A Universally Unique Identifier either provided by the Controller, or generated by the device, at the time of Deployment Unit Installation.

The format of this value is defined by [RFC4122] Version 5 (Name-Based) and [Annex C/TR-181i2].

This value MUST NOT be altered when the DeploymentUnit is updated.

Changes in 2.16:

  • Removed string(:36) syntax
  • Added UUID
- 2.1
Name string(:256) R

Indicates the Name of this DeploymentUnit, which is chosen by the author of the Deployment Unit.

The value of this parameter is used in the generation of the UUID based on the rules defined in [Annex C/TR-181i2].

Changes in 2.16:

  • Changed :256 size maxLength = 64256
- 2.1
InternalController string R The value MUST be the Path Name of a row in the Device.LocalAgent.Controller. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The internal Controller which the application installed by this DeploymentUnit uses to access the Data Model. Will be an empty string if the application does not require Data Model access. - 2.16
Installed dateTime R Documents when this DeploymentUnit instance was installed. - 2.16
LastUpdate dateTime R Documents when this DeploymentUnit instance was last updated. - 2.16
Update() command - [ASYNC] Update the associated DeploymentUnit.

Changes in 2.16:

- 2.1
⇒ Input. arguments - Input arguments. -
URL string(:2048) W

The [URL] that specifies the location of the DU to be installed.

The URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

HTTPThe HTTPS transport MUST be supported, and HTTPSthe transportsHTTP MUSTtransport MAY be supported. Other optional transports MAY also be supported.

If the device receives an Update command with the same source URL as a previous Update or Install comamnd, the device MUST perform each Update as requested, and MUST NOT assume that the content of the file to be downloaded is the same each time.

- 2.12
Signature string(:2048) W

The [URL] which can be used to fetch the signature for this DU. The [URL] may use the “data” scheme defined in [RFC2397] in order to incorporate the signature into the command directly.

Several signature formats are in common use; the device may deduce the format used from the Content-Type of the retrieved object and/or by examining its content.

The URL MUST NOT include the “userinfo” component, as defined in [RFC3986].

HTTPS transport MUST be supported. Other optional transports MAY be supported.

The absence of this parameter indicates that the DU is unsigned. If this is contrary to the security policy of the device then the command will be rejected.

- 2.16
RequiredRoles string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). If this argument is present, it lists the roles which the application will need to be assigned in order to be able to function at all after this update. If it is absent then the required roles are unchanged from the previous version.

If any of these roles are not present in the ExecEnv.{i}.AvailableRoles of the ExecEnv in which the DU is installed then the command will fail. Some Agents may apply further filtering for roles which are considered security- or privacy-sensitive.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role. If there is no such row then the command will fail, as installation requires a role which is not available on the Device.

If this argument is absent or empty then no roles are required in order for the application to function.

- 2.16
OptionalRoles string(:256)[] W

Comma-separated list of strings (maximum number of characters per item 256). If this argument is present, it lists the additional roles which the application would need to be assigned in order to be able to provide its full functionality after this update. If it is absent then the required roles are unchanged from the previous version.

Each entry in the list is the Name of a row in LocalAgent.ControllerTrust.Role. If there is no such row, or the matching row is not present in the ExecEnv.{i}.AvailableRoles of the Execution Environment into which the DU is to be installed, then the entry will be ignored. Some Agents may apply further filtering, for roles which are considered security- or privacy-sensitive.

If this argument is absent or empty then no additional roles are required in order for the application to be able to provide its full functionality.

- 2.16
RetainData boolean W

This argument only has an effect if the UUID of the DeploymentUnit matches the ApplicationUUID of one or more rows in the Device.SoftwareModules.ExecEnv.{i}.ApplicationData table which have the Retain parameter set to Forever. If this is the case then the data held in these volumes will be preserved across the operation if and only if RetainData is set true.

The default value MUST be false.

- 2.16
Resources. object W Can be used to modify the resource restrictions for any Execution Unit which is created by the DeploymentUnit. If this object is absent then the resource restrictions will remain as they were before the command was invoked. - 2.16
AllocatedDiskSpace int(-1:) W

The amount of disk space measured in KiB allocated to any ExecutionUnit created by this command. A value of -1 indicates that no disk space constraint is applicable.

If this parameter is not present then the allocated disk space will remain unchanged.

- 2.16
AllocatedMemory int(-1:) W

The amount of physical RAM measured in KiB allocated to any ExecutionUnit created by this command. A value of -1 indicates that no memory constraint is applicable.

If this parameter is not present then the allocated memory will remain unchanged.

- 2.16
AllocatedCPUPercent int(-1:100) W

The CPU power measured in % allocated to any ExecutionUnit created by this command, as a fraction (in %) of the CPU allocation of the ExecEnv in which this Resources resides. A value of -1 indicates that no CPU power constraint is applicable.

If this parameter is not present then the allocated memory will remain unchanged.

- 2.16
ApplicationData.{i}. object(0:) W

The application data volumes which are required for correct functioning of the updated DeploymentUnit.

The DeploymentUnit may already have one or more existing application data volumes, represented by entries in the ExecEnv.{i}.ApplicationData table, which have ExecEnv.{i}.ApplicationData.{i}.Retain equal to Forever and ExecEnv.{i}.ApplicationData.{i}.ApplicationUUID equal to the UUID of the DeploymentUnit which is being updated.

The behaviour with respect to these existing application volumes depends on the value of the RetainData input argument.

  1. If the RetainData input argument is false then the device SHOULD remove these existing application data volumes, and SHOULD treat the rows in this argument in the same way as for the InstallDU() command.
  2. If RetainData is true, the device SHOULD attempt to transfer the existing application data volumes to the updated DeploymentUnit.

    1. If an existing application data volume does not match the Name of any row of this argument, then the device SHOULD leave both the volume and its entry in the ExecEnv.{i}.ApplicationData table unchanged.
    2. If the Name of a row of this argument does not match the ExecEnv.{i}.ApplicationData.{i}.Name of any existing application data volume, then the device SHOULD attempt to create the volume together with its entry in the ExecEnv.{i}.ApplicationData table.
    3. If the Name of a row of this argument matches the ExecEnv.{i}.ApplicationData.{i}.Name of an existing application data volume, then the device SHOULD attempt to carry the application data forward to the updated DeploymentUnit. This may imply copying of the data if the Capacity, Encrypted, or Retain values in this argument differ from those in the ExecEnv.{i}.ApplicationData table.

An attempt to create a new application data volume or to copy an existing application data volume to a new location may cause the operation to fail with a 7227 (System Resources Exceeded) fault code.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.16
Name string(:64) W [MANDATORY] A name which is assigned to the ApplicationData instance at the time of its creation, which distinguishes it from any other application data volumes owned by the same application. - 2.16
Capacity unsignedInt W [MANDATORY] Storage capacity of the volume, in MiB. - 2.16
Encrypted boolean W

Whether the data is stored on an encrypted medium.

The default value MUST be true.

- 2.16
Retain string W

[MANDATORY] The level of persistency of the volume.

Enumeration of:

  • UntilStopped (Data will be lost when all ExecutionUnits which were created by the DeploymentUnit are stopped)
  • Forever (The application data will be retained after all ExecutionUnits which were created by the DeploymentUnit are stopped, and also across a device reboot or a restart of the ExecEnv. The application data will be lost on removal of the ExecEnv in which the DeploymentUnit is installed. The application data will be retained on Update() or Uninstall() if and only if the RetainData input argument of the command is present and has the value true)
- 2.16
AccessPath string(:256) W [MANDATORY] The path by which the Execution Units created by the Deployment Unit may access the storage volume. - 2.16
HostObject.{i}. object(0:) W

This parameter describes the ExecutionUnit.{i}.HostObject instances which should be present after the update in any ExecutionUnit created by this DeploymentUnit. This table supersedes any ExecutionUnit.{i}.HostObject instances which may have been present before the update.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

- 2.16
Source string(:256) W [MANDATORY] The object identifier by which the object may be accessed in the host OS environment. This object identifier MUST be valid in the host OS environment. For security reasons, Execution Environments may impose restrictions on the object identifiers which may be specified. - 2.16
Destination string(:256) W [MANDATORY] The object identifier by which the object may be accessed by the ExecutionUnit. This object identifier MUST be valid in the context of the Execution Environment in which the ExecutionUnit is installed. - 2.16
Options string(:256) W May be used to pass implementation-dependent options which are to be applied to the mapping, - 2.16
Uninstall() command - [ASYNC] Uninstall the associated DeploymentUnit.

Changes in 2.16:

  • Added Input. input
- 2.1
⇒ Input. arguments - Input arguments. -
RetainData boolean W

This argument only has an effect if the UUID of the DeploymentUnit matches the ApplicationUUID of one or more rows in the Device.SoftwareModules.ExecEnv.{i}.ApplicationData table which have the Retain parameter set to Forever. If this is the case then the data held in these volumes will be preserved across the operation if and only if RetainData is set true.

The default value MUST be false.

- 2.16
Device.SoftwareModules.ExecutionUnit.{i}. object(0:) R

This table serves as the Execution Unit inventory and contains both status information about each Execution Unit as well as configurable parameters for each Execution Unit.

Each DeploymentUnit that is installed can have zero or more Execution Units.

Once a Deployment Unit is installed it populates this table with its contained Execution Units.

When the Deployment Unit (that caused this ExecutionUnit to come into existence) is updated, this instance MAY be removed and new instances MAY come into existence. While the Deployment Unit (that caused this ExecutionUnit to come into existence) is being updated, all ExecutionUnit instances associated with the Deployment Unit will be stopped until the update is complete at which time they will be restored to the state that they were in before the update started.

When the Deployment Unit (that caused this ExecutionUnit to come into existence) is uninstalled, this instance is removed.

Each ExecutionUnit MAY also contain a set of vendor specific parameters displaying status and maintaining configuration that reside under the Extensions object.

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

Changes in 2.16:

- 2.1
Name string(:256) R The name of this ExecutionUnit as it pertains to its associated DeploymentUnit, which SHOULD be unique across all ExecutionUnit instances contained within its associated DeploymentUnit.

Changes in 2.16:

  • Changed :256 size maxLength = 32256
- 2.1
Status string R

Indicates the status of this ExecutionUnit.

Enumeration of:

  • Idle (This instance is in an Idle state and not running)
  • Starting (This instance is in the process of Starting and SHOULD transition to the Active state)
  • Active (This instance is currently running)
  • Stopping (This instance is in the process of Stopping and SHOULD transition to the Idle state)
  • Restarting (This instance is in the process of Restarting and SHOULD transition to the Active state, added in 2.16)

Changes in 2.16:

  • Added string Restarting enumeration
- 2.1
AllocatedDiskSpace int(-1:) R The amount of disk space measured in KiB allocated to this ExecutionUnit. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 2.16
AllocatedMemory int(-1:) R The amount of physical RAM measured in KiB allocated to this ExecutionUnit. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 2.16
AllocatedCPUPercent int(-1:100) R The CPU power allocated to this ExecutionUnit, as a fraction (in %) of the CPU allocation of the ExecEnv in which this ExecutionUnit resides. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 2.16
CPUPercentInUse int(-1:100) R The CPU power currently being used by this by this ExecutionUnit, as a fraction (in %) of the CPU allocation of the ExecEnv in which this ExecutionUnit resides. A value of -1 MUST be used for ExecutionUnit instances where this parameter is not applicable. - 2.16
ApplicationDataList string[] R Comma-separated list of strings. Each list item MUST be the Path Name of a row in the ExecEnv.{i}.ApplicationData. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Represents the application data volumes that are used by this ExecutionUnit. - 2.16
HostObjectNumberOfEntries unsignedInt R The number of entries in the HostObject table. - 2.16
SetRequestedState() command -

Set the state transition that the Controller is requesting for this instance of the ExecutionUnit object.

If this instance of the ExecutionUnit object is associated with an Execution Environment that is disabled and an attempt is made to alter this value, then a error message MUST be generated.

Changes in 2.16:

  • Added async = false
- 2.1
Restart() command -

Initiate a restart of the ExecutionUnit.

If this ExecutionUnit is currently in status Idle the device will attempt to start the Execution Unit, as if SetRequestedState() had been called with SetRequestedState().RequestedState set to Active.

If this ExecutionUnit is in status Stopping the request is rejected and a fault raised.

If this ExecutionUnit is currently in status Starting or Active the device will attempt to stop the Execution Unit and will place it in the Restarting state. Once the SoftwareModules has stopped the device will attempt to re-start the Execution Unit.

If this SoftwareModules is in any other status then this command has no effect.

- 2.16
Device.SoftwareModules.ExecutionUnit.{i}.AutoRestart. object R

Configures the parameters of the auto-restart algorithm for this ExecutionUnit.

An auto-restart may be triggered if the Agent determines that the EU has terminated abnormally. An exponential backoff algorithm is applied (increasing each time the delay before the EU is re-launched) in order to prevent continual re-starting of the EU.

The retry interval range is controlled by two Parameters, RetryMinimumWaitInterval and RetryIntervalMultiplier.

Let m be the value of RetryMinimumWaitInterval, k the value of RetryIntervalMultiplier, and n the current value of RetryCount. Then on the next occasion that the Agent determines that the EU has terminated abnormally, the delay before re-starting the EU must lie between m * (k/1000)^n and m * (k/1000)^(n+1) seconds, so long as m * (k/1000)^n evaluates to a value less than RetryMaximumWaitInterval. Once this point has been reached, on all subsequent occasion that the Agent determines that the EU has terminated abnormally the delay before re-starting the EU must lie between RetryMaximumWaitInterval* * (1000/k)* and RetryMaximumWaitInterval seconds.

- 2.16
Enable boolean W

Enable the auto-restart feature for this ExecutionUnit.

The default value SHOULD be false.

- 2.16
RetryMinimumWaitInterval unsignedInt W Configures the initial delay in seconds between detecting that the EU has terminated abnormally and re-starting it. - 2.16
RetryMaximumWaitInterval unsignedInt W Configures the maximum delay in seconds between detecting that the EU has terminated abnormally and re-starting it. - 2.16
RetryIntervalMultiplier unsignedInt W Configures the retry interval multiplier. This value is expressed in units of 0.001, so for example a value of 2000 will result in the retry interval being doubled each time. - 2.16
MaximumRetryCount unsignedInt W Configures the maximum number of consecutive restarts (as shown in RetryCount) after which no more attempts will be performed. A value of zero means that the number of attempts is unlimited. - 2.16
ResetPeriod unsignedInt W If the ExecutionUnit runs for this number of seconds without terminating abnormally the Agent MAY reset the RetryCount to zero, thereby resetting the exponential backoff algorithm. A value of zero disables this behavior. - 2.16
RetryCount unsignedInt W

The number of restart attempts which have been initiated so far. Resetting this parameter to zero has the effect of re-initialising the exponential back-off algorithm.

Invoking the Restart() command also has the effect of resetting this parameter to zero.

- 2.16
LastRestarted dateTime R The time at which the ExecutionUnit was last re-started. Initially this parameter is set to the Unknown Time (0001-01-01T00:00:00Z). - 2.16
NextRestart dateTime R The time at which the next restart of the ExecutionUnit is scheduled to occur. The Infinte Time (9999-12-31T23:59:59Z) is used to indicate that no restart is currently scheduled. - 2.16
Device.SoftwareModules.ExecutionUnit.{i}.HostObject.{i}. object(0:) R

This parameter describes the host OS objects (such as peripherals, files or directories, communication sockets, …) which are accessible to the ExecutionUnit.

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

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Source string(:256) R The object identifier by which the object may be accessed in the host OS environment. This object identifier MUST be valid in the host OS environment. For security reasons, Execution Environments may impose restrictions on the object identifiers which may be specified. - 2.16
Destination string(:256) R The object identifier by which the object may be accessed by the ExecutionUnit. This object identifier MUST be valid in the context of the Execution Environment in which the ExecutionUnit is installed. - 2.16
Options string(:256) R May be used to pass implementation-dependent options which are to be applied to the mapping, - 2.16
Device.XMPP. object R The XMPP represents the XMPP capabilities of the device. - 2.7
Device.XMPP.Connection.{i}. object(0:) W

The Connection represents a XMPP connection between the device and a server. The Username, Domain and Resource comprise the full identity (JabberID) of this Connection for this device.

At most one entry in this table can exist with a given value for Alias, or with the same values for all of Username, Domain and Resource. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, Username, Domain and Resource such that the new entry does not conflict with any existing entries.

- 2.7
Password string(:256) W

Password used to authenticate this Connection when making a connection to the Server using the procedure outlined in [Section 6/RFC6120].

Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value. If a Controller modifies the value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a factory reset.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.7
Device.IEEE1905. object R This object represents the management functions for the 1905 capabilities as defined in [IEEE1905.1a]. - 2.9
Device.IEEE1905.AL. object R This object represents the management functions for the 1905 Abstraction Layer as defined in [Section 4.4 Abstraction Layer/IEEE1905.1a]. - 2.9
Device.IEEE1905.AL.Security. object R This object represents the Security configuration for the 1905 device as defined in [Section 9.2 Security Setup Methods/IEEE1905.1a]. - 2.9
Password string W

1905 network passphrase for generating security keys.

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

Changes in 2.16:

  • Removed string syntax hidden = true
  • Added string syntax secured = true
- 2.9
Device.MQTT. object R MQTT Base object describing all MQTT related parameters and objects. - 2.10
Device.MQTT.Client.{i}. object(0:) W

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

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 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. The IP Interface associated with the Client entry.

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

<Empty> 2.16
ForceReconnect() command -

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 command has no effect.

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

Changes in 2.16:

  • Added async = false
- 2.12
Password string(:256) W

Password used to authenticate the MQTT client when making a connection to the MQTT broker. The value is sent in the MQTT CONNECT packet (see [Section 3.1/MQTT311], [Section 3.1.3.5/MQTT311] or [Section 3.1.3.6/MQTT50]).

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

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.10
Device.MQTT.Broker.{i}. object(0:) W

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

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 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.

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.10
Device.MQTT.Broker.{i}.Bridge.{i}. object(0:) W

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

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.10
ForceReconnect() command -

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 command has no effect.

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

Changes in 2.16:

  • Added async = false
- 2.12
Password string(:256) W

Password used to authenticate the MQTT broker when making a connection over the MQTT bridge. The value is sent in the MQTT CONNECT packet (see [Section 3.1/MQTT311], [Section 3.1.3.5/MQTT311] or [Section 3.1.3.6/MQTT50]).

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

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.10
Device.DynamicDNS. object R Properties for Dynamic DNS. - 2.10
Device.DynamicDNS.Client.{i}. object(0:) 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 can exist with the same values for both Server and Username, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Server, Username and Alias such that the new entry does not conflict with any existing entries.

- 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 IP.Interface. table. If the referenced object is deleted, the parameter value MUST be set to an empty string.

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

If an empty string is specified, the CPE MUST use its routing policy (Forwarding table entries), to determine the appropriate interface.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.

- 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.

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.10
Device.DynamicDNS.Server.{i}. object(0:) W

Table of Dynamic DNS servers available for this CPE.

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

- 2.10
Enable boolean W

Enables or disables Dynamic DNS Server.

Note: This parameter was previously wrongly defined as a string.

Changes in 2.16:

  • Changed syntax = string(:64) -> boolean
- 2.10
Device.LMAP. object R This object represents the objects necessary to manage and control the functionality for Large-Scale Measurement of Broadband Performance[RFC7594] as defined in by [LMAPIFM]. - 2.12
Device.LMAP.MeasurementAgent.{i}. object(0:) W

This object represents the measurement agent that performs measurement tasks and reporting functions defined in [RFC7594].

At most one entry in this table can exist with a given value for Alias, or with a given value for Identifier. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias and Identifier such that the new entry does not conflict with any existing entries.

- 2.12
Device.LMAP.MeasurementAgent.{i}.Controller. object R This objects represents the measurement controller that is assigned to a measurement agent. - 2.12
ControllerTimeout int(0:) W

The timer, in seconds, that is started after each successful contact with a measurement controller.

When the timer reaches the timeout enan event is raised indicating that connectivity to the controller has been lost.

- 2.12
Device.LMAP.MeasurementAgent.{i}.Schedule.{i}. object(0:) W

This object represents a schedule that is associated with a set of scheduled actions to be performed by a measurement agent.

Note: Actions of an occurrence of this Schedule are gracefully terminated by the defining either the End or Duration parameters. Only one of these parameters may be defined at a time.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.12
Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}. object(0:) W

This object represents an action that is associated with the this Schedule object.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.12
Device.LMAP.MeasurementAgent.{i}.Schedule.{i}.Action.{i}.Option.{i}. object(0:) W

This object represents an option associated with the Scheduled Action. When an option with the same Name exists between the Seheduled Action’s Option and The Task’s option, the option of the Scheduled Action takes precedence over the option associated with the Task.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.12
Name string(:256) W

The name of the option.

When the value of this parameter is equal to “channel”, the option value specifies the Communication Channel used for this scheduled task.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

Changes in 2.16:

  • Changed syntax = int -> string(:256)
- 2.12
Device.LMAP.MeasurementAgent.{i}.Task.{i}. object(0:) W

The Task object defines the configuration for a task that can be performed by MeasurementAgent objects.

Tasks are performed by MeasurementAgent objects when a Schedule object invokes the Task.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.12
Device.LMAP.MeasurementAgent.{i}.Task.{i}.Option.{i}. object(0:) W

This object represents an option associated with the task.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.12
Name string(:256) W

The name of the option.

When the value of this parameter is equal to “channel”, the option value specifies the Communication Channel used for this task.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

Changes in 2.16:

  • Changed syntax = int -> string(:256)
- 2.12
Device.PDU. object R The logical connection between the 5G-RG and data network is the Protocol Data Unit (PDU). The Device.PDU subtree describes each PDU sessions properties together with the QoS rules specific to that PDU session. - 2.14
Device.PDU.Session.{i}. object(0:) R

Contains all the properties of a PDU session instance, ranging from maximum bitrate through to assigned network slice. This object contains the Session table.

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

- 2.14
Device.PDU.Session.{i}.PCO. object R Policy Configuration Options (PCO) is an optional set of configuration parameters supplied by the network at the request of the 5G-RG as defined in [Clause 10.5.6.3/3GPP-TS.24.008]. - 2.14
IPv6DNS string(:256)[] R Comma-separated list of strings (maximum number of characters per item 256). AEach commaentry separatedis list ofan IPv6 DNS servers.server.

Changes in 2.16:

  • Added string(:256)[] syntax [] list
- 2.14
IPv4DNS string(:256)[] R Comma-separated list of strings (maximum number of characters per item 256). AEach commaentry separatedis list ofan IPv4 DNS servers.server.

Changes in 2.16:

  • Added string(:256)[] syntax [] list
- 2.14
Device.FWE. object R 5G Wireline wireless Encapsulation transport for data plane. See {{bibref: non-existent RFC8822}}. - 2.14
Device.Logical. object R

Logical object. This object models several Logical interface objects, each representing a different stack layer, including: Interface. Interface is a logical interface which can point to other stackable interface layers.

The intention of the logical interface is to simplify the configuration management of individual [TR-181i2] services. Instead of configuring the individual network services with a physical interface and deal with reconfiguration problems that may arise from switching between WAN interfaces. The intention is that the network services are configured with a logical interface and that this configuration stays unchanged during the switching between WAN interfaces. The software service (For example a WAN mode manger.) responsible for handling the WAN interface changes must then only care about rewriting the LowerLayers parameter of the Logical Interface Objects.

- 2.16
InterfaceNumberOfEntries unsignedInt R The number of entries in the Interface table. - 2.16
Device.Logical.Interface.{i}. object(0:) W

Logical interface table (a stackable interface object as described in [Section 4.2/TR-181i2]). This table models only logical interfaces.

At most one entry in this table 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 (if not supplied by the Controller on creation) choose initial values for Alias and Name such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables or disables the interface. This parameter is based on ifAdminStatus from [RFC2863]. - 2.16
Status string R

The current operational state of the logical interface (see [Section 4.2.2/TR-181i2]). Enumeration of:

  • Up (When Enable is changed to true then Status SHOULD change to Up if and only if all the active lower layer interfaces are able to transmit and receive network traffic)
  • Down (When Enable is false then Status SHOULD normally be Down)
  • Unknown (It SHOULD change to Unknown if the state of one or more of the active lower interfaces can not be determined for some reason)
  • Dormant (It SHOULD change to Dormant if and only if one ore more of the active lower interfaces is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to Up if still operable when the expected actions have completed))
  • NotPresent (It SHOULD remain in the NotPresent state if the interface, or one or more of the active lower interfaces has missing (typically hardware) components)
  • LowerLayerDown (It SHOULD change to LowerLayerDown if and only if one or more of the active lower interfaces is prevented from entering the Up state because one or more of the interfaces beneath it is down)
  • Error (It SHOULD remain in the Error state if there is an error or other fault condition detected with one more of the active lower layer interfaces, OPTIONAL) This parameter is based on ifOperStatus from [RFC2863].
Down 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Name string(:64) W

The textual name of the logical interface as assigned by a static configuration file or dynamically by a controller.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
LastChange unsignedInt R

The accumulated time in seconds since the logical interface entered its current operational state.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
LowerLayers string[](:1024) W Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string. See [Section 4.2.1/TR-181i2]. - 2.16
Device.Logical.Interface.{i}.Stats. object R

Throughput statistics for this interface. The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s Status parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s Enable parameter transitions from false to true). Administrative and operational interface status is discussed in [Section 4.2.2/TR-181i2].

This information SHOULD be mirrored or aggregated from the active underlaying interfaces.

- 2.16
BytesSent unsignedLong R

The total number of bytes transmitted out of the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BytesReceived unsignedLong R

The total number of bytes received on the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsSent unsignedLong R

The total number of packets transmitted out of the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsReceived unsignedLong R

The total number of packets received on the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsSent unsignedInt R

The total number of outbound packets that could not be transmitted because of errors.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsReceived unsignedInt R

The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsSent unsignedLong R

The total number of packets requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsReceived unsignedLong R

The total number of received packets, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsSent unsignedInt R

The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsReceived unsignedInt R

The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsSent unsignedLong R

The total number of packets that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsReceived unsignedLong R

The total number of received packets, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BroadcastPacketsSent unsignedLong R The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. Note that IPv6 does not define broadcast addresses, so IPv6 packets will never cause this counter to increment. - 2.16
BroadcastPacketsReceived unsignedLong R The total number of received packets, delivered by this layer to a higher layer, which were addressed to a broadcast address at this layer. Note that IPv6 does not define broadcast addresses, so IPv6 packets will never cause this counter to increment. - 2.16
UnknownProtoPacketsReceived unsignedInt R

The total number of packets received via the interface which were discarded because of an unknown or unsupported protocol.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
Device.XPON. object R This object models one or more xPON interfaces or ONUs as specified by the ITU based PON standards. It does not address IEEE based PON standards (like EPON). An ONU performs tasks such as traffic classification, VLAN manipulation, GEM port mapping, aggregation and/or forwarding between one or more UNIs and one or more ANIs. - 2.16
ONUNumberOfEntries unsignedInt R The number of entries in the ONU table. - 2.16
Device.XPON.ONU.{i}. object(0:) R

This object models one xPON interface or ONU as specified by the ITU based PON standards.

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

- 2.16
Enable boolean W Enables or disables this ONU. If disabled, the ONU should prevent user traffic from flowing, suppress notifications, and power down as much as possible. - 2.16
Name string(:64) R

The textual name of the ONU as assigned by the CPE.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Version string(:14) R

This attribute identifies the version of the ONU as defined by the vendor.

This parameter is based on Version from [Section 9.1.1/G.988].

- 2.16
EquipmentID string(:20) R

This attribute may be used to identify the specific type of ONU.

This parameter is based on Equipment ID from [Section 9.1.2/G.988].

- 2.16
SoftwareImageNumberOfEntries unsignedInt R The number of entries in the SoftwareImage table. - 2.16
EthernetUNINumberOfEntries unsignedInt R The number of entries in the EthernetUNI table. - 2.16
ANINumberOfEntries unsignedInt R The number of entries in the ANI table. - 2.16
Device.XPON.ONU.{i}.SoftwareImage.{i}. object(0:2) R

This table models the software images stored in the ONU.

It is expected this table has two entries: the ONU normally creates two instances of the Software Image ME to model the 2 software images in the ONU.

This object is based on [Section 9.1.4/G.988].

This table MUST contain at least 0 and at most 2 entries.

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

- 2.16
ID unsignedInt(0:1) R

The ID as assigned by the CPE to this SoftwareImage entry.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Version string(:14) R

A string identifying the software version.

This parameter is based on Version from [Section 9.1.4/G.988].

- 2.16
IsCommitted boolean R

This parameter indicates whether or not the associated software image is committed.

This parameter is based on Is committed from [Section 9.1.4/G.988].

- 2.16
IsActive boolean R

This parameter indicates whether the associated software image is active (true) or inactive (false).

This parameter is based on Is active from [Section 9.1.4/G.988].

- 2.16
IsValid boolean R

This parameter indicates whether the associated software image is valid (true) or invalid (false).

This parameter is based on Is valid from [Section 9.1.4/G.988].

- 2.16
Device.XPON.ONU.{i}.EthernetUNI.{i}. object(0:) R

Ethernet UNI table (a stackable interface object as described in [Section 4.2/TR-181i2]). This object models User Network Interfaces carrying Ethernet frames.

An EthernetUNI can be a virtual or a physical UNI. If the ONU is managed via OMCI, an EthernetUNI has an associated service, which is either a VEIP (see [Section 9.5.5/G.988]) or a PPTP Ethernet UNI (see [Section 9.5.1/G.988]).

If the associated service is a VEIP, the ONU shows a VEIP ME in the OMCI MIB. If it’s a PPTP Ethernet UNI, the ONU shows a PPTP Ethernet UNI ME in the OMCI MIB. It is expected the associated service is a VEIP for a virtual UNI, and that it is a PPTP Ethernet UNI for a physical UNI. However, some network operators require that the ONU shows a PPTP Ethernet UNI ME instead of a VEIP ME in its OMCI MIB even if the EthernetUNI models a virtual UNI.

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

- 2.16
Enable boolean R

Indicates whether this interface is enabled (true) or not (false). If the ONU is managed via OMCI, the interface is enabled if the OLT set the parameter Administrative state of the ME managing the associated service to 0. (The value 0 unlocks the functions performed by the ME.) The ME is either the VEIP ME (see [Section 9.5.5/G.988]) or the PPTP Ethernet UNI ME (see [Section 9.5.1/G.988].

This parameter is based on ifAdminStatus from [RFC2863].

- 2.16
Status string R

The current operational state of the interface (see [Section 4.2.2/TR-181i2]). Enumeration of:

  • Up
  • Down
  • Unknown
  • Dormant
  • NotPresent
  • LowerLayerDown
  • Error (OPTIONAL)

When Enable is false then Status SHOULD normally be Down (or NotPresent or Error if there is a fault condition on the interface).

When Enable becomes true then Status SHOULD change to Up if and only if the interface is able to transmit and receive network traffic; it SHOULD change to Dormant if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to Up if still operable when the expected actions have completed); it SHOULD change to LowerLayerDown if and only if the interface is prevented from entering the Up state because one or more of the interfaces beneath it is down; it SHOULD remain in the Error state if there is an error or other fault condition detected on the interface; it SHOULD remain in the NotPresent state if the interface has missing (typically hardware) components; it SHOULD change to Unknown if the state of the interface can not be determined for some reason.

If the ONU is managed via OMCI, then Status can only be Up if the ONU has been provisioned at OMCI level in such a way that this interface is able to pass traffic.

This parameter is based on ifOperStatus from [RFC2863].

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Name string(:64) R

The textual name of the interface entry as assigned by the CPE.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
LastChange unsignedInt R

The accumulated time in seconds since the interface entered its current operational state.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
LowerLayers string[](:1024) R

Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of an interface object that is stacked immediately below this interface object, or an empty string. See [Section 4.2.1/TR-181i2].

Note: it is expected that LowerLayers will not be used: if EthernetUNI models a physical UNI, it represents a layer 1 interface; if EthernetUNI models a virtual UNI, it virtualizes a layer 1 interface.

- 2.16
ANIs string[](:1024) R

Comma-separated list (maximum number of characters 1024) of strings. Each list item MUST be the Path Name of a row in the ANI. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. References all associated ANI interfaces.

An ONU is potentially capable of forwarding frames between a UNI and its associated ANI interfaces. This parameter defines such a relationship. However, the list does not mean that the forwarding is actually happening, or the forwarding policies have been provisioned, between the UNI and the associated ANI interfaces. For an ONU with a single TC layer device, the parameter value can be either empty for simplicity, or can be the path name of the associated ANI. For an ONU with multiple TC layer devices, this parameter value may have one or more path names.

- 2.16
InterdomainID string(:256) R

String to identify the associated service in the ONU management domain to the TR-181 management domain. If the ONU is managed via OMCI, it is recommended to format this string as “(service_type,MEID)”, with service_type being an enumeration of VEIP or PPTPEthernetUNI, and MEID the value of the attribute “Managed entity ID” of the ME instance managing the service associated with this EthernetUNI.

Examples:

  • (VEIP,1025)
  • (PPTPEthernetUNI,257)

An OSS (Operations Support System) having access to both the TR-181 and the OMCI domain can then find out which EthernetUNI instance represents a certain VEIP or PPTPEthernetUNI ME instance in the OMCI domain.

- 2.16
InterdomainName string(:25) R String that provides an additional way to identify the associated service to the TR-181 management domain. If the ONU is managed via OMCI and if the service associated with this EthernetUNI is a VEIP, then the value of this parameter is the value of the attribute “Interdomain name” of the corresponding VEIP ME instance. - 2.16
Device.XPON.ONU.{i}.EthernetUNI.{i}.Stats. object R

Throughput statistics for this interface.

The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s Status parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s Enable parameter transitions from false to true). Administrative and operational interface status is discussed in [Section 4.2.2/TR-181i2].

Transmit direction has PON as destination. Receive direction has PON as source.

- 2.16
BytesSent unsignedLong R

[StatsCounter64] The total number of bytes transmitted out of the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BytesReceived unsignedLong R

[StatsCounter64] The total number of bytes received on the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames transmitted out of the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsReceived unsignedLong R

[StatsCounter64] The total number of Ethernet frames received on the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsSent unsignedInt R

[StatsCounter32] The total number of outbound Ethernet frames that could not be transmitted because of errors.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsReceived unsignedInt R

[StatsCounter32] The total number of inbound Ethernet frames that contained errors preventing them from being delivered to the TR-181 domain.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsReceived unsignedLong R

[StatsCounter64] The total number of Ethernet frames, delivered by this interface to the TR-181 domain, which were not addressed to a multicast or broadcast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsSent unsignedInt R

[StatsCounter32] The total number of outbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsReceived unsignedInt R

[StatsCounter32] The total number of inbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsReceived unsignedLong R

[StatsCounter64] The total number of received Ethernet frames, delivered by this interface to the TR-181 domain, which were addressed to a multicast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BroadcastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames that the TR-181 domain requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BroadcastPacketsReceived unsignedLong R

[StatsCounter64] The total number of received Ethernet frames, delivered by this interface to the TR-181 domain, which were addressed to a broadcast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnknownProtoPacketsReceived unsignedInt R

[StatsCounter32] The total number of Ethernet frames received via the interface which were discarded because of an unknown or unsupported protocol.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
Device.XPON.ONU.{i}.ANI.{i}. object(0:) R

Access Node Interface (ANI) table. An ANI models the xPON MAC/PHY as defined in the ITU-T PON standards.

This object is not an interface object as described in [Section 4.2/TR-181i2], but it has many of the same core parameters as an interface object, and they follow largely the same conventions. The most important deviations are:

  • This object does not have a LowerLayers parameter.
  • The value LowerLayerDown is not a valid value for its Status parameter.

Because it’s not an interface object, it does not occur in the InterfaceStack table.

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

- 2.16
Enable boolean W

Enables or disables the interface.

If disabled, the device should force the ONU state of this ANI to O1 (Initial state).

This parameter is based on ifAdminStatus from [RFC2863].

Note: forcing the state to O1 implies the device disables the TX laser of the associated transceiver(s). It’s not required to disable the RX part of the transceivers as well.

- 2.16
Status string R

The current operational state of the interface. Although this object is not an interface object, it follows largely the conventions of [Section 4.2.2/TR-181i2]. The most important deviation is that LowerLayerDown is not a valid value. Enumeration of:

  • Up
  • Down
  • Unknown
  • Dormant
  • NotPresent
  • Error (OPTIONAL)

When Enable is false then Status SHOULD normally be Down (or NotPresent or Error if there is a fault condition on the interface).

When Enable becomes true then Status SHOULD change to Up if and only if the interface is able to transmit and receive network traffic; more specifically, Status should change to Up if TC.ONUActivation.ONUState becomes O5; it SHOULD change to Dormant if and only if the interface is operable but is waiting for external actions before it can transmit and receive network traffic (and subsequently change to Up if still operable when the expected actions have completed); it SHOULD remain in the Error state if there is an error or other fault condition detected on the interface; it SHOULD remain in the NotPresent state if the interface has missing (typically hardware) components; it SHOULD change to Unknown if the state of the interface can not be determined for some reason.

This parameter is based on ifOperStatus from [RFC2863].

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Name string(:64) R

The textual name of the ANI entry as assigned by the CPE.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
LastChange unsignedInt R

The accumulated time in seconds since the interface entered its current operational state.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PONMode string R

PON mode, defines the detected or configured PON mode of the ANI. Enumeration of:

  • Unknown
  • G-PON
  • XG-PON
  • NG-PON2
  • XGS-PON

Transceiver has a parameter of the same name. For proper operation, the PON mode of the transceiver(s) corresponding to this ANI must be equal to the PON mode of this ANI. But a user might e.g. accidentally insert a G-PON SFP while the PON mode of the ANI is XGS-PON.

- 2.16
TransceiverNumberOfEntries unsignedInt R The number of entries in the Transceiver table. - 2.16
Device.XPON.ONU.{i}.ANI.{i}.Stats. object R

Throughput statistics for this interface.

The CPE MUST reset the interface’s Stats parameters (unless otherwise stated in individual object or parameter descriptions) either when the interface becomes operationally down due to a previous administrative down (i.e. the interface’s Status parameter transitions to a down state after the interface is disabled) or when the interface becomes administratively up (i.e. the interface’s Enable parameter transitions from false to true). Administrative and operational interface status is discussed in [Section 4.2.2/TR-181i2].

Transmit direction has PON as destination. Receive direction has PON as source.

- 2.16
BytesSent unsignedLong R

[StatsCounter64] The total number of bytes transmitted out of the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BytesReceived unsignedLong R

[StatsCounter64] The total number of bytes received on the interface, including framing characters.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames transmitted out of the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
PacketsReceived unsignedLong R

[StatsCounter64] The total number of Ethernet frames received on the interface.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsSent unsignedInt R

[StatsCounter32] The total number of outbound Ethernet frames that could not be transmitted because of errors.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ErrorsReceived unsignedInt R

[StatsCounter32] The total number of inbound Ethernet frames that contained errors preventing them from being forwarded to the UNI(s).

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames requested for transmission which were not addressed to a multicast or broadcast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnicastPacketsReceived unsignedLong R

[StatsCounter64] The total number of Ethernet frames, forwarded by this interface to the UNI(s), which were not addressed to a multicast or broadcast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsSent unsignedInt R

[StatsCounter32] The total number of outbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
DiscardPacketsReceived unsignedInt R

[StatsCounter32] The total number of inbound Ethernet frames which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MulticastPacketsReceived unsignedLong R

[StatsCounter64] The total number of received Ethernet frames, forwarded by this interface to the UNI(s), which were addressed to a multicast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BroadcastPacketsSent unsignedLong R

[StatsCounter64] The total number of Ethernet frames requested for transmission on the PON and which were addressed to a broadcast address at this layer, including those that were discarded or not sent.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
BroadcastPacketsReceived unsignedLong R

[StatsCounter64] The total number of received Ethernet frames, forwarded by this interface to the UNI(s), which were addressed to a broadcast address at this layer.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
UnknownProtoPacketsReceived unsignedInt R

[StatsCounter32] The total number of Ethernet frames received via the interface which were discarded because of an unknown or unsupported protocol.

Value Change Notification requests for this parameter MAY be denied.

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC. object R This object represents an ITU-T PON TC layer device. - 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.ONUActivation. object R This object shows info related to the activation of this ANI by an OLT. - 2.16
ONUState string R

ONU activation state. Enumeration of:

  • O1
  • O2
  • O3
  • O2-3
  • O4
  • O5
  • O6
  • O7
  • O8
  • O9

See:

- 2.16
VendorID string(:4) R Identifies the vendor of the ONU. See [Section 9.1.1/G.988]. - 2.16
SerialNumber string(:12) R Represents the combination of the Vendor-ID and the Vendor-specific serial number (VSSN). The parameter shows the serial number in a human readable format. Example: if the vendor ID is ABCD and the VSSN encodes the number 1234568, the value of this parameter is ABCD12345678. See [Section 9.1.1/G.988]. - 2.16
ONUID unsignedInt(0:1022) R

Identifier that the OLT assigns to this ANI during the activation. See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PM. object R Performance monitoring (PM) counters. - 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PM.PHY. object R PHY PM. - 2.16
CorrectedFECBytes unsignedLong R

[StatsCounter64] The number of bytes that were corrected by the FEC function.

See:

- 2.16
CorrectedFECCodewords unsignedLong R

[StatsCounter64] Count of FEC codewords that contained errors but were corrected by the FEC function.

See:

- 2.16
UncorrectableFECCodewords unsignedLong R

[StatsCounter64] Count of FEC codewords that contained errors and could not be corrected by the FEC function.

See:

- 2.16
TotalFECCodewords unsignedLong R

[StatsCounter64] Count of total received FEC codewords.

See:

- 2.16
PSBdHECErrorCount unsignedInt R

[StatsCounter32] HEC error in any of the fields of PSBd.

See:

- 2.16
HeaderHECErrorCount unsignedInt R

[StatsCounter32] HEC errors received in the DS XGTC or FS header.

This counter is called:

See:

- 2.16
UnknownProfile unsignedInt R

[StatsCounter32] ONU could not transmit because the specified burst profile was not known.

See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PM.GEM. object R (X)GEM PM. - 2.16
FramesSent unsignedLong R

[StatsCounter64] Total number of (X)GEM frames transmitted.

See:

- 2.16
FramesReceived unsignedLong R

[StatsCounter64] Total number of (X)GEM frames received.

See:

- 2.16
FrameHeaderHECErrors unsignedInt R

[StatsCounter32] XGEM frame header HEC errors.

Number of events involving loss of XGEM channel delineation.

See:

- 2.16
KeyErrors unsignedInt R

[StatsCounter32] XGEM key errors.

XGEM frames discarded because of unknown or invalid encryption key. Examples include: no unicast or broadcast key established for specified key index, key index indicating encrypted XGEM frame on a XGEM port that is not provisioned for encryption, key index indicating upstream encryption on a XGEM port that is provisioned for downstream encryption only, or invalid key index (11). This count is included in FramesReceived.

See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PM.PLOAM. object R PLOAM PM. - 2.16
MICErrors unsignedInt R

[StatsCounter32] PLOAM MIC errors.

Counter of received PLOAM messages with MIC errors.

See:

- 2.16
DownstreamMessageCount unsignedLong R

[StatsCounter64] Downstream PLOAM message count.

Count of PLOAM messages sent by OLT, received by ONU, either broadcast or directed to the specific ONU-ID.

See:

- 2.16
RangingTime unsignedLong R

[StatsCounter64] Count of Ranging_Time PLOAM messages sent by OLT.

It provides a base for transmission time drift estimation.

See:

- 2.16
UpstreamMessageCount unsignedLong R

[StatsCounter64] Upstream PLOAM message count.

Count of messages (other than Acknowledgement) sent by ONU to OLT.

See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PM.OMCI. object R OMCI PM. - 2.16
BaselineMessagesReceived unsignedLong R

[StatsCounter64] OMCI baseline message count.

See:

Value Change Notification requests for this parameter MAY be denied.

- 2.16
ExtendedMessagesReceived unsignedLong R

[StatsCounter64] OMCI extended message count.

See:

Value Change Notification requests for this parameter MAY be denied.

- 2.16
MICErrors unsignedInt R

[StatsCounter32] Count of received OMCI messages with MIC errors.

See:

Value Change Notification requests for this parameter MAY be denied.

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.GEM. object R Info about the GEM ports of this ANI. - 2.16
PortNumberOfEntries unsignedInt R The number of entries in the Port table. - 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.GEM.Port.{i}. object(0:) R

GEM port table. Each entry gives info about a(n) (X)GEM port.

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

- 2.16
PortID unsignedInt(0:65534) R

Identifies a GEM port.

See:

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Direction string R

Type of connection this GEM port is used for. Enumeration of:

  • UNI-to-ANI
  • ANI-to-UNI
  • bidirectional

See: [Section 9.2.3/G.988].

- 2.16
PortType string R

GEM port type.

Enumeration of:

  • unicast
  • multicast
  • broadcast
- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.GEM.Port.{i}.PM. object R Performance monitoring (PM) counters for this (X)GEM port. - 2.16
FramesSent unsignedLong R

[StatsCounter64] (X)GEM frames transmitted by this (X)GEM port.

See:

- 2.16
FramesReceived unsignedLong R

[StatsCounter64] (X)GEM frames received by this (X)GEM port.

See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.PerformanceThresholds. object R Performance thresholds. - 2.16
SignalFail unsignedInt(3:8) R

Signal fail (SF) threshold.

This parameter specifies the downstream bit error rate (BER) threshold to detect the SF alarm. When this value is y, the BER threshold is 10^–y.

This parameter is based on Signal fail (SF) threshold from [Section 9.2.1/G.988].

- 2.16
SignalDegrade unsignedInt(4:10) R

Signal degrade (SD) threshold.

This parameter specifies the downstream BER threshold to detect the SD alarm. When this value is x, the BER threshold for SD is 10^–x . The SD threshold must be lower than the SF threshold; i.e., x > y.

This parameter is based on Signal degrade (SD) threshold from [Section 9.2.1/G.988].

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.TC.Alarms. object R Alarms at TC level for this ANI. - 2.16
LOS boolean R Loss of signal. See [Section 11.1.2/G.984.3]. - 2.16
LOF boolean R Loss of frame. See [Section 11.1.2/G.984.3]. - 2.16
SF boolean R Signal failed. See [Section 11.1.2/G.984.3]. - 2.16
SD boolean R Signal degraded. See [Section 11.1.2/G.984.3]. - 2.16
LCDG boolean R Loss of GEM channel delineation. See [Section 11.1.2/G.984.3]. - 2.16
TF boolean R Transmitter failure. See [Section 11.1.2/G.984.3]. - 2.16
SUF boolean R Start-up failure. See [Section 11.1.2/G.984.3]. - 2.16
MEM boolean R Message error message. See [Section 11.1.2/G.984.3]. - 2.16
DACT boolean R Deactivate ONU-ID. See [Section 11.1.2/G.984.3]. - 2.16
DIS boolean R Disabled ONU. See [Section 11.1.2/G.984.3]. - 2.16
MIS boolean R Link mismatching. See [Section 11.1.2/G.984.3]. - 2.16
PEE boolean R When the ONU receives a PEE message. See [Section 11.1.2/G.984.3]. - 2.16
RDI boolean R Remote defect indication. See [Section 11.1.2/G.984.3]. - 2.16
LODS boolean R Loss of downstream syncronization. See [G.9807.1]. - 2.16
ROGUE boolean R

The ANI behaves rogue: it is not transmitting in a manner consistent with parameters specified in the ITU-T PON standards. Hence it can threaten all upstream transmissions on the PON, causing interference and disrupting communications of other ONUs on the PON. An example of rogue behavior is transmitting in the wrong timeslot.

See:

- 2.16
Device.XPON.ONU.{i}.ANI.{i}.Transceiver.{i}. object(0:2) R

Transceiver table. Each entry models a PON transceiver.

This table MUST contain at least 0 and at most 2 entries.

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

- 2.16
ID unsignedInt(0:1) R

The ID as assigned by the CPE to this Transceiver entry.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Identifier unsignedInt(0:255) R Transceiver type. Allowed values are given by [Table 4-1/SFF-8024]. - 2.16
VendorName string(:256) R Vendor name. See [Table 4-1/SFF-8472]. - 2.16
VendorPartNumber string(:256) R Vendor part number. See “Vendor PN” in [Table 4-1/SFF-8472]. - 2.16
VendorRevision string(:256) R Vendor revision. See “Vendor rev” in [Table 4-1/SFF-8472]. - 2.16
PONMode string R

PON mode, reports the PON mode of the transceiver.

Enumeration of:

  • Unknown
  • G-PON
  • XG-PON
  • NG-PON2
  • XGS-PON
- 2.16
Connector string R

Connector type.

Enumeration of:

  • Unknown
  • LC (Lucent Connector, Little Connector, or Local Connector)
  • SC (Subscriber connector, square connector or standard connector)
  • ST (Straight tip connector)
  • FC (Ferrule Connector or Fiber Channel)
  • MT-RJ (Mechanical Transfer Registered Jack)
- 2.16
NominalBitRateDownstream unsignedInt R Nominal data rate downstream in kbps. - 2.16
NominalBitRateUpstream unsignedInt R Nominal data rate upstream in kbps. - 2.16
RxPower int R Measured RX power in 0.1 dBm. - 2.16
TxPower int R Measured TX power in 0.1 dBm. - 2.16
Voltage unsignedInt R Measured supply voltage in mV. - 2.16
Bias unsignedInt R Measured bias current in µA. - 2.16
Temperature int(-274:) R

Measured temperature in degrees celsius.

A value of -274 (which is below absolute zero) indicates a good reading has not been obtained.

- 2.16
Device.SSH. object R This object contains global parameters relating to the Secure Shell clients and or servers implementations that are active in the CPE. - 2.16
ServerNumberOfEntries unsignedInt R The number of entries in the Server table. - 2.16
AuthorizedKeyNumberOfEntries unsignedInt R The number of entries in the AuthorizedKey table. - 2.16
Enable boolean W Enables or disables the SSH service. - 2.16
Status string R

The status of the SSH service. Enumeration of:

  • Disabled (Indicates that the SSH service is disabled)
  • Enabled (Indicates that the SSH service is enabled)
  • Error (Indicates that the SSH service has encountered an error, OPTIONAL)
- 2.16
Device.SSH.Server.{i}. object(0:) W

This object contains parameters relating to a SSH server instance.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Enable boolean W Enables or disables the SSH server instance. When Enable is set to false, any active sessions must be forcibly terminated and the ActivationDate is reset. - 2.16
Status string R

The status of the SSH server instance. Enumeration of:

  • Disabled (Indicates that the SSH server instance is disabled)
  • Enabled (Indicates that the SSH server instance is enabled)
  • Error (Indicates that the SSH server instance has encountered an error, OPTIONAL)
  • Error_Misconfigured (Indicates that a necessary configuration value is undefined or invalid)
- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
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. The IP Interface associated with the Server entry.

If an empty string is specified, the CPE MUST use its bridging or routing policy to determine the appropriate interface.

<Empty> 2.16
Port unsignedInt(1:65535) W Specify the port used by the SSH server. 22 2.16
IdleTimeout unsignedInt W When the session is inactive, it is automatically terminated after IdleTimeout amount of seconds. A value of 0 disables this feature. 180 2.16
KeepAlive unsignedInt W Every amount of KeepAlive seconds a keep alive message is sent. A value of 0 disables this feature. 300 2.16
AllowRootLogin boolean W Permit SSH users to login as root. false 2.16
AllowPasswordLogin boolean W Permit SSH users to login using a password. false 2.16
AllowRootPasswordLogin boolean W Permit the root SSH user to login using a password. false 2.16
MaxAuthTries unsignedInt W Maximum authentication tries allowed before disconnect 3 2.16
AllowAllIPv4 boolean W Allow access from any IPv4 address. The source prefixes defined in IPv4AllowedSourcePrefix will be ignored. false 2.16
IPv4AllowedSourcePrefix string[](:1024) W Comma-separated list (maximum number of characters 1024) of strings. Allow only access from the provided list of IPv4 prefixes. - 2.16
AllowAllIPv6 boolean W Allow access from any IPv6 address. The source prefixes defined in IPv6AllowedSourcePrefix will be ignored. false 2.16
IPv6AllowedSourcePrefix string[](:1024) W Comma-separated list (maximum number of characters 1024) of strings. Allow only access from the provided list of IPv6 prefixes. - 2.16
ActivationDate dateTime R Activation date indicates when the server instance has been activated and the Enable is set to true. - 2.16
AutoDisableDuration unsignedInt R The SSH server instance will be disabled when the the AutoDisableDuration elapses, and configuration must be done in minutes. At the end, the coressponding Enable parameter of the SSH server instance is automatically changed to false false. Any active sessions must be forcibly terminated. 0 means the the SSH server instance is always active. 0 2.16
PID unsignedInt W Current PID of the SSH server instance. 0 2.16
SessionNumberOfEntries unsignedInt R The number of entries in the Session table. - 2.16
Device.SSH.Server.{i}.Session.{i}. object(0:) W

Active SSH session list.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
User string(:256) W The value MUST be the Path Name of a row in the Users.User. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The user to whom the session belongs to. <Empty> 2.16
IPAddress string(:45) R [IPAddress] IP address of the remote SSH client. - 2.16
Port unsignedInt R Port of the remote SSH client. - 2.16
Delete() command - This command is issued to delete the current active session. - 2.16
Device.SSH.AuthorizedKey.{i}. object(0:) W

This object contains parameters relating to a SSH server instance.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
User string(:256) W The value MUST be the Path Name of a row in the Users.User. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. The user to whom the authorized key belongs to. <Empty> 2.16
Key string W Public key used for authentication (OpenSSH format). - 2.16
Device.UnixDomainSockets. object R This object contains information related to the Unix Domain Sockets used by USP Agent UDS MTP. - 2.16
UnixDomainSocketNumberOfEntries unsignedInt R The number of entries in the UnixDomainSocket table. - 2.16
Device.UnixDomainSockets.UnixDomainSocket.{i}. object(0:) R

This object contains parameters relating to a UnixDomainSocket configuration.

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

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Mode string R

Describes how the Unix Domain Socket must be used.

Enumeration of:

  • Listen (UNIX Domain Socket Server)
  • Connect (UNIX Domain Socket Client)
- 2.16
Path string(:4096) R

File path of the Unix Domain Socket.

Example: /tmp/broker_controller_path

- 2.16
Device.USPServices. object R This object contains information related to installed USP Services. - 2.16
USPServiceNumberOfEntries unsignedInt R The number of entries in the USPService table. - 2.16
Device.USPServices.USPService.{i}. object(0:) R

This object contains parameters relating to a USPService configuration.

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

- 2.16
EndpointID string R The unique USP identifier for this USP Agent. - 2.16
Protocol string W

The Message Transport Protocol (MTP) to be used for communications by a USP Endpoint.

Enumeration of:

- 2.16
DataModelPaths string[1:1024] R Comma-separated list (1 to 1024 items) of strings. Registered data model paths. - 2.16
DeploymentUnitRef string[] R

Comma-separated list of strings. Each list item MUST be the Path Name of the SoftwareModules.DeploymentUnit. object instance that this USP Service is part off.. If the referenced object is deleted, the corresponding item MUST be removed from the list.

An empty string means that USP service doesn’t have a corresponding software module.

- 2.16
HasController boolean R The USP service has controller functionality next to the standard USP Agent functionality. - 2.16
Device.LocalAgent. object R

This object contains general information about the USP Agent itself. For information related to the Device that hosts the Agent, please reference the {{object: non-existent #.DeviceInfo}} object.

NOTE: The Vendor Log File table ({{object: non-existent #.DeviceInfo.VendorLogFile}}) details are located on the {{object: non-existent #.DeviceInfo}} object.

Changes in 2.16:

- 2.12
SupportedProtocols string[1:] R

Comma-separated list (at least 1 item) of strings. USP Message Transfer Protocols supported by this USP Agent. The USP Agent MUST support at least one Protocol.

Each list item is an enumeration of:

  • CoAP (See [RFC7252].This enumeration was DEPRECATED in 2.15 because the CoAP MTP was deprecated in USP 1.2)
  • WebSocket (See [RFC6455])
  • STOMP (See [STOMP1.2])
  • MQTT (See [MQTT311] and [MQTT50])
  • UDS (See [TR-369], added in 2.16)

Changes in 2.16:

  • Added string UDS enumeration
- 2.12
AddCertificate() command - This command is issued to allow a Controller (with the proper permissions) to add a new certificate to Certificate.{i}. This does not automatically produce a trust relationship with the host identified by the Certificate. To produce a trust relationship, an entry is required to exist in Controller.{i}.Credential or ControllerTrust.Credential.{i}.Credential that references the new Certificate.{i} entry. The Agent will use the Serial Number and Issuer fields from the input Certificate to populate the Certificate.{i}.SerialNumber and Certificate.{i}.Issuer parameters. If Certificate already has an instance with the same Certificate.{i}.SerialNumber and Certificate.{i}.Issuer parameters, this command will fail. To replace an instance with the same Certificate.{i}.SerialNumber and Certificate.{i}.Issuer, the existing instance must first be deleted.

Changes in 2.16:

  • Added async = false
- 2.12
⇒ Input. arguments - Input arguments. -
Alias string(:64) W [Alias] An optional input the Controller can use to specify the Certificate.{i}.Alias value for the added entry. If provided as an input and the value already exists in Certificate.{i}, this commmandcommand will fail. - 2.12
MonitorNumberOfEntries unsignedInt R The number of entries in the Monitor table. - 2.16
SupportedNumberOfSubscriptions int R

An indication of the maximum number of Subscription instances supported by this implementation or -1 if no hard limit exists.

The default value SHOULD be -1.

- 2.16
Device.LocalAgent.MTP.{i}. object(0:) W

Each instance of this table represents a MTP used by the local Agent.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.12
Protocol string W

The value MUST be a member of the list reported by the SupportedProtocols parameter. The Message Transport Protocol (MTP) to be used for communications by a USP Endpoint.

This parameter discriminates between the CoAP, WebSocket, UDS union objects.

Changes in 2.16:

  • Removed string syntax WebSocket default
- 2.12
Device.LocalAgent.MTP.{i}.CoAP. object(0:1) R
If the USP Endpoint uses the CoAP Message Transport Protocol (MTP), then this object contains CoAP specific configuration parameters.
This object was DEPRECATED in 2.15 because the CoAP MTP was deprecated in USP 1.2.
This object MUST be present if, and only if, Protocol is CoAP.
This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.
- 2.12
IsEncrypted boolean R
This parameter represents whether or not communications that utilize this CoAP object instance are encrypted.
This parameter was DEPRECATED in 2.14 because the EnableEncryption parameter will dictate whether all connections to this CoAP server instance are or are not encrypted.
This parameter was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.12
Device.LocalAgent.MTP.{i}.WebSocket. object(0:1) R

If the USP Endpoint uses the WebSocket Message Transport Protocol (MTP) as a WebSocket server, then this object contains WebSocket specific configuration parameters.

This object MUST be present if, and only if, Protocol is WebSocket.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

- 2.12
KeepAliveInterval unsignedInt(1:) W The duration in seconds between when WebSocket ping control frames are transmitted by the Agent’s WebSocket server to the Controller’s WebSocket client.

Changes in 2.16:

  • Added unsignedInt(1:) syntax 60 default
60 2.15
Device.LocalAgent.Threshold.{i}. object(0:) W

Each Threshold instance of this table represents a Threshold Event.

ThresholdParam is monitored to determine if it has met the ThresholdOperator condition against ThresholdValue, when it meets the condition a Triggered! Event is sent.

ThresholdParam may only reference integer parameters and ThresholdValue only useseuses integer values.

For example:

ReferencePath: Device.Ethernet.Interface.[Enable==“1”].Stats.

ThresholdParam: BytesSent

ThresholdOperator: Rise

ThresholdValue: 100000

This would trigger a Triggered! Event whenever a value of a parameter matching Device.Ethernet.Interface.[Enable==1].Stats.BytesSent rises from below to above 100000.

When creating a Threshold, if the ReferencePath, ThresholdParam or ThresholdValue are invalid (not in the supported Data Model), the object will not be created.

If the concatenation of ReferencePath and ThresholdParam reference a parameter that isn’t in the instantiated data model, then there will be no Triggered! Event.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.13
Enable boolean W

Enable/Disable this Threshold instance.

If the Threshold instance is disabled, the Triggered! Event will not be invoked, even if there is a {{object: non-existent #.Subscription}} instance that references itit.

false 2.13
OperatingMode string W

Determines whether to disable this Threshold instance after the Triggered! Event has been invoked.

Enumeration of:

  • Normal (The Threshold will execute the action as long as the Enable parameter is true.)
  • Single (After invoking the Triggered! Event, the Enable parameter will be automatically set to false.)
Normal 2.13
Controller string R

The value MUST be the Path Name of the {{object: non-existent #.Controller}} instance that created Threshold. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string).

The value of this parameter is automatically populated by the USP Agent upon Threshold creation using the reference to the USP Controller that created the instance.

The USP Controller referenced by this parameter also defines the set of permissions to use when evaluating the threshold. Furthermore, only the USP Controller referenced by this parameter will receive a Triggered! Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.

- 2.15
Triggered! event -

Triggered event requested via a Threshold object.

When any of the {{param: non-existent ThresholdParam}}s that areis in the {{param: non-existent ReferencePath}} changechanges and the threshold test conditation changes from false to true, then the Triggered Event will be invoked. The Triggered EventTriggered! will only be eligible for retriggering if the test condition is fulfilled again.

- 2.13
ParamPath string R The parameter ({{param: non-existent #.ReferencePath}} and {{param: non-existent #.ThresholdParam}}) for which the threshold has been triggered. - 2.13
ParamValue string R The new ({{param: non-existent #.ReferencePath}} and {{param: non-existent #.ThresholdParam}}) Value. - 2.13
Device.LocalAgent.Monitor.{i}. object(0:) W

Each Monitor instance of this table represents an OnChange Event.

This would trigger a OnChange! Event whenever a value of a parameter(s) matching ReferenceList changed during the time interval specified by Interval.

When creating a Monitor, if the ReferenceList is invalid (not in the supported Data Model), the object will not be created.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
Enable boolean W

Enable/Disable this Monitor instance.

If the Monitor instance is disabled, the OnChange! Event will not be invoked, even if there is a Subscription instance that references it.

false 2.16
Interval unsignedInt W Monitor interval in microseconds. Parameters changed during this time window will be part of the OnChange! Event. When set to 0, the Agent will send the OnChange! Event immediately when it notices a change in one or more of the subscribed parameters. - 2.16
ReferenceList string(:256)[] W Comma-separated list of strings (maximum number of characters per item 256). Each entry in the list is a Path Name or Search Path that determines the element(s) of the data model that the Monitor is applicable to. - 2.16
Controller string R

The value MUST be the Path Name of the Controller instance that created Monitor. If the referenced object is deleted, this instance MUST also be deleted (so the parameter value will never be an empty string).

The value of this parameter is automatically populated by the USP Agent upon Monitor creation using the reference to the USP Controller that created the instance.

The USP Controller referenced by this parameter also defines the set of permissions to use when evaluating the to be monitored changes. Furthermore, only the USP Controller referenced by this parameter will receive a OnChange! Event (assuming it has an associated Subscription), even if another USP Controller has an associated Subscription.

- 2.16
OnChange! event -

OnChange event requested via a Monitor object.

When the values of the parameters specified by ReferenceList change within in the configured Interval, the agent MUST send an OnChange event.

- 2.16
ChangeSet.{i}. object(0:) R

Each ChangeSet entry contains the changes for a monitored object. If multiple monitored objects change within the Interval, there will be multiple ChangeSet entries.

When a parameter of an already included object changes multiple times within in the configured Interval. The parameter must be included in the previously used ChangeSet instance and a new Parameter.{i} instance MUST be created.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.16
ObjectPath string(:256) R Object path of the changed parameters. - 2.16
ChangeSet.{i}.Parameter.{i}. object(0:) R

OnChange parameter(s) table for the report sent by this event. This table contains entries for parameters whose values have been changed during the configured Interval.

This table’s Instance Numbers MUST be 1, 2, 3… (assigned sequentially without gaps).

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

- 2.16
Name string(:256) R Name of the changed parameter. - 2.16
Value string(:256) R New value of the parameter specified by Name. - 2.16
OldValue string(:256) R Previous value of the parameter specified by Name. - 2.16
ChangeTime dateTime R The date and time when the parameter was changed in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456Z - 2.16
Device.LocalAgent.MTP.{i}.UDS. object(0:1) R

If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transfer Protocol (MTP), then this object contains UDS Client specific configuration parameters related to how the Agent communicates with the UDS Server.

This object MUST be present if, and only if, Protocol is UDS.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

- 2.16
UnixDomainSocketRef string W The value MUST be the Path Name of a row in the UnixDomainSockets.UnixDomainSocket. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP. <Empty> 2.16
Device.LocalAgent.Controller.{i}. object(0:) W

Each instance of this table represents a USP Controller that has access to this USP Agent.

On the deletion of an entry from this table, the Agent MUST send the ObjectDeletion notification to all subscribed recipients, even if the recipient is the deleted Controller itself. This notification is the last notification sent to this Controller.

At most one entry in this table can exist with a given value for EndpointID, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.12
Credential string[] W Comma-separated list of strings, the set of certificates from Certificate.{i} that a Controller can present for use in authenticating the identity of this Controller instance.

Changes in 2.16:

  • Added string[] syntax [] list
- 2.12
ScheduleTimer() command -
Schedule a Timer! event on the associated Controller.
This command was DEPRECATED in 2.14 because it was replaced by a more flexible asynchronous {{command: non-existent ##.ScheduleTimer()}}.
This command was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
  • Added async = false
- 2.12
Timer! event -
Timer event requested via a ScheduleTimer() command invoked on the same Controller instance via an Operate USP message. This event was DEPRECATED in 2.14 because the associated ScheduleTimer() was replaced by a more flexible asynchronous {{command: non-existent ##.ScheduleTimer()}}.
This event was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.12
AddMyCertificate() command -

This command is issued to allow a Controller to add a new certificate for itself. This can be useful when the current certificate is expiring or has become compromised. This command creates a new entry in Certificate and adds a reference to the new entry to the Controller’s Controller.{i}.Credential. The Agent will use the Serial Number and Issuer fields from the input Certificate to populate the Certificate.{i}.SerialNumber and Certificate.{i}.Issuer parameters. If Certificate already has an instance with the same Certificate.{i}.SerialNumber and Certificate.{i}.Issuer parameters, this command will fail. To replace an instance with the same Certificate.{i}.SerialNumber and Certificate.{i}.Issuer, the existing instance must first be deleted.

This command can only be used by the Controller to whom the object belongs. If the Controller issuing the USP Operate message is a different Controller, the message MUST be denied.

Changes in 2.16:

  • Added async = false
- 2.12
⇒ Input. arguments - Input arguments. -
Alias string(:64) W [Alias] An optional input the Controller can use to specify the Certificate.{i}.Alias value for the added entry. If provided as an input and the value already exists in Certificate.{i}, this commmandcommand will fail. - 2.12
SendOnBoardRequest() command - Requests the Agent to send an OnBoardRequest notification to this Controller.

Changes in 2.16:

  • Added async = false
- 2.12
Device.LocalAgent.Controller.{i}.MTP.{i}. object(0:) W

Each instance of this table represents a MTP used by this Controller.

At most one entry in this table can exist with a given value for Protocol, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Protocol and Alias such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.12
Protocol string W

The value MUST be a member of the list reported by the SupportedProtocols parameter. The Message Transport Protocol (MTP) to be used for communications by a USP Endpoint.

This parameter discriminates between the STOMP, WebSocket, MQTT, UDS union objects.

If the value isn’t assigned by the Controller on creation, the Agent MUST choose an initial value that doesn’t conflict with any existing entries.

Changes in 2.16:

  • Removed string syntax WebSocket default
- 2.12
Device.LocalAgent.Controller.{i}.MTP.{i}.STOMP. object(0:1) R

If the USP Endpoint uses the STOMP Message Transport Protocol (MTP), then this object contains STOMP Client specific configuration parameters related to how this Controller communicates with the STOMP Server.

This object MUST be present if, and only if, Protocol is STOMP.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

- 2.12
USPServiceRef string R The value MUST be the Path Name of a row in the USPServices.USPService. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the USP Service associated with this Agent when communicating via the STOMP MTP. <Empty> 2.16
Device.LocalAgent.Controller.{i}.MTP.{i}.WebSocket. object(0:1) R

If the USP Endpoint uses the WebSocket Message Transport Protocol (MTP) as a WebSocket client, then this object contains WebSocket specific configuration parameters.

This object MUST be present if, and only if, Protocol is WebSocket.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

- 2.12
IsEncrypted boolean R
This parameter represents whether or not communications that utilize this WebSocket object instance are encrypted.
This parameter was DEPRECATED in 2.14 because the EnableEncryption parameter will dictate whether this WebSocket is or is not encrypted.
This parameter was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.12
USPServiceRef string R The value MUST be the Path Name of a row in the USPServices.USPService. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the USP Service associated with this Agent when communicating via the WebSocket MTP. <Empty> 2.16
Reset() command - If enabled, this command will either request to start or restart an WebSocket session with the Controller.

Changes in 2.16:

  • Changed async = truefalse
- 2.12
Device.LocalAgent.Controller.{i}.MTP.{i}.MQTT. object(0:1) R

If the USP Endpoint uses the MQTT Message Transport Protocol (MTP), then this object contains MQTT Client specific configuration parameters related to how this Controller communicates with the MQTT broker.

This object MUST be present if, and only if, Protocol is MQTT.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

- 2.13
Reference string W
The value MUST be the Path Name of a row in the MQTT.Client. table. A reference to the MQTT Client used by this Controller when communicating via the MQTT MTP.
This parameter was DEPRECATED in 2.16 because AgentMTPReference was added.

Changes in 2.16:

  • Added status = deprecated
<Empty> 2.13
AgentMTPReference string W The value MUST be the Path Name of the MTP. object instance containing the Response Topic used by this Controller when communicating via the MQTT MTP. If the referenced object is deleted, the parameter value MUST be set to an empty string. <Empty> 2.16
USPServiceRef string R The value MUST be the Path Name of a row in the USPServices.USPService. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the USP Service associated with this Agent when communicating via the MQTT MTP. <Empty> 2.16
Device.LocalAgent.Controller.{i}.MTP.{i}.UDS. object(0:1) R

If the USP Endpoint uses the Unix Domain Socket (UDS) Message Transport Protocol (MTP), then this object contains UDS Client specific configuration parameters related to how the Controller communicates with the UDS Server.

This object MUST be present if, and only if, Protocol is UDS.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

- 2.16
UnixDomainSocketRef string W The value MUST be the Path Name of a row in the UnixDomainSockets.UnixDomainSocket. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the Unix Domain Socket used by this Agent when communicating via the UDS MTP. <Empty> 2.16
USPServiceRef string R The value MUST be the Path Name of a row in the USPServices.USPService. table. If the referenced object is deleted, the parameter value MUST be set to an empty string. A reference to the USP Service associated with this Agent when communicating via the UDS MTP. <Empty> 2.16
Device.LocalAgent.Controller.{i}.E2ESession. object R The E2ESession object represents the End to End (E2E) Session Context functionality for this Controller.{i} object instance.

Changes in 2.16:

- 2.12
SegmentedPayloadChunkSize unsignedInt(0,512:) W
The maximum size, in bytes, of the Record (payload(s) and headers) that can be transmitted to the remote endpoint. The smallest size, which can be configured is 512 bytes.
A value of 0 means that the segmentation function is effectively disabled.
This parameter was DEPRECATED in 2.16 because it is replaced by MaxUSPRecordSize.

Changes in 2.16:

  • Added status = deprecated
0 2.12
MaxUSPRecordSize unsignedInt(0,512:) W

The maximum size allowed by the MTP, in bytes, a USP Record (payload(s) and header fields) that can be transmitted to the remote endpoint.

When a size is set, a payload too large to transfer is segmented into smaller payloads according to the maximal size the USP Record can be. The smallest size, which can be configured, is 512 bytes.

A value of 0 means that the segmentation function of payloads is effectively disabled.

0 2.16
Reset() command -

If the E2ESession is enabled then this command will either request to start or restart a Session Context with the remote endpoint.

If the E2ESession is not enabled and there is an active Session Context then this command will terminate that Session Context with the remote endpoint.

If the E2ESession is not enabled and there is no active Session Context then this command does nothing.

Changes in 2.16:

  • Changed async = truefalse
- 2.12
Device.LocalAgent.Certificate.{i}. object(0:) R

Each instance of this table represents information related to a X.509 certificate (see [RFC5280]) of a Controller or Certificate Authority. Instances are referenced from Controller.{i}.Credential and ControllerTrust.Credential.{i}.Credential.

At most one entry in this table can exist with the same values for both SerialNumber and Issuer, or with a given value for Alias.

- 2.12
Delete() command - This command is issued to allow a Controller (with the proper permissions) to delete an entry from the Certificate.{i}. It also removes references to the Certificate in LocalAgent.Controller.{i}.Credential or LocalAgent.ControllerTrust.Credential.{i}.Credential and removes any X.509 certificate data the Agent had stored related to the entry.

Changes in 2.16:

  • Added async = false
- 2.12
GetFingerprint() command - This command is issued to allow a Controller to request the value of a fingerprint calculated for the specified table entry using the input FingerprintAlgorithm.

Changes in 2.16:

  • Added async = false
- 2.12
Device.LocalAgent.ControllerTrust. object R This object contains information that an Agent applies when establishing a trust relationship with a Controller.

Changes in 2.16:

- 2.12
SecuredRoles string[] W

Each list item MUST be the Path Name of a row in the Role. table. If the referenced object is deleted, the corresponding item MUST be removed from the list. Comma-separated list of strings, each entry is a Role that is associated with Controllers to indicate their access to secured parameters (e.g. WiFi.AccessPoint.{i}.Security.WEPKey). The value of the SecuredRoles parameter is appended to the Controller.{i}.AssignedRole parameter.

Only Controllers with a secured role assigned (and the appropriate permissions set) MUST be able to have access to secured parameters content.

- 2.16
RequestChallenge() command -

This command is issued to retrieve the instruction for the referenced challenge.

There is at most one (1) outstanding RequestChallenge for a requesting Controller.

As such, any new challenges with a different value of the ChallengeRef parameter are denied until a successful response to the outstanding challenge is received by the Agent or the current RequestChallenge expires.

When the value of the ChallengeRef parameter defined in the RequestChallenge does not exist, the Agent returns an “Invalid Value” error.

Changes in 2.16:

  • Added async = false
- 2.12
ChallengeResponse() command - This command is issued to return the response of challenge.

Changes in 2.16:

  • Added async = false
- 2.12
Device.LocalAgent.ControllerTrust.Role.{i}. object(0:) W

Each instance of this table represents a Role that can be assigned to or inherited by a Controller via the Controller Trust mechanism. The Role contains a set of permissions that determine how the Controller can interact with the data model.

If multiple permission entries associated with this table contain a Target that evaluates to the same instantiated Object/Parameter for multiple Roles, then the permissions to be used are a union of the identified permissions.

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

- 2.12
Device.LocalAgent.ControllerTrust.Role.{i}.Permission.{i}. object(0:) W

Each instance of this table represents the permissions that are extended to a set of Targets for a specified Role.

If there are multiple entries in this table for a specific Role where the Targets overlap, the permissions for the entry with the highest value takes priority over all others.

At most one entry in this table can exist with a given value for Order, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.12
Param string(4) W

The permissions of a Role for the specified Targets.

A string of 4 characters where each character represents a permission (“r” for Read, “w” for Write, “x” for Execute“, and “n” for Notify).

The string is always in the same order (rwxn) and the lack of a permission is signified by a “-” character (e.g., r–n).

The following describes the meaning of the permissions for Parameter type of Targets:

  1. Read: Grants the capability to read the value of the Parameter via Get and read the meta-information of the Parameter via GetSupportedDM.
  2. Write: Grants the capability to update the value of the Parameter via Add or Set.
  3. Execute: Grants no capabilities; Parameters can not be executed.
  4. Notify: Grants the capability to usereceive Notify Messages of type ValueChange for this Parameter in the ReferenceList of a ValueChange Subscription.}}Parameter.
---- 2.12
Obj string(4) W

The permissions of a Role for the specified Targets.

A string of 4 characters where each character represents a permission (“r” for Read, “w” for Write, “x” for Execute“, and “n” for Notify).

The string is always in the same order (rwxn) and the lack of a permission is signified by a “-” character (e.g., r–n).

The following describes the meaning of the permissions for Object type of Targets:

  1. Read: Grants the capability to read the meta-information of the Object via GetSupportedDM.
  2. Write: Grants no capabilities for Static Objects. Grants the capability to create a new instance of a Multi-Instanced Object via Add (e.g. Device.LocalAgent.Controller.).
  3. Execute: Grants no capabilities; Objects are not executable and Commands are controlled by the CommandEventPermissions.
  4. Notify: Grants the capability to usereceive Notify Messages of type ObjectCreation for this Object in the ReferenceList of an ObjectCreation (for multi-instance(multi-instance objects only) Subscription.}}only).
---- 2.12
InstantiatedObj string(4) W

The permissions of a Role for the specified Targets.

A string of 4 characters where each character represents a permission (“r” for Read, “w” for Write, “x” for Execute“, and “n” for Notify).

The string is always in the same order (rwxn) and the lack of a permission is signified by a “-” character (e.g., r–n).

The following describes the meaning of the permissions for Instantiated Object type of Targets:

  1. Read: Grants the capability to read the instance numbers and unique keys of the Instantiated Object via GetInstances and read the value of Parameters related to the Instantiated Object via a Get containing a search expression or wildcard in place of the instance identifier.
  2. Write: Grants the capability to remove an existing instance of an Instantiated Object via Delete (e.g. Device.LocalAgent.Controller.1.).
  3. Execute: Grants no capabilities; Object Instances are not executable and Commands are controlled by the CommandEventPermissions.
  4. Notify: Grants the capability to usereceive Notify Messages of type ObjectDeletion for this Instantiated Object in the ReferenceList of an ObjectDeletion Subscription.}}Object.
---- 2.12
CommandEvent string(4) W

The permissions of a Role for the specified Targets.

A string of 4 characters where each character represents a permission (“r” for Read, “w” for Write, “x” for Execute“, and “n” for Notify).

The string is always in the same order (rwxn) and the lack of a permission is signified by a “-” character (e.g., r–n).

The following describes the meaning of the permissions for Command and Event type of Targets:

  1. Read: Grants the capability to read the meta-information of the Command (including input and output arguments) and Event (including arguments) via GetSupportedDM.
  2. Write: Grants no capabilities; Commands are executed instead of written to and Events are read only.
  3. Execute: Grants the capability to execute the Command via Operate, but grants no capabilities to an Event.
  4. Notify: Grants the capability to usereceive Notify Messages of type OperationComplete for this Event or Command in the ReferenceList of an Event or OperationComplete Subscription.}}Command.
---- 2.12
Device.LocalAgent.ControllerTrust.Challenge.{i}. object(0:) W

Each instance of this table represents information that is used to challenge a Controller in order to assign a Role to the Controller or to determine the authenticity of a Certificate.

The Controller requests a type of challenge from an Agent using the RequestChallenge command.

The Agent returns the value of the Instruction for that type of challenge to the Controller which the Controller then provides a third-party.

The third-party responds to the Instruction which the Controller then sends to the Agent using the ChallengeResponse command.

The Agent verifies the response to the Challenges and executes an implementation specific Agent logic in order to establish trust with the Controller.

This could include (but is not limited to):

*Assignment of roles to the Controller is done by appending the non-duplicate roles of the Role parameter to the value of the Controller.{i}.AssignedRole parameter.

*Use the Controller’s certificate to which the challenge response was received in order to authenticate the identity of the Controller.

At most one entry in this table can exist with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose an initial value for Alias such that the new entry does not conflict with any existing entries.

- 2.12
Value base64 W

The value of the challenge that is specific to the type of challenge.

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

Changes in 2.16:

  • Removed base64 syntax hidden = true
  • Added base64 syntax secured = true
- 2.12
Device.LocalAgent.Subscription.{i}. object(0:) W

A Subscription dictates how a USP Agent issues USP Notification Messages to a USP Controller.Controller, executes an automated configuration action, or both, as controlled by TriggerAction.

At most one entry in this table can exist with a given value for Alias, or with the same values for both Recipient and ID. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Alias, Recipient and ID such that the new entry does not conflict with any existing entries.

Changes in 2.16:

- 2.12
TriggerAction string W

Determines the action to take when the monitored event occurs.

Enumeration of:

  • Notify (Issue a USP message to the controller configured in Recipient)
  • Config (Change the Device’s configuration as detailed in TriggerConfigSettings)
  • NotifyAndConfig (Issue a USP message to the controller configured in Recipient, and change the Device’s configuration as detailed in TriggerConfigSettings)
Notify 2.16
TriggerConfigSettings string[:16] R

Comma-separated list (up to 16 items) of strings. Each entry is a name-value pair representing the name of the data model parameter to configure and the value to configure it with.

Each entry in the comma-separated list will use the following format: =

The Parameter Value will be formatted per the value type, which means that string values will be quoted while unsignedInt values will be unquoted numeric values, etc..

When the monitored event occurs, then the TriggerConfigSettings will be executed if the TriggerAction is set to Config or NotifyAndConfig.

- 2.16
Device.LocalAgent.Request.{i}. object(0:) R

Request instances are created using USP Operate messages. Only Operate messages with async=true will create a Request instance in the data model.

New instances of Request are created with Status as Requested. Once the command of the Operate begins to be executed, then the the Status changes to Active.When the command of the Operate completes, then this Request instance is removed from this table.table, but not before the Status transitions to either Success or Error depending on whether the command of the Operate completed successfully or not.

At most one entry in this table can exist with the same values for all of Originator, Command and CommandKey, or with a given value for Alias.

- 2.12
Cancel() command -

Request cancelation of this Request’s command.

This command completes immediately. If successful, Status will immediately change to Canceling and will change to Canceled when the cancelation is complete.

Changes in 2.16:

  • Added async = false
- 2.12
Device.CollectionDevice.{i}. object(0:) R

A CollectionDevice is a device in the network that is represented in the Device data model in multiple places. An instance of CollectionDevice represents a physical device that is modeled via a set of data model objects that are distributed throughout the data model, and brings them together into a single Data Model Object. For example an entry with a WiFi.DataElements.Network.Device and a IEEE1905.AL.NetworkTopology.IEEE1905Device is the same device represented in two places.

When the entry with IsNativeDevice is true, that entry will represent the Native Device which is modeled by the Root Object Device.

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

- 2.16
Alias string(:64) W

[Alias] A non-volatile unique key used to reference this instance. Alias provides a mechanism for a Controller to label this instance for future reference.

The following mandatory constraints MUST be enforced:

  • The value MUST NOT be empty.
  • The value MUST start with a letter.
  • If the value is not assigned by the Controller at creation time, the Agent MUST assign a value with an “cpe-” prefix.

This is a non-functional key and its value MUST NOT change once it’s been assigned by the Controller or set internally by the Agent.

- 2.16
IsNativeDevice boolean R If true this CollectionDevice models the top level Device only one instance can represent the top-level device. If false this CollectionDevice represents another device in the network. - 2.16
ProxiedDeviceRef string R The value MUST be the Path Name of the ProxiedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the ProxiedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
DataElementsDeviceRef string R The value MUST be the Path Name of the WiFi.DataElements.Network.Device instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the WiFi.DataElements.Network.Device table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
IEEE1905DeviceRef string R The value MUST be the Path Name of the IEEE1905.AL.NetworkTopology.IEEE1905Device instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the IEEE1905.AL.NetworkTopology.IEEE1905Device table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
LLDPDeviceRef string R The value MUST be the Path Name of the LLDP.Discovery.Device instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the LLDP.Discovery.Device table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
UPnPDeviceRef string[] R Comma-separated list of strings. Each list item MUST be the Path Name of the UPnP.Discovery.Device instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the UPnP.Discovery.Device table. If the referenced object is deleted, the corresponding item MUST be removed from the list. - 2.16
HostDeviceRef string[] R Comma-separated list of strings. Each list item MUST be the Path Name of the Hosts.Host instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the Hosts.Host table. If the referenced object is deleted, the corresponding item MUST be removed from the list. - 2.16
GhnAssociatedDeviceRef string R The value MUST be the Path Name of the Ghn.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the Ghn.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
MoCAAssociatedDeviceRef string R The value MUST be the Path Name of the MoCA.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the MoCA.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
HomePlugAssociatedDeviceRef string R The value MUST be the Path Name of the HomePlug.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the HomePlug.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
HPNAAssociatedDeviceRef string R The value MUST be the Path Name of the HPNA.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the HPNA.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
UPAAssociatedDeviceRef string R The value MUST be the Path Name of the UPA.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the UPA.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
WiFiAssociatedDeviceRef string R The value MUST be the Path Name of the WiFi.AccessPoint.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the WiFi.AccessPoint.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
ZigBeeAssociatedDeviceRef string R The value MUST be the Path Name of the ZigBee.Interface.{i}.AssociatedDevice instance corresponding to this CollectionDevice, or an empty string if this CollectionDevice is not represented in the ZigBee.Interface.{i}.AssociatedDevice table. If the referenced object is deleted, the parameter value MUST be set to an empty string. - 2.16
Device.CWMPManagementServer. object R

Changes in 2.16:

  • Added description
- 2.15
Device.STOMP. object R The STOMP represents the STOMP capabilities of the device as described in [TR-369]. - 2.12
Device.STOMP.Connection.{i}. object(0:) W

The Connection represents a STOMP connection between the Agent and a STOMP server.

At most one entry in this table can exist with the same values for all of Host, Username and VirtualHost, or with a given value for Alias. On creation of a new table entry, the Agent MUST (if not supplied by the Controller on creation) choose initial values for Host, Username and Alias such that the new entry does not conflict with any existing entries.

- 2.12
Password string(:256) W

The password part of the credentials to be used when authenticating this Connection during connection establishment with the STOMP Server.

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

Changes in 2.16:

  • Removed string(:256) syntax hidden = true
  • Added string(:256) syntax secured = true
- 2.12
IsEncrypted boolean R
This parameter represents whether or not communications that utilize this Connection object instance are encrypted.
This parameter was DEPRECATED in 2.14 because the EnableEncryption parameter will dictate whether all connections for this STOMP instance are or are not encrypted.
This parameter was OBSOLETED in 2.16.

Changes in 2.16:

  • Changed status = deprecatedobsoleted
- 2.12
Device.GatewayInfo. object R This object contains information associated with a connected gateway. - 2.16
UnknownGatewayDiscovered! event - Gateway discovery event indicating that the device discovered a gateway that is not compliant with CWMP or USP. This event MAY be sent when the parameters are populated after a reboot or when the GatewayInfo has been updated. - 2.16
MACAddress string(:17) R [MACAddress] MAC Address of the discovered device. - 2.16
USPGatewayDiscovered! event - Gateway discovery event indicating that the device discovered a compliant USP-enabled gateway. This event MAY be sent when the parameters are populated after a reboot or when the GatewayInfo has been updated. - 2.16
EndpointID string R The unique USP identifier for this USP Agent. - 2.16
CWMPGatewayDiscovered! event - Gateway discovery event indicating that the device discovered a compliant CWMP-enabled gateway. This event MAY be sent when the parameters are populated after a reboot or when the GatewayInfo has been updated. - 2.16
ManufacturerOUI string(:6) R

Organizationally unique identifier of the associated gateway. Possible patterns:

  • <Empty> (an empty string)
  • [0-9A-F]{6}

an empty string indicates that there is no associated gateway that has been detected.

- 2.16
ProductClass string(:64) R Identifier of the product class of the associated gateway. An empty string indicates either that there is no associated gateway that has been detected, or the gateway does not support the use of the product-class parameter. - 2.16
SerialNumber string(:64) R Serial number of the associated gateway. An empty string indicates that there is no associated gateway that has been detected. - 2.16
ManagementProtocol string R

Specifies the management protocol used by the gateway.

Enumeration of:

  • <Empty> (An empty string, in the case that the ManagementProtocol is still being determined or that the DHCP is being renewed and clears the contents of GatewayInfo)
  • CWMP (Gateway was discovered through the DHCP options, and no USP related DNS-SRV details were found)
  • USP (Gateway was discovered through the USP related DNS-SRV details)
  • Unknown (Unable to determine the management protocol type)
- 2.16
EndpointID string R The unique USP identifier for this USP Agent. - 2.16
MACAddress string(:17) R [MACAddress] MAC address of the discovered device. - 2.16
ManufacturerOUI string(:6) R

Organizationally unique identifier of the associated gateway. Possible patterns:

  • <Empty> (an empty string)
  • [0-9A-F]{6}

an empty string indicates that there is no associated gateway that has been detected.

- 2.16
ProductClass string(:64) R Identifier of the product class of the associated gateway. An empty string indicates either that there is no associated gateway that has been detected, or the gateway does not support the use of the product-class parameter. - 2.16
SerialNumber string(:64) R Serial number of the associated gateway. An empty string indicates that there is no associated gateway that has been detected. - 2.16
Device.IoTCapability.{i}. object(0:) R

This list of IoT capability objects.

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

Changes in 2.16:

  • Removed mountType = mountable
- 2.13
Device.IoTCapability.{i}.BinaryControl. object(0:1) R

This capability provides a boolean function that is mapped to the type of function it represents.

E.g. If the instance represents a door lock (Type is Locked), a Value of true says the door lock is locked.

This object MUST be present if, and only if, Class is BinaryControl.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.LevelControl. object(0:1) R

LevelController is used to model a control with a range of continuous states.

These values are configurable via Value and measured in Unit and are restricted between a Min and Max values.

Intensity profile - Value of intensity and ability to update that level through StepUp() and StepDown() commands with a configurable StepValue.

This object MUST be present if, and only if, Class is LevelControl.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.EnumControl. object(0:1) R

The EnumControl reflects the Enumerated level Control functionality.

The enumeration is defined by the ValidValues parameter. This will provide a comma-separated list of values that are available for configuring via the Value parameter.

This object MUST be present if, and only if, Class is EnumControl.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.BinarySensor. object(0:1) R

BinarySensor is used to reflect the functionality of a sensor that reports a Value. The Sensitivity configures the degree of sensitivity that the sensor uses for detection.

Timed BinarySensor profile - To provide the ability to add time based control over the Value attribute. How long the Value remains true is controlled by the HoldTime. RestTime controls how soon, after being activated, the sensor will respond to continuous events.

This object MUST be present if, and only if, Class is BinarySensor.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.LevelSensor. object(0:1) R

LevelSensor is used to reflect the functionality of a sensor that reports a Value in Unit.

This object MUST be present if, and only if, Class is LevelSensor.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.MultiLevelSensor. object(0:1) R

MultiLevelSensor is used to reflect the functionality of a sensor that reports multiple Values with the same Unit.

This object MUST be present if, and only if, Class is MultiLevelSensor.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13
Device.IoTCapability.{i}.EnumSensor. object(0:1) R

EnumSensor is used to reflect the functionality of a sensor that reports explicit non-continuous values.

This object MUST be present if, and only if, Class is EnumSensor.

This object is a member of a union, i.e., it is a member of a group of objects of which only one can exist at a given time.

Changes in 2.16:

  • Changed minEntries = 10
  • Added discriminatorParameter = Class
- 2.13

Generated by Broadband Forum bbfreport v2.2.0 (2024-07-23 version) on 2024-09-04 at 09:54:52 UTC.
report.py –include ../../install/cwmp –output –transform diff –format markdown tr-181-2-15-1-usp.xml tr-181-2-16-0-usp.xml

Table of Contents