<?xml version="1.0" encoding="UTF-8"?>
<!--
  TR-069 Device:1.2 and InternetGatewayDevice:1.3 Root Object definition

  Copyright (c) 2008-2017, Broadband Forum
  
  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:
  
  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
  
  2. Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials
     provided with the distribution.
  
  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products
     derived from this software without specific prior written
     permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  The above license is used as a license under copyright only.
  Please reference the Forum IPR Policy for patent licensing terms
  <https://www.broadband-forum.org/ipr-policy>.
  
  Any moral rights which are necessary to exercise under the above
  license grant are also deemed granted under this license.
  
  Summary:
  TR-069 Device:1.2 and InternetGatewayDevice:1.3 Root Object Definition.
  Contains definition of Device:1.2 Root Object and Common Objects.
  Contains definition of Device:2 specific components (but not the Device:2 model, which is in TR-181i2).

  Version History:
  November 2008: tr-143-1-0.xml, corresponds to TR-143 section 5 (Parameter Definitions),
                 section 6 (Notification Requirements) and section 7 (Profile
                 Definitions).
  March 2009:    tr-143-1-0-1.xml, changed to use new global bibliography, plus a few
                 editorial changes.
  May 2010:      tr-143-1-0-2.xml, corresponds to TR-143 Issue 1 Corrigenda 2.
                 Added two Device:2 specific components (DownloadDiagnostics_Device2 
                 and UploadDiagnostics_Device2). Also brought in the tr-143 related changes (all editorial) 
                 that had been implemented in the tr-106-1-2-0.xml file (otherwise these changes would not 
                 have been visible to Device:2).
