Broadband Forum

TR-069 Data Model Data Types

tr-106-types.xml

DATA MODEL DEFINITION

License

Copyright (c) 2008-2023, Broadband Forum

The undersigned members have elected to grant the copyright to their contributed material used in this software:
    Copyright (c) 2017-2018 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].
decimal - Decimal TBD.
hexBinary -

Hex encoded binary.

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

int -

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

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

long -

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

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

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 handle used to reference this instance. Alias provides a mechanism for an ACS to label this instance for future reference.

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

  • Its value MUST NOT be empty.
  • Its value MUST start with a letter.
  • If its value is not assigned by the ACS, it MUST start with a “cpe-” prefix.
  • The CPE MUST NOT change the parameter value.
Dbm1000 int The value is measured in dBm/1000, i.e. the value divided by 1000 is dB relative to 1 mW. For example, -12345 means -12.345 dBm, 0 means 0 dBm (1 mW) and 12345 means 12.345 dBm.
DiagnosticsState string

Indicates the availability of diagnostics data. Enumeration of:

Enumeration of:

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

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

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

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

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

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

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

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

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

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

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

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])*
IPv6Address IPAddress(:45)

IPv6 address.

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

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])*
Order unsignedInt(1:)

Position of the object entry in the order of precedence. A value of 1 indicates the first entry to be considered (highest precedence).

When a object instance is created, or when an existing parameter value is modified, if the value matches that of an existing entry, the parameter values for the existing entry and all lower parameter entries are incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes parameter values to be compacted. When a value is changed, incrementing occurs before compaction.

If no parameter value is supplied on creation of a object instance, it MUST be assigned a value that is one more than the largest current value (lowest precedence).

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.

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).
URN URI(:2048)

Uniform Resource Name. See [RFC3986] (URI) and [RFC8141] (urn URI scheme). Possible patterns:

  • [*urn:[A-Za-z0-9]A-Za-z0-9-]{0,30}[A-Za-z0-9]:.+*
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

[IANA-uri-schemes] IANA Uniform Resource Identifier (URI) Schemes Registry, Uniform Resource Identifier (URI) Schemes, IANA.
[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.
[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.
[RFC4291] RFC 4291, IP Version 6 Addressing Architecture, IETF, 2006.
[RFC4632] RFC 4632, Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan, IETF, 2006.
[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.
[RFC8141] RFC 8141, Uniform Resource Names (URNs), IETF, April 2017.
[SOAP1.1] Simple Object Access Protocol (SOAP) 1.1, W3C.
[TR-069] TR-069 Amendment 6, CPE WAN Management Protocol, Broadband Forum, April 2018.
[ZigBee2007] ZigBee 2007 Specification, ZigBee 2007 Specification, ZigBee Alliance, October 2007.

Generated by Broadband Forum bbfreport v2.1.0 (2024-01-18 version) on 2024-01-18 at 10:18:13 UTC.
report.py –output <stdout> –all –format markdown tr-106-types.xml

Table of Contents