![]() DATA MODEL DEFINITION |
|
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.
The Parameters defined in this specification make use of a limited subset of the default SOAP data types [SOAP1.1]. These data types and the named data types used by this specification are described below.
Note: A Parameter that is defined to be one of the named data types is reported as such at the beginning of the Parameter's description via a reference back to the associated data type definition (e.g. [MacAddress]). However, such parameters still indicate their SOAP data type.
Data Type | Base Type | Description |
---|---|---|
base64 | - | Base64 encoded binary (no line-length limitation). A minimum and maximum allowed length can be indicated using the form base64(Min:Max), where Min and Max are the minimum and maximum length in characters before Base64 encoding. If either Min or Max are missing, this indicates no limit, and if Min is missing the colon can also be omitted, as in base64(Max). Multiple comma-separated ranges can be specified, in which case the length MUST be in one of the ranges. |
boolean | - | Boolean, where the allowed values are 0 or 1 (or equivalently, true or false). |
dateTime | - | The subset of the ISO 8601 date-time format defined by the SOAP dateTime type. |
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. |
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:
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:
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. |
[RFC862] | RFC 862, Echo Protocol, IETF, 1983. |
[RFC959] | RFC 959, File Transfer Protocol, IETF, 1985. |
[RFC2616] | RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1, IETF, 1999. |
[RFC3986] | RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, IETF. |
[SOAP1.1] | Simple Object Access Protocol (SOAP) 1.1, W3C. |
[TR-143] | TR-143 Amendment 3, Enabling Network Throughput Performance Tests and Statistical Monitoring, Broadband Forum, May 2017. |
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.3, then it will indicate support for version 1.3. The version number associated with each object and parameter is shown in the Version column.
Name | Type | Write | Description | Object Default | Version |
---|---|---|---|---|---|
InternetGatewayDevice. | object | - | The top-level object for an Internet Gateway Device. | - | 1.0 |
InternetGatewayDevice.Capabilities. | object | - | The capabilities of the device. This is a constant read-only object, meaning that only a firmware upgrade will cause these values to be altered. | - | 1.0 |
InternetGatewayDevice.Capabilities.PerformanceDiagnostic. | object | - | The capabilities of the Performance Diagnostics (DownloadDiagnostics and UploadDiagnostics) for the device. | - | 1.0 |
DownloadTransports | string[] | - | Comma-separated list of strings. Supported DownloadDiagnostics transport protocols for a CPE device. Each list item is an enumeration of:
|
- | 1.0 |
UploadTransports | string[] | - | Comma-separated list of strings. Supported UploadDiagnostics transport protocols for a CPE device. Each list item is an enumeration of:
|
- | 1.0 |
InternetGatewayDevice.DownloadDiagnostics. | object | - | This object 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. |
- | 1.0 |
DiagnosticsState | string | W | Indicate the availability of diagnostic data. Enumeration of:
If the ACS sets the value of this parameter to Requested, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is Requested. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the DiagnosticsState to Requested. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic. When the test is completed, the value of this parameter MUST be either Completed (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than Completed, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), 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. |
- | 1.0 |
Interface | string(256) | W | The value MUST be the Path Name of the IP-layer interface over which the test is to be performed. The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value. If an empty string is specified, the CPE MUST use the default routing interface. |
- | 1.0 |
DownloadURL | string(256) | W | The URL, as defined in [RFC3986], for the CPE to perform the download on. This parameter MUST be in the form of a valid HTTP [RFC2616] or FTP [RFC959] URL.
|
- | 1.0 |
DSCP | unsignedInt(0:63) | W | The DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero. |
- | 1.0 |
EthernetPriority | unsignedInt(0:7) | W | Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero. |
- | 1.0 |
ROMTime | dateTime | - | Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
BOMTime | dateTime | - | Begin of transmission time in UTC, which MUST be specified to microsecond precision For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
EOMTime | dateTime | - | End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
TestBytesReceived | unsignedInt | - | The test traffic received in bytes during the FTP/HTTP transaction including FTP/HTTP headers, between BOMTime and EOMTime, | - | 1.0 |
TotalBytesReceived | unsignedInt | - | The total number of bytes received on the Interface between BOMTime and EOMTime. | - | 1.0 |
TCPOpenRequestTime | dateTime | - | Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
Note: Interval of 1 microsecond SHOULD be supported. |
- | 1.0 |
TCPOpenResponseTime | dateTime | - | Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
Note: Interval of 1 microsecond SHOULD be supported. |
- | 1.0 |
InternetGatewayDevice.UploadDiagnostics. | object | - | This object 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. |
- | 1.0 |
DiagnosticsState | string | W | Indicate the availability of diagnostic data. Enumeration of:
If the ACS sets the value of this parameter to Requested, the CPE MUST initiate the corresponding diagnostic test. When writing, the only allowed value is Requested. To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the DiagnosticsState to Requested. When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the diagnostic. When the test is completed, the value of this parameter MUST be either Completed (if the test completed successfully), or one of the Error values listed above. If the value of this parameter is anything other than Completed, the values of the results parameters for this test are indeterminate. When the diagnostic initiated by the ACS is completed (successfully or not), 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. |
- | 1.0 |
Interface | string(256) | W | The value MUST be the Path Name of the IP-layer interface over which the test is to be performed. The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value. If an empty string is specified, the CPE MUST use the default routing interface. |
- | 1.0 |
UploadURL | string(256) | W | The URL, as defined in [RFC3986], for the CPE to Upload to. This parameter MUST be in the form of a valid HTTP [RFC2616] or FTP [RFC959] URL.
|
- | 1.0 |
DSCP | unsignedInt(0:63) | W | DiffServ code point for marking packets transmitted in the test. The default value SHOULD be zero. |
- | 1.0 |
EthernetPriority | unsignedInt(0:7) | W | Ethernet priority code for marking packets transmitted in the test (if applicable). The default value SHOULD be zero. |
- | 1.0 |
TestFileLength | unsignedInt | W | The size of the file (in bytes) to be uploaded to the server. The CPE MUST insure the appropriate number of bytes are sent. |
- | 1.0 |
ROMTime | dateTime | - | Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
BOMTime | dateTime | - | Begin of transmission time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
EOMTime | dateTime | - | End of transmission in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
|
- | 1.0 |
TotalBytesSent | unsignedInt | - | The total number of bytes sent on the Interface between BOMTime and EOMTime. | - | 1.0 |
TCPOpenRequestTime | dateTime | - | Request time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
Note: Interval of 1 microsecond SHOULD be supported. |
- | 1.0 |
TCPOpenResponseTime | dateTime | - | Response time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456
Note: Interval of 1 microsecond SHOULD be supported. |
- | 1.0 |
InternetGatewayDevice.UDPEchoConfig. | object | - | This object allows the CPE to be configured to perform the UDP Echo Service defined in [RFC862] and UDP Echo Plus Service defined in [Appendix A.1/TR-143]. | - | 1.0 |
Enable | boolean | W | MUST be enabled to receive UDP echo. When enabled from a disabled state all related timestamps, statistics and UDP Echo Plus counters are cleared. | - | 1.0 |
Interface | string(256) | W | The value MUST be the Path Name of IP-layer interface over which the CPE MUST listen and receive UDP echo requests on. The value of this parameter MUST be either a valid interface or an empty string. An attempt to set this parameter to a different value MUST be rejected as an invalid parameter value. If an empty string is specified, the CPE MUST listen and receive UDP echo requests on all interfaces. Note: Interfaces behind a NAT MAY require port forwarding rules configured in the Gateway to enable receiving the UDP packets. |
- | 1.0 |
SourceIPAddress | string(45) | W | [IPAddress] The Source IP address of the UDP echo packet. The CPE MUST only respond to a UDP echo from this source IP address. | - | 1.0 |
UDPPort | unsignedInt | W | The UDP port on which the UDP server MUST listen and respond to UDP echo requests. | - | 1.0 |
EchoPlusEnabled | boolean | W | If true the CPE will perform necessary packet processing for UDP Echo Plus packets. | - | 1.0 |
EchoPlusSupported | boolean | - | true if UDP Echo Plus is supported. | - | 1.0 |
PacketsReceived | unsignedInt | - | Incremented upon each valid UDP echo packet received. | - | 1.0 |
PacketsResponded | unsignedInt | - | Incremented for each UDP echo response sent. | - | 1.0 |
BytesReceived | unsignedInt | - | The number of UDP received bytes including payload and UDP header after the UDPEchoConfig is enabled. | - | 1.0 |
BytesResponded | unsignedInt | - | The number of UDP responded bytes, including payload and UDP header sent after the UDPEchoConfig is enabled. | - | 1.0 |
TimeFirstPacketReceived | dateTime | - | Time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456, The time that the server receives the first UDP echo packet after the UDPEchoConfig is enabled. |
- | 1.0 |
TimeLastPacketReceived | dateTime | - | Time in UTC, which MUST be specified to microsecond precision. For example: 2008-04-09T15:01:05.123456 The time that the server receives the most recent UDP echo packet. |
- | 1.0 |
Parameter |
---|
Parameter |
---|
Parameter |
---|
Abbreviation | Description |
---|---|
R | Read support is REQUIRED. |
W | Both Read and Write support is REQUIRED. This MUST NOT be specified for a parameter that is defined as read-only. |
P | The object is REQUIRED to be present. |
C | Creation and deletion of instances of the object is REQUIRED. |
A | Creation of instances of the object is REQUIRED, but deletion is not REQUIRED. |
D | Deletion of instances of the object is REQUIRED, but creation is not REQUIRED. |
Name | Requirement |
---|---|
InternetGatewayDevice.DownloadDiagnostics. | P |
TCPOpenRequestTime | R |
TCPOpenResponseTime | R |
Name | Requirement |
---|---|
InternetGatewayDevice.Capabilities.PerformanceDiagnostic. | P |
UploadTransports | R |
InternetGatewayDevice.UploadDiagnostics. | P |
DiagnosticsState | W |
Interface | W |
UploadURL | W |
DSCP | W |
EthernetPriority | W |
ROMTime | R |
BOMTime | R |
EOMTime | R |
TestFileLength | R |
TotalBytesSent | R |
Name | Requirement |
---|---|
InternetGatewayDevice.UploadDiagnostics. | P |
TCPOpenRequestTime | R |
TCPOpenResponseTime | R |
Name | Requirement |
---|---|
InternetGatewayDevice.UDPEchoConfig. | P |
Enable | W |
Interface | W |
SourceIPAddress | W |
UDPPort | W |
PacketsReceived | R |
PacketsResponded | R |
BytesReceived | R |
BytesResponded | R |
TimeFirstPacketReceived | R |
TimeLastPacketReceived | R |
EchoPlusSupported | R |
Name | Requirement |
---|---|
InternetGatewayDevice.UDPEchoConfig. | P |
EchoPlusEnabled | W |