-->
<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-14"
    xmlns:dmr="urn:broadband-forum-org:cwmp:datamodel-report-0-1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-14
        http://www.broadband-forum.org/cwmp/cwmp-datamodel-1-14.xsd
      urn:broadband-forum-org:cwmp:datamodel-report-0-1
        cwmp-datamodel-report.xsd"
    spec="urn:broadband-forum-org:tr-143-1-0-2">

  <dataType name="IPAddress">
    <description>
      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 {{bibref|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 {{bibref|RFC4007|Section 6}}.

      Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
      represented as empty strings unless otherwise specified by the parameter
      definition.
    </description>
    <string>
      <size maxLength="45"/>
    </string>
  </dataType>

  <dataType name="MACAddress">
    <description>
      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.
    </description>
    <string>
      <size maxLength="17"/>
      <pattern value=""/>
      <pattern value="([0-9A-Fa-f][0-9A-Fa-f]:){5}([0-9A-Fa-f][0-9A-Fa-f])"/>
    </string>
  </dataType>

  <bibliography>
    <reference id="3GPP-TS.23.003">
      <name>3GPP TS 23.003</name>
      <title>Numbering, addressing and identification</title>
      <organization>3GPP CT WG4</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/23003.htm</hyperlink>
    </reference>
    <reference id="OUI">
      <name>Organizationally Unique Identifiers (OUIs)</name>
      <hyperlink>https://standards.ieee.org/faqs/regauth</hyperlink>
    </reference>
    <reference id="IEEE_EUI64">
      <name>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </name>
      <title>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </title>
      <organization>IEEE</organization>
      <date>March 1997</date>
      <hyperlink>
        https://standards.ieee.org/regauth/oui/tutorials/EUI64.html
      </hyperlink>
    </reference>
    <reference id="IANA-uri-schemes">
      <name>IANA Uniform Resource Identifier (URI) Schemes Registry</name>
      <title>Uniform Resource Identifier (URI) Schemes</title>
      <organization>IANA</organization>
      <hyperlink>https://www.iana.org/assignments/uri-schemes</hyperlink>
    </reference>
    <reference id="RFC862">
      <name>RFC 862</name>
      <title>Echo Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>1983</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc862</hyperlink>
    </reference>
    <reference id="RFC959">
      <name>RFC 959</name>
      <title>File Transfer Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>1985</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc959</hyperlink>
    </reference>
    <reference id="RFC2616">
      <name>RFC 2616</name>
      <title>Hypertext Transfer Protocol - HTTP/1.1</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>1999</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2616</hyperlink>
    </reference>
    <reference id="RFC3066">
      <name>RFC 3066</name>
      <title>Tags for the Identification of Languages</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3066</hyperlink>
    </reference>
    <reference id="RFC3489">
      <name>RFC 3489</name>
      <title>
        STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network
        Address Translators (NATs)
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3489</hyperlink>
    </reference>
    <reference id="RFC3986">
      <name>RFC 3986</name>
      <title>Uniform Resource Identifier (URI): Generic Syntax</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3986</hyperlink>
    </reference>
    <reference id="RFC4007">
      <name>RFC 4007</name>
      <title>IPv6 Scoped Address Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4007</hyperlink>
    </reference>
    <reference id="RFC4122">
      <name>RFC 4122</name>
      <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4122</hyperlink>
    </reference>
    <reference id="RFC4291">
      <name>RFC 4291</name>
      <title>IP Version 6 Addressing Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4291</hyperlink>
    </reference>
    <reference id="RFC4632">
      <name>RFC 4632</name>
      <title>
        Classless Inter-domain Routing (CIDR): The Internet Address Assignment
        and Aggregation Plan
      </title>
      <organization>IETF</organization>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4632</hyperlink>
    </reference>
    <reference id="RFC7159">
      <name>RFC7159</name>
      <title>
        The JavaScript Object Notation (JSON) Data Interchange Format
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>March 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7159</hyperlink>
    </reference>
    <reference id="RFC7230">
      <name>RFC 7230</name>
      <title>
        Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7230</hyperlink>
    </reference>
    <reference id="RFC7252">
      <name>RFC 7252</name>
      <title>The Constrained Application Protocol (CoAP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7252</hyperlink>
    </reference>
    <reference id="RFC8089">
      <name>RFC 8089</name>
      <title>The "file" URI Scheme</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>February 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8089</hyperlink>
    </reference>
    <reference id="RFC8141">
      <name>RFC 8141</name>
      <title>Uniform Resource Names (URNs)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8141</hyperlink>
    </reference>
    <reference id="TR-069a1">
      <name>TR-069 Amendment 1</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2006</date>
    </reference>
    <reference id="TR-069">
      <name>TR-069 Amendment 6</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>April 2018</date>
    </reference>
    <reference id="TR-098a1">
      <name>TR-098 Amendment 1</name>
      <title>Internet Gateway Device Data Model for TR-069</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2006</date>
    </reference>
    <reference id="TR-106a1">
      <name>TR-106 Amendment 1</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2006</date>
    </reference>
    <reference id="TR-106">
      <name>TR-106 Amendment 8</name>
      <title>Data Model Template for CWMP Endpoints and USP Agents</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>May 2018</date>
    </reference>
    <reference id="TR-143">
      <name>TR-143 Amendment 1 Corrigendum 1</name>
      <title>
        Enabling Network Throughput Performance Tests and Statistical
        Monitoring
      </title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>August 2015</date>
    </reference>
    <reference id="BLUE">
      <name>Blue</name>
      <title>A New Class of Active Queue Management Algorithms</title>
      <hyperlink>
        https://en.wikipedia.org/wiki/Blue_(queue_management_algorithm)
      </hyperlink>
    </reference>
    <reference id="HTML4.01">
      <name>HTML 4.01 Specification</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/html4</hyperlink>
    </reference>
    <reference id="RED">
      <name>References on RED (Random Early Detection) Queue Management</name>
      <hyperlink>http://www.icir.org/floyd/red.html</hyperlink>
    </reference>
    <reference id="SOAP1.1">
      <name>Simple Object Access Protocol (SOAP) 1.1</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/2000/NOTE-SOAP-20000508</hyperlink>
    </reference>
    <reference id="ZigBee2007">
      <name>ZigBee 2007 Specification</name>
      <title>ZigBee 2007 Specification</title>
      <organization>ZigBee Alliance</organization>
      <date>October 2007</date>
      <hyperlink>https://csa-iot.org/all-solutions/zigbee</hyperlink>
    </reference>
  </bibliography>

  <model name="Device:1.2">

    <object name="Device." access="readOnly" minEntries="1" maxEntries="1">
      <description>
        The top-level object for a Device.
      </description>

      <parameter name="DeviceSummary" access="readOnly" forcedInform="true">
        <description>
          See {{bibref|TR-106|section 3.7}}.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.Services." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains general services information.
      </description>
    </object>

    <object name="Device.DeviceInfo." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains general device information.
      </description>

      <parameter name="Manufacturer" access="readOnly">
        <description>
          The manufacturer of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the device manufacturer.
          Represented as a six hexadecimal-digit value using all upper-case
          letters and including any leading zeros. The value MUST be a valid
          OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelName" access="readOnly" activeNotify="canDeny">
        <description>
          Model name of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly" activeNotify="canDeny">
        <description>
          A full description of the CPE device (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the class of product for which the serial number
          applies. That is, for a given manufacturer, this parameter is used to
          identify the product or class of product over which the
          {{param|SerialNumber}} parameter is unique.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Serial number of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HardwareVersion" access="readOnly" forcedInform="true">
        <description>
          A string identifying the particular CPE model and version.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SoftwareVersion" access="readOnly" forcedInform="true">
        <description>
          A string identifying the software version currently installed in the
          CPE. 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''.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EnabledOptions" access="readOnly">
        <description>
          Comma-separated list of the OptionName of each Option that is
          currently enabled in the CPE. The OptionName of each is identical to
          the OptionName element of the OptionStruct described in
          {{bibref|TR-069a1}}. Only those options are listed whose State
          indicates the option is enabled.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalHardwareVersion" access="readOnly">
        <description>
          A comma separated list of any additional versions. Represents any
          additional hardware version information the vendor might wish to
          supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalSoftwareVersion" access="readOnly">
        <description>
          A comma separated list of any additional versions. Represents any
          additional software version information the vendor might wish to
          supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ProvisioningCode" access="readWrite">
        <description>
          Identifier of the primary service provider and other provisioning
          information, which MAY be used by the ACS to determine service
          provider-specific customization and provisioning parameters.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceStatus" access="readOnly">
        <description>
          Current operational status of the device.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Initializing"/>
            <enumeration value="Error"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpTime" access="readOnly" activeNotify="canDeny">
        <description>
          Time in seconds since the CPE was last restarted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FirstUseDate" access="readOnly" activeNotify="canDeny">
        <description>
          Date and time in UTC that the CPE first both successfully established
          an IP-layer network connection and acquired an absolute time
          reference using NTP or equivalent over that network connection. The
          CPE MAY reset this date after a factory reset.

          If NTP or equivalent is not available, this parameter, if present,
          SHOULD be set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DeviceLog" access="readOnly" activeNotify="canDeny">
        <description>
          Vendor-specific log(s).
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.ManagementServer." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains parameters relating to the CPE's association with
        an ACS.
      </description>

      <parameter name="URL" access="readWrite">
        <description>
          URL, as defined in {{bibref|RFC3986}}, for the CPE to connect to the
          ACS using the CPE WAN Management Protocol. This parameter MUST be in
          the form of a valid HTTP or HTTPS URL. The ''host'' portion of this
          URL is used by the CPE for validating the ACS certificate when using
          SSL or TLS. Note that on a factory reset of the CPE, the value of
          this parameter might be reset to its factory value. If an ACS
          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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username used to authenticate the CPE when making a connection to the
          ACS using the CPE WAN Management Protocol. This username is used only
          for HTTP-based authentication of the CPE.

          Note that on a factory reset of the CPE, the value of this parameter
          might be reset to its factory value. If an ACS 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password used to authenticate the CPE when making a connection to the
          ACS using the CPE WAN Management Protocol. This password is used only
          for HTTP-based authentication of the CPE. When read, this parameter
          returns {{empty}}, regardless of the actual value.

          Note that on a factory reset of the CPE, the value of this parameter
          might be reset to its factory value. If an ACS 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.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformEnable" access="readWrite">
        <description>
          Whether or not the CPE MUST periodically send CPE information to the
          ACS using the Inform method call.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformInterval" access="readWrite">
        <description>
          The duration in seconds of the interval for which the CPE MUST
          attempt to connect with the ACS and call the Inform method if
          {{param|PeriodicInformEnable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the CPE will
          initiate the periodic Inform method calls. Each Inform call MUST
          occur at this reference time plus or minus an integer multiple of the
          {{param|PeriodicInformInterval}}. {{param}} is used only to set the
          ''phase'' of the periodic Informs. The actual value of {{param}} can
          be arbitrarily far into the past or future. For example, if
          {{param|PeriodicInformInterval}} is 86400 (a day) and if {{param}} is
          set to UTC midnight on some day (in the past, present, or future)
          then periodic Informs will occur every day at UTC midnight. These
          MUST begin on the very next midnight, even if {{param}} refers to a
          day in the future. The Unknown Time value defined in
          {{bibref|TR-106a1|section 3.2}} 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
          {{param|PeriodicInformInterval}}. If absolute time is not available
          to the CPE, its periodic Inform behavior MUST be the same as if the
          {{param}} parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ParameterKey" access="readOnly" activeNotify="canDeny"
          forcedInform="true">
        <description>
          {{param}} provides the ACS a reliable and extensible means to track
          changes made by the ACS. The value of {{param}} MUST be equal to the
          value of the ParameterKey argument from the most recent successful
          SetParameterValues, AddObject, or DeleteObject method call from the
          ACS. The CPE MUST set {{param}} to the value specified in the
          corresponding method arguments if and only if the method completes
          successfully and no fault response is generated. If a method call
          does not complete successfully (implying that the changes requested
          in the method did not take effect), the value of {{param}} MUST NOT
          be modified. The CPE MUST only modify the value of {{param}} as a
          result of SetParameterValues, AddObject, DeleteObject, or due to a
          factory reset. On factory reset, the value of {{param}} MUST be set
          to {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestURL" access="readOnly"
          forcedInform="true">
        <description>
          HTTP URL, as defined in {{bibref|RFC3986}}, for an ACS to make a
          Connection Request notification to the CPE. In the form:

          : http://host:port/path The ''host'' portion of the URL MAY be the IP
            address for the management interface of the CPE in lieu of a host
            name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestUsername" access="readWrite">
        <description>
          Username used to authenticate an ACS making a Connection Request to
          the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestPassword" access="readWrite">
        <description>
          Password used to authenticate an ACS making a Connection Request to
          the CPE. When read, this parameter returns {{empty}}, regardless of
          the actual value.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpgradesManaged" access="readWrite">
        <description>
          Indicates whether or not the ACS will manage upgrades for the CPE. If
          {{true}}, the CPE SHOULD NOT use other means other than the ACS to
          seek out available upgrades. If {{false}}, the CPE MAY use other
          means for this purpose. Note that an autonomous upgrade (reported via
          an "10 AUTONOMOUS TRANSFER COMPLETE" Inform Event code) SHOULD be
          regarded as a managed upgrade if it is performed according to
          ACS-specified policy.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="KickURL" access="readOnly">
        <description>
          Present only for a CPE that supports the Kicked RPC method.
          LAN-accessible URL, as defined in {{bibref|RFC3986}}, from which the
          CPE can be ''kicked'' to initiate the Kicked RPC method call. MUST be
          an absolute URL including a host name or IP address as would be used
          on the LAN side of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadProgressURL" access="readOnly">
        <description>
          Present only for a CPE that provides a LAN-side web page to show
          progress during a file download. LAN-accessible URL, as defined in
          {{bibref|RFC3986}}, to which a web-server associated with the ACS MAY
          redirect a user's browser on initiation of a file download to
          observer the status of the download.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddress" access="readOnly">
        <description>
          Address and port to which an ACS MAY send a UDP Connection Request to
          the CPE (see {{bibref|TR-069a1|Annex G}}). This parameter is
          represented in the form of an Authority element as defined in
          {{bibref|RFC3986}}. The value MUST be in one of the following two
          forms:

          : host:port

          : host

          * When {{param|STUNEnable}} is {{true}}, the ''host'' and ''port''
            portions of this parameter MUST represent the public address and
            port corresponding to the NAT binding through which the ACS can
            send UDP Connection Request messages (once this information is
            learned by the CPE through the use of STUN).

          * When {{param|STUNEnable}} is {{false}}, the ''host'' and ''port''
            portions of the URL MUST represent the local IP address and port on
            which the CPE is listening for UDP Connection Request messages. The
            second form of this parameter MAY be used only if the port value is
            equal to ''80''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddressNotificationLimit"
          access="readWrite">
        <description>
          The minimum time, in seconds, between Active Notifications resulting
          from changes to the {{param|UDPConnectionRequestAddress}} (if Active
          Notification is enabled).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="STUNEnable" access="readWrite">
        <description>
          Enables or disables the use of STUN by the CPE. This applies only to
          the use of STUN in association with the ACS to allow UDP Connection
          Requests.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="STUNServerAddress" access="readWrite">
        <description>
          Host name or IP address of the STUN server for the CPE to send
          Binding Requests if STUN is enabled via {{param|STUNEnable}}. If is
          {{empty}} and {{param|STUNEnable}} is {{true}}, the CPE MUST use the
          address of the ACS extracted from the host portion of the ACS URL.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNServerPort" access="readWrite">
        <description>
          Port number of the STUN server for the CPE to send Binding Requests
          if STUN is enabled via {{param|STUNEnable}}. By default, this SHOULD
          be the equal to the default STUN port, 3478.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STUNUsername" access="readWrite">
        <description>
          If is not {{empty}}, the value of the STUN USERNAME attribute to be
          used in Binding Requests (only if message integrity has been
          requested by the STUN server). If is {{empty}}, the CPE MUST NOT send
          STUN Binding Requests with message integrity.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNPassword" access="readWrite">
        <description>
          The value of the STUN Password to be used in computing the
          MESSAGE-INTEGRITY attribute to be used in Binding Requests (only if
          message integrity has been requested by the STUN server). When read,
          this parameter returns {{empty}}, regardless of the actual value.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNMaximumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the maximum period, in seconds, that STUN Binding
          Requests MUST be sent by the CPE for the purpose of maintaining the
          binding in the Gateway. This applies specifically to Binding Requests
          sent from the UDP Connection Request address and port. A value of -1
          indicates that no maximum period is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="STUNMinimumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the minimum period, in seconds, that STUN Binding
          Requests can be sent by the CPE for the purpose of maintaining the
          binding in the Gateway. This limit applies only to Binding Requests
          sent from the UDP Connection Request address and port, and only those
          that do not contain the BINDING-CHANGE attribute. This limit does not
          apply to retransmissions following the procedures defined in
          {{bibref|RFC3489}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NATDetected" access="readOnly">
        <description>
          When STUN is enabled, this parameter indicates whether or not the CPE
          has detected address and/or port mapping in use. A {{true}} value
          indicates that the received MAPPED-ADDRESS in the most recent Binding
          Response differs from the CPE's source address and port. When
          {{param|STUNEnable}} is {{false}}, this value MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.GatewayInfo." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains information associated with a connected Internet
        Gateway Device.
      </description>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the associated Internet Gateway
          Device. {{empty}} indicates that there is no associated Internet
          Gateway Device that has been detected.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the product class of the associated Internet Gateway
          Device. {{empty}} indicates either that there is no associated
          Internet Gateway Device that has been detected, or the Internet
          Gateway Device does not support the use of the product-class
          parameter.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Serial number of the associated Internet Gateway Device. {{empty}}
          indicates that there is no associated Internet Gateway Device that
          has been detected.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.Config." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains general configuration parameters.
      </description>

      <parameter name="PersistentData" access="readWrite">
        <description>
          Arbitrary user data that MUST persist across CPE reboots.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigFile" access="readWrite">
        <description>
          A dump of the currently running configuration on the CPE. This
          parameter enables the ability to backup and restore the last known
          good state of the CPE. It returns a vendor-specific document that
          defines the state of the CPE. The document MUST be capable of
          restoring the CPE's state when written back to the CPE using
          SetParameterValues.
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.Time." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains parameters relating an NTP or SNTP time client in
        the CPE.
      </description>

      <parameter name="NTPServer1" access="readWrite">
        <description>
          First NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer2" access="readWrite">
        <description>
          Second NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer3" access="readWrite">
        <description>
          Third NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer4" access="readWrite">
        <description>
          Fourth NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer5" access="readWrite">
        <description>
          Fifth NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentLocalTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current date and time in the CPE's local time zone.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LocalTimeZone" access="readWrite">
        <description>
          The local time zone definition, encoded according to IEEE 1003.1
          (POSIX). The following is an example value:

          : EST+5 EDT,M4.1.0/2,M10.5.0/2
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.UserInterface." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains parameters relating to the user interface of the
        CPE.
      </description>

      <parameter name="PasswordRequired" access="readWrite">
        <description>
          Present only if the CPE provides a password-protected LAN-side user
          interface. Indicates whether or not the local user interface MUST
          require a password to be chosen by the user. If {{false}}, the choice
          of whether or not a password is used is left to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PasswordUserSelectable" access="readWrite">
        <description>
          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, or MUST be equal to the password
          used by the LAN-side Auto-Configuration protocol.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UpgradeAvailable" access="readWrite">
        <description>
          Indicates that a CPE upgrade is available, allowing the CPE to
          display this information to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WarrantyDate" access="readWrite">
        <description>
          Indicates the date and time in UTC that the warranty associated with
          the CPE is to expire.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ISPName" access="readWrite">
        <description>
          The name of the customer's ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpDesk" access="readWrite">
        <description>
          The help desk phone number of the ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHomePage" access="readWrite">
        <description>
          The URL of the ISP's home page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpPage" access="readWrite">
        <description>
          The URL of the ISP's on-line support page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPLogo" access="readWrite">
        <description>
          Base64 encoded GIF or JPEG image. The binary image is constrained to
          4095 bytes or less.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="4095"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="ISPLogoSize" access="readWrite">
        <description>
          Un-encoded binary image size in bytes. If ISPLogoSize input value is
          0 then the ISPLogo is cleared. ISPLogoSize can also be used as a
          check to verify correct transfer and conversion of Base64 string to
          image size.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4095"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ISPMailServer" access="readWrite">
        <description>
          The URL of the ISP's mail server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPNewsServer" access="readWrite">
        <description>
          The URL of the ISP's news server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TextColor" access="readWrite">
        <description>
          The color of text on the GUI screens in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackgroundColor" access="readWrite">
        <description>
          The color of the GUI screen backgrounds in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonColor" access="readWrite">
        <description>
          The color of buttons on the GUI screens in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonTextColor" access="readWrite">
        <description>
          The color of text on buttons on the GUI screens in RGB hexidecimal
          notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AutoUpdateServer" access="readWrite">
        <description>
          The server the CPE can check to see if an update is available for
          direct download to it. This MUST NOT be used by the CPE if the
          {{param|ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UserUpdateServer" access="readWrite">
        <description>
          The server where a user can check via a web browser if an update is
          available for download to a PC. This MUST NOT be used by the CPE if
          the {{param|ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AvailableLanguages" access="readOnly">
        <description>
          Comma-separated list of user-interface languages that are available,
          where each language is specified according to RFC 3066
          {{bibref|RFC3066}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="CurrentLanguage" access="readWrite">
        <description>
          Current user-interface language, specified according to RFC 3066
          {{bibref|RFC3066}}.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN." access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to IP-based LAN connectivity
        of a device. This object relates only to IP-layer LAN capabilities.
        Lower-layer aspects of LAN connectivity are not considered part of the
        common data model defined in this specification. For a device that
        contains multiple IP interfaces, the scope of this object is limited to
        the default IP interface. Data that might be associated with other
        interfaces is not considered part of the common data model defined in
        this specification.
      </description>

      <parameter name="AddressingType" access="readWrite">
        <description>
          The method used to assign an address to this interface. {{enum}} The
          ability to modify this parameter is OPTIONAL.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IPAddress" access="readWrite" forcedInform="true">
        <description>
          The current IP address assigned to this interface. The ability to
          modify this parameter is OPTIONAL, and this parameter cannot be
          modified if the {{param|AddressingType}} is
          {{enum|DHCP|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          The current subnet mask. The ability to modify this parameter is
          OPTIONAL, and this parameter cannot be modified if the
          {{param|AddressingType}} is {{enum|DHCP|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DefaultGateway" access="readWrite">
        <description>
          The IP address of the current default gateway for this interface. The
          ability to modify this parameter is OPTIONAL, and this parameter
          cannot be modified if the {{param|AddressingType}} is
          {{enum|DHCP|AddressingType}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          Comma-separated list of IP address of the DNS servers for this
          interface. The ability to modify this parameter is OPTIONAL, and this
          parameter cannot be modified if the {{param|AddressingType}} is
          {{enum|DHCP|AddressingType}}. If this parameter is modifiable, the
          device MAY ignore any DNS servers beyond the first two in the list.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readWrite">
        <description>
          The physical address of this interface. Writable only if
          {{param|MACAddressOverride}} is present and equal to {{true}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressOverride" access="readWrite">
        <description>
          Whether the value of {{param|MACAddress}} parameter can be
          overridden.

          * When {{true}}, {{param|MACAddress}} is writable.

          * When {{false}}, {{param|MACAddress}} is not writable, and the
            default MAC address assigned by the device SHOULD be restored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DHCPOptionNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the DHCP option table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN.DHCPOption.{i}." access="readWrite"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPOptionNumberOfEntries">
      <description>
        This object is for configuration of DHCP options. Each instance of this
        object represents a DHCP option to be included by the DHCP client in
        client requests. The DHCP client MAY include any other options not
        specified in this table.
      </description>

      <parameter name="Request" access="readWrite">
        <description>
          Whether this entry represents a request to the DHCP server, or a
          value to be sent by the DHCP client.

          * When {{true}}, this entry represents a request. In this case, the
            DHCP client MUST include the specified {{param|Tag}} in the
            Parameter Request List, as defined in RFC 2132. The {{param|Value}}
            parameter is ignored in this case.

          * When {{false}}, this entry represents a value to be sent by the
            DHCP client. In this case, the DHCP client MUST include a DHCP
            option formed from the {{param|Tag}} and {{param|Value}} parameters
            (with the Length derived from the length of the {{param|Value}}
            parameter).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Tag" access="readWrite">
        <description>
          Tag of the DHCP option as defined in RFC 2132.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="254"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Value" access="readWrite">
        <description>
          Base64 encoded octet string to be used as the Value of the DHCP
          option if {{param|Request}} is {{false}}.
        </description>
        <syntax>
          <base64/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN.Stats." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object contains statistics for the default IP interface.
      </description>

      <parameter name="ConnectionUpTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          The time in seconds that this IP interface has been connected.

          * If the IP interface is using DHCP, this is the time that the DHCP
            client has been only in the Bound or Renewing states and the
            lower-layer interface has continuously maintained a link.

          * If the IP interface is using static addressing, this is the time
            that the lower-layer interface has continuously maintained a link.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes sent over this interface since the
          device was last restarted as specified in
          {{param|.DeviceInfo.UpTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes received over this interface since
          the device was last restarted as specified in
          {{param|.DeviceInfo.UpTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets sent over this interface since the device
          was last restarted as specified in {{param|.DeviceInfo.UpTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets received over this interface since the
          device was last restarted as specified in
          {{param|.DeviceInfo.UpTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayInterval" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for
          collection of CurrentDay statistics. The device MAY align the
          beginning of each CurrentDay interval with days in the UTC time zone,
          but is not required to do so.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes sent over this interface since the
          beginning of the current-day interval as specified by
          {{param|CurrentDayInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes received over this interface since
          the beginning of the current-day interval as specified by
          {{param|CurrentDayInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets sent over this interface since the
          beginning of the current-day interval as specified by
          {{param|CurrentDayInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets received over this interface since the
          beginning of the current-day interval as specified by
          {{param|CurrentDayInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourInterval" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for
          collection of QuarterHour statistics. The device MAY align the
          beginning of each QuarterHour interval with real-time quarter-hour
          intervals, but is not required to do so.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes sent over this interface since the
          beginning of the quarter-hour interval as specified by
          {{param|QuarterHourInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP payload bytes received over this interface since
          the beginning of the quarter-hour interval as specified by
          {{param|QuarterHourInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets sent over this interface since the
          beginning of the quarter-hour interval as specified by
          {{param|QuarterHourInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of IP packets received over this interface since the
          beginning of the quarter-hour interval as specified by
          {{param|QuarterHourInterval}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN.IPPingDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object defines access to an IP-layer ping test for the default IP
        interface.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data. {{enum}} If the ACS sets
          the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Complete}} (if the test completed successfully), or one
          of the ''Error'' values listed above. If the value of this parameter
          is anything other than {{enum|Complete}}, 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 {{enum|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 {{enum|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 {{enum|None}}. While the test is in
          progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete"/>
            <enumeration value="Error_CannotResolveHostName"/>
            <enumeration value="Error_Internal"/>
            <enumeration value="Error_Other"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readWrite">
        <description>
          Host name or address of the host to ping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          Number of repetitions of the ping test to perform before reporting
          the results.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the ping test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DataBlockSize" access="readWrite">
        <description>
          Size of the data block in bytes to be sent for each ping.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ codepoint to be used for the test packets. By default the
          CPE SHOULD set this value to zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of successful pings (those in
          which a successful response was received prior to the timeout) in the
          most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FailureCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of failed pings in the most
          recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AverageResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the average response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the minimum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the maximum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN.TraceRouteDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object is defines access to an IP-layer trace-route test for the
        default IP interface.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data. {{enum}} If the ACS sets
          the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Complete}} (if the test completed successfully), or one
          of the ''Error'' values listed above. If the value of this parameter
          is anything other than {{enum|Complete}}, 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 {{enum|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 {{enum|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 {{enum|None}}. While the test is in
          progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete"/>
            <enumeration value="Error_CannotResolveHostName"/>
            <enumeration value="Error_MaxHopCountExceeded"/>
            <enumeration value="Error_Internal"/>
            <enumeration value="Error_Other"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readWrite">
        <description>
          Host name or address of the host to find a route to.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the trace route test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DataBlockSize" access="readWrite">
        <description>
          Size of the data block in bytes to be sent for each trace route.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxHopCount" access="readWrite">
        <description>
          The maximum number of hop used in outgoing probe packets (max TTL).
          The default is 30 hops.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="64"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ codepoint to be used for the test packets. By default the
          CPE SHOULD set this value to zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ResponseTime" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the response time in milliseconds the
          most recent trace route test. If a route could not be determined,
          this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfRouteHops" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the number of hops within the discovered
          route. If a route could not be determined, this value MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.LAN.TraceRouteDiagnostics.RouteHops.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="NumberOfRouteHops">
      <description>
        Result parameter indicating the components of the discovered route. If
        a route could not be determined, there will be no instances of this
        object.
      </description>

      <parameter name="HopHost" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the Host Name or IP Address of a hop
          along the discovered route.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.Capabilities." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        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.
      </description>
    </object>

    <object name="Device.Capabilities.PerformanceDiagnostic."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        The capabilities of the Performance Diagnostics
        (''DownloadDiagnostics'' and ''UploadDiagnostics'') for the device.
      </description>

      <parameter name="DownloadTransports" access="readOnly">
        <description>
          Supported ''DownloadDiagnostics'' transport protocols for a CPE
          device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP"/>
            <enumeration value="FTP" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UploadTransports" access="readOnly">
        <description>
          Supported ''UploadDiagnostics'' transport protocols for a CPE device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP"/>
            <enumeration value="FTP" optional="true"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.DownloadDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        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.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicate the availability of diagnostic data. {{enum}} If the ACS
          sets the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Completed}} (if the test completed successfully), or
          one of the ''Error'' values listed above. If the value of this
          parameter is anything other than {{enum|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 {{enum|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 {{enum|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 {{enum|None}}. While the
          test is in progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Completed" access="readOnly"/>
            <enumeration value="Error_InitConnectionFailed" access="readOnly"/>
            <enumeration value="Error_NoResponse" access="readOnly"/>
            <enumeration value="Error_TransferFailed" access="readOnly"/>
            <enumeration value="Error_PasswordRequestFailed" access="readOnly"/>
            <enumeration value="Error_LoginFailed" access="readOnly"/>
            <enumeration value="Error_NoTransferMode" access="readOnly"/>
            <enumeration value="Error_NoPASV" access="readOnly"/>
            <enumeration value="Error_IncorrectSize" access="readOnly"/>
            <enumeration value="Error_Timeout" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|the IP-layer interface over which the test is to be
          performed}} The value of this parameter MUST be either a valid
          interface or {{empty}}. An attempt to set this parameter to a
          different value MUST be rejected as an invalid parameter value. If
          {{empty}} is specified, the CPE MUST use the default routing
          interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadURL" access="readWrite">
        <description>
          The URL, as defined in {{bibref|RFC3986}}, for the CPE to perform the
          download on. This parameter MUST be in the form of a valid HTTP
          {{bibref|RFC2616}} or FTP {{bibref|RFC959}} URL.

          * When using FTP transport, FTP binary transfer MUST be used.

          * When using HTTP transport, persistent connections MUST be used and
            pipelining MUST NOT be used.

          * When using HTTP transport the HTTP Authentication MUST NOT be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          The DiffServ code point for marking packets transmitted in the test.
          The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EthernetPriority" access="readWrite">
        <description>
          Ethernet priority code for marking packets transmitted in the test
          (if applicable). The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ROMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the client sends the GET
            command.

          * For FTP this is the time at which the client sends the RTRV
            command.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="BOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Begin of transmission time in UTC, which MUST be specified to
          microsecond precision For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the first data packet is
            received.

          * For FTP this is the time at which the client receives the first
            data packet on the data connection.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="EOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          End of transmission in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the last data packet is
            received.

          * For FTP this is the time at which the client receives the last
            packet on the data connection.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TestBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The test traffic received in bytes during the FTP/HTTP transaction
          including FTP/HTTP headers, between {{param|BOMTime}} and
          {{param|EOMTime}},
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes received on the Interface between
          {{param|BOMTime}} and {{param|EOMTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenRequestTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP socket open (SYN) was
            sent for the HTTP connection.

          * For FTP this is the time at which the TCP socket open (SYN) was
            sent for the data connection. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Response time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP ACK to the socket
            opening the HTTP connection was received.

          * For FTP this is the time at which the TCP ACK to the socket opening
            the data connection was received. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.UploadDiagnostics." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        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.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicate the availability of diagnostic data. {{enum}} If the ACS
          sets the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Completed}} (if the test completed successfully), or
          one of the ''Error'' values listed above. If the value of this
          parameter is anything other than {{enum|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 {{enum|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 {{enum|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 {{enum|None}}. While the
          test is in progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Completed" access="readOnly"/>
            <enumeration value="Error_InitConnectionFailed" access="readOnly"/>
            <enumeration value="Error_NoResponse" access="readOnly"/>
            <enumeration value="Error_PasswordRequestFailed" access="readOnly"/>
            <enumeration value="Error_LoginFailed" access="readOnly"/>
            <enumeration value="Error_NoTransferMode" access="readOnly"/>
            <enumeration value="Error_NoPASV" access="readOnly"/>
            <enumeration value="Error_NoCWD" access="readOnly"/>
            <enumeration value="Error_NoSTOR" access="readOnly"/>
            <enumeration value="Error_NoTransferComplete" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|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
          {{empty}} is specified, the CPE MUST use the default routing
          interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UploadURL" access="readWrite">
        <description>
          The URL, as defined in {{bibref|RFC3986}}, for the CPE to Upload to.
          This parameter MUST be in the form of a valid HTTP {{bibref|RFC2616}}
          or FTP {{bibref|RFC959}} URL.

          * When using FTP transport, FTP binary transfer MUST be used.

          * When using HTTP transport, persistent connections MUST be used and
            pipelining MUST NOT be used.

          * When using HTTP transport the HTTP Authentication MUST NOT be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ code point for marking packets transmitted in the test. The
          default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EthernetPriority" access="readWrite">
        <description>
          Ethernet priority code for marking packets transmitted in the test
          (if applicable). The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TestFileLength" access="readWrite">
        <description>
          The size of the file (in bytes) to be uploaded to the server. The CPE
          MUST insure the appropriate number of bytes are sent.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ROMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the client sends the PUT command

          * For FTP this is the time at which the STOR command is sent.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="BOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Begin of transmission time in UTC, which MUST be specified to
          microsecond precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the first data packet is sent.

          * For FTP this is the time at which the client receives the ready for
            transfer notification.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="EOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          End of transmission in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time when the HTTP successful response code is
            received.

          * For FTP this is the time when the client receives a transfer
            complete.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes sent on the Interface between
          {{param|BOMTime}} and {{param|EOMTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenRequestTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP socket open (SYN) was
            sent for the HTTP connection.

          * For FTP this is the time at which the TCP socket open (SYN) was
            sent for the data connection Note: Interval of 1 microsecond SHOULD
            be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Response time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the Time at which the TCP ACK to the socket
            opening the HTTP connection was received.

          * For FTP this is the Time at which the TCP ACK to the socket opening
            the Data connection was received. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.UDPEchoConfig." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object allows the CPE to be configured to perform the UDP Echo
        Service defined in {{bibref|RFC862}} and UDP Echo Plus Service defined
        in {{bibref|TR-143|Appendix A.1}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          MUST be enabled to receive UDP echo. When enabled from a disabled
          state all related timestamps, statistics and UDP Echo Plus counters
          are cleared.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|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 {{empty}}. An attempt to set this
          parameter to a different value MUST be rejected as an invalid
          parameter value. If {{empty}} 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SourceIPAddress" access="readWrite">
        <description>
          The Source IP address of the UDP echo packet. The CPE MUST only
          respond to a UDP echo from this source IP address.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="UDPPort" access="readWrite">
        <description>
          The UDP port on which the UDP server MUST listen and respond to UDP
          echo requests.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EchoPlusEnabled" access="readWrite">
        <description>
          If {{true}} the CPE will perform necessary packet processing for UDP
          Echo Plus packets.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="EchoPlusSupported" access="readOnly">
        <description>
          {{true}} if UDP Echo Plus is supported.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Incremented upon each valid UDP echo packet received.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsResponded" access="readOnly"
          activeNotify="canDeny">
        <description>
          Incremented for each UDP echo response sent.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The number of UDP received bytes including payload and UDP header
          after the UDPEchoConfig is enabled.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesResponded" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of UDP responded bytes, including payload and UDP header
          sent after the UDPEchoConfig is enabled.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TimeFirstPacketReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          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.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TimeLastPacketReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          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.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <profile name="Baseline:1">
      <object ref="Device." requirement="present">
        <parameter ref="DeviceSummary" requirement="readOnly"/>
      </object>
      <object ref="Device.DeviceInfo." requirement="present">
        <parameter ref="Manufacturer" requirement="readOnly"/>
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="ModelName" requirement="readOnly"/>
        <parameter ref="Description" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="HardwareVersion" requirement="readOnly"/>
        <parameter ref="SoftwareVersion" requirement="readOnly"/>
        <parameter ref="DeviceStatus" requirement="readOnly"/>
        <parameter ref="UpTime" requirement="readOnly"/>
      </object>
      <object ref="Device.ManagementServer." requirement="present">
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicInformEnable" requirement="readWrite"/>
        <parameter ref="PeriodicInformInterval" requirement="readWrite"/>
        <parameter ref="PeriodicInformTime" requirement="readWrite"/>
        <parameter ref="ParameterKey" requirement="readOnly"/>
        <parameter ref="ConnectionRequestURL" requirement="readOnly"/>
        <parameter ref="ConnectionRequestUsername" requirement="readWrite"/>
        <parameter ref="ConnectionRequestPassword" requirement="readWrite"/>
        <parameter ref="UpgradesManaged" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="GatewayInfo:1">
      <object ref="Device.GatewayInfo." requirement="present">
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Time:1">
      <object ref="Device.Time." requirement="present">
        <parameter ref="NTPServer1" requirement="readWrite"/>
        <parameter ref="NTPServer2" requirement="readWrite"/>
        <parameter ref="CurrentLocalTime" requirement="readOnly"/>
        <parameter ref="LocalTimeZone" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="LAN:1">
      <object ref="Device.LAN." requirement="present">
        <parameter ref="AddressingType" requirement="readOnly"/>
        <parameter ref="IPAddress" requirement="readOnly"/>
        <parameter ref="SubnetMask" requirement="readOnly"/>
        <parameter ref="DefaultGateway" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
      </object>
      <object ref="Device.LAN.Stats." requirement="present">
        <parameter ref="ConnectionUpTime" requirement="readOnly"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalPacketsSent" requirement="readOnly"/>
        <parameter ref="TotalPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="IPPing:1">
      <object ref="Device.LAN.IPPingDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="FailureCount" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
        <parameter ref="MinimumResponseTime" requirement="readOnly"/>
        <parameter ref="MaximumResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="TraceRoute:1">
      <object ref="Device.LAN.TraceRouteDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="MaxHopCount" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="ResponseTime" requirement="readOnly"/>
        <parameter ref="NumberOfRouteHops" requirement="readOnly"/>
      </object>
      <object ref="Device.LAN.TraceRouteDiagnostics.RouteHops.{i}."
          requirement="present">
        <parameter ref="HopHost" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPConnReq:1">
      <object ref="Device.ManagementServer." requirement="notSpecified">
        <parameter ref="UDPConnectionRequestAddress" requirement="readOnly"/>
        <parameter ref="UDPConnectionRequestAddressNotificationLimit"
            requirement="readWrite"/>
        <parameter ref="STUNEnable" requirement="readWrite"/>
        <parameter ref="STUNServerAddress" requirement="readWrite"/>
        <parameter ref="STUNServerPort" requirement="readWrite"/>
        <parameter ref="STUNUsername" requirement="readWrite"/>
        <parameter ref="STUNPassword" requirement="readWrite"/>
        <parameter ref="STUNMaximumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="STUNMinimumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="NATDetected" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Download:1">
      <object ref="Device.Capabilities.PerformanceDiagnostic."
          requirement="present">
        <parameter ref="DownloadTransports" requirement="readOnly"/>
      </object>
      <object ref="Device.DownloadDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="DownloadURL" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="EthernetPriority" requirement="readWrite"/>
        <parameter ref="ROMTime" requirement="readOnly"/>
        <parameter ref="BOMTime" requirement="readOnly"/>
        <parameter ref="EOMTime" requirement="readOnly"/>
        <parameter ref="TestBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DownloadTCP:1">
      <object ref="Device.DownloadDiagnostics." requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Upload:1">
      <object ref="Device.Capabilities.PerformanceDiagnostic."
          requirement="present">
        <parameter ref="UploadTransports" requirement="readOnly"/>
      </object>
      <object ref="Device.UploadDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="UploadURL" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="EthernetPriority" requirement="readWrite"/>
        <parameter ref="ROMTime" requirement="readOnly"/>
        <parameter ref="BOMTime" requirement="readOnly"/>
        <parameter ref="EOMTime" requirement="readOnly"/>
        <parameter ref="TestFileLength" requirement="readOnly"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UploadTCP:1">
      <object ref="Device.UploadDiagnostics." requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPEcho:1">
      <object ref="Device.UDPEchoConfig." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="SourceIPAddress" requirement="readWrite"/>
        <parameter ref="UDPPort" requirement="readWrite"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsResponded" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="BytesResponded" requirement="readOnly"/>
        <parameter ref="TimeFirstPacketReceived" requirement="readOnly"/>
        <parameter ref="TimeLastPacketReceived" requirement="readOnly"/>
        <parameter ref="EchoPlusSupported" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPEchoPlus:1">
      <object ref="Device.UDPEchoConfig." requirement="present">
        <parameter ref="EchoPlusEnabled" requirement="readWrite"/>
      </object>
    </profile>
  </model>

  <model name="InternetGatewayDevice:1.3">

    <object name="InternetGatewayDevice." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        The top-level object for an Internet Gateway Device.
      </description>

      <parameter name="DeviceSummary" access="readOnly" forcedInform="true"
          dmr:previousParameter="">
        <description>
          As defined in {{bibref|TR-106}}.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LANDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANDevice}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WANDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANDevice}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Services." access="readOnly"
        minEntries="1" maxEntries="1" dmr:previousObject="">
      <description>
        This object contains general services information.
      </description>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains general device information.
      </description>

      <parameter name="Manufacturer" access="readOnly">
        <description>
          The manufacturer of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the device manufacturer.
          Represented as a six hexadecimal-digit value using all upper-case
          letters and including any leading zeros. The value MUST be a valid
          OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelName" access="readOnly">
        <description>
          Model name of the CPE (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          A full description of the CPE device (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the class of product for which the serial number
          applies. That is, for a given manufacturer, this parameter is used to
          identify the product or class of product over which the
          {{param|SerialNumber}} parameter is unique.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Serial number of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HardwareVersion" access="readOnly" forcedInform="true">
        <description>
          A string identifying the particular CPE model and version.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SoftwareVersion" access="readOnly"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          A string identifying the software version currently installed in the
          CPE. 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''.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModemFirmwareVersion" access="readOnly">
        <description>
          A string identifying the version of the modem firmware currently
          installed in the CPE. This is applicable only when the modem firmware
          is separable from the overall CPE software.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EnabledOptions" access="readOnly">
        <description>
          The OptionName of each Option that is currently enabled in the CPE.
          The OptionName of each is identical to the OptionName element of the
          OptionStruct described in {{bibref|TR-069a1}}. Only those options are
          listed whose State indicates the option is enabled.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalHardwareVersion" access="readOnly">
        <description>
          Any additional hardware version information the vendor might wish to
          supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AdditionalSoftwareVersion" access="readOnly">
        <description>
          Any additional software version information the vendor might wish to
          supply.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SpecVersion" access="readOnly" status="deprecated"
          forcedInform="true">
        <description>
          Represents the version of the specification implemented by the
          device. Currently 1.0 is the only available version. The value of
          this parameter MUST equal "1.0". This parameter is DEPRECATED because
          its value is fixed and it therefore serves no purpose. However, it is
          a Forced Inform parameter and therefore cannot be OBSOLETED.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
          <default type="object" value="1.0"/>
        </syntax>
      </parameter>

      <parameter name="ProvisioningCode" access="readWrite"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          Identifier of the primary service provider and other provisioning
          information, which MAY be used by the ACS to determine service
          provider-specific customization and provisioning parameters. If not
          {{empty}}, this argument SHOULD be in the form of a hierarchical
          descriptor with one or more nodes specified. Each node in the
          hierarchy is represented as a 4-character sub-string, containing only
          numerals or upper-case letters. If there is more than one node
          indicated, each node is separated by a "." (dot). Examples: "TLCO" or
          "TLCO.GRP2".
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpTime" access="readOnly">
        <description>
          Time in seconds since the CPE was last restarted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FirstUseDate" access="readOnly">
        <description>
          Date and time in UTC that the CPE first both successfully established
          an IP-layer network connection and acquired an absolute time
          reference using NTP or equivalent over that network connection. The
          CPE MAY reset this date after a factory reset.

          If NTP or equivalent is not available, this parameter, if present,
          SHOULD be set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DeviceLog" access="readOnly">
        <description>
          Vendor-specific log(s).
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorConfigFileNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|VendorConfigFile}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.VendorConfigFile.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VendorConfigFileNumberOfEntries">
      <description>
        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 ACS to operate on these files in any way. Whenever
        the CPE successfully downloads a configuration file as a result of the
        Download RPC with the FileType argument of ''3 Vendor Configuration
        File'', the CPE MUST update this table. If the name of the file
        (determined as described in the definition of the {{param|Name}}
        parameter) differs from that of any existing instance, then the CPE
        MUST create a new instance to represent this file. If instead, the name
        of the file is identical to that of an existing instance, then the CPE
        MUST update the content of the existing instance with the new version,
        date, and (optionally) description of the file.{{nokeys}}
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>

      <parameter name="Name" access="readOnly">
        <description>
          Name of the vendor configuration file.

          If the CPE is able to obtain the name of the configuration file from
          the file itself, then the value of this parameter MUST be set to that
          name. Otherwise, if the CPE can extract the file name from the URL
          used to download the configuration file, then the value of this
          parameter MUST be set to that name. Otherwise, the value of this
          parameter MUST be set to the value of the TargetFileName argument of
          the Download RPC used to download this configuration file.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          A string identifying the configuration file version currently used in
          the CPE.

          If the CPE is able to obtain the version of the configuration file
          from the file itself, then the value of this parameter MUST be set to
          the obtained value. Otherwise, the value of this parameter MUST be
          {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Date" access="readOnly">
        <description>
          Date and time when the content of the current version of this vendor
          configuration file was first applied by the CPE.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          A description of the vendor configuration file (human-readable
          string).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceConfig." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains general configuration parameters.
      </description>

      <parameter name="PersistentData" access="readWrite">
        <description>
          Arbitrary user data that MUST persist across CPE reboots.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigFile" access="readWrite">
        <description>
          A dump of the currently running configuration on the CPE. This
          parameter enables the ability to backup and restore the last known
          good state of the CPE. It returns a vendor-specific document that
          defines the state of the CPE. The document MUST be capable of
          restoring the CPE's state when written back to the CPE using
          SetParameterValues.
        </description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to the CPE's association with
        an ACS.
      </description>

      <parameter name="URL" access="readWrite">
        <description>
          URL, as defined in {{bibref|RFC3986}}, for the CPE to connect to the
          ACS using the CPE WAN Management Protocol. This parameter MUST be in
          the form of a valid HTTP or HTTPS URL {{bibref|RFC2616}}. The
          ''host'' portion of this URL is used by the CPE for validating the
          ACS certificate when using SSL or TLS. Note that on a factory reset
          of the CPE, the value of this parameter might be reset to its factory
          value. If an ACS 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username used to authenticate the CPE when making a connection to the
          ACS using the CPE WAN Management Protocol. This username is used only
          for HTTP-based authentication of the CPE.

          Note that on a factory reset of the CPE, the value of this parameter
          might be reset to its factory value. If an ACS 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password used to authenticate the CPE when making a connection to the
          ACS using the CPE WAN Management Protocol. This password is used only
          for HTTP-based authentication of the CPE.

          Note that on a factory reset of the CPE, the value of this parameter
          might be reset to its factory value. If an ACS 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.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformEnable" access="readWrite">
        <description>
          Whether or not the CPE MUST periodically send CPE information to the
          ACS using the Inform method call.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformInterval" access="readWrite">
        <description>
          The duration in seconds of the interval for which the CPE MUST
          attempt to connect with the ACS and call the Inform method if
          {{param|PeriodicInformEnable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicInformTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the CPE will
          initiate the periodic Inform method calls. Each Inform call MUST
          occur at this reference time plus or minus an integer multiple of the
          {{param|PeriodicInformInterval}}. {{param}} is used only to set the
          "phase" of the periodic Informs. The actual value of {{param}} can be
          arbitrarily far into the past or future. For example, if
          {{param|PeriodicInformInterval}} is 86400 (a day) and if {{param}} is
          set to UTC midnight on some day (in the past, present, or future)
          then periodic Informs will occur every day at UTC midnight. These
          MUST begin on the very next midnight, even if {{param}} refers to a
          day in the future. The Unknown Time value defined in
          {{bibref|TR-098a1|section 2.2}} 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
          {{param|PeriodicInformInterval}}. If absolute time is not available
          to the CPE, its periodic Inform behavior MUST be the same as if the
          {{param}} parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ParameterKey" access="readOnly" activeNotify="canDeny"
          forcedInform="true">
        <description>
          {{param}} provides the ACS a reliable and extensible means to track
          changes made by the ACS. The value of {{param}} MUST be equal to the
          value of the ParameterKey argument from the most recent successful
          SetParameterValues, AddObject, or DeleteObject method call from the
          ACS. The CPE MUST set {{param}} to the value specified in the
          corresponding method arguments if and only if the method completes
          successfully and no fault response is generated. If a method call
          does not complete successfully (implying that the changes requested
          in the method did not take effect), the value of {{param}} MUST NOT
          be modified. The CPE MUST only modify the value of {{param}} as a
          result of SetParameterValues, AddObject, DeleteObject, or due to a
          factory reset. On factory reset, the value of {{param}} MUST be set
          to {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestURL" access="readOnly"
          activeNotify="forceEnabled" forcedInform="true">
        <description>
          HTTP URL, as defined in {{bibref|RFC3986}}, for an ACS to make a
          Connection Request notification to the CPE. In the form:
          http://host:port/path The ''host'' portion of the URL MAY be the IP
          address for the management interface of the CPE in lieu of a host
          name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestUsername" access="readWrite">
        <description>
          Username used to authenticate an ACS making a Connection Request to
          the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionRequestPassword" access="readWrite">
        <description>
          Password used to authenticate an ACS making a Connection Request to
          the CPE.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UpgradesManaged" access="readWrite">
        <description>
          Indicates whether or not the ACS will manage upgrades for the CPE. If
          {{true}}, the CPE SHOULD NOT use other means other than the ACS to
          seek out available upgrades. If {{false}}, the CPE MAY use other
          means for this purpose.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="KickURL" access="readOnly">
        <description>
          Present only for a CPE that supports the Kicked RPC method.
          LAN-accessible URL, as defined in {{bibref|RFC3986}}, from which the
          CPE can be "kicked" to initiate the Kicked RPC method call. MUST be
          an absolute URL including a host name or IP address as would be used
          on the LAN side of the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadProgressURL" access="readOnly">
        <description>
          Present only for a CPE that provides a LAN-side web page to show
          progress during a file download. LAN-accessible URL, as defined in
          {{bibref|RFC3986}}, to which a web-server associated with the ACS MAY
          redirect a user's browser on initiation of a file download to
          observer the status of the download.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddress" access="readOnly">
        <description>
          Address and port to which an ACS MAY send a UDP Connection Request to
          the CPE (see {{bibref|TR-069a1|Annex G}}). This parameter is
          represented in the form of an Authority element as defined in
          {{bibref|RFC3986}}. The value MUST be in one of the following two
          forms:

          : host:port

          : host When {{param|STUNEnable}} is {{true}}, the ''host'' and
            ''port'' portions of this parameter MUST represent the public
            address and port corresponding to the NAT binding through which the
            ACS can send UDP Connection Request messages (once this information
            is learned by the CPE through the use of STUN). When
            {{param|STUNEnable}} is {{false}}, the ''host'' and ''port''
            portions of the URL MUST represent the local IP address and port on
            which the CPE is listening for UDP Connection Request messages. The
            second form of this parameter MAY be used only if the port value is
            equal to "80".
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPConnectionRequestAddressNotificationLimit"
          access="readWrite">
        <description>
          The minimum time, in seconds, between Active Notifications resulting
          from changes to the {{param|UDPConnectionRequestAddress}} (if Active
          Notification is enabled).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="STUNEnable" access="readWrite">
        <description>
          Enables or disables the use of STUN by the CPE. This applies only to
          the use of STUN in association with the ACS to allow UDP Connection
          Requests.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="STUNServerAddress" access="readWrite">
        <description>
          Host name or IP address of the STUN server for the CPE to send
          Binding Requests if STUN is enabled via {{param|STUNEnable}}. If
          {{empty}} and {{param|STUNEnable}} is {{true}}, the CPE MUST use the
          address of the ACS extracted from the host portion of the ACS URL.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNServerPort" access="readWrite">
        <description>
          Port number of the STUN server for the CPE to send Binding Requests
          if STUN is enabled via {{param|STUNEnable}}. By default, this SHOULD
          be the equal to the default STUN port, 3478.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STUNUsername" access="readWrite">
        <description>
          If not {{empty}}, the value of the STUN USERNAME attribute to be used
          in Binding Requests (only if message integrity has been requested by
          the STUN server). If {{empty}}, the CPE MUST NOT send STUN Binding
          Requests with message integrity.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNPassword" access="readWrite">
        <description>
          The value of the STUN Password to be used in computing the
          MESSAGE-INTEGRITY attribute to be used in Binding Requests (only if
          message integrity has been requested by the STUN server).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="STUNMaximumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the maximum period, in seconds, that STUN Binding
          Requests MUST be sent by the CPE for the purpose of maintaining the
          binding in the Gateway. This applies specifically to Binding Requests
          sent from the UDP Connection Request address and port. A value of -1
          indicates that no maximum period is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="STUNMinimumKeepAlivePeriod" access="readWrite">
        <description>
          If STUN Is enabled, the minimum period, in seconds, that STUN Binding
          Requests can be sent by the CPE for the purpose of maintaining the
          binding in the Gateway. This limit applies only to Binding Requests
          sent from the UDP Connection Request address and port, and only those
          that do not contain the BINDING-CHANGE attribute. This limit does not
          apply to retransmissions following the procedures defined in
          {{bibref|RFC3489}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NATDetected" access="readOnly">
        <description>
          When STUN is enabled, this parameter indicates whether or not the CPE
          has detected address and/or port mapping in use. A {{true}} value
          indicates that the received MAPPED-ADDRESS in the most recent Binding
          Response differs from the CPE's source address and port. When
          STUNEnable is {{false}}, this value MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ManageableDeviceNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|ManageableDevice}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ManageableDeviceNotificationLimit" access="readWrite">
        <description>
          The minimum time, in seconds, between Active Notifications resulting
          from changes to the {{param|ManageableDeviceNumberOfEntries}} (if
          Active Notification is enabled).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.ManagementServer.ManageableDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ManageableDeviceNumberOfEntries">
      <description>
        Each entry in this table corresponds to a distinct LAN Device that
        supports Device-Gateway Association according to
        {{bibref|TR-069a1|Annex F}} as indicated by the presence of the DHCP
        option specified in that Annex.
      </description>
      <uniqueKey>
        <parameter ref="ManufacturerOUI"/>
        <parameter ref="SerialNumber"/>
        <parameter ref="ProductClass"/>
      </uniqueKey>

      <parameter name="ManufacturerOUI" access="readOnly"
          activeNotify="canDeny">
        <description>
          Organizationally unique identifier of the Device manufacturer as
          provided to the Gateway by the Device. Represented as a six
          hexadecimal-digit value using all upper-case letters and including
          any leading zeros. The value MUST be a valid OUI as defined in
          {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly" activeNotify="canDeny">
        <description>
          Serial number of the Device as provided to the Gateway by the Device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly" activeNotify="canDeny">
        <description>
          Identifier of the class of product for which the Device's serial
          number applies as provided to the Gateway by the Device. If the
          Device does not provide a Product Class, then this parameter MUST be
          {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Time." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating an NTP or SNTP time client in
        the CPE.
      </description>

      <parameter name="NTPServer1" access="readWrite">
        <description>
          First NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer2" access="readWrite">
        <description>
          Second NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer3" access="readWrite">
        <description>
          Third NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer4" access="readWrite">
        <description>
          Fourth NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NTPServer5" access="readWrite">
        <description>
          Fifth NTP timeserver. Either a host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentLocalTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current date and time in the CPE's local time zone.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LocalTimeZone" access="readWrite">
        <description>
          The local time offset from UTC in the form:

          : +hh:mm

          : -hh:mm
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LocalTimeZoneName" access="readWrite">
        <description>
          Name of the local time zone (human readable string).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsUsed" access="readWrite">
        <description>
          Whether or not daylight savings time is in use in the CPE's local
          time zone.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsStart" access="readWrite">
        <description>
          Date and time daylight savings time begins if used in local standard
          time. If daylight savings time is not used, this value is ignored.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsEnd" access="readWrite">
        <description>
          Date and time daylight savings time ends if used in local daylight
          time. If daylight savings time is not used, this value is ignored.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UserInterface." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to the user interface of the
        CPE.
      </description>

      <parameter name="PasswordRequired" access="readWrite">
        <description>
          Present only if the CPE provides a password-protected LAN-side user
          interface. Indicates whether or not the local user interface MUST
          require a password to be chosen by the user. If {{false}}, the choice
          of whether or not a password is used is left to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PasswordUserSelectable" access="readWrite">
        <description>
          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, or MUST be equal to the password
          used by the LAN-side Auto-Configuration protocol.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UpgradeAvailable" access="readWrite">
        <description>
          Indicates that a CPE upgrade is available, allowing the CPE to
          display this information to the user.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WarrantyDate" access="readWrite">
        <description>
          Indicates the date and time in UTC that the warranty associated with
          the CPE is to expire.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ISPName" access="readWrite">
        <description>
          The name of the customer's ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpDesk" access="readWrite">
        <description>
          The help desk phone number of the ISP.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHomePage" access="readWrite">
        <description>
          The URL of the ISP's home page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPHelpPage" access="readWrite">
        <description>
          The URL of the ISP's on-line support page.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPLogo" access="readWrite">
        <description>
          Base64 encoded GIF or JPEG image. The binary image is constrained to
          4095 bytes or less.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="4095"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="ISPLogoSize" access="readWrite">
        <description>
          Un-encoded binary image size in bytes. If ISPLogoSize input value is
          0 then the ISPLogo is cleared. ISPLogoSize can also be used as a
          check to verify correct transfer and conversion of Base64 string to
          image size.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4095"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ISPMailServer" access="readWrite">
        <description>
          The URL of the ISP's mail server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPNewsServer" access="readWrite">
        <description>
          The URL of the ISP's news server.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TextColor" access="readWrite">
        <description>
          The color of text on the GUI screens in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackgroundColor" access="readWrite">
        <description>
          The color of the GUI screen backgrounds in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonColor" access="readWrite">
        <description>
          The color of buttons on the GUI screens in RGB hexidecimal notation
          (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ButtonTextColor" access="readWrite">
        <description>
          The color of text on buttons on the GUI screens in RGB hexidecimal
          notation (e.g., FF0088).
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AutoUpdateServer" access="readWrite">
        <description>
          The server the CPE can check to see if an update is available for
          direct download to it. This MUST NOT be used by the CPE if the
          {{param|InternetGatewayDevice.ManagementServer.UpgradesManaged}}
          parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UserUpdateServer" access="readWrite">
        <description>
          The server where a user can check via a web browser if an update is
          available for download to a PC. This MUST NOT be used by the CPE if
          the {{param|InternetGatewayDevice.ManagementServer.UpgradesManaged}}
          parameter is {{true}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExampleLogin" access="readWrite">
        <description>
          An example of a correct login, according to ISP-specific rules.
        </description>
        <syntax>
          <string>
            <size maxLength="40"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExamplePassword" access="readWrite">
        <description>
          An example of a correct password, according to ISP-specific rules.
        </description>
        <syntax>
          <string>
            <size maxLength="30"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer3Forwarding." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object allows the handling of the routing and forwarding
        configuration of the device.
      </description>

      <parameter name="DefaultConnectionService" access="readWrite">
        <description>
          Specifies the default WAN interface. The content is the full
          hierarchical parameter name of the default layer-3 connection object.
          Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ForwardNumberOfEntries" access="readOnly">
        <description>
          Number of forwarding instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ForwardNumberOfEntries" enableParameter="Enable">
      <description>
        Layer-3 forwarding table. In addition to statically configured routes,
        this table MUST include dynamic routes learned through layer-3 routing
        protocols, including RIP, OSPF, DHCP, 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 table entries with a matching {{param|ForwardingPolicy}} are
          considered, i.e. those that either do not specify a
          {{param|ForwardingPolicy}}, or else specify a
          {{param|ForwardingPolicy}} that matches that of the incoming packet.

        * For the remaining table entries, those for which the source
          address/mask matches are sorted by longest prefix, i.e. with the most
          specific networks first (an unspecified source address is a wild-card
          and always matches, with a prefix length of zero).

        * For the remaining table entries, those for which the destination
          address/mask matches are sorted by longest prefix, i.e. with the most
          specific networks first (an unspecified destination address is a
          wild-card and always matches, with a prefix length of zero).

        * The first of the remaining table entries is applied to the packet.
      </description>
      <uniqueKey>
        <parameter ref="DestIPAddress"/>
        <parameter ref="DestSubnetMask"/>
        <parameter ref="SourceIPAddress"/>
        <parameter ref="SourceSubnetMask"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the forwarding entry. On creation, an entry is
          disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the forwarding entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Type" access="readWrite" status="deprecated">
        <description>
          Indicates the type of route.

          {{enum}} This parameter is DEPRECATED because its value could
          conflict with {{param|DestIPAddress}} and/or
          {{param|DestSubnetMask}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Network"/>
            <enumeration value="Host"/>
          </string>
          <default type="object" value="Host"/>
        </syntax>
      </parameter>

      <parameter name="DestIPAddress" access="readWrite">
        <description>
          Destination address. {{empty}} or a value of "0.0.0.0" indicates no
          destination address is specified.

          A Forwarding table entry for which {{param}} and
          {{param|DestSubnetMask}} are both {{empty}} or "0.0.0.0" is a default
          route.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestSubnetMask" access="readWrite">
        <description>
          Destination subnet mask. {{empty}} or a value of "0.0.0.0" indicates
          no destination subnet mask is specified.

          If a destination subnet mask is specified, the {{param}} is ANDed
          with the destination address before comparing with the
          {{param|DestIPAddress}}. Otherwise, the full destination address is
          used as is. A Forwarding table entry for which
          {{param|DestIPAddress}} and {{param}} are both {{empty}} or "0.0.0.0"
          is a default route.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceIPAddress" access="readWrite">
        <description>
          Source address. {{empty}} or a value of "0.0.0.0" indicates no source
          address is specified.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceSubnetMask" access="readWrite">
        <description>
          Source subnet mask. {{empty}} or a value of "0.0.0.0" indicates no
          source subnet mask is specified.

          If a source subnet mask is specified, the {{param}} is ANDed with the
          source address before comparing with the {{param|SourceIPAddress}}.
          Otherwise, the full source address is used as is.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="GatewayIPAddress" access="readWrite">
        <description>
          IP address of the gateway.

          Only one of {{param}} and {{param|Interface}} SHOULD be configured
          for a route. If both are configured, {{param}} and
          {{param|Interface}} MUST be self-consistent.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          Specifies the egress interface associated with this entry. The
          content is the full hierarchical parameter name of the layer-3
          connection object. Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.

          Only one of {{param|GatewayIPAddress}} and {{param}} SHOULD be
          configured for a route. If both are configured,
          {{param|GatewayIPAddress}} and {{param}} MUST be self-consistent. For
          a route that was configured by setting {{param|GatewayIPAddress}} but
          not {{param}}, read access to {{param}} MUST return the full
          hierarchical parameter name for the route's egress interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ForwardingMetric" access="readWrite">
        <description>
          Forwarding metric. A value of -1 indicates this metric is not used.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="MTU" access="readWrite">
        <description>
          The maximum allowed size of an Ethernet frame for this route.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ForwardingPolicy" access="readWrite">
        <description>
          Identifier of a set of classes or flows that have the corresponding
          {{param}} value as defined in the ''QueueManagement'' object. A value
          of -1 indicates no {{param}} is specified. If specified, this
          forwarding entry is to apply only to traffic associated with the
          specified classes and flows.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANConfigSecurity." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains generic device configuration information.
      </description>

      <parameter name="ConfigPassword" access="readWrite">
        <description>
          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 optional
          parameter
          {{param|InternetGatewayDevice.UserInterface.PasswordUserSelectable}}
          is {{true}}.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.IPPingDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object provides access to an IP-layer ping test.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data. {{enum}} If the ACS sets
          the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Complete}} (if the test completed successfully), or one
          of the ''Error'' values listed above. If the value of this parameter
          is anything other than {{enum|Complete}}, 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 {{enum|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 {{enum|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 {{enum|None}}. While the test is in
          progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_CannotResolveHostName" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          Specifies the WAN or LAN IP-layer interface over which the test is to
          be performed. The content is the full hierarchical parameter name of
          the interface. The following is a WAN interface example:

          :
            ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
            The following is a LAN interface example:

          :
            ''InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.1''

          The value of this parameter MUST be either a valid interface or
          {{empty}}. An attempt to set this parameter to a different value MUST
          be rejected as an invalid parameter value. If {{empty}} is specified,
          the CPE MUST use the interface as directed by its routing policy
          (Forwarding table entries) to determine the appropriate interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readWrite">
        <description>
          Host name or address of the host to ping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          Number of repetitions of the ping test to perform before reporting
          the results.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the ping test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DataBlockSize" access="readWrite">
        <description>
          Size of the data block in bytes to be sent for each ping.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ codepoint to be used for the test packets. By default the
          CPE SHOULD set this value to zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of successful pings (those in
          which a successful response was received prior to the timeout) in the
          most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FailureCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of failed pings in the most
          recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AverageResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the average response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTmie" access="readOnly" status="deleted">
        <description>
          Result parameter indicating the minimum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the maximum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the minimum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANDeviceNumberOfEntries">
      <description>
        Each instance contains all LAN-related objects for a given bridged
        subnet.
      </description>

      <parameter name="LANEthernetInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANEthernetInterfaceConfig}} in this
          ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LANUSBInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|LANUSBInterfaceConfig}} in this
          ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LANWLANConfigurationNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WLANConfiguration}} in this
          ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object enables reporting of LAN-related device information and
        setting and configuring LAN IP addressing.
      </description>

      <parameter name="DHCPServerConfigurable" access="readWrite">
        <description>
          Enables the configuration of the DHCP server on the LAN interface. If
          this variable is set to {{false}}, the CPE SHOULD restore its default
          DHCP server settings.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DHCPServerEnable" access="readWrite">
        <description>
          Enables or disables the DHCP server on the LAN interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DHCPRelay" access="readOnly" status="deprecated">
        <description>
          Indicates if the DHCP server performs the role of a server (0) or a
          relay (1) on the LAN interface.

          This parameter is DEPRECATED because the functionality that it
          describes is not well-defined. The CPE MAY set it to the value that
          it thinks most appropriate, based on its configuration.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MinAddress" access="readWrite">
        <description>
          Specifies first address in the pool to be assigned by the DHCP server
          on the LAN interface.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxAddress" access="readWrite">
        <description>
          Specifies last address in the pool to be assigned by the DHCP server
          on the LAN interface.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ReservedAddresses" access="readWrite">
        <description>
          Comma separated list of addresses marked reserved from the address
          allocation pool.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Specifies the client's network subnet mask.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS servers offered to DHCP clients. Support for more than three DNS
          Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DomainName" access="readWrite">
        <description>
          Sets the domain name to provide to clients on the LAN interface.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IPRouters" access="readWrite">
        <description>
          IP addresses of routers on this subnet. Also known as default
          gateway. Support for more than one Router address is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DHCPLeaseTime" access="readWrite">
        <description>
          Specifies the lease time in seconds of client assigned addresses. A
          value of -1 indicates an infinite lease.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="UseAllocatedWAN" access="readWrite">
        <description>
          {{enum}} If {{enum|Normal}}, then DHCP addresses are to be allocated
          out of a private address pool. If {{enum|UseAllocatedSubnet}},
          instructs the CPE to allocate DHCP addresses from the WAN subnet
          block for the WAN connection identified in
          {{param|AssociatedConnection}}. If {{enum|Passthrough}}, then the
          specified LAN Host identified by the Passthrough MAC address is given
          the WAN IP address.
        </description>
        <syntax>
          <string>
            <enumeration value="Normal"/>
            <enumeration value="UseAllocatedSubnet"/>
            <enumeration value="Passthrough"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedConnection" access="readWrite">
        <description>
          Specifies the connection instance for the connection to be used for
          address allocation if {{param|UseAllocatedWAN}} is set to
          {{enum|UseAllocatedSubnet|UseAllocatedWAN}} or
          {{enum|Passthrough|UseAllocatedWAN}}. The content is the full
          hierarchical parameter name of the default layer-3 connection object.
          Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PassthroughLease" access="readWrite">
        <description>
          DHCP lease time in seconds given to the specified LAN Host when the
          WAN IP address is passed-through. Note: A temporary private IP
          address with short lease (for example, 1 min) might be given to the
          passthrough LAN Host before the WAN IP address is acquired.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PassthroughMACAddress" access="readWrite">
        <description>
          Hardware address of the LAN Host that is used to passthrough the WAN
          IP address if {{param|UseAllocatedWAN}} is
          {{enum|Passthrough|UseAllocatedWAN}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="AllowedMACAddresses" access="readWrite">
        <description>
          Hardware addresses that are allowed to connect to this connection if
          ''MACAddressControlEnabled'' is 1 for a given interface.
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of IP interface at LAN side of the CPE. 1 is a typical value
          for CPE not supporting Multihomed interfaces. Support for more than
          one interface instance is OPTIONAL.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="IPInterfaceNumberOfEntries"
        enableParameter="Enable">
      <description>
        IP interface table.
      </description>
      <uniqueKey>
        <parameter ref="IPInterfaceIPAddress"/>
        <parameter ref="IPInterfaceSubnetMask"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this entry. On creation, an entry is disabled by
          default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceIPAddress" access="readWrite">
        <description>
          IP address of the LAN-side interface of the CPE.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceSubnetMask" access="readWrite">
        <description>
          Subnet mask of the LAN-side interface of the IGD.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="IPInterfaceAddressingType" access="readWrite">
        <description>
          Represents the addressing method used to assign the LAN-side IP
          address of the CPE on this interface.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
            <enumeration value="AutoIP"/>
          </string>
          <default type="object" value="DHCP"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANEthernetInterfaceNumberOfEntries">
      <description>
        This object models an Ethernet LAN connection on a CPE device. This
        object MUST be implemented for CPE that contain an Ethernet interface
        on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this
          interface. MAC Address Control limits the clients that connect to
          those that match a list of allowed MAC addresses specified in
          {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this
          connection.
        </description>
        <syntax>
          <string>
            <enumeration value="10"/>
            <enumeration value="100"/>
            <enumeration value="1000"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DuplexMode" access="readWrite">
        <description>
          The duplex mode available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Half"/>
            <enumeration value="Full"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for an Ethernet LAN interface on a CPE
        device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last
          reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANUSBInterfaceNumberOfEntries">
      <description>
        This object models a USB LAN connection on a CPE device. This object
        MUST be implemented for CPE that contain a USB interface on the LAN
        side.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this
          interface. MAC Address Control limits the clients that connect to
          those that match a list of allowed MAC addresses specified in
          {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Standard" access="readOnly">
        <description>
          USB version supported by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Type of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Host"/>
            <enumeration value="Hub"/>
            <enumeration value="Device"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Rate" access="readOnly">
        <description>
          Speed of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Low"/>
            <enumeration value="Full"/>
            <enumeration value="High">
              <description>USB 2.0</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Power" access="readOnly">
        <description>
          Power configuration of the USB interface.
        </description>
        <syntax>
          <string>
            <enumeration value="Self"/>
            <enumeration value="Bus"/>
            <enumeration value="Unknown"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for a USB LAN interface on a CPE
        device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last
          reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cells sent over the interface since the CPE was last
          reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cells received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANWLANConfigurationNumberOfEntries">
      <description>
        This object models an 802.11 LAN connection on a CPE device. This
        object MUST be implemented for CPE that contain an 802.11 interface on
        the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="SSID"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.

          When there are multiple ''WLANConfiguration'' instances, e.g. each
          instance supports a different 802.11 standard or has a different
          security configuration, this parameter can be used to control which
          of the instances are currently enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC address of the interface.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this
          connection in Mbps. Either ''Auto'', or the largest of the
          {{param|OperationalDataTransmitRates}} values.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readWrite">
        <description>
          The current radio channel used by the connection. Note: There is
          currently no way of requesting automatic selection of a channel.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readWrite">
        <description>
          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 a "password" for joining a particular radio
          network (BSS). Note: If an access point wishes to be known by more
          than one SSID, it MUST provide a ''WLANConfiguration'' instance for
          each SSID.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BeaconType" access="readWrite">
        <description>
          The capabilities that are currently enabled on the access point (and
          that are announced via beacons if
          {{param|BeaconAdvertisementEnabled}} is {{true}}). Write access to
          this parameter enables and disables such capabilities. An attempt to
          set this parameter to one of the required (mandatory) values MAY be
          rejected if (and only if) the requested capability is not available
          on this ''WLANConfiguration'' instance but is available on another
          ''WLANConfiguration'' instance within this Internet Gateway Device.
          For example, only basic 802.11 might be supported by one virtual AP,
          and only WPA might be supported by another virtual AP. A value of
          {{enum|None}} means that no capabilities are currently enabled on the
          access point and that no stations will be able to associate with it.
          {{enum}} {{enum|11i}} SHOULD be taken to refer to both the 802.11i
          specification and to the WPA2 specification (any WPA2-certified
          device will implement all mandatory parts of the 802.11i standard).
          The OBSOLETED values are those for Basic + WPA/WPA2 mixed modes,
          which are not permitted by the WPA specifications.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Basic"/>
            <enumeration value="WPA"/>
            <enumeration value="11i" optional="true"/>
            <enumeration value="BasicandWPA" optional="true"
                status="obsoleted"/>
            <enumeration value="Basicand11i" optional="true"
                status="obsoleted"/>
            <enumeration value="WPAand11i" optional="true"/>
            <enumeration value="BasicandWPAand11i" optional="true"
                status="obsoleted"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite">
        <description>
          Indicates whether MAC Address Control is enabled or not on this
          interface. MAC Address Control limits the clients that connect to
          those that match a list of allowed MAC addresses specified in
          {{param|InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.AllowedMACAddresses}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Standard" access="readOnly">
        <description>
          Indicates which IEEE 802.11 standard this ''WLANConfiguration''
          instance is configured for. {{enum}} Where each value indicates
          support for only the indicated standard. If the device is configured
          simultaneously for more than one standard, a separate
          ''WLANConfiguration'' instance MUST be used for each supported
          standard.
        </description>
        <syntax>
          <string>
            <enumeration value="a"/>
            <enumeration value="b"/>
            <enumeration value="g"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPKeyIndex" access="readWrite">
        <description>
          The index of the default WEP key.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="4"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the WEP keys are to be generated. This
          parameter is the same as the parameter
          ''InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.1.KeyPassphrase''
          for the same instance of ''WLANConfiguration''. When either parameter
          is changed, the value of the other is changed as well. If {{param}}
          is written, all four WEP keys are immediately generated. The ACS
          SHOULD NOT set the passphrase and also set the WEP keys directly (the
          result of doing this is undefined). This MUST either be a valid key
          length divided by 8, in which case each byte contributes 8 bits to
          the key, or else MUST consist of Hex digits and be a valid key length
          divided by 4, in which case each byte contributes 4 bits to the key.
          Note: If a passphrase is used, all four WEP keys will be the same.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPEncryptionLevel" access="readOnly">
        <description>
          Supported key lengths. {{enum}} Any additional vendor-specific values
          MUST start with the key length in bits. This parameter does not
          enforce a given encryption level but only indicates capabilities. The
          WEP encryption level for a given key is inferred from the key length.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="40-bit"/>
            <enumeration value="104-bit"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when basic 802.11 is enabled.
          {{enum|WEPEncryption}} implies that all wireless clients can use WEP
          for data encryption.

          {{enum}} If this ''WLANConfiguration'' instance does not support
          basic 802.11 then this parameter MUST NOT be present in this instance
          of the ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="None"/>
            <enumeration value="WEPEncryption"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when basic 802.11 is enabled.

          {{enum}} If this ''WLANConfiguration'' instance does not support
          basic 802.11 then this parameter MUST NOT be present in this instance
          of the ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="None">
              <description action="replace">Open authentication</description>
            </enumeration>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="SharedAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WPAEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when WPA is enabled.

          {{enum}} If this ''WLANConfiguration'' instance does not support WPA
          then this parameter MUST NOT be present in this instance of the
          ''WLANConfiguration'' object. The DEPRECATED values are those that
          combine WEP with TKIP and/or AES, which is not permitted by the WPA
          specifications.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="WEPEncryption" status="deprecated"/>
            <enumeration value="TKIPEncryption"/>
            <enumeration value="WEPandTKIPEncryption" status="deprecated"/>
            <enumeration value="AESEncryption" optional="true"/>
            <enumeration value="WEPandAESEncryption" optional="true"
                status="deprecated"/>
            <enumeration value="TKIPandAESEncryption" optional="true"/>
            <enumeration value="WEPandTKIPandAESEncryption" optional="true"
                status="deprecated"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WPAAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when WPA is enabled.

          {{enum}} If this ''WLANConfiguration'' instance does not support WPA
          then this parameter MUST NOT be present in this instance of the
          ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IEEE11iEncryptionModes" access="readWrite">
        <description>
          Encryption modes that are available when 802.11i is enabled.

          {{enum}} If this ''WLANConfiguration'' instance does not support
          802.11i then this parameter MUST NOT be present in this instance of
          the ''WLANConfiguration'' object. ''IEEE11i'' SHOULD be taken to
          refer to both the 802.11i specification and to the WPA2 specification
          (any WPA2-certified device will implement all mandatory parts of the
          802.11i standard). The DEPRECATED values are those that combine WEP
          with TKIP and/or AES, which is not permitted by the WPA2
          specifications.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="WEPEncryption" status="deprecated"/>
            <enumeration value="TKIPEncryption" optional="true"/>
            <enumeration value="WEPandTKIPEncryption" status="deprecated"/>
            <enumeration value="AESEncryption" optional="true"/>
            <enumeration value="WEPandAESEncryption" optional="true"
                status="deprecated"/>
            <enumeration value="TKIPandAESEncryption" optional="true"/>
            <enumeration value="WEPandTKIPandAESEncryption" optional="true"
                status="deprecated"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IEEE11iAuthenticationMode" access="readWrite">
        <description>
          Authentication modes that are available when 802.11i is enabled.

          {{enum}} If this ''WLANConfiguration'' instance does not support
          802.11i then this parameter MUST NOT be present in this instance of
          the ''WLANConfiguration'' object. ''IEEE11i'' SHOULD be taken to
          refer to both the 802.11i specification and to the WPA2 specification
          (any WPA2-certified device will implement all mandatory parts of the
          802.11i standard).
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="EAPandPSKAuthentication" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleChannels" access="readOnly">
        <description>
          Possible radio channels for the wireless standard (a, b or g) and the
          regulatory domain. Ranges in the form "n-m" are permitted. For
          example, for 802.11b and North America, would be "1-11".
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="BasicDataTransmitRates" access="readWrite">
        <description>
          Maximum access point data transmit rates in Mbps for unicast,
          multicast and broadcast frames. For example, a value of "1,2",
          indicates that unicast, multicast and broadcast frames can be
          transmitted at 1 Mbps and 2 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="OperationalDataTransmitRates" access="readWrite">
        <description>
          Maximum access point data transmit rates in Mbps for unicast frames
          (a superset of {{param|BasicDataTransmitRates}}). Given the value of
          {{param|BasicDataTransmitRates}} from the example above, {{param}}
          might be "1,2,5.5,11", indicating that unicast frames can
          additionally be transmitted at 5.5 Mbps and 11 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PossibleDataTransmitRates" access="readOnly">
        <description>
          Data transmit rates for unicast frames at which the access point will
          permit a station to connect (a subset of
          {{param|OperationalDataTransmitRates}}). Given the values of
          {{param|BasicDataTransmitRates}} and
          {{param|OperationalDataTransmitRates}} from the examples above,
          {{param}} might be "1,2,5.5", indicating that the AP will only permit
          connections at 1 Mbps, 2 Mbps and 5.5 Mbps, even though it could
          theoretically accept connections at 11 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="InsecureOOBAccessEnabled" access="readWrite">
        <description>
          Indicates whether insecure write access via mechanisms other than the
          CPE WAN Management Protocol is permitted to the parameters in this
          object.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="BeaconAdvertisementEnabled" access="readWrite">
        <description>
          Indicates whether or not the access point is sending out beacons.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RadioEnabled" access="readWrite">
        <description>
          Indicates whether or not the access point radio is enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AutoRateFallBackEnabled" access="readWrite">
        <description>
          Indicates whether the access point can automatically reduce the data
          rate in the event of undue noise or contention.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LocationDescription" access="readWrite">
        <description>
          An XML description of information used to identify the access point
          by name and physical location. The CPE is not expected to parse this
          string, but simply to treat it as an opaque string. {{empty}}
          indicates no location has been set.
        </description>
        <syntax>
          <string>
            <size maxLength="4096"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RegulatoryDomain" access="readWrite">
        <description>
          802.11d Regulatory Domain String. First two octets are ISO/IEC 3166-1
          two-character country code. The third octet is either " " (all
          environments), "O" (outside) or "I" (inside).
        </description>
        <syntax>
          <string>
            <size maxLength="3"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalPSKFailures" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of times pre-shared key (PSK) authentication has failed
          (relevant only to WPA and 802.11i).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalIntegrityFailures" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of times the MICHAEL integrity check has failed (relevant
          only to WPA and 802.11i)
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChannelsInUse" access="readOnly" activeNotify="canDeny">
        <description>
          Channels that the access point determines to be currently in use
          (including any that it is using itself). Ranges in the form "n-m" are
          permitted.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DeviceOperationMode" access="readWrite">
        <description>
          The current access-point operating mode. The optional modes permit
          the AP to be configured as a wireless bridge (to bridge two wired
          networks), repeater (a bridge that also serves wireless clients), or
          wireless station. Ad hoc stations are not supported.
        </description>
        <syntax>
          <string>
            <size maxLength="31"/>
            <enumeration value="InfrastructureAccessPoint"/>
            <enumeration value="WirelessBridge" optional="true"/>
            <enumeration value="WirelessRepeater" optional="true"/>
            <enumeration value="WirelessStation" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DistanceFromRoot" access="readWrite">
        <description>
          The number of hops from the root access point to the wireless
          repeater or bridge.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PeerBSSID" access="readWrite">
        <description>
          The MAC address of the peer in wireless repeater or bridge mode.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationServiceMode" access="readWrite">
        <description>
          Indicates whether another service is involved in client
          authentication ({{enum|LinkAuthentication}} for a co-located
          authentication server; {{enum|RadiusClient}} for an external RADIUS
          server).
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="LinkAuthentication" optional="true"/>
            <enumeration value="RadiusClient" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last
          reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalAssociations" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of devices currently associated with the access point.
          This corresponds to the number of entries in the
          {{object|AssociatedDeivce}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.AssociatedDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="TotalAssociations">
      <description>
        A table of the devices currently associated with the access point. The
        size of this table is given by
        {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.TotalAssociations}}.
        This object MUST be implemented for CPE that contain an 802.11
        interface on the LAN side.
      </description>
      <uniqueKey>
        <parameter ref="AssociatedDeviceMACAddress"/>
      </uniqueKey>

      <parameter name="AssociatedDeviceMACAddress" access="readOnly"
          activeNotify="canDeny">
        <description>
          The MAC address of an associated device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceIPAddress" access="readOnly"
          activeNotify="canDeny">
        <description>
          The IP address or DNS name of an associated device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceAuthenticationState" access="readOnly"
          activeNotify="canDeny">
        <description>
          Whether an associated device has authenticated ({{true}}) or not
          ({{false}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LastRequestedUnicastCipher" access="readOnly"
          activeNotify="canDeny">
        <description>
          The unicast cipher that was most recently used for a station with a
          specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastRequestedMulticastCipher" access="readOnly"
          activeNotify="canDeny">
        <description>
          The multicast cipher that was most recently used for a station with a
          specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastPMKId" access="readOnly" activeNotify="canDeny">
        <description>
          The pairwise master key (PMK) that was most recently used for a
          station with a specified MAC address (802.11i only).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WEPKey.{i}."
        access="readOnly" minEntries="4" maxEntries="4">
      <description>
        This is a table of WEP keys. The size of this table is fixed with
        exactly 4 entries (with instance numbers 1 through 4). This object MUST
        be implemented for CPE that contain an 802.11 interface on the LAN
        side.
      </description>

      <parameter name="WEPKey" access="readWrite">
        <description>
          A WEP key expressed as a hexadecimal string. The WEP encryption level
          for a given key is inferred from the key length, e.g. 10 characters
          for 40-bit encryption, or 26 characters for 104-bit encryption (keys
          do not all have to be of the same length, although they will be if
          the CPE uses
          {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}}
          to generate them). If
          {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}}
          is written, all four WEP keys are immediately generated. The ACS
          SHOULD NOT set the passphrase and also set the WEP keys directly (the
          result of doing this is undefined).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.{i}."
        access="readOnly" minEntries="10" maxEntries="10">
      <description>
        This is a table of preshared keys. The size of this table is fixed with
        exactly 10 entries (with instance numbers 1 through 10). This object
        MUST be implemented for CPE that contain an 802.11 interface on the LAN
        side.
      </description>

      <parameter name="PreSharedKey" access="readWrite">
        <description>
          A literal WPA PSK expressed as a hexadecimal string. The first table
          entry contains the default {{param}}
          (''InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.1.PreSharedKey'').
          If {{param|KeyPassphrase}} is written, the PSK is immediately
          generated. The ACS SHOULD NOT set the passphrase and also set the PSK
          directly (the result of doing this is undefined).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the PSK is to be generated. The first table
          entry is the same as the parameter
          {{param|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.KeyPassphrase}}
          for the same instance of ''WLANConfiguration''. When either parameter
          is changed, the value of the other is changed as well. If {{param}}
          is written, the PSK is immediately generated. The ACS SHOULD NOT set
          the passphrase and also set the PSK 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).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceMACAddress" access="readWrite">
        <description>
          The MAC address associated with a preshared key, or {{empty}} if no
          MAC address is associated with the key.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.Hosts."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        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.
      </description>

      <parameter name="HostNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Host}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANDevice.{i}.Hosts.Host.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="HostNumberOfEntries">
      <description>
        Host table.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="IPAddress" access="readOnly">
        <description>
          Current IP Address of the host.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="AddressSource" access="readOnly">
        <description>
          Indicates whether the IP address of the host was allocated by the CPE
          using DHCP, was assigned to the host statically, or was assigned
          using automatic IP address allocation.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
            <enumeration value="AutoIP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LeaseTimeRemaining" access="readOnly"
          activeNotify="canDeny">
        <description>
          DHCP lease time remaining in seconds. A value of -1 indicates an
          infinite lease. The value MUST be 0 (zero) if the
          {{param|AddressSource}} is not {{enum|DHCP|AddressSource}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          MAC address of the host.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="HostName" access="readOnly">
        <description>
          The device's host name or {{empty}} if unknown.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterfaceType" access="readOnly">
        <description>
          Type of physical interface through which this host is connected to
          the CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="Ethernet"/>
            <enumeration value="USB"/>
            <enumeration value="802.11"/>
            <enumeration value="HomePNA"/>
            <enumeration value="HomePlug"/>
            <enumeration value="Other"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Active" access="readOnly">
        <description>
          Whether or not the host is currently present on the LAN. The method
          of presence detection is a local matter to the CPE. The ability to
          list inactive hosts is OPTIONAL. If the CPE includes inactive hosts
          in this table, this variable MUST be set to zero for each inactive
          host. The length of time an inactive host remains listed in this
          table is a local matter to the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANDeviceNumberOfEntries">
      <description>
        Each instance contains all objects associated with a particular
        physical WAN interface.
      </description>

      <parameter name="WANConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANConnectionDevice}} in this
          ''WANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object models WAN interface properties common across all
        connection instances.
      </description>

      <parameter name="EnabledForInternet" access="readWrite">
        <description>
          Used to enable or disable access to and from the Internet across all
          connection instances.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WANAccessType" access="readOnly">
        <description>
          Specifies the WAN access (modem) type.
        </description>
        <syntax>
          <string>
            <enumeration value="DSL"/>
            <enumeration value="Ethernet"/>
            <enumeration value="POTS"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Layer1UpstreamMaxBitRate" access="readOnly">
        <description>
          Specifies the maximum upstream theoretical bit rate for the WAN
          device in bits per second. This describes the maximum possible rate
          given the type of interface assuming the best-case operating
          environment, regardless of the current operating rate. For example,
          if the physical interface is 100BaseT, this value would be 100000000,
          regardless of the current operating rate.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Layer1DownstreamMaxBitRate" access="readOnly">
        <description>
          Specifies the maximum downstream theoretical bit rate for the WAN
          device in bits per second. This describes the maximum possible rate
          given the type of interface assuming the best-case operating
          environment, regardless of the current operating rate. For example,
          if the physical interface is 100BaseT, this value would be 100000000,
          regardless of the current operating rate.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PhysicalLinkStatus" access="readOnly">
        <description>
          Indicates the state of the physical connection (link) from WANDevice
          to a connected entity.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Initializing"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WANAccessProvider" access="readOnly">
        <description>
          Name of the Service Provider providing link connectivity on the WAN.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of bytes sent upstream across
          all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of bytes received downstream
          across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of packets (IP or PPP) sent
          upstream across all connection service instances on the WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The cumulative counter for total number of packets (IP or PPP)
          received downstream across all connection service instances on the
          WAN device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumActiveConnections" access="readOnly"
          activeNotify="canDeny">
        <description>
          Indicates the maximum number of active connections the CPE can
          simultaneously support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfActiveConnections" access="readOnly">
        <description>
          Number of WAN connection service instances currently active on this
          WAN interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig.Connection.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="NumberOfActiveConnections">
      <description>
        Active connection table.
      </description>
      <uniqueKey>
        <parameter ref="ActiveConnectionServiceID"/>
      </uniqueKey>

      <parameter name="ActiveConnectionDeviceContainer" access="readOnly">
        <description>
          Specifies a WAN connection device object associated with this
          connection instance. The content is the full hierarchical parameter
          name of the WAN connection device. Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ActiveConnectionServiceID" access="readOnly">
        <description>
          Specifies a WAN connection object associated with this connection
          instance. The content is the full hierarchical parameter name of the
          layer-3 connection object. Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models physical layer properties specific to a single
        physical connection of a DSL modem used for Internet access on a CPE.
        This object is required for a CPE with a DSL modem WAN interface, and
        is exclusive of any other ''WAN*InterfaceConfig'' object within a given
        ''WANDevice'' instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Status of the DSL physical link.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Initializing"/>
            <enumeration value="EstablishingLink"/>
            <enumeration value="NoSignal"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModulationType" access="readOnly">
        <description>
          Indicates the type of modulation used on the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="ADSL_G.dmt"/>
            <enumeration value="ADSL_G.lite"/>
            <enumeration value="ADSL_G.dmt.bis"/>
            <enumeration value="ADSL_re-adsl"/>
            <enumeration value="ADSL_2plus"/>
            <enumeration value="ADLS_four"/>
            <enumeration value="ADSL_ANSI_T1.413"/>
            <enumeration value="G.shdsl"/>
            <enumeration value="IDSL"/>
            <enumeration value="HDSL"/>
            <enumeration value="SDSL"/>
            <enumeration value="VDSL"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LineEncoding" access="readOnly">
        <description>
          The line encoding method used in establishing the Layer 1 DSL
          connection between the CPE and the DSLAM. Note: Generally speaking,
          this variable does not change after provisioning.
        </description>
        <syntax>
          <string>
            <enumeration value="DMT"/>
            <enumeration value="CAP"/>
            <enumeration value="2B1Q"/>
            <enumeration value="43BT"/>
            <enumeration value="PAM"/>
            <enumeration value="QAM"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataPath" access="readOnly">
        <description>
          Indicates whether the data path is fast (lower latency) or
          interleaved (lower error rate).
        </description>
        <syntax>
          <string>
            <enumeration value="Interleaved"/>
            <enumeration value="Fast"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterleaveDepth" access="readOnly">
        <description>
          ADSL Interleaved depth. This variable is only applicable if
          {{param|DataPath}} = {{enum|Interleaved|DataPath}}. Otherwise, the
          value of this parameter MUST be zero.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LineNumber" access="readOnly">
        <description>
          Signifies the line pair that the modem is using to connection.
          {{param}} = 1 is the innermost pair.
        </description>
        <syntax>
          <int>
            <range minInclusive="1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="UpstreamCurrRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current physical layer aggregate data rate (expressed in Kbps) of
          the upstream DSL connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DownstreamCurrRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current physical layer aggregate data rate (expressed in Kbps) of
          the downstream DSL connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UpstreamMaxRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current attainable rate (expressed in Kbps) of the upstream DSL
          channel.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DownstreamMaxRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current attainable rate (expressed in Kbps) of the downstream DSL
          channel.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UpstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio (expressed in 0.1 db) of the
          upstream DSL connection.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio (expressed in 0.1 db) of the
          downstream DSL connection.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="UpstreamAttenuation" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current upstream signal loss (expressed in 0.1 dB).
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamAttenuation" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current downstream signal loss (expressed in 0.1 dB).
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="UpstreamPower" access="readOnly" activeNotify="canDeny">
        <description>
          The current output power at the CPE's DSL interface (expressed in 0.1
          dBmV),
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamPower" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current received power at the CPE's DSL interface (expressed in
          0.1 dBmV),
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ATURVendor" access="readOnly">
        <description>
          ATU-R vendor identifier as defined in G.994.1 and T1.413. In the case
          of G.994.1 this corresponds to the four-octet provider code, which
          MUST be represented as eight hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATURCountry" access="readOnly">
        <description>
          T.35 country code of the ATU-R vendor as defined in G.994.1, where
          the two-octet value defined in G.994.1 MUST be represented as four
          hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATURANSIStd" access="readOnly">
        <description>
          ATU-R T1.413 Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATURANSIRev" access="readOnly">
        <description>
          ATU-R Vendor Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCVendor" access="readOnly">
        <description>
          ATU-C vendor identifier as defined in G.994.1 and T1.413. In the case
          of G.994.1 this corresponds to the four-octet provider code, which
          MUST be represented as eight hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATUCCountry" access="readOnly">
        <description>
          T.35 country code of the ATU-C vendor as defined in G.994.1, where
          the two-octet value defined in G.994.1 MUST be represented as four
          hexadecimal digits.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATUCANSIStd" access="readOnly">
        <description>
          ATU-C T1.413 Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCANSIRev" access="readOnly">
        <description>
          ATU-C Vendor Revision Number as defined in T1.413 Issue 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalStart" access="readOnly" activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for
          collection of ''Total'' statistics. Statistics SHOULD continue to be
          accumulated across CPE reboots, though this might not always be
          possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShowtimeStart" access="readOnly" activeNotify="canDeny">
        <description>
          Number of seconds since the most recent DSL Showtime-the beginning of
          the period used for collection of ''Showtime'' statistics.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastShowtimeStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the second most recent DSL Showtime-the
          beginning of the period used for collection of ''LastShowtime''
          statistics. If the CPE has not retained information about the second
          most recent Showtime (e.g., on reboot), the start of ''LastShowtime''
          statistics MAY temporarily coincide with the start of ''Showtime''
          statistics.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentDayStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for
          collection of ''CurrentDay'' statistics. The CPE MAY align the
          beginning of each ''CurrentDay'' interval with days in the UTC time
          zone, but is not required to do so. Statistics SHOULD continue to be
          accumulated across CPE reboots, though this might not always be
          possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QuarterHourStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of seconds since the beginning of the period used for
          collection of ''QuarterHour'' statistics. The CPE MAY align the
          beginning of each ''QuarterHour'' interval with real-time
          quarter-hour intervals, but is not required to do so. Statistics
          SHOULD continue to be accumulated across CPE reboots, though this
          might not always be possible.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for a WAN DSL physical interface.
      </description>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Total."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL total statistics.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of successfully received blocks, where a block is as
          defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of successfully transmitted blocks, where a block is as
          defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of cell-delineation errors (total seconds with NCD or
          LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of link-retrain errors (Full Initialization Count as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of initialization errors (LINIT failures as defined in
          ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of initialization timeout errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of loss-of-framing errors (LOF failures as defined in
          ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of errored seconds (ES-L as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of severely errored seconds (SES-L as defined in ITU-T
          Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of FEC errors detected (FEC-C as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of FEC errors detected by the ATU-C (FEC-CFE as defined
          in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of HEC errors detected (HEC-P as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of HEC errors detected by the ATU-C (HEC-PFE as defined
          in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of CRC errors detected (CV-C as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of CRC errors detected by the ATU-C (CV-CFE as defined
          in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Showtime."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated since the most recent
        DSL Showtime.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks since the most recent DSL
          Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks since the most recent DSL
          Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors since the most recent DSL Showtime
          (total seconds with NCD or LCD failures as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors since the most recent DSL Showtime
          (Full Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors since the most recent DSL Showtime
          (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors since the most recent DSL
          Showtime.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors since the most recent DSL Showtime
          (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds since the most recent DSL Showtime (ES-L as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the most recent DSL Showtime
          (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected since the most recent DSL Showtime
          (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C since the most recent DSL
          Showtime (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected since the most recent DSL Showtime
          (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C since the most recent DSL
          Showtime (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected since the most recent DSL Showtime
          (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C since the most recent DSL
          Showtime (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.LastShowtime."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated since the second most
        recent DSL Showtime.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks since the second most recent
          DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks since the second most
          recent DSL Showtime, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors since the second most recent DSL
          Showtime (total seconds with NCD or LCD failures as defined in ITU-T
          Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors since the second most recent DSL
          Showtime (Full Initialization Count as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors since the second most recent DSL
          Showtime (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors since the second most recent
          DSL Showtime.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors since the second most recent DSL
          Showtime (LOF failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds since the second most recent DSL Showtime
          (ES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the second most recent DSL
          Showtime (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected since the second most recent DSL
          Showtime (FEC-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C since the second most
          recent DSL Showtime (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected since the second most recent DSL
          Showtime (HEC-P as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C since the second most
          recent DSL Showtime (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected since the second most recent DSL
          Showtime (CV-C as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C since the second most
          recent DSL Showtime (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.CurrentDay."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated during the current day.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks during the current day, where
          a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks during the current day,
          where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors during the current day (total
          seconds with NCD or LCD failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors during the current day (Full
          Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors during the current day (LINIT
          failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors during the current day.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors during the current day (LOF failures
          as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds during the current day (ES-L as defined in
          ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current day (SES-L as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected during the current day (FEC-C as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C during the current day
          (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected during the current day (HEC-P as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C during the current day
          (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected during the current day (CV-C as defined
          in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C during the current day
          (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.QuarterHour."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains DSL statistics accumulated during the current
        quarter hour.
      </description>

      <parameter name="ReceiveBlocks" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully received blocks during the current quarter
          hour, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of successfully transmitted blocks during the current quarter
          hour, where a block is as defined in RFC 2662.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny">
        <description>
          Number of cell-delineation errors during the current quarter hour
          (total seconds with NCD or LCD failures as defined in ITU-T Rec.
          G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny">
        <description>
          Number of link-retrain errors during the current quarter hour (Full
          Initialization Count as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization errors during the current quarter hour
          (LINIT failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitTimeouts" access="readOnly" activeNotify="canDeny">
        <description>
          Number of initialization timeout errors during the current quarter
          hour.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossOfFraming" access="readOnly" activeNotify="canDeny">
        <description>
          Number of loss-of-framing errors during the current quarter hour (LOF
          failures as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErroredSecs" access="readOnly" activeNotify="canDeny">
        <description>
          Number of errored seconds during the current quarter hour (ES-L as
          defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current quarter hour
          (SES-L as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected during the current quarter hour (FEC-C
          as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCFECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of FEC errors detected by the ATU-C during the current quarter
          hour (FEC-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected during the current quarter hour (HEC-P
          as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of HEC errors detected by the ATU-C during the current quarter
          hour (HEC-PFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected during the current quarter hour (CV-C
          as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Number of CRC errors detected by the ATU-C during the current quarter
          hour (CV-CFE as defined in ITU-T Rec. G.997.1).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models physical layer properties specific to a single
        Ethernet physical connection used for Internet access on a CPE. This
        object is required for a CPE with an Ethernet WAN interface, and is
        exclusive of any other ''WAN*InterfaceConfig'' object within a given
        ''WANDevice'' instance. Note that this object is not related to the
        Ethernet protocol layer sometimes used in associated with a DSL
        connection.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this interface.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="NoLink"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readWrite">
        <description>
          The maximum upstream and downstream bit rate available to this
          connection.
        </description>
        <syntax>
          <string>
            <enumeration value="10"/>
            <enumeration value="100"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DuplexMode" access="readWrite">
        <description>
          The duplex mode available to this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Half"/>
            <enumeration value="Full"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for an Ethernet WAN interface on a CPE
        device.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes sent over the interface since the CPE was last
          reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of packets sent over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of packets received over the interface since the CPE was
          last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement."
        access="readOnly" minEntries="1" maxEntries="1" status="obsoleted">
      <description>
        This object is intended for a CPE with a DSL modem WAN interface. Note
        - This object was originally created to allow ''WANConnection'' devices
        and services to be added dynamically in the IGD object model in TR-064
        because UPnP Device Architecture 1.0 did not contain this capability
        natively. Because in TR-069 objects can be created and removed using
        the AddObject and DeleteObject RPCs, ''WANConnection'' interfaces can
        be managed using these TR-069 mechanisms directly. Therefore, unlike
        the TR-064 equivalent, the {{object|ConnectionService}} table within
        this object is Read-Only in the TR-069 ''InternetGatewayDevice'' data
        model context. This object is OBSOLETED because it serves no purpose.
      </description>

      <parameter name="ConnectionServiceNumberOfEntries" access="readOnly"
          status="obsoleted">
        <description>
          Number of table entries in the ConnectionService table.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
          The CPE MAY return a value of 0 for this parameter, regardless of the
          number of connection services, in which case no
          {{object|ConnectionService}} instances will exist.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement.ConnectionService.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ConnectionServiceNumberOfEntries"
        status="obsoleted">
      <description>
        This table contains an entry for each connection service.

        This object is OBSOLETED because it is within an OBSOLETED object.
      </description>
      <uniqueKey>
        <parameter ref="WANConnectionService"/>
      </uniqueKey>

      <parameter name="WANConnectionDevice" access="readOnly"
          status="obsoleted">
        <description>
          Specifies a WAN connection device object associated with this
          connection instance. The content is the full hierarchical parameter
          name of the WAN connection device. Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2''.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WANConnectionService" access="readOnly"
          status="obsoleted">
        <description>
          Specifies a WAN connection object associated with this connection
          instance. The content is the full hierarchical parameter name of the
          layer-3 connection object. Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DestinationAddress" access="readOnly"
          status="obsoleted">
        <description>
          Destination address of the WANConnectionDevice entry. One of:

          * ''PVC: VPI/VCI''

          * ''SVC: ATM connection name''

          * ''SVC: ATM address''

          The "PVC:" or "SVC:" prefix is part of the parameter value and MUST
          be followed by 0 or 1 space characters. For example, possible values
          for this parameter are "PVC:8/23" or "PVC: 0/35". This parameter is
          OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readOnly" status="obsoleted">
        <description>
          Link Type of the ''WANConnectionDevice'' entry. One of Link Types as
          described in ''WANDSLLinkConfig''. This parameter is OBSOLETED
          because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readOnly" status="obsoleted">
        <description>
          Connection Type of the ''WANPPPConnection'' or ''WANIPConnection''
          entry. One of ''PossibleConnectionTypes'' as described in
          ''WAN**Connection'' service.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly" status="obsoleted">
        <description>
          User-readable name of the connection.

          This parameter is OBSOLETED because it is within an OBSOLETED object.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object is to provide diagnostic information for a CPE with an
        ADSL2 or ADSL2+ modem WAN interface, but MAY also be used for ADSL.
      </description>

      <parameter name="LoopDiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data. {{enum}} If the ACS sets
          the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test, which brings down the DSL
          connection while the test is operating. When writing, the only
          allowed value is {{enum|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 {{enum|Complete}} (if the test
          completed successfully), or one of the ''Error'' values listed above.
          If the value of this parameter is anything other than
          {{enum|Complete}}, the values of the results parameters for this test
          are indeterminate. When the diagnostic initiated by the ACS is
          completed, the CPE MUST establish a new connection to the ACS to
          allow the ACS to view the results, indicating the corresponding
          reason in the Inform message. After the diagnostic is complete, the
          value of all result parameters (all read-only parameters in this
          object instance) 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 {{enum|None}}.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ACTPSDds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream actual power spectral density. Interpretation of the value
          is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTPSDus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream actual power spectral density. Interpretation of the value
          is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTATPds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream actual aggregate transmitter power. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTATPus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream actual aggregate transmitter power. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINSCds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream linear representation scale. Interpretation of the value
          is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream linear channel characteristics per subcarrier. Each
          successive pair of integers represents the real and imaginary parts
          of each complex value. Maximum number of complex pairs is 256 for
          ADSL and ADSL2, 512 for ADSL2+. Interpretation of the value is as
          defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="QLNpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream quiet line noise per subcarrier. Maximum number of
          elements is 256 for ADSL and ADSL2, 512 for ADSL2+. Interpretation of
          the value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="SNRpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream SNR per subcarrier. Maximum number of elements is 256 for
          ADSL and ADSL2, 512 for ADSL2+. Interpretation of the value is as
          defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="BITSpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream bit allocation per subcarrier. Maximum number of elements
          is 256 for ADSL and ADSL2, 512 for ADSL2+. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>

      <parameter name="GAINSpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream gain allocation per subcarrier. Maximum number of elements
          is 256 for ADSL and ADSL2, 512 for ADSL2+. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list/>
          <int/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANConnectionNumberOfEntries">
      <description>
        Each instance contains objects associated with a given WAN link. In
        this case of DSL, each instance corresponds to a single ATM VC. On
        creation of a ''WANConnectionDevice'' instance, there are initially no
        connection objects contained within.
      </description>

      <parameter name="WANIPConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANIPConnection}} in this
          ''WANConnectionDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WANPPPConnectionNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WANPPPConnection}} in this
          ''WANConnectionDevice''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANDSLLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the ATM layer properties specific to a single
        physical connection of a DSL modem used for Internet access on a CPE.
        This object is intended for a CPE with a DSL modem WAN interface, and
        is exclusive of any other ''WAN*LinkConfig'' object within a given
        ''WANConnectionDevice'' instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link. On creation of a
          ''WANConnectionDevice'', this object is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LinkStatus" access="readOnly">
        <description>
          Status of the link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Initializing"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readWrite">
        <description>
          Indicates the type of DSL connection and refers to the complete stack
          of protocol used for this connection.

          {{enum}} The value ''PPPoE'' has always been DEPRECATED and ''EoA''
          should be used instead (see {{bibref|TR-098a1|Annex B}}). The ACS
          MUST NOT set this parameter to ''PPPoE'' and the CPE MUST reject
          attempts to do so.
        </description>
        <syntax>
          <string>
            <enumeration value="EoA">
              <description>RFC2684 bridged Ethernet over ATM</description>
            </enumeration>
            <enumeration value="IPoA">
              <description>RFC2684 routed IP over ATM</description>
            </enumeration>
            <enumeration value="PPPoA">
              <description>RFC2364 PPP over ATM</description>
            </enumeration>
            <enumeration value="PPPoE" status="deprecated">
              <description>
                RFC2516 PPP over Ethernet on RFC2684 bridged Ethernet over ATM
              </description>
            </enumeration>
            <enumeration value="CIP">
              <description>RFC1577 Classical IP over ATM</description>
            </enumeration>
            <enumeration value="Unconfigured"/>
          </string>
          <default type="object" value="Unconfigured"/>
        </syntax>
      </parameter>

      <parameter name="AutoConfig" access="readOnly">
        <description>
          Indicates if the CPE is currently using some auto configuration
          mechanisms for this connection. If this variable is {{true}}, all
          writable variables in this connection instance become read-only. Any
          attempt to change one of these variables SHOULD fail and an error
          SHOULD be returned.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ModulationType" access="readOnly">
        <description>
          Indicates the type of DSL modulation used on the interface associated
          with this connection (duplication from ''WANDSLInterfaceConfig'').
        </description>
        <syntax>
          <string>
            <enumeration value="ADSL_G.dmt"/>
            <enumeration value="ADSL_G.lite"/>
            <enumeration value="ADSL_G.dmt.bis"/>
            <enumeration value="ADSL_re-adsl"/>
            <enumeration value="ADSL_2plus"/>
            <enumeration value="ADLS_four"/>
            <enumeration value="ADSL_ANSI_T1.413"/>
            <enumeration value="G.shdsl"/>
            <enumeration value="IDSL"/>
            <enumeration value="HDSL"/>
            <enumeration value="SDSL"/>
            <enumeration value="VDSL"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DestinationAddress" access="readWrite">
        <description>
          Destination address of this link. One of:

          * ''PVC: VPI/VCI''

          * ''SVC: ATM connection name''

          * ''SVC: ATM address''

          The "PVC:" or "SVC:" prefix is part of the parameter value and MUST
          be followed by 0 or 1 space characters. For example, possible values
          for this parameter are "PVC:8/23" or "PVC: 0/35".
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMEncapsulation" access="readWrite">
        <description>
          Identifies the connection encapsulation that will be used.
        </description>
        <syntax>
          <string>
            <enumeration value="LLC"/>
            <enumeration value="VCMUX"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="FCSPreserved" access="readWrite">
        <description>
          This flag tells if a checksum SHOULD be added in the ATM payload. It
          does not refer to the checksum of one of the ATM cells or AALX
          packets. In case of LLC or VCMUX encapsulation, this ATM checksum is
          the FCS field described in RFC 1483. It is only applicable in the
          upstream direction.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="VCSearchList" access="readWrite">
        <description>
          Comma separated ordered list of VPI/VCI pairs to search if a link
          using the {{param|DestinationAddress}} cannot be established. In the
          form:

          : ''VPI1/VCI1, VPI2/VCI2, ...'' Example:

          : ''0/35, 8/35, 1/35''
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ATMAAL" access="readOnly">
        <description>
          Describes the ATM Adaptation Layer (AAL) currently in use on the PVC.
        </description>
        <syntax>
          <string>
            <enumeration value="AAL1"/>
            <enumeration value="AAL2"/>
            <enumeration value="AAL3"/>
            <enumeration value="AAL4"/>
            <enumeration value="AAL5"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMTransmittedBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current count of successfully transmitted cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMReceivedBlocks" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current count of successfully received cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMQoS" access="readWrite">
        <description>
          Describes the ATM Quality Of Service (QoS) being used on the VC.
        </description>
        <syntax>
          <string>
            <enumeration value="UBR"/>
            <enumeration value="CBR"/>
            <enumeration value="GFR"/>
            <enumeration value="VBR-nrt"/>
            <enumeration value="VBR-rt"/>
            <enumeration value="UBR+"/>
            <enumeration value="ABR"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATMPeakCellRate" access="readWrite">
        <description>
          Specifies the upstream peak cell rate in cells per second.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMMaximumBurstSize" access="readWrite">
        <description>
          Specifies the upstream maximum burst size in cells.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMSustainableCellRate" access="readWrite">
        <description>
          Specifies the upstream sustainable cell rate, in cells per second,
          used for traffic shaping.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AAL5CRCErrors" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Count of the AAL5 layer cyclic redundancy check errors.

          This parameter is DEPRECATED because it overlaps with the
          {{param|ATMCRCErrors}} parameter. If present, it MUST have the same
          value as the {{param|ATMCRCErrors}} parameter if AAL5 is in use, or 0
          if AAL5 is not in use.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMCRCErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Count of the ATM layer cyclic redundancy check (CRC) errors. This
          refers to CRC errors at the ATM adaptation layer (AAL). The AAL in
          use is indicated by the {{param|ATMAAL}} parameter. The value of the
          {{param}} parameter MUST be 0 for AAL types that have no CRCs.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATMHECErrors" access="readOnly" activeNotify="canDeny">
        <description>
          Count of the number of Header Error Check related errors at the ATM
          layer.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANATMF5LoopbackDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object is provides access to an ATM-layer F5 OAM loopback test.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicates availability of diagnostic data. {{enum}} If the ACS sets
          the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Complete}} (if the test completed successfully), or one
          of the ''Error'' values listed above. If the value of this parameter
          is anything other than {{enum|Complete}}, 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 instance)
          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 {{enum|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 {{enum|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 {{enum|None}}. While the
          test is in progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Complete" access="readOnly"/>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
          <default type="object" value="None"/>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          Number of repetitions of the ping test to perform before reporting
          the results.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
          <default type="object" value="1"/>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the ping test.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of successful pings (those in
          which a successful response was received prior to the timeout) in the
          most recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FailureCount" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter indicating the number of failed pings in the most
          recent ping test.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="AverageResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the average response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MinimumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the minimum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MaximumResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter indicating the maximum response time in milliseconds
          over all repetitions with successful responses of the most recent
          ping test. If there were no successful responses, this value MUST be
          zero.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANEthernetLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the Ethernet link layer properties specific to a
        single physical connection used for Internet access on a CPE. This
        object is intended for a CPE with an Ethernet WAN interface, and is
        exclusive of any other ''WAN*LinkConfig'' object within a given
        ''WANConnectionDevice'' instance. Note that this object is not related
        to the Ethernet protocol layer sometimes used in associated with a DSL
        connection.
      </description>

      <parameter name="EthernetLinkStatus" access="readOnly">
        <description>
          Status of the Ethernet link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPOTSLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        This object models the POTS link layer properties specific to a single
        physical connection used for Internet access on a CPE. This object is
        intended for a CPE with a POTS WAN interface, and is exclusive of any
        other ''WAN*LinkConfig'' object within a given ''WANConnectionDevice''
        instance.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the link. On creation of a
          ''WANConnectionDevice'', this object is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LinkStatus" access="readOnly">
        <description>
          Status of the link.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Dialing"/>
            <enumeration value="Connecting"/>
            <enumeration value="Unavailable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ISPPhoneNumber" access="readWrite">
        <description>
          Specifies a list of strings separated by semicolon (;), each string
          representing a phone number to connect to a particular ISP. The
          digits of the phone number follow the semantics of the ITU-T E.164
          specification. Delimiters such as brackets or hyphens between the
          digits of a phone number are to be ignored by the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ISPInfo" access="readWrite">
        <description>
          Information identifying the Internet Service Provider. The format of
          the string is vendor specific.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="LinkType" access="readWrite">
        <description>
          This variable indicates the type of POTS link used for the dialup
          connection.
        </description>
        <syntax>
          <string>
            <enumeration value="PPP_Dialup"/>
          </string>
          <default type="object" value="PPP_Dialup"/>
        </syntax>
      </parameter>

      <parameter name="NumberOfRetries" access="readWrite">
        <description>
          The number of times the CPE SHOULD attempt an Internet connection
          setup before returning error.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenRetries" access="readWrite">
        <description>
          The number of seconds the CPE SHOULD wait between attempts to setup
          an Internet connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Fclass" access="readOnly">
        <description>
          Specifies capabilities of the POTS modem - i.e., if it handles data
          ({{enum|0}}), fax ({{enum|1}},{{enum|2}},{{enum|2.0}}), voice
          ({{enum|8}}), DSVD ({{enum|80}}).
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="0"/>
            <enumeration value="1"/>
            <enumeration value="2"/>
            <enumeration value="2.0"/>
            <enumeration value="8"/>
            <enumeration value="80"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataModulationSupported" access="readOnly">
        <description>
          The modulation standard currently being used for data.
        </description>
        <syntax>
          <string>
            <enumeration value="V92"/>
            <enumeration value="V90"/>
            <enumeration value="V34"/>
            <enumeration value="V32bis"/>
            <enumeration value="V32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataProtocol" access="readOnly">
        <description>
          The protocol standard currently being used for data transfers.
        </description>
        <syntax>
          <string>
            <enumeration value="V42_LAPM"/>
            <enumeration value="V42_MNP4"/>
            <enumeration value="V14"/>
            <enumeration value="V80"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataCompression" access="readOnly">
        <description>
          The compression technology implemented on the modem.
        </description>
        <syntax>
          <string>
            <enumeration value="V42bis"/>
            <enumeration value="MNP5"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PlusVTRCommandSupported" access="readOnly">
        <description>
          Capability for full duplex operation with data and voice.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANIPConnectionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object enables configuration of IP connections on the WAN
        interface of a CPE.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the connection instance. On creation of a
          ''WANIPConnection'' instance, it is initially disabled.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ConnectionStatus" access="readOnly">
        <description>
          Current status of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="Connecting"/>
            <enumeration value="Connected"/>
            <enumeration value="PendingDisconnect"/>
            <enumeration value="Disconneting"/>
            <enumeration value="Disconnected"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleConnectionTypes" access="readOnly">
        <description>
          Types of connections possible for this connection instance.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="IP_Bridged"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readWrite">
        <description>
          Specifies the connection type of the connection instance.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="IP_Bridged"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readWrite">
        <description>
          User-readable name of this connection.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Uptime" access="readOnly" activeNotify="canDeny">
        <description>
          The time in seconds that this connection has been up.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastConnectionError" access="readOnly">
        <description>
          The cause of failure for the last connection setup attempt.
        </description>
        <syntax>
          <string>
            <enumeration value="ERROR_NONE"/>
            <enumeration value="ERROR_COMMAND_ABORTED"/>
            <enumeration value="ERROR_NOT_ENABLED_FOR_INTERNET"/>
            <enumeration value="ERROR_USER_DISCONNECT"/>
            <enumeration value="ERROR_ISP_DISCONNECT"/>
            <enumeration value="ERROR_IDLE_DISCONNECT"/>
            <enumeration value="ERROR_FORCED_DISCONNECT"/>
            <enumeration value="ERROR_NO_CARRIER"/>
            <enumeration value="ERROR_IP_CONFIGURATION"/>
            <enumeration value="ERROR_UNKNOWN"/>
          </string>
          <default type="object" value="ERROR_NONE"/>
        </syntax>
      </parameter>

      <parameter name="AutoDisconnectTime" access="readWrite">
        <description>
          The time in seconds since the establishment of the connection after
          which connection termination is automatically initiated by the CPE.
          This occurs irrespective of whether the connection is being used or
          not. A value of 0 (zero) indicates that the connection is not to be
          shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IdleDisconnectTime" access="readWrite">
        <description>
          The time in seconds that if the connection remains idle, the CPE
          automatically terminates the connection. A value of 0 (zero)
          indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WarnDisconnectDelay" access="readWrite">
        <description>
          Time in seconds the Status remains in the pending disconnect state
          before transitioning to disconnecting state to drop the connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RSIPAvailable" access="readOnly">
        <description>
          Indicates if Realm-specific IP (RSIP) is available as a feature on
          the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="NATEnabled" access="readWrite">
        <description>
          Indicates if Network Address Translation (NAT) is enabled for this
          connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AddressingType" access="readWrite">
        <description>
          The method used to assign an address to the WAN side interface of the
          CPE for this connection.
        </description>
        <syntax>
          <string>
            <enumeration value="DHCP"/>
            <enumeration value="Static"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExternalIPAddress" access="readWrite">
        <description>
          This is the external IP address used by NAT for this connection. This
          parameter is configurable only if the {{param|AddressingType}} is
          {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Subnet mask of the WAN interface. This parameter is configurable only
          if the {{param|AddressingType}} is {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DefaultGateway" access="readWrite">
        <description>
          The IP address of the default gateway for this connection. This
          parameter is configurable only if the {{param|AddressingType}} is
          {{enum|Static|AddressingType}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DNSEnabled" access="readWrite">
        <description>
          Whether or not the device SHOULD attempt to query a DNS server across
          this connection.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DNSOverrideAllowed" access="readWrite">
        <description>
          Whether or not a manually set, non-empty DNS address can be
          overridden by a DNS entry received from the WAN.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS server IP addresses for this connection. Support for more than
          three DNS Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxMTUSize" access="readWrite">
        <description>
          The maximum allowed size of an Ethernet frame from LAN-side devices.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readWrite">
        <description>
          The physical address of the ''WANIPConnection'' if applicable.
          Configurable only if {{param|MACAddressOverride}} is present and
          {{true}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressOverride" access="readWrite">
        <description>
          Whether the value of {{param|MACAddress}} parameter can be
          overridden. If {{false}}, the CPE's default value is used (or
          restored if it had previously been overridden).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ConnectionTrigger" access="readWrite">
        <description>
          Trigger used to establish the IP connection.

          {{enum}} The above values are defined as follows:

          * {{enum|OnDemand}}: If this IP connection is disconnected for any
            reason, it is to remain disconnected until the CPE has one or more
            packets to communicate over this connection, at which time the CPE
            automatically attempts to reestablish the connection.

          * {{enum|AlwaysOn}}: If this IP connection is disconnected for any
            reason, the CPE automatically attempts to reestablish the
            connection (and continues to attempt to reestablish the connection
            as long it remains disconnected).

          * {{enum|Manual}}: If this IP connection is disconnected for any
            reason, it is to remain disconnected until the user of the CPE
            explicitly instructs the CPE to reestablish the connection. Note
            that the reason for an IP connection becoming disconnected to begin
            with might be either external to the CPE, such as non-renewal of a
            DHCP lease or momentary disconnection of the physical interface, or
            internal to the CPE, such as use of the
            {{param|IdleDisconnectTime}} and/or {{param|AutoDisconnectTime}}
            parameters in this object. Note also that the means by which a CPE
            would keep an IP connection disconnected (while waiting for the
            designated trigger) if it is otherwise physically connected and has
            an IP address is a local matter specific to the implementation of
            the CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="OnDemand"/>
            <enumeration value="AlwaysOn"/>
            <enumeration value="Manual"/>
          </string>
          <default type="object" value="OnDemand"/>
        </syntax>
      </parameter>

      <parameter name="RouteProtocolRx" access="readWrite">
        <description>
          Defines the Rx protocol to be used.
        </description>
        <syntax>
          <string>
            <enumeration value="Off"/>
            <enumeration value="RIPv1" optional="true"/>
            <enumeration value="RIPv2" optional="true"/>
            <enumeration value="OSPF" optional="true"/>
          </string>
          <default type="object" value="Off"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingNumberOfEntries" access="readOnly">
        <description>
          Total number of port mapping entries.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this connection's egress 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 &lt;= 100, in
          percent of the rate of the highest rate-constrained layer over which
          the packet will travel on egress. If &gt; 100, in bits per second. A
          value of -1 indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes. For both leaky bucket (constant rate shaping)
          and token bucket (variable rate shaping) this is the bucket size and
          is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PortMappingNumberOfEntries"
        enableParameter="PortMappingEnabled">
      <description>
        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. At most one entry in an
        instance of this table can exist with all of the same values for
        {{param|RemoteHost}}, {{param|ExternalPort}}, and
        {{param|PortMappingProtocol}}. If the ACS attempts to set the
        parameters of an existing entry such that this requirement would be
        violated, the CPE MUST reject the request. In this case, the
        SetParameterValues response MUST include a SetParameterValuesFault
        element for each parameter in the corresponding request whose
        modification would have resulted in such a violation. On creation of a
        new table entry, the CPE MUST choose default values for
        {{param|ExternalPort}} and {{param|PortMappingProtocol}} such that the
        new entry does not conflict with any existing entry.
      </description>
      <uniqueKey>
        <parameter ref="RemoteHost"/>
        <parameter ref="ExternalPort"/>
        <parameter ref="PortMappingProtocol"/>
      </uniqueKey>

      <parameter name="PortMappingEnabled" access="readWrite">
        <description>
          Enables or disables the port mapping instance. On creation, an entry
          is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingLeaseDuration" access="readWrite"
          activeNotify="canDeny">
        <description>
          Determines the time to live, in seconds, of a port-mapping lease,
          where "time to live" means the number of seconds before the port
          mapping expires. A value of 0 means the port mapping is static.
          Support for dynamic (non-static) port mappings is OPTIONAL. That is,
          the only value for {{param}} that MUST be supported is 0. For a
          dynamic (non-static) port mapping, when this parameter is read, the
          value represents the time remaining on the port-mapping lease. That
          is, for a dynamic port mapping, the value counts down toward 0. When
          a dynamic port-mapping lease expires, the CPE MUST automatically
          terminate that port mapping, and MUST automatically delete the
          corresponding ''PortMapping'' table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RemoteHost" access="readWrite">
        <description>
          This parameter is the IP address of the source of inbound packets.
          {{empty}} indicates a "wildcard" (this will be a wildcard in most
          cases). CPE are REQUIRED only to support wildcards. When {{param}} is
          a wildcard, all traffic sent to the {{param|ExternalPort}} on the WAN
          interface of the gateway is forwarded to the {{param|InternalClient}}
          on the {{param|InternalPort}}. When {{param}} is specified as one
          external IP address, the NAT will only forward inbound packets from
          this {{param}} to the {{param|InternalClient}}, all other packets
          will be dropped. If a CPE supports non-wildcard values for {{param}},
          it MAY additionally support the ability to have more than one port
          mapping with the same {{param|ExternalPort}} and
          {{param|PortMappingProtocol}}, but with differing values of
          {{param}}. When wildcard values are used for {{param}} and/or
          {{param|ExternalPort}}, the following precedence order applies (with
          the highest precedence listed first):

          # Explicit {{param}}, explicit {{param|ExternalPort}}

          # Explicit {{param}}, wildcard {{param|ExternalPort}}

          # Wildcard {{param}}, explicit {{param|ExternalPort}}

          # Wildcard {{param}}, wildcard {{param|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. At most one entry in this table can exist
            with all of the same values for {{param}}, {{param|ExternalPort}},
            and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ExternalPort" access="readWrite">
        <description>
          The external port that the NAT gateway would listen on for connection
          requests to a corresponding {{param|InternalPort}}. Inbound packets
          to this external port on the WAN interface SHOULD be forwarded to
          {{param|InternalClient}} on the {{param|InternalPort}}. A value of
          zero (0) represents a "wildcard". If this value is a wildcard,
          connection request on all external ports (that are not otherwise
          mapped) will be forwarded to {{param|InternalClient}}. In the
          wildcard case, the value(s) of {{param|InternalPort}} on
          {{param|InternalClient}} are ignored. When wildcard values are used
          for {{param|RemoteHost}} and/or {{param}}, the following precedence
          order applies (with the highest precedence listed first):

          # Explicit {{param|RemoteHost}}, explicit {{param}}

          # Explicit {{param|RemoteHost}}, wildcard {{param}}

          # Wildcard {{param|RemoteHost}}, explicit {{param}}

          # Wildcard {{param|RemoteHost}}, wildcard {{param}} 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. At most one entry in this table can exist
            with all of the same values for {{param|RemoteHost}}, {{param}},
            and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InternalPort" access="readWrite">
        <description>
          The port on {{param|InternalClient}} that the gateway SHOULD forward
          connection requests to. A value of zero (0) is not allowed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingProtocol" access="readWrite">
        <description>
          The protocol of the port mapping.

          {{enum}} At most one entry in this table can exist with all of the
          same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and
          {{param}}.
        </description>
        <syntax>
          <string>
            <enumeration value="TCP"/>
            <enumeration value="UDP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InternalClient" access="readWrite">
        <description>
          The IP address or DNS host name of an internal client (on the LAN).
          Support for an IP address is mandatory. If {{param}} 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 {{param}} 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 ACS
          can learn the host name associated with a given LAN device via the
          ''Hosts'' table
          ({{object|InternetGatewayDevice.LANDevice.{i}.Hosts}}). Read access
          to this parameter MUST always return the exact value that was last
          set by the ACS. 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. {{empty}} indicates an unconfigured {{param}}. If this
          parameter is unconfigured, this port mapping MUST NOT be operational.
          It MUST be possible to set the {{param}} 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PortMappingDescription" access="readWrite">
        <description>
          User-readable description of this port mapping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for all connections within the same
        ''WANConnectionDevice'' that share a common MAC address. The contents
        of this object SHOULD be identical for each such connection. This
        object is intended only for ''WANConnectionDevice''s that can support
        an Ethernet-layer on this interface (e.g., ''PPPoE'', ''IPoE'').
      </description>

      <parameter name="EthernetBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address since the CPE
          was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address since the CPE
          was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets sent over all connections within the
          same ''WANConnectionDevice'' that share a common MAC address since
          the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets received over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address
          since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="WANPPPConnectionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object enables configuration of PPP connections on the WAN
        interface of a CPE.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the connection instance. On creation of a
          ''WANPPPConnection'' instance, it is initially disabled.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ConnectionStatus" access="readOnly">
        <description>
          Current status of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="Connecting"/>
            <enumeration value="Authenticating"/>
            <enumeration value="Connected"/>
            <enumeration value="PendingDisconnect"/>
            <enumeration value="Disconnecting"/>
            <enumeration value="Disconnected"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleConnectionTypes" access="readOnly">
        <description>
          Types of connections possible for this connection instance.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="DHCP_Spoofed"/>
            <enumeration value="PPPoE_Bridged"/>
            <enumeration value="PPPoE_Relay"/>
            <enumeration value="PPTP_Relay"/>
            <enumeration value="L2TP_Relay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnectionType" access="readWrite">
        <description>
          Specifies the connection type of the connection instance.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="IP_Routed"/>
            <enumeration value="DHCP_Spoofed"/>
            <enumeration value="PPPoE_Bridged"/>
            <enumeration value="PPPoE_Relay"/>
            <enumeration value="PPTP_Relay"/>
            <enumeration value="L2TP_Relay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readWrite">
        <description>
          User-readable name of this connection.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Uptime" access="readOnly" activeNotify="canDeny">
        <description>
          The time in seconds that this connection has been up.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastConnectionError" access="readOnly">
        <description>
          The cause of failure for the last connection setup attempt.
        </description>
        <syntax>
          <string>
            <enumeration value="ERROR_NONE"/>
            <enumeration value="ERROR_ISP_TIME_OUT"/>
            <enumeration value="ERROR_COMMAND_ABORTED"/>
            <enumeration value="ERROR_NOT_ENABLED_FOR_INTERNET"/>
            <enumeration value="ERROR_BAD_PHONE_NUMBER"/>
            <enumeration value="ERROR_USER_DISCONNECT"/>
            <enumeration value="ERROR_ISP_DISCONNECT"/>
            <enumeration value="ERROR_IDLE_DISCONNECT"/>
            <enumeration value="ERROR_FORCED_DISCONNECT"/>
            <enumeration value="ERROR_SERVER_OUT_OF_RESOURCES"/>
            <enumeration value="ERROR_RESTRICTED_LOGON_HOURS"/>
            <enumeration value="ERROR_ACCOUNT_DISABLED"/>
            <enumeration value="ERROR_ACCOUNT_EXPIRED"/>
            <enumeration value="ERROR_PASSWORD_EXPIRED"/>
            <enumeration value="ERROR_AUTHENTICATION_FAILURE"/>
            <enumeration value="ERROR_NO_DIALTONE"/>
            <enumeration value="ERROR_NO_CARRIER"/>
            <enumeration value="ERROR_NO_ANSWER"/>
            <enumeration value="ERROR_LINE_BUSY"/>
            <enumeration value="ERROR_UNSUPPORTED_BITSPERSECOND"/>
            <enumeration value="ERROR_TOO_MANY_LINE_ERRORS"/>
            <enumeration value="ERROR_IP_CONFIGURATION"/>
            <enumeration value="ERROR_UNKNOWN"/>
          </string>
          <default type="object" value="ERROR_NONE"/>
        </syntax>
      </parameter>

      <parameter name="AutoDisconnectTime" access="readWrite">
        <description>
          The time in seconds since the establishment of the connection after
          which connection termination is automatically initiated by the CPE.
          This occurs irrespective of whether the connection is being used or
          not. A value of 0 (zero) indicates that the connection is not to be
          shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IdleDisconnectTime" access="readWrite">
        <description>
          The time in seconds that if the connection remains idle, the CPE
          automatically terminates the connection. A value of 0 (zero)
          indicates that the connection is not to be shut down automatically.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="WarnDisconnectDelay" access="readWrite">
        <description>
          Time in seconds the Status remains in the pending disconnect state
          before transitioning to disconnecting state to drop the connection.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RSIPAvailable" access="readOnly">
        <description>
          Indicates if Realm-specific IP (RSIP) is available as a feature on
          the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="NATEnabled" access="readWrite">
        <description>
          Indicates if Network Address Translation (NAT) is enabled for this
          connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used for authentication.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be usef for authentication.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PPPEncryptionProtocol" access="readOnly">
        <description>
          Describes the PPP encryption protocol used between the WAN device and
          the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="MPPE"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPCompressionProtocol" access="readOnly">
        <description>
          Describes the PPP compression protocol used between the WAN device
          and the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Van Jacobsen"/>
            <enumeration value="STAC LZS"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPAuthenticationProtocol" access="readOnly">
        <description>
          Describes the PPP authentication protocol used between the WAN device
          and the ISP POP.
        </description>
        <syntax>
          <string>
            <enumeration value="PAP"/>
            <enumeration value="CHAP"/>
            <enumeration value="MS-CHAP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExternalIPAddress" access="readOnly">
        <description>
          This is the external IP address used by NAT for this connection.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="RemoteIPAddress" access="readOnly">
        <description>
          The remote IP address for this connection.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxMRUSize" access="readWrite">
        <description>
          The maximum allowed size of frames sent from the remote peer.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CurrentMRUSize" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current MRU in use over this connection.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="1540"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DNSEnabled" access="readWrite">
        <description>
          Whether or not the device SHOULD attempt to query a DNS server across
          this connection.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DNSOverrideAllowed" access="readWrite">
        <description>
          Whether or not a manually set, non-empty DNS address can be
          overridden by a DNS entry received from the WAN.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readWrite">
        <description>
          DNS server IP addresses for this connection. Support for more than
          three DNS Servers is OPTIONAL.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readWrite">
        <description>
          The physical address of the ''WANPPPConnection'' if applicable.
          Configurable only if {{param|MACAddressOverride}} is present and
          {{true}}.

          If {{param|TransportType}} is {{enum|PPPoA|TransportType}}, the value
          of this parameter is irrelevant and MUST be {{empty}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddressOverride" access="readWrite">
        <description>
          Whether the value of {{param|MACAddress}} parameter can be
          overridden. If {{false}}, the CPE's default value is used (or
          restored if it had previously been overridden).

          If {{param|TransportType}} is {{enum|PPPoA|TransportType}}, the value
          of this parameter is irrelevant and MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TransportType" access="readOnly">
        <description>
          PPP transport type of the connection.
        </description>
        <syntax>
          <string>
            <enumeration value="PPPoA"/>
            <enumeration value="PPPoE"/>
            <enumeration value="L2TP">
              <description>for future use</description>
            </enumeration>
            <enumeration value="PPTP">
              <description>for future use</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="PPPoEACName" access="readWrite">
        <description>
          PPPoE Access Concentrator.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PPPoEServiceName" access="readWrite">
        <description>
          PPPoE Service Name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ConnectionTrigger" access="readWrite">
        <description>
          Trigger used to establish the PPP connection. {{enum}} The above
          values are defined as follows:

          * {{enum|OnDemand}}: If this PPP connection is disconnected for any
            reason, it is to remain disconnected until the CPE has one or more
            packets to communicate over this connection, at which time the CPE
            automatically attempts to reestablish the connection.

          * {{enum|AlwaysOn}}: If this PPP connection is disconnected for any
            reason, the CPE automatically attempts to reestablish the
            connection (and continues to attempt to reestablish the connection
            as long it remains disconnected).

          * {{enum|Manual}}: If this PPP connection is disconnected for any
            reason, it is to remain disconnected until the user of the CPE
            explicitly instructs the CPE to reestablish the connection. Note
            that the reason for a PPP connection becoming disconnected to begin
            with might be either external to the CPE, such as termination by
            the BRAS or momentary disconnection of the physical interface, or
            internal to the CPE, such as use of the
            {{param|IdleDisconnectTime}} and/or {{param|AutoDisconnectTime}}
            parameters in this object.
        </description>
        <syntax>
          <string>
            <enumeration value="OnDemand"/>
            <enumeration value="AlwaysOn"/>
            <enumeration value="Manual"/>
          </string>
          <default type="object" value="OnDemand"/>
        </syntax>
      </parameter>

      <parameter name="RouteProtocolRx" access="readWrite">
        <description>
          Defines the Rx protocol to be used.
        </description>
        <syntax>
          <string>
            <enumeration value="Off"/>
            <enumeration value="RIPv1" optional="true"/>
            <enumeration value="RIPv2" optional="true"/>
            <enumeration value="OSPF" optional="true"/>
          </string>
          <default type="object" value="Off"/>
        </syntax>
      </parameter>

      <parameter name="PPPLCPEcho" access="readOnly">
        <description>
          PPP LCP Echo period in seconds.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PPPLCPEchoRetry" access="readOnly">
        <description>
          Number of PPP LCP Echo retries within an echo period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingNumberOfEntries" access="readOnly">
        <description>
          Total number of port mapping entries.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this connection's egress 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 &lt;= 100, in
          percent of the rate of the highest rate-constrained layer over which
          the packet will travel on egress. If &gt; 100, in bits per second. A
          value of -1 indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes. For both leaky bucket (constant rate shaping)
          and token bucket (variable rate shaping) this is the bucket size and
          is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PortMappingNumberOfEntries"
        enableParameter="PortMappingEnabled">
      <description>
        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. At most one entry in an
        instance of this table can exist with all of the same values for
        {{param|RemoteHost}}, {{param|ExternalPort}}, and
        {{param|PortMappingProtocol}}. If the ACS attempts to set the
        parameters of an existing entry such that this requirement would be
        violated, the CPE MUST reject the request. In this case, the
        SetParameterValues response MUST include a SetParameterValuesFault
        element for each parameter in the corresponding request whose
        modification would have resulted in such a violation. On creation of a
        new table entry, the CPE MUST choose default values for
        {{param|ExternalPort}} and {{param|PortMappingProtocol}} such that the
        new entry does not conflict with any existing entry.
      </description>
      <uniqueKey>
        <parameter ref="RemoteHost"/>
        <parameter ref="ExternalPort"/>
        <parameter ref="PortMappingProtocol"/>
      </uniqueKey>

      <parameter name="PortMappingEnabled" access="readWrite">
        <description>
          Enables or disables the port mapping instance. On creation, an entry
          is disabled by default.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PortMappingLeaseDuration" access="readWrite"
          activeNotify="canDeny">
        <description>
          Determines the time to live, in seconds, of a port-mapping lease,
          where "time to live" means the number of seconds before the port
          mapping expires. A value of 0 means the port mapping is static.
          Support for dynamic (non-static) port mappings is OPTIONAL. That is,
          the only value for {{param}} that MUST be supported is 0. For a
          dynamic (non-static) port mapping, when this parameter is read, the
          value represents the time remaining on the port-mapping lease. That
          is, for a dynamic port mapping, the value counts down toward 0. When
          a dynamic port-mapping lease expires, the CPE MUST automatically
          terminate that port mapping, and MUST automatically delete the
          corresponding ''PortMapping'' table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RemoteHost" access="readWrite">
        <description>
          This parameter is the IP address of the source of inbound packets.
          {{empty}} indicates a "wildcard" (this will be a wildcard in most
          cases). CPE are REQUIRED only to support wildcards. When {{param}} is
          a wildcard, all traffic sent to the {{param|ExternalPort}} on the WAN
          interface of the gateway is forwarded to the {{param|InternalClient}}
          on the {{param|InternalPort}}. When {{param}} is specified as one
          external IP address, the NAT will only forward inbound packets from
          this {{param}} to the {{param|InternalClient}}, all other packets
          will be dropped. If a CPE supports non-wildcard values for {{param}},
          it MAY additionally support the ability to have more than one port
          mapping with the same {{param|ExternalPort}} and
          {{param|PortMappingProtocol}}, but with differing values of
          {{param}}. When wildcard values are used for {{param}} and/or
          {{param|ExternalPort}}, the following precedence order applies (with
          the highest precedence listed first):

          # Explicit {{param}}, explicit {{param|ExternalPort}}

          # Explicit {{param}}, wildcard {{param|ExternalPort}}

          # Wildcard {{param}}, explicit {{param|ExternalPort}}

          # Wildcard {{param}}, wildcard {{param|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. At most one entry in this table can exist
            with all of the same values for {{param}}, {{param|ExternalPort}},
            and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ExternalPort" access="readWrite">
        <description>
          The external port that the NAT gateway would listen on for connection
          requests to a corresponding {{param|InternalPort}}. Inbound packets
          to this external port on the WAN interface SHOULD be forwarded to
          {{param|InternalClient}} on the {{param|InternalPort}}. A value of
          zero (0) represents a "wildcard". If this value is a wildcard,
          connection request on all external ports (that are not otherwise
          mapped) will be forwarded to {{param|InternalClient}}. In the
          wildcard case, the value(s) of {{param|InternalPort}} on
          {{param|InternalClient}} are ignored. When wildcard values are used
          for {{param|RemoteHost}} and/or {{param}}, the following precedence
          order applies (with the highest precedence listed first):

          # Explicit {{param|RemoteHost}}, explicit {{param}}

          # Explicit {{param|RemoteHost}}, wildcard {{param}}

          # Wildcard {{param|RemoteHost}}, explicit {{param}}

          # Wildcard {{param|RemoteHost}}, wildcard {{param}} 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. At most one entry in this table can exist
            with all of the same values for {{param|RemoteHost}}, {{param}},
            and {{param|PortMappingProtocol}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InternalPort" access="readWrite">
        <description>
          The port on {{param|InternalClient}} that the gateway SHOULD forward
          connection requests to. A value of zero (0) is not allowed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PortMappingProtocol" access="readWrite">
        <description>
          The protocol of the port mapping.

          {{enum}} At most one entry in this table can exist with all of the
          same values for {{param|RemoteHost}}, {{param|ExternalPort}}, and
          {{param}}.
        </description>
        <syntax>
          <string>
            <enumeration value="TCP"/>
            <enumeration value="UDP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InternalClient" access="readWrite">
        <description>
          The IP address or DNS host name of an internal client (on the LAN).
          Support for an IP address is mandatory. If {{param}} 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 {{param}} 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 ACS
          can learn the host name associated with a given LAN device via the
          ''Hosts'' table
          ({{object|InternetGatewayDevice.LANDevice.{i}.Hosts}}). Read access
          to this parameter MUST always return the exact value that was last
          set by the ACS. 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. {{empty}} indicates an unconfigured {{param}}. If this
          parameter is unconfigured, this port mapping MUST NOT be operational.
          It MUST be possible to set the {{param}} 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PortMappingDescription" access="readWrite">
        <description>
          User-readable description of this port mapping.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for all connections within the same
        ''WANConnectionDevice'' that share a common MAC address. The contents
        of this object SHOULD be identical for each such connection. This
        object is intended only for ''WANConnectionDevice''s that can support
        an Ethernet-layer on this interface (e.g., ''PPPoE'', ''IPoE'').
      </description>

      <parameter name="EthernetBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes sent over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address since the CPE
          was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of bytes received over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address since the CPE
          was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets sent over all connections within the
          same ''WANConnectionDevice'' that share a common MAC address since
          the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Ethernet packets received over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address
          since the CPE was last reset.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Layer-2 bridging table. Specifies bridges between layer-2 LAN and/or
        WAN interfaces. Bridges can be defined to include layer-2 filter
        criteria to selectively bridge traffic between interfaces.
      </description>

      <parameter name="MaxBridgeEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Bridge}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxFilterEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Filter}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxMarkingEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Marking}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BridgeNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Bridge}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FilterNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Filter}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MarkingNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|Marking}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AvailableInterfaceNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|AvailableInterface}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="BridgeNumberOfEntries"
        enableParameter="BridgeEnable">
      <description>
        Bridge table.
      </description>
      <uniqueKey>
        <parameter ref="BridgeKey"/>
      </uniqueKey>

      <parameter name="BridgeKey" access="readOnly">
        <description>
          Unique key for each Bridge table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BridgeEnable" access="readWrite">
        <description>
          Enables or disables this Bridge table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="BridgeStatus" access="readOnly">
        <description>
          The status of this Bridge table entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="BridgeName" access="readWrite">
        <description>
          Human-readable name for this Bridge table entry.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANID" access="readWrite">
        <description>
          The 802.1Q VLAN ID associated with this Bridge. A value of 0
          indicates either Untagged or PriorityOnly tagging, which are treated
          identically.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4094"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Filter.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="FilterNumberOfEntries"
        enableParameter="FilterEnable">
      <description>
        Filter table containing filter entries each of which is associated with
        one Bridge as specified by a ''Bridge'' table entry.
      </description>
      <uniqueKey>
        <parameter ref="FilterKey"/>
      </uniqueKey>

      <parameter name="FilterKey" access="readOnly">
        <description>
          Unique key for each Filter table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FilterEnable" access="readWrite">
        <description>
          Enables or disables this Filter table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="FilterStatus" access="readOnly">
        <description>
          The status of this Filter table entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="FilterBridgeReference" access="readWrite">
        <description>
          The ''BridgeKey'' value of the ''Bridge'' table entry associated with
          this Filter. A value of -1 indicates the Filter table entry is not
          associated with a Bridge (and has no effect).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ExclusivityOrder" access="readWrite">
        <description>
          Whether or not the Filter definition is exclusive of all others. And
          if the entry is exclusive, order of precedence. A value of 1 or
          greater indicates an Exclusive Filter, where the value 1 indicates
          the first entry to be considered (highest precedence). A value of 0
          indicates a Non-Exclusive Filter. For each packet, if the packet
          matches any Exclusive Filters, the packet is assigned to the Bridge
          associated with the highest precedence Exclusive Filter to which it
          matches (lowest {{param}} value). If and only if the packet does not
          match any Exclusive Filters, the packet is assigned to all Bridges
          associated with each Non-Exclusive Filter for which it matches the
          defining criteria. If a packet matches no Filter, it is discarded.
          When the {{param}} is set to match that of an existing Exclusive
          Filter (1 or greater), the value for the existing entry and all
          higher numbered entries is incremented (lowered in precedence) to
          ensure uniqueness of this value. A deletion or change in {{param}} of
          an Exclusive Filter causes {{param}} values of other Exclusive
          Filters (values 1 or greater) to be compacted. Note that the use of
          Exclusive Filters to associate a layer-3 router interface with LAN
          and/or WAN interfaces via a Bridge entry overrides the default
          association between layer-3 and layer-2 objects implied by the
          ''InternetGatewayDevice'' object hierarchy.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FilterInterface" access="readWrite">
        <description>
          The interface or interfaces associated with this Filter table entry.
          The bridge corresponding to this Filter table entry is defined to
          admit packets on ingress to the bridge from the specified interfaces
          that meet all of the criteria specified in the Filter table entry.
          The following values are defined. To associate this Filter with a
          single interface listed in the AvailableInterface table, the
          {{param}} value is set to the value of corresponding
          ''AvailableInterfaceKey''.

          * ''AllInterfaces'' indicates that this Filter is associated with all
            LAN and WAN interfaces listed in the ''AvailableInterface'' table
            (all entries of ''InterfaceType'' ''LANInterface'' or
            ''WANInterface'').

          * ''LANInterfaces'' indicates that this Filter is associated with all
            LAN interfaces listed in the ''AvailableInterface'' table (all
            entries of ''InterfaceType'' ''LANInterface'').

          * ''WANInterfaces'' indicates that this Filter is associated with all
            WAN interfaces listed in the ''AvailableInterface'' table (all
            entries of ''InterfaceType'' ''WANInterface'').

          * {{empty}} indicates the Filter table entry is not associated with
            any interface (and has no effect)
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANIDFilter" access="readWrite">
        <description>
          The 802.1Q VLAN ID of packets to admit to the specified Bridge
          through the interfaces specified for this Filter. A value of -1
          indicates that the default VLAN ID for the Bridge SHOULD be used
          instead (as specified by
          {{param|InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLANID}} for
          the Bridge table entry associated with this Filter table entry). On
          creation of a Filter entry, the default value for this parameter MUST
          be -1.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4095"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AdmitOnlyVLANTagged" access="readWrite">
        <description>
          If {{true}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only packets tagged with a VLAN ID that
          matches the {{param|VLANIDFilter}} parameter (or instead, the VLAN ID
          for the Bridge if {{param|VLANIDFilter}} is unspecified). If
          {{false}}, on ingress to the interfaces associated with this Filter,
          the Bridge admits both packets tagged with a VLAN ID that matches the
          {{param|VLANIDFilter}} parameter (or instead, the VLAN ID for the
          Bridge if {{param|VLANIDFilter}} is unspecified), and any Untagged or
          PriorityOnly packets. All Untagged or PriorityOnly packets are tagged
          on ingress with the value of the {{param|VLANID}} parameter. If the
          {{param|VLANIDFilter}} parameter (or instead, the VLAN ID for the
          Bridge if {{param|VLANIDFilter}} is unspecified) is equal to 0, then
          this parameter is ignored, and only packets that are Untagged or
          PriorityOnly packets are admitted.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="EthertypeFilterList" access="readWrite">
        <description>
          Comma-separated list of unsigned integers, each representing an
          Ethertype value.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <unsignedInt/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="EthertypeFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge is defined to admit only those packets that match
          one of the {{param|EthertypeFilterList}} entries (in either the
          Ethernet or SNAP Type header). If the {{param|EthertypeFilterList}}
          is empty, no packets are admitted. If {{true}}, on ingress to the
          interfaces associated with this Filter, the Bridge is defined to
          admit all packets except those packets that match one of the
          {{param|EthertypeFilterList}} entries (in either the Ethernet or SNAP
          Type header). If the {{param|EthertypeFilterList}} is empty, packets
          are admitted regardless of Ethertype.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddressFilterList" access="readWrite">
        <description>
          Each list entry MAY optionally specify a bit-mask, where matching of
          a packet's MAC address is only to be done for bit positions set to
          one in the mask. If no mask is specified, all bits of the MAC Address
          are to be used for matching. For example, the list might be:
          ''01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00,
          88:77:66:55:44:33''
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddressFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose source MAC Address
          matches one of the {{param|SourceMACAddressFilterList}} entries. If
          the {{param|SourceMACAddressFilterList}} is empty, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          source MAC Address matches one of the
          {{param|SourceMACAddressFilterList}} entries. If the
          {{param|SourceMACAddressFilterList}} is empty, packets are admitted
          regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddressFilterList" access="readWrite">
        <description>
          Each list entry MAY optionally specify a bit-mask, where matching of
          a packet's MAC address is only to be done for bit positions set to
          one in the mask. If no mask is specified, all bits of the MAC Address
          are to be used for matching. For example, the list might be:
          ''01:02:03:04:05:06, 1:22:33:00:00:00/FF:FF:FF:00:00:00,
          88:77:66:55:44:33''
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddressFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose destination MAC
          Address matches one of the {{param|DestMACAddressFilterList}}
          entries. If the {{param|DestMACAddressFilterList}} is empty, no
          packets are admitted. If {{true}}, on ingress to the interfaces
          associated with this Filter, the Bridge admits all packets except
          those packets whose destination MAC Address matches one of the
          {{param|DestMACAddressFilterList}} entries. If the
          {{param|DestMACAddressFilterList}} is empty, packets are admitted
          regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromVendorClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP Vendor Class Identifier (Option 60 as defined
          in RFC 2132) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromVendorClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose source MAC Address
          matches that of a LAN device previously identified as described in
          {{param|SourceMACFromVendorClassIDFilter}}. If
          {{param|SourceMACFromVendorClassIDFilter}} is {{empty}}, no packets
          are admitted. If {{true}}, on ingress to the interfaces associated
          with this Filter, the Bridge admits all packets except those packets
          whose source MAC Address matches that of a LAN device previously
          identified as described in
          {{param|SourceMACFromVendorClassIDFilter}}. If the
          {{param|SourceMACFromVendorClassIDFilter}} is {{empty}}, packets are
          admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromVendorClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP Vendor Class Identifier (Option 60 as defined
          in RFC 2132) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromVendorClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose destination MAC
          Address matches that of a LAN device previously identified as
          described in {{param|DestMACFromVendorClassIDFilter}}. If
          {{param|DestMACFromVendorClassIDFilter}} is {{empty}}, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          destination MAC Address matches that of a LAN device previously
          identified as described in {{param|DestMACFromVendorClassIDFilter}}.
          If the {{param|DestMACFromVendorClassIDFilter}} is {{empty}}, packets
          are admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromClientIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP Client Identifier (Option 61 as defined in
          RFC 2132) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromClientIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose source MAC Address
          matches that of a LAN device previously identified as described in
          {{param|SourceMACFromClientIDFilter}}. If
          {{param|SourceMACFromClientIDFilter}} is {{empty}}, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          source MAC Address matches that of a LAN device previously identified
          as described in {{param|SourceMACFromClientIDFilter}}. If the
          {{param|SourceMACFromClientIDFilter}} is {{empty}}, packets are
          admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromClientIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP Client Identifier (Option 61 as defined in
          RFC 2132) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromClientIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose destination MAC
          Address matches that of a LAN device previously identified as
          described in {{param|DestMACFromClientIDFilter}}. If
          {{param|DestMACFromClientIDFilter}} is {{empty}}, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          destination MAC Address matches that of a LAN device previously
          identified as described in {{param|DestMACFromClientIDFilter}}. If
          the {{param|DestMACFromClientIDFilter}} is {{empty}}, packets are
          admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromUserClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP User Class Identifier (Option 77 as defined
          in RFC 3004) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromUserClassIDFilterExclude"
          access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose source MAC Address
          matches that of a LAN device previously identified as described in
          {{param|SourceMACFromUserClassIDFilter}}. If
          {{param|SourceMACFromUserClassIDFilter}} is {{empty}}, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          source MAC Address matches that of a LAN device previously identified
          as described in {{param|SourceMACFromUserClassIDFilter}}. If the
          {{param|SourceMACFromUserClassIDFilter}} is {{empty}}, packets are
          admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromUserClassIDFilter" access="readWrite">
        <description>
          A string used to identify one or more devices via DHCP for which MAC
          address filtering would subsequently apply. A device is considered
          matching if it its DHCP User Class Identifier (Option 77 as defined
          in RFC 3004) in the most recent DHCP lease acquisition or renewal was
          equal to the specified value.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromUserClassIDFilterExclude" access="readWrite">
        <description>
          If {{false}}, on ingress to the interfaces associated with this
          Filter, the Bridge admits only those packets whose destination MAC
          Address matches that of a LAN device previously identified as
          described in {{param|DestMACFromUserClassIDFilter}}. If
          {{param|DestMACFromUserClassIDFilter}} is {{empty}}, no packets are
          admitted. If {{true}}, on ingress to the interfaces associated with
          this Filter, the Bridge admits all packets except those packets whose
          destination MAC Address matches that of a LAN device previously
          identified as described in {{param|DestMACFromUserClassIDFilter}}. If
          the {{param|DestMACFromUserClassIDFilter}} is {{empty}}, packets are
          admitted regardless of MAC address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Marking.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="MarkingNumberOfEntries"
        enableParameter="MarkingEnable">
      <description>
        Marking table identifying non-default layer-2 marking behavior for
        packets on egress from the specified interfaces.
      </description>
      <uniqueKey>
        <parameter ref="MarkingKey"/>
      </uniqueKey>

      <parameter name="MarkingKey" access="readOnly">
        <description>
          Unique key for each Marking table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MarkingEnable" access="readWrite">
        <description>
          Enables or disables this Marking table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="MarkingStatus" access="readOnly">
        <description>
          The status of this Marking table entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="MarkingBridgeReference" access="readWrite">
        <description>
          The ''BridgeKey'' value of the Bridge table entry associated with
          this Marking table entry. A value of -1 indicates the Marking table
          entry is not associated with a Bridge (and has no effect). The effect
          of a Marking table entry applies only to packets that have been
          admitted to the specified bridge (regardless of the ingress
          interface).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="MarkingInterface" access="readWrite">
        <description>
          The interface or interfaces associated with this Marking table entry
          for which the specified marking behavior is to apply on egress from
          the associated bridge. The following values are defined. To associate
          this Marking table entry with a single interface listed in the
          ''AvailableInterface'' table, the {{param}} value is set to the value
          of corresponding ''AvailableInterfaceKey''.

          * ''AllInterfaces'' indicates that this Marking table entry is
            associated with all LAN and WAN interfaces listed in the
            ''AvailableInterface'' table (all entries of ''InterfaceType''
            ''LANInterface'' or ''WANInterface'').

          * ''LANInterfaces'' indicates that this Marking table entry is
            associated with all LAN interfaces listed in the
            ''AvailableInterface'' table (all entries of ''InterfaceType''
            ''LANInterface'').

          * ''WANInterfaces'' indicates that this Marking table entry is
            associated with all WAN interfaces listed in the
            ''AvailableInterface'' table (all entries of ''InterfaceType''
            ''WANInterface'').

          * {{empty}} indicates the Marking table entry table entry is not
            associated with any interface (and has no effect) If there is more
            than one enabled Marking table entry that specifies one or more of
            the same interfaces for the same bridge (identical values of
            {{param|MarkingBridgeReference}}), then for packets on egress from
            the specified bridge to those interfaces, the applied marking MUST
            be that specified in the Marking table entry among those in
            conflict with the lowest {{param|MarkingKey}} value. If an
            interface in a given bridge does not have a corresponding Marking
            table entry, the marking is left unchanged on egress.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANIDUntag" access="readWrite">
        <description>
          If {{true}}, on egress to the interfaces associated with this Marking
          table entry, all packets are Untagged. That is, the VLAN tag is
          stripped from the packet. If {{false}}, on egress to the interfaces
          associated with this Marking table entry, all VLAN tags are left
          intact (including those added on ingress).
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDMark" access="readWrite">
        <description>
          The 802.1Q VLAN ID to be used on egress to the interfaces associated
          with this Marking table entry (if {{param|VLANIDUntag}} is
          {{false}}). A value of -1 indicates that the default VLAN ID for the
          Bridge SHOULD be used instead (as specified by
          {{param|InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLANID}} for
          the Bridge table entry associated with this Marking table entry).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4095"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic with
          that falls into this Bridge on egress to the interfaces associated
          with this Marking table entry. A value of -1 indicates no change from
          the incoming packet or the mark assigned by the classifier.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="7"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityOverride" access="readWrite">
        <description>
          If {{false}}, on egress to the interfaces associated with this
          Marking table entry, the {{param|EthernetPriorityMark}}, if
          specified, is applied only to packets of priority 0. If {{true}}, on
          egress to the interfaces associated with this Marking table entry,
          the {{param|EthernetPriorityMark}}, if specified, is to be applied to
          all packets on this Bridge. If {{param|VLANIDUntag}} is {{true}},
          then no priority marking is done since the tag containing the
          Ethernet priority is removed.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.Layer2Bridging.AvailableInterface.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AvailableInterfaceNumberOfEntries">
      <description>
        Table containing all LAN and WAN interfaces that are available to be
        referenced by the ''Bridge'' table. Only interfaces that can carry
        layer-2 bridged traffic are included.
      </description>
      <uniqueKey>
        <parameter ref="AvailableInterfaceKey"/>
      </uniqueKey>

      <parameter name="AvailableInterfaceKey" access="readOnly"
          activeNotify="canDeny">
        <description>
          Unique key for each Interface entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InterfaceType" access="readOnly" activeNotify="canDeny">
        <description>
          Whether the interface is a LAN-side or WAN-side interface, or a
          LAN-side or WAN-side connection to the Gateway's IP router.
        </description>
        <syntax>
          <string>
            <enumeration value="LANInterface"/>
            <enumeration value="WANInterface"/>
            <enumeration value="LANRouterConnection"/>
            <enumeration value="WANRouterConnection"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterfaceReference" access="readOnly"
          activeNotify="canDeny">
        <description>
          This table SHOULD contain a single entry for each available LAN and
          WAN interface. For a WAN interface, this parameter is the full
          hierarchical parameter name of a particular ''WANConnectionDevice''.
          A ''WANConnectionDevice'' is considered available (included in this
          table) only if it supports layer-2 bridged traffic. That is, this
          table MUST include only ''WANConnectionDevice''s that contain either
          a ''WANEthernetLinkConfig'' object, or that contain a
          ''WANDSLLinkConfig'' object for which the ''LinkType'' is ''EoA''.
          For example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2'' For a LAN
          interface, this parameter is the full hierarchical parameter name of
          a particular LAN**InterfaceConfig object, or a WLANConfiguration
          object. This table SHOULD include one entry for each such object. For
          example:
          ''InternetGatewayDevice.LANDevice.1.LANLANEthernetInterfaceConfig.2''
          For a WAN-side connection to the Gateway's IP router, this parameter
          is the full hierarchical parameter name of a particular
          WAN**Connection service. This table SHOULD include an entry for each
          layer-3 WAN connection. For example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
          For a LAN-side connection to the Gateway's IP router, this parameter
          is the full hierarchical parameter name of a particular LANDevice.
          This table SHOULD include an entry for each LANDevice, each of which
          is associated with a LAN-side layer-3 connection to the Gateway's IP
          router. For example: ''InternetGatewayDevice.LANDevice.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Queue management configuration object.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables all queuing operation.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxQueues" access="readOnly" activeNotify="canDeny">
        <description>
          The maximum number of queues supported by the CPE. Calculated as the
          sum of the number of different queues pointed to by Classification
          table. For each entry in the Classification table, the count includes
          a queue for each egress interface to which the corresponding
          classified traffic could reach.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxClassificationEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the Classification table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClassificationNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Classification}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxAppEntries" access="readOnly" activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|App}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AppNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|App}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxFlowEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Flow}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FlowNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Flow}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxPolicerEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Policer}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PolicerNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Policer}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxQueueEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          The maximum number of entries available in the {{object|Queue}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|Queue}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with traffic not
          associated with any specified classifier.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic not associated
          with any specified classifier. A value of -1 indicates a null
          policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="DefaultQueue" access="readWrite">
        <description>
          Instance number of the {{object|Queue}} table entry for traffic not
          associated with any specified classifier.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DefaultDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic not associated with any specified classifier. A
          value of -1 indicates no change from the incoming packet. A value of
          -2 indicates automatic marking of DSCP based upon the
          EthernetPriority value of the incoming packet as defined in
          {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="DefaultEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic not
          associated with any specified classifier. A value of -1 indicates no
          change from the incoming packet. A value of -2 indicates automatic
          marking of EthernetPriority based upon the DSCP value of the incoming
          packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="AvailableAppList" access="readOnly">
        <description>
          URNs, each indicating a protocol supported for use as a
          ProtocolIdentifier in the App table. This list MAY include any of the
          URNs defined in {{bibref|TR-098a1|Annex A}} as well as other URNs
          defined elsewhere.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Classification.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ClassificationNumberOfEntries">
      <description>
        Classification table.
      </description>

      <parameter name="ClassificationKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each classification entry.

          This parameter is OBSOLETED because it serves no purpose (no other
          parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClassificationEnable" access="readWrite">
        <description>
          Enables or disables this classifier.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ClassificationStatus" access="readOnly">
        <description>
          The status of this classifier.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="ClassificationOrder" access="readWrite">
        <description>
          Position of the classification entry in the order of precedence. A
          value of 1 indicates the first entry considered. For each packet, the
          highest ordered entry that matches the classification criteria is
          applied. All lower order entries are ignored. When this value is
          modified, 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.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ClassInterface" access="readWrite">
        <description>
          Classification criterion. Specifies the LAN or WAN ingress interface
          associated with this entry. The content is the full hierarchical
          parameter name of the particular ''WANDevice'',
          ''WANConnectionDevice'', ''WAN**Connection'', ''LANDevice'',
          ''LAN**InterfaceConfig'', or ''WLANConfiguration'' object. The
          following are WAN interface examples:

          * ''InternetGatewayDevice.WANDevice.2''

          *
            ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''
            The following are LAN interface examples:

          * ''InternetGatewayDevice.LANDevice.3''

          * ''InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2''

          * ''InternetGatewayDevice.LANDevice.1.WLANConfiguration.3'' The
            string ''WAN'' indicates this entry is to apply to traffic entering
            from any WAN interface. The string ''LAN'' indicates this entry is
            to apply to traffic entering from any LAN interface. The string
            ''Local'' indicates this entry is to apply to IP-layer traffic
            entering from a local source within the Internet Gateway Device.
            {{empty}} indicates this classification entry is to apply to all
            sources.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestIP" access="readWrite">
        <description>
          Classification criterion. Destination IP address. {{empty}} indicates
          this criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMask" access="readWrite">
        <description>
          Destination IP address mask. If not {{empty}}, only the indicated
          network portion of the DestIP address is to be used for
          classification. {{empty}} indicates that the full DestIP address is
          to be used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestIPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          (masked) DestIP entry, if specified. If {{true}}, the class includes
          all packets except those that match the (masked) DestIP entry, if
          specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceIP" access="readWrite">
        <description>
          Classification criterion. Source IP address. {{empty}} indicates this
          criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMask" access="readWrite">
        <description>
          Source IP address mask. If not {{empty}}, only the indicated network
          portion of the SourceIP address is to be used for classification.
          {{empty}} indicates that the full SourceIP address is to be used for
          classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceIPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          (masked) SourceIP entry, if specified. If {{true}}, the class
          includes all packets except those that match the (masked) SourceIP
          entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Protocol" access="readWrite">
        <description>
          Classification criterion. Protocol number. A value of -1 indicates
          this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ProtocolExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          Protocol entry, if specified. If {{true}}, the class includes all
          packets except those that match the Protocol entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestPort" access="readWrite">
        <description>
          Classification criterion. Destination port number. A value of -1
          indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DestPortRangeMax" access="readWrite">
        <description>
          Classification criterion. If specified, indicates the classification
          criterion is to include the port range from DestPort through
          DestPortRangeMax (inclusive). If specified, DestPortRangeMax MUST be
          greater than or equal to DestPort. A value of -1 indicates that no
          port range is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DestPortExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          DestPort entry (or port range), if specified. If {{true}}, the class
          includes all packets except those that match the DestPort entry (or
          port range), if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourcePort" access="readWrite">
        <description>
          Classification criterion. Source port number. A value of -1 indicates
          this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SourcePortRangeMax" access="readWrite">
        <description>
          Classification criterion. If specified, indicates the classification
          criterion is to include the port range from SourcePort through
          SourcePortRangeMax (inclusive). If specified, SourcePortRangeMax MUST
          be greater than or equal to SourcePort. A value of -1 indicates that
          no port range is specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SourcePortExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          SourcePort entry (or port range), if specified. If {{true}}, the
          class includes all packets except those that match the SourcePort
          entry (or port range), if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddress" access="readWrite">
        <description>
          Classification criterion. Source MAC Address. {{empty}} indicates
          this criterion is not used for classification.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACMask" access="readWrite">
        <description>
          Bit-mask for the MAC address, where matching of a packet's MAC
          address with the SourceMACAddress is only to be done for bit
          positions set to one in the mask. A mask of ''FF:FF:FF:FF:FF:FF'' or
          {{empty}} indicates all bits of the SourceMACAdress are to be used
          for classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceMACExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          (masked) SourceMACAddress entry, if specified. If {{true}}, the class
          includes all packets except those that match the (masked)
          SourceMACAddress entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddress" access="readWrite">
        <description>
          Classification criterion. Destination MAC Address. {{empty}}
          indicates this criterion is not used for classification. The use of
          destination MAC address as a classification criterion is primarily
          useful only for bridged traffic.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACMask" access="readWrite">
        <description>
          Bit-mask for the MAC address, where matching of a packet's MAC
          address with the DestMACAddress is only to be done for bit positions
          set to one in the mask. A mask of ''FF:FF:FF:FF:FF:FF'' or {{empty}}
          indicates all bits of the DestMACAdress are to be used for
          classification.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestMACExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          (masked) DestMACAddress entry, if specified. If {{true}}, the class
          includes all packets except those that match the (masked)
          DestMACAddress entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Ethertype" access="readWrite">
        <description>
          Classification criterion. Ethertype as indicated in either the
          Ethernet or SNAP Type header. A value of -1 indicates this criterion
          is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthertypeExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          Ethertype entry, if specified. If {{true}}, the class includes all
          packets except those that match the Ethertype entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SSAP" access="readWrite">
        <description>
          Classification criterion. SSAP element in the LLC header. A value of
          -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SSAPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          SSAP entry, if specified. If {{true}}, the class includes all packets
          except those that match the SSAP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSAP" access="readWrite">
        <description>
          Classification criterion. DSAP element in the LLC header. A value of
          -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DSAPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          DSAP entry, if specified. If {{true}}, the class includes all packets
          except those that match the DSAP entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LLCControl" access="readWrite">
        <description>
          Classification criterion. Control element in the LLC header. A value
          of -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="LLCControlExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          LLCControl entry, if specified. If {{true}}, the class includes all
          packets except those that match the LLCControl entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SNAPOUI" access="readWrite">
        <description>
          Classification criterion. OUI element in the SNAP header. A value of
          -1 indicates this criterion is not used for classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SNAPOUIExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          SNAPOUI entry, if specified. If {{true}}, the class includes all
          packets except those that match the SNAPOUI entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorClassID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Vendor Class Identifier (Option 60) as defined in
          RFC 2132. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN
          devices that match the SourceVendorClassID entry, if specified. If
          {{true}}, the class includes all packets except those sourced from
          LAN devices that match the SourceVendorClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorClassID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Vendor Class Identifier (Option 60) as defined in
          RFC 2132. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestVendorClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN
          devices that match the DestVendorClassID entry, if specified. If
          {{true}}, the class includes all packets except those destined for
          LAN devices that match the DestVendorClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceClientID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Client Identifier (Option 61) as defined in RFC
          2132. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceClientIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN
          devices that match the SourceClientID entry, if specified. If
          {{true}}, the class includes all packets except those sourced from
          LAN devices that match the SourceClientID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestClientID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Client Identifier (Option 61) as defined in RFC
          2132. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestClientIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN
          devices that match the DestClientID entry, if specified. If {{true}},
          the class includes all packets except those destined for LAN devices
          that match the DestClientID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceUserClassID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP User Class Identifier (Option 77) as defined in RFC
          3004. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SourceUserClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN
          devices that match the SourceUserClassID entry, if specified. If
          {{true}}, the class includes all packets except those sourced from
          LAN devices that match the SourceUserClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestUserClassID" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP User Class Identifier (Option 77) as defined in RFC
          3004. {{empty}} indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestUserClassIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN
          devices that match the DestUserClassID entry, if specified. If
          {{true}}, the class includes all packets except those destined for
          LAN devices that match the DestUserClassID entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="TCPACK" access="readWrite">
        <description>
          Classification criterion. If {{false}}, this criterion is not used
          for classification. If {{true}}, this criterion matches with all TCP
          segments that have the ACK control bit set.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="TCPACKExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          TCPACK entry, if specified. If {{true}}, the class includes all
          packets except those that match the TCPACK entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthMin" access="readWrite">
        <description>
          Classification criterion. Minimum IP Packet Length (including header)
          in bytes.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthMax" access="readWrite">
        <description>
          Classification criterion. Maximum IP Packet Length (including header)
          in bytes. A value of zero indicates that no maximum is specified (an
          umlimited maximum length).
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IPLengthExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets whose length
          (including header) falls within the inclusive range IPLengthMin
          through IPLengthMax. A value of zero for both IPLengthMin and
          IPLengthMax allows any length packet. An equal non-zero value of
          IPLengthMin and IPLengthMax allows only a packet with the exact
          length specified. If {{true}}, the class includes all packets except
          those whose length (including header) falls within the inclusive
          range IPLengthMin through IPLengthMax.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSCPCheck" access="readWrite">
        <description>
          Classification criterion. DiffServ codepoint (defined in RFC 2474).
          If set to a Class Selector Codepoint (defined in RFC 2474), all DSCP
          values that match the first 3 bits will be considered a valid match.
          A value of -1 indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="DSCPExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          DSCPCheck entry, if specified. If {{true}}, the class includes all
          packets except those that match the DSCPCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DSCPMark" access="readWrite">
        <description>
          Classification result. DSCP to mark traffic with that falls into this
          classification entry. A value of -1 indicates no change from the
          incoming packet. A value of -2 indicates automatic marking of DSCP
          based upon the EthernetPriority value of the incoming packet as
          defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityCheck" access="readWrite">
        <description>
          Classification criterion. Current Ethernet priority as defined in
          802.1D. A value of -1 indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          EthernetPriorityCheck entry, if specified. If {{true}}, the class
          includes all packets except those that match the
          EthernetPriorityCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Classification result. Ethernet priority code (as defined in 802.1D)
          to mark traffic with that falls into this classification entry. A
          value of -1 indicates no change from the incoming packet. A value of
          -2 indicates automatic marking of EthernetPriority based upon the
          DSCP value of the incoming packet as defined in
          {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDCheck" access="readWrite">
        <description>
          Classification criterion. Current Ethernet VLAN ID as defined in
          802.1Q. A value of -1 indicates this criterion is not used for
          classification.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets that match the
          VLANIDCheck entry, if specified. If {{true}}, the class includes all
          packets except those that match the VLANIDCheck entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ForwardingPolicy" access="readWrite">
        <description>
          Classification result. Identifier of the forwarding policy associated
          with traffic that falls in this classification.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ClassPolicer" access="readWrite">
        <description>
          Classification result. Instance number of the Policer table entry for
          traffic that falls in this classification. A value of -1 indicates a
          null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ClassQueue" access="readWrite">
        <description>
          Classification result. Instance number of the Queue table entry for
          traffic that falls in this classification. A value of -1 indicates a
          null queue. {{param}} and {{param|ClassApp}} are mutually exclusive
          and one of the two MUST be specified. If {{param}} is null,
          {{param|ClassApp}} MUST be specified, and vice versa.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ClassApp" access="readWrite">
        <description>
          Classification result. Instance number of the App table entry for
          traffic that falls in this classification. A value of -1 indicates a
          null App table entry. {{param|ClassQueue}} and {{param}} are mutually
          exclusive and one of the two MUST be specified. If
          {{param|ClassQueue}} is null, {{param}} MUST be specified, and vice
          versa.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.App.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AppNumberOfEntries">
      <description>
        Application table.
      </description>

      <parameter name="AppKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each App table entry.

          This parameter is OBSOLETED because it serves no purpose (no other
          parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AppEnable" access="readWrite">
        <description>
          Enables or disables this App table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="AppStatus" access="readOnly">
        <description>
          The status of this App table entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="ProtocolIdentifier" access="readWrite">
        <description>
          URN identifying the protocol associated with the given application. A
          set of defined URNs is given in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppName" access="readWrite">
        <description>
          Human-readable name associated with this entry in the App table.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with traffic
          associated with this App table entry, but not associated with any
          specified flow.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic associated
          with this App table entry, but not associated with any specified
          flow. A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultQueue" access="readWrite">
        <description>
          Instance number of the Queue table entry for traffic associated with
          this App table entry, but not associated with any specified flow. A
          value of -1 indicates a null queue.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic associated with this App table entry, but not
          associated with any specified flow. A value of -1 indicates no change
          from the incoming packet. A value of -2 indicates automatic marking
          of DSCP based upon the EthernetPriority value of the incoming packet
          as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AppDefaultEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic
          associated with this App table entry, but not associated with any
          specified flow. A value of -1 indicates no change from the incoming
          packet. A value of -2 indicates automatic marking of EthernetPriority
          based upon the DSCP value of the incoming packet as defined in
          {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Flow.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="FlowNumberOfEntries">
      <description>
        Flow table.
      </description>

      <parameter name="FlowKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each Flow table entry.

          This parameter is OBSOLETED because it serves no purpose (no other
          parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FlowEnable" access="readWrite">
        <description>
          Enables or disables this Flow table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="FlowStatus" access="readOnly">
        <description>
          The status of this Flow table entry.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="FlowType" access="readWrite">
        <description>
          URN identifying the type of flow to be associated with the specified
          queue and policer. A set of defined URNs is given in
          {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="FlowTypeParameters" access="readWrite">
        <description>
          List of name-value pairs 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 {{bibref|HTML4.01}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="FlowName" access="readWrite">
        <description>
          Human-readable name associated with this entry in the Flow table.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="AppIdentifier" access="readWrite">
        <description>
          Instance number of the App table entry associated with this flow. A
          value of -1 indicates the flow table is not associated with any App
          table entry.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowForwardingPolicy" access="readWrite">
        <description>
          Identifier of the forwarding policy associated with this flow.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="FlowPolicer" access="readWrite">
        <description>
          Instance number of the Policer table entry for traffic that falls in
          this flow. A value of -1 indicates a null policer.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowQueue" access="readWrite">
        <description>
          Instance number of the Queue table entry for traffic that falls in
          this flow. A value of -1 indicates a null queue.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowDSCPMark" access="readWrite">
        <description>
          DSCP to mark traffic with that falls into this flow. A value of -1
          indicates no change from the incoming packet. A value of -2 indicates
          automatic marking of DSCP based upon the EthernetPriority value of
          the incoming packet as defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="FlowEthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to mark traffic with
          that falls into this flow. A value of -1 indicates no change from the
          incoming packet. A value of -2 indicates automatic marking of
          EthernetPriority based upon the DSCP value of the incoming packet as
          defined in {{bibref|TR-098a1|Annex A}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Policer.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PolicerNumberOfEntries">
      <description>
        Policer table.
      </description>

      <parameter name="PolicerKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each policer entry.

          This parameter is OBSOLETED because it serves no purpose (no other
          parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PolicerEnable" access="readWrite">
        <description>
          Enables or disables this policer.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PolicerStatus" access="readOnly">
        <description>
          The status of this policer.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="CommittedRate" access="readWrite">
        <description>
          Committed rate allowed for this policer in bits-per-second.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="CommittedBurstSize" access="readWrite">
        <description>
          Committed Burstsize in bytes.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ExcessBurstSize" access="readWrite">
        <description>
          Excess Burstsize in bytes. Applied for a
          {{enum|SingleRateThreeColor|MeterType}} meter.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PeakRate" access="readWrite">
        <description>
          Peak rate allowed for this Meter in bits-per-second. Applied for
          {{enum|TwoRateThreeColor|MeterType}} meters.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PeakBurstSize" access="readWrite">
        <description>
          Peak Burstsize in bytes. Applied for
          {{enum|TwoRateThreeColor|MeterType}} meters.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="MeterType" access="readWrite">
        <description>
          Identifies the method of traffic measurement to be used for this
          policer. {{enum}} {{enum|SimpleTokenBucket}} makes use of
          {{param|CommittedRate}} and {{param|CommittedBurstSize}}.
          {{enum|SingleRateThreeColor}} makes use of {{param|CommittedRate}},
          {{param|CommittedBurstSize}}, and {{param|ExcessBurstSize}} as
          defined in RFC 2697. {{enum|TwoRateThreeColor}} makes use of
          {{param|CommittedRate}}, {{param|CommittedBurstSize}},
          {{param|PeakRate}}, and {{param|PeakBurstSize}} as defined in RFC
          2698.
        </description>
        <syntax>
          <string>
            <enumeration value="SimpleTokenBucket"/>
            <enumeration value="SingleRateThreeColor"/>
            <enumeration value="TwoRateThreeColor"/>
          </string>
          <default type="object" value="SimpleTokenBucket"/>
        </syntax>
      </parameter>

      <parameter name="PossibleMeterTypes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Supported meter types.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="SimpleTokenBucket"/>
            <enumeration value="SingleRateThreeColor"/>
            <enumeration value="TwoRateThreeColor"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is conforming.
          {{pattern}} {{pattern|Null}} corresponds with no action. A
          {{pattern|Count}} action increases the meter instance count
          statistics. ''&lt;DSCP Value&gt;'' is an unsigned integer that
          corresponds with a mark action overwriting the traffic's DSCP with
          the configured DSCP.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Null"/>
        </syntax>
      </parameter>

      <parameter name="PartialConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is partially conforming
          (colored yellow). {{pattern}} {{pattern|Null}} corresponds with no
          action. A {{pattern|Count}} action increases the meter instance count
          statistics. ''&lt;DSCP Value&gt;'' is an unsigned integer that
          corresponds with a mark action overwriting the traffic's DSCP with
          the configured DSCP.Only applies for three-color meters.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Drop"/>
        </syntax>
      </parameter>

      <parameter name="NonConformingAction" access="readWrite">
        <description>
          Instructions for how to handle traffic that is non-conforming.
          {{pattern}} {{pattern|Null}} corresponds with no action. A
          {{pattern|Count}} action increases the meter instance count
          statistics. ''&lt;DSCP Value&gt;'' is an unsigned integer that
          corresponds with a mark action overwriting the traffic's DSCP with
          the configured DSCP.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Drop"/>
        </syntax>
      </parameter>

      <parameter name="CountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of Packets counted as result of a count meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="CountedBytes" access="readOnly" activeNotify="canDeny">
        <description>
          Number of Bytes counted as result of a count meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.Queue.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="QueueNumberOfEntries">
      <description>
        Queue table.

        This table can contain hardware queues. The CPE MAY refuse to allow
        hardware queues to be deleted.
      </description>

      <parameter name="QueueKey" access="readOnly" status="obsoleted">
        <description>
          Unique key for each queue entry.

          This parameter is OBSOLETED because it serves no purpose (no other
          parameter references it).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enables or disables this queue.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="QueueStatus" access="readOnly">
        <description>
          The status of this queue.

          {{enum}} The {{enum|Error}} value MAY be used by the CPE to indicate
          a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="QueueInterface" access="readWrite">
        <description>
          Egress interfaces for which the specified queue MUST exist. This
          parameter MUST be in one of the following forms: The full
          hierarchical parameter name of the particular ''WANDevice'',
          ''WANConnectionDevice'', ''WAN**Connection'', ''LANDevice'',
          ''LAN**InterfaceConfig'', or ''WLANConfiguration'' object. The string
          ''WAN'', which indicates this entry applies to all WAN interfaces.
          The string ''LAN'', which indicates this entry applies to all LAN
          interfaces. {{empty}}, which indicates this classification entry is
          to apply to all interfaces. Packets classified into this queue that
          exit through any other interface MUST instead use the default queuing
          behavior specified in the Queue table entry referenced by
          {{param|InternetGatewayDevice.QueueManagement.DefaultQueue}}. For the
          default queue itself (the Queue table entry referenced by
          {{param|InternetGatewayDevice.QueueManagement.DefaultQueue}}), the
          value of the {{param}} parameter MUST be ignored. That is, the
          default queue MUST exist on all egress interfaces.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="QueueBufferLength" access="readOnly">
        <description>
          Number of bytes in the buffer.

          Queue buffer size for all egress interfaces for which this queue
          exists. If the buffer size is not the same for all such egress
          interfaces, this parameter MUST be 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueWeight" access="readWrite">
        <description>
          Weight of this queue in case of {{enum|WFQ|SchedulerAlgorithm}} or
          {{enum|WRR|SchedulerAlgorithm}}, but only used for queues of equal
          precedence.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="QueuePrecedence" access="readWrite">
        <description>
          Precedence of this queue relative to others. Lower numbers imply
          greater precedence.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
          <default type="object" value="1"/>
        </syntax>
      </parameter>

      <parameter name="REDThreshold" access="readWrite">
        <description>
          Random Early Detection threshold, used only when
          {{param|DropAlgorithm}} is {{enum|RED|DropAlgorithm}}. This is the
          minimum threshold (''min_th'') and is measured as a percentage of the
          queue size. If the value is set to zero, the CPE MUST choose a
          sensible value, e.g. 5 (but the value MUST still read back as zero).
          In this version of the data model, there is no way to set the maximum
          threshold (''max_th''). The CPE MUST choose a sensible value, e.g.
          three times the minimum threshold. In this version of the data model,
          there is no way to set the RED weight (''w_q''). The CPE MUST choose
          a sensible value, e.g. 0.002.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="REDPercentage" access="readWrite">
        <description>
          Random Early Detection percentage, used only when
          {{param|DropAlgorithm}} is {{enum|RED|DropAlgorithm}}. This is the
          maximum value of the packet marking probability (''max_p''). If the
          value is set to zero, the CPE MUST choose a sensible value, e.g. 10
          (but the value MUST still read back as zero). In this version of the
          data model, there is no way to set the RED weight (''w_q''). The CPE
          MUST choose a sensible value, e.g. 0.002.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DropAlgorithm" access="readWrite">
        <description>
          Dropping algorithm used for this queue if congested.
        </description>
        <syntax>
          <string>
            <enumeration value="RED">
              <description action="replace">Random Early Detection {{bibref|RED}}</description>
            </enumeration>
            <enumeration value="DT">
              <description action="replace">Drop Tail</description>
            </enumeration>
            <enumeration value="WRED">
              <description action="replace">Weighted RED</description>
            </enumeration>
            <enumeration value="BLUE">
              <description action="replace">{{bibref|BLUE}}</description>
            </enumeration>
          </string>
          <default type="object" value="DT"/>
        </syntax>
      </parameter>

      <parameter name="SchedulerAlgorithm" access="readWrite">
        <description>
          Scheduling Algorithm used by scheduler.
        </description>
        <syntax>
          <string>
            <enumeration value="WFQ">
              <description action="replace">Weighted Fair Queueing</description>
            </enumeration>
            <enumeration value="WRR">
              <description action="replace">Weighted Round Robin</description>
            </enumeration>
            <enumeration value="SP">
              <description>Strict Priority</description>
            </enumeration>
          </string>
          <default type="object" value="SP"/>
        </syntax>
      </parameter>

      <parameter name="ShapingRate" access="readWrite">
        <description>
          Rate to shape this queue'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 &lt;= 100, in percent of
          the rate of the highest rate-constrained layer over which the packet
          will travel on egress. If &gt; 100, in bits per second. A value of -1
          indicates no shaping.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ShapingBurstSize" access="readWrite">
        <description>
          Burst size in bytes. For both leaky bucket (constant rate shaping)
          and token bucket (variable rate shaping) this is the bucket size and
          is therefore the maximum burst size.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Capabilities." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        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.
      </description>
    </object>

    <object name="InternetGatewayDevice.Capabilities.PerformanceDiagnostic."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        The capabilities of the Performance Diagnostics
        (''DownloadDiagnostics'' and ''UploadDiagnostics'') for the device.
      </description>

      <parameter name="DownloadTransports" access="readOnly">
        <description>
          Supported ''DownloadDiagnostics'' transport protocols for a CPE
          device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP"/>
            <enumeration value="FTP" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UploadTransports" access="readOnly">
        <description>
          Supported ''UploadDiagnostics'' transport protocols for a CPE device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP"/>
            <enumeration value="FTP" optional="true"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DownloadDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        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.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicate the availability of diagnostic data. {{enum}} If the ACS
          sets the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Completed}} (if the test completed successfully), or
          one of the ''Error'' values listed above. If the value of this
          parameter is anything other than {{enum|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 {{enum|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 {{enum|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 {{enum|None}}. While the
          test is in progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Completed" access="readOnly"/>
            <enumeration value="Error_InitConnectionFailed" access="readOnly"/>
            <enumeration value="Error_NoResponse" access="readOnly"/>
            <enumeration value="Error_TransferFailed" access="readOnly"/>
            <enumeration value="Error_PasswordRequestFailed" access="readOnly"/>
            <enumeration value="Error_LoginFailed" access="readOnly"/>
            <enumeration value="Error_NoTransferMode" access="readOnly"/>
            <enumeration value="Error_NoPASV" access="readOnly"/>
            <enumeration value="Error_IncorrectSize" access="readOnly"/>
            <enumeration value="Error_Timeout" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|the IP-layer interface over which the test is to be
          performed}} The value of this parameter MUST be either a valid
          interface or {{empty}}. An attempt to set this parameter to a
          different value MUST be rejected as an invalid parameter value. If
          {{empty}} is specified, the CPE MUST use the default routing
          interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadURL" access="readWrite">
        <description>
          The URL, as defined in {{bibref|RFC3986}}, for the CPE to perform the
          download on. This parameter MUST be in the form of a valid HTTP
          {{bibref|RFC2616}} or FTP {{bibref|RFC959}} URL.

          * When using FTP transport, FTP binary transfer MUST be used.

          * When using HTTP transport, persistent connections MUST be used and
            pipelining MUST NOT be used.

          * When using HTTP transport the HTTP Authentication MUST NOT be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          The DiffServ code point for marking packets transmitted in the test.
          The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EthernetPriority" access="readWrite">
        <description>
          Ethernet priority code for marking packets transmitted in the test
          (if applicable). The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ROMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the client sends the GET
            command.

          * For FTP this is the time at which the client sends the RTRV
            command.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="BOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Begin of transmission time in UTC, which MUST be specified to
          microsecond precision For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the first data packet is
            received.

          * For FTP this is the time at which the client receives the first
            data packet on the data connection.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="EOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          End of transmission in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the last data packet is
            received.

          * For FTP this is the time at which the client receives the last
            packet on the data connection.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TestBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The test traffic received in bytes during the FTP/HTTP transaction
          including FTP/HTTP headers, between {{param|BOMTime}} and
          {{param|EOMTime}},
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes received on the Interface between
          {{param|BOMTime}} and {{param|EOMTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenRequestTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP socket open (SYN) was
            sent for the HTTP connection.

          * For FTP this is the time at which the TCP socket open (SYN) was
            sent for the data connection. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Response time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP ACK to the socket
            opening the HTTP connection was received.

          * For FTP this is the time at which the TCP ACK to the socket opening
            the data connection was received. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UploadDiagnostics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        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.
      </description>

      <parameter name="DiagnosticsState" access="readWrite"
          activeNotify="canDeny">
        <description>
          Indicate the availability of diagnostic data. {{enum}} If the ACS
          sets the value of this parameter to {{enum|Requested}}, the CPE MUST
          initiate the corresponding diagnostic test. When writing, the only
          allowed value is {{enum|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 {{param}} to {{enum|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 {{enum|Completed}} (if the test completed successfully), or
          one of the ''Error'' values listed above. If the value of this
          parameter is anything other than {{enum|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 {{enum|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 {{enum|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 {{enum|None}}. While the
          test is in progress, setting this parameter to {{enum|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.
        </description>
        <syntax>
          <string>
            <enumeration value="None" access="readOnly"/>
            <enumeration value="Requested"/>
            <enumeration value="Completed" access="readOnly"/>
            <enumeration value="Error_InitConnectionFailed" access="readOnly"/>
            <enumeration value="Error_NoResponse" access="readOnly"/>
            <enumeration value="Error_PasswordRequestFailed" access="readOnly"/>
            <enumeration value="Error_LoginFailed" access="readOnly"/>
            <enumeration value="Error_NoTransferMode" access="readOnly"/>
            <enumeration value="Error_NoPASV" access="readOnly"/>
            <enumeration value="Error_NoCWD" access="readOnly"/>
            <enumeration value="Error_NoSTOR" access="readOnly"/>
            <enumeration value="Error_NoTransferComplete" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|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
          {{empty}} is specified, the CPE MUST use the default routing
          interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UploadURL" access="readWrite">
        <description>
          The URL, as defined in {{bibref|RFC3986}}, for the CPE to Upload to.
          This parameter MUST be in the form of a valid HTTP {{bibref|RFC2616}}
          or FTP {{bibref|RFC959}} URL.

          * When using FTP transport, FTP binary transfer MUST be used.

          * When using HTTP transport, persistent connections MUST be used and
            pipelining MUST NOT be used.

          * When using HTTP transport the HTTP Authentication MUST NOT be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DSCP" access="readWrite">
        <description>
          DiffServ code point for marking packets transmitted in the test. The
          default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EthernetPriority" access="readWrite">
        <description>
          Ethernet priority code for marking packets transmitted in the test
          (if applicable). The default value SHOULD be zero.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TestFileLength" access="readWrite">
        <description>
          The size of the file (in bytes) to be uploaded to the server. The CPE
          MUST insure the appropriate number of bytes are sent.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ROMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the client sends the PUT command

          * For FTP this is the time at which the STOR command is sent.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="BOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          Begin of transmission time in UTC, which MUST be specified to
          microsecond precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the first data packet is sent.

          * For FTP this is the time at which the client receives the ready for
            transfer notification.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="EOMTime" access="readOnly" activeNotify="canDeny">
        <description>
          End of transmission in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time when the HTTP successful response code is
            received.

          * For FTP this is the time when the client receives a transfer
            complete.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes sent on the Interface between
          {{param|BOMTime}} and {{param|EOMTime}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenRequestTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Request time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the time at which the TCP socket open (SYN) was
            sent for the HTTP connection.

          * For FTP this is the time at which the TCP socket open (SYN) was
            sent for the data connection Note: Interval of 1 microsecond SHOULD
            be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TCPOpenResponseTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Response time in UTC, which MUST be specified to microsecond
          precision. For example: 2008-04-09T15:01:05.123456

          * For HTTP this is the Time at which the TCP ACK to the socket
            opening the HTTP connection was received.

          * For FTP this is the Time at which the TCP ACK to the socket opening
            the Data connection was received. Note: Interval of 1 microsecond
            SHOULD be supported.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UDPEchoConfig." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object allows the CPE to be configured to perform the UDP Echo
        Service defined in {{bibref|RFC862}} and UDP Echo Plus Service defined
        in {{bibref|TR-143|Appendix A.1}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          MUST be enabled to receive UDP echo. When enabled from a disabled
          state all related timestamps, statistics and UDP Echo Plus counters
          are cleared.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|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 {{empty}}. An attempt to set this
          parameter to a different value MUST be rejected as an invalid
          parameter value. If {{empty}} 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.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SourceIPAddress" access="readWrite">
        <description>
          The Source IP address of the UDP echo packet. The CPE MUST only
          respond to a UDP echo from this source IP address.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="UDPPort" access="readWrite">
        <description>
          The UDP port on which the UDP server MUST listen and respond to UDP
          echo requests.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EchoPlusEnabled" access="readWrite">
        <description>
          If {{true}} the CPE will perform necessary packet processing for UDP
          Echo Plus packets.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="EchoPlusSupported" access="readOnly">
        <description>
          {{true}} if UDP Echo Plus is supported.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Incremented upon each valid UDP echo packet received.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsResponded" access="readOnly"
          activeNotify="canDeny">
        <description>
          Incremented for each UDP echo response sent.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The number of UDP received bytes including payload and UDP header
          after the UDPEchoConfig is enabled.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesResponded" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of UDP responded bytes, including payload and UDP header
          sent after the UDPEchoConfig is enabled.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TimeFirstPacketReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          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.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="TimeLastPacketReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          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.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <profile name="Baseline:1">
      <object ref="InternetGatewayDevice." requirement="present">
        <parameter ref="DeviceSummary" requirement="readOnly"/>
        <parameter ref="LANDeviceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="WANDeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DeviceInfo." requirement="present">
        <parameter ref="Manufacturer" requirement="readOnly"/>
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="ModelName" requirement="readOnly"/>
        <parameter ref="Description" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="HardwareVersion" requirement="readOnly"/>
        <parameter ref="SoftwareVersion" requirement="readOnly"/>
        <parameter ref="SpecVersion" requirement="readOnly"/>
        <parameter ref="ProvisioningCode" requirement="readWrite"/>
        <parameter ref="UpTime" requirement="readOnly"/>
        <parameter ref="DeviceLog" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="present">
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicInformEnable" requirement="readWrite"/>
        <parameter ref="PeriodicInformInterval" requirement="readWrite"/>
        <parameter ref="PeriodicInformTime" requirement="readWrite"/>
        <parameter ref="ParameterKey" requirement="readOnly"/>
        <parameter ref="ConnectionRequestURL" requirement="readOnly"/>
        <parameter ref="ConnectionRequestUsername" requirement="readWrite"/>
        <parameter ref="ConnectionRequestPassword" requirement="readWrite"/>
        <parameter ref="UpgradesManaged" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding."
          requirement="present">
        <parameter ref="DefaultConnectionService" requirement="readWrite"/>
        <parameter ref="ForwardNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Type" requirement="readWrite"/>
        <parameter ref="DestIPAddress" requirement="readWrite"/>
        <parameter ref="DestSubnetMask" requirement="readWrite"/>
        <parameter ref="SourceIPAddress" requirement="readWrite"/>
        <parameter ref="SourceSubnetMask" requirement="readWrite"/>
        <parameter ref="GatewayIPAddress" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="ForwardingMetric" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANConfigSecurity."
          requirement="present">
        <parameter ref="ConfigPassword" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}." requirement="present">
        <parameter ref="LANEthernetInterfaceNumberOfEntries"
            requirement="readOnly"/>
        <parameter ref="LANUSBInterfaceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="LANWLANConfigurationNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
          requirement="present">
        <parameter ref="DHCPServerConfigurable" requirement="readWrite"/>
        <parameter ref="DHCPServerEnable" requirement="readWrite"/>
        <parameter ref="DHCPRelay" requirement="readOnly"/>
        <parameter ref="MinAddress" requirement="readWrite"/>
        <parameter ref="MaxAddress" requirement="readWrite"/>
        <parameter ref="ReservedAddresses" requirement="readWrite"/>
        <parameter ref="SubnetMask" requirement="readWrite"/>
        <parameter ref="DNSServers" requirement="readWrite"/>
        <parameter ref="DomainName" requirement="readWrite"/>
        <parameter ref="IPRouters" requirement="readWrite"/>
        <parameter ref="IPInterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="IPInterfaceIPAddress" requirement="readWrite"/>
        <parameter ref="IPInterfaceSubnetMask" requirement="readWrite"/>
        <parameter ref="IPInterfaceAddressingType" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}.Hosts."
          requirement="present">
        <parameter ref="HostNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}.Hosts.Host.{i}."
          requirement="present">
        <parameter ref="IPAddress" requirement="readOnly"/>
        <parameter ref="AddressSource" requirement="readOnly"/>
        <parameter ref="LeaseTimeRemaining" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="HostName" requirement="readOnly"/>
        <parameter ref="InterfaceType" requirement="readOnly"/>
        <parameter ref="Active" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.WANDevice.{i}." requirement="present">
        <parameter ref="WANConnectionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANCommonInterfaceConfig."
          requirement="present">
        <parameter ref="EnabledForInternet" requirement="readOnly"/>
        <parameter ref="WANAccessType" requirement="readOnly"/>
        <parameter ref="Layer1UpstreamMaxBitRate" requirement="readOnly"/>
        <parameter ref="Layer1DownstreamMaxBitRate" requirement="readOnly"/>
        <parameter ref="PhysicalLinkStatus" requirement="readOnly"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalPacketsSent" requirement="readOnly"/>
        <parameter ref="TotalPacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
          requirement="present">
        <parameter ref="WANIPConnectionNumberOfEntries" requirement="readOnly"/>
        <parameter ref="WANPPPConnectionNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConnectionStatus" requirement="readOnly"/>
        <parameter ref="PossibleConnectionTypes" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readWrite"/>
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="Uptime" requirement="readOnly"/>
        <parameter ref="LastConnectionError" requirement="readOnly"/>
        <parameter ref="RSIPAvailable" requirement="readOnly"/>
        <parameter ref="NATEnabled" requirement="readWrite"/>
        <parameter ref="AddressingType" requirement="readOnly"/>
        <parameter ref="ExternalIPAddress" requirement="readOnly"/>
        <parameter ref="SubnetMask" requirement="readOnly"/>
        <parameter ref="DefaultGateway" requirement="readOnly"/>
        <parameter ref="DNSEnabled" requirement="readOnly"/>
        <parameter ref="DNSOverrideAllowed" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="ConnectionTrigger" requirement="readWrite"/>
        <parameter ref="RouteProtocolRx" requirement="readWrite"/>
        <parameter ref="PortMappingNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i}."
          requirement="createDelete">
        <parameter ref="PortMappingEnabled" requirement="readWrite"/>
        <parameter ref="PortMappingLeaseDuration" requirement="readOnly"/>
        <parameter ref="RemoteHost" requirement="readWrite"/>
        <parameter ref="ExternalPort" requirement="readWrite"/>
        <parameter ref="InternalPort" requirement="readWrite"/>
        <parameter ref="PortMappingProtocol" requirement="readWrite"/>
        <parameter ref="InternalClient" requirement="readWrite"/>
        <parameter ref="PortMappingDescription" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetBytesSent" requirement="readOnly"/>
        <parameter ref="EthernetBytesReceived" requirement="readOnly"/>
        <parameter ref="EthernetPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetPacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConnectionStatus" requirement="readOnly"/>
        <parameter ref="PossibleConnectionTypes" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readWrite"/>
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="Uptime" requirement="readOnly"/>
        <parameter ref="LastConnectionError" requirement="readOnly"/>
        <parameter ref="RSIPAvailable" requirement="readOnly"/>
        <parameter ref="NATEnabled" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="ExternalIPAddress" requirement="readOnly"/>
        <parameter ref="DNSEnabled" requirement="readOnly"/>
        <parameter ref="DNSOverrideAllowed" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="TransportType" requirement="readOnly"/>
        <parameter ref="PPPoEACName" requirement="readWrite"/>
        <parameter ref="PPPoEServiceName" requirement="readWrite"/>
        <parameter ref="ConnectionTrigger" requirement="readWrite"/>
        <parameter ref="RouteProtocolRx" requirement="readWrite"/>
        <parameter ref="PortMappingNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.PortMapping.{i}."
          requirement="createDelete">
        <parameter ref="PortMappingEnabled" requirement="readWrite"/>
        <parameter ref="PortMappingLeaseDuration" requirement="readOnly"/>
        <parameter ref="RemoteHost" requirement="readWrite"/>
        <parameter ref="ExternalPort" requirement="readWrite"/>
        <parameter ref="InternalPort" requirement="readWrite"/>
        <parameter ref="PortMappingProtocol" requirement="readWrite"/>
        <parameter ref="InternalClient" requirement="readWrite"/>
        <parameter ref="PortMappingDescription" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetBytesSent" requirement="readOnly"/>
        <parameter ref="EthernetBytesReceived" requirement="readOnly"/>
        <parameter ref="EthernetPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="EthernetLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="DuplexMode" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="USBLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="Standard" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Rate" requirement="readOnly"/>
        <parameter ref="Power" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="CellsSent" requirement="readOnly"/>
        <parameter ref="CellsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiLAN:1">
      <object ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="BSSID" requirement="readOnly"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="Channel" requirement="readWrite"/>
        <parameter ref="SSID" requirement="readWrite"/>
        <parameter ref="BeaconType" requirement="readWrite"/>
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="Standard" requirement="readOnly"/>
        <parameter ref="WEPKeyIndex" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
        <parameter ref="WEPEncryptionLevel" requirement="readOnly"/>
        <parameter ref="BasicEncryptionModes" requirement="readWrite"/>
        <parameter ref="BasicAuthenticationMode" requirement="readWrite"/>
        <parameter ref="WPAEncryptionModes" requirement="readWrite"/>
        <parameter ref="WPAAuthenticationMode" requirement="readWrite"/>
        <parameter ref="PossibleChannels" requirement="readOnly"/>
        <parameter ref="BasicDataTransmitRates" requirement="readWrite"/>
        <parameter ref="OperationalDataTransmitRates" requirement="readWrite"/>
        <parameter ref="PossibleDataTransmitRates" requirement="readOnly"/>
        <parameter ref="RadioEnabled" requirement="readWrite"/>
        <parameter ref="AutoRateFallBackEnabled" requirement="readWrite"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalPacketsSent" requirement="readOnly"/>
        <parameter ref="TotalPacketsReceived" requirement="readOnly"/>
        <parameter ref="TotalAssociations" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.AssociatedDevice.{i}."
          requirement="present">
        <parameter ref="AssociatedDeviceMACAddress" requirement="readOnly"/>
        <parameter ref="AssociatedDeviceIPAddress" requirement="readOnly"/>
        <parameter ref="AssociatedDeviceAuthenticationState"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WEPKey.{i}."
          requirement="present">
        <parameter ref="WEPKey" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.PreSharedKey.{i}."
          requirement="present">
        <parameter ref="PreSharedKey" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="ADSLWAN:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="UpstreamCurrRate" requirement="readOnly"/>
        <parameter ref="DownstreamCurrRate" requirement="readOnly"/>
        <parameter ref="UpstreamMaxRate" requirement="readOnly"/>
        <parameter ref="DownstreamMaxRate" requirement="readOnly"/>
        <parameter ref="UpstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="DownstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="UpstreamAttenuation" requirement="readOnly"/>
        <parameter ref="DownstreamAttenuation" requirement="readOnly"/>
        <parameter ref="UpstreamPower" requirement="readOnly"/>
        <parameter ref="DownstreamPower" requirement="readOnly"/>
        <parameter ref="ATURVendor" requirement="readOnly"/>
        <parameter ref="ATURCountry" requirement="readOnly"/>
        <parameter ref="ATUCVendor" requirement="readOnly"/>
        <parameter ref="ATUCCountry" requirement="readOnly"/>
        <parameter ref="TotalStart" requirement="readOnly"/>
        <parameter ref="ShowtimeStart" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats."
          requirement="present"/>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Total."
          requirement="present">
        <parameter ref="ReceiveBlocks" requirement="readOnly"/>
        <parameter ref="TransmitBlocks" requirement="readOnly"/>
        <parameter ref="CellDelin" requirement="readOnly"/>
        <parameter ref="LinkRetrain" requirement="readOnly"/>
        <parameter ref="InitErrors" requirement="readOnly"/>
        <parameter ref="InitTimeouts" requirement="readOnly"/>
        <parameter ref="LossOfFraming" requirement="readOnly"/>
        <parameter ref="ErroredSecs" requirement="readOnly"/>
        <parameter ref="SeverelyErroredSecs" requirement="readOnly"/>
        <parameter ref="FECErrors" requirement="readOnly"/>
        <parameter ref="ATUCFECErrors" requirement="readOnly"/>
        <parameter ref="HECErrors" requirement="readOnly"/>
        <parameter ref="ATUCHECErrors" requirement="readOnly"/>
        <parameter ref="CRCErrors" requirement="readOnly"/>
        <parameter ref="ATUCCRCErrors" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.Stats.Showtime."
          requirement="present">
        <parameter ref="ReceiveBlocks" requirement="readOnly"/>
        <parameter ref="TransmitBlocks" requirement="readOnly"/>
        <parameter ref="CellDelin" requirement="readOnly"/>
        <parameter ref="LinkRetrain" requirement="readOnly"/>
        <parameter ref="InitErrors" requirement="readOnly"/>
        <parameter ref="InitTimeouts" requirement="readOnly"/>
        <parameter ref="LossOfFraming" requirement="readOnly"/>
        <parameter ref="ErroredSecs" requirement="readOnly"/>
        <parameter ref="SeverelyErroredSecs" requirement="readOnly"/>
        <parameter ref="FECErrors" requirement="readOnly"/>
        <parameter ref="ATUCFECErrors" requirement="readOnly"/>
        <parameter ref="HECErrors" requirement="readOnly"/>
        <parameter ref="ATUCHECErrors" requirement="readOnly"/>
        <parameter ref="CRCErrors" requirement="readOnly"/>
        <parameter ref="ATUCCRCErrors" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement."
          requirement="present">
        <parameter ref="ConnectionServiceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLConnectionManagement.ConnectionService.{i}."
          requirement="present">
        <parameter ref="WANConnectionDevice" requirement="readOnly"/>
        <parameter ref="WANConnectionService" requirement="readOnly"/>
        <parameter ref="DestinationAddress" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readOnly"/>
        <parameter ref="ConnectionType" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}."
          requirement="createDelete"/>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANDSLLinkConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="LinkStatus" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readWrite"/>
        <parameter ref="AutoConfig" requirement="readOnly"/>
        <parameter ref="DestinationAddress" requirement="readWrite"/>
        <parameter ref="ATMTransmittedBlocks" requirement="readOnly"/>
        <parameter ref="ATMReceivedBlocks" requirement="readOnly"/>
        <parameter ref="AAL5CRCErrors" requirement="readOnly"/>
        <parameter ref="ATMCRCErrors" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="EthernetWAN:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="MaxBitRate" requirement="readWrite"/>
        <parameter ref="DuplexMode" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANEthernetLinkConfig."
          requirement="present">
        <parameter ref="EthernetLinkStatus" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="POTSWAN:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPOTSLinkConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="LinkStatus" requirement="readOnly"/>
        <parameter ref="ISPPhoneNumber" requirement="readOnly"/>
        <parameter ref="ISPInfo" requirement="readOnly"/>
        <parameter ref="LinkType" requirement="readOnly"/>
        <parameter ref="NumberOfRetries" requirement="readOnly"/>
        <parameter ref="DelayBetweenRetries" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="QoS:1">
      <object ref="InternetGatewayDevice.QueueManagement."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="MaxQueues" requirement="readOnly"/>
        <parameter ref="MaxClassificationEntries" requirement="readOnly"/>
        <parameter ref="ClassificationNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxAppEntries" requirement="readOnly"/>
        <parameter ref="AppNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxFlowEntries" requirement="readOnly"/>
        <parameter ref="FlowNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxPolicerEntries" requirement="readOnly"/>
        <parameter ref="PolicerNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxQueueEntries" requirement="readOnly"/>
        <parameter ref="QueueNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DefaultForwardingPolicy" requirement="readWrite"/>
        <parameter ref="DefaultPolicer" requirement="readWrite"/>
        <parameter ref="DefaultQueue" requirement="readWrite"/>
        <parameter ref="DefaultDSCPMark" requirement="readWrite"/>
        <parameter ref="DefaultEthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="AvailableAppList" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Classification.{i}."
          requirement="createDelete">
        <parameter ref="ClassificationKey" requirement="readOnly"/>
        <parameter ref="ClassificationEnable" requirement="readWrite"/>
        <parameter ref="ClassificationStatus" requirement="readOnly"/>
        <parameter ref="ClassificationOrder" requirement="readWrite"/>
        <parameter ref="ClassInterface" requirement="readWrite"/>
        <parameter ref="DestIP" requirement="readWrite"/>
        <parameter ref="DestMask" requirement="readWrite"/>
        <parameter ref="DestIPExclude" requirement="readWrite"/>
        <parameter ref="SourceIP" requirement="readWrite"/>
        <parameter ref="SourceMask" requirement="readWrite"/>
        <parameter ref="SourceIPExclude" requirement="readWrite"/>
        <parameter ref="Protocol" requirement="readWrite"/>
        <parameter ref="ProtocolExclude" requirement="readWrite"/>
        <parameter ref="DestPort" requirement="readWrite"/>
        <parameter ref="DestPortRangeMax" requirement="readWrite"/>
        <parameter ref="DestPortExclude" requirement="readWrite"/>
        <parameter ref="SourcePort" requirement="readWrite"/>
        <parameter ref="SourcePortRangeMax" requirement="readWrite"/>
        <parameter ref="SourcePortExclude" requirement="readWrite"/>
        <parameter ref="SourceMACAddress" requirement="readWrite"/>
        <parameter ref="SourceMACExclude" requirement="readWrite"/>
        <parameter ref="DestMACAddress" requirement="readWrite"/>
        <parameter ref="DestMACExclude" requirement="readWrite"/>
        <parameter ref="DSCPCheck" requirement="readWrite"/>
        <parameter ref="DSCPExclude" requirement="readWrite"/>
        <parameter ref="DSCPMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityCheck" requirement="readWrite"/>
        <parameter ref="EthernetPriorityExclude" requirement="readWrite"/>
        <parameter ref="EthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="VLANIDCheck" requirement="readWrite"/>
        <parameter ref="VLANIDExclude" requirement="readWrite"/>
        <parameter ref="ForwardingPolicy" requirement="readWrite"/>
        <parameter ref="ClassPolicer" requirement="readWrite"/>
        <parameter ref="ClassQueue" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Policer.{i}."
          requirement="createDelete">
        <parameter ref="PolicerKey" requirement="readOnly"/>
        <parameter ref="PolicerEnable" requirement="readWrite"/>
        <parameter ref="PolicerStatus" requirement="readOnly"/>
        <parameter ref="CommittedRate" requirement="readWrite"/>
        <parameter ref="CommittedBurstSize" requirement="readWrite"/>
        <parameter ref="MeterType" requirement="readWrite"/>
        <parameter ref="PossibleMeterTypes" requirement="readOnly"/>
        <parameter ref="ConformingAction" requirement="readWrite"/>
        <parameter ref="NonConformingAction" requirement="readWrite"/>
        <parameter ref="CountedPackets" requirement="readOnly"/>
        <parameter ref="CountedBytes" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Queue.{i}."
          requirement="createDelete">
        <parameter ref="QueueKey" requirement="readOnly"/>
        <parameter ref="QueueEnable" requirement="readWrite"/>
        <parameter ref="QueueStatus" requirement="readOnly"/>
        <parameter ref="QueueInterface" requirement="readWrite"/>
        <parameter ref="QueueBufferLength" requirement="readOnly"/>
        <parameter ref="QueueWeight" requirement="readWrite"/>
        <parameter ref="QueuePrecedence" requirement="readWrite"/>
        <parameter ref="REDThreshold" requirement="readWrite"/>
        <parameter ref="REDPercentage" requirement="readWrite"/>
        <parameter ref="DropAlgorithm" requirement="readWrite"/>
        <parameter ref="SchedulerAlgorithm" requirement="readWrite"/>
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
          requirement="notSpecified">
        <parameter ref="ForwardingPolicy" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
          requirement="notSpecified">
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
          requirement="notSpecified">
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="QoSDynamicFlow:1">
      <object ref="InternetGatewayDevice.QueueManagement.App.{i}."
          requirement="createDelete">
        <parameter ref="AppKey" requirement="readOnly"/>
        <parameter ref="AppEnable" requirement="readWrite"/>
        <parameter ref="AppStatus" requirement="readOnly"/>
        <parameter ref="ProtocolIdentifier" requirement="readWrite"/>
        <parameter ref="AppName" requirement="readWrite"/>
        <parameter ref="AppDefaultForwardingPolicy" requirement="readWrite"/>
        <parameter ref="AppDefaultPolicer" requirement="readWrite"/>
        <parameter ref="AppDefaultQueue" requirement="readWrite"/>
        <parameter ref="AppDefaultDSCPMark" requirement="readWrite"/>
        <parameter ref="AppDefaultEthernetPriorityMark"
            requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Flow.{i}."
          requirement="createDelete">
        <parameter ref="FlowKey" requirement="readOnly"/>
        <parameter ref="FlowEnable" requirement="readWrite"/>
        <parameter ref="FlowStatus" requirement="readOnly"/>
        <parameter ref="FlowType" requirement="readWrite"/>
        <parameter ref="FlowTypeParameters" requirement="readWrite"/>
        <parameter ref="FlowName" requirement="readWrite"/>
        <parameter ref="AppIdentifier" requirement="readWrite"/>
        <parameter ref="FlowForwardingPolicy" requirement="readWrite"/>
        <parameter ref="FlowPolicer" requirement="readWrite"/>
        <parameter ref="FlowQueue" requirement="readWrite"/>
        <parameter ref="FlowDSCPMark" requirement="readWrite"/>
        <parameter ref="FlowEthernetPriorityMark" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Classification.{i}."
          requirement="notSpecified">
        <parameter ref="ClassApp" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="Bridging:1">
      <object ref="InternetGatewayDevice.Layer2Bridging."
          requirement="present">
        <parameter ref="MaxBridgeEntries" requirement="readOnly"/>
        <parameter ref="MaxFilterEntries" requirement="readOnly"/>
        <parameter ref="MaxMarkingEntries" requirement="readOnly"/>
        <parameter ref="BridgeNumberOfEntries" requirement="readOnly"/>
        <parameter ref="FilterNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MarkingNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AvailableInterfaceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
          requirement="createDelete">
        <parameter ref="BridgeKey" requirement="readOnly"/>
        <parameter ref="BridgeEnable" requirement="readWrite"/>
        <parameter ref="BridgeStatus" requirement="readOnly"/>
        <parameter ref="BridgeName" requirement="readWrite"/>
        <parameter ref="VLANID" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Filter.{i}."
          requirement="createDelete">
        <parameter ref="FilterKey" requirement="readOnly"/>
        <parameter ref="FilterEnable" requirement="readWrite"/>
        <parameter ref="FilterStatus" requirement="readOnly"/>
        <parameter ref="FilterBridgeReference" requirement="readWrite"/>
        <parameter ref="ExclusivityOrder" requirement="readWrite"/>
        <parameter ref="FilterInterface" requirement="readWrite"/>
        <parameter ref="VLANIDFilter" requirement="readWrite"/>
        <parameter ref="AdmitOnlyVLANTagged" requirement="readWrite"/>
        <parameter ref="EthertypeFilterList" requirement="readWrite"/>
        <parameter ref="EthertypeFilterExclude" requirement="readWrite"/>
        <parameter ref="SourceMACAddressFilterList" requirement="readWrite"/>
        <parameter ref="SourceMACAddressFilterExclude" requirement="readWrite"/>
        <parameter ref="DestMACAddressFilterList" requirement="readWrite"/>
        <parameter ref="DestMACAddressFilterExclude" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Marking.{i}."
          requirement="createDelete">
        <parameter ref="MarkingKey" requirement="readOnly"/>
        <parameter ref="MarkingEnable" requirement="readWrite"/>
        <parameter ref="MarkingStatus" requirement="readOnly"/>
        <parameter ref="MarkingBridgeReference" requirement="readWrite"/>
        <parameter ref="MarkingInterface" requirement="readWrite"/>
        <parameter ref="VLANIDUntag" requirement="readWrite"/>
        <parameter ref="VLANIDMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityOverride" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.Layer2Bridging.AvailableInterface.{i}."
          requirement="present">
        <parameter ref="AvailableInterfaceKey" requirement="readOnly"/>
        <parameter ref="InterfaceType" requirement="readOnly"/>
        <parameter ref="InterfaceReference" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Time:1">
      <object ref="InternetGatewayDevice.Time." requirement="present">
        <parameter ref="NTPServer1" requirement="readWrite"/>
        <parameter ref="NTPServer2" requirement="readWrite"/>
        <parameter ref="CurrentLocalTime" requirement="readOnly"/>
        <parameter ref="LocalTimeZone" requirement="readWrite"/>
        <parameter ref="LocalTimeZoneName" requirement="readWrite"/>
        <parameter ref="DaylightSavingsUsed" requirement="readWrite"/>
        <parameter ref="DaylightSavingsStart" requirement="readWrite"/>
        <parameter ref="DaylightSavingsEnd" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="IPPing:1">
      <object ref="InternetGatewayDevice.IPPingDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="FailureCount" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
        <parameter ref="MinimumResponseTime" requirement="readOnly"/>
        <parameter ref="MaximumResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="ATMLoopback:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANATMF5LoopbackDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="FailureCount" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
        <parameter ref="MinimumResponseTime" requirement="readOnly"/>
        <parameter ref="MaximumResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DSLDiagnostics:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLDiagnostics."
          requirement="present">
        <parameter ref="LoopDiagnosticsState" requirement="readWrite"/>
        <parameter ref="ACTPSDds" requirement="readOnly"/>
        <parameter ref="ACTPSDus" requirement="readOnly"/>
        <parameter ref="ACTATPds" requirement="readOnly"/>
        <parameter ref="ACTATPus" requirement="readOnly"/>
        <parameter ref="HLINSCds" requirement="readOnly"/>
        <parameter ref="HLINpsds" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="BITSpsds" requirement="readOnly"/>
        <parameter ref="GAINSpsds" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DeviceAssociation:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="notSpecified">
        <parameter ref="ManageableDeviceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.ManagementServer.ManageableDevice.{i}."
          requirement="present">
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPConnReq:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="notSpecified">
        <parameter ref="UDPConnectionRequestAddress" requirement="readOnly"/>
        <parameter ref="UDPConnectionRequestAddressNotificationLimit"
            requirement="readWrite"/>
        <parameter ref="STUNEnable" requirement="readWrite"/>
        <parameter ref="STUNServerAddress" requirement="readWrite"/>
        <parameter ref="STUNServerPort" requirement="readWrite"/>
        <parameter ref="STUNUsername" requirement="readWrite"/>
        <parameter ref="STUNPassword" requirement="readWrite"/>
        <parameter ref="STUNMaximumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="STUNMinimumKeepAlivePeriod" requirement="readWrite"/>
        <parameter ref="NATDetected" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Download:1">
      <object ref="InternetGatewayDevice.Capabilities.PerformanceDiagnostic."
          requirement="present">
        <parameter ref="DownloadTransports" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DownloadDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="DownloadURL" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="EthernetPriority" requirement="readWrite"/>
        <parameter ref="ROMTime" requirement="readOnly"/>
        <parameter ref="BOMTime" requirement="readOnly"/>
        <parameter ref="EOMTime" requirement="readOnly"/>
        <parameter ref="TestBytesReceived" requirement="readOnly"/>
        <parameter ref="TotalBytesReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DownloadTCP:1">
      <object ref="InternetGatewayDevice.DownloadDiagnostics."
          requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Upload:1">
      <object ref="InternetGatewayDevice.Capabilities.PerformanceDiagnostic."
          requirement="present">
        <parameter ref="UploadTransports" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.UploadDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="UploadURL" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="EthernetPriority" requirement="readWrite"/>
        <parameter ref="ROMTime" requirement="readOnly"/>
        <parameter ref="BOMTime" requirement="readOnly"/>
        <parameter ref="EOMTime" requirement="readOnly"/>
        <parameter ref="TestFileLength" requirement="readOnly"/>
        <parameter ref="TotalBytesSent" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UploadTCP:1">
      <object ref="InternetGatewayDevice.UploadDiagnostics."
          requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPEcho:1">
      <object ref="InternetGatewayDevice.UDPEchoConfig." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="SourceIPAddress" requirement="readWrite"/>
        <parameter ref="UDPPort" requirement="readWrite"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsResponded" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="BytesResponded" requirement="readOnly"/>
        <parameter ref="TimeFirstPacketReceived" requirement="readOnly"/>
        <parameter ref="TimeLastPacketReceived" requirement="readOnly"/>
        <parameter ref="EchoPlusSupported" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UDPEchoPlus:1">
      <object ref="InternetGatewayDevice.UDPEchoConfig." requirement="present">
        <parameter ref="EchoPlusEnabled" requirement="readWrite"/>
      </object>
    </profile>
  </model>
</dm:document>
