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

  Copyright (c) 2009-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 InternetGatewayDevice Root Object definition.

  Editor:
    * William Lupton, Cisco
    
  BroadbandHome Working Group Chairs:
    * Jason Walls, QA Cafe
    * John Blackford, Pace
    
  Issue History (Filename: Approval Date: Publication Date: Changes):
    * tr-098-1-2-0.xml: March 2009: 
      - corresponds to TR-098 Amendment 1 sections 2.4 (Data Model),
        2.4.1 (Inform and Notification Requirements) and 3 (Profile
        Definitions).
    * tr-098-1-2-0.xml: September 2009 (name unchanged)
      - fixed header information (had been cut-and-pasted from elsewhere)
      - changed WLANConfigurationNumberOfEntries to (wrong but consistent)
        LANWLANConfigurationNumberOfEntries
      - fixed 802.1Q-2004 reference to 802.1Q-2005
      - fixed cwmp-datamodel.xsd to be cwmp-datamodel-1-0.xsd    
    * tr098-1-3-0.xml: July 2011:
      - Alias extensions
    * tr098-1-4-0.xml: October 2011:
      - imports new optional components for Femto FAP from TR-262:
          * GPS
          * Tunnel
          * Performance Manamgemen
          * Application Platform    
      - import of new/updated optional components from TR-157a5
          * Software modules
          * Fault Management
          * Location
          * Security
    * tr-098-1-5-0.xml: May 2012:  
      - imports the new BulkDataCollection component from TR-157a6
    * tr-098-1-6-0.xml: November 2012: 
      - Add components from TR-157a7
      - Added software components to remove non-ascii characters
        * BulkDataCollectionDiffs
        * DI_VendorLogFilesDiffss
        * UI_RemoteAccessDiffs
        * PeriodicStatisticsDiff
    * tr-098-1-7-0.xml: November 2013: 
      - import components from TR-157a8 
        * MS_StandbyPolicy
        * XMPP
        * XMPPConnReq
      - add ManagementServer Parameters for HTTP Compression and 
        Lightweight Notifications
    * tr-098-1-8-0.xml: 8 September 2014: 17 September 2014
      - import components from TR-157a9
        * DI_HTIP
        * MS_InformParameters
        * UPnPDiffs
-->

<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
        http://www.broadband-forum.org/cwmp/cwmp-datamodel-report.xsd"
    spec="urn:broadband-forum-org:tr-098-1-8-0"
    file="tr-098-1-8-0.xml">

  <dataType name="_AliasCommon">
    <description>
      A non-volatile handle used to reference this instance.

      '''This is intended only for use in protocol-independent "common"
      definitions, and MUST NOT be used in protocol-specific definitions.'''
    </description>
    <string>
      <size maxLength="64"/>
    </string>
  </dataType>

  <dataType name="_AliasCWMP" base="_AliasCommon">
    <description action="replace">
      A non-volatile handle used to reference this instance. Alias provides a
      mechanism for an ACS to label this instance for future reference.

      If the CPE supports the Alias-based Addressing feature as defined in
      {{bibref|TR-069|3.6.1}} and described in {{bibref|TR-069|Appendix II}},
      the following mandatory constraints MUST be enforced:

      * Its value MUST NOT be empty.

      * Its value MUST start with a letter.

      * If its value is not assigned by the ACS, it MUST start with a "cpe-"
        prefix.

      * The CPE MUST NOT change the parameter value.
    </description>
  </dataType>

  <dataType name="Alias" base="_AliasCWMP"/>

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

  <dataType name="UUID">
    <description>
      Universally Unique Identifier. See {{bibref|RFC4122}}.
    </description>
    <string>
      <size minLength="36" maxLength="36"/>
      <pattern
          value="[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"/>
    </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="3GPP-TS.23.107">
      <name>3GPP TS 23.107</name>
      <title>Quality of Service (QoS) concept and architecture</title>
      <organization>3GPP SA WG2</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/23107.htm</hyperlink>
    </reference>
    <reference id="3GPP-TS.25.171">
      <name>3GPP TS 25.171</name>
      <title>
        Requirements for support of Assisted Global Positioning System (A-GPS)
      </title>
      <organization>3GPP RAN WG4</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/25171.htm</hyperlink>
    </reference>
    <reference id="3GPP-TS.32.582">
      <name>3GPP TS 32.582</name>
      <title>
        Telecommunications management; Home Node B (HNB) Operations,
        Administration, Maintenance and Provisioning (OAM&amp;P); Information
        model for Type 1 interface HNB to HNB Management System (HMS)
      </title>
      <organization>3GPP SA WG5</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/32582.htm</hyperlink>
    </reference>
    <reference id="3GPP-TS.32.584">
      <name>3GPP TS 32.584</name>
      <title>
        Telecommunications management; Home Node B (HNB) Operations,
        Administration, Maintenance and Provisioning (OAM&amp;P); XML
        definitions for Type 1 interface HNB to HNB Management Systems (HMS)
      </title>
      <organization>3GPP SA WG5</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/32584.htm</hyperlink>
    </reference>
    <reference id="3GPP-TS.32.592">
      <name>3GPP TS 32.592</name>
      <title>
        Telecommunications management; Home enhanced Node B (HeNB) Operations,
        Administration, Maintenance and Provisioning (OAM&amp;P); Information
        model for Type 1 interface HeNB to HeNB Management System (HeMS)
      </title>
      <organization>3GPP SA WG5</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/32592.htm</hyperlink>
    </reference>
    <reference id="3GPP2-S.S0132">
      <name>S.S0132-0 v1.0</name>
      <title>Femtocell Security Framework</title>
      <organization>3GPP2</organization>
      <date>January 2010</date>
      <hyperlink>
        https://www.3gpp2.org/Public_html/Specs/S.S0132-0_v1.0_Femtocell_Security_Framework.pdf
      </hyperlink>
    </reference>
    <reference id="3GPP2-X.S0011">
      <name>X.S0011-005-C</name>
      <title>
        cdma2000 Wireless IP Network Standard: Accounting Services and 3GPP2
        RADIUS VSAs
      </title>
      <organization>3GPP2</organization>
      <date>August 2003</date>
      <hyperlink>
        https://www.3gpp2.org/Public_html/Specs/X.S0011-005-C_v1.0_110703.pdf
      </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="802.1D-2004">
      <name>IEEE Std 802.1D-2004</name>
      <title>Media Access Control (MAC) Bridges</title>
      <organization>IEEE</organization>
      <date>2004</date>
      <hyperlink>
        https://standards.ieee.org/getieee802/download/802.1D-2004.pdf
      </hyperlink>
    </reference>
    <reference id="802.1Q-2005">
      <name>IEEE Std 802.1Q-2005</name>
      <title>Virtual Bridged Local Area Networks</title>
      <organization>IEEE</organization>
      <date>2006</date>
      <hyperlink>
        https://standards.ieee.org/getieee802/download/802.1Q-2005.pdf
      </hyperlink>
    </reference>
    <reference id="DVB-TS.102.824">
      <name>TS 102 824</name>
      <title>
        Digital Video Broadcasting (DVB);Remote Management and Firmware Update
        System for DVB IP Services
      </title>
      <organization>ETSI</organization>
      <date>July 2008</date>
      <hyperlink>
        https://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=27769
      </hyperlink>
      <hyperlink>
        http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=27769
      </hyperlink>
    </reference>
    <reference id="ETSIM2MFA">
      <name>ETSI TS 102 690 v1.1.6</name>
      <title>
        Machine-to-Machine Communications (M2M Functional Architecture)
      </title>
      <organization>ETSI</organization>
      <date>June 2012</date>
      <hyperlink>
        https://docbox.etsi.org/M2M/Open/Latest_Drafts/00002ed121v116.pdf
      </hyperlink>
    </reference>
    <reference id="G.9973">
      <name>G.9973</name>
      <title>Protocol for identifying home network topology</title>
      <organization>ITU-T</organization>
      <date>2011</date>
      <hyperlink>https://www.itu.int/rec/T-REC-G.9973-201110-I/en</hyperlink>
    </reference>
    <reference id="ITU-X.733">
      <name>ITU X.733</name>
      <title>
        Information technology - Open Systems Interconnection - Systems
        Management: Alarm reporting function
      </title>
      <organization>International Telecommunication Union</organization>
      <date>February 1992</date>
      <hyperlink>https://www.itu.int/rec/T-REC-X.733/en</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="ISO-13818-6:1998">
      <name>ISO/IEC 13818-6:1998</name>
      <title>
        Information Technology - Generic coding of moving pictures and
        associated audio information - Part 6: Extensions for DSM-CC
      </title>
      <organization>ISO</organization>
      <date>1998</date>
      <hyperlink>
        https://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=25039
      </hyperlink>
      <hyperlink>
        http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=25039
      </hyperlink>
    </reference>
    <reference id="RFC793">
      <name>RFC 793</name>
      <title>Transmission Control Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>September 1981</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc793</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc793.txt</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="RFC1035">
      <name>RFC 1035</name>
      <title>Domain Names - Implementation and Specification</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>1987</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc1035</hyperlink>
    </reference>
    <reference id="RFC1323">
      <name>RFC 1323</name>
      <title>TCP Extensions for High Performance</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>May 1992</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc1323</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc1323.txt</hyperlink>
    </reference>
    <reference id="RFC2131">
      <name>RFC 2131</name>
      <title>Dynamic Host Configuration Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2131</hyperlink>
    </reference>
    <reference id="RFC2132">
      <name>RFC 2132</name>
      <title>DHCP Options and BOOTP Vendor Extensions</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2132</hyperlink>
    </reference>
    <reference id="RFC2225">
      <name>RFC 2225</name>
      <title>Classical IP and ARP over ATM</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2225</hyperlink>
    </reference>
    <reference id="RFC2474">
      <name>RFC 2474</name>
      <title>
        Definition of the Differentiated Services Field (DS Field) in the IPv4
        and IPv6 Headers
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2474</hyperlink>
    </reference>
    <reference id="RFC2516">
      <name>RFC 2516</name>
      <title>A Method for Transmitting PPP Over Ethernet (PPPoE)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2516</hyperlink>
    </reference>
    <reference id="RFC2581">
      <name>RFC 2581</name>
      <title>TCP Congestion Control</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 1999</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2581</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2581.txt</hyperlink>
    </reference>
    <reference id="RFC2582">
      <name>RFC 2582</name>
      <title>The NewReno Modification to TCP's Fast Recovery Algorithm</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 1999</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2582</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2582.txt</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="RFC2634">
      <name>RFC 2634</name>
      <title>Enhanced Security Services for S/MIME</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2634</hyperlink>
    </reference>
    <reference id="RFC2662">
      <name>RFC 2662</name>
      <title>Definitions of Managed Objects for the ADSL Lines</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2662</hyperlink>
    </reference>
    <reference id="RFC2684">
      <name>RFC 2684</name>
      <title>Multiprotocol Encapsulation over ATM Adaptation Layer 5</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2684</hyperlink>
    </reference>
    <reference id="RFC2697">
      <name>RFC 2697</name>
      <title>A Single Rate Three Color Marker</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2697</hyperlink>
    </reference>
    <reference id="RFC2698">
      <name>RFC 2698</name>
      <title>A Two Rate Three Color Marker</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2698</hyperlink>
    </reference>
    <reference id="RFC2782">
      <name>RFC 2782</name>
      <title>A DNS RR for specifying the location of services (DNS SRV)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2000</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2782</hyperlink>
    </reference>
    <reference id="RFC2818">
      <name>RFC 2818</name>
      <title>HTTP Over TLS</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>May 2000</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2818</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2818.txt</hyperlink>
    </reference>
    <reference id="RFC2863">
      <name>RFC 2863</name>
      <title>The Interfaces Group MIB</title>
      <organization>IETF</organization>
      <date>2000</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2863</hyperlink>
    </reference>
    <reference id="RFC2898">
      <name>RFC 2898</name>
      <title>
        PKCS #5: Password-Based Cryptography Specification Version 2.0
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2898</hyperlink>
    </reference>
    <reference id="RFC2974">
      <name>RFC 2974</name>
      <title>Session Announcement Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>October 2000</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2974</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2974.txt</hyperlink>
    </reference>
    <reference id="RFC3004">
      <name>RFC 3004</name>
      <title>The User Class Option for DHCP</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3004</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="RFC3925">
      <name>RFC 3925</name>
      <title>
        Vendor-Identifying Vendor Options for Dynamic Host Configuration
        Protocol version 4 (DHCPv4)
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3925</hyperlink>
    </reference>
    <reference id="RFC3926">
      <name>RFC 3926</name>
      <title>FLUTE - File Delivery over Unidirectional Transport</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>October 2004</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3926</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc3926.txt</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>
      <hyperlink>http://www.ietf.org/rfc/rfc4122.txt</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="RFC4301">
      <name>RFC 4301</name>
      <title>Security Architecture for the Internet Protocol</title>
      <organization>IETF</organization>
      <date>December 2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4301</hyperlink>
    </reference>
    <reference id="RFC4307">
      <name>RFC 4307</name>
      <title>
        Cryptographic Algorithms for Use in the Internet Key Exchange Version 2
        (IKEv2)
      </title>
      <organization>IETF</organization>
      <date>December 2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4307</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="RFC4835">
      <name>RFC 4835</name>
      <title>
        Cryptographic Algorithm Implementation Requirements for Encapsulating
        Security Payload (ESP) and Authentication Header (AH)
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2007</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4835</hyperlink>
    </reference>
    <reference id="RFC5139">
      <name>RFC 5139</name>
      <title>
        Revised Civic Location Format For Presence Information Data Format
        Location Object (PIDF-LO)
      </title>
      <organization>IETF</organization>
      <date>February 2008</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc5139</hyperlink>
    </reference>
    <reference id="RFC5280">
      <name>RFC 5280</name>
      <title>
        Internet X.509 Public Key Infrastructure Certificate and Certificate
        Revocation List (CRL) Profile
      </title>
      <organization>IETF</organization>
      <date>May 2008</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc5280</hyperlink>
    </reference>
    <reference id="RFC5491">
      <name>RFC 5491</name>
      <title>
        GEOPRIV Presence Information Data Format Location Object (PIDF-LO)
        Usage Clarification, Considerations, and Recommendations
      </title>
      <organization>IETF</organization>
      <date>March 2009</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc5491</hyperlink>
    </reference>
    <reference id="RFC6120">
      <name>RFC 6120</name>
      <title>Extensible Messaging and Presence Protocol (XMPP) : Core</title>
      <organization>IETF</organization>
      <date>2011</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc6120</hyperlink>
    </reference>
    <reference id="DNS-SD">
      <name>RFC 6763</name>
      <title>DNS-Based Service Discovery</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2013</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc6763</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="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-069a2">
      <name>TR-069 Amendment 2</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2007</date>
    </reference>
    <reference id="TR-069a3">
      <name>TR-069 Amendment 3</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2010</date>
    </reference>
    <reference id="TR-069a4">
      <name>TR-069 Amendment 4</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>July 2011</date>
    </reference>
    <reference id="TR-069a5">
      <name>TR-069 Amendment 5</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <date>December 2013</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-098a2">
      <name>TR-098 Amendment 2</name>
      <title>Internet Gateway Device Data Model for TR-069</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>September 2008</date>
    </reference>
    <reference id="TR-098">
      <name>TR-098 Amendment 2 Corrigendum 1</name>
      <title>Internet Gateway Device Data Model for TR-069</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>December 2014</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-106a2">
      <name>TR-106 Amendment 2</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2008</date>
    </reference>
    <reference id="TR-106a3">
      <name>TR-106 Amendment 3</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>September 2009</date>
    </reference>
    <reference id="TR-106a4">
      <name>TR-106 Amendment 4</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>February 2010</date>
      <hyperlink>
        http://www.broadband-forum.org/technical/download/TR-106_Amendment-4.pdf
      </hyperlink>
    </reference>
    <reference id="TR-106a6">
      <name>TR-106 Amendment 6</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>July 2011</date>
    </reference>
    <reference id="TR-106a7">
      <name>TR-106 Amendment 7</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>September 2013</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="TR-157a3">
      <name>TR-157 Amendment 3</name>
      <title>Component Objects for CWMP</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2010</date>
      <hyperlink>
        http://www.broadband-forum.org/technical/download/TR-106_Amendment-4.pdf
      </hyperlink>
    </reference>
    <reference id="TR-157a5">
      <name>TR-157 Amendment 5</name>
      <title>Component Objects for CWMP</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2011</date>
    </reference>
    <reference id="TR-157">
      <name>TR-157 Amendment 10</name>
      <title>Component Objects for CWMP</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2015</date>
    </reference>
    <reference id="TR-181i1">
      <name>TR-181 Issue 1</name>
      <title>Device Data Model for TR-069</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>February 2010</date>
    </reference>
    <reference id="TR-181i2">
      <name>TR-181 Issue 2 Amendment 15</name>
      <title>Device Data Model</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>January 2022</date>
    </reference>
    <reference id="TR-196i2">
      <name>TR-196 Issue 2</name>
      <title>Femto Access Point Service Data Model</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2011</date>
    </reference>
    <reference id="TR-232">
      <name>TR-232</name>
      <title>Bulk Data Collection</title>
      <organization>Broadband Forum</organization>
      <category>Technical Report</category>
      <date>May 2012</date>
    </reference>
    <reference id="TR-262">
      <name>TR-262</name>
      <title>Femto Component Objects</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2011</date>
    </reference>
    <reference id="WPSv1.0">
      <name>Wi-Fi Protected Setup Specification Version 1.0h</name>
      <title>Wi-Fi Alliance</title>
      <date>2006</date>
      <hyperlink>
        https://www.wi-fi.org/discover-wi-fi/specifications
      </hyperlink>
    </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="DLNA-NDIG">
      <name>DLNA Networked Device Interoperability Guidelines</name>
      <title>
        DLNA Networked Device Interoperability Guidelines, Volume 2: Media
        Format Profiles.
      </title>
      <organization>DLNA</organization>
      <date>October 2006</date>
      <hyperlink>
        https://www.dlna.org/industry/certification/guidelines/
      </hyperlink>
      <hyperlink>
        http://www.dlna.org/industry/certification/guidelines/
      </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="ICSA-Baseline">
      <name>ICSA Baseline Modular Firewall Certification Criteria</name>
      <title>Baseline module - version 4.1</title>
      <organization>ICSA Labs</organization>
      <date>2008</date>
      <hyperlink>
        https://www.icsalabs.com/sites/default/files/baseline.pdf
      </hyperlink>
      <hyperlink>
        http://www.icsalabs.com/sites/default/files/baseline.pdf
      </hyperlink>
    </reference>
    <reference id="ICSA-Residential">
      <name>ICSA Residential Modular Firewall Certification Criteria</name>
      <title>
        Required Services Security Policy - Residential Category module -
        version 4.1
      </title>
      <organization>ICSA Labs</organization>
      <date>2008</date>
      <hyperlink>
        https://www.icsalabs.com/sites/default/files/residential.pdf
      </hyperlink>
      <hyperlink>
        http://www.icsalabs.com/sites/default/files/residential.pdf
      </hyperlink>
    </reference>
    <reference id="IPDR-FTP">
      <name>IPDR File Transfer Protocol</name>
      <title>IPDR/File Transfer Protocol</title>
      <organization>TM Forum</organization>
      <hyperlink>https://www.tmforum.org/ipdr/</hyperlink>
      <hyperlink>http://www.ipdr.org/public/</hyperlink>
    </reference>
    <reference id="IPDR-SP">
      <name>IPDR Streaming Protocol</name>
      <title>IPDR Streaming Protocol (IPDR/SP) Specification</title>
      <organization>TM Forum</organization>
      <hyperlink>https://www.tmforum.org/ipdr/</hyperlink>
      <hyperlink>http://www.ipdr.org/public/</hyperlink>
    </reference>
    <reference id="IPDR-XDR">
      <name>IPDR XDR Encoding Format</name>
      <title>IPDR/XDR Encoding Format</title>
      <organization>TM Forum</organization>
      <hyperlink>https://www.tmforum.org/ipdr/</hyperlink>
      <hyperlink>http://www.ipdr.org/public/</hyperlink>
    </reference>
    <reference id="IPDR-XML">
      <name>IPDR XML File Encoding Format</name>
      <title>IPDR/XML File Encoding Format</title>
      <organization>TM Forum</organization>
      <hyperlink>https://www.tmforum.org/ipdr/</hyperlink>
      <hyperlink>http://www.ipdr.org/public/</hyperlink>
    </reference>
    <reference id="JJ-300.00">
      <name>JJ-300.00</name>
      <title>Home-network Topology Identifying Protocol</title>
      <organization>TTC</organization>
      <date>2017</date>
      <hyperlink>
        https://www.ttc.or.jp/application/files/1115/5443/0461/JJ-300.00Ev3.pdf
      </hyperlink>
    </reference>
    <reference id="JJ-300.01">
      <name>JJ-300.01</name>
      <title>The List of Device Categories</title>
      <organization>TTC</organization>
      <date>2018</date>
      <hyperlink>
        https://www.ttc.or.jp/application/files/8315/5443/0461/JJ-300.01Ev2.1.pdf
      </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="UPnP-DAv1">
      <name>UPnP Device Architecture</name>
      <title>UPnP Device Architecture 1.0</title>
      <organization>UPnP Forum</organization>
      <date>April 2008</date>
      <hyperlink>
        http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0-20080424.pdf
      </hyperlink>
      <hyperlink>
        http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0-20080424.pdf
      </hyperlink>
    </reference>
    <reference id="UPnP-DAv11">
      <name>UPnP Device Architecture 1.1</name>
      <title>UPnP Device Architecture 1.1</title>
      <organization>UPnP Forum</organization>
      <date>October, 2008</date>
      <hyperlink>
        http://www.upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.1.pdf
      </hyperlink>
    </reference>
    <reference id="UPnP-DM:1">
      <name>UPnP Device Management:1</name>
      <title>UPnP Device Management v1</title>
      <hyperlink>
        https://openconnectivity.org/developer/specifications/upnp-resources/upnp/device-management1-2
      </hyperlink>
    </reference>
    <reference id="USB1.0">
      <name>USB 1.0</name>
      <title>USB 1.0 Specification</title>
      <organization>USB-IF</organization>
      <date>January 1996</date>
      <hyperlink>https://www.usb.org/documents</hyperlink>
      <hyperlink>http://www.usb.org/developers/docs/</hyperlink>
    </reference>
    <reference id="USB2.0">
      <name>USB 2.0</name>
      <title>USB 2.0 Specification</title>
      <organization>USB-IF</organization>
      <date>April 2000</date>
      <hyperlink>https://www.usb.org/documents</hyperlink>
      <hyperlink>
        http://www.usb.org/developers/docs/usb_20_122208.zip
      </hyperlink>
    </reference>
    <reference id="USB3.0">
      <name>USB 3.0</name>
      <title>USB 3.0 Specification</title>
      <organization>USB-IF</organization>
      <date>November 2008</date>
      <hyperlink>https://www.usb.org/documents</hyperlink>
      <hyperlink>http://www.usb.org/developers/docs/usb_30_spec.zip</hyperlink>
    </reference>
    <reference id="Z-Wave">
      <name>Z-Wave</name>
      <title>Z-Wave website</title>
      <hyperlink>https://www.z-wave.com</hyperlink>
    </reference>
    <reference id="ZigBee">
      <name>ZigBee</name>
      <title>ZigBee Alliance website</title>
      <hyperlink>https://csa-iot.org/all-solutions/zigbee</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="InternetGatewayDevice:1.14">

    <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="" status="deprecated">
        <description>
          As defined in {{bibref|TR-106a1}}.

          This parameter is DEPRECATED because
          {{object|DeviceInfo.SupportedDataModel}} and associated Device Type
          XML documents (DT Instances) provide a more granular and scalable way
          of describing the device's data model. Therefore its value MAY be
          {{empty}} if (and only if) {{object|DeviceInfo.SupportedDataModel}}
          is supported.
        </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>

      <parameter name="UserNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SmartCardReaderNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </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="DeviceCategory" access="readOnly"
          dmr:previousParameter="">
        <description>
          Each list item is a device category (e.g. "AV_TV" and "AV_Recorder"),
          or the value is {{empty}} if no such element is provided by the
          device. Note: It is assumed that this list might be used for HTIP
          (Home-network Topology Identifying Protocol) {{bibref|JJ-300.00}} and
          {{bibref|G.9973}}. Standard HTIP device categories are defined in
          {{bibref|JJ-300.01}}. In this case, the maximum length of the list is
          127 and of each item is 31, and any non-HTIP device categories SHOULD
          NOT conflict with standard HTIP device categories.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <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. {{pattern}} The value MUST
          be a valid OUI as defined in {{bibref|OUI}}. This value MUST remain
          fixed over the lifetime of the device, including across firmware
          updates. Any change would indicate that it's a new device and would
          therefore require a BOOTSTRAP Inform.
        </description>
        <syntax>
          <string>
            <size minLength="6" maxLength="6"/>
            <pattern value="[0-9A-F]{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="ModelNumber" access="readOnly"
          dmr:previousParameter="ModelName">
        <description>
          The model number of the device (human readable string), or {{empty}}
          if no model number is provided by the device. Note: It is assumed
          that this string might be used for HTIP (Home-network Topology
          Identifying Protocol) {{bibref|JJ-300.00}} and {{bibref|G.9973}}. In
          this case, the maximum length of the string is 31.
        </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. This value MUST remain
          fixed over the lifetime of the device, including across firmware
          updates. Any change would indicate that it's a new device and would
          therefore require a BOOTSTRAP Inform.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Identifier of the particular device that is unique for the indicated
          class of product and manufacturer. This value MUST remain fixed over
          the lifetime of the device, including across firmware updates. Any
          change would indicate that it's a new device and would therefore
          require a BOOTSTRAP Inform.
        </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" status="deprecated">
        <description>
          This parameter is DEPRECATED because the "voucher mechanism", as
          defined in {{bibref|TR-069a3|Annex C}} is deprecated in favor of the
          "Software Module Management mechanism" as described in
          {{bibref|TR-157a3|Appendix II}}. {{list}} 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-069a3}}. 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" status="deleted"/>
        </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" activeNotify="canDeny">
        <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" activeNotify="canDeny">
        <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>

      <parameter name="SupportedDataModelNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ProcessorNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="VendorLogFileNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LocationNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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.DeviceInfo.MemoryStatus."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Status of the device's volatile physical memory.
      </description>

      <parameter name="Total" access="readOnly">
        <description>
          The total physical RAM, in {{units}}, installed on the device.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kilobytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Free" access="readOnly" activeNotify="canDeny">
        <description>
          The free physical RAM, in {{units}}, currently available on the
          device.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kilobytes"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.ProcessStatus."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Status of the processes on the device.
      </description>

      <parameter name="CPUUsage" access="readOnly" activeNotify="canDeny">
        <description>
          The total amount of the CPU, in {{units}}, rounded up to the nearest
          whole {{units}}. In the case that multiple CPU are present, this
          value represents the average of all CPU.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
            <units value="percent"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ProcessNumberOfEntries" access="readOnly">
        <description>
          {{numentries}} Since a Process can come and go very quickly, the CPE
          SHOULD place a locally specified limit on the frequency at which it
          will notify the ACS of value changes, as described in
          {{bibref|TR-069a2|Section 3.2.1}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.ProcessStatus.Process.{i}."
        access="readOnly" numEntriesParameter="ProcessNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        List of all processes running on the device.
      </description>
      <uniqueKey>
        <parameter ref="PID"/>
      </uniqueKey>

      <parameter name="PID" access="readOnly">
        <description>
          The Process Identifier.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Command" access="readOnly">
        <description>
          The name of the command that has caused the process to exist.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Size" access="readOnly" activeNotify="canDeny">
        <description>
          The size in {{units}} of the memory occupied by the process.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kilobytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Priority" access="readOnly">
        <description>
          The priority of the process where 0 is highest.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="99"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CPUTime" access="readOnly" activeNotify="canDeny">
        <description>
          The amount of time in {{units}} that the process has spent taking up
          CPU time since the process was started.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="State" access="readOnly" activeNotify="canDeny">
        <description>
          The current state that the process is in.
        </description>
        <syntax>
          <string>
            <enumeration value="Running"/>
            <enumeration value="Sleeping"/>
            <enumeration value="Stopped"/>
            <enumeration value="Idle" optional="true"/>
            <enumeration value="Uninterruptible" optional="true"/>
            <enumeration value="Zombie" optional="true"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.TemperatureStatus."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Status of the temperature of the device.
      </description>

      <parameter name="TemperatureSensorNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}."
        access="readOnly"
        numEntriesParameter="TemperatureSensorNumberOfEntries" minEntries="0"
        maxEntries="unbounded">
      <description>
        This object represents information that the device has obtained via
        sampling an internal temperature sensor.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Indicates whether or not the temperature sensor is enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this temperature sensor.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>
                The sensor is not currently sampling the temperature.
              </description>
            </enumeration>
            <enumeration value="Enabled">
              <description>
                The sensor is currently sampling the temperature.
              </description>
            </enumeration>
            <enumeration value="Error">
              <description>
                The sensor error currently prevents sampling the temperature.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}}, resets the temperature sensor.
        </description>
        <syntax hidden="true">
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ResetTime" access="readOnly">
        <description>
          The time at which this temperature sensor was reset. Reset can be
          caused by:

          * {{param|Status}} transition from {{enum|Disabled|Status}} to
            {{enum|Enabled|Status}}

          * {{param|Reset}} set to {{true}}.

          * An internal reset of the temperature sensor (including a reboot of
            the device). The Unknown Time value, as defined in
            {{bibref|TR-106a2}}, indicates that this temperature sensor has
            never been reset, which can only happen if it has never been
            enabled.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          Name of this temperature sensor. This text MUST be sufficient to
          distinguish this temperature sensor from other temperature sensors.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Value" access="readOnly" activeNotify="canDeny">
        <description>
          This temperature sensor's last good reading in {{units}}. A value of
          -274 (which is below absolute zero) indicates a good reading has not
          been obtained since last reset.
        </description>
        <syntax>
          <int>
            <range minInclusive="-274"/>
            <units value="degrees celsius"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LastUpdate" access="readOnly" activeNotify="canDeny">
        <description>
          The time at which this temperature sensor's last good reading was
          obtained. The Unknown Time value, as defined in {{bibref|TR-106a2}},
          indicates a good reading has not been obtained since last reset.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="MinValue" access="readOnly">
        <description>
          This temperature sensor's lowest value reading in {{units}} since
          last reset. A value of -274 (which is below absolute zero) indicates
          a good reading has not been obtained since last reset.
        </description>
        <syntax>
          <int>
            <range minInclusive="-274"/>
            <units value="degrees celsius"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MinTime" access="readOnly">
        <description>
          The time at which this temperature sensor's lowest value was read.
          The Unknown Time value, as defined in {{bibref|TR-106a2}}, indicates
          a good reading has not been obtained since last reset.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="MaxValue" access="readOnly">
        <description>
          This temperature sensor's highest value reading in {{units}} since
          last reset. A value of -274 (which is below absolute zero) indicates
          a good reading has not been obtained since last reset.
        </description>
        <syntax>
          <int>
            <range minInclusive="-274"/>
            <units value="degrees celsius"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxTime" access="readOnly">
        <description>
          The time at which this temperature sensor's highest value was read.
          The Unknown Time value, as defined in {{bibref|TR-106a2}}, indicates
          a good reading has not been obtained since last reset.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LowAlarmValue" access="readWrite">
        <description>
          This temperature sensor's low alarm value in {{units}}. A value of
          -274 (which is below absolute zero) indicates a non configured value.

          A change to this value will cause {{param|LowAlarmTime}} to be reset.
        </description>
        <syntax>
          <int>
            <range minInclusive="-274"/>
            <units value="degrees celsius"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LowAlarmTime" access="readOnly">
        <description>
          Initial time at which this temperature sensor's
          {{param|LowAlarmValue}} was encountered. This value is only set the
          first time the alarm is seen and not changed until the next reset.
          The Unknown Time value, as defined in {{bibref|TR-106a2}}, indicates
          that an alarm has not been encountered since the last reset.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="HighAlarmValue" access="readWrite">
        <description>
          This temperature sensor's high alarm value in {{units}}. A value of
          -274 (which is below absolute zero) indicates a non configured value.

          A change to this value will cause {{param|HighAlarmTime}} to be
          reset.
        </description>
        <syntax>
          <int>
            <range minInclusive="-274"/>
            <units value="degrees celsius"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="HighAlarmTime" access="readOnly">
        <description>
          Initial time at which this temperature sensor's
          {{param|HighAlarmValue}} was encountered. This value is only set the
          first time the alarm is seen and not changed until the next reset.
          The Unknown Time value, as defined in {{bibref|TR-106a2}}, indicates
          that an alarm has not been encountered since the last reset.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="PollingInterval" access="readWrite">
        <description>
          The interval, measured in {{units}}, in which the device polls this
          {{object}}. If the value is 0 then the device selects its own polling
          interval. If the value is greater than 0 then the device MUST use
          this value as the polling interval.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.NetworkProperties."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object defines the parameters that describe how the device handles
        network traffic.
      </description>

      <parameter name="MaxTCPWindowSize" access="readOnly">
        <description>
          The maximum number of {{units}} of outstanding data a sender can send
          on a particular connection prior to an acknowledgment
          {{bibref|RFC793}}. Any scaling factor SHOULD be included in this
          parameter {{bibref|RFC1323}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="bytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TCPImplementation" access="readOnly">
        <description>
          {{list}} Indicates the TCP congestion control mechanism(s)
          implemented. {{enum}} Tahoe, Reno, and New Reno are defined in
          {{bibref|RFC2582}}
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Tahoe">
              <description>
                Represents the base TCP implementation in {{bibref|RFC793}} and
                elements of {{bibref|RFC2582}}
              </description>
            </enumeration>
            <enumeration value="Reno">
              <description>
                Represents the base TCP implementation in {{bibref|RFC793}}
                with the additional algorithms defined in {{bibref|RFC2581}}
              </description>
            </enumeration>
            <enumeration value="New Reno">
              <description>
                Described as a modification to the Reno algorithms in
                {{bibref|RFC2582}}
              </description>
            </enumeration>
            <enumeration value="Vegas">
              <description>
                An emerging TCP congestion control mechanism
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.SupportedDataModel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="SupportedDataModelNumberOfEntries">
      <description>
        This table contains details of the device's Current Supported Data
        Model. The table MUST describe the device's entire Supported Data
        Model. Therefore, if a device's Supported Data Model changes at
        run-time, entries will need to be added or removed as appropriate. Each
        table entry MUST refer to only a single Root Object or Service Object.
        The device MAY choose to use more than one table entry for a given Root
        Object or Service Object. Considering that every device has some form
        of a data model, this table MUST NOT be empty.
      </description>
      <uniqueKey>
        <parameter ref="URL"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="UUID"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="URL" access="readOnly">
        <description>
          URL ({{bibref|RFC3986}}) that describes some or all of the device's
          Current Supported Data Model. The URL MUST reference an XML file
          which describes the appropriate part of the Supported Data Model. The
          referenced XML file MUST be compliant with the DT (Device Type)
          Schema that is described in {{bibref|TR-106a3|Annex B}}, including
          any additional normative requirements referenced within the Schema.
          The XML file referenced by this URL MUST NOT change while the CPE is
          running, and SHOULD NOT change across a CPE reboot. Note that
          {{param|UUID}} is a unique key, so the XML file referenced by this
          URL will never change. The XML file MAY be located within the CPE. In
          this scenario the CPE MAY use the value of "localhost" as URL host
          portion, When the "localhost" value is used, the ACS has the
          responsibility to substitute the "localhost" value with the host
          portion of the connection request URL. Behavior in the event of an
          invalid URL, failure to access the referenced XML file, or an invalid
          XML file, is implementation-dependent.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UUID" access="readOnly" dmr:previousParameter="URL">
        <description>
          UUID ({{bibref|RFC4122}}) that is the value of the uuid attribute in
          the DT Instance referenced by {{param|URL}}.
        </description>
        <syntax>
          <dataType ref="UUID"/>
        </syntax>
      </parameter>

      <parameter name="URN" access="readOnly">
        <description>
          URN ({{bibref|RFC3986}}) that is the value of the spec attribute in
          the DM (data model) Instance that defines the Root Object or Service
          Object referenced by this table entry. For example, if this table
          entry references a DT Instance that refers to the ''Device:1.3'' Root
          Object, the value of this parameter would be
          ''urn:broadband-forum-org:tr-157-1-0-0'', because TR-157 defines
          ''Device:1.3''. If the DT Instance instead referred to a
          vendor-specific Root Object, e.g. ''X_EXAMPLE_Device:1.0'' (derived
          from ''Device:1.3''), the value of this parameter would be something
          like ''urn:example-com:device-1-0-0''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Features" access="readOnly">
        <description>
          This parameter MUST list exactly the features that are defined using
          the top-level ''feature'' element in the DT Instance referenced by
          {{param|URL}}. For example, if the DT instance specified the
          following:

          :&lt;feature name="DNSServer"/&gt;

          :&lt;feature name="Router"/&gt;

          :&lt;feature name="X_MyDeviceFeature"/&gt; then the value of this
           parameter might be ''DNSServer,Router,X_MyDeviceFeature''. The order
           in which the features are listed is not significant.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.Processor.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ProcessorNumberOfEntries" dmr:noUniqueKeys="true">
      <description>
        Each table entry represents a hardware or virtual processor that
        resides on this device.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Architecture" access="readOnly">
        <description>
          The architecture of the processor on the underlying hardware.
          {{enum}} For processor architectures not included in this list, the
          vendor MAY include vendor-specific values, which MUST use the format
          defined in {{bibref|TR-106a4|Section 3.3}}.
        </description>
        <syntax>
          <string>
            <enumeration value="arm"/>
            <enumeration value="i386"/>
            <enumeration value="m68010"/>
            <enumeration value="m68k"/>
            <enumeration value="mipseb">
              <description>big-endian</description>
            </enumeration>
            <enumeration value="mipsel">
              <description>little-endian</description>
            </enumeration>
            <enumeration value="powerpc"/>
            <enumeration value="sh3eb">
              <description>big-endian</description>
            </enumeration>
            <enumeration value="sh3el">
              <description>little-endian</description>
            </enumeration>
            <enumeration value="x86_64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.VendorLogFile.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VendorLogFileNumberOfEntries">
      <description>
        Each table entry represents a Vendor Log File. This table of log files
        is informational only and does not allow the ACS to operate on these
        files in any way.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          Name of the log file. Typically this will be the full file system
          path, but provided that it is guaranteed to be unique across current
          and future log files, it MAY be a shorter name derived from the file
          system path, or be derived via another mechanism.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumSize" access="readOnly">
        <description>
          The maximum size of the log file in {{units}}. If the device doesn't
          know the maximum file size then {{param}} will be 0.
        </description>
        <syntax>
          <unsignedInt>
            <units value="bytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Persistent" access="readOnly">
        <description>
          When {{true}}, the log file contents are preserved across a device
          reboot. When {{false}}, the log file contents will be purged when the
          device is rebooted.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.ProxierInfo."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Represents the associated CPE Proxier for a Proxied Device that
        utilizes the Virtual CWMP Device Mechanism {{bibref|TR-069a4|Annex
        J.1.1}}.
      </description>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the associated CPE Proxier.
          Represented as a six hexadecimal-digit value using all upper-case
          letters and including any leading zeros. {{pattern}} The value MUST
          be a valid OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size minLength="6" maxLength="6"/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the class of product of the associated CPE Proxier for
          which the serial number applies. {{empty}} indicates either that the
          CPE Proxier does not use a product class to differentiate its serial
          number.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="ProxyProtocol" access="readOnly">
        <description>
          The protocol being used to communicate between the CPE Proxier and
          this Proxied Device. {{enum}} Vendors can extend the enumerated
          values with vendor specific extensions, in which case the rules
          outlined in {{bibref|TR-106a6|3.3}} MUST be adhered to.
        </description>
        <syntax>
          <string>
            <size status="deleted"/>
            <enumeration value="Z-Wave">
              <description>see {{bibref|Z-Wave}}</description>
            </enumeration>
            <enumeration value="ZigBee">
              <description>see {{bibref|ZigBee}}</description>
            </enumeration>
            <enumeration value="UPnP-DM">
              <description>see {{bibref|UPnP-DM:1}}</description>
            </enumeration>
            <enumeration value="ETSI-M2M">
              <description>see {{bibref|ETSIM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DeviceInfo.Location.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LocationNumberOfEntries">
      <description>
        This object contains Location information.
      </description>
      <uniqueKey>
        <parameter ref="Source"/>
        <parameter ref="ExternalSource"/>
      </uniqueKey>

      <parameter name="Source" access="readOnly">
        <description>
          Identifies the source of the location data.
        </description>
        <syntax>
          <string>
            <enumeration value="GPS"/>
            <enumeration value="AGPS"/>
            <enumeration value="Manual"/>
            <enumeration value="External"/>
          </string>
          <default type="object" value="External"/>
        </syntax>
      </parameter>

      <parameter name="AcquiredTime" access="readOnly">
        <description>
          The time when the location was acquired.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ExternalSource" access="readOnly">
        <description>
          URL, MAC address, or other identifier that identifies an "External"
          source of this location. Meaningful only if {{param|Source}} has a
          value of {{enum|External|Source}}, otherwise it MUST be {{empty}}. If
          {{param|ExternalProtocol}} has a value of
          {{enum|CWMP|ExternalProtocol}}, this is the URL or IP address of the
          ACS.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ExternalProtocol" access="readOnly">
        <description>
          Protocol used to acquire a location from an "External" source.
          {{enum}} Meaningful only if {{param|Source}} has a value of
          {{enum|External|Source}}, otherwise it MUST be {{empty}}.
        </description>
        <syntax>
          <string>
            <enumeration value="">
              <description>{{empty}}</description>
            </enumeration>
            <enumeration value="CWMP"/>
            <enumeration value="OMA-DM"/>
            <enumeration value="SNMP"/>
            <enumeration value="UPnP"/>
            <enumeration value="HELD"/>
            <enumeration value="DHCPv4"/>
            <enumeration value="DHCPv6"/>
            <enumeration value="LLDP-MED"/>
            <enumeration value="MLP"/>
            <enumeration value="Other"/>
          </string>
          <default type="object" value="CWMP"/>
        </syntax>
      </parameter>

      <parameter name="DataObject" access="readWrite">
        <description>
          The currently valid location information. Writable only when
          {{param|ExternalProtocol}} has a value of
          {{enum|CWMP|ExternalProtocol}}. If obtained through the local
          GPS/AGPS then the location information is formatted according to
          {{bibref|RFC5491}}.

          If manually configured then location information will be
          XML-formatted according to {{bibref|RFC5491}} (geographical
          information) and {{bibref|RFC5139}} (civic addresses). If obtained by
          an external source this is the location information as received. If
          it's an XML document (e.g. CWMP, OMA-DM, UPnP, HELD, MLP) the
          location information will be represented as-is, otherwise it will be
          converted to base64. CWMP configured location information will be
          XML-formatted according to {{bibref|RFC5491}} (geographical
          information) and {{bibref|RFC5139}} (civic addresses). Only zero or
          one Location object instance with value
          {{enum|CWMP|ExternalProtocol}} MUST exist at any given time.
        </description>
        <syntax>
          <string>
            <size maxLength="1200"/>
          </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.

          An alternative to this parameter, e.g. when the configuration file is
          larger than the parameter size limit, is to use the Upload and
          Download RPCs with a FileType of ''1 Vendor Configuration File''.
        </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="EnableCWMP" access="readWrite" dmr:previousParameter="">
        <description>
          Enables and disables the CPE's support for CWMP. {{false}} means that
          CWMP support in the CPE is disabled, in which case the device MUST
          NOT send any Inform messages to the ACS or accept any Connection
          Request notifications from the ACS. {{true}} means that CWMP support
          on the CPE is enabled. The factory default value MUST be {{true}}.
          The subscriber can re-enable the CPE's CWMP support either by
          performing a factory reset or by using a LAN-side protocol to change
          the value of this parameter back to {{true}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <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-098a2|section 2.2}} indicates that no particular time
          reference is specified. That is, the CPE MAY locally choose the time
          reference, and needs 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="forceDefaultEnabled" 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. Note that an autonomous upgrade (reported via
          an ''10 AUTONOMOUS TRANSFER COMPLETE'' Inform Event code) SHOULD be
          regarded as a managed upgade 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="DefaultActiveNotificationThrottle" access="readWrite"
          dmr:previousParameter="DownloadProgressURL">
        <description>
          This parameter is used to control throttling of active notifications
          sent by the CPE to the ACS. It defines the minimum number of seconds
          that the CPE MUST wait since the end of the last session with the ACS
          before establishing a new session for the purpose of delivering an
          active notification. In other words, if CPE needs to establish a new
          session with the ACS for the sole purpose of delivering an active
          notification, it MUST delay establishing such a session as needed to
          ensure that the minimum time since the last session completion has
          been met. The time is counted since the last successfully completed
          session, regardless of whether or not it was used for active
          notifications or other purposes. However, if connection to the ACS is
          established for purposes other than just delivering active
          notifications, including for the purpose of retrying a failed
          session, such connection MUST NOT be delayed based on this parameter
          value, and the pending active notifications MUST be communicated
          during that connection. The time of the last session completion does
          not need to be tracked across reboots.
        </description>
        <syntax>
          <unsignedInt/>
        </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-069a2|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="AliasBasedAddressing" access="readOnly"
          forcedInform="true" dmr:previousParameter="NATDetected">
        <description>
          Indicates whether or not the Alias-Based Addressing Mechanism is
          supported. A {{true}} value indicates that the CPE supports the
          Alias-Based Addressing Mechanism, as defined in
          {{bibref|TR-069a4|3.6.1}} and described in {{bibref|TR-069a4|Appendix
          II}}.
        </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>

      <parameter name="EmbeddedDeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="VirtualDeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InstanceMode" access="readWrite">
        <description>
          Instance identification mode as defined in {{bibref|TR-069a4|3.6.1}}.
          When {{param|AliasBasedAddressing}} is {{true}}, {{param}} is used by
          the ACS to control whether the CPE will use Instance Numbers or
          Instance Aliases in returned Path Names. {{enum}} This parameter is
          REQUIRED for any CPE supporting Alias-Based Addressing.
        </description>
        <syntax>
          <string>
            <enumeration value="InstanceNumber"/>
            <enumeration value="InstanceAlias"/>
          </string>
          <default type="factory" value="InstanceNumber"/>
        </syntax>
      </parameter>

      <parameter name="AutoCreateInstances" access="readWrite">
        <description>
          Enable or disable the Auto-Create Instance Mechanism. When
          {{param|AliasBasedAddressing}} is {{true}}, {{param}} indicates
          whether or not the CPE will automatically create instances while
          processing a SetParameterValues RPC (as defined in
          {{bibref|TR-069a4|A.3.2.1}}).

          *A {{true}} value indicates that the CPE will perform auto-creation
           of instances when the Alias-Based Addressing Mechanism is used in
           SetParameterValues RPC.

          *A {{false}} value indicates that the CPE will not create new object
           instances. Instead, it will reject the setting of parameters in
           unrecognized instances and respond with a fault code. This parameter
           is REQUIRED for any CPE supporting Alias-Based Addressing.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="CWMPRetryMinimumWaitInterval" access="readWrite">
        <description>
          Configures the first session retry wait interval, in seconds, as
          specified in {{bibref|TR-069a2|Section 3.2.1.1}}. A value of 5
          corresponds to the default behavior that is described in
          {{bibref|TR-069a2}}. The device MUST use a random value between
          {{param}} and ({{param}} * {{param|CWMPRetryIntervalMultiplier}} /
          1000) as the first retry wait interval. Other values in the retry
          pattern MUST be calculated using this value as a starting point.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CWMPRetryIntervalMultiplier" access="readWrite">
        <description>
          Configures the retry interval multiplier as specified in
          {{bibref|TR-069a2|Section 3.2.1.1}}. This value is expressed in units
          of 0.001. Hence the values of the multiplier range between 1.000 and
          65.535. A value of 2000 corresponds to the default behavior that is
          described in {{bibref|TR-069a2}}. The device MUST use a random value
          between {{param|CWMPRetryMinimumWaitInterval}} and
          ({{param|CWMPRetryMinimumWaitInterval}} * {{param}} / 1000) as the
          first retry wait interval. Other values in the retry pattern MUST be
          calculated using this value as a starting point.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SupportedConnReqMethods" access="readOnly">
        <description>
          The connection request methods supported by this {{object}}. {{enum}}
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP" optional="false">
              <description>
                The connection request method as specified in
                {{bibref|TR-069|Section 3.2.2 ACS Connection Initiation}},
                '''REQUIRED'''
              </description>
            </enumeration>
            <enumeration value="STUN" optional="true">
              <description>
                The connection request method as specified in
                {{bibref|TR-069|Annex G Connection Request via NAT Gateway}}
              </description>
            </enumeration>
            <enumeration value="XMPP" optional="true">
              <description>
                The connection request method as specified in
                {{bibref|TR-069a5|Annex K XMPP Connection Request}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnReqXMPPConnection" access="readWrite">
        <description>
          {{reference|the {{object|.XMPP.Connection}} instance that is used for
          connection requests to this {{object}}}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent=".XMPP.Connection."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnReqAllowedJabberIDs" access="readWrite">
        <description>
          When an XMPP Connection Request is sent to a CPE the XMPP IQ Stanza
          will contian a "from" address that contains the Jabber ID of the
          initiating entity. This parameter is a {{list}} Each entry represents
          a Jabber ID, or address, that is allowed to initiate an XMPP
          Connection Request. Each Jabber ID is allowed to be either a "Full
          JID" (containing a local-part, domain-part, and resource-part in the
          following format: "local-part@domain-part/resource-part") or a "Bare
          JID" (containing a local-part and a domain-part in the following
          format: "local-part@domain-part"). "Full JID" entries require an
          exact match whereas "Bare JID" entries are a wildcard match and will
          match any Jabber ID with the same local-part and domain-part
          independent of the resource-part. For example, if {{param}} contained
          "ACS1@tr069.example.com, ACS2@tr-069.example.com/resource1" then the
          following incoming "from" addresses would be '''allowed''':

          * "ACS1@tr069.example.com/resource1"

          * "ACS1@tr069.example.com/resource2"

          * "ACS2@tr069.example.com/resource1" And the following incoming
            "from" addresses '''would not be allowed''':

          * "ACS2@tr069.example.com/resource2"

          * "ACS@tr069.example.com/resource" If this Parameter is {{empty}}
            then all Jabber IDs are allowed and an XMPP Connection Request can
            not be deemed invalid due to the "from" address.
        </description>
        <syntax>
          <list maxItems="32"/>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConnReqJabberID" access="readOnly"
          activeNotify="forceDefaultEnabled">
        <description>
          The value MUST be the value of the
          {{param|.XMPP.Connection.{i}.JabberID}} contained in the
          {{object|.XMPP.Connection}} instance referenced by the
          {{param|ConnReqXMPPConnection}} parameter. If the
          {{param|ConnReqXMPPConnection}} parameter is empty or the
          {{object|.XMPP.Connection}} instance being reference is disabled,
          then this value will be empty. If the {{object|.XMPP.Connection}}
          instance being referenced by the {{param|ConnReqXMPPConnection}}
          parameter is lost ({{param|.XMPP.Connection.{i}.Status}} parameter
          changes from Enabled to some other value), then the value of this
          parameter MUST remain unchanged until the connection can be
          reestablished and a new {{param|.XMPP.Connection.{i}.JabberID}} can
          be established. If the new {{param|.XMPP.Connection.{i}.JabberID}} is
          identical to the existing value, then the value of this parameter
          MUST NOT be altered and a VALUE CHANGE event MUST NOT be generated.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HTTPCompressionSupported" access="readOnly">
        <description>
          Indicates the HTTP Compression mechanism(s) supported by this CPE.
          Requirements for the use of HTTP Compression for CWMP can be found in
          {{bibref|TR-069a5|Section 3.4.7}}. {{enum}} Vendors can extend the
          enumerated values with vendor specific extensions, in which case the
          rules outlined in {{bibref|TR-106a7|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="GZIP">
              <description>
                As defined in {{bibref|RFC2616|Section 3.5}}
              </description>
            </enumeration>
            <enumeration value="Compress">
              <description>
                As defined in {{bibref|RFC2616|Section 3.5}}
              </description>
            </enumeration>
            <enumeration value="Deflate">
              <description>
                As defined in {{bibref|RFC2616|Section 3.5}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="HTTPCompression" access="readWrite">
        <description>
          The value of this parameter represents the HTTP Compression mechanism
          to be used by the CPE when communicating with the ACS.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="HTTPCompressionSupported"
                nullValue="Disabled"/>
          </string>
          <default type="factory" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="LightweightNotificationProtocolsSupported"
          access="readOnly">
        <description>
          Indicates the Lightweight Notification Protocol(s) supported by this
          CPE. {{enum}} Vendors can extend the enumerated values with vendor
          specific extensions, in which case the rules outlined in
          {{bibref|TR-106a7|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="UDP">
              <description>
                As defined in {{bibref|TR-069a5|Annex M}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="LightweightNotificationProtocolsUsed"
          access="readWrite">
        <description>
          The value of this parameter represents the protocol(s) that will be
          used by the CPE when sending Lightweight Notifications. {{empty}}
          means that Lightweight Notifications are disabled, despite any
          SetParameterAttributes that have been configured on various
          parameters.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef
                targetParam="LightweightNotificationProtocolsSupported"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPLightweightNotificationHost" access="readWrite">
        <description>
          Host name or address to be used when sending the UDP Lightweight
          Notifications. {{param}} is only applicable when
          {{param|LightweightNotificationProtocolsUsed}} contains the
          {{enum|UDP|LightweightNotificationProtocolsUsed}} enumeration. If
          {{param}} is not implemented or is {{empty}}, and UDP Lightweight
          Notifications are supported, the destination host MUST be the same as
          the ACS (as contained in the host portion of the {{param|URL}}).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UDPLightweightNotificationPort" access="readWrite">
        <description>
          The port number to be used when sending UDP Lightweight
          Notifications. {{param}} is only applicable when
          {{param|LightweightNotificationProtocolsUsed}} contains the
          {{enum|UDP|LightweightNotificationProtocolsUsed}} enumeration. If
          {{param}} is not implemented and UDP Lightweight Notifications are
          supported, the destination port MUST be 7547.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InformParameterNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </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-069a2|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>

      <parameter name="Host" access="readOnly">
        <description>
          {{reference|a ''Host'' table row}} This list MUST include an item for
          each ''Host'' table entry, whether active or inactive, that
          corresponds to this physical LAN Device. As such entries are added to
          or removed from the ''Host'' tables, the value of this parameter MUST
          be updated accordingly. For example:
          ''InternetGatewayDevice.LANDevice.1.Hosts.Host.1,InternetGatewayDevice.LANDevice.1.Hosts.Host.5''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetType="row"
                targetParent="InternetGatewayDevice.LANDevice.{i}.Hosts.Host."/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.ManagementServer.AutonomousTransferCompletePolicy."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object allows configuration of CPE policy for notification of
        AUTONOMOUS TRANSFER COMPLETE events, defined in {{bibref|TR-069a2}}.
        The CPE policy determines the conditions under which the CPE notifies
        the ACS of the completion of file transfers that were not specifically
        requested by the ACS.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable/disable CPE notification of AUTONOMOUS TRANSFER COMPLETE
          events to the ACS.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TransferTypeFilter" access="readWrite">
        <description>
          Indicates the transfer types that MUST be included when the CPE
          notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. Transfer
          types not indicated by this filter MUST NOT be included when the CPE
          notifies the ACS. {{enum}} Note that this includes any backup or
          restore operations that were not specifically requested by the ACS. A
          backup is regarded as an Upload and a restore is regarded as a
          Download.
        </description>
        <syntax>
          <string>
            <enumeration value="Upload"/>
            <enumeration value="Download"/>
            <enumeration value="Both">
              <description>Upload and Download</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ResultTypeFilter" access="readWrite"
          dmr:previousParameter="TransferTypeFilter">
        <description>
          Indicates the transfer results that MUST be included when the CPE
          notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. Transfer
          results omitted from this list MUST NOT be included when the CPE
          notifies the ACS. Note that this includes any backup or restore
          operations that were not specifically requested by the ACS. A backup
          is regarded as an Upload and a restore is regarded as a Download.
        </description>
        <syntax>
          <string>
            <enumeration value="Success">
              <description>
                The autonomous file transfer completed successfully; i.e., the
                FaultCode was zero
              </description>
            </enumeration>
            <enumeration value="Failure">
              <description>
                The autonomous file transfer did not complete successfully;
                i.e., the FaultCode was non-zero
              </description>
            </enumeration>
            <enumeration value="Both">
              <description>Success and Failure</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="FileTypeFilter" access="readWrite">
        <description>
          {{list}} Indicates the file types that MUST be included when the CPE
          notifies the ACS of AUTONOMOUS TRANSFER COMPLETE events. File types
          omitted from this list MUST NOT be included when the CPE notifies the
          ACS. {{pattern}} Additionally, the following format is defined to
          allow the unique definition of vendor-specific file types:

          * ''"X &lt;OUI&gt; &lt;Vendor-specific identifier&gt;"'' &lt;OUI&gt;
            is replaced by a 6 hexadecimal-digit OUI (organizationally unique
            identifier) as defined in {{bibref|OUI}}, with all upper-case
            letters and any leading zeros included. The OUI used for a given
            vendor-specific file type MUST be one that is assigned to the
            organization that defined this file type (which is not necessarily
            the same as the vendor of the CPE or ACS). Note that {{empty}}
            indicates that all file types are excluded from this filter,
            effectively disabling CPE notification of AUTONOMOUS TRANSFER
            COMPLETE events to the ACS.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pattern value="1 Firmware Upgrade Image">
              <description>Download Only</description>
            </pattern>
            <pattern value="2 Web Content">
              <description>Download Only</description>
            </pattern>
            <pattern value="3 Vendor Configuration File">
              <description>Download or Upload</description>
            </pattern>
            <pattern value="4 Vendor Log File">
              <description>Upload Only</description>
            </pattern>
            <pattern value="X [0-9A-F]{6} .*">
              <description>
                For Vendor-Specific File Types, could be for either Download or
                Upload
              </description>
            </pattern>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.ManagementServer.DUStateChangeComplPolicy."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object allows configuration of CPE policy for notification of "12
        AUTONOMOUS DU STATE CHANGE COMPLETE" events defined in
        {{bibref|TR-069a3}}. The CPE policy determines the conditions under
        which the CPE notifies the ACS of the completion of Deployment Unit
        state changes that were not specifically requested via CWMP.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables/Disables CPE notification of "12 AUTONOMOUS DU STATE CHANGE
          COMPLETE" events to the ACS.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="OperationTypeFilter" access="readWrite">
        <description>
          Indicates the Deployment Unit operations that MUST be included when
          the CPE notifies the ACS of "12 AUTONOMOUS DU STATE CHANGE COMPLETE"
          events. Operation types not indicated by this list MUST NOT be
          included when the CPE notifies the ACS. {{empty}} is essentially the
          same as setting {{param|Enable}} to {{false}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Install"/>
            <enumeration value="Update"/>
            <enumeration value="Uninstall"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ResultTypeFilter" access="readWrite">
        <description>
          Indicates the Deployment Unit state change results that MUST be
          included when the CPE notifies the ACS of "12 AUTONOMOUS DU STATE
          CHANGE COMPLETE" events. State change results omitted from this
          filter MUST NOT be included when the CPE notifies the ACS.
        </description>
        <syntax>
          <string>
            <enumeration value="Success">
              <description>
                The autonomous state change completed successfully; i.e., the
                FaultCode was zero
              </description>
            </enumeration>
            <enumeration value="Failure">
              <description>
                The autonomous state change did not complete successfully;
                i.e., the FaultCode was non-zero
              </description>
            </enumeration>
            <enumeration value="Both">
              <description>
                All result types independent of Success or Failure
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="FaultCodeFilter" access="readWrite">
        <description>
          Indicates the Deployment Unit state change fault codes that MUST be
          included when the CPE notifies the ACS of "12 AUTONOMOUS DU STATE
          CHANGE COMPLETE" events. State change fault codes omitted from this
          filter MUST NOT be included when the CPE notifies the ACS. This
          filter has no effect on the notification of a successful autonomous
          state change. This filter only applies when
          {{param|ResultTypeFilter}} is set to either
          {{enum|Failure|ResultTypeFilter}} or {{enum|Both|ResultTypeFilter}}.
          {{empty}} means that failed autonomous state changes will not be sent
          to the ACS.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="9001"/>
            <enumeration value="9003"/>
            <enumeration value="9012"/>
            <enumeration value="9013"/>
            <enumeration value="9015"/>
            <enumeration value="9016"/>
            <enumeration value="9017"/>
            <enumeration value="9018"/>
            <enumeration value="9022"/>
            <enumeration value="9023"/>
            <enumeration value="9024"/>
            <enumeration value="9025"/>
            <enumeration value="9026"/>
            <enumeration value="9027"/>
            <enumeration value="9028"/>
            <enumeration value="9029"/>
            <enumeration value="9030"/>
            <enumeration value="9031"/>
            <enumeration value="9032"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer.EmbeddedDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="EmbeddedDeviceNumberOfEntries">
      <description>
        Each entry in this table represents a distinct Proxied Device that
        utilizes the Embedded Object Mechanism {{bibref|TR-069a4|Annex J.1.2}}
        for proxying devices.
      </description>
      <uniqueKey>
        <parameter ref="ControllerID"/>
        <parameter ref="ProxiedDeviceID"/>
      </uniqueKey>

      <parameter name="ControllerID" access="readOnly">
        <description>
          Identifier of the controller that is responsible for a sub-network of
          Proxied Devices within the LAN. {{empty}} indicates that this Proxied
          Device either:

          * Isn't part of a sub-network, within the LAN, with a controller
            entity.

          * Doesn't need a {{param}} to ensure its {{param|ProxiedDeviceID}} is
            unique throughout the LAN.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProxiedDeviceID" access="readOnly">
        <description>
          Idenitfier of the Proxied Device. This is an opaque string that is
          unique to the Proxied Device within a specific sub-network within the
          LAN (identified by the {{param|ControllerID}}). If the
          {{param|ControllerID}} is {{empty}} this {{param}} is unique across
          the LAN.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reference" access="readOnly">
        <description>
          {{noreference}}The value MUST be the path name of a table row. If the
          referenced object is deleted, this {{object}} instance MUST also be
          removed. Represents the instance of a multi-instanced object that is
          directly controlled by, and has come into existence because of, this
          Proxied Device that utilizes the Embedded Object Mechanism
          {{bibref|TR-069a4|Annex J.1.2}}.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedDataModel" access="readOnly">
        <description>
          Represents the CWMP-DT schema instance(s) that this Proxied Device is
          utilizing. The CWMP-DT schema instance is also the one being utilized
          by the object referenced within {{param|Reference}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.SupportedDataModel."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          References the {{object|.LANDevice.{i}.Hosts.Host}} table entry(s),
          whether active or inactive, that corresponds to this proxied LAN
          device.
        </description>
        <syntax>
          <list maxItems="32"/>
          <string>
            <pathRef refType="strong"
                targetParent=".LANDevice.{i}.Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProxyProtocol" access="readOnly">
        <description>
          The protocol being used to communicate between the CPE Proxier and
          this Proxied Device. {{enum}} Vendors can extend the enumerated
          values with vendor specific extensions, in which case the rules
          outlined in {{bibref|TR-106a6|3.3}} MUST be adhered to.
        </description>
        <syntax>
          <string>
            <size status="deleted"/>
            <enumeration value="Z-Wave">
              <description>see {{bibref|Z-Wave}}</description>
            </enumeration>
            <enumeration value="ZigBee">
              <description>see {{bibref|ZigBee}}</description>
            </enumeration>
            <enumeration value="UPnP-DM">
              <description>see {{bibref|UPnP-DM:1}}</description>
            </enumeration>
            <enumeration value="ETSI-M2M">
              <description>see {{bibref|ETSIM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProxyProtocolReference" access="readOnly"
          dmr:previousParameter="ProxyProtocol">
        <description>
          {{reference|a protocol object that uses the {{param|ProxyProtocol}}}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiscoveryProtocol" access="readOnly"
          dmr:previousParameter="ProxyProtocolReference">
        <description>
          {{list|that represents the discovery protocol(s) for this proxied
          device}} {{enum}} Vendors can extend the enumerated values with
          vendor specific extensions, in which case the rules outlined in
          {{bibref|TR-106a3|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Z-Wave">
              <description>see {{bibref|Z-Wave}}</description>
            </enumeration>
            <enumeration value="ZigBee">
              <description>see {{bibref|ZigBee}}</description>
            </enumeration>
            <enumeration value="UPnP">
              <description>see {{bibref|UPnP-DAv1}}</description>
            </enumeration>
            <enumeration value="ETSI-M2M">
              <description>see {{bibref|ETSIM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiscoveryProtocolReference" access="readOnly"
          dmr:previousParameter="DiscoveryProtocol">
        <description>
          {{list}} {{reference|an object discovered using one or more protocols
          listed in {{param|DiscoveryProtocol}}|ignore}} For objects discovered
          by the UPnP discovery protocol, the {{param}} would contain items
          that are references to instances of the following:

          * {{object|.UPnP.Discovery.RootDevice}}

          * {{object|.UPnP.Discovery.Device}}

          * {{object|.UPnP.Discovery.Service}} For objects discovered by the
            ETSI-M2M discovery protocol, the {{param}} would contain items that
            are references to instances of
            ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CommandProcessed" access="readOnly">
        <description>
          Whether or not the CPE Proxier has successfully communicated all
          pending configuration commands down to the Proxied Device.
        </description>
        <syntax>
          <string>
            <enumeration value="Pending"/>
            <enumeration value="Retrying"/>
            <enumeration value="Success"/>
            <enumeration value="Error"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CommandProcessingErrMsg" access="readOnly">
        <description>
          Detailed {{param|CommandProcessed}} error description (vendor
          specific).
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastSyncTime" access="readOnly">
        <description>
          The last time that the CPE Proxier synchronized the state of the
          Proxied Device. This parameter MUST be updated when a proxy command
          is executed successfully on the Proxied Device. The Unknown Time
          value, as defined in {{bibref|TR-106a6}}, indicates that the Proxied
          Device's state has not been synchronized since the CPE Proxier was
          last rebooted.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer.VirtualDevice.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VirtualDeviceNumberOfEntries">
      <description>
        Each entry in this table represents a distinct Proxied Device that
        utilizes the Virtual CWMP Device Mechanism {{bibref|TR-069a4|Annex
        J.1.1}} for proxying devices.
      </description>
      <uniqueKey>
        <parameter ref="ManufacturerOUI"/>
        <parameter ref="ProductClass"/>
        <parameter ref="SerialNumber"/>
      </uniqueKey>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the associated Proxied Device.
          Represented as a six hexadecimal-digit value using all upper-case
          letters and including any leading zeros. {{pattern}} The value MUST
          be a valid OUI as defined in {{bibref|OUI}}.
        </description>
        <syntax>
          <string>
            <size minLength="6" maxLength="6"/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Identifier of the class of product of the associated Proxied Device
          for which the serial number applies.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} {{reference}} References all the
          {{object|.LANDevice.{i}.Hosts.Host}} table entries, whether active or
          inactive, that correspond to this proxied LAN device. There can be
          multiple such entries if the Proxied Device has more than one network
          interface.
        </description>
        <syntax>
          <list maxItems="32"/>
          <string>
            <pathRef refType="strong"
                targetParent=".LANDevice.{i}.Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProxyProtocol" access="readOnly">
        <description>
          The protocol being used to communicate between the CPE Proxier and
          this Proxied Device. {{enum}} Vendors can extend the enumerated
          values with vendor specific extensions, in which case the rules
          outlined in {{bibref|TR-106a6|3.3}} MUST be adhered to.
        </description>
        <syntax>
          <string>
            <size status="deleted"/>
            <enumeration value="Z-Wave">
              <description>see {{bibref|Z-Wave}}</description>
            </enumeration>
            <enumeration value="ZigBee">
              <description>see {{bibref|ZigBee}}</description>
            </enumeration>
            <enumeration value="UPnP-DM">
              <description>see {{bibref|UPnP-DM:1}}</description>
            </enumeration>
            <enumeration value="ETSI-M2M">
              <description>see {{bibref|ETSIM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProxyProtocolReference" access="readOnly"
          dmr:previousParameter="ProxyProtocol">
        <description>
          {{reference|a protocol object that uses the {{param|ProxyProtocol}}}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiscoveryProtocol" access="readOnly"
          dmr:previousParameter="ProxyProtocolReference">
        <description>
          {{list|that represents the discovery protocol(s) for this proxied
          device}} {{enum}} Vendors can extend the enumerated values with
          vendor specific extensions, in which case the rules outlined in
          {{bibref|TR-106a3|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Z-Wave">
              <description>see {{bibref|Z-Wave}}</description>
            </enumeration>
            <enumeration value="ZigBee">
              <description>see {{bibref|ZigBee}}</description>
            </enumeration>
            <enumeration value="UPnP">
              <description>see {{bibref|UPnP-DAv1}}</description>
            </enumeration>
            <enumeration value="ETSI-M2M">
              <description>see {{bibref|ETSIM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiscoveryProtocolReference" access="readOnly"
          dmr:previousParameter="DiscoveryProtocol">
        <description>
          {{list}} {{reference|an object discovered using one or more protocols
          listed in {{param|DiscoveryProtocol}}|ignore}} For objects discovered
          by the UPnP discovery protocol, the {{param}} would contain items
          that are references to instances of the following:

          * {{object|.UPnP.Discovery.RootDevice}}

          * {{object|.UPnP.Discovery.Device}}

          * {{object|.UPnP.Discovery.Service}} For objects discovered by the
            ETSI-M2M discovery protocol, the {{param}} would contain items that
            are references to instances of
            ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer.StandbyPolicy."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters related to CPE behavior when waking up from standby. If this
        object is supported then the CPE MUST support the requirements of
        {{bibref|TR-069a5|Annex L}}. NOTE: "CR", as used in the names and
        descriptions of the parameters defined in this object, refers to the
        Connection Request concept defined in TR-069.
      </description>

      <parameter name="CRUnawarenessMaxDuration" access="readWrite">
        <description>
          When waking up from a non CR-Aware Standby that lasted more than this
          parameter's value (in {{units}}), the CPE MUST issue a WAKEUP Event.
          If the value is -1, the CPE MUST NOT ever issue WAKEUP Events for
          having been non CR-aware.
        </description>
        <syntax>
          <int>
            <units value="seconds"/>
            <range minInclusive="-1"/>
          </int>
          <default type="factory" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="MaxMissedPeriodic" access="readWrite">
        <description>
          When waking up from a non fully Timer-Aware Standby that made it miss
          more than this parameter's value Periodic Contacts, the CPE MUST
          issue a WAKEUP Event. If the value is -1, the CPE MUST NOT ever issue
          WAKEUP Events for exceeding that limit.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="factory" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="NotifyMissedScheduled" access="readWrite">
        <description>
          When waking up from a non fully Timer-Aware Standby that made it miss
          at least one Scheduled Contact, the CPE MUST issue a WAKEUP Event if
          this parameter is {{true}}.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="NetworkAwarenessCapable" access="readOnly">
        <description>
          Indicates that the CPE is capable of CR-Aware Standby.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SelfTimerCapable" access="readOnly">
        <description>
          Indicates that the CPE is capable of Timer-Aware Standby.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="CRAwarenessRequested" access="readWrite">
        <description>
          If {{param|NetworkAwarenessCapable}} and this parameter are both
          {{true}}, the CPE MUST NOT go into a non CR-Aware Standby state.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PeriodicAwarenessRequested" access="readWrite">
        <description>
          If {{param|SelfTimerCapable}} and this parameter are both {{true}},
          the CPE MUST NOT go into a standby state that prevents it from
          honoring Periodic Contacts.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ScheduledAwarenessRequested" access="readWrite">
        <description>
          If this parameter is true, the CPE MUST NOT go into a standby state
          that prevents it from honoring Scheduled Contacts. This means that,
          whenever the ACS has requested a Scheduled Contact:

          *if {{param|SelfTimerCapable}} is {{true}} and the CPE chooses to go
           into Standby before the Scheduled Contact has been honored, it MUST
           use a Timer-Aware Standby;

          *if {{param|SelfTimerCapable}} is {{false}}, the CPE MUST NOT go into
           Standby before the Scheduled Contact has been honored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.ManagementServer.InformParameter.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        enableParameter="Enable"
        numEntriesParameter="InformParameterNumberOfEntries">
      <description>
        This table provides the ACS with the ability to control the Parameters
        that are delivered by the Inform RPC. Any Parameter (identified by
        {{param|ParameterName}}) contained in this table MUST be included
        within the ParameterList argument of the Inform RPC whenever any Event
        within the {{param|EventList}} is being delivered. This table does not
        include Forced Inform Parameters, and Forced Inform Parameters are not
        allowed to be inserted into this table. Any attempt by an ACS to
        configure this table to contain a Forced Inform Parameter MUST result
        in the failure of the SetParameterValues RPC with error code 9007.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="ParameterName"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this {{object}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="ParameterName" access="readWrite">
        <description>
          A pattern that describes the Parameter(s) to be included in the
          Inform’s ParameterList argument. Specifically, patterns with
          wildcards (an "*" character) in place of Instance Identifiers are
          allowed; any attempt to set the value otherwise MUST be rejected by
          the CPE. If the pattern does not match any existing Parameters at the
          time that the CPE is creating the Inform RPC, then this
          {{object|#.InformParameter}} instance is not included in the Inform’s
          ParameterList argument.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="EventList" access="readWrite">
        <description>
          Each entry in this list represents an Event for which this Parameter
          MUST be included within the ParameterList argument of the Inform RPC.
          All Inform Events (see {{bibref|TR-069|Section 3.7.1.5}}), except for
          "4 VALUE CHANGE", are allowed as entries in this list. "4 VALUE
          CHANGE" is not allowed as that would violate requirements contained
          in {{bibref|TR-069|Section A.3.3.1}}. {{empty}} means all events
          except "4 VALUE CHANGE".
        </description>
        <syntax>
          <list/>
          <string/>
          <default type="object" value=""/>
        </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="Enable" access="readWrite" dmr:previousParameter="">
        <description>
          Enables or disables the NTP or SNTP time client.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <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" status="obsoleted">
        <description>
          The local time zone offset from UTC, ignoring daylight savings time
          adjustments, in the form:

          : +hh:mm

          : -hh:mm For example, this will always be "-08:00" for California,
            "+00:00" or "-00:00" for the United Kingdom, and "+01:00" for
            France. This parameter is OBSOLETED because the information that it
            represents is fully covered by {{param|LocalTimeZoneName}}.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
          </string>
        </syntax>
      </parameter>

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

          The name SHOULD be encoded according to IEEE 1003.1 (POSIX). The
          following is an example value: ''EST+5EDT,M4.1.0/2,M10.5.0/2''
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

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

          This parameter is OBSOLETED because the information that it
          represents is fully covered by {{param|LocalTimeZoneName}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsStart" access="readWrite"
          status="obsoleted">
        <description>
          Current local date and time at which the switch to daylight savings
          time occurs. If daylight savings time is not used, this value is
          ignored. This parameter is OBSOLETED because the information that it
          represents is fully covered by {{param|LocalTimeZoneName}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DaylightSavingsEnd" access="readWrite"
          status="obsoleted">
        <description>
          Current local date and time at which the switch from daylight savings
          time will occur. If daylight savings time is not used, this value is
          ignored. This parameter is OBSOLETED because the information that it
          represents is fully covered by {{param|LocalTimeZoneName}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Status of Time support on the CPE. {{enum}} The
          {{enum|Unsynchronized}} value indicates that the CPE's absolute time
          has not yet been set. The {{enum|Synchronized}} value indicates that
          the CPE has acquired accurate absolute time; its current time is
          accurate. The {{enum|Error_FailedToSynchronize}} value indicates that
          the CPE failed to acquire accurate absolute time; its current time is
          not accurate. The {{enum|Error}} value MAY be used by the CPE to
          indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Unsynchronized"/>
            <enumeration value="Synchronized"/>
            <enumeration value="Error_FailedToSynchronize"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </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="UserDatabaseSupported" access="readOnly"
          dmr:previousParameter="">
        <description>
          Present only if the CPE provides a password-protected LAN-side user
          interface. Indicates whether or not the CPE supports a user database
          that provides per-user passwords that can be used for accessing the
          local user interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

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

      <parameter name="AvailableLanguages" access="readOnly"
          dmr:previousParameter="ExamplePassword">
        <description>
          Available user-interface languages, where each language is specified
          according to RFC 3066 {{bibref|RFC3066}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SharedPassword" access="readWrite">
        <description>
          Present only if the CPE provides a password-protected LAN-side user
          interface. Indicates whether or not a single shared password MUST
          protect the local user interface, or whether per-user passwords can
          be used. If either UserDatabaseSupported or PasswordUserSelectable is
          {{false}}, the CPE MUST ignore the value of this parameter.
        </description>
        <syntax>
          <boolean/>
        </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="InternetGatewayDevice.UserInterface.RemoteAccess."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to remotely accessing the
        CPE's user interface. Remote access is defined as any entity not of a
        local subnet attempting to connect to the CPE. Remote access requires
        user authentication. To provide remote access authentication the CPE
        MUST support a "User" table with at least one instance that has
        "RemoteAccessCapable" set to {{true}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables/Disables remotely accessing the CPE's user interface.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Port" access="readWrite">
        <description>
          Destination TCP port required for remote access connection.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SupportedProtocols" access="readOnly">
        <description>
          {{list}} Indicates the protocols that are supported by the CPE for
          the purpose of remotely accessing the user interface.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP">
              <description>As defined in {{bibref|RFC2616}}</description>
            </enumeration>
            <enumeration value="HTTPS">
              <description>As defined in {{bibref|RFC2818}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Protocol" access="readWrite">
        <description>
          This is the protocol currently being used for remote access.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="SupportedProtocols"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UserInterface.LocalDisplay."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object describes how to remotely manage the initial positioning of
        a user interface on a device's local display.
      </description>

      <parameter name="Movable" access="readWrite">
        <description>
          Controls whether the user is allowed to change the GUI window
          position on the local CPE's display.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Resizable" access="readWrite">
        <description>
          Controls whether the user is allowed to resize the GUI window on the
          local CPE's display.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PosX" access="readWrite" activeNotify="canDeny">
        <description>
          The horizontal position of the User Interface's top left corner
          within the local CPE's display measured from the top left corner,
          expressed in {{units}}.
        </description>
        <syntax>
          <int>
            <units value="pixels"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="PosY" access="readWrite" activeNotify="canDeny">
        <description>
          The vertical position of the User Interface's top left corner within
          the local CPE's display measured from the top left corner, expressed
          in {{units}}.
        </description>
        <syntax>
          <int>
            <units value="pixels"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Width" access="readWrite" activeNotify="canDeny">
        <description>
          The width of the user interface within the local CPE's display,
          expressed in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="pixels"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Height" access="readWrite" activeNotify="canDeny">
        <description>
          The height of the user interface within the local CPE's display,
          expressed in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="pixels"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DisplayWidth" access="readOnly">
        <description>
          The width of the local CPE's display, expressed in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="pixels"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DisplayHeight" access="readOnly">
        <description>
          The height of the local CPE's display, expressed in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="pixels"/>
          </unsignedInt>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Status">
        <description>
          {{datatype|expand}} This parameter can only be modified if
          {{param|StaticRoute}} is {{true}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="StaticRoute" access="readOnly"
          dmr:previousParameter="Status">
        <description>
          If {{true}}, this route is a Static route.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </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 GatewayIPAddress and Interface
          SHOULD be configured for a route. If both are configured, {{param}}
          and {{param|Interface}} MUST be consistent with each other.
        </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.
          {{reference|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 consistent with each
          other. 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"/>
            <pathRef refType="weak" targetType="row"/>
          </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 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>
          {{reference|the WAN or LAN IP-layer interface over which the test is
          to be performed}} This identifies the source IP address to use when
          performing the test. 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"/>
            <pathRef refType="weak" targetType="row"/>
          </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="readWrite"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANDeviceNumberOfEntries">
      <description>
        Each instance models a LAN side layer 3 IP interface. Each instance has
        children that correspond to the layer 2 interfaces that are connected
        to the Gateway's IP router via the modeled IP interface. If a LANDevice
        instance is deleted, the objects modeling those layer 2 interfaces that
        are as a result no longer connected to the Gateway's IP router will
        move to the InternetGatewayDevice.LANInterfaces object. If the
        ''Layer2Bridging'' object is implemented, the view that it provides of
        the CPE's underlying bridging configuration MUST be consistent with the
        view provided by any ''LANDevice'' and ''WAN**Connection'' objects. The
        implications of this are explained in {{bibref|TR-098a2|Annex A.6}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

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

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

      <parameter name="LANWLANConfigurationNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|WLANConfiguration}} in this
          ''LANDevice''.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </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.

        The DHCP parameters in this object define the behavior of the default
        DHCP server, i.e. the behavior for DHCP requests that do not match any
        of the DHCP conditional serving pool entries.
      </description>

      <parameter name="MACAddress" access="readOnly" dmr:previousParameter="">
        <description>
          The MAC address associated with the IP interface modeled by this
          LANDevice instance. This is the MAC address that is returned in
          response to an ARP request for any of the IP interface's IP
          addresses. It is also the source MAC address in all IP traffic sent
          over the IP interface. If no single MAC address meets the above
          criteria, the value of this parameter MUST be the all-zero MAC
          address ''00:00:00:00:00:00''.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <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/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

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

      <parameter name="DHCPRelay" access="readOnly" status="deprecated">
        <description>
          Indicates if the DHCP server performs the role of a server
          ({{false}}) or a relay ({{true}}) 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.

          This parameter MUST have a valid value before the DHCP server can be
          enabled.
        </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.

          This parameter MUST have a valid value before the DHCP server can be
          enabled.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ReservedAddresses" access="readWrite">
        <description>
          Addresses marked reserved from the address allocation pool.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Specifies the client's network subnet mask.

          This parameter MUST have a valid value before the DHCP server can be
          enabled.
        </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>
          <default type="object" value="86400"/>
        </syntax>
      </parameter>

      <parameter name="UseAllocatedWAN" access="readWrite">
        <description>
          Controls use of addresses from the associated WAN connection.
          {{enum}} If {{enum|Normal}}, the address pool is directly configured
          by the ACS. If {{enum|UseAllocatedSubnet}}, behavior is the same as
          for {{enum|Passthrough}} with an empty
          {{param|PassthroughMACAddress}}. For this reason,
          {{enum|UseAllocatedSubnet}} is DEPRECATED. If {{enum|Passthrough}},
          and {{param|PassthroughMACAddress}} is {{empty}}, the configured
          values of the {{param|MinAddress}}, {{param|MaxAddress}},
          {{param|SubnetMask}} and {{param|DNSServers}} parameters are ignored.
          The corresponding address pool values are instead taken from the WAN
          connection specified by {{param|AssociatedConnection}}. If
          {{enum|Passthrough}}, and {{param|PassthroughMACAddress}} is not
          {{empty}}, the LAN Host identified by {{param|PassthroughMACAddress}}
          is given a WAN IP address from the WAN connection specified by
          {{param|AssociatedConnection}}. Other LAN Hosts are treated as for
          {{enum|Normal}}. Use of {{param|PassthroughMACAddress}} does not
          cover the case where more than one LAN Host is to be given a WAN IP
          address. This can be achieved by using a DHCP conditional serving
          pool.
        </description>
        <syntax>
          <string>
            <enumeration value="Normal"/>
            <enumeration value="UseAllocatedSubnet" status="deprecated"/>
            <enumeration value="Passthrough"/>
          </string>
          <default type="object" value="Normal"/>
        </syntax>
      </parameter>

      <parameter name="AssociatedConnection" access="readWrite">
        <description>
          {{reference|the connection instance 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 a WAN-side layer 3 connection object.
          Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
          If {{param|UseAllocatedWAN}} is
          {{enum|UseAllocatedSubnet|UseAllocatedWAN}} or
          {{enum|Passthrough|UseAllocatedWAN}}, this parameter MUST have a
          valid value before the DHCP server can be enabled.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PassthroughLease" access="readWrite">
        <description>
          DHCP lease time in seconds given to the LAN Host that is used to
          passthrough a WAN IP address if {{param|UseAllocatedWAN}} is
          {{enum|Passthrough|UseAllocatedWAN}}. 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/>
          <default type="object" value="600"/>
        </syntax>
      </parameter>

      <parameter name="PassthroughMACAddress" access="readWrite">
        <description>
          Hardware address of the LAN Host that is used to passthrough a WAN IP
          address if {{param|UseAllocatedWAN}} is
          {{enum|Passthrough|UseAllocatedWAN}}. Note: {{empty}} indicates that
          no specific LAN Host is designated, and results in the same behavior
          as the (DEPRECATED) {{enum|UseAllocatedSubnet|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>
          The number of entries in the {{object|IPInterface}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DHCPStaticAddressNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|DHCPStaticAddress}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DHCPOptionNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|DHCPOption}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DHCPConditionalPoolNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|DHCPConditionalServingPool}}
          table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.IPInterface.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="IPInterfaceNumberOfEntries"
        enableParameter="Enable">
      <description>
        IP address table with each object representing an IP address on the
        LANDevice IP interface. Support for more than one interface instance is
        OPTIONAL.
      </description>
      <uniqueKey>
        <parameter ref="IPInterfaceIPAddress"/>
        <parameter ref="IPInterfaceSubnetMask"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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}.LANHostConfigManagement.DHCPStaticAddress.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPStaticAddressNumberOfEntries"
        enableParameter="Enable">
      <description>
        DHCP static address table. Entries in this table correspond to what RFC
        2131 {{bibref|RFC2131}} calls "manual allocation", where a client's IP
        address is assigned by the network administrator, and DHCP is used
        simply to convey the assigned address to the client. Each instance of
        this object specifies a hardware address (MAC address) and an IP
        address within the pool. When serving from this pool, this IP address
        MUST, if available, be assigned to the DHCP client with this hardware
        address, and MUST NOT be assigned to any other client. Note that it is
        possible that an IP address in this table is present in one or more of
        the conditional serving pools, in which case it is possible that such
        an address will be assigned to a different client.
      </description>
      <uniqueKey>
        <parameter ref="Chaddr"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the DHCPStaticAddress table entry. Disabling an
          entry does not return the IP address to the pool.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Chaddr" access="readWrite">
        <description>
          Hardware address (MAC address) of the physical interface of the DHCP
          client. This parameter MUST have a valid value before the table entry
          can be enabled.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Yiaddr" access="readWrite">
        <description>
          IP address to be assigned by the DHCP server to the DHCP client with
          the specified hardware address (MAC address). This parameter MUST
          have a valid value before the table entry can be enabled.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPOption.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPOptionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object specifies the DHCP options that MUST, if enabled, be
        returned to clients whose DHCP requests do not match any of the DHCP
        conditional serving pool entries.
      </description>
      <uniqueKey>
        <parameter ref="Tag"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this DHCPOption table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Tag" access="readWrite">
        <description>
          Option tag as defined in RFC 2132 {{bibref|RFC2132}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="254"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Value" access="readWrite">
        <description>
          Base64 encoded option value.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="255"/>
          </base64>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPConditionalPoolNumberOfEntries"
        enableParameter="Enable">
      <description>
        DHCP conditional serving pool table. Each instance of this object
        defines a DHCP conditional serving pool. Client requests are associated
        with pools based on criteria such as source interface, supplied DHCP
        options, and MAC address. If a DHCP request does not match any of the
        DHCP conditional serving pool entries, the handling of the request is
        determined by the default DHCP server behavior that is defined by the
        LANHostConfigManagement object. Overlapping pool ranges MUST be
        supported.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the DHCPConditionalServingPool entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="PoolOrder" access="readWrite">
        <description>
          Position of the pool entry in the order of precedence. A value of 1
          indicates the first entry considered. For each DHCP request, the
          highest ordered entry that matches the association 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. The value on
          creation of a DHCPConditionalServingPool table entry MUST be one
          greater than the largest current value.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SourceInterface" access="readWrite">
        <description>
          Pool association criterion. {{list}} {{reference|the layer 2 ingress
          interfaces associated with this entry, i.e. the corresponding
          ''LAN**InterfaceConfig'' or ''WLANConfiguration'' objects}} For
          example:
          ''InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2,InternetGatewayDevice.LANDevice.1.WLANConfiguration.3''
          {{empty}} indicates this entry is to apply to all layer 2 interface
          objects under this ''LANDevice'' instance.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="weak" targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VendorClassID" access="readWrite">
        <description>
          Pool association criterion. Used to identify one or more LAN devices,
          value of the DHCP Vendor Class Identifier (Option 60) as defined in
          RFC 2132 {{bibref|RFC2132}}, matched according to the criterion in
          {{param|VendorClassIDMode}}. Case sensitive. {{empty}} indicates this
          criterion is not used for conditional serving.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VendorClassIDExclude" access="readWrite">
        <description>
          If {{false}}, matching packets are those that match the
          {{param|VendorClassID}} entry, if specified. If {{true}}, matching
          packets are those that do not match the {{param|VendorClassID}}
          entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="VendorClassIDMode" access="readWrite">
        <description>
          {{param|VendorClassID}} pattern match criterion. {{enum}} For
          example, if {{param|VendorClassID}} is "Example" then an Option 60
          value of "Example device" will match with {{param}} values of
          {{enum|Prefix}} or {{enum|Substring}}, but not with {{enum|Exact}} or
          {{enum|Suffix}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </syntax>
      </parameter>

      <parameter name="ClientID" access="readWrite">
        <description>
          Pool association criterion. Used to identify one or more LAN devices,
          value of the DHCP Client Identifier (Option 61) as defined in RFC
          2132 {{bibref|RFC2132}}. The option value is binary, so an exact
          match is REQUIRED. {{empty}} indicates this criterion is not used for
          conditional serving.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ClientIDExclude" access="readWrite">
        <description>
          If {{false}}, matching packets are those that match the
          {{param|ClientID}} entry, if specified. If {{true}}, matching packets
          are those that do not match the {{param|ClientID}} entry, if
          specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="UserClassID" access="readWrite">
        <description>
          Pool association criterion. Used to identify one or more LAN devices,
          value of the DHCP User Class Identifier (Option 77) as defined in RFC
          3004 {{bibref|RFC3004}}. {{empty}} indicates this criterion is not
          used for conditional serving.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="UserClassIDExclude" access="readWrite">
        <description>
          If {{false}}, matching packets are those that match the
          {{param|UserClassID}} entry, if specified. If {{true}}, matching
          packets are those that do not match the {{param|UserClassID}} entry,
          if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Chaddr" access="readWrite">
        <description>
          Pool association criterion. Hardware address (MAC address.) of the
          physical interface of the DHCP client. {{empty}} indicates this
          criterion is not used for conditional serving.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ChaddrMask" access="readWrite">
        <description>
          Bit-mask for the MAC address, where matching of a packet's MAC
          address with the {{param|Chaddr}} 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 {{param|Chaddr}} are to be used
          for conditional serving classification.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ChaddrExclude" access="readWrite">
        <description>
          If {{false}}, matching packets are those that match the (masked)
          {{param|Chaddr}} entry, if specified. If {{true}}, matching packets
          are those that do not match the (masked) {{param|Chaddr}} entry, if
          specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="LocallyServed" access="readWrite">
        <description>
          If {{true}}, then the local DHCP server will assign an IP address
          from the specific address pool specified in this object. If
          {{false}}, the DHCP server will send the request to the
          {{param|DHCPServerIPAddress}} configured for this pool.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </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. This parameter is configurable only if
          {{param|UseAllocatedWAN}} is {{enum|Normal|UseAllocatedWAN}}. This
          parameter MUST have a valid value before this pool can be enabled.
        </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. This parameter is configurable only if
          {{param|UseAllocatedWAN}} is {{enum|Normal|UseAllocatedWAN}}. This
          parameter MUST have a valid value before this pool can be enabled.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ReservedAddresses" access="readWrite">
        <description>
          IP addresses marked reserved from the address allocation pool.
        </description>
        <syntax>
          <list>
            <size maxLength="512"/>
          </list>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readWrite">
        <description>
          Specifies the client's network subnet mask. This parameter is
          configurable only if {{param|UseAllocatedWAN}} is
          {{enum|Normal|UseAllocatedWAN}}. This parameter MUST have a valid
          value before this pool can be enabled.
        </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. This parameter is configurable only if
          {{param|UseAllocatedWAN}} is {{enum|Normal|UseAllocatedWAN}}.
        </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>
          <default type="object" value="86400"/>
        </syntax>
      </parameter>

      <parameter name="UseAllocatedWAN" access="readWrite">
        <description>
          Controls whether the {{param|MinAddress}}, {{param|MaxAddress}},
          {{param|SubnetMask}} and {{param|DNSServers}} parameters are
          configurable or are taken from the associated WAN connection.
          {{enum}} If {{enum|Normal}}, the above-mentioned pool parameters are
          directly configured by the ACS. If {{enum|Passthrough}}, the
          above-mentioned pool parameters cannot be configured by the ACS.
          Their values are instead taken from the WAN connection specified by
          {{param|AssociatedConnection}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Normal"/>
            <enumeration value="Passthrough"/>
          </string>
          <default type="object" value="Normal"/>
        </syntax>
      </parameter>

      <parameter name="AssociatedConnection" access="readWrite">
        <description>
          {{reference|the connection instance to be used for address allocation
          if {{param|UseAllocatedWAN}} is set to
          {{enum|Passthrough|UseAllocatedWAN}}}} The content is the full
          hierarchical parameter name of a WAN-side layer 3 connection object.
          Example:
          ''InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1''.
          If {{param|UseAllocatedWAN}} is {{enum|Passthrough|UseAllocatedWAN}},
          this parameter MUST have a valid value before this pool can be
          enabled.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DHCPServerIPAddress" access="readWrite">
        <description>
          IP address of the DHCP server, where the request has to be sent to
          when there is a conditional match with this pool and
          {{param|LocallyServed}} is {{false}}. If this parameter is not
          configured, then the DHCP request is dropped.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DHCPStaticAddressNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|DHCPStaticAddress}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DHCPOptionNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|DHCPOption}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}.DHCPStaticAddress.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPStaticAddressNumberOfEntries"
        enableParameter="Enable">
      <description>
        DHCP static address table. Entries in this table correspond to what RFC
        2131 {{bibref|RFC2131}} calls "manual allocation", where a client's IP
        address is assigned by the network administrator, and DHCP is used
        simply to convey the assigned address to the client. Each instance of
        this object specifies a hardware address (MAC address) and an IP
        address within the pool. When serving from this pool, this IP address
        MUST, if available, be assigned to the DHCP client with this hardware
        address, and MUST NOT be assigned to any other client. Note that it is
        possible that an IP address in this table is present in the main pool
        and/or one or more of the other conditional serving pools, in which
        case it is possible that such an address will be assigned to a
        different client.
      </description>
      <uniqueKey>
        <parameter ref="Chaddr"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the DHCPStaticAddress table entry. Disabling an
          entry does not return the IP address to the pool.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Chaddr" access="readWrite">
        <description>
          Hardware address (MAC address) of the physical interface of the DHCP
          client. This parameter MUST have a valid value before the table entry
          can be enabled.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Yiaddr" access="readWrite">
        <description>
          IP address to be assigned by the DHCP server to the DHCP client with
          the specified hardware address (MAC address). This parameter MUST
          have a valid value before the table entry can be enabled.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}.DHCPOption.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DHCPOptionNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object specifies the DHCP options that MUST, if enabled, be
        returned to clients whose DHCP requests are associated with this pool.
      </description>
      <uniqueKey>
        <parameter ref="Tag"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this DHCPOption table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Tag" access="readWrite">
        <description>
          Option tag as defined in RFC 2132 {{bibref|RFC2132}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="254"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Value" access="readWrite">
        <description>
          Base64 encoded option value.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="255"/>
          </base64>
          <default type="object" value=""/>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Status">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly" dmr:previousParameter="Status">
        <description>
          The name of this layer 2 interface, chosen by the vendor, e.g. "eth0"
          or "eth0:1".
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </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="10000"/>
            <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.

        Note that these statistics refer to the link layer, not to the physical
        layer.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets transmitted out of the interface. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were received on this interface.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable. The value of this counter MAY be reset
          to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable. One possible reason for discarding such a packet could
          be to free up buffer space. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a multicast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a broadcast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received via the interface which were
          discarded because of an unknown or unsupported protocol. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Status">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly" dmr:previousParameter="Status">
        <description>
          The name of this layer 2 interface, chosen by the vendor, e.g.
          "usb0".
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </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.

        Note that these statistics refer to the link layer, not to the physical
        layer.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets (cells) transmitted out of the interface.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellsReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets (cells) which were received on this
          interface. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable. The value of this counter MAY be reset
          to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable. One possible reason for discarding such a packet could
          be to free up buffer space. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a multicast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a broadcast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received via the interface which were
          discarded because of an unknown or unsupported protocol. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Status">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly" dmr:previousParameter="Status">
        <description>
          The name of this layer 2 interface, chosen by the vendor, e.g.
          "wlan0".
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </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. To request
          automatic channel selection, set {{param|AutoChannelEnable}} to
          {{true}}. Whenever {{param|AutoChannelEnable}} is {{true}}, the value
          of the {{param}} parameter MUST be the channel selected by the
          automatic channel selection procedure.
        </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">
              <description action="replace">b and g clients supported</description>
            </enumeration>
            <enumeration value="g-only">
              <description>only g clients supported</description>
            </enumeration>
            <enumeration value="n"/>
          </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>
            <enumeration value="None"/>
            <enumeration value="WEPEncryption"/>
            <size maxLength="31" status="deleted"/>
          </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>
            <enumeration value="None">
              <description action="replace">Open authentication</description>
            </enumeration>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="SharedAuthentication" optional="true"/>
            <size maxLength="31" status="deleted"/>
          </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>
            <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"/>
            <size maxLength="31" status="deleted"/>
          </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>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
            <size maxLength="31" status="deleted"/>
          </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>
            <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"/>
            <size maxLength="31" status="deleted"/>
          </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>
            <enumeration value="PSKAuthentication"/>
            <enumeration value="EAPAuthentication" optional="true"/>
            <enumeration value="EAPandPSKAuthentication" optional="true"/>
            <size maxLength="31" status="deleted"/>
          </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="SSIDAdvertisementEnabled" access="readWrite"
          dmr:previousParameter="BeaconAdvertisementEnabled">
        <description>
          Indicates whether or not beacons include the SSID name. This
          parameter has an effect only if {{param|BeaconAdvertisementEnabled}}
          is {{true}}.
        </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="TransmitPowerSupported" access="readOnly"
          dmr:previousParameter="RadioEnabled">
        <description>
          Supported transmit power levels as percentages of full power. For
          example, "0,25,50,75,100".
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
          </unsignedInt>
        </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>
            <enumeration value="InfrastructureAccessPoint"/>
            <enumeration value="WirelessBridge" optional="true"/>
            <enumeration value="WirelessRepeater" optional="true"/>
            <enumeration value="WirelessStation" optional="true"/>
            <size maxLength="31" status="deleted"/>
          </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="WMMSupported" access="readOnly"
          dmr:previousParameter="AuthenticationServiceMode">
        <description>
          Indicates whether this interface supports WiFi Multimedia (WMM)
          Access Categories (AC).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets transmitted out of the interface. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TotalPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were received on this interface.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </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 AssociatedDevice
          table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoChannelEnable" access="readWrite">
        <description>
          Enable or disable automatic channel selection. Set to {{false}} to
          disable the automatic channel selection procedure, in which case the
          currently selected channel remains selected. Set to {{true}} to
          enable the automatic channel selection procedure. This procedure MUST
          automatically select the channel, and MAY also change it
          subsequently. {{param}} MUST automatically change to {{false}}
          whenever the channel is manually selected, i.e. whenever the
          {{param|Channel}} parameter is written. Whenever {{param}} is
          {{true}}, the value of the {{param|Channel}} parameter MUST be the
          channel selected by the automatic channel selection procedure.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TransmitPower" access="readWrite">
        <description>
          Indicates the current transmit power level as a percentage of full
          power. The value MUST be one of the values reported by the
          {{param|TransmitPowerSupported}} parameter.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="UAPSDSupported" access="readOnly">
        <description>
          Indicates whether this interface supports WMM Unscheduled Automatic
          Power Save Delivery (U-APSD). Note: U-APSD support implies WMM
          support.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WMMEnable" access="readWrite">
        <description>
          Whether WMM support is currently enabled. When enabled, this is
          indicated in beacon frames
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UAPSDEnable" access="readWrite">
        <description>
          Whether U-APSD support is currently enabled. When enabled, this is
          indicated in beacon frames. Note: U-APSD can only be enabled if WMM
          is also enabled.
        </description>
        <syntax>
          <boolean/>
        </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>

      <parameter name="LastDataTransmitRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The data transmit rate that was most recently used for a station with
          a specified MAC address.
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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 (RFC 2898 {{bibref|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}.WLANConfiguration.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains statistics for an 802.11 LAN interface on a CPE
        device. Note that these statistics refer to the link layer, not to the
        physical layer. Note that this object does not include the total byte
        and packet statistics, which are, for historical reasons, in the parent
        object.
      </description>

      <parameter name="ErrorsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable. The value of this counter MAY be reset
          to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable. One possible reason for discarding such a packet could
          be to free up buffer space. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a multicast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a broadcast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received via the interface which were
          discarded because of an unknown or unsupported protocol. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WPS."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to WPS (Wi-Fi Protected Setup)
        {{bibref|WPSv1.0}} that apply to a CPE acting as an Access Point.
      </description>

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

      <parameter name="DeviceName" access="readOnly">
        <description>
          User-friendly description of the device. This parameter corresponds
          directly to the "Device Name" attribute of the WPS specification
          {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DevicePassword" access="readWrite">
        <description>
          Represents the DevicePassword used (commonly known as PIN). This
          parameter corresponds directly to the "Device Password" attribute of
          the WPS specification {{bibref|WPSv1.0}}.
        </description>
        <syntax hidden="true">
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UUID" access="readOnly">
        <description>
          UUID of the device. This is represented as specified in RFC 4122
          {{bibref|RFC4122}} but omitting the leading "urn:uuid:", e.g.
          "f81d4fae-7dec-11d0-a765-00a0c91e6bf6". This parameter corresponds
          directly to the "UUID-E" (enrollee) and "UUID-R" (registrar)
          attributes of the WPS specification {{bibref|WPSv1.0}}. Note that if
          the Access Point can act both as an enrollee and as a registrar then
          UUID-E and UUID-R will be the same as each other.
        </description>
        <syntax>
          <string>
            <size maxLength="36"/>
            <pattern
                value="[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          The Wi-Fi Protected Setup version supported by the device. This
          parameter corresponds directly to the "Version" attribute of the WPS
          specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsSupported" access="readOnly">
        <description>
          WPS configuration methods supported by the device. {{enum}} This
          parameter corresponds directly to the "Config Methods" attribute of
          the WPS specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="USBFlashDrive"/>
            <enumeration value="Ethernet"/>
            <enumeration value="Label"/>
            <enumeration value="Display"/>
            <enumeration value="ExternalNFCToken"/>
            <enumeration value="IntegratedNFCToken"/>
            <enumeration value="NFCInterface"/>
            <enumeration value="PushButton"/>
            <enumeration value="Keypad"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsEnabled" access="readWrite">
        <description>
          WPS configuration methods enabled on the device. This parameter
          corresponds directly to the "Permitted Config Methods" attribute of
          the WPS specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="ConfigMethodsSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SetupLockedState" access="readOnly">
        <description>
          Indicates if the AP Setup mode is enabled for configuration of the AP
          through an external registrar. The AP Setup mode can be disabled by
          the user, by the remote management or in case of a brute force attack
          against the AP's PIN (Wrong PIN provided to AP multiple times).
          {{enum}} This parameter corresponds directly to the "AP Setup Locked"
          attribute of the WPS specification {{bibref|WPSv1.0}}. The factory
          default setting is {{enum|Unlocked}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Unlocked"/>
            <enumeration value="LockedByLocalManagement"/>
            <enumeration value="LockedByRemoteManagement"/>
            <enumeration value="PINRetryLimitReached"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SetupLock" access="readWrite">
        <description>
          When set to {{true}}, the Access Point will refuse to accept new
          external registrars; already established registrars will continue to
          be able to add new enrollees (the {{param|SetupLockedState}} becomes
          {{enum|LockedByRemoteManagement|SetupLockedState}}). When set to
          {{false}}, the Access Point is enabled for configuration through an
          external registrar (the {{param|SetupLockedState}} becomes
          {{enum|Unlocked|SetupLockedState}}). The factory default setting is
          {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ConfigurationState" access="readOnly">
        <description>
          Description of the WPS status on the Wireless Access Point side.
          {{enum}} This parameter corresponds directly to the "Wi-Fi Protected
          Setup State" attribute of the WPS specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Not configured">
              <description>
                WLAN interface is unconfigured: out-of-the box configuration
              </description>
            </enumeration>
            <enumeration value="Configured">
              <description>WLAN interface is configured</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastConfigurationError" access="readOnly">
        <description>
          Shows the result of the last external registrar attempt to configure
          the Access Point. {{enum}} If no external registrar has yet attempted
          to configure the Access Point, this parameter MUST have the value
          {{enum|NoError}}. The value of this parameter MUST persist across CPE
          reboots. This parameter corresponds directly to the "Configuration
          Error" attribute of the WPS specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <string>
            <enumeration value="NoError"/>
            <enumeration value="DecryptionCRCFailure"/>
            <enumeration value="SignalTooWeak"/>
            <enumeration value="CouldntConnectToRegistrar"/>
            <enumeration value="RogueActivitySuspected"/>
            <enumeration value="DeviceBusy"/>
            <enumeration value="SetupLocked"/>
            <enumeration value="MessageTimeout"/>
            <enumeration value="RegistrationSessionTimeout"/>
            <enumeration value="DevicePasswordAuthFailure"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RegistrarNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the Registrar table: number of Registrars that
          currently have an association with the Access Point. This parameter
          corresponds directly to the "Registrar Current" attribute of the WPS
          specification {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RegistrarEstablished" access="readOnly">
        <description>
          {{true}} if the Access Point has ever previously created an
          association with a Registrar. This parameter corresponds directly to
          the "Registrar Established" attribute of the WPS specification
          {{bibref|WPSv1.0}}. The factory default setting is {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WPS.Registrar.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="RegistrarNumberOfEntries">
      <description>
        This table lists the Registrars associated with the Access Point. This
        table MUST persist across CPE reboots. The registrar UUID is the unique
        key. This object corresponds directly to the "Registrar List" attribute
        of the WPS specification {{bibref|WPSv1.0}}.
      </description>
      <uniqueKey>
        <parameter ref="UUID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          If {{true}}, the registrar can be used by the Access Point for WPS
          procedures.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="UUID" access="readOnly">
        <description>
          UUID of the registrar. This is represented as specified in RFC 4122
          {{bibref|RFC4122}} but omitting the leading "urn:uuid:", e.g.
          ''f81d4fae-7dec-11d0-a765-00a0c91e6bf6''. This parameter corresponds
          directly to the "UUID-R" attribute of the WPS specification
          {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <string>
            <size maxLength="36"/>
            <pattern
                value="[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceName" access="readOnly">
        <description>
          Device Name of the registrar. This parameter corresponds directly to
          the "Device Name" attribute of the WPS specification
          {{bibref|WPSv1.0}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.APWMMParameter.{i}."
        access="readOnly" minEntries="4" maxEntries="4">
      <description>
        This is a table of WMM parameters for traffic that originates at the
        wireless access point, i.e. for outgoing traffic. The size of this
        table is fixed, with 4 entries (with instance numbers 1 through 4).
        Instance numbers MUST be assigned as follows:

        # BE AC (Best Effort)

        # BK AC (Background)

        # VI AC (Video)

        # VO AC (Voice)
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="AIFSN" access="readWrite">
        <description>
          Arbitration Inter Frame Spacing (Number). This is the number of time
          slots in the arbitration interframe space.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="2" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMin" access="readWrite">
        <description>
          Exponent of Contention Window (Minimum). This encodes the Values of
          CWMin as an exponent: CWMin = 2^ECWMin - 1. For example, if ECWMin is
          8, then CWMin is 2^8 - 1, or 255,
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMax" access="readWrite">
        <description>
          Exponent of Contention Window (Maximum). This encodes the Values of
          CWMax as an exponent: CWMax = 2^ECWMax - 1. For example, if ECWMax is
          8, then CWMax is 2^8 - 1, or 255,
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TXOP" access="readWrite">
        <description>
          Transmit Opportunity, in multiples of 32 microseconds.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AckPolicy" access="readWrite">
        <description>
          Ack Policy, where {{false}}=''Do Not Acknowledge'' and
          {{true}}=''Acknowledge''.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.STAWMMParameter.{i}."
        access="readOnly" minEntries="4" maxEntries="4">
      <description>
        This is a table of WMM parameters for traffic that originates at the
        wireless station, i.e. for incoming traffic. The size of this table is
        fixed, with 4 entries (with instance numbers 1 through 4). Instance
        numbers MUST be assigned as follows:

        # BE AC (Best Effort)

        # BK AC (Background)

        # VI AC (Video)

        # VO AC (Voice)
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="AIFSN" access="readWrite">
        <description>
          Arbitration Inter Frame Spacing (Number). This is the number of time
          slots in the arbitration interframe space.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="2" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMin" access="readWrite">
        <description>
          Exponent of Contention Window (Minimum). This encodes the Values of
          CWMin as an exponent: CWMin = 2^ECWMin - 1. For example, if ECWMin is
          8, then CWMin is 2^8 - 1, or 255,
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMax" access="readWrite">
        <description>
          Exponent of Contention Window (Maximum). This encodes the Values of
          CWMax as an exponent: CWMax = 2^ECWMax - 1. For example, if ECWMax is
          8, then CWMax is 2^8 - 1, or 255,
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TXOP" access="readWrite">
        <description>
          Transmit Opportunity, in multiples of 32 microseconds.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AckPolicy" access="readWrite">
        <description>
          Ack Policy, where {{false}}=''Do Not Acknowledge'' and
          {{true}}=''Acknowledge''.
        </description>
        <syntax>
          <boolean/>
        </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="Layer2Interface" access="readOnly"
          dmr:previousParameter="MACAddress">
        <description>
          This parameter is the full hierarchical parameter name of a
          particular ''LAN**InterfaceConfig'' object or a ''WLANConfiguration''
          object. For example:
          ''InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2''.
          In the case of an embedded Ethernet switch, the {{param}} parameter
          references the ''LANEthernetInterfaceConfig'' object that corresponds
          to the switch port the device is connected to (a
          ''LANEthernetInterfaceConfig'' instance for each switch port). In the
          case of an embedded WLAN access point, the {{param}} parameter
          references the ''WLANConfiguration'' object that corresponds to the
          SSID the device is connected to (if the access point supports
          multiple SSIDs, then each SSID is a separate instance).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </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="MoCA"/>
            <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 {{false}} 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>

      <parameter name="VendorClassID" access="readOnly">
        <description>
          Vendor Class Identifier DHCP option (Option 60) of the host. It MAY
          be defined when ''AddressSource'' is ''DHCP''. {{empty}} indicates
          this option is not used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ClientID" access="readOnly">
        <description>
          Client Identifier DHCP option (Option 61) for the specific IP
          connection of the client. The option value is binary, so an exact
          match is REQUIRED. It MAY be defined when ''AddressSource'' is
          ''DHCP''. {{empty}} indicates this option is not used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UserClassID" access="readOnly">
        <description>
          User Class Identifier DHCP option (Option 77) of the host. It MAY be
          defined when ''AddressSource'' is ''DHCP''. {{empty}} indicates this
          option is not used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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="LinkEncapsulationSupported" access="readOnly"
          dmr:previousParameter="Status">
        <description>
          Indicates which link encapsulation standards and recommendations are
          supported by the B-NT.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="G.992.3_Annex_K_ATM"/>
            <enumeration value="G.992.3_Annex_K_PTM"/>
            <enumeration value="G.993.2_Annex_K_ATM"/>
            <enumeration value="G.993.2_Annex_K_PTM"/>
            <enumeration value="G.994.1">
              <description>Auto</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModulationType" access="readOnly" status="deprecated">
        <description>
          Indicates the type of modulation used on the connection.

          {{enum}} This parameter, which was inherited from WANDSLLinkConfig,
          is DEPRECATED because it is in general not clear which standards
          correspond to which of the the above enumerated values. It is
          RECOMMENDED that the {{param|StandardUsed}} parameter be used to
          indicate which standard is in use.
        </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="AllowedProfiles" access="readOnly"
          dmr:previousParameter="LineEncoding">
        <description>
          Indicates which VDSL2 profiles are allowed on the line. {{enum}}
          Note: In G.997.1, this parameter is called PROFILES. See ITU-T
          Recommendation G.997.1. Note: This parameter is OPTIONAL at the G and
          S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be {{empty}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="8a"/>
            <enumeration value="8b"/>
            <enumeration value="8c"/>
            <enumeration value="8d"/>
            <enumeration value="12a"/>
            <enumeration value="12b"/>
            <enumeration value="17a"/>
            <enumeration value="17b"/>
            <enumeration value="30a"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DataPath" access="readOnly">
        <description>
          Indicates whether the data path is fast (lower latency) or
          interleaved (lower error rate).

          {{enum}} Note1: This parameter is only applicable to G.992.1. Note2:
          For an ADSL1-capable multimode device operating in a mode other than
          ADSL1, the value of this parameter SHOULD be set to {{enum|None}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Interleaved"/>
            <enumeration value="Fast"/>
            <enumeration value="None"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InterleaveDepth" access="readOnly">
        <description>
          ADSL1 Interleaved depth. This variable is only applicable to ADSL1
          and only 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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value 4294967295 (the maximum for its
          data type).
        </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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value 4294967295 (the maximum for its
          data type).
        </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.

          Note: This parameter is related to the G.997.1 parameter ATTNDRus,
          which is measured in bits/s. See ITU-T Recommendation G.997.1.
        </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.

          Note: This parameter is related to the G.997.1 parameter ATTNDRds,
          which is measured in bits/s. See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UpstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio margin (expressed in 0.1 dB) in the
          upstream direction. Note: In G.997.1, this parameter is called
          SNRMus. See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="DownstreamNoiseMargin" access="readOnly"
          activeNotify="canDeny">
        <description>
          The current signal-to-noise ratio margin (expressed in 0.1 dB) in the
          downstream direction. Note: In G.997.1, this parameter is called
          SNRMds. See ITU-T Recommendation G.997.1.
        </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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value "00000000".
        </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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value "0000".
        </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.

          When T1.413 modulation is not in use, the parameter value SHOULD be
          0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          When T1.413 modulation is not in use, the parameter value SHOULD be
          0.
        </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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value "00000000".
        </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.

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, it MUST have the value "0000".
        </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.

          When T1.413 modulation is not in use, the parameter value SHOULD be
          0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          When T1.413 modulation is not in use, the parameter value SHOULD be
          0.
        </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.
          Showtime is defined as successful completion of the DSL link
          establishment process. The ''Showtime'' statistics are those
          collected since the most recent establishment of the DSL link.
        </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 does not have 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 does not have 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="LinkEncapsulationRequested" access="readWrite">
        <description>
          Indicates the link encapsulation standard requested by the B-NT.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="LinkEncapsulationSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LinkEncapsulationUsed" access="readOnly">
        <description>
          Indicates the link encapsulation standard that the B-NT is using for
          the connection. {{enum}} When the standard identifies ATM
          encapsulation then the
          {{object|InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANDSLLinkConfig}}
          object MUST be used. When the standard identifies PTM encapsulation
          then the
          {{object|InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPTMLinkConfig}}
          object MUST be used.
        </description>
        <syntax>
          <string>
            <enumeration value="G.992.3_Annex_K_ATM"/>
            <enumeration value="G.992.3_Annex_K_PTM"/>
            <enumeration value="G.993.2_Annex_K_ATM"/>
            <enumeration value="G.993.2_Annex_K_PTM"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StandardsSupported" access="readOnly">
        <description>
          Indicates which DSL standards and recommendations are supported by
          the B-NT.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="G.992.1_Annex_A"/>
            <enumeration value="G.992.1_Annex_B"/>
            <enumeration value="G.992.1_Annex_C"/>
            <enumeration value="T1.413"/>
            <enumeration value="T1.413i2"/>
            <enumeration value="ETSI_101_388"/>
            <enumeration value="G.992.2"/>
            <enumeration value="G.992.3_Annex_A"/>
            <enumeration value="G.992.3_Annex_B"/>
            <enumeration value="G.992.3_Annex_C"/>
            <enumeration value="G.992.3_Annex_I"/>
            <enumeration value="G.992.3_Annex_J"/>
            <enumeration value="G.992.3_Annex_L"/>
            <enumeration value="G.992.3_Annex_M"/>
            <enumeration value="G.992.4"/>
            <enumeration value="G.992.5_Annex_A"/>
            <enumeration value="G.992.5_Annex_B"/>
            <enumeration value="G.992.5_Annex_C"/>
            <enumeration value="G.992.5_Annex_I"/>
            <enumeration value="G.992.5_Annex_J"/>
            <enumeration value="G.992.5_Annex_M"/>
            <enumeration value="G.993.1"/>
            <enumeration value="G.993.1_Annex_A"/>
            <enumeration value="G.993.2_Annex_A"/>
            <enumeration value="G.993.2_Annex_B"/>
            <enumeration value="G.993.2_Annex_C"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StandardUsed" access="readOnly">
        <description>
          Indicates the standard that the B-NT is using for the connection.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="StandardsSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentProfile" access="readOnly">
        <description>
          Indicates which VDSL2 profile is currently in use on the line. Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be {{empty}}.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="AllowedProfiles" nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PowerManagementState" access="readOnly">
        <description>
          The power management state of the line.
        </description>
        <syntax>
          <string>
            <enumeration value="L0"/>
            <enumeration value="L1"/>
            <enumeration value="L3"/>
            <enumeration value="L4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SuccessFailureCause" access="readOnly">
        <description>
          The success failure cause of the initialization. An enumeration of
          the following integer values:

          * 0: Successful

          * 1: Configuration error. This error occurs with inconsistencies in
            configuration parameters, e.g. when the line is initialized in an
            xDSL Transmission system where an xTU does not support the
            configured Maximum Delay or the configured Minimum or Maximum Data
            Rate for one or more bearer channels.

          * 2: Configuration not feasible on the line. This error occurs if the
            Minimum Data Rate cannot be reached on the line with the Minimum
            Noise Margin, Maximum PSD level, Maximum Delay and Maximum Bit
            Error Ratio for one or more bearer channels.

          * 3: Communication problem. This error occurs, for example, due to
            corrupted messages or bad syntax messages or if no common mode can
            be selected in the G.994.1 handshaking procedure or due to a
            timeout..

          * 4: No peer xTU detected. This error occurs if the peer xTU is not
            powered or not connected or if the line is too long to allow
            detection of a peer xTU.

          * 5: Any other or unknown Initialization Failure cause.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="5"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastStateTransmittedDownstream" access="readOnly">
        <description>
          This parameter represents the last successful transmitted
          initialization state in the downstream direction in the last full
          initialization performed on the line. Initialization states are
          defined in the individual xDSL Recommendations and are counted from 0
          (if G.994.1 is used) or 1 (if G.994.1 is not used) up to Showtime.
          This parameter needs to be interpreted along with the xDSL
          Transmission System. This parameter is available only when, after a
          failed full initialization, the line diagnostics procedures are
          activated on the line.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LastStateTransmittedUpstream" access="readOnly">
        <description>
          This parameter represents the last successful transmitted
          initialization state in the upstream direction in the last full
          initialization performed on the line. Initialization states are
          defined in the individual xDSL Recommendations and are counted from 0
          (if G.994.1 is used) or 1 (if G.994.1 is not used) up to Showtime.
          This parameter needs to be interpreted along with the xDSL
          Transmission System. This parameter is available only when, after a
          failed full initialization, the line diagnostics procedures are
          activated on the line.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPBOKLE" access="readOnly">
        <description>
          This parameter contains the estimated electrical loop length
          expressed in dB at 1MHz, kle (see O-UPDATE in section
          12.2.4.2.1.2/G.993.2). The value SHALL be coded as an unsigned 16 bit
          number in the range 0 (coded as 0) to 128 dB (coded as 1280) in steps
          of 0.1 dB.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="1280"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MREFPSDds" access="readOnly">
        <description>
          This parameter SHALL contain the set of breakpoints exchanged in the
          MREFPSDds fields of the O-PRM message of G.993.2. Base64 encoded of
          the binary representation defined in Table 12-19/G.993.2 (maximum
          length is 145 octets, which requires 196 bytes for Base64 encoding).
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="145"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="MREFPSDus" access="readOnly">
        <description>
          This parameter SHALL contain the set of breakpoints exchanged in the
          MREFPSDus fields of the R-PRM message of G.993.2. Base64 encoded of
          the binary representation defined in Table 12-19/G.993.2 (maximum
          length is 145 octets, which requires 196 bytes for Base64 encoding).
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="145"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="LIMITMASK" access="readOnly">
        <description>
          Indicates the enabled VDSL2 Limit PSD mask of the selected PSD mask
          class. Bit mask as specified in ITU-T Recommendation G.997.1. Note:
          For a VDSL2-capable multimode device operating in a mode other than
          VDSL2, the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="US0MASK" access="readOnly">
        <description>
          Indicates the allowed VDSL2 US0 PSD masks for Annex A operation. Bit
          mask as specified in see ITU-T Recommendation G.997.1. Note: For a
          VDSL2-capable multimode device operating in a mode other than VDSL2,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LPATH" access="readOnly">
        <description>
          Reports the index of the latency path supporting the bearer channel.
          For single-latency connections, LPATH = 0. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="INTLVDEPTH" access="readOnly">
        <description>
          Reports the interleaver depth D for the latency path indicated in
          LPATH. Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="INTLVBLOCK" access="readOnly">
        <description>
          Reports the interleaver block length in use on the latency path
          indicated in LPATH. Note: See ITU-T Recommendation G.997.1. For a
          multimode device operating in a mode in which this parameter does not
          apply, the value of this parameter SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ActualInterleavingDelay" access="readOnly">
        <description>
          Reports the actual delay, in milliseconds, of the latency path due to
          interleaving. Note: In G.997.1, this parameter is called "Actual
          Interleaving Delay." See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ACTINP" access="readOnly">
        <description>
          Reports the actual impulse noise protection (INP) provided by the
          latency path indicated in LPATH. The value is the actual INP in the
          L0 (i.e., Showtime) state. Note: See ITU-T Recommendation G.997.1.
          For a multimode device operating in a mode in which this parameter
          does not apply, the value of this parameter SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="INPREPORT" access="readOnly">
        <description>
          Reports whether the value reported in ACTINP was computed assuming
          the receiver does not use erasure decoding. Valid values are 0
          (computed per the formula assuming no erasure decoding) and 1
          (computed by taking into account erasure decoding capabilities of
          receiver). Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="NFEC" access="readOnly">
        <description>
          Reports the size, in octets, of the Reed-Solomon codeword in use on
          the latency path indicated in LPATH. Note: See ITU-T Recommendation
          G.997.1. For a multimode device operating in a mode in which this
          parameter does not apply, the value of this parameter SHOULD be set
          to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="RFEC" access="readOnly">
        <description>
          Reports the number of redundancy bytes per Reed-Solomon codeword on
          the latency path indicated in LPATH. Note: See ITU-T Recommendation
          G.997.1. For a multimode device operating in a mode in which this
          parameter does not apply, the value of this parameter SHOULD be set
          to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="LSYMB" access="readOnly">
        <description>
          Reports the number of bits per symbol assigned to the latency path
          indicated in LPATH. This value does not include overhead due to
          trellis coding. Note: See ITU-T Recommendation G.997.1. For a
          multimode device operating in a mode in which this parameter does not
          apply, the value of this parameter SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="TRELLISds" access="readOnly">
        <description>
          Reports whether trellis coding is enabled in the downstream
          direction. A value of 1 indicates that trellis coding is in use, and
          a value of 0 indicates that the trellis is disabled. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="TRELLISus" access="readOnly">
        <description>
          Reports whether trellis coding is enabled in the upstream direction.
          A value of 1 indicates that trellis coding is in use, and a value of
          0 indicates that the trellis is disabled. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to -1.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="ACTSNRMODEds" access="readOnly">
        <description>
          Reports whether the OPTIONAL virtual noise mechanism is in use in the
          downstream direction. A value of 1 indicates the virtual noise
          mechanism is not in use, and a value of 2 indicates the virtual noise
          mechanism is in use. Note: See ITU-T Recommendation G.997.1. For a
          multimode device operating in a mode in which this parameter does not
          apply, the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ACTSNRMODEus" access="readOnly">
        <description>
          Reports whether the OPTIONAL virtual noise mechanism is in use in the
          upstream direction. A value of 1 indicates the virtual noise
          mechanism is not in use, and a value of 2 indicates the virtual noise
          mechanism is in use. Note: See ITU-T Recommendation G.997.1. For a
          multimode device operating in a mode in which this parameter does not
          apply, the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="VirtualNoisePSDds" access="readOnly">
        <description>
          Reports the virtual noise PSD for the downstream direction. Base64
          encoded of the binary representation defined in G.997.1 by the
          parameter called TXREFVNds (maximum length is 97 octets, which
          requires 132 bytes for Base64 encoding). See ITU-T Recommendation
          G.997.1. For a multimode device operating in a mode in which this
          parameter does not apply, the value of this parameter SHOULD be set
          to {{empty}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="97"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="VirtualNoisePSDus" access="readOnly">
        <description>
          Reports the virtual noise PSD for the upstream direction. Base64
          encoded of the binary representation defined in G.997.1by the
          parameter called TXREFVNus (maximum length is 49 octets, which
          requires 68 bytes for Base64 encoding). See ITU-T Recommendation
          G.997.1. For a multimode device operating in a mode in which this
          parameter does not apply, the value of this parameter SHOULD be set
          to {{empty}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="49"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="ACTUALCE" access="readOnly">
        <description>
          Reports the actual cyclic extension, as the value of m, in use for
          the connection. Note: See ITU-T Recommendation G.997.1. For a
          multimode device operating in a mode in which this parameter does not
          apply, the value of this parameter SHOULD be set to 99.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRMpbus" access="readOnly">
        <description>
          The current signal-to-noise ratio margin of each upstream band.
          Interpretation of the values is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SNRMpbds" access="readOnly">
        <description>
          The current signal-to-noise ratio margin of each band. Interpretation
          of the values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="INMIATOds" access="readOnly">
        <description>
          The Impulse Noise Monitoring (INM) Inter Arrival Time (IAT) Offset,
          measured in DMT symbols, that the xTU receiver uses to determine in
          which bin of the IAT histogram the IAT is reported. Note: In G.997.1,
          this parameter is called INMIATO. See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="3" maxInclusive="511"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="INMIATSds" access="readOnly">
        <description>
          The Impulse Noise Monitoring (INM) Inter Arrival Time (IAT) Step that
          the xTU receiver uses to determine in which bin of the IAT histogram
          the IAT is reported. Note: In G.997.1, this parameter is called
          INMIATS. See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="INMCCds" access="readOnly">
        <description>
          The Impulse Noise Monitoring (INM) Cluster Continuation value,
          measured in DMT symbols, that the xTU receiver uses in the cluster
          indication process. Note: In G.997.1, this parameter is called INMCC.
          See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="64"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="INMINPEQMODEds" access="readOnly">
        <description>
          The Impulse Noise Monitoring (INM) Equivalent Impulse Noise
          Protection (INP) Mode that the xTU receiver uses in the computation
          of the Equivalent INP. Note: In G.997.1, this parameter is called
          INM_INPEQ_MODE. See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="3"/>
          </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"
          status="deprecated">
        <description>
          Total number of successfully received blocks, where a block is as
          defined in RFC 2662 {{bibref|RFC2662}}. This parameter is DEPRECATED
          because it is not available at either the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Total number of successfully transmitted blocks, where a block is as
          defined in RFC 2662 {{bibref|RFC2662}}. This parameter is DEPRECATED
          because it is not available at either the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not defined in 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"
          status="deprecated">
        <description>
          Total number of loss-of-framing errors (LOF failures as defined in
          ITU-T Rec. G.997.1).

          This parameter is DEPRECATED because it is not defined in 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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LInit" access="readOnly" activeNotify="canDeny">
        <description>
          LInit is a flag to signal that a failure occurred as defined in
          G.997.1.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LOF" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter corresponds to LOF as defined in ITU-T Rec. G.997.1.
          LOF is a flag to signal that a failure occurred.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATUCErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of errored seconds detected by the ATU-C (ES-L as
          defined in ITU-T Rec. G.997.1). Note: This parameter is OPTIONAL at
          the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCSeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of severely errored seconds detected by the ATU-C (SES-L
          as defined in ITU-T Rec. G.997.1). Note: This parameter is OPTIONAL
          at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter
          is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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"
          status="deprecated">
        <description>
          Number of successfully received blocks since the most recent DSL
          Showtime, where a block is as defined in RFC 2662 {{bibref|RFC2662}}.
          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Number of successfully transmitted blocks since the most recent DSL
          Showtime, where a block is as defined in RFC 2662 {{bibref|RFC2662}}.
          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <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).

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not defined in 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"
          status="deprecated">
        <description>
          Number of loss-of-framing errors since the most recent DSL Showtime
          (LOF failures as defined in ITU-T Rec. G.997.1).

          This parameter is DEPRECATED because it is not defined in 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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LInit" access="readOnly" activeNotify="canDeny">
        <description>
          LInit is a flag to signal that a failure occurred as defined in
          G.997.1.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LOF" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter corresponds to LOF as defined in ITU-T Rec. G.997.1.
          LOF is a flag to signal that a failure occurred.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATUCErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of errored seconds since the most recent DSL Showtime detected
          by the ATU-C (ES-L as defined in ITU-T Rec. G.997.1). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCSeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the most recent DSL Showtime
          detected by the ATU-C (SES-L as defined in ITU-T Rec. G.997.1). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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"
          status="deprecated">
        <description>
          Number of successfully received blocks since the second most recent
          DSL Showtime, where a block is as defined in RFC 2662
          {{bibref|RFC2662}}. This parameter is DEPRECATED because it is not
          available at either the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Number of successfully transmitted blocks since the second most
          recent DSL Showtime, where a block is as defined in RFC 2662
          {{bibref|RFC2662}}. This parameter is DEPRECATED because it is not
          available at either the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <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).

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <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).

          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

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

          This parameter is DEPRECATED because it is not defined in 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"
          status="deprecated">
        <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).

          This parameter is DEPRECATED because it is not defined in 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).

          Note: This parameter is OPTIONAL at the G and S/T interfaces in
          G.997.1 Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LInit" access="readOnly" activeNotify="canDeny">
        <description>
          LInit is a flag to signal that a failure occurred as defined in
          G.997.1.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LOF" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter corresponds to LOF as defined in ITU-T Rec. G.997.1.
          LOF is a flag to signal that a failure occurred.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATUCErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of errored seconds since the second most recent DSL Showtime
          detected by the ATU-C (ES-L as defined in ITU-T Rec. G.997.1). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCSeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds since the second most recent DSL
          Showtime detected by the ATU-C (SES-L as defined in ITU-T Rec.
          G.997.1). Note: This parameter is OPTIONAL at the G and S/T
          interfaces in G.997.1 Amendment 1. If the parameter is implemented
          but no value is available, its value MUST be 4294967295 (the maximum
          for its data type).
        </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"
          status="deprecated">
        <description>
          Number of successfully received blocks during the current day, where
          a block is as defined in RFC 2662 {{bibref|RFC2662}}. This parameter
          is DEPRECATED because it is not available at either the G or the S/T
          interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Number of successfully transmitted blocks during the current day,
          where a block is as defined in RFC 2662 {{bibref|RFC2662}}. This
          parameter is DEPRECATED because it is not available at either the G
          or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <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).
          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Number of link-retrain errors during the current day (Full
          Initialization Count as defined in ITU-T Rec. G.997.1). This
          parameter is DEPRECATED because it is not available at either the G
          or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Number of initialization errors during the current day (LINIT
          failures as defined in ITU-T Rec. G.997.1). This parameter is
          DEPRECATED because it is not defined in 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"
          status="deprecated">
        <description>
          Number of loss-of-framing errors during the current day (LOF failures
          as defined in ITU-T Rec. G.997.1). This parameter is DEPRECATED
          because it is not defined in 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). Note: This parameter is OPTIONAL at the G and
          S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL at
          the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL at
          the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is
          OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the
          parameter is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL at
          the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is
          OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the
          parameter is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL at the G and
          S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is
          OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the
          parameter is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LInit" access="readOnly" activeNotify="canDeny">
        <description>
          LInit is a flag to signal that a failure occurred as defined in
          G.997.1.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LOF" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter corresponds to LOF as defined in ITU-T Rec. G.997.1.
          LOF is a flag to signal that a failure occurred.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATUCErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of errored seconds during the current day detected by the
          ATU-C (ES-L as defined in ITU-T Rec. G.997.1). Note: This parameter
          is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If
          the parameter is implemented but no value is available, its value
          MUST be 4294967295 (the maximum for its data type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCSeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current day detected by
          the ATU-C (SES-L as defined in ITU-T Rec. G.997.1). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </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"
          status="deprecated">
        <description>
          Number of successfully received blocks during the current quarter
          hour, where a block is as defined in RFC 2662 {{bibref|RFC2662}}.
          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TransmitBlocks" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Number of successfully transmitted blocks during the current quarter
          hour, where a block is as defined in RFC 2662 {{bibref|RFC2662}}.
          This parameter is DEPRECATED because it is not available at either
          the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CellDelin" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <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). This parameter is DEPRECATED because it is not available at
          either the G or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LinkRetrain" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Number of link-retrain errors during the current quarter hour (Full
          Initialization Count as defined in ITU-T Rec. G.997.1). This
          parameter is DEPRECATED because it is not available at either the G
          or the S/T interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InitErrors" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Number of initialization errors during the current quarter hour
          (LINIT failures as defined in ITU-T Rec. G.997.1). This parameter is
          DEPRECATED because it is not defined in 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"
          status="deprecated">
        <description>
          Number of loss-of-framing errors during the current quarter hour (LOF
          failures as defined in ITU-T Rec. G.997.1). This parameter is
          DEPRECATED because it is not defined in 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). Note: This parameter is OPTIONAL at
          the G and S/T interfaces in G.997.1 Amendment 1. If the parameter is
          implemented but no value is available, its value MUST be 4294967295
          (the maximum for its data type).
        </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). Note: This parameter is
          OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If the
          parameter is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL
          at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter
          is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter
          is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If
          the parameter is implemented but no value is available, its value
          MUST be 4294967295 (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL
          at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter
          is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter
          is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If
          the parameter is implemented but no value is available, its value
          MUST be 4294967295 (the maximum for its data type).
        </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). Note: This parameter is OPTIONAL
          at the G and S/T interfaces in G.997.1 Amendment 1. If the parameter
          is implemented but no value is available, its value MUST be
          4294967295 (the maximum for its data type).
        </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). Note: This parameter
          is OPTIONAL at the G and S/T interfaces in G.997.1 Amendment 1. If
          the parameter is implemented but no value is available, its value
          MUST be 4294967295 (the maximum for its data type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LInit" access="readOnly" activeNotify="canDeny">
        <description>
          LInit is a flag to signal that a failure occurred as defined in
          G.997.1.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LOF" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter corresponds to LOF as defined in ITU-T Rec. G.997.1.
          LOF is a flag to signal that a failure occurred.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATUCErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of errored seconds during the current quarter hour detected by
          the ATU-C (ES-L as defined in ITU-T Rec. G.997.1). Note: This
          parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ATUCSeverelyErroredSecs" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of severely errored seconds during the current quarter hour
          detected by the ATU-C (SES-L as defined in ITU-T Rec. G.997.1). Note:
          This parameter is OPTIONAL at the G and S/T interfaces in G.997.1
          Amendment 1. If the parameter is implemented but no value is
          available, its value MUST be 4294967295 (the maximum for its data
          type).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.TestParams."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains the DSL test parameters that are available during
        the L0 (i.e., Showtime) state.
      </description>

      <parameter name="HLOGGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|HLOGpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|HLOGpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream logarithmic channel characteristics per sub-carrier group.
          The maximum number of elements is 256 for G.992.3, and 512 for
          G.992.5. For G.993.2, the number of elements will depend on the value
          of {{param|HLOGGds}} but will not exceed 512. Interpretation of the
          values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''. Note: {{param}} is measured during
          initialization and is not updated during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2559"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HLOGpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream logarithmic channel characteristics per sub-carrier group.
          The maximum number of elements is 64 for G.992.3 and G.992.5. For
          G.993.2, the number of elements will depend on the value of
          {{param|HLOGGus}} but will not exceed 512. Interpretation of the
          values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''. Note: {{param}} is measured during
          initialization and is not updated during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2559"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HLOGMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|HLOGpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|HLOGpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|QLNpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|QLNpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream quiet line noise per subcarrier group. The maximum number
          of elements is 256 for G.992.3 and G.992.5. For G.993.2, the number
          of elements will depend on the value of {{param|QLNGds}} but will not
          exceed 512. Interpretation of the values is as defined in ITU-T Rec.
          G.997.1. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter should be set to ''None''. Note:
          {{param}} is measured during initialization and is not updated during
          Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2047"/>
          </list>
          <int/>
        </syntax>
      </parameter>

      <parameter name="QLNpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream quiet line noise per subcarrier group. The maximum number of
          elements is 64 for G.992.3 and G.992.5. For G.993.2, the number of
          elements will depend on the value of {{param|QLNGus}} but will not
          exceed 512. Interpretation of the values is as defined in ITU-T Rec.
          G.997.1. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter should be set to ''None''. Note:
          {{param}} is measured during initialization and is not updated during
          Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2047"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="QLNMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|QLNpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|QLNpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|SNRpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|SNRpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream SNR per subcarrier group. The maximum number of elements
          is 256 for G.992.3, and 512 for G.992.5. For G.993.2, the number of
          elements will depend on the value of {{param|SNRGds}} but will not
          exceed 512. Interpretation of the values is as defined in ITU-T Rec.
          G.997.1. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter should be set to ''None''. Note:
          {{param}} is first measured during initialization and is updated
          during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2047"/>
          </list>
          <int/>
        </syntax>
      </parameter>

      <parameter name="SNRpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream SNR per subcarrier group. The maximum number of elements is
          64 for G.992.3 and G.992.5. For G.993.2, the number of elements will
          depend on the value of {{param|SNRGus}} but will not exceed 512.
          Interpretation of the values is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter should be set to ''None''. Note: {{param}} is first
          measured during initialization and is updated during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2047"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SNRMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|SNRpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|SNRpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LATNds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream line attenuation per usable band, as computed during
          initialization. Number of elements is dependent on the number of
          downstream bands but will exceed one only for G.993.2. Interpretation
          of {{param}} is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="LATNus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream line attenuation per usable band, as computed during
          initialization. Number of elements is dependent on the number of
          upstream bands but will exceed one only for G.993.2. Interpretation
          of {{param}} is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SATNds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream signal attenuation per usable band, as computed during the
          L0 (i.e., Showtime) state. Number of elements is dependent on the
          number of downstream bands but will exceed one only for G.993.2.
          Interpretation of {{param}} is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SATNus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream signal attenuation per usable band, as computed during the
          L0 (i.e., Showtime) state. Number of elements is dependent on the
          number of downstream bands but will exceed one only for G.993.2.
          Interpretation of {{param}} is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </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" status="deleted"/>
            <enumeration value="1000"/>
            <enumeration value="10000"/>
          </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>

      <parameter name="ShapingRate" access="readWrite"
          dmr:previousParameter="DuplexMode">
        <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. For example, for packets destined
          for a WAN DSL interface, if the ATM layer is rate-constrained, then
          the rate is calculated relative to this rate. Otherwise, the rate is
          calculated relative to the physical-layer DSL rate.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </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/>
        </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>
            <size maxLength="16"/>
          </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>
            <size maxLength="16"/>
          </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.

          Note: See ITU-T Recommendation 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.

          Note: See ITU-T Recommendation 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.

          Note: See ITU-T Recommendation 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.

          Note: See ITU-T Recommendation 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.

          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream linear channel characteristics per subcarrier group.
          Maximum number of complex pairs is 256 for G.992.3, and 512 for
          G.992.5. For G.993.2, the number of pairs will depend on the value of
          {{param|HLINGds}} but will not exceed 512. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1. Note: HLIN is not
          applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <int/>
        </syntax>
      </parameter>

      <parameter name="QLNpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream quiet line noise per subcarrier group. Maximum number of
          elements is 256 for G.992.3, 512 for G.992.5. For G.993.2, the number
          of elements will depend on the value of {{param|QLNGds}} but will not
          exceed 512. Interpretation of the value is as defined in ITU-T Rec.
          G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <int/>
        </syntax>
      </parameter>

      <parameter name="SNRpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream SNR per subcarrier group. Maximum number of elements is
          256 for G.992.3, 512 for G.992.5. For G.993.2, the number of elements
          will depend on the value of {{param|SNRGds}} but will not exceed 512.
          Interpretation of the value is as defined in ITU-T Rec. G.997.1.
          Interpretation of the value is as defined in ITU-T Rec. G.997.1.
          Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note:
          See ITU-T Recommendation G.997.1. For a multimode device operating in
          a mode in which this parameter does not apply, the value of this
          parameter SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <int/>
        </syntax>
      </parameter>

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

      <parameter name="GAINSpsds" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Downstream gain allocation per subcarrier group. Maximum number of
          elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1. This parameter is
          DEPRECATED.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINSCus" access="readOnly" activeNotify="canDeny">
        <description>
          Scaling used to represent the upstream linear channel
          characteristics. Interpretation of the value is as defined in ITU-T
          Rec. G.997.1. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <int/>
        </syntax>
      </parameter>

      <parameter name="HLINGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|HLINpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLINGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|HLINpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|HLOGpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|HLOGpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGpsds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream logarithmic channel characteristics per sub-carrier group.
          The maximum number of elements is 256 for G.992.3, and 512 for
          G.992.5. For G.993.2, the number of elements will depend on the value
          of {{param|HLOGGds}} but will not exceed 512. Interpretation of the
          values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''. Note: {{param}} is measured during
          initialization and is not updated during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2559"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HLOGpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream logarithmic channel characteristics per sub-carrier group.
          The maximum number of elements is 64 for G.992.3 and G.992.5. For
          G.993.2, the number of elements will depend on the value of
          {{param|HLOGGus}} but will not exceed 512. Interpretation of the
          values is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''. Note: {{param}} is measured during
          initialization and is not updated during Showtime.
        </description>
        <syntax>
          <list>
            <size maxLength="2559"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HLOGMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|HLOGpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HLOGMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|HLOGpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LATNpbds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream line attenuation per usable band, as computed during
          initialization. Number of elements is dependent on the number of
          downstream bands but will exceed one only for G.993.2. Interpretation
          of {{param}} is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="LATNpbus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream line attenuation per usable band, as computed during
          initialization. Number of elements is dependent on the number of
          upstream bands but will exceed one only for G.993.2. Interpretation
          of {{param}} is as defined in ITU-T Rec. G.997.1. Note: See ITU-T
          Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SATNds" access="readOnly" activeNotify="canDeny">
        <description>
          Downstream signal attenuation per usable band, as computed during the
          L0 (i.e., Showtime) state. Number of elements is dependent on the
          number of downstream bands but will exceed one only for G.993.2.
          Interpretation of {{param}} is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SATNus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream signal attenuation per usable band, as computed during the
          L0 (i.e., Showtime) state. Number of elements is dependent on the
          number of downstream bands but will exceed one only for G.993.2.
          Interpretation of {{param}} is as defined in ITU-T Rec. G.997.1.
          Note: See ITU-T Recommendation G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="24"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HLINpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream linear channel characteristics per sub-carrier group.
          Maximum number of complex pairs is 64 for G.992.3, and G.992.5. For
          G.993.2, the number of pairs will depend on the value of
          {{param|HLINGus}} but will not exceed 512. Interpretation of the
          values is as defined in ITU-T Rec. G.997.1. Note: HLIN is not
          applicable in PLOAM for G.992.1 or G.992.2. Note: See ITU-T
          Recommendation G.997.1. For a multimode device operating in a mode in
          which this parameter does not apply, the value of this parameter
          SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="QLNGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|QLNpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|QLNpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream quiet line noise per subcarrier group. The maximum number of
          elements is 64 for G.992.3, and G.992.5. For G.993.2, the number of
          elements will depend on the value of {{param|QLNGus}} but will not
          exceed 512. Interpretation of the values is as defined in ITU-T Rec.
          G.997.1. Note: QLN is not applicable in PLOAM for G.992.1 or G.992.2.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="QLNMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|QLNpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QLNMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|QLNpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRGds" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the downstream
          direction for {{param|SNRpsds}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRGus" access="readOnly" activeNotify="canDeny">
        <description>
          Number of sub-carriers per sub-carrier group in the upstream
          direction for {{param|SNRpsus}}. Valid values are 1, 2, 4, and 8.
          Note: See ITU-T Recommendation G.997.1. For a multimode device
          operating in a mode in which this parameter does not apply, the value
          of this parameter SHOULD be set to 1.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream SNR per subcarrier group. The maximum number of elements is
          64 for G.992.3, and G.992.5. For G.993.2, the number of elements will
          depend on the value of {{param|SNRGus}} but will not exceed 512.
          Interpretation of the values is as defined in ITU-T Rec. G.997.1.
          Note: SNRps is not applicable in PLOAM for G.992.1 or G.992.2. Note:
          See ITU-T Recommendation G.997.1. For a multimode device operating in
          a mode in which this parameter does not apply, the value of this
          parameter SHOULD be set to ''None''.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SNRMTds" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|SNRpsds}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SNRMTus" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the number of symbols over which {{param|SNRpsus}} was
          measured. Note: See ITU-T Recommendation G.997.1. For a multimode
          device operating in a mode in which this parameter does not apply,
          the value of this parameter SHOULD be set to 0.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BITSpsus" access="readOnly" activeNotify="canDeny">
        <description>
          Upstream bit allocation per subcarrier group. Maximum number of
          elements is 256 for G.992.3, 512 for G.992.5. Interpretation of the
          value is as defined in ITU-T Rec. G.997.1.
        </description>
        <syntax>
          <list>
            <size maxLength="61430"/>
          </list>
          <string/>
        </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 the
        case of DSL, each instance corresponds to either a single ATM VC or a
        PTM Ethernet link. On creation of a ''WANConnectionDevice'' instance,
        there are initially no connection objects contained within. In the case
        of Ethernet (interface or link), only one ''WANConnectionDevice''
        instance is supported.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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
          {{enum|PPPoE}} has always been DEPRECATED and {{enum|EoA}} SHOULD be
          used instead (see {{bibref|TR-098a2|Annex B}}). The ACS MUST NOT set
          this parameter to {{enum|PPPoE}} and the CPE MUST reject attempts to
          do so.
        </description>
        <syntax>
          <string>
            <enumeration value="EoA">
              <description>
                RFC 2684 {{bibref|RFC2684}} bridged Ethernet over ATM
              </description>
            </enumeration>
            <enumeration value="IPoA">
              <description>
                RFC 2684 {{bibref|RFC2684}} routed IP over ATM
              </description>
            </enumeration>
            <enumeration value="PPPoA">
              <description>
                RFC 2364 {{bibref|RFC2634}} PPP over ATM
              </description>
            </enumeration>
            <enumeration value="PPPoE" status="deprecated">
              <description>
                RFC 2516 {{bibref|RFC2516}} PPP over Ethernet on RFC 2684
                {{bibref|RFC2684}} bridged Ethernet over ATM
              </description>
            </enumeration>
            <enumeration value="CIP">
              <description>
                RFC 2225 {{bibref|RFC2225}} 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 2684 {{bibref|RFC2684}}. It is only
          applicable in the upstream direction.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="VCSearchList" access="readWrite">
        <description>
          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>
            <size maxLength="256"/>
          </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}.WANPTMLinkConfig."
        access="readOnly" minEntries="0" maxEntries="1"
        dmr:previousObject="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANATMF5LoopbackDiagnostics.">
      <description>
        This object models the PTM layer properties specific to a layer 2
        interface 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. The PTM Link Layer object exists when
        the ''WANDSLInterfaceConfig'' ''LinkEncapsulationSupported'' parameter
        includes any of:

        * ''G.992.3_Annex_K_PTM''

        * ''G.993.2_Annex_K_PTM''

        * ''G.994.1''
      </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="MACAddress" access="readOnly">
        <description>
          The physical address of the interface.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPTMLinkConfig.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object represents the statistics collected and returned over a PTM
        link.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FramesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets (frames) transmitted out of the
          interface. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FramesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets (frames) which were received on this
          interface. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="OOSNearEnd" access="readOnly">
        <description>
          Indication that the CPE has detected the link is Out of
          Synchronization since the CPE rebooted or the interface was last
          enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="OOSFarEnd" access="readOnly">
        <description>
          Indication that the remote device has detected the link is Out of
          Synchronization since the CPE rebooted or the interface was last
          enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable. The value of this counter MAY be reset
          to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space. The value of this counter MAY be
          reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable. One possible reason for discarding such a packet could
          be to free up buffer space. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a multicast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were
          addressed to a broadcast address, including those that were discarded
          or not sent. The value of this counter MAY be reset to zero when the
          CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address. The value of this counter MAY be reset to zero
          when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received via the interface which were
          discarded because of an unknown or unsupported protocol. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </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.

        If the ''Layer2Bridging'' object is implemented, the view that it
        provides of the CPE's underlying bridging configuration MUST be
        consistent with the view provided by any ''LANDevice'' and
        ''WAN**Connection'' objects. The implications of this are explained in
        {{bibref|TR-098a2|Annex A.6}}.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite"
          dmr:previousParameter="Enable">
        <description>
          When set to {{true}}, the device MUST tear down the existing IP
          connection represented by this object and establish a new one. The
          device MUST initiate the reset after completion of the current CWMP
          session. The device MAY delay resetting the connection in order to
          avoid interruption of a user service such as an ongoing voice call.
          When read, this parameter always returns {{false}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ConnectionStatus" access="readOnly">
        <description>
          Current status of the connection.

          {{enum}} The value {{enum|Disconneting}} is DEPRECATED because it is
          a typo. The ACS MUST treat {{enum|Disconneting}} and
          {{enum|Disconnecting}} the same.
        </description>
        <syntax>
          <string>
            <enumeration value="Unconfigured"/>
            <enumeration value="Connecting"/>
            <enumeration value="Connected"/>
            <enumeration value="PendingDisconnect"/>
            <enumeration value="Disconneting" status="deprecated"/>
            <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="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"
          forcedInform="true" activeNotify="forceDefaultEnabled">
        <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}}.

          If Active Notification is enabled, the CPE MUST initiate an Inform
          whenever either the value of this parameter changes or the default
          WAN connection changes to a different connection.
        </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. For example, for packets destined
          for a WAN DSL interface, if the ATM layer is rate-constrained, then
          the rate is calculated relative to this rate. Otherwise, the rate is
          calculated relative to the physical-layer DSL rate.
        </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}.DHCPClient."
        access="readOnly" minEntries="1" maxEntries="1" dmr:previousObject="">
      <description>
        This object contains DHCP client configuration parameters.
      </description>

      <parameter name="SentDHCPOptionNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|SentDHCPOption}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ReqDHCPOptionNumberOfEntries" access="readOnly">
        <description>
          The number of entries in the {{object|ReqDHCPOption}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.DHCPClient.SentDHCPOption.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="SentDHCPOptionNumberOfEntries"
        enableParameter="Enable">
      <description>
        Each instance of this object represents a DHCP option that MUST, if
        enabled, be sent in DHCP client requests. All sent DHCP options MUST be
        listed.
      </description>
      <uniqueKey>
        <parameter ref="Tag"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this SentDHCPOption table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Tag" access="readWrite">
        <description>
          Option tag as defined in RFC 2132 {{bibref|RFC2132}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="254"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Value" access="readWrite">
        <description>
          Base64 encoded option value.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="255"/>
          </base64>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.DHCPClient.ReqDHCPOption.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ReqDHCPOptionNumberOfEntries"
        enableParameter="Enable">
      <description>
        Each instance of this object represents a DHCP option that MUST, if
        enabled, be requested in DHCP client requests. All requested DHCP
        options MUST be listed.
      </description>
      <uniqueKey>
        <parameter ref="Tag"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this ReqDHCPOption table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Order" access="readWrite">
        <description>
          Position of the option in the DHCP client request. A value of 1
          indicates the first entry. 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 to ensure uniqueness
          of this value. A deletion causes Order values to be compacted. When a
          value is changed, incrementing occurs before compaction. The value on
          creation of a ReqDHCPOption table entry MUST be one greater than the
          largest current value.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Tag" access="readWrite">
        <description>
          Option tag as defined in RFC 2132 {{bibref|RFC2132}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="254"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Value" access="readOnly">
        <description>
          Base64 encoded most recently received DHCP option value. If no option
          value has been received, then the value MUST represent {{empty}}.
          Received DHCP option values MAY, but need not, persist across CPE
          reboots.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="255"/>
          </base64>
          <default type="object" value=""/>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="PortMappingEnabled">
        <description>
          {{datatype|expand}} Note: There is no guarantee that the {{param}}
          value on automatically-created {{object}} instances will be retained.
          This is because automatically-created {{object}} instances can be
          transitory.
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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 (or the first port of a range of external ports)
          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 requests 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>

      <parameter name="ExternalPortEndRange" access="readWrite">
        <description>
          Indicates the last port of the external port range that starts with
          {{param|ExternalPort}}. If an external port range is specified, then
          the behavior described for {{param|ExternalPort}} applies to all
          ports within the range. A value of zero (0) indicates that no
          external port range is specified, i.e. that the range consists only
          of {{param|ExternalPort}}. If {{param|ExternalPort}} is zero
          (wildcard), the value of this parameter MUST be ignored. If
          specified, the value of this parameter MUST be greater than or equal
          to the value of {{param|ExternalPort}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </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>
          The total number of bytes transmitted, including framing characters,
          over all connections within the same ''WANConnectionDevice'' that
          share a common MAC address. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes received, including framing characters,
          over all connections within the same ''WANConnectionDevice'' that
          share a common MAC address. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets transmitted over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were received over all connections
          within the same ''WANConnectionDevice'' that share a common MAC
          address. The value of this counter MAY be reset to zero when the CPE
          is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetErrorsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetDiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. One possible
          reason for discarding such a packet could be to free up buffer space.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetDiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. One possible
          reason for discarding such a packet could be to free up buffer space.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetMulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission, including
          those that were discarded or not sent, which were addressed to a
          multicast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetMulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission, including
          those that were discarded or not sent, which were addressed to a
          broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were discarded because of an
          unknown or unsupported protocol, received over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </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.

        If the ''Layer2Bridging'' object is implemented, the view that it
        provides of the CPE's underlying bridging configuration MUST be
        consistent with the view provided by any ''LANDevice'' and
        ''WAN**Connection'' objects. The implications of this are explained in
        {{bibref|TR-098a2|Annex A.6}}.
      </description>
      <uniqueKey>
        <parameter ref="ExternalIPAddress"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite"
          dmr:previousParameter="Enable">
        <description>
          When set to {{true}}, the device MUST tear down the existing PPP
          connection represented by this object and establish a new one. The
          device MUST initiate the reset after completion of the current CWMP
          session. The device MAY delay resetting the connection in order to
          avoid interruption of a user service such as an ongoing voice call.
          When read, this parameter always returns {{false}}.
        </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="PPPoESessionID" access="readOnly"
          dmr:previousParameter="ConnectionType">
        <description>
          Represents the PPPoE Session ID.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </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="readWrite"
          forcedInform="true" activeNotify="forceDefaultEnabled">
        <description>
          This is the external IP address used by NAT for this connection.

          If Active Notification is enabled, the CPE MUST initiate an Inform
          whenever either the value of this parameter changes or the default
          WAN connection changes to a different 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. For example, for packets destined
          for a WAN DSL interface, if the ATM layer is rate-constrained, then
          the rate is calculated relative to this rate. Otherwise, the rate is
          calculated relative to the physical-layer DSL rate.
        </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>

      <parameter name="DefaultGateway" access="readOnly">
        <description>
          Represents the IP Address of the remote end Default Gateway
          established through PPPoE.
        </description>
        <syntax>
          <string/>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="PortMappingEnabled">
        <description>
          {{datatype|expand}} Note: There is no guarantee that the {{param}}
          value on automatically-created {{object}} instances will be retained.
          This is because automatically-created {{object}} instances can be
          transitory.
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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 (or the first port of a range of external ports)
          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>

      <parameter name="ExternalPortEndRange" access="readWrite">
        <description>
          Indicates the last port of the external port range that starts with
          {{param|ExternalPort}}. If an external port range is specified, then
          the behavior described for {{param|ExternalPort}} applies to all
          ports within the range. A value of zero (0) indicates that no
          external port range is specified, i.e. that the range consists only
          of {{param|ExternalPort}}. If {{param|ExternalPort}} is zero
          (wildcard), the value of this parameter MUST be ignored. If
          specified, the value of this parameter MUST be greater than or equal
          to the value of {{param|ExternalPort}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </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>
          The total number of bytes transmitted, including framing characters,
          over all connections within the same ''WANConnectionDevice'' that
          share a common MAC address. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBytesReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of bytes received, including framing characters,
          over all connections within the same ''WANConnectionDevice'' that
          share a common MAC address. The value of this counter MAY be reset to
          zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets transmitted over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were received over all connections
          within the same ''WANConnectionDevice'' that share a common MAC
          address. The value of this counter MAY be reset to zero when the CPE
          is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetErrorsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being deliverable, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address, including those that
          were discarded or not sent, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were not addressed to a
          multicast or broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetDiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. One possible
          reason for discarding such a packet could be to free up buffer space.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetDiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          deliverable, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. One possible
          reason for discarding such a packet could be to free up buffer space.
          The value of this counter MAY be reset to zero when the CPE is
          rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetMulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission, including
          those that were discarded or not sent, which were addressed to a
          multicast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetMulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          multicast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission, including
          those that were discarded or not sent, which were addressed to a
          broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetBroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets which were addressed to a
          broadcast address, over all connections within the same
          ''WANConnectionDevice'' that share a common MAC address. The value of
          this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EthernetUnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets which were discarded because of an
          unknown or unsupported protocol, received over all connections within
          the same ''WANConnectionDevice'' that share a common MAC address. The
          value of this counter MAY be reset to zero when the CPE is rebooted.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Layer 2 bridging configuration. 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. This object
        can be used to configure both 802.1D {{bibref|802.1D-2004}} and 802.1Q
        {{bibref|802.1Q-2005}} bridges. Not all 802.1D and 802.1Q features are
        modeled, and some additional features not present in either 802.1D or
        802.1Q are modeled. If the Layer2Bridging object is implemented, the
        view that it provides of the CPE's underlying bridging configuration
        MUST be consistent with the view provided by any LANDevice and
        WAN**Connection objects. The implications of this are explained in
        Annex A.6.
      </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="MaxDBridgeEntries" access="readOnly"
          dmr:previousParameter="MaxBridgeEntries">
        <description>
          The maximum number of 802.1D {{bibref|802.1D-2004}} entries available
          in the {{object|Bridge}} table. A positive value for this parameter
          implies support for 802.1D. There is no guarantee that this many
          802.1D Bridges can be configured. For example, the CPE might not be
          able simultaneously to support both 802.1D and 802.1Q Bridges.
        </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>

      <parameter name="MaxQBridgeEntries" access="readOnly">
        <description>
          The maximum number of 802.1Q {{bibref|802.1Q-2005}} entries available
          in the {{object|Bridge}} table. A positive value for this parameter
          implies support for 802.1Q. There is no guarantee that this many
          802.1Q Bridges can be configured. For example, the CPE might not be
          able simultaneously to support both 802.1D and 802.1Q Bridges.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxVLANEntries" access="readOnly">
        <description>
          The maximum number of 802.1Q {{bibref|802.1Q-2005}} VLANs supported
          per {{object|Bridge}} table entry.
        </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. Each entry in this table represents a single physical
        802.1D {{bibref|802.1D-2004}} or 802.1Q {{bibref|802.1Q-2005}} bridge.
        If the Bridge Port table is supported, it explicitly defines the
        Bridge's interfaces. Otherwise, they are implicitly defined via the
        union of the FilterInterface / MarkingInterface parameters for all the
        Filter and Marking table entries that are associated with the Bridge.
      </description>
      <uniqueKey>
        <parameter ref="BridgeKey"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="BridgeKey" access="readOnly">
        <description>
          Unique key for each Bridge table entry.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BridgeStandard" access="readWrite"
          dmr:previousParameter="BridgeKey">
        <description>
          Selects the standard supported by this Bridge table entry.
        </description>
        <syntax>
          <string>
            <enumeration value="802.1D">
              <description>{{bibref|802.1D-2004}}</description>
            </enumeration>
            <enumeration value="802.1Q">
              <description>{{bibref|802.1Q-2005}}</description>
            </enumeration>
          </string>
          <default type="object" value="802.1D"/>
        </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>
          For an 802.1D {{bibref|802.1D-2004}} Bridge, which has no concept of
          VLANs, the value of this parameter MUST be 0. For an 802.1Q
          {{bibref|802.1Q-2005}} Bridge, this is the Bridge's default VLAN ID,
          i.e. the VLAN ID that applies to Filter table entries with
          ''VLANIDFilter''=-1. For an 802.1Q Bridge, the value of this
          parameter MUST NOT be 0.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="4094"/>
          </unsignedInt>
          <default type="object" value="0" status="deleted"/>
        </syntax>
      </parameter>

      <parameter name="PortNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the Bridge {{object|Port}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="VLANNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the Bridge {{object|VLAN}} table.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Bridge.{i}.Port.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="PortNumberOfEntries" enableParameter="PortEnable">
      <description>
        Bridge Port table. If this table is supported, it MUST contain an entry
        for each Bridge Port.
      </description>
      <uniqueKey>
        <parameter ref="PortInterface"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="PortEnable" access="readWrite">
        <description>
          Enables or disables this Bridge Port table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="PortEnable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="PortInterface" access="readWrite">
        <description>
          The interface associated with this Bridge Port table entry.
          Represents a bridge port as defined in 802.1D {{bibref|802.1D-2004}}
          and 802.1Q {{bibref|802.1Q-2005}}. To associate this Bridge Port with
          an interface listed in the ''AvailableInterface'' table, the
          {{param}} value is set to the value of the corresponding
          ''AvailableInterfaceKey''.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="PortState" access="readOnly">
        <description>
          Bridge Port state as defined in 802.1D {{bibref|802.1D-2004}} and
          802.1Q {{bibref|802.1Q-2005}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Blocking"/>
            <enumeration value="Listening"/>
            <enumeration value="Learning"/>
            <enumeration value="Forwarding"/>
            <enumeration value="Broken"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="PVID" access="readWrite">
        <description>
          Default Port VLAN ID as defined in 802.1Q {{bibref|802.1Q-2005}}. For
          an 802.1D {{bibref|802.1D-2004}} Bridge, this parameter MUST be
          ignored.
        </description>
        <syntax>
          <int>
            <range minInclusive="1" maxInclusive="4094"/>
          </int>
          <default type="object" value="1"/>
        </syntax>
      </parameter>

      <parameter name="AcceptableFrameTypes" access="readWrite">
        <description>
          Bridge Port acceptable frame types as defined in 802.1Q
          {{bibref|802.1Q-2005}}. {{enum}} For an 802.1D {{bibref|802.1D-2004}}
          Bridge, the value of this parameter MUST be {{enum|AdmitAll}}.
        </description>
        <syntax>
          <string>
            <enumeration value="AdmitAll"/>
            <enumeration value="AdmitOnlyVLANTagged" optional="true"/>
            <enumeration value="AdmitOnlyPrioUntagged" optional="true"/>
          </string>
          <default type="object" value="AdmitAll"/>
        </syntax>
      </parameter>

      <parameter name="IngressFiltering" access="readWrite">
        <description>
          Enables or disables Ingress Filtering as defined in 802.1Q
          {{bibref|802.1Q-2005}}. For an 802.1D {{bibref|802.1D-2004}} Bridge,
          the value of this parameter MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLAN.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VLANNumberOfEntries" enableParameter="VLANEnable">
      <description>
        Bridge VLAN table. If this table is supported, if MUST contain an entry
        for each VLAN known to the Bridge. This table only applies to an 802.1Q
        {{bibref|802.1Q-2005}} Bridge.
      </description>
      <uniqueKey>
        <parameter ref="VLANID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="VLANEnable" access="readWrite">
        <description>
          Enables or disables this VLAN table entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="VLANEnable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="VLANName" access="readWrite">
        <description>
          Human-readable name for this VLAN table entry.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANID" access="readWrite">
        <description>
          VLAN ID of the entry,
        </description>
        <syntax>
          <int>
            <range minInclusive="1" maxInclusive="4094"/>
          </int>
        </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.

        For both 802.1D {{bibref|802.1D-2004}} and 802.1Q
        {{bibref|802.1Q-2005}} Bridges, this table is used for the following:

        # If the Bridge Port table is not supported, it implicitly specifies
          the Bridge interfaces (in collaboration with the Marking table).

        # It specifies destination MAC address classification rules. For an
          802.1Q Bridge, this table is also used for the following:

        # For each VLAN ID, it specifies the interfaces that are in the VLAN's
          Member Set.

        # If the Bridge Port table is not supported, it specifies the Port VLAN
          ID (PVID) for each interface. This table also supports several
          concepts that are not covered by either 802.1D or 802.1Q:

        # It allows a given packet to be admitted to multiple Bridges.

        # It supports Ethertype and source MAC address classification rules.
      </description>
      <uniqueKey>
        <parameter ref="FilterKey"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

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

          If the Bridge Port table is supported, but none of its entries
          correspond to {{param|FilterInterface}}, or if such an entry exists
          but is disabled, {{param}} MUST NOT indicate {{enum|Enabled}}. If the
          Bridge VLAN table is supported, but none of its entries correspond to
          {{param|VLANIDFilter}}, or if such an entry exists but is disabled,
          {{param}} MUST NOT indicate {{enum|Enabled}}.
        </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 (OPTIONAL). 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 and updates the
          association between layer 3 and layer 2 objects implied by the
          ''InternetGatewayDevice'' object hierarchy. Support for Non-Exclusive
          Filter entries, i.e. entries with an {{param}} value of 0, is
          OPTIONAL because 802.1D {{bibref|802.1D-2004}} and 802.1Q
          {{bibref|802.1Q-2005}} do not consider the case of a packet
          potentially being admitted to more than one bridge.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0" status="deleted"/>
        </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 the 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''). This value is DEPRECATED because of the
            configuration complexity it requires.

          * ''LANInterfaces'' indicates that this Filter is associated with all
            LAN interfaces listed in the ''AvailableInterface'' table (all
            entries of ''InterfaceType'' ''LANInterface''). This value is
            DEPRECATED because of the configuration complexity it requires.

          * ''WANInterfaces'' indicates that this Filter is associated with all
            WAN interfaces listed in the ''AvailableInterface'' table (all
            entries of ''InterfaceType'' ''WANInterface''). This value is
            DEPRECATED because of the configuration complexity it requires.
            {{empty}} indicates the Filter table entry is not associated with
            any interface (and has no effect)
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="VLANIDFilter" access="readWrite">
        <description>
          The 802.1Q {{bibref|802.1Q-2005}} VLAN ID associated with this Filter
          table entry. A value of -1 indicates that the default VLAN ID for the
          Bridge MUST be used instead (as specified by
          {{param|InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLANID}} for
          the Bridge table entry associated with this Filter table entry). For
          an 802.1Q bridge, the value of this parameter MUST NOT be 0, and it
          is interpreted as follows (more than one condition can apply, e.g. a
          single Filter table entry might both add an interface to a VLAN's
          Member Set, and define a classification rule).

          # If the Bridge Port table is not supported, it is a candidate to be
            the 802.1Q Port VLAN ID (PVID) for the interface associated with
            this Filter. Where there is more than one such candidate for a
            given interface, the PVID MUST be selected according to the
            {{param|ExclusivityOrder}} precedence rules.

          # The interface associated with this Filter is added to the VLAN's
            802.1Q Member Set.

          # If a classification parameter, e.g.
            {{param|DestMACAddressFilterList}}, is specified, a classification
            rule for this VLAN ID is added. For an 802.1D
            {{bibref|802.1D-2004}} Bridge, which has no concept of VLANs, the
            VLAN ID MUST be 0. This is most easily achieved by allowing this
            parameter to retain its default value of -1 and relying on the fact
            that the default VLAN ID for an 802.1D bridge will always be 0.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4094"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="AdmitOnlyVLANTagged" access="readWrite"
          status="deprecated">
        <description>
          802.1Q {{bibref|802.1Q-2005}} Acceptable Frame Types criterion. This
          parameter is DEPRECATED, because it only partly models 802.1Q
          Acceptable Frame Types (and Ingress Filtering). The Bridge Port table
          SHOULD be used instead and, if supported, MUST take precedence over
          this parameter. If {{true}}, the Bridge admits only packets tagged
          with VLAN IDs that include the ingress interface in their 802.1Q
          Member Sets. If {{false}}, the Bridge admits both packets tagged with
          VLAN IDs that include the ingress interface in their 802.1Q Member
          Sets, and any Untagged or PriorityOnly packets. All Untagged or
          PriorityOnly packets are associated on ingress with the interface's
          Port VLAN ID (PVID). See the description of {{param|VLANIDFilter}}
          for an explanation of how the Member Set and PVID are determined. If
          more than one Filter table entry is associated with a given
          interface, the value of {{param}} MUST be the same for all such
          entries. For an 802.1D {{bibref|802.1D-2004}} Bridge, which has no
          concept of VLANs, the value of this parameter MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="EthertypeFilterList" access="readWrite">
        <description>
          Classification criterion. {{list|each representing an Ethertype
          value}} Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on Ethertype.
        </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.

          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on Ethertype.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACAddressFilterList" access="readWrite">
        <description>
          Classification criterion. {{list|each representing a MAC Address}}
          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'' Note that neither 802.1D {{bibref|802.1D-2004}}
          nor 802.1Q {{bibref|802.1Q-2005}} support classification based on
          source MAC address.
        </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.

          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on source MAC
          address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACAddressFilterList" access="readWrite">
        <description>
          Classification criterion. {{list|each representing a MAC Address}}
          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>
          Classification criterion. 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 its DHCP Vendor Class
          Identifier (Option 60 as defined in RFC 2132 {{bibref|RFC2132}}) in
          the most recent DHCP lease acquisition or renewal matches the
          specified value according to the match criterion in
          SourceMACFromVendorClassIDMode. Case sensitive. Note that neither
          802.1D {{bibref|802.1D-2004}} nor 802.1Q {{bibref|802.1Q-2005}}
          support classification based on source MAC address.
        </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.

          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on source MAC
          address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromVendorClassIDFilter" access="readWrite">
        <description>
          Classification criterion. 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 its DHCP Vendor Class
          Identifier (Option 60 as defined in RFC 2132 {{bibref|RFC2132}}) in
          the most recent DHCP lease acquisition or renewal matches the
          specified value according to the match criterion in
          {{param|DestMACFromVendorClassIDMode}}. Case sensitive.
        </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="DestMACFromVendorClassIDMode" access="readWrite"
          dmr:previousParameter="DestMACFromVendorClassIDFilterExclude">
        <description>
          {{param|DestMACFromVendorClassIDFilter}} pattern match criterion.
          {{enum}} For example, if {{param|DestMACFromVendorClassIDFilter}} is
          ''Example'' then an Option 60 value of "Example device" will match
          with {{param}} values of {{enum|Prefix}} or {{enum|Substring}}, but
          not with {{enum|Exact}} or {{enum|Suffix}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </syntax>
      </parameter>

      <parameter name="SourceMACFromClientIDFilter" access="readWrite">
        <description>
          Classification criterion. 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 its DHCP Client Identifier
          (Option 61 as defined in RFC 2132 {{bibref|RFC2132}}) in the most
          recent DHCP lease acquisition or renewal was equal to the specified
          value. The option value is binary, so an exact match is REQUIRED.
          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on source MAC
          address.
        </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.

          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on source MAC
          address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromClientIDFilter" access="readWrite">
        <description>
          Classification criterion. 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 its DHCP Client Identifier
          (Option 61 as defined in RFC 2132 {{bibref|RFC2132}}) in the most
          recent DHCP lease acquisition or renewal was equal to the specified
          value. The option value is binary, so an exact match is REQUIRED.
        </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>
          Classification criterion. 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 its DHCP User Class
          Identifier (Option 77 as defined in RFC 3004 {{bibref|RFC3004}}) in
          the most recent DHCP lease acquisition or renewal was equal to the
          specified value. Note that neither 802.1D {{bibref|802.1D-2004}} nor
          802.1Q {{bibref|802.1Q-2005}} support classification based on source
          MAC address.
        </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.

          Note that neither 802.1D {{bibref|802.1D-2004}} nor 802.1Q
          {{bibref|802.1Q-2005}} support classification based on source MAC
          address.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="DestMACFromUserClassIDFilter" access="readWrite">
        <description>
          Classification criterion. 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 its DHCP User Class
          Identifier (Option 77 as defined in RFC 3004 {{bibref|RFC3004}}) 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>

      <parameter name="SourceMACFromVendorClassIDMode" access="readWrite">
        <description>
          {{param|SourceMACFromVendorClassIDFilter}} pattern match criterion.
          {{enum}} For example, if {{param|SourceMACFromVendorClassIDFilter}}
          is "Example" then an Option 60 value of "Example device" will match
          with {{param}} values of {{enum|Prefix}} or {{enum|Substring}}, but
          not with {{enum|Exact}} or {{enum|Suffix}}. Note that neither 802.1D
          {{bibref|802.1D-2004}} nor 802.1Q {{bibref|802.1Q-2005}} support
          classification based on source MAC address.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </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. This table is not
        relevant to 802.1D {{bibref|802.1D-2004}} Bridges, which are not
        VLAN-aware. For 802.1Q {{bibref|802.1Q-2005}} Bridges, this table is
        used for the following:

        # It specifies whether VLAN tags are to be removed on egress. This
          table also supports several concepts that are not covered by 802.1Q:

        # It allows the VLAN ID to be changed on egress.

        # It allows the Ethernet Priority to be changed on egress.
      </description>
      <uniqueKey>
        <parameter ref="MarkingKey"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

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

          If the Bridge Port table is supported, but none of its entries
          correspond to {{param|MarkingInterface}}, or if such an entry exists
          but is disabled, {{param}} MUST NOT indicate {{enum|Enabled}}.
        </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 the 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''). This value is DEPRECATED
            because of the configuration complexity it requires.

          * ''LANInterfaces'' indicates that this Marking table entry is
            associated with all LAN interfaces listed in the
            ''AvailableInterface'' table (all entries of ''InterfaceType''
            ''LANInterface''). This value is DEPRECATED because of the
            configuration complexity it requires.

          * ''WANInterfaces'' indicates that this Marking table entry is
            associated with all WAN interfaces listed in the
            ''AvailableInterface'' table (all entries of ''InterfaceType''
            ''WANInterface''). This value is DEPRECATED because of the
            configuration complexity it requires.

          * {{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>
            <size maxLength="16"/>
          </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 sent Untagged. If {{false}}, on egress
          to the interfaces associated with this Marking table entry, all
          packets are sent Tagged with the VLAN ID of the VLAN in which the
          packet is being bridged.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDMark" access="readWrite">
        <description>
          The 802.1Q {{bibref|802.1Q-2005}} VLAN ID to be used on egress to the
          interfaces associated with this Marking table entry. A value of -1
          indicates that the VLAN ID of the VLAN in which the packet is being
          bridged is to be used, i.e. no change. The value of this parameter
          MUST NOT be 0. If {{param|VLANIDUntag}} is {{true}}, then no VLAN
          marking is done since the tag containing the VLAN ID is removed. Note
          that 802.1Q does not support re-marking on egress.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="4094"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D {{bibref|802.1D-2004}})
          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. Note that 802.1Q {{bibref|802.1Q-2005}} does not
          support re-marking on egress.
        </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. Note that 802.1Q {{bibref|802.1Q-2005}}
          does not support re-marking on egress.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="VLANIDMarkOverride" access="readWrite">
        <description>
          If {{false}}, on egress to the interfaces associated with this
          Marking table entry, the {{param|VLANIDMark}}, if specified, is
          applied only to PriorityOnly packets. If {{true}}, on egress to the
          interfaces associated with this Marking table entry, the
          {{param|VLANIDMark}}, if specified, is to be applied to all packets
          on this Bridge. If {{param|VLANIDUntag}} is {{true}}, then no VLAN
          marking is done since the tag containing the VLAN ID is removed. Note
          that 802.1Q {{bibref|802.1Q-2005}} does not support re-marking on
          egress.
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <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>
          {{reference|an available LAN or WAN interface}} This table SHOULD
          contain a single entry for each available LAN and WAN interface. When
          such an interface is modeled in more than one place within the data
          model, the value of this parameter MUST include the full hierarchical
          parameter names of all of the corresponding objects. For example, if
          a given Ethernet interface is present within two ''LANDevice''
          instances, the value of this parameter might be:
          ''InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.1,
          InternetGatewayDevice.LANDevice.2.LANEthernetInterfaceConfig.1'' Note
          that the remainder of the parameter description does not refer to the
          possibility that the parameter value is a comma-separated list.
          Nevertheless, the above requirement does apply.

          * 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.LANEthernetInterfaceConfig.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>
          <list>
            <size maxLength="256"/>
          </list>
          <string>
            <size maxLength="256" status="deleted"/>
            <pathRef refType="strong" targetType="row"/>
          </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="QueueStatsNumberOfEntries" access="readOnly"
          dmr:previousParameter="QueueNumberOfEntries">
        <description>
          The number of entries in the {{object|QueueStats}} 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="DefaultTrafficClass" access="readWrite"
          dmr:previousParameter="DefaultForwardingPolicy">
        <description>
          Identifier of the traffic class associated with traffic not
          associated with any specified classifier. A value of -1 indicates a
          null traffic class.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </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.

          A value of 0xffffffff (-1) indicates a null queue (permitted in data
          model versions 1.4 and later).
        </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"
        enableParameter="ClassificationEnable">
      <description>
        Classification table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="ClassificationStatus">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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.

          The value on creation of a Classification table entry MUST be one
          greater than the largest current value.
        </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 {{bibref|RFC2132}}, matched according to the criterion in
          {{param|SourceVendorClassIDMode}}. Case sensitive. {{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="SourceVendorClassIDMode" access="readWrite"
          dmr:previousParameter="SourceVendorClassIDExclude">
        <description>
          SourceVendorClassID pattern match criterion. {{enum}} For example, if
          {{param|SourceVendorClassID}} is "Example" then an Option 60 value of
          "Example device" will match with {{param}} values of {{enum|Prefix}}
          or {{enum|Substring}}, but not with {{enum|Exact}} or
          {{enum|Suffix}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </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 {{bibref|RFC2132}}, matched according to the criterion in
          {{param|DestVendorClassIDMode}}. Case sensitive. {{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="DestVendorClassIDMode" access="readWrite"
          dmr:previousParameter="DestVendorClassIDExclude">
        <description>
          DestVendorClassID pattern match criterion. {{enum}} For example, if
          {{param|DestVendorClassID}} is "Example" then an Option 60 value of
          "Example device" will match with {{param}} values of {{enum|Prefix}}
          or {{enum|Substring}}, but not with {{enum|Exact}} or
          {{enum|Suffix}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </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 {{bibref|RFC2132}}. The option value is binary, so an exact
          match is REQUIRED. {{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 {{bibref|RFC2132}}. The option value is binary, so an exact
          match is REQUIRED. {{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 {{bibref|RFC3004}}. {{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 {{bibref|RFC3004}}. {{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="SourceVendorSpecificInfo" access="readWrite"
          dmr:previousParameter="DestUserClassIDExclude">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Vendor-specific Information (Option 125) as defined
          in RFC 3925 {{bibref|RFC3925}}, matched according to the criteria in
          {{param|SourceVendorSpecificInfoEnterprise}},
          {{param|SourceVendorSpecificInfoSubOption}} and
          {{param|SourceVendorSpecificInfoMode}}. Case sensitive. {{empty}}
          indicates this criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </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
          {{bibref|RFC2474}}). 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="OutOfBandInfo" access="readWrite"
          dmr:previousParameter="VLANIDExclude">
        <description>
          Classification criterion. Allows traffic to be distinguished based on
          out-of-band information such as physical port or application ID.
          Primarily intended for, but not restricted to, locally sourced
          traffic. If specified, this entry applies to traffic with matching
          out-of-band information. 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="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="TrafficClass" access="readWrite"
          dmr:previousParameter="ForwardingPolicy">
        <description>
          Classification result. Identifier of the traffic class associated
          with traffic that falls in this classification. If specified, at
          least one Queue table entry MUST include this traffic class in its
          ''TrafficClass'' parameter (which is a comma-separated list). A value
          of -1 indicates a null traffic class. {{param}}, {{param|ClassQueue}}
          and {{param|ClassApp}} are mutually exclusive and one of the three
          MUST be specified. If {{param}} and {{param|ClassQueue}} are 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="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|TrafficClass}}, {{param}} and {{param|ClassApp}}
          are mutually exclusive and one of the three MUST be specified. If
          {{param|TrafficClass}} and {{param}} are 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|TrafficClass}}, {{param|ClassQueue}}
          and {{param}} are mutually exclusive and one of the three MUST be
          specified. If {{param|TrafficClass}} and {{param|ClassQueue}} are
          null, {{param}} MUST be specified, and vice versa.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorSpecificInfoExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets sourced from LAN
          devices that match the {{param|SourceVendorSpecificInfo}} entry, if
          specified. If {{true}}, the class includes all packets except those
          sourced from LAN devices that match the
          {{param|SourceVendorSpecificInfo}} entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorSpecificInfoEnterprise" access="readWrite">
        <description>
          {{param|SourceVendorSpecificInfo}} Enterprise Number as defined in
          RFC 3925 {{bibref|RFC3925}}. The default value (0) is assigned to
          IANA and will probably need to be replaced with an appropriate
          enterprise number.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorSpecificInfoSubOption" access="readWrite">
        <description>
          {{param|SourceVendorSpecificInfo}} Sub Option Code as defined in RFC
          3925 {{bibref|RFC3925}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="0" maxInclusive="255"/>
          </int>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="SourceVendorSpecificInfoMode" access="readWrite">
        <description>
          {{param|SourceVendorSpecificInfo}} pattern match criterion.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorSpecificInfo" access="readWrite">
        <description>
          Classification criterion. Used to identify one or more LAN devices,
          value of the DHCP Vendor-specific Information (Option 125) as defined
          in RFC 3925 {{bibref|RFC3925}}, matched according to the criteria in
          {{param|DestVendorSpecificInfoEnterprise}},
          {{param|DestVendorSpecificInfoSubOption}} and
          {{param|DestVendorSpecificInfoMode}}. {{empty}} indicates this
          criterion is not used for classification.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DestVendorSpecificInfoExclude" access="readWrite">
        <description>
          If {{false}}, the class includes only those packets destined for LAN
          devices that match the {{param|DestVendorSpecificInfo}} entry, if
          specified. If {{true}}, the class includes all packets except those
          destined for LAN devices that match the
          {{param|DestVendorSpecificInfo}} entry, if specified.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorSpecificInfoEnterprise" access="readWrite">
        <description>
          {{param|DestVendorSpecificInfo}} Enterprise Number as defined in RFC
          3925 {{bibref|RFC3925}}. The default value (0) is assigned to IANA
          and will probably need to be replaced with an appropriate enterprise
          number.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorSpecificInfoSubOption" access="readWrite">
        <description>
          {{param|DestVendorSpecificInfo}} Sub Option Code as defined in RFC
          3925 {{bibref|RFC3925}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="0" maxInclusive="255"/>
          </int>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DestVendorSpecificInfoMode" access="readWrite">
        <description>
          {{param|DestVendorSpecificInfo}} pattern match criterion.
        </description>
        <syntax>
          <string>
            <enumeration value="Exact"/>
            <enumeration value="Prefix"/>
            <enumeration value="Suffix"/>
            <enumeration value="Substring"/>
          </string>
          <default type="object" value="Exact"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.QueueManagement.App.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AppNumberOfEntries" enableParameter="AppEnable">
      <description>
        Application table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="AppStatus">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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="AppDefaultTrafficClass" access="readWrite"
          dmr:previousParameter="AppDefaultForwardingPolicy">
        <description>
          Identifier of the traffic class associated with traffic associated
          with this App table entry, but not associated with any specified
          flow. A value of -1 indicates a null traffic class. {{param}} and
          {{param|AppDefaultQueue}} MUST NOT both be specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </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.

          {{param|AppDefaultTrafficClass}} and {{param}} MUST NOT both be
          specified.
        </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" enableParameter="FlowEnable">
      <description>
        Flow table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="FlowStatus">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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="FlowTrafficClass" access="readWrite"
          dmr:previousParameter="FlowForwardingPolicy">
        <description>
          Identifier of the traffic class associated with this flow. A value of
          -1 indicates a null traffic class. {{param}} and {{param|FlowQueue}}
          MUST NOT both be specified.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
          <default type="object" value="-1"/>
        </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.

          {{param|FlowTrafficClass}} and {{param}} MUST NOT both be specified.
        </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"
        enableParameter="PolicerEnable">
      <description>
        Policer table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="PolicerStatus">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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 {{bibref|RFC2697}}. {{enum|TwoRateThreeColor}}
          makes use of {{param|CommittedRate}}, {{param|CommittedBurstSize}},
          {{param|PeakRate}}, and {{param|PeakBurstSize}} as defined in RFC
          2698 {{bibref|RFC2698}}.
        </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 (and only the {{pattern|Count}} action)
          increases the meter instance count statistics in the
          {{param|CountedPackets}} and {{param|CountedBytes}} parameters.
          {{pattern|Count}} actions are DEPRECATED because they can not be
          combined with other actions, e.g. marking actions. ''&lt;DSCP
          Value&gt;'' is an unsigned integer that corresponds with a mark
          action overwriting the traffic's DSCP with the configured DSCP.
          ''&lt;:Ethernet Priority&gt;'' is a colon (":") followed by an
          unsigned integer (no white space). It corresponds with a mark action
          overwriting the traffic's Ethernet Priority with the configured
          Ethernet Priority. ''&lt;DSCP Value:Ethernet Priority&gt;'' is an
          unsigned integer followed by a colon (":") and a second unsigned
          integer (no white space). It corresponds with a mark action
          overwriting the traffic's DSCP and Ethernet Priority with the
          configured values. For example, "24" specifies a DSCP value of 24,
          ":3" specifies an Ethernet Priority of 3, and "24:3" specifies both.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count" status="deprecated"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
            <pattern value=":[0-7]">
              <description>&lt;Ethernet Priority&gt;</description>
            </pattern>
            <pattern value="([0-9]|[1-5][0-9]|6[0-3]):[0-7]">
              <description>&lt;DSCP Value:Ethernet Priority&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 (and only the {{pattern|Count}}
          action) increases the meter instance count statistics in the
          {{param|CountedPackets}} and {{param|CountedBytes}} parameters.
          {{pattern|Count}} actions are DEPRECATED because they can not be
          combined with other actions, e.g. marking actions. ''&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. ''&lt;:Ethernet Priority&gt;'' is a
          colon (":") followed by an unsigned integer (no white space). It
          corresponds with a mark action overwriting the traffic's Ethernet
          Priority with the configured Ethernet Priority. ''&lt;DSCP
          Value:Ethernet Priority&gt;'' is an unsigned integer followed by a
          colon (":") and a second unsigned integer (no white space). It
          corresponds with a mark action overwriting the traffic's DSCP and
          Ethernet Priority with the configured values. For example, "24"
          specifies a DSCP value of 24, ":3" specifies an Ethernet Priority of
          3, and "24:3" specifies both.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count" status="deprecated"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
            <pattern value=":[0-7]">
              <description>&lt;Ethernet Priority&gt;</description>
            </pattern>
            <pattern value="([0-9]|[1-5][0-9]|6[0-3]):[0-7]">
              <description>&lt;DSCP Value:Ethernet Priority&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 (and only the {{pattern|Count}} action)
          increases the meter instance count statistics in the
          {{param|CountedPackets}} and {{param|CountedBytes}} parameters.
          {{pattern|Count}} actions are DEPRECATED because they can not be
          combined with other actions, e.g. marking actions. ''&lt;DSCP
          Value&gt;'' is an unsigned integer that corresponds with a mark
          action overwriting the traffic's DSCP with the configured DSCP.
          ''&lt;:Ethernet Priority&gt;'' is a colon (":") followed by an
          unsigned integer (no white space). It corresponds with a mark action
          overwriting the traffic's Ethernet Priority with the configured
          Ethernet Priority. ''&lt;DSCP Value:Ethernet Priority&gt;'' is an
          unsigned integer followed by a colon (":") and a second unsigned
          integer (no white space). It corresponds with a mark action
          overwriting the traffic's DSCP and Ethernet Priority with the
          configured values. For example, "24" specifies a DSCP value of 24,
          ":3" specifies an Ethernet Priority of 3, and "24:3" specifies both.
        </description>
        <syntax>
          <string>
            <pattern value="Null"/>
            <pattern value="Drop"/>
            <pattern value="Count" status="deprecated"/>
            <pattern value="[0-9]|[1-5][0-9]|6[0-3]">
              <description>&lt;DSCP Value&gt;</description>
            </pattern>
            <pattern value=":[0-7]">
              <description>&lt;Ethernet Priority&gt;</description>
            </pattern>
            <pattern value="([0-9]|[1-5][0-9]|6[0-3]):[0-7]">
              <description>&lt;DSCP Value:Ethernet Priority&gt;</description>
            </pattern>
          </string>
          <default type="object" value="Drop"/>
        </syntax>
      </parameter>

      <parameter name="CountedPackets" access="readOnly"
          activeNotify="canDeny" status="deprecated">
        <description>
          Number of Packets counted as result of a ''Count'' meter action. This
          parameter is DEPRECATED because the ''Count'' meter action is
          DEPRECATED.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="CountedBytes" access="readOnly" activeNotify="canDeny"
          status="deprecated">
        <description>
          Number of Bytes counted as result of a ''Count'' meter action. This
          parameter is DEPRECATED because the ''Count'' meter action is
          DEPRECATED.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="TotalCountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Packets counted by this policer, regardless of meter
          action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="TotalCountedBytes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of Bytes counted by this policer, regardless of meter
          action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ConformingCountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of conforming Packets counted by this policer, regardless of
          meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ConformingCountedBytes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of conforming Bytes counted by this policer, regardless of
          meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PartiallyConformingCountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of partially conforming Packets counted by this policer,
          regardless of meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="PartiallyConformingCountedBytes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of partially conforming Bytes counted by this policer,
          regardless of meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="NonConformingCountedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of non-conforming Packets counted by this policer, regardless
          of meter action.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="NonConformingCountedBytes" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of non-conforming Bytes counted by this policer, regardless of
          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"
        enableParameter="QueueEnable">
      <description>
        Queue table.

        This table can contain hardware queues. The CPE MAY refuse to allow
        hardware queues to be deleted.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="QueueStatus">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="TrafficClasses" access="readWrite"
          dmr:previousParameter="QueueStatus">
        <description>
          Identifies the set of traffic classes associated with this queue. If
          this list is empty then traffic can be sent to this queue only as a
          result of a direct reference from a Classification, App or Flow table
          entry, e.g. via the Classification table's ''ClassQueue'' parameter.
          If this list is non-empty then traffic can additionally be sent to
          this queue if a Classification, App or Flow table entry specifies a
          traffic class, e.g. via the Classification table's ''TrafficClass''
          parameter. If more than one queue on a given egress interface is
          associated with a given traffic class, the implementation will choose
          which queue to send traffic of this class to.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <unsignedInt/>
          <default type="object" value=""/>
        </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. For example, for packets destined for a WAN DSL
          interface, if the egress will be on a PPP or IP link with a specified
          ''ShapingRate'', the percentage is calculated relative to this rate.
          Otherwise, if the ATM layer is rate-constrained, then the rate is
          calculated relative to this rate. Otherwise, the rate is calculated
          relative to the physical-layer DSL rate.
        </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.QueueManagement.QueueStats.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="QueueStatsNumberOfEntries"
        enableParameter="Enable">
      <description>
        Queue statistics table. This table is managed by the ACS, which will
        create entries only for those {Queue, Interface} combinations for which
        statistics are to be collected.
      </description>
      <uniqueKey>
        <parameter ref="Queue"/>
        <parameter ref="Interface"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this object.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this object.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled">
              <description>Enabled and {Queue,Interface} is valid</description>
            </enumeration>
            <enumeration value="Error">
              <description>
                Enabled but {Queue,Interface} is invalid
              </description>
            </enumeration>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Status">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Queue" access="readWrite">
        <description>
          Instance number of the Queue table entry with which this object is
          associated.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          Egress interface for which this object contains statistics. This
          parameter MUST be the full hierarchical parameter name of the
          particular ''WANDevice'', ''WANConnectionDevice'',
          ''WAN**Connection'', ''LANDevice'', ''LAN**InterfaceConfig'', or
          ''WLANConfiguration'' object.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="OutputPackets" access="readOnly" activeNotify="canDeny">
        <description>
          Number of packets output through the queue.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="OutputBytes" access="readOnly" activeNotify="canDeny">
        <description>
          Number of bytes output through the queue.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DroppedPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of packets dropped by the queue.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="DroppedBytes" access="readOnly" activeNotify="canDeny">
        <description>
          Number of bytes dropped by the queue.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="QueueOccupancyPackets" access="readOnly"
          activeNotify="canDeny">
        <description>
          Queue occupancy in packets (gives a measure of queue latency).
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="QueueOccupancyPercentage" access="readOnly"
          activeNotify="canDeny">
        <description>
          Queue occupancy as a percentage, i.e. 100 * queue occupancy in bytes
          / queue size in bytes (gives a measure of queue usage).
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </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|RFC862}} 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|RFC862}} 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>

    <object name="InternetGatewayDevice.CaptivePortal." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to the captive portal
        configuration on the CPE. The captive portal configuration defines the
        CPE's WAN-destined HTTP (port 80) traffic redirect behavior. When the
        captive portal is disabled, WAN-destined HTTP (port 80) traffic MUST be
        permitted to all destinations. When the captive portal is enabled,
        WAN-destined HTTP (port 80) traffic MUST be permitted only to
        destinations listed in the {{param|AllowedList}}; traffic to all other
        destinations MUST be redirected to the {{param|CaptivePortalURL}}.
      </description>

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

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the captive portal. {{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_URLEmpty">
              <description>
                {{param|CaptivePortalURL}} is {{empty}}
              </description>
            </enumeration>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AllowedList" access="readWrite">
        <description>
          IP addresses to which HTTP (port 80) traffic MUST always be
          permitted, regardless of whether the captive portal is enabled. Each
          entry in the list MUST be either an IP address or an IP subnet
          specified using variable length subnet mask (VLSM) syntax. An IP
          subnet is specified as an IP address followed (with no intervening
          white space) by "/n", where n is an integer in the range 0-32; this
          is equivalent to a subnet mask consisting of n 1s followed by 32
          minus n 0s. For example, 1.2.3.4 specifies a single IP address, and
          1.2.3.4/24 specifies a class C subnet with subnet mask 255.255.255.0.
          The maximum length of a single entry (plus comma) is 19 characters so
          10000 bytes is sufficient for more than 500 IP addresses and/or IP
          subnets.
        </description>
        <syntax>
          <list>
            <size maxLength="10000"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="CaptivePortalURL" access="readWrite">
        <description>
          Captive portal URL to which WAN-destined HTTP (port 80) traffic to
          destinations not listed in the {{param|AllowedList}} will be
          redirected. The captive portal URL MUST be an HTTP (not HTTPS) URL.
          The CPE MUST permit the captive portal URL to be set to {{empty}},
          which has the effect of disabling the captive portal (if
          {{param|Enable}} is {{true}} and the captive portal URL is {{empty}},
          {{param|Status}} MUST be {{enum|Error_URLEmpty|Status}}).
        </description>
        <syntax>
          <string>
            <size maxLength="2000"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.TraceRouteDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object is defines access to an IP-layer trace-route test for the
        specified 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 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.
        </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_MaxHopCountExceeded" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference|the WAN or LAN IP-layer interface over which the test is
          to be performed}} This identifies the source IP address to use when
          performing the test. 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''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </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="NumberOfTries" access="readWrite">
        <description>
          Number of tries per hop. Set prior to running Diagnostic. By default,
          the CPE SHOULD set this value to 3.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="3"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in milliseconds for the trace route test. By default the CPE
          SHOULD set this value to 5000.
        </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. By
          default, the CPE SHOULD set this value to 38.
        </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 0.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxHopCount" access="readWrite">
        <description>
          The maximum number of hop used in outgoing probe packets (max TTL).
          By default the CPE SHOULD set this value to 30.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="64"/>
          </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="RouteHopsNumberOfEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of entries in the {{object|RouteHops}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.TraceRouteDiagnostics.RouteHops.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="RouteHopsNumberOfEntries" dmr:noUniqueKeys="true">
      <description>
        Contains the array of results returned. If a route could not be
        determined, this array will be empty
      </description>

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

      <parameter name="HopHostAddress" access="readOnly"
          activeNotify="canDeny">
        <description>
          If this parameter is not {{empty}} it will contain the last IP
          address of the host returned for this hop and the {{param|HopHost}}
          will contain the Host Name returned from the reverse DNS query.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HopErrorCode" access="readOnly" activeNotify="canDeny">
        <description>
          Contains the error code returned for this hop This code is directly
          from the ICMP CODE field.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HopRTTimes" access="readOnly" activeNotify="canDeny">
        <description>
          Contains one or more round trip times in milliseconds (one for each
          repetition) for this hop.
        </description>
        <syntax>
          <list>
            <size maxLength="16"/>
          </list>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANInterfaces." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains LAN-side layer 1/2 interfaces that are not
        currently connected to the Gateway's IP router and which therefore do
        not currently reside within a ''LANDevice'' instance.
      </description>

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

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

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

    <object
        name="InternetGatewayDevice.LANInterfaces.LANEthernetInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANEthernetInterfaceNumberOfEntries">
      <description>
        This object models an Ethernet LAN connection on a CPE device. The
        object definition is identical to that for
        {{object|InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.LANInterfaces.LANUSBInterfaceConfig.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANUSBInterfaceNumberOfEntries">
      <description>
        This object models a USB LAN connection on a CPE device. The object
        definition is identical to that for
        {{object|InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.LANInterfaces.WLANConfiguration.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LANWLANConfigurationNumberOfEntries">
      <description>
        This object models an 802.11 LAN connection on a CPE device. The object
        definition is identical to that for
        {{object|InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.User.{i}." access="readWrite"
        numEntriesParameter="UserNumberOfEntries" enableParameter="Enable"
        minEntries="0" maxEntries="unbounded">
      <description>
        This object contains parameters relating to the user characteristics.
      </description>
      <uniqueKey>
        <parameter ref="Username"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables/disables this user object instance. If the User being
          configured is currently accessing the device then a disable MUST
          apply to the next user session and the current user session MUST NOT
          be abruptly terminated.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="RemoteAccessCapable" access="readWrite">
        <description>
          Allows this user to remotely access the UserInterface via the
          mechanism defined in {{object|.UserInterface.RemoteAccess.}}
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Name of the current user. MUST NOT be {{empty}} for an enabled entry.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          The user's password.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Language" access="readWrite">
        <description>
          String describing the default language for the local configuration
          interface, specified according to {{bibref|RFC3066}}. If {{empty}},
          {{param|.UserInterface.CurrentLanguage}} is used.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains all UPnP related objects and parameters including
        Device and Discovery related objects and parameters.
      </description>
    </object>

    <object name="InternetGatewayDevice.UPnP.Device." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object defines the UPnP devices and UPnP services that are
        implemented by the CPE.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables/Disables UPnP support.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPMediaServer" access="readWrite">
        <description>
          Enables/Disables UPnP Media Server.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPMediaRenderer" access="readWrite">
        <description>
          Enables/Disables UPnP Media Renderer.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPWLANAccessPoint" access="readWrite">
        <description>
          Enables/Disables UPnP Wireless Access Point.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPQoSDevice " access="readWrite">
        <description>
          Enables/Disables UPnP QoS Device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPQoSPolicyHolder" access="readWrite">
        <description>
          Enables/Disables UPnP QoS Policy Holder.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPIGD" access="readWrite">
        <description>
          Enables/Disables UPnP IGD.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMBasicMgmt" access="readWrite">
        <description>
          Enables/Disables UPnP-DM Basic Management.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMConfigurationMgmt" access="readWrite">
        <description>
          Enables/Disables UPnP-DM Configuration Management.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMSoftwareMgmt" access="readWrite">
        <description>
          Enables/Disables UPnP-DM Software Management.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Device.Capabilities."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object defines what UPnP capabilities this device has.
      </description>

      <parameter name="UPnPArchitecture" access="readOnly">
        <description>
          Numeric value indicating the major version of the supported UPnP
          architecture. If UPnP 1.1 is supported the value is 1. If UPnP 2.0 is
          supported the value is 2. A value of 0 indicates no UPnP support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPArchitectureMinorVer" access="readOnly"
          dmr:previousParameter="UPnPArchitecture">
        <description>
          Numeric value indicating the minor version of the supported UPnP
          architecture. If UPnP 1.1 is supported the value is 1. If UPnP 2.0 is
          supported the value is 0. If {{param|UPnPArchitecture}} is 0 then
          this parameter SHOULD be ignored.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPMediaServer" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Media
          Server. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPMediaRenderer" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Media
          Renderer. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPWLANAccessPoint" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Wireless
          Access Point. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPBasicDevice" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Basic
          Device. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPQoSDevice" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Qos Device.
          A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPQoSPolicyHolder" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP Qos Policy
          Holder. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPIGD" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP IGD. A value
          of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMBasicMgmt" access="readOnly"
          dmr:previousParameter="UPnPIGD">
        <description>
          Numeric value indicating the supported revision for UPnP-DM Basic
          Management. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMConfigurationMgmt" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP-DM
          Configuration Management. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UPnPDMSoftwareMgmt" access="readOnly">
        <description>
          Numeric value indicating the supported revision for UPnP-DM Software
          Management. A value of 0 indicates no support.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Discovery." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        UPnP {{bibref|UPnP-DAv1}} SSDP discovered root devices, embedded
        devices and embedded services. The CPE MAY, but need not, retain some
        or all of the information in this object across reboots.
      </description>

      <parameter name="RootDeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ServiceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Discovery.RootDevice.{i}."
        access="readOnly" numEntriesParameter="RootDeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        UPnP root device table. This table contains an entry for each UPnP root
        device that has been discovered via SSDP.
      </description>
      <uniqueKey>
        <parameter ref="UUID"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the UPnP root device. {{enum}} The ability to list
          inactive UPnP root devices is OPTIONAL. The length of time an
          inactive device remains listed in this table is a local matter to the
          CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="LeaseActive">
              <description>
                Device is active and UPnP lease has not expired.
              </description>
            </enumeration>
            <enumeration value="LeaseExpired">
              <description>
                Device is inactive because UPnP lease has expired.
              </description>
            </enumeration>
            <enumeration value="ByebyeReceived">
              <description>
                Device is inactive because byebye message was received.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="UUID" access="readOnly">
        <description>
          This UPnP root device's UUID (Universally Unique IDentifier)
          {{bibref|RFC4122}}, extracted from any of its USN (Unique Service
          Name) headers. This is a 36-byte string that uniquely identifies the
          device, the following is an example:

          : ''02c29d2a-dbfd-2d91-99c9-306d537e9856'' {{pattern}}
        </description>
        <syntax>
          <string>
            <size maxLength="36"/>
            <pattern
                value="[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="USN" access="readOnly">
        <description>
          The value of the USN (Unique Service Name) header for this UPnP root
          device. Three discovery messages are sent for root devices, and this
          SHOULD be the value of the USN header of the following form:

          : ''uuid:device-UUID::urn:domain-name:device:deviceType:v'' SSDP is
            an unreliable protocol and it is possible that no discovery message
            containing the USN header of the above form was ever received. If
            so, one of the other two forms MAY be used:

          : ''uuid:device-UUID::upnp:rootdevice''

          : ''uuid:device-UUID'' (for root device UUID)
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LeaseTime" access="readOnly">
        <description>
          The UPnP root device lease time in {{units}}, extracted from the
          CACHE-CONTROL header.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Location" access="readOnly">
        <description>
          The value of the LOCATION header for this UPnP root device, which is
          the URL of the root device's DDD (Device Description Document).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Server" access="readOnly">
        <description>
          The value of the SERVER header for this UPnP root device, which is a
          string of the following form:

          : ''OS/version UPnP/udaversion product/version'' where '''UPnP''' is
            a literal string, '''udaversion''' is the version of the UPnP
            Device Architecture.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} Indicates the full path names of all Host table entries,
          whether active or inactive, that correspond to this UPnP root device.
          As such entries are added to or removed from the Host tables, the
          value of this parameter MUST be updated accordingly.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastUpdate" access="readOnly">
        <description>
          The date and time at which the last advertisement from this
          {{object}} was received.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Discovery.Device.{i}."
        access="readOnly" numEntriesParameter="DeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        UPnP embedded device table. This table contains an entry for each UPnP
        embedded device that has been discovered via SSDP.
      </description>
      <uniqueKey>
        <parameter ref="UUID"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the UPnP embedded device. {{enum}} The ability to list
          inactive UPnP embedded devices is OPTIONAL. The length of time an
          inactive device remains listed in this table is a local matter to the
          CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="LeaseActive">
              <description>
                Device is active and UPnP lease has not expired.
              </description>
            </enumeration>
            <enumeration value="LeaseExpired">
              <description>
                Device is inactive because UPnP lease has expired.
              </description>
            </enumeration>
            <enumeration value="ByebyeReceived">
              <description>
                Device is inactive because byebye message was received.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="UUID" access="readOnly">
        <description>
          This UPnP embedded device's UUID (Universally Unique IDentifier)
          {{bibref|RFC4122}}, extracted from any of its USN (Unique Service
          Name) headers. This is a 36-byte string that uniquely identifies the
          device, the following is an example:

          : ''02c29d2a-dbfd-2d91-99c9-306d537e9856'' {{pattern}}
        </description>
        <syntax>
          <string>
            <size maxLength="36"/>
            <pattern
                value="[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="USN" access="readOnly">
        <description>
          The value of the USN (Unique Service Name) header for this UPnP
          embedded device. Two discovery messages are sent for embedded
          devices, and this SHOULD be the value of the USN header of the
          following form:

          : ''uuid:device-UUID::urn:domain-name:device:deviceType:v'' SSDP is
            an unreliable protocol and it is possible that no discovery message
            containing the USN header of the above form was ever received. If
            so, the other form MAY be used:

          : ''uuid:device-UUID''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LeaseTime" access="readOnly">
        <description>
          The UPnP embedded device lease time in {{units}}, extracted from the
          CACHE-CONTROL header.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Location" access="readOnly">
        <description>
          The value of the LOCATION header for this UPnP embedded device, which
          is the URL of the root device's DDD (Device Description Document).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Server" access="readOnly">
        <description>
          The value of the SERVER header for this UPnP embedded device, which
          is a string of the following form:

          : ''OS/version UPnP/udaversion product/version'' where '''UPnP''' is
            a literal string, '''udaversion''' is the version of the UPnP
            Device Architecture.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} Indicates the full path names of all Host table entries,
          whether active or inactive, that correspond to this UPnP embedded
          device. As such entries are added to or removed from the Host tables,
          the value of this parameter MUST be updated accordingly.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastUpdate" access="readOnly">
        <description>
          The date and time at which the last advertisement from this
          {{object}} was received.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Discovery.Service.{i}."
        access="readOnly" numEntriesParameter="ServiceNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        UPnP embedded service table. This table contains an entry for each UPnP
        embedded service that has been discovered via SSDP.
      </description>
      <uniqueKey>
        <parameter ref="USN"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the UPnP embedded service. {{enum}} The ability to list
          inactive UPnP embedded services is OPTIONAL. The length of time an
          inactive service remains listed in this table is a local matter to
          the CPE.
        </description>
        <syntax>
          <string>
            <enumeration value="LeaseActive">
              <description>
                Service is active and UPnP lease has not expired.
              </description>
            </enumeration>
            <enumeration value="LeaseExpired">
              <description>
                Service is inactive because UPnP lease has expired.
              </description>
            </enumeration>
            <enumeration value="ByebyeReceived">
              <description>
                Service is inactive because byebye message was received.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="USN" access="readOnly">
        <description>
          The value of the USN (Unique Service Name) header for this UPnP
          embedded service. This is of the following form:

          : ''uuid:device-UUID::urn:domain-name:service:serviceType:v''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LeaseTime" access="readOnly">
        <description>
          The UPnP embedded service lease time in {{units}}, extracted from the
          CACHE-CONTROL header.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Location" access="readOnly">
        <description>
          The value of the LOCATION header for this UPnP embedded service,
          which is the URL of the root device's DDD (Device Description
          Document).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Server" access="readOnly">
        <description>
          The value of the SERVER header for this UPnP embedded service, which
          is a string of the following form:

          : ''OS/version UPnP/udaversion product/version'' where '''UPnP''' is
            a literal string, '''udaversion''' is the version of the UPnP
            Device Architecture.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} Indicates the full path names of all Host table entries,
          whether active or inactive, that correspond to this UPnP embedded
          service. As such entries are added to or removed from the Host
          tables, the value of this parameter MUST be updated accordingly.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastUpdate" access="readOnly">
        <description>
          The date and time at which the last advertisement from this
          {{object}} was received.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ParentDevice" access="readOnly">
        <description>
          {{reference|the {{object|#.RootDevice}} or {{object|#.Device}} table
          entries that embeds this {{object}}}} This parameter is populated by
          extracting the "device-UUID" from the service's USN and matching the
          value against the root device or embedded device UUID value.
        </description>
        <syntax>
          <string>
            <pathRef
                refType="strong"
                targetParent="
                  #.RootDevice.
                  #.Device."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Description." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains information from the Description Document
        discovered from the UPnP Devices and Services.
      </description>

      <parameter name="DeviceDescriptionNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DeviceInstanceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ServiceInstanceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.UPnP.Description.DeviceDescription.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DeviceDescriptionNumberOfEntries">
      <description>
        This table contains information read from the Device Description
        Document of discovered root devices. The CPE MAY, but need not, retain
        some or all of the information in this table after the associated SSDP
        advertisement (objects in the UPnP.Discovery. object tables) expires.
        In case the SSDP advertisement expires and the CPE deletes the related
        instances from the tables in UPnP.Discovery., the reference to such
        instances MUST be set to the empty string.
      </description>
      <uniqueKey>
        <parameter ref="URLBase"/>
      </uniqueKey>

      <parameter name="URLBase" access="readOnly">
        <description>
          The value extracted from the URLBase element in the Device
          Description Document of the discovered root device. If the URLBase
          element in the root device's Device Description Document is empty or
          absent, the URL from which the device description was retrieved (e.g.
          the LOCATION from the SSDP message) is utilized as the URLBase. Note:
          the URLBase element is not recommended by {{bibref|UPnP-DAv1}} and is
          not permitted by {{bibref|UPnP-DAv11}}, so the value of {{param}}
          will usually be the URL from which the device description was
          retrieved.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecVersion" access="readOnly">
        <description>
          The UPnP Device Architecture version extracted from the specVersion
          element in the Device Description Document of the discovered root
          device. The {{param}} is encoded as "major revison.minor revision".
          {{pattern}}
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pattern value="\d+\.\d+"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} {{reference|the Host table entries associated with the root
          device from which the device description was retrieved|ignore}}
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef
                refType="strong"
                targetParent="
                  .LANDevice.{i}.Hosts.Host.
                  .Hosts.Host."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Description.DeviceInstance.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DeviceInstanceNumberOfEntries">
      <description>
        This table contains the information from Device Description Document
        retrieved for a discovered UPnP root or embedded device.
      </description>
      <uniqueKey>
        <parameter ref="UDN"/>
      </uniqueKey>

      <parameter name="UDN" access="readOnly">
        <description>
          Unique Device Name of this device represented as a UUID for the
          device. This value is extracted from the UDN element in the Device
          Description Document with the leading uuid: removed.
        </description>
        <syntax>
          <dataType ref="UUID"/>
        </syntax>
      </parameter>

      <parameter name="ParentDevice" access="readOnly">
        <description>
          {{reference|a {{object}} table entry (if this is an embedded device)
          or {{empty}} (if this is a root device)}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.DeviceInstance."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiscoveryDevice" access="readOnly">
        <description>
          {{reference|a {{object|##.Discovery.RootDevice}} table entry (if this
          is a root device) or a {{object|##.Discovery.Device}} table entry (if
          this is an embedded device)}} This {{param}} value can be {{empty}}
          because the referenced object has been deleted or the CPE was unable
          to retrieve the Description Document due to some out-of-band error.
          The determination to delete this {{object}} or use {{empty}} is
          implementation specific.
        </description>
        <syntax>
          <string>
            <pathRef
                refType="strong"
                targetParent="
                  ##.Discovery.Device.
                  ##.Discovery.RootDevice."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceType" access="readOnly">
        <description>
          The value of the UPnP deviceType element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="FriendlyName" access="readOnly">
        <description>
          The value of the UPnP friendlyName element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceCategory" access="readOnly"
          dmr:previousParameter="FriendlyName">
        <description>
          Each list item is the value of an element in the Device Description
          Document for this {{object}} that indicates a device category (e.g.
          "AV_TV" and "AV_Recorder"), or the value is {{empty}} if no such
          element is provided by the device. Note: It is assumed that the
          ''htip:X_DeviceCategory'' Device Description Document element is used
          for HTIP (Home-network Topology Identifying Protocol)
          {{bibref|JJ-300.00}} and {{bibref|G.9973}}. Standard HTIP device
          categories are defined in {{bibref|JJ-300.01}}. In this case, the
          maximum length of the list is 127 and of each item is 31, and any
          non-HTIP device categories SHOULD NOT conflict with standard HTIP
          device categories. Note: {{param}} is different from
          {{param|DeviceType}} and is included here for the purpose of HTIP
          usage.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Manufacturer" access="readOnly">
        <description>
          The value of the UPnP manufacturer element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManufacturerOUI" access="readOnly"
          dmr:previousParameter="Manufacturer">
        <description>
          The value of an element in the Device Description Document for this
          {{object}} that indicates the manufacturer OUI if this value is
          provided by the device; or {{empty}} if this value is not provided by
          the device. {{pattern}} Note: It is assumed that the
          ''htip:X_ManufacturerOUI'' element is used for HTIP (Home-network
          Topology Identifying Protocol) {{bibref|JJ-300.00}} and
          {{bibref|G.9973}}.
        </description>
        <syntax>
          <string>
            <size minLength="0" maxLength="6"/>
            <pattern value=""/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManufacturerURL" access="readOnly">
        <description>
          The value of the UPnP manufacturerURL element in the Device
          Description Document for this {{object}}, or {{empty}} if this value
          is not provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelDescription" access="readOnly">
        <description>
          The value of the UPnP modelDescription element in the Device
          Description Document for this {{object}}, or {{empty}} if this value
          is not provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelName" access="readOnly">
        <description>
          The value of the UPnP modelName element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelNumber" access="readOnly">
        <description>
          The value of the UPnP modelNumber element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModelURL" access="readOnly">
        <description>
          The value of the UPnP modelURL element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          The value of the UPnP serialNumber element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the device.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="UPC" access="readOnly">
        <description>
          The value of the UPnP UPC element in the Device Description Document
          for this {{object}}, or {{empty}} if this value is not provided by
          the device.
        </description>
        <syntax>
          <string>
            <size maxLength="12"/>
          </string>
        </syntax>
      </parameter>

      <parameter access="readOnly" name="PresentationURL">
        <description>
          The value of the UPnP presentationURL element in the Device
          Description Document for this {{object}} and MUST be an absolute URL.
          The way to obtain an absolute URL from the presentationURL element is
          specified in {{bibref|UPnP-DAv1}} and {{bibref|UPnP-DAv11}}. If the
          presentationURL is not provided by the device then this value MUST be
          {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.UPnP.Description.ServiceInstance.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ServiceInstanceNumberOfEntries">
      <description>
        This table contains the information from Device Description Document
        retrieved for a discovered UPnP service.
      </description>
      <uniqueKey>
        <parameter ref="ParentDevice"/>
        <parameter ref="ServiceId"/>
      </uniqueKey>

      <parameter name="ParentDevice" access="readOnly">
        <description>
          {{reference|a {{object|#.DeviceInstance}} table entry}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.DeviceInstance."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServiceId" access="readOnly">
        <description>
          The value of the UPnP serviceId element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the service. If the UPnP serviceId is not provided by the
          UPnP service, this {{object}} MUST be deleted.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServiceDiscovery" access="readOnly">
        <description>
          {{reference|a {{object|##.Discovery.Service}} table entry}} This
          {{param}} value can be {{empty}} because the referenced object has
          been deleted or the CPE was unable to retrieve the Description
          Document due to some out-of-band error. The determination to delete
          this {{object}} or use {{empty}} is implementation specific.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="##.Discovery.Service."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServiceType" access="readOnly">
        <description>
          The value of the UPnP serviceType element in the Device Description
          Document for this {{object}}, or {{empty}} if this value is not
          provided by the service.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SCPDURL" access="readOnly">
        <description>
          The value of the UPnP SCPDURL element in the Device Description
          Document for this {{object}} and MUST be an absolute URL. The way to
          obtain an absolute URL from the SCPDURL element is specified in
          {{bibref|UPnP-DAv1}} and {{bibref|UPnP-DAv11}}. If the SCPDURL is not
          provided by the device then this value MUST be {{empty}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ControlURL" access="readOnly">
        <description>
          The value of the UPnP controlURL element in the Device Description
          Document for this {{object}} and MUST be an absolute URL. The way to
          obtain an absolute URL from the controlURL element is specified in
          {{bibref|UPnP-DAv1}} and {{bibref|UPnP-DAv11}}. If the controlURL is
          not provided by the device then this value MUST be {{empty}}
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="EventSubURL" access="readOnly">
        <description>
          The value of the UPnP eventSubURL element in the Device Description
          Document for this {{object}} and MUST be an absolute URL. The way to
          obtain an absolute URL from the eventSubURLL element is specified in
          {{bibref|UPnP-DAv1}} and {{bibref|UPnP-DAv11}}. If the eventSubURL is
          not provided by the device then this value MUST be {{empty}}
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DLNA." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains all DLNA related objects and parameters.
      </description>
    </object>

    <object name="InternetGatewayDevice.DLNA.Capabilities." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        DLNA capabilities.
      </description>

      <parameter name="HNDDeviceClass" access="readOnly">
        <description>
          {{list}} Indicates the supported DLNA Home Network Device Classes
          {{bibref|DLNA-NDIG|Table 4-1}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DeviceCapability" access="readOnly">
        <description>
          {{list}} Indicates the supported DLNA Device Capabilities
          {{bibref|DLNA-NDIG|Table 4-2}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HIDDeviceClass" access="readOnly">
        <description>
          {{list}} Indicates the supported DLNA Home Infrastructure Device
          Classes {{bibref|DLNA-NDIG|Table 4-4}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ImageClassProfileID" access="readOnly">
        <description>
          {{list}} Indicates the DLNA Image Class Profile IDs supported by this
          device, from Tables 5-2 and 5-3 of {{bibref|DLNA-NDIG}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AudioClassProfileID" access="readOnly">
        <description>
          {{list}} Indicates the DLNA Audio Class Profile IDs supported by this
          device, from Tables 5-4 through 5-10 of {{bibref|DLNA-NDIG}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="AVClassProfileID" access="readOnly">
        <description>
          {{list}} Indicates the DLNA AV Class Profile IDs supported by this
          device, from Tables 5-11 through 5-15 of {{bibref|DLNA-NDIG}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MediaCollectionProfileID" access="readOnly">
        <description>
          {{list}} Indicates the DLNA Media Collection Profile IDs supported by
          this device {{bibref|DLNA-NDIG|Table 5-16}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PrinterClassProfileID" access="readOnly">
        <description>
          {{list}} Indicates the DLNA Printer Class Profile IDs supported by
          this device {{bibref|DLNA-NDIG|Table 5-17}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SmartCardReader.{i}."
        access="readOnly" numEntriesParameter="SmartCardReaderNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        This object describes the characteristics of the smart card reader.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

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

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this smart card reader.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled">
              <description>
                Indicates the smart card reader is enabled and functioning
                properly.
              </description>
            </enumeration>
            <enumeration value="Error">
              <description>
                Indicates the smart card reader is enabled and not functioning
                properly.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this smart card reader.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}}, resets the SmartCard Reader and the associated
          SmartCard.
        </description>
        <syntax hidden="true">
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ResetTime" access="readOnly">
        <description>
          The time at which this SmartCard Reader was reset. Reset can be
          caused by:

          * {{param|Status}} transition from Disabled to Enabled

          * {{param|Reset}} set to {{true}}.

          * An internal reset of the SmartCard Reader (including a reboot of
            the device). Unknown Time value indicates that this SmartCard
            Reader has never been reset, which can only happen if it has never
            been enabled.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="DecryptionFailedCounter" access="readOnly"
          activeNotify="canDeny">
        <description>
          Counter incremented once each time decryption cannot be carried out.
          This counter relates to the smart card reader, not to the smart card
          itself, i.e. it is reset when the {{param|Reset}} parameter is used
          and not when a Smart Card is inserted or removed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecryptionFailedNoKeyCounter" access="readOnly"
          activeNotify="canDeny">
        <description>
          Counter incremented once each time the key is not available to
          decrypt it. This is a subset of the more general
          {{param|DecryptionFailedCounter}} within the same object and thus
          will always be less than that parameter. This counter relates to the
          smart card reader, not to the smart card itself, i.e. it is reset
          when the {{param|Reset}} parameter is used and not when a Smart Card
          is inserted or removed.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SmartCardReader.{i}.SmartCard."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Status of currently associated smart card.
      </description>

      <parameter name="Status" access="readOnly">
        <description>
          Status of the Smart Card.
        </description>
        <syntax>
          <string>
            <enumeration value="None">
              <description>
                Indicates that no Smart Card is inserted.
              </description>
            </enumeration>
            <enumeration value="Running">
              <description>
                Indicates a Smart Card is present and working normally.
              </description>
            </enumeration>
            <enumeration value="Error">
              <description>
                Indicates the Smart Card is present and in an error condition.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Smart Card Type. {{enum}} Vendors can extend the enumerated values
          with vendor specific extensions, in which case the rules outlined in
          {{bibref|TR-106a2|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <string>
            <enumeration value="CA"/>
            <enumeration value="DRM"/>
            <enumeration value="UICC"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Application" access="readOnly">
        <description>
          {{list}} Indicates Smart Card Application(s). {{param}} is only
          relevant when {{param|Type}} has a value of UICC, otherwise it is
          {{empty}}. {{enum}} Vendors can extend the enumerated values with
          vendor specific extensions, in which case the rules outlined in
          {{bibref|TR-106a2|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="SIM"/>
            <enumeration value="USIM"/>
            <enumeration value="ISIM"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          The Smart Card Serial Number or {{empty}} if the Smart Card serial
          Number is not available, e.g. in the case of IPTV due to restrictions
          of the Service Delivery Platform.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ATR" access="readOnly">
        <description>
          The Smart Card answer to a reset action. Issued by the Smart Card
          upon reset.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SelfTestDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This diagnostics test is vendor-specific and MAY include testing
        hardware, software, and/or firmware.
      </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 DiagnosticsState to Requested.
          When requested, the CPE SHOULD wait until after completion of the
          communication session with the ACS before starting the diagnostic.
          When the test is completed, the value of this parameter MUST be
          either {{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_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Results" access="readOnly" activeNotify="canDeny">
        <description>
          Results of self-test (vendor specific).
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.NSLookupDiagnostics."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object defines access to an IP-layer NS Lookup test for the
        specified IP interface. When initiated, the NS Lookup test will contact
        {{param|DNSServer}} and look up {{param|HostName}}
        {{param|NumberOfRepetitions}} times. There will be a {{object|Result}}
        instance for each time the device performs a DNS lookup, which is
        determined by the value of {{param|NumberOfRepetitions}}. Any previous
        {{object|Result}} instances are removed when a new test is initiated.
      </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 DiagnosticsState 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_DNSServerNotResolved" access="readOnly">
              <description>Unable to resolve DNSServer Name</description>
            </enumeration>
            <enumeration value="Error_Internal" access="readOnly"/>
            <enumeration value="Error_Other" access="readOnly"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Interface" access="readWrite">
        <description>
          {{reference}} This parameter specifies the IP-layer interface over
          which the test is to be performed (i.e. the source IP address to use
          when performing the test). If {{empty}} is specified, the CPE MUST
          use its routing policy (Forwarding table entries), if necessary, to
          determine the appropriate interface.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HostName" access="readWrite">
        <description>
          Specifies the Host Name that NS Lookup is to look for. The current
          domain name MUST be used unless the name is a fully qualified name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DNSServer" access="readWrite">
        <description>
          Specifies the DNS Server name or IP address that NS Lookup is to use
          for the lookup. The name of this server will be resolved using the
          default DNS server unless an IP address is provided. If {{empty}} is
          specified, the device's default DNS server will be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Timeout" access="readWrite">
        <description>
          Timeout in {{units}} that indicates that a request has failed.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="NumberOfRepetitions" access="readWrite">
        <description>
          The number of times the device SHOULD repeat the execution of the
          NSLookup using the same input parameters. If the diagnostics test
          fails the CPE MAY terminate the test without completing the full
          number of repetitions. Each repetition will use a Result instance to
          hold the NSLookup result data.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SuccessCount" access="readOnly" activeNotify="canDeny">
        <description>
          Number of successfully executed repetitions.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ResultNumberOfEntries" access="readOnly"
          activeNotify="canDeny">
        <description>
          {{numentries}} Total number of Result entries from the most recent
          invocation of the test.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.NSLookupDiagnostics.Result.{i}."
        access="readOnly" numEntriesParameter="ResultNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true">
      <description>
        Results from the most recent invocation of the test, one instance per
        repetition.
      </description>

      <parameter name="Status" access="readOnly" activeNotify="canDeny">
        <description>
          Result Parameter to represent whether the NS Lookup was successful or
          not. Errors for individual Result instances do not get bubbled up to
          {{param|#.DiagnosticsState}}. A failure on a specific attempt does
          not mean that the overall test failed, but a failure on all attempts
          means that {{param|#.DiagnosticsState}} SHOULD be
          {{enum|Error_Other|#.DiagnosticsState}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Success"/>
            <enumeration value="Error_DNSServerNotAvailable"/>
            <enumeration value="Error_HostNameNotResolved"/>
            <enumeration value="Error_Timeout"/>
            <enumeration value="Error_Other"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AnswerType" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter to represent whether the answer is Authoritative or
          not.
        </description>
        <syntax>
          <string>
            <enumeration value="None">
              <description>
                Indicates that the NS Lookup failed to find the host.
              </description>
            </enumeration>
            <enumeration value="Authoritative"/>
            <enumeration value="NonAuthoritative"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HostNameReturned" access="readOnly"
          activeNotify="canDeny">
        <description>
          Result parameter to represent the fully qualified name for the Host
          Name in the calling parameter (e.g. HostName.DomainName); if no
          response was provided, then this parameter is {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="IPAddresses" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} Indicates the IP Address results returned by the NS Lookup;
          if no response was provided, then this parameter is {{empty}}.
        </description>
        <syntax>
          <list maxItems="10"/>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DNSServerIP" access="readOnly" activeNotify="canDeny">
        <description>
          Result parameter to represent the actual DNS Server IP address that
          the NS Lookup used.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ResponseTime" access="readOnly" activeNotify="canDeny">
        <description>
          Response time (for the first response packet) in {{units}}, or 0 if
          no response was received.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Firewall." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Firewall configuration object.
      </description>

      <parameter name="Config" access="readWrite">
        <description>
          How this firewall is configured. {{enum}} Vendors can extend the
          enumerated values with vendor specific extensions, in which case the
          rules outlined in {{bibref|TR-106a2|Section 3.3}} MUST be adhered to.
        </description>
        <syntax>
          <string>
            <enumeration value="High">
              <description>
                The firewall implements the "Traffic Denied Inbound" and
                "Minimally Permit Common Services Outbound" components of the
                ICSA residential certification's Required Services Security
                Policy {{bibref|ICSA-Residential}}. If DoS and vulnerability
                protections are implemented {{bibref|ICSA-Baseline}}, these are
                enabled.
              </description>
            </enumeration>
            <enumeration value="Low">
              <description>
                All Outbound traffic and pinhole-defined Inbound traffic is
                allowed. If DoS and vulnerability protections are implemented
                {{bibref|ICSA-Baseline}}, these are enabled.
              </description>
            </enumeration>
            <enumeration value="Off">
              <description>
                All Inbound and Outbound traffic is allowed, and the CPE is
                only protected by NAT settings (if supported and enabled). If
                DoS and vulnerability protections are implemented
                {{bibref|ICSA-Baseline}}, these are disabled.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          A string identifying the firewall settings version currently used in
          the CPE, or {{empty}} if the firewall settings are not associated
          with a version.
        </description>
        <syntax>
          <string>
            <size maxLength="16"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastChange" access="readOnly">
        <description>
          The time at which the firewall settings most recently changed.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.USBHosts." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object models the CPE's USB Host controllers. See
        {{bibref|TR-157|Appendix I}} for Theory of Operation.
      </description>

      <parameter name="HostNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.USBHosts.Host.{i}." access="readOnly"
        numEntriesParameter="HostNumberOfEntries" minEntries="0"
        maxEntries="unbounded">
      <description>
        Table of CPE USB Host controllers.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          User-readable host controller name.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Type of USB Host
        </description>
        <syntax>
          <string>
            <enumeration value="OHCI">
              <description>Open Host Controller Interface</description>
            </enumeration>
            <enumeration value="EHCI">
              <description>Enhanced Host Controller Interface</description>
            </enumeration>
            <enumeration value="UHCI">
              <description>Universal Host Controller Interface</description>
            </enumeration>
            <enumeration value="xHCI">
              <description>Extensible Host Controller Interface</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}}, reset the Host Controller and apply the reset
          signaling (see {{bibref|USB2.0|Chapter 7.1.7.5}}) to all of the Host
          Controller Hub downstream ports. The value is not saved in the
          device's state and setting it to {{false}} has no effect.
        </description>
        <syntax hidden="true">
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PowerManagementEnable" access="readWrite">
        <description>
          When set to {{true}}, {{param}} enables the Host Controller to invoke
          Power Management policy, i.e. controlled Suspend (see
          {{bibref|USB2.0}}, Chapters 4.3.2, 7.1.7.6, and 11.9). When set to
          {{false}} {{param}} immediately disables the Host controller Power
          Management policy.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="USBVersion" access="readOnly">
        <description>
          USB specification version with which the controller complies.
          Example: "1.1"
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}."
        access="readOnly" numEntriesParameter="DeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        Table of connected USB devices.
      </description>
      <uniqueKey>
        <parameter ref="DeviceNumber"/>
      </uniqueKey>

      <parameter name="DeviceNumber" access="readOnly">
        <description>
          Device number on USB bus.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="USBVersion" access="readOnly">
        <description>
          USB specification version with which the device complies. Example:
          "1.1"
        </description>
        <syntax>
          <string>
            <size maxLength="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DeviceClass" access="readOnly">
        <description>
          Class Code as assigned by USB-IF. When 0x00, each device specifies
          its own class code. When 0xFF, the class code is vendor specified.
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="DeviceSubClass" access="readOnly">
        <description>
          Subclass code (assigned by USB-IF).
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="DeviceVersion" access="readOnly">
        <description>
          Device release number.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DeviceProtocol" access="readOnly">
        <description>
          Protocol code (assigned by USB-IF).
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="ProductID" access="readOnly">
        <description>
          Product ID (assigned by manufacturer).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="VendorID" access="readOnly">
        <description>
          Vendor ID (assigned by USB-IF).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Manufacturer" access="readOnly">
        <description>
          Device Manufacturer string descriptor.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly">
        <description>
          Device Product Class string descriptor.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          Device SerialNumber string descriptor.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Port" access="readOnly">
        <description>
          Hub port on parent device. 0 when no parent.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Rate" access="readOnly">
        <description>
          Speed of the USB device. {{enum}} Internal signaling between the
          connected USB device and the USB Host Controller provide the
          information needed to determine the negotiated rate.
        </description>
        <syntax>
          <string>
            <enumeration value="Low">
              <description>
                1.5 Mbits/sec (187.5 KB/sec) defined in {{bibref|USB1.0}}
              </description>
            </enumeration>
            <enumeration value="Full">
              <description>
                12 Mbits/sec (1.5 MB/sec) defined in {{bibref|USB1.0}}
              </description>
            </enumeration>
            <enumeration value="High">
              <description>
                480 Mbits/sec (60 MB/sec) defined in {{bibref|USB2.0}}
              </description>
            </enumeration>
            <enumeration value="Super">
              <description>
                5.0 Gbits/sec (625 MB/sec) defined in {{bibref|USB3.0}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Parent" access="readOnly">
        <description>
          {{reference}} This is a reference to the parent USB device (e.g. hub
          device). This is {{empty}} for a device connected to the Host
          controller (root hub).
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.Device."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxChildren" access="readOnly">
        <description>
          Number of ports. Only applies for hub device, equal to 0 for other
          devices.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IsSuspended" access="readOnly">
        <description>
          When {{true}} the associated Device is in a suspended (i.e.
          low-power) state (see {{bibref|USB2.0|Chapter 11.9}}). When {{false}}
          the associated Device is in any of the other states specified by the
          USB 2.0 Device State Machine (see {{bibref|USB2.0|Chapter 9.1.1}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="IsSelfPowered" access="readOnly">
        <description>
          When {{true}} the associated device is at least partly powered by a
          local source (see {{bibref|USB2.0|Chapter 9.4.5}}). When {{false}}
          the associated device draws all the current it needs from the USB
          bus.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ConfigurationNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}.Configuration.{i}."
        access="readOnly" numEntriesParameter="ConfigurationNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        Table of device configurations.
      </description>
      <uniqueKey>
        <parameter ref="ConfigurationNumber"/>
      </uniqueKey>

      <parameter name="ConfigurationNumber" access="readOnly">
        <description>
          The identifier for each Device Configuration.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InterfaceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}."
        access="readOnly" numEntriesParameter="InterfaceNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        Table of device interface descriptors.
      </description>
      <uniqueKey>
        <parameter ref="InterfaceNumber"/>
      </uniqueKey>

      <parameter name="InterfaceNumber" access="readOnly">
        <description>
          Number of this interface (from USB interface descriptor).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="InterfaceClass" access="readOnly">
        <description>
          Class Code as assigned by USB-IF. When 0x00, each interface specifies
          its own class code. When 0xFF, the class code is vendor specified.
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="InterfaceSubClass" access="readOnly">
        <description>
          Subclass code (assigned by USB-IF).
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="InterfaceProtocol" access="readOnly">
        <description>
          Protocol code (assigned by USB-IF).
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="1"/>
          </hexBinary>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.PeriodicStatistics." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object configures collection of periodic statistics for the
        device. Periodic statistics are measured over a sample interval (which
        can be aligned with absolute time) and are made available to the ACS as
        a comma-separated list of the most recent &lt;n&gt; samples. This
        object provides a single set of global settings that affect the entire
        device unless overridden locally.
      </description>

      <parameter name="MinSampleInterval" access="readOnly">
        <description>
          Minimum sample interval in {{units}} that the CPE is able to support.
          A value of 0 indicates no specific minimum sample interval.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxReportSamples" access="readOnly">
        <description>
          Maximum number of samples of each statistic that the CPE is able to
          store and report. A value of 0 indicates no specific maximum number
          of samples.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SampleSetNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}."
        access="readWrite" numEntriesParameter="SampleSetNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded">
      <description>
        Periodic statistics sample set table. Each sample set has its own
        sample interval etc.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables collection of periodic statistics for this sample
          set. When collection of periodic statistics is enabled, any stored
          samples are discarded, and the first sample interval begins
          immediately.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates availability of Sample statistics. {{enum}} The
          {{enum|Trigger}} value is only used for triggering the ACS to fetch
          the collected data and can only be used when {{param|FetchSamples}}
          is in the range [1:{{param|ReportSamples}}]. The transition from
          {{enum|Enabled}} to {{enum|Trigger}} to {{enum|Enabled}} MUST be
          instantaneous and so will result in only a single value change for
          notification purposes.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>Collection is disabled.</description>
            </enumeration>
            <enumeration value="Enabled">
              <description>Collection is enabled.</description>
            </enumeration>
            <enumeration value="Trigger">
              <description>
                Collection is enabled and the ACS SHOULD now fetch the
                collected data.
              </description>
            </enumeration>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readWrite">
        <description>
          The name of this sample set, which uniquely distinguishes each sample
          set.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SampleInterval" access="readWrite">
        <description>
          The sample interval in {{units}}. Each statistic is measured over
          this sample interval. The CPE MAY reject a request to set {{param}}
          to less than {{param|.PeriodicStatistics.MinSampleInterval}}. Sample
          intervals MUST begin every {{param}} {{units}}, with no delay between
          samples. If {{param}} is changed while collection of periodic
          statistics is enabled, any stored samples are discarded, and the
          first sample interval begins immediately. For example, if
          {{param|ReportSamples}} is 24 and {{param}} is 3600 (an hour), the
          CPE can store up to a day's worth of samples for each statistic.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="3600"/>
        </syntax>
      </parameter>

      <parameter name="ReportSamples" access="readWrite">
        <description>
          The number of samples that the CPE will store and report for each
          statistic. The CPE MUST permit {{param}} to be set to at least
          {{param|.PeriodicStatistics.MaxReportSamples}}. If {{param}} is
          changed while collection of periodic statistics is enabled, the CPE
          will truncate or extend its statistics buffers as appropriate, but
          statistics collection MUST NOT otherwise be affected. For example, if
          {{param}} is 24 and {{param|SampleInterval}} is 3600 (an hour), the
          CPE can store up to a day's worth of samples for each statistic.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
          <default type="object" value="24"/>
        </syntax>
      </parameter>

      <parameter name="TimeReference" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when sample intervals
          will complete. Each sample interval MUST complete at this reference
          time plus or minus an integer multiple of {{param|SampleInterval}}.
          {{param}} is used only to set the "phase" of the sample and fetch
          intervals. The actual value of {{param}} can be arbitrarily far into
          the past or future. This time reference also determines when the
          {{param|Status}} {{enum|Enabled|Status}} to {{enum|Trigger|Status}}
          to {{enum|Enabled|Status}} transitions that are controlled by
          {{param|FetchSamples}} will occur. If collection of periodic
          statistics is enabled and {{param|FetchSamples}} is in the range
          [1:{{param|ReportSamples}}] then each such {{param|Status}}
          transition MUST occur at this reference time plus or minus an integer
          multiple of {{param|FetchSamples}} * {{param|SampleInterval}} (the
          fetch interval). If {{param}} is changed while collection of periodic
          statistics is enabled, any stored samples are discarded, and the
          first sample interval begins immediately. The Unknown Time value
          defined in {{bibref|TR-106a2}} indicates that no particular time
          reference is specified. That is, the CPE MAY locally choose the time
          reference, and is required only to adhere to the specified sample and
          fetch intervals. If absolute time is not available to the CPE, its
          sample and fetch interval behavior MUST be the same as if the
          {{param}} parameter was set to the Unknown Time value. For example,
          if {{param|SampleInterval}} is 3600 (an hour) and if {{param}} is set
          to UTC midnight on some day (in the past, present, or future) then
          sample intervals will complete on each UTC hour (00:00, 01:00, 02:00
          etc). If, in addition, {{param|FetchSamples}} is 24, then the fetch
          interval is 86400 (a day) and {{param|Status}}
          {{enum|Enabled|Status}} to {{enum|Trigger|Status}} to
          {{enum|Enabled|Status}} transitions will occur every day at UTC
          midnight. Note that, if {{param}} is set to a time other than the
          Unknown Time, the first sample interval (which has to begin
          immediately) will almost certainly be shorter than
          {{param|SampleInterval}}). This is why {{param}} is defined in terms
          of when sample intervals complete rather than start.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value="0001-01-01T00:00:00Z"/>
        </syntax>
      </parameter>

      <parameter name="FetchSamples" access="readWrite">
        <description>
          The number of sample intervals to be collected before transitioning
          {{param|Status}} from {{enum|Enabled|Status}} to
          {{enum|Trigger|Status}} to {{enum|Enabled|Status}}. If this SampleSet
          is enabled and {{param}} is in the range [1:{{param|ReportSamples}}]
          then {{param|Status}} MUST transition from {{enum|Enabled|Status}} to
          {{enum|Trigger|Status}} to {{enum|Enabled|Status}} on completion of
          every {{param}} sample intervals. Otherwise, the transition MUST NOT
          occur. For example, if {{param|ReportSamples}} is 25 and {{param}} is
          24, then the CPE will store 25 values for each monitored parameter
          and the above {{param|Status}} transition will occur as the CPE
          stores each 24th of 25 sample intervals, which means that the ACS
          could delay for up to two sample intervals before reading the stored
          values and would still not miss any samples (see also
          {{param|ForceSample}}). To disable this trigger mechanism and still
          collect sampled statistics, {{param}} can be set to either 0 or a
          value greater than {{param|ReportSamples}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ForceSample" access="readWrite">
        <description>
          When set to {{true}}, forces statistics for the current sample to be
          calculated and updated in the data model. Setting it to {{false}} has
          no effect. {{hidden}} If this is the first time that {{param}} has
          been set to {{true}} during the current sample interval, this MUST
          cause a new value to be added to each of the periodic statistics
          comma-separated list parameters, and the {{param|ReportEndTime}} and
          all {{param|SampleSeconds}} parameters MUST be updated accordingly.
          If this is not the first time that {{param}} has been set to {{true}}
          during the current sample interval, then the new values that were
          added as described in the previous paragraph, and the
          {{param|ReportEndTime}} and all {{param|SampleSeconds}} parameters,
          MUST be updated accordingly. Note that {{param}} just provides a
          "sneak preview" of the current sample. It does not create a new
          sample and it does not interfere with the sample interval schedule.
          At the end of each sample interval, if {{param}} was set to {{true}}
          during the sample interval then the new values that were added as
          described above, and the {{param|ReportEndTime}} and all
          {{param|SampleSeconds}} parameters, will be updated accordingly. In
          other words, the partial sample data that was created when {{param}}
          was set to {{true}} will be updated one last time at the end of the
          sample interval.
        </description>
        <syntax hidden="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="ReportStartTime" access="readOnly">
        <description>
          The absolute time at which the sample interval for the first stored
          sample (for each statistic) started.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ReportEndTime" access="readOnly">
        <description>
          The absolute time at which the sample interval for the last stored
          sample (for each statistic) ended. If {{param|ForceSample}} has been
          used to force statistics for the current sample to be calculated and
          updated in the data model, then {{param}} MUST be updated to reflect
          the actual time over which stored data was collected.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SampleSeconds" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} Each entry indicates the number of {{units}} during which
          data was collected during the sample interval. Individual {{param}}
          values can be less than {{param|SampleInterval}}, for several
          reasons, including:

          : {{param|TimeReference}} has been set to a time other than the
            Unknown Time and the current sample interval started part of the
            way through a scheduled sample interval.

          : {{param|ForceSample}} has been used to force statistics for the
            current sample to be calculated and updated in the data model.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ParameterNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}.Parameter.{i}."
        access="readWrite" numEntriesParameter="ParameterNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded">
      <description>
        Periodic statistics parameter table for this sample set. This table
        contains entries for parameters whose values are to be sampled. Note
        that the comma-separated lists in this object (SampleSeconds,
        SuspectData and Values) only ever change (a) when first enabled, (b)
        when ForceSample is set to true (a "sneak preview" of the current
        sample), or (c) at the end of the sample interval.
      </description>
      <uniqueKey>
        <parameter ref="Reference"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this object instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Reference" access="readWrite">
        <description>
          {{reference}} This is the parameter being monitored by the Periodic
          Statistics mechanism.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="parameter"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SampleMode" access="readWrite">
        <description>
          Controls how this parameter's value is sampled. {{enum}} Parameters
          of non-numeric types can only support {{enum|Current}}. The value of
          the {{param}} MUST be ignored for such parameters.
        </description>
        <syntax>
          <string>
            <enumeration value="Current">
              <description>Sampled value is current value</description>
            </enumeration>
            <enumeration value="Change">
              <description>
                Sampled value is change in value since start of sample interval
              </description>
            </enumeration>
          </string>
          <default type="object" value="Current"/>
        </syntax>
      </parameter>

      <parameter name="CalculationMode" access="readWrite">
        <description>
          Controls how this parameter's statistic is calculated from the
          sampled value(s). {{enum}} Parameters of non-numeric types can only
          support {{enum|Latest}}. The value of the {{param}} MUST be ignored
          for such parameters. {{param|SampleMode}} MUST be applied before
          {{param}}, i.e. the inputs to the calculation will have already
          accounted for {{param|SampleMode}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Latest">
              <description>
                Statistic is sampled value at end of sample interval
              </description>
            </enumeration>
            <enumeration value="Minimum">
              <description>
                Statistic is minimum sampled value during sample interval
              </description>
            </enumeration>
            <enumeration value="Maximum">
              <description>
                Statistic is maximum sampled value during sample interval
              </description>
            </enumeration>
            <enumeration value="Average">
              <description>
                Statistic is average (mean) sampled value during sample
                interval
              </description>
            </enumeration>
          </string>
          <default type="object" value="Latest"/>
        </syntax>
      </parameter>

      <parameter name="LowThreshold" access="readWrite">
        <description>
          The low threshold value that controls the calculation of
          {{param|Failures}}. A value equal to {{param|HighThreshold}} disables
          the threshold/failure mechanism. Parameters of non-numeric types
          cannot support the threshold/failure mechanism. The value of this
          parameter MUST be ignored for such parameters.
        </description>
        <syntax>
          <int/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="HighThreshold" access="readWrite">
        <description>
          The high threshold value that controls the calculation of
          {{param|Failures}}. A value equal to {{param|LowThreshold}} disables
          the threshold/failure mechanism. Parameters of non-numeric types
          cannot support the threshold/failure mechanism. The value of this
          parameter MUST be ignored for such parameters.
        </description>
        <syntax>
          <int/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="SampleSeconds" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} Each entry indicates the number of {{units}} during which
          data was collected for this parameter during the sample interval.
          Individual {{param}} values can be less than
          {{param|.PeriodicStatistics.SampleSet.{i}.SampleInterval}}, for
          several reasons, including:

          : Any of the reasons for which
            {{param|.PeriodicStatistics.SampleSet.{i}.SampleSeconds}} values
            might be less than
            {{param|.PeriodicStatistics.SampleSet.{i}.SampleInterval}}.

          : The parameter doesn't exist, or was created or deleted during a
            sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SuspectData" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} Each entry is 0 if the sampled value is believed to be
          valid, or 1 if an event that might affect the validity of the sampled
          value occurred during the sample interval. For example, if the
          parameter value were to be reset during the sample interval then it
          would be appropriate to set {{param}} to 1.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range maxInclusive="1"/>
          </unsignedInt>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Values" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} Each entry indicates the value of the referenced parameter,
          as determined by {{param|SampleMode}}, during the sample interval.
          The statistics values in this comma-separated lists MUST be in time
          order, with the oldest one first and the most recent one last. If the
          {{param|SampleMode}} parameter is not present, or is inappropriate
          for the referenced parameter, the statistics values MUST be collected
          in Current mode.
        </description>
        <syntax>
          <list/>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="Failures" access="readOnly">
        <description>
          Counts the number of times (since this object instance was last
          enabled) that a newly-calculated sample value (accounting for
          {{param|SampleMode}}) transitioned from the "in range" state to the
          "out of range" state, or between the "out of range (low)" and "out of
          range (high)" states. The states are defined as follows:

          * "in range" : current value is greater than {{param|LowThreshold}}
            and less than {{param|HighThreshold}}.

          * "out of range" : current value is less than or equal to
            {{param|LowThreshold}}, or greater than or equal to
            {{param|HighThreshold}}.

          * "out of range (low)" : current value is less than or equal to
            {{param|LowThreshold}}.

          * "out of range (high)" : current value is greater than or equal to
            {{param|HighThreshold}}. Note that, if {{param|LowThreshold}} and
            {{param|HighThreshold}} are both the same, the threshold/failure
            mechanism is disabled, so the value of this parameter will not
            increment. This parameter can be incremented at any time during a
            sample interval, and might be incremented more than once during a
            single sample interval. For this reason, the CPE SHOULD place a
            locally specified limit on the frequency at which it will notify
            the ACS of such changes, as described in {{bibref|TR-069a2|Section
            3.2.1}}. Parameters of non-numeric types cannot support the
            threshold/failure mechanism. The value of this parameter MUST be
            ignored for such parameters.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DownloadAvailability."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains multicast announcement and query parameters used
        for the purpose of downloading files.
      </description>
    </object>

    <object name="InternetGatewayDevice.DownloadAvailability.Announcement."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains multicast announcement parameters used to download
        files.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable/disable CPE ability to receive and use multicast announcements
          from a server for the purpose of downloading files.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the announcement service.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true">
              <description>
                MAY be used by the CPE to indicate a locally defined error
                condition.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="GroupNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.DownloadAvailability.Announcement.Group.{i}."
        access="readWrite" numEntriesParameter="GroupNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded">
      <description>
        Multicast groups to which the CPE SHOULD listen for announcements.
      </description>
      <uniqueKey>
        <parameter ref="URL"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable/disable listening to this multicast group.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this group table entry.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true">
              <description>
                MAY be used by the CPE to indicate a locally defined error
                condition, e.g. unable to parse received announcements.
              </description>
            </enumeration>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="URL" access="readWrite">
        <description>
          URL {{bibref|RFC3986}} encoding the group address, source and port on
          which to listen, and other protocol information, e.g. expected
          announcement format. Depending on the application, the messages
          identified by this URL MAY directly contain the data to be
          downloaded, or alternatively MAY contain information informing the
          CPE how to obtain the data to be downloaded via a separate mechanism,
          which itself could involve a unicast or a multicast download
          protocol. Refer to {{bibref|DVB-TS.102.824}} for an example of a URL
          format that identifies a SAP {{bibref|RFC2974}} stream that indicates
          how to use either FLUTE {{bibref|RFC3926}} or DSM-CC
          {{bibref|ISO-13818-6:1998}} to perform the download.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DownloadAvailability.Query."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains multicast query parameters used to download files.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable/disable CPE ability to autonomously query a server for the
          purpose of downloading files.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the query service.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true">
              <description>
                MAY be used by the CPE to indicate a locally defined error
                condition, e.g. unable to contact query response server.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="URL" access="readWrite">
        <description>
          URL {{bibref|RFC3986}} of the query response server. Depending on the
          application, the protocol described by this URL MAY be a SOAP
          interface, or MAY be any other RPC mechanism. Refer to
          {{bibref|DVB-TS.102.824}} for an example of a URL format that
          identifies a SOAP interface running over HTTP or HTTPS.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SoftwareModules." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Top level object for dynamically managed software applications.
      </description>

      <parameter name="ExecEnvNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DeploymentUnitNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ExecutionUnitNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SoftwareModules.ExecEnv.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ExecEnvNumberOfEntries">
      <description>
        The Execution Environments that are available on the device, along with
        their properties and configurable settings.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Indicates whether or not this {{object}} is enabled. Disabling an
          enabled Execution Environment stops it, while enabling a disabled
          Execution Environment starts it. When an Execution Environment is
          disabled, Deployment Units installed to that Execution Environment
          will be unaffected, but any Execution Units currently running on that
          Execution Environment will automatically transition to
          {{enum|Idle|#.ExecutionUnit.{i}.Status}}. If a ChangeDUState is
          attempted on a {{object|#.DeploymentUnit}} that is to be applied
          against a disabled {{object}}, that ChangeDUState operation fails and
          the associated DUStateChangeComplete RPC will contain a FaultStruct
          for that operation. If a SetParameterValues is attempted against the
          {{param|#.ExecutionUnit.{i}.RequestedState}} for an
          {{object|#.ExecutionUnit}} that is associated with a disabled
          {{object}} a CWMP Fault will be issued in response. Disabling an
          Execution Environment could place the device in a non-manageable
          state. For example, if the operating system itself was modeled as an
          {{object}} and the ACS disabled it, the CWMP management agent might
          be terminated leaving the device unmanageable.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this {{object}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          Setting this parameter to {{true}} causes this {{object}} to revert
          back to the state it was in when the device last issued a "0
          BOOTSTRAP" Inform event. The following requirements dictate what MUST
          happen for the reset to be complete:

          # All Deployment Units that were installed after the last "0
            BOOTSTRAP" Inform event MUST be removed

          # All persistent storage, configuration files, and log files that
            were associated with the removed Deployment Units MUST be removed

          # Any Deployment Unit that is still installed against the Execution
            Environment MUST be restored to the version present when the last
            "0 BOOTSTRAP" Inform event was issued

          # Any Deployment Unit that was present when the last "0 BOOTSTRAP"
            Inform event was issued, but was subsequently uninstalled and is
            now not present, MUST be installed with the version that was
            present when the last "0 BOOTSTRAP" Inform event was issued

          # The Execution Environment MUST be restored to the version and
            configuration present when the last "0 BOOTSTRAP" Inform event was
            issued

          # The Execution Environment MUST be restarted after all other
            restoration requirements have been met
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          A Name provided by the CPE that adequately distinguishes this
          {{object}} from all other {{object}} instances.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Indicates the complete type and specification version of this
          {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="InitialRunLevel" access="readWrite">
        <description>
          The run level that this {{object}} will be in upon startup (whether
          that is caused by a CPE Boot or the Execution Environment starting).
          Run levels dictate which Execution Units will be started. Execution
          Units will be started if {{param|CurrentRunLevel}} is greater than or
          equal to {{param|#.ExecutionUnit.{i}.RunLevel}} and
          {{param|#.ExecutionUnit.{i}.AutoStart}} is {{true}}. If the value of
          {{param|CurrentRunLevel}} is -1, then the value of this parameter is
          irrelevant when read and setting its value has no impact on the Run
          Level of this {{object}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RequestedRunLevel" access="readWrite">
        <description>
          Provides a mechanism to remotely manipulate the run level of this
          {{object}}, meaning that altering this parameter's value will change
          the value of the {{param|CurrentRunLevel}}. Run levels dictate which
          Execution Units will be started. Execution Units will be started if
          {{param|CurrentRunLevel}} is greater than or equal to
          {{param|#.ExecutionUnit.{i}.RunLevel}} and
          {{param|#.ExecutionUnit.{i}.AutoStart}} is {{true}}. Setting this
          value when {{param|CurrentRunLevel}} is -1 has no impact to the Run
          Level of this {{object}}.
        </description>
        <syntax command="true">
          <int>
            <range minInclusive="-1" maxInclusive="65535"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="CurrentRunLevel" access="readOnly">
        <description>
          The run level that this {{object}} is currently operating in. This
          value is altered by changing the {{param|RequestedRunLevel}}
          parameter. Upon startup (whether that is caused by a CPE Boot or the
          Execution Environment starting) {{param}} will be equal to
          {{param|InitialRunLevel}}, unless Run Levels are not supported by
          this {{object}} in which case {{param}} will be -1. Run levels
          dictate which Execution Units will be started. Execution Units will
          be started if {{param}} is greater than or equal to
          {{param|#.ExecutionUnit.{i}.RunLevel}} and
          {{param|#.ExecutionUnit.{i}.AutoStart}} is {{true}}. If {{param}} is
          -1 then Run Levels are not supported by this {{object}} and setting
          {{param|InitialRunLevel}} or {{param|RequestedRunLevel}} will not
          impact the Run Level of this {{object}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="65535"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="InitialExecutionUnitRunLevel" access="readWrite"
          dmr:previousParameter="CurrentRunLevel">
        <description>
          Indicates the initial value on creation for
          {{param|#.ExecutionUnit.{i}.RunLevel}} for all Execution Unit
          instances associated with this {{object}}. If the value of
          {{param|CurrentRunLevel}} is -1, then the value of this parameter is
          irrelevant when read and setting its value has no impact on the Run
          Level of any Execution Unit.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="65535"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Vendor" access="readOnly">
        <description>
          The vendor that produced this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          The Version of this {{object}} as specified by the Vendor that
          implemented this {{object}}, not the version of the specification.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ParentExecEnv" access="readOnly">
        <description>
          Represents the parent {{object}} of this {{object}}. If this value is
          {{empty}} then this is the Primary Execution Environment.
        </description>
        <syntax>
          <string>
            <pathRef targetParent="#.ExecEnv." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AllocatedDiskSpace" access="readOnly">
        <description>
          The amount of disk space measured in {{units}} allocated to this
          {{object}}. A value of -1 MUST be used for {{object}} instances where
          this parameter is not applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="AvailableDiskSpace" access="readOnly"
          activeNotify="canDeny">
        <description>
          The amount of disk space measured in {{units}} currently available to
          this {{object}}. This value changes as the {{object|#.ExecutionUnit}}
          instances associated with this {{object}} consumes disk space. A
          value of -1 MUST be used for {{object}} instances where this
          parameter is not applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="AllocatedMemory" access="readOnly">
        <description>
          The amount of physical RAM measured in {{units}} allocated to this
          {{object}}. A value of -1 MUST be used for {{object}} instances where
          this parameter is not applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="AvailableMemory" access="readOnly"
          activeNotify="canDeny">
        <description>
          The amount of physical RAM measured in {{units}} currently available
          to this {{object}}. This value changes as the
          {{object|#.ExecutionUnit}} instances associated with this {{object}}
          are started/stopped and consume the physical RAM. A value of -1 MUST
          be used for {{object}} instances where this parameter is not
          applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ActiveExecutionUnits" access="readOnly"
          activeNotify="canDeny">
        <description>
          Represents the {{object|#.ExecutionUnit}} instances currently running
          on this {{object}}. This parameter only contains
          {{object|#.ExecutionUnit}} instances that currently have a
          {{param|#.ExecutionUnit.{i}.Status}} of
          {{enum|Active|#.ExecutionUnit.{i}.Status}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent="#.ExecutionUnit." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProcessorRefList" access="readOnly">
        <description>
          Represents the processors that this {{object}} has available to it.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.Processor." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SoftwareModules.DeploymentUnit.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DeploymentUnitNumberOfEntries">
      <description>
        This table serves as the Deployment Unit inventory and contains status
        information about each Deployment Unit. A new instance of this table
        gets created during the installation of a Software Module.
      </description>
      <uniqueKey functional="true">
        <parameter ref="UUID"/>
        <parameter ref="Version"/>
        <parameter ref="ExecutionEnvRef"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="UUID" access="readOnly">
        <description>
          A Universally Unique Identifier either provided by the ACS, or
          generated by the CPE, at the time of Deployment Unit Installation.
          The format of this value is defined by {{bibref|RFC4122}} Version 3
          (Name-Based) and {{bibref|TR-069a3|Annex H}}. This value MUST NOT be
          altered when the {{object}} is updated.
        </description>
        <syntax>
          <string>
            <size maxLength="36"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DUID" access="readOnly">
        <description>
          Deployment Unit Identifier chosen by the targeted
          {{object|#.ExecEnv}}. The format of this value is Execution
          Environment specific.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          Indicates the Name of this {{object}}, which is chosen by the author
          of the Deployment Unit. The value of this parameter is used in the
          generation of the {{param|UUID}} based on the rules defined in
          {{bibref|TR-069a3|Annex H}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates the status of this {{object}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Installing">
              <description>
                This instance is in the process of being Installed and SHOULD
                transition to the {{enum|Installed}} state.
              </description>
            </enumeration>
            <enumeration value="Installed">
              <description>
                This instance has been successfully Installed. The
                {{param|Resolved}} flag SHOULD also be referenced for
                dependency resolution.
              </description>
            </enumeration>
            <enumeration value="Updating">
              <description>
                This instance is in the process of being Updated and SHOULD
                transition to the {{enum|Installed}} state.
              </description>
            </enumeration>
            <enumeration value="Uninstalling">
              <description>
                This instance is in the process of being Uninstalled and SHOULD
                transition to the {{enum|Uninstalled}} state.
              </description>
            </enumeration>
            <enumeration value="Uninstalled">
              <description>
                This instance has been successfully Uninstalled. This status
                will typically not be seen within a {{object}} instance.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Resolved" access="readOnly">
        <description>
          Indicates whether or not this {{object}} has resolved all of its
          dependencies.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="URL" access="readOnly">
        <description>
          Contains the URL used by the most recent ChangeDUState RPC to either
          Install or Update this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          Textual description of this {{object}}. The format of this value is
          Execution Environment specific.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Vendor" access="readOnly">
        <description>
          The author of this {{object}} formatted as a domain name. The value
          of this parameter is used in the generation of the {{param|UUID}}
          based on the rules defined in {{bibref|TR-069a3|Annex H}}.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          Version of this {{object}}. The format of this value is Execution
          Environment specific.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorLogList" access="readOnly">
        <description>
          Represents the vendor log files that have come into existence because
          of this {{object}}. This does not include any vendor log files that
          have come into existence because of {{object|#.ExecutionUnit}}
          instances that are contained within this {{object}}. When this
          {{object}} is uninstalled the vendor log files referenced here SHOULD
          be removed from the CPE. Not all {{object}} instances will actually
          have a corresponding vendor log file, in which case the value of this
          parameter will be {{empty}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.VendorLogFile."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorConfigList" access="readOnly">
        <description>
          Represents the vendor config files that have come into existence
          because of this {{object}}. This does not include any vendor config
          files that have come into existence because of
          {{object|#.ExecutionUnit}} instances that are contained within this
          {{object}}. When this {{object}} is uninstalled the vendor config
          files referenced here SHOULD be removed from the CPE. Not all
          {{object}} instances will actually have a corresponding vendor config
          file, in which case the value of this parameter will be {{empty}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.VendorConfigFile."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecutionUnitList" access="readOnly">
        <description>
          Represents the {{object|#.ExecutionUnit}} instances that are
          associated with this {{object}} instance.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent="#.ExecutionUnit." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecutionEnvRef" access="readOnly">
        <description>
          Represents the {{object|#.ExecEnv}} instance where this {{object}}
          instance is installed.
        </description>
        <syntax>
          <string>
            <pathRef targetParent="#.ExecEnv." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ExecutionUnitNumberOfEntries">
      <description>
        This table serves as the Execution Unit inventory and contains both
        status information about each Execution Unit as well as configurable
        parameters for each Execution Unit. Each {{object|#.DeploymentUnit}}
        that is installed can have zero or more Execution Units. Once a
        Deployment Unit is installed it populates this table with its contained
        Execution Units. When the Deployment Unit (that caused this {{object}}
        to come into existence) is updated, this instance MAY be removed and
        new instances MAY come into existence. While the Deployment Unit (that
        caused this {{object}} to come into existence) is being updated, all
        {{object}} instances associated with the Deployment Unit will be
        stopped until the update is complete at which time they will be
        restored to the state that they were in before the update started. When
        the Deployment Unit (that caused this {{object}} to come into
        existence) is uninstalled, this instance is removed. Each {{object}}
        MAY also contain a set of vendor specific parameters displaying status
        and maintaining configuration that reside under the
        {{object|Extensions}} object.
      </description>
      <uniqueKey functional="true">
        <parameter ref="EUID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="EUID" access="readOnly">
        <description>
          Execution Unit Identifier chosen by the {{object|#.ExecEnv}} during
          installation of the associated {{object|#.DeploymentUnit}}. The
          format of this value is Execution Environment specific, but it MUST
          be unique across {{object|#.ExecEnv}} instances. Thus, it is
          recommended that this be a combination of the
          {{param|#.ExecEnv.{i}.Name}} and an Execution Environment local
          unique value.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          The name of this {{object}} as it pertains to its associated
          {{object|#.DeploymentUnit}}, which SHOULD be unique across all
          {{object}} instances contained within its associated
          {{object|#.DeploymentUnit}}.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecEnvLabel" access="readOnly">
        <description>
          The name of this {{object}} as provided by the {{object|#.ExecEnv}},
          which SHOULD be unique across all {{object}} instances contained
          within a specific {{object|#.ExecEnv}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly"
          activeNotify="forceDefaultEnabled">
        <description>
          Indicates the status of this {{object}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Idle">
              <description>
                This instance is in an Idle state and not running.
              </description>
            </enumeration>
            <enumeration value="Starting">
              <description>
                This instance is in the process of Starting and SHOULD
                transition to the {{enum|Active}} state.
              </description>
            </enumeration>
            <enumeration value="Active">
              <description>This instance is currently running.</description>
            </enumeration>
            <enumeration value="Stopping">
              <description>
                This instance is in the process of Stopping and SHOULD
                transition to the {{enum|Idle}} state.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="RequestedState" access="readWrite">
        <description>
          Indicates the state transition that the ACS is requesting for this
          {{object}}. {{enum}} If this {{object}} is associated with an
          Execution Environment that is disabled and an attempt is made to
          alter this value, then a CWMP Fault MUST be generated.
        </description>
        <syntax command="true">
          <string>
            <enumeration value="Idle">
              <description>
                If this {{object}} is currently in {{enum|Starting|Status}} or
                {{enum|Active|Status}} the CPE will attempt to Stop the
                Execution Unit; otherwise this requested state is ignored.
              </description>
            </enumeration>
            <enumeration value="Active">
              <description>
                If this {{object}} is currently in {{enum|Idle|Status}} the CPE
                will attempt to Start the Execution Unit. If this {{object}} is
                in {{enum|Stopping|Status}} the request is rejected and a fault
                raised. Otherwise this requested state is ignored.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecutionFaultCode" access="readOnly">
        <description>
          If while running or transitioning between states this {{object}}
          identifies a fault this parameter embodies the problem. The value of
          {{enum|NoFault}} MUST be used when everything is working as intended.
          {{enum}} For fault codes not included in this list, the vendor MAY
          include vendor-specific values, which MUST use the format defined in
          {{bibref|TR-106a4|Section 3.3}}.
        </description>
        <syntax>
          <string>
            <enumeration value="NoFault"/>
            <enumeration value="FailureOnStart"/>
            <enumeration value="FailureOnAutoStart"/>
            <enumeration value="FailureOnStop"/>
            <enumeration value="FailureWhileActive"/>
            <enumeration value="DependencyFailure"/>
            <enumeration value="UnStartable"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecutionFaultMessage" access="readOnly">
        <description>
          If while running or transitioning between states this {{object}}
          identifies a fault this parameter provides a more detailed
          explanation of the problem. If {{param|ExecutionFaultCode}} has the
          value of {{enum|NoFault|ExecutionFaultCode}} then the value of this
          parameter MUST {{empty}} and ignored by the ACS.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AutoStart" access="readWrite">
        <description>
          If {{true}} and the {{param|RunLevel}} verification is also met, then
          this {{object}} will be automatically started by the device after its
          {{object|#.ExecEnv}} is either rebooted or restarted. If {{false}}
          this {{object}} will not be started after its {{object|#.ExecEnv}} is
          either rebooted or restarted until it is explicitly commanded to do
          so by either the ACS or another Execution Unit.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RunLevel" access="readWrite">
        <description>
          Determines when this {{object}} will be started. If
          {{param|AutoStart}} is {{true}} and
          {{param|#.ExecEnv.{i}.CurrentRunLevel}} is greater than or equal to
          {{param}}, then this {{object}} will be started. If the value of
          {{param|#.ExecEnv.{i}.CurrentRunLevel}} is -1, then the associated
          {{object|#.ExecEnv.}} doesn't support Run Levels, thus the value of
          this parameter is irrelevant when read and setting its value has no
          impact to the Run Level of this {{object}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Vendor" access="readOnly">
        <description>
          Vendor of this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly">
        <description>
          Version of the {{object}}. The format of this value is Execution
          Environment specific.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Description" access="readOnly">
        <description>
          Textual description of this {{object}}. The format of this value is
          Execution Environment specific.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DiskSpaceInUse" access="readOnly"
          activeNotify="canDeny">
        <description>
          The amount of disk space measured in {{units}} currently being used
          by this {{object}}. A value of -1 MUST be used for {{object}}
          instances where this parameter is not applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MemoryInUse" access="readOnly" activeNotify="canDeny">
        <description>
          The amount of physical RAM measured in {{units}} currently being used
          by this {{object}}. A value of -1 MUST be used for {{object}}
          instances where this parameter is not applicable.
        </description>
        <syntax>
          <int>
            <units value="kilobytes"/>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="References" access="readOnly">
        <description>
          Represents the instances of multi-instanced objects that are directly
          controlled by, and have come into existence because of, this
          {{object}}. See {{bibref|TR-157a3|Appendix II.3.2}} for more
          description and some examples. NOTE: All other objects and parameters
          (i.e. not multi-instanced objects) that this {{object}} has caused to
          come into existence can be discovered via the
          {{object|.DeviceInfo.SupportedDataModel.{i}.}} table.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AssociatedProcessList" access="readOnly">
        <description>
          Represents the system processes that are active in the system because
          of this {{object}}. If {{param|Status}} is not {{enum|Active|Status}}
          it is expected that this list will be {{empty}}. Some {{object}}
          instances MIGHT NOT have any system processes irrespective of the
          value of {{param|Status}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.ProcessStatus.Process."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorLogList" access="readOnly">
        <description>
          Represents the vendor log files that have come into existence because
          of this {{object}}. When the {{object|#.DeploymentUnit}} (that caused
          this {{object}} to come into existence) is uninstalled the vendor log
          files referenced here SHOULD be removed from the CPE. Not all
          {{object}} instances will actually have a corresponding vendor log
          file, in which case the value of this parameter will be {{empty}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.VendorLogFile."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VendorConfigList" access="readOnly">
        <description>
          Represents the vendor config files that have come into existence
          because of this {{object}}. When the {{object|#.DeploymentUnit}}
          (that caused this {{object}} to come into existence) is uninstalled
          the vendor config files referenced here SHOULD be removed from the
          CPE. Not all {{object}} instances will actually have a corresponding
          vendor config file, in which case the value of this parameter will be
          {{empty}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.VendorConfigFile."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedDataModelList" access="readOnly">
        <description>
          Represents the CWMP-DT schema instances that have been introduced to
          this device because of the existence of this {{object}}.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef targetParent=".DeviceInfo.SupportedDataModel."
                refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExecutionEnvRef" access="readOnly">
        <description>
          Represents the {{object|#.ExecEnv}} that this {{object}} is
          associated with.
        </description>
        <syntax>
          <string>
            <pathRef targetParent="#.ExecEnv." refType="strong"
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}.Extensions."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object proposes a general location for vendor extensions specific
        to this Execution Unit, which allows multiple Execution Units to expose
        parameters without the concern of conflicting parameter names. These
        vendor extensions are related to displaying status and maintaining
        configuration for this Execution Unit. It is also possible for the
        Execution Unit to expose status and configuration parameters within
        Service objects or as embedded objects and parameters directly within
        the root data model, in which case the combination of
        {{param|#.References}} and {{param|#.SupportedDataModelList}} will be
        used to determine their locations. See {{bibref|TR-157a3|Appendix
        II.3.2}} for more description and some examples.
      </description>
    </object>

    <object name="InternetGatewayDevice.Security." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains general information related to managing security
        features on the device.
      </description>

      <parameter name="CertificateNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.Security.Certificate.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="CertificateNumberOfEntries">
      <description>
        This table provides information about all types of public key-based
        credentials, such as X.509 certificates, see {{bibref|RFC5280}}.
      </description>
      <uniqueKey>
        <parameter ref="SerialNumber"/>
        <parameter ref="Issuer"/>
      </uniqueKey>

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

      <parameter name="LastModif" access="readOnly">
        <description>
          The last modification time of this certificate.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly">
        <description>
          The Serial Number field in an X.509 certificate, see
          {{bibref|RFC5280}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Issuer" access="readOnly">
        <description>
          The Issuer field in an X.509 certificate, see {{bibref|RFC5280}};
          i.e. the Distinguished Name (DN) of the entity who has signed the
          certificate.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotBefore" access="readOnly">
        <description>
          The beginning of the certificate validity period; i.e. the Not Before
          field in an X.509 certificate, see {{bibref|RFC5280}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="NotAfter" access="readOnly">
        <description>
          The end of the certificate validity period; i.e., the Not After field
          in an X.509 certificate, see {{bibref|RFC5280}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Subject" access="readOnly">
        <description>
          The Distinguished Name (DN) of the entity associated with the Public
          Key; i.e., the Subject field in an X.509 certificate, see
          {{bibref|RFC5280}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SubjectAlt" access="readOnly">
        <description>
          {{list}} Each item is a DNS Name. The Subject Alternative Names
          extension field in an X.509 certificate, see {{bibref|RFC5280}}.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SignatureAlgorithm" access="readOnly">
        <description>
          The algorithm used in signing the certificate; i.e. the Signature
          Algorithm field in an X.509 certificate, see {{bibref|RFC5280}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to Fault/Alarm Management.
      </description>

      <parameter name="SupportedAlarmNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxCurrentAlarmEntries" access="readOnly">
        <description>
          The maximum number of entries allowed in the
          {{object|.FaultMgmt.CurrentAlarm.{i}.}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentAlarmNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HistoryEventNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ExpeditedEventNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueuedEventNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt.SupportedAlarm.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="SupportedAlarmNumberOfEntries">
      <description>
        Supported Alarm Entries which can be raised by the device. The instance
        numbers for this table SHOULD be maintained across firmware upgrades of
        the device.
      </description>
      <uniqueKey>
        <parameter ref="EventType"/>
        <parameter ref="ProbableCause"/>
        <parameter ref="SpecificProblem"/>
        <parameter ref="PerceivedSeverity"/>
      </uniqueKey>

      <parameter name="EventType" access="readOnly">
        <description>
          Indicates the type of event.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProbableCause" access="readOnly">
        <description>
          Qualifies the alarm and provides further information than
          {{param|EventType}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecificProblem" access="readOnly">
        <description>
          Provides further qualification on the alarm beyond
          {{param|EventType}} and {{param|ProbableCause}}. This is vendor
          defined and will be {{empty}} if the device doesn't support unique
          indexing of the table using {{param}}. The string can be set to "*"
          to indicate the default case if only a subset of {{param}} are to be
          contained within the table.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PerceivedSeverity" access="readOnly">
        <description>
          Indicates the relative level of urgency for operator attention, see
          {{bibref|ITU-X.733}}. {{enum}} This will be {{empty}} if the device
          doesn't support unique indexing of the table using {{param}}. The
          string can be set to "*" to indicate the default case if only a
          subset of {{param}} are to be contained within the table.
        </description>
        <syntax>
          <string>
            <enumeration value="">
              <description>{{empty}}</description>
            </enumeration>
            <enumeration value="*"/>
            <enumeration value="Cleared"/>
            <enumeration value="Critical"/>
            <enumeration value="Major"/>
            <enumeration value="Minor"/>
            <enumeration value="Warning"/>
            <enumeration value="Indeterminate"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ReportingMechanism" access="readWrite">
        <description>
          Indicates the reporting mechanism setting of the alarm. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="0 Expedited">
              <description>
                The device inserts the alarm into the
                {{object|.FaultMgmt.ExpeditedEvent.{i}.}} table and the
                {{object|.FaultMgmt.ExpeditedEvent.{i}.}} table.
              </description>
            </enumeration>
            <enumeration value="1 Queued">
              <description>
                The device inserts the alarm into the
                {{object|.FaultMgmt.QueuedEvent.{i}.}} table and the
                {{object|.FaultMgmt.QueuedEvent.{i}.}} table.
              </description>
            </enumeration>
            <enumeration value="2 Logged">
              <description>
                The device inserts the alarm into the
                {{object|.FaultMgmt.HistoryEvent.{i}.}} table.
              </description>
            </enumeration>
            <enumeration value="3 Disabled">
              <description>The device ignores the alarm.</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt.CurrentAlarm.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="CurrentAlarmNumberOfEntries">
      <description>
        Contains all currently active alarms (whose
        {{param|.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity}} is not
        {{enum|Cleared|.FaultMgmt.SupportedAlarm.{i}.PerceivedSeverity}}).
        Newly raised alarms result in a new entry in this table being added,
        any changes to the alarm as a result of an update event are updated in
        the existing table entry, and a clear event raised against an alarm
        results in the alarm being removed from this table.

        If maximum entries as indicated by
        {{param|.FaultMgmt.MaxCurrentAlarmEntries}} is reached, the next event
        overrides the object with the oldest {{param|AlarmChangedTime}}. When a
        new alarm replaces an existing alarm, then all parameter values for
        that instance are considered as changed for the purposes of value
        change notifications to the ACS (even if their new values are identical
        to those of the prior alarm).
      </description>
      <uniqueKey>
        <parameter ref="AlarmIdentifier"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="EventType"/>
        <parameter ref="ProbableCause"/>
        <parameter ref="SpecificProblem"/>
      </uniqueKey>

      <parameter name="AlarmIdentifier" access="readOnly">
        <description>
          Identifies one Alarm Entry in the Alarm List. This value MUST be
          uniquely allocated by the device to the alarm instance during the
          lifetime of the individual alarm.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AlarmRaisedTime" access="readOnly">
        <description>
          Indicates the date and time when the alarm was first raised by the
          device.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AlarmChangedTime" access="readOnly">
        <description>
          Indicates the date and time when the alarm was last changed by the
          device.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ManagedObjectInstance" access="readOnly">
        <description>
          Specifies the instance of the Informational Object Class in which the
          alarm occurred by carrying the Distinguished Name (DN) of this object
          instance. The format of the DN is specific to the application that is
          using this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="512"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EventType" access="readOnly">
        <description>
          Indicates the type of event.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProbableCause" access="readOnly">
        <description>
          Qualifies the alarm and provides further information than
          {{param|EventType}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecificProblem" access="readOnly">
        <description>
          Provides further qualification on the alarm beyond
          {{param|EventType}} and {{param|ProbableCause}}. This is vendor
          defined and will be {{empty}} if the device doesn't support inclusion
          of this information.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PerceivedSeverity" access="readOnly">
        <description>
          Indicates the relative level of urgency for operator attention, see
          {{bibref|ITU-X.733}}. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Critical"/>
            <enumeration value="Major"/>
            <enumeration value="Minor"/>
            <enumeration value="Warning"/>
            <enumeration value="Indeterminate"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalText" access="readOnly">
        <description>
          This provides a textual string which is vendor defined. This will be
          {{empty}} if the device doesn't support inclusion of this
          information.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalInformation" access="readOnly">
        <description>
          This contains additional information about the alarm and is vendor
          defined.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt.HistoryEvent.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="HistoryEventNumberOfEntries">
      <description>
        Alarm events added or updated in
        {{object|.FaultMgmt.CurrentAlarm.{i}.}} are simultaneously entered into
        the this table. This table also contains alarm clearing events. Active
        alarms at the time of a power failure or reboot might not get an alarm
        clearing event. This object has a fixed number of entries with instance
        numbers from 1 to {{param|.FaultMgmt.HistoryEventNumberOfEntries}}. If
        maximum instance number
        {{param|.FaultMgmt.HistoryEventNumberOfEntries}} is reached, the next
        event overrides the object with instance number 1. Subsequent entries
        override objects at sequentially increasing instance numbers. This
        logic provides for automatic "rolling" of records.
      </description>
      <uniqueKey>
        <parameter ref="EventTime"/>
        <parameter ref="AlarmIdentifier"/>
      </uniqueKey>

      <parameter name="EventTime" access="readOnly">
        <description>
          Indicates the date and time when the alarm event occurs.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AlarmIdentifier" access="readOnly">
        <description>
          Identifies one Alarm Entry in the Alarm List. This value MUST be
          uniquely allocated by the device to the alarm instance during the
          lifetime of the individual alarm.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotificationType" access="readOnly">
        <description>
          Indicates the reason for the specific alarm notification event.
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="NewAlarm"/>
            <enumeration value="ChangedAlarm"/>
            <enumeration value="ClearedAlarm"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManagedObjectInstance" access="readOnly">
        <description>
          Specifies the instance of the Informational Object Class in which the
          alarm occurred by carrying the Distinguished Name (DN) of this object
          instance. The format of the DN is specific to the application that is
          using this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="512"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EventType" access="readOnly">
        <description>
          Indicates the type of event.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProbableCause" access="readOnly">
        <description>
          Qualifies the alarm and provides further information than
          {{param|EventType}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecificProblem" access="readOnly">
        <description>
          Provides further qualification on the alarm beyond
          {{param|EventType}} and {{param|ProbableCause}}. This is vendor
          defined and will be {{empty}} if the device doesn't support inclusion
          of this information.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PerceivedSeverity" access="readOnly">
        <description>
          Indicates the relative level of urgency for operator attention, see
          {{bibref|ITU-X.733}}. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Cleared"/>
            <enumeration value="Critical"/>
            <enumeration value="Major"/>
            <enumeration value="Minor"/>
            <enumeration value="Warning"/>
            <enumeration value="Indeterminate"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalText" access="readOnly">
        <description>
          This provides a textual string which is vendor defined. This will be
          {{empty}} if the device doesn't support inclusion of this
          information.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalInformation" access="readOnly">
        <description>
          This contains additional information about the alarm and is vendor
          defined.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt.ExpeditedEvent.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ExpeditedEventNumberOfEntries">
      <description>
        Alarm events added or updated in
        {{object|.FaultMgmt.CurrentAlarm.{i}.}} are simultaneously entered into
        the this table if their corresponding entry in
        {{object|.FaultMgmt.SupportedAlarm.{i}.}} has
        {{param|.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism}} set to
        {{enum|0 Expedited|.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism}}.
        This table also contains alarm clearing events. This object has a fixed
        number of entries with instance numbers from 1 to
        {{param|.FaultMgmt.ExpeditedEventNumberOfEntries}}. Initially the table
        starts with all instances having {{param|EventTime}} set to the Unknown
        Time value, as defined in {{bibref|TR-106a4}}. If maximum instance
        number {{param|.FaultMgmt.ExpeditedEventNumberOfEntries}} is reached,
        the next event overrides the object with instance number 1. Subsequent
        entries override objects at sequentially increasing instance numbers.
        This logic provides for automatic "rolling" of records. When a new
        alarm replaces an existing alarm, then all parameter values for that
        instance are considered as changed for the purposes of value change
        notifications to the ACS (even if their new values are identical to
        those of the prior alarm).
      </description>
      <uniqueKey>
        <parameter ref="AlarmIdentifier"/>
      </uniqueKey>

      <parameter name="EventTime" access="readOnly">
        <description>
          Indicates the date and time when the alarm event occurs. For an
          unpopulated entry, the value is the Unknown Time as defined in
          {{bibref|TR-106a4}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AlarmIdentifier" access="readOnly">
        <description>
          Identifies one Alarm Entry in the Alarm List. This value MUST be
          uniquely allocated by the device to the alarm instance during the
          lifetime of the individual alarm. For an unpopulated entry, the value
          is {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotificationType" access="readOnly">
        <description>
          Indicates the reason for the specific alarm notification event.
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="NewAlarm"/>
            <enumeration value="ChangedAlarm"/>
            <enumeration value="ClearedAlarm"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManagedObjectInstance" access="readOnly">
        <description>
          Specifies the instance of the Informational Object Class in which the
          alarm occurred by carrying the Distinguished Name (DN) of this object
          instance. The format of the DN is specific to the application that is
          using this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="512"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EventType" access="readOnly">
        <description>
          Indicates the type of event.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProbableCause" access="readOnly">
        <description>
          Qualifies the alarm and provides further information than
          {{param|EventType}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecificProblem" access="readOnly">
        <description>
          Provides further qualification on the alarm beyond
          {{param|EventType}} and {{param|ProbableCause}}. This is vendor
          defined and will be {{empty}} if the device doesn't support inclusion
          of this information.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PerceivedSeverity" access="readOnly">
        <description>
          Indicates the relative level of urgency for operator attention, see
          {{bibref|ITU-X.733}}. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Cleared"/>
            <enumeration value="Critical"/>
            <enumeration value="Major"/>
            <enumeration value="Minor"/>
            <enumeration value="Warning"/>
            <enumeration value="Indeterminate"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalText" access="readOnly">
        <description>
          This provides a textual string which is vendor defined. This will be
          {{empty}} if the device doesn't support inclusion of this
          information.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalInformation" access="readOnly">
        <description>
          This contains additional information about the alarm and is vendor
          defined.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FaultMgmt.QueuedEvent.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="QueuedEventNumberOfEntries">
      <description>
        Alarm events added or updated in
        {{object|.FaultMgmt.CurrentAlarm.{i}.}} are simultaneously entered into
        the this table if their corresponding entry in
        {{object|.FaultMgmt.SupportedAlarm.{i}.}} has
        {{param|.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism}} set to
        {{enum|1 Queued|.FaultMgmt.SupportedAlarm.{i}.ReportingMechanism}}.
        This table also contains alarm clearing events. This object has a fixed
        number of entries with instance numbers from 1 to
        {{param|.FaultMgmt.QueuedEventNumberOfEntries}}. Initially the table
        starts with all instances having {{param|EventTime}} set to the Unknown
        Time value, as defined in {{bibref|TR-106a4}}. If maximum instance
        number {{param|.FaultMgmt.QueuedEventNumberOfEntries}} is reached, the
        next event overrides the object with instance number 1. Subsequent
        entries override objects at sequentially increasing instance numbers.
        This logic provides for automatic "rolling" of records. When a new
        alarm replaces an existing alarm, then all parameter values for that
        instance are considered as changed for the purposes of value change
        notifications to the ACS (even if their new values are identical to
        those of the prior alarm).
      </description>
      <uniqueKey>
        <parameter ref="AlarmIdentifier"/>
      </uniqueKey>

      <parameter name="EventTime" access="readOnly">
        <description>
          Indicates the date and time when the alarm event occurs. For an
          unpopulated entry, the value is the Unknown Time as defined in
          {{bibref|TR-106a4}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AlarmIdentifier" access="readOnly">
        <description>
          Identifies one Alarm Entry in the Alarm List. This value MUST be
          uniquely allocated by the device to the alarm instance during the
          lifetime of the individual alarm. For an unpopulated entry, the value
          is {{empty}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotificationType" access="readOnly">
        <description>
          Indicates the reason for the specific alarm notification event.
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="NewAlarm"/>
            <enumeration value="ChangedAlarm"/>
            <enumeration value="ClearedAlarm"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ManagedObjectInstance" access="readOnly">
        <description>
          Specifies the instance of the Informational Object Class in which the
          alarm occurred by carrying the Distinguished Name (DN) of this object
          instance. The format of the DN is specific to the application that is
          using this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="512"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EventType" access="readOnly">
        <description>
          Indicates the type of event.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProbableCause" access="readOnly">
        <description>
          Qualifies the alarm and provides further information than
          {{param|EventType}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SpecificProblem" access="readOnly">
        <description>
          Provides further qualification on the alarm beyond
          {{param|EventType}} and {{param|ProbableCause}}. This is vendor
          defined and will be {{empty}} if the device doesn't support inclusion
          of this information.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PerceivedSeverity" access="readOnly">
        <description>
          Indicates the relative level of urgency for operator attention, see
          {{bibref|ITU-X.733}}. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Cleared"/>
            <enumeration value="Critical"/>
            <enumeration value="Major"/>
            <enumeration value="Minor"/>
            <enumeration value="Warning"/>
            <enumeration value="Indeterminate"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalText" access="readOnly">
        <description>
          This provides a textual string which is vendor defined. This will be
          {{empty}} if the device doesn't support inclusion of this
          information.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AdditionalInformation" access="readOnly">
        <description>
          This contains additional information about the alarm and is vendor
          defined.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        This object is the container for all Femto related component objects,
        to prevent pollution of the so-called global namespace of the BBF with
        FAP specific objects.
      </description>
    </object>

    <object name="InternetGatewayDevice.FAP.GPS." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains the parameters relating to the GPS scan.
      </description>

      <parameter name="ScanOnBoot" access="readWrite">
        <description>
          Enables or disables GPS scans during the device start up.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="true"/>
        </syntax>
      </parameter>

      <parameter name="ScanPeriodically" access="readWrite">
        <description>
          Enables or disables periodic GPS scans.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PeriodicInterval" access="readWrite">
        <description>
          When {{param|ScanPeriodically}} is {{true}}, this value indicates the
          interval in {{units}} which GPS scan is performed.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the CPE will
          initiate the periodic GPS scan. Each GPS scan MUST occur at (or as
          soon as possible after) this reference time plus or minus an integer
          multiple of the {{param|PeriodicInterval}}. {{param}} is used only to
          set the "phase" of the GPS scan. The actual value of {{param}} can be
          arbitrarily far into the past or future. For example, if
          {{param|PeriodicInterval}} is 86400 (a day) and if {{param}} is set
          to UTC midnight on some day (in the past, present, or future) then
          periodic GPS scans 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-106a4|Section 3.2}} indicates that no particular time
          reference is specified. That is, the CPE MAY locally choose the time
          reference, and needs only to adhere to the specified
          PeriodicInformInterval. If absolute time is not available to the CPE,
          its periodic GPS scan behavior MUST be the same as if {{param}}
          parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ContinuousGPS" access="readWrite">
        <description>
          Whether or not the device SHOULD maintain a continuous GPS lock (e.g.
          as a frequency stability source).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ScanTimeout" access="readWrite">
        <description>
          Specifies the time-out value in {{units}} since the scan started
          after which the scan will time out. A timed out scan is to be
          reported as {{enum|Error_TIMEOUT|ScanStatus}} with
          {{param|ErrorDetails}} indicating "Timed out"
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ScanStatus" access="readOnly">
        <description>
          Indicates the current status of this scan.
        </description>
        <syntax>
          <string>
            <enumeration value="Indeterminate">
              <description>
                The scan has not been executed and there are no valid scan
                results available
              </description>
            </enumeration>
            <enumeration value="InProgress"/>
            <enumeration value="Success"/>
            <enumeration value="Error"/>
            <enumeration value="Error_TIMEOUT"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ErrorDetails" access="readOnly">
        <description>
          Provides more detail when the {{param|ScanStatus}} is either
          {{enum|Error|ScanStatus}} or {{enum|Error_TIMEOUT|ScanStatus}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastScanTime" access="readOnly"
          activeNotify="forceDefaultEnabled">
        <description>
          The date and time when the last GPS scan completed.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LastSuccessfulScanTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Specifies the date and time, when the GPS scan last completed
          successfully. This value is retained across reboot and is only reset
          after another scan completes successfully or {{param|GPSReset}} is
          set to {{true}}. The values for {{param|LockedLatitude}},
          {{param|LockedLongitude}} and {{param|NumberOfSatellites}} correspond
          to this time. If a scan has never succeeded before, the value will be
          the Unknown Time value, as defined in {{bibref|TR-106a4|Section
          3.2}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LockedLatitude" access="readOnly"
          activeNotify="canDeny">
        <description>
          This parameter specifies the latitude of the device's position in
          degrees, multiplied by 1 million. The positive value signifies the
          direction, north of the equator. The negative value signifies the
          direction, south of the equator. Range is from: 90d00.00' South
          (-90,000,000) to 90d00.00' North (90,000,000). Example: A latitude of
          13d19.43' N would be represented as 13,323,833, derived as
          (13*1,000,000)+((19.43*1,000,000)/60). Latitude of 50d00.00' S would
          be represented as value -50,000,000. This value is retained across
          reboots and is only reset after another scan completes successfully
          or {{param|GPSReset}} is set to {{true}}. If a scan has never
          succeeded before, the value 0 is reported.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LockedLongitude" access="readOnly"
          activeNotify="canDeny">
        <description>
          This parameter specifies the longitude of the device's position in
          degrees, multiplied by 1 million. The positive value signifies the
          direction, east of the prime meridian. The negative value signifies
          the direction, west of the prime meridian. Range is from: 180d00.00'
          West (-180,000,000) to 180d00.00' East (180,000,000). Example: A
          longitude of 13d19.43' E would be represented as 13,323,833, derived
          as (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d00.00' W
          would be represented as value -50,000,000. This value is retained
          across reboots and is only reset after another scan completes
          successfully or {{param|GPSReset}} is set to {{true}}. If a scan has
          never succeeded before, the value 0 is reported.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="NumberOfSatellites" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of satellites that were locked during the test execution.
          The greater the number of satellites the better the precision of the
          results. This value is retained across reboots and is only reset
          after another scan completes successfully or {{param|GPSReset}} is
          set to {{true}}. If a scan has never succeeded before, the value 0 is
          reported.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="GPSReset" access="readWrite">
        <description>
          Setting this to {{true}} will cause a reset on the GPS Hardware.
          Setting this to {{false}} has no effect.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.GPS.ContinuousGPSStatus."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        When {{param|#.ContinuousGPS}} is {{true}}, the parameters in this
        object contain the GPS status as it is continuously monitored. When
        {{param|#.ContinuousGPS}} is {{false}}, the parameters in this object
        are not being updated and their values are not accurate.
      </description>

      <parameter name="CurrentFix" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if the location fix is currently valid (i.e.
          GPS receiver is currently tracking satellite signals), otherwise it
          is {{false}}. After a reboot the value is {{false}} until the GPS
          receivers has a valid current position.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="GotFix" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if {{param|CurrentFix}} has transitioned to
          {{true}} at least once since {{param|#.ContinuousGPS}} was enabled,
          otherwise it is {{false}}. After a reboot the value is {{false}}
          until {{param|CurrentFix}} has transitioned to {{true}} again. The
          GPS coordinates ({{param|Latitude}}, {{param|Longitude}}, and
          {{param|Elevation}}) are not valid until {{param}} has a value of
          {{true}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TimingGood" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if the timing synchronization is good,
          otherwise it is {{false}}. After a reboot the value is {{false}}
          until the timing is synchronized again.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Latitude" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent latitude reading for the
          device's position in degrees, multiplied by 1 million. The positive
          value signifies the direction, north of the equator. The negative
          value signifies the direction, south of the equator. Range is from:
          90 deg 00.00' South (-90,000,000) to 90 deg 00.00' North
          (90,000,000). Example: A latitude of 13 deg 19.43' N would be
          represented as 13,323,833, derived as
          (13*1,000,000)+((19.43*1,000,000)/60). Latitude of 50 deg 00.00' S
          would be represented as value -50,000,000. {{param}} is not valid
          until {{param|GotFix}} is {{true}}. If the parameter has never been
          set before, the value 0 is reported. The value SHOULD be maintained
          over a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Longitude" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent longitude reading for the
          device's position in degrees, multiplied by 1 million. The positive
          value signifies the direction, east of the prime meridian. The
          negative value signifies the direction, west of the prime meridian.
          Range is from: 180d00.00' West (-180,000,000) to 180d00.00' East
          (180,000,000). Example: A longitude of 13d19.43' E would be
          represented as 13,323,833, derived as
          (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d00.00' W
          would be represented as value -50,000,000. {{param}} is not valid
          until {{param|GotFix}} is {{true}}. If the parameter has never been
          set before, the value 0 is reported. The value SHOULD be maintained
          over a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Elevation" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent elevation reading for the
          device's position in {{units}}, relative to the WGS84 ellipsoid. The
          positive value signifies the direction, above sea level. The negative
          value signifies the direction, below sea level. Range is from:
          5,000.000 meters below sea level (-5,000,000) to 25,000.000 meters
          above sea level (25,000,000). {{param}} is not valid until
          {{param|GotFix}} is {{true}}. If the parameter has never been set
          before, the value 0 is reported. The value SHOULD be maintained over
          a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-5000000" maxInclusive="25000000"/>
            <units value="millimeters"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LastFixTime" access="readOnly" activeNotify="canDeny">
        <description>
          Represents the date and time when the last GPS Fix was acquired. The
          Unknown Time value defined in {{bibref|TR-106a4|Section 3.2}} is used
          when {{param|GotFix}} is {{false}}. This applies too after a reboot
          of the device until a valid location is determined and
          {{param|GotFix}} transsitions to {{true}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LastFixDuration" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of {{units}} of continuous GPS fix time. After a reboot this
          value is reset to 0.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FirstFixTimeout" access="readWrite">
        <description>
          Number of {{units}} to wait for first GPS fix before declaring a GPS
          fault. A value of -1 means that there is no timeout and no fault
          logging.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="SatellitesTracked" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of satellites the receiver is tracking.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SatelliteTrackingInterval" access="readWrite">
        <description>
          The interval in {{units}} at which the GPS tracking information gets
          reported.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="60" maxInclusive="3600"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReceiverStatus" access="readOnly"
          activeNotify="canDeny">
        <description>
          The output of the GPS receiver's status.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LocationType" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates whether the {{param|Latitude}}, {{param|Longitude}}, and
          {{param|Elevation}} values are determined via a GPS Fix (where the
          value of this parameter would be {{enum|Real}}) or via some other
          means (where the value of this parameter would be
          {{enum|Reference}}).
        </description>
        <syntax>
          <string>
            <enumeration value="Real"/>
            <enumeration value="Reference"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LockTimeOutDuration" access="readWrite">
        <description>
          The timer duration, in {{units}}, for which the device waits for GPS
          to acquire lock.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="120" maxInclusive="86400"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.GPS.AGPSServerConfig."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters for the configuration of the Assisted
        Global Positioning System (A-GPS) server. See also
        {{bibref|3GPP-TS.25.171|Section 3.2}}
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the {{object}} entry.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServerURL" access="readWrite">
        <description>
          A-GPS server host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServerPort" access="readWrite">
        <description>
          The port to use when communicating to the A-GPS Server.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used by the device to authenticate with the A-GPS
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be used by the device to authenticate with the A-GPS
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ReferenceLatitude" access="readWrite">
        <description>
          This parameter specifies the reference latitude for an A-GPS request
          position in degrees, multiplied by 1 million. The positive value
          signifies the direction, north of the equator. The negative value
          signifies the direction, south of the equator. Range is from:
          90d00.00' South (-90,000,000) to 90d00.00' North (90,000,000).
          Example: A latitude of 13d19.43' N would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60).
          Latitude of 50d00.00' S would be represented as value -50,000,000.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ReferenceLongitude" access="readWrite">
        <description>
          This parameter specifies the reference longitude for an A-GPS request
          position in degrees, multiplied by 1 million. The positive value
          signifies the direction, east of the prime meridian. The negative
          value signifies the direction, west of the prime meridian. Range is
          from: 180d00.00' West (-180,000,000) to 180d00.00' East
          (180,000,000). Example: A longitude of 13d19.43' E would be
          represented as 13,323,833, derived as
          (13*1,000,000)+((19.43*1,000,000)/60). A longitude of 50d00'00'' W
          would be represented as value -50,000,000.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ServerInUse" access="readOnly">
        <description>
          The value is {{true}} if the device has successfully contacted and
          received A-GPS info from the A-GPS server, otherwise the value is
          {{false}}. After a reboot the value is {{false}} until the server
          could be contacted again.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.Tunnel." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to Tunneling.
      </description>

      <parameter name="CryptoProfileNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IKESANumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChildSANumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxVirtualInterfaces" access="readOnly">
        <description>
          The maximum number of virtual interfaces.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="VirtualInterfaceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UseForCWMP" access="readWrite">
        <description>
          If the SecGW parameters are configured then this parameter determines
          whether the CWMP traffic will be sent across the IPsec tunnel(s) or
          outside of the IPsec tunnel(s). If {{false}} then the CWMP traffic
          will be sent outside of the IPsec tunnel(s). If {{true}} then the
          CWMP traffic will be sent across the IPsec tunnel(s).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxChildSAPerIKE" access="readOnly">
        <description>
          Indicates the maximum number of child SAs per IKE session that the
          device is capable of supporting.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxIKESessions" access="readOnly">
        <description>
          Indicates the maximum number of IKE sessions the device is capable of
          supporting at any given time.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.Tunnel.CryptoProfile.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="CryptoProfileNumberOfEntries"
        enableParameter="Enable">
      <description>
        This object contains parameters relating to IKEv2 and IPsec crypto
        profiles, which are essentially a subset of the typical IPsec SPD.
        {{bibref|RFC4301}}. For Cdma2000 devices, see also
        {{bibref|3GPP2-S.S0132}}.
      </description>
      <uniqueKey>
        <parameter ref="AuthMethod"/>
        <parameter ref="IKEEncrypt"/>
        <parameter ref="IKEPRF"/>
        <parameter ref="IKEIntegrity"/>
        <parameter ref="IKEDH"/>
        <parameter ref="ESPEncrypt"/>
        <parameter ref="ESPIntegrity"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables and disables this entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="AuthMethod" access="readWrite">
        <description>
          Specifies the Security mechanism and set of credentials used by the
          device to authenticate itself (either an instance of the
          ''.Security.Certificate.'' object defined in {{bibref|TR-157a5}} or
          an instance of the
          ''.Services.FAPService.{i}.Transport.Security.Secret.'' object
          defined in {{bibref|TR-196i2}}). {{reference}} If the value is an
          {{empty}}, the device chooses the authentication method based on
          local policy. In order to configure the device for both device and
          hosting-party authentication, the object is populated with an enabled
          instance of the ''.Security.Certificate.''. object.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetType="row"/>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="MaxChildSA" access="readWrite">
        <description>
          Controls the maximum number of child SAs that can be negotiated by a
          single IKE session.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="2" maxInclusive="2"/>
            <range minInclusive="4" maxInclusive="4"/>
            <range minInclusive="6" maxInclusive="6"/>
            <range minInclusive="8" maxInclusive="8"/>
            <range minInclusive="10" maxInclusive="10"/>
          </unsignedInt>
          <default type="object" value="2"/>
        </syntax>
      </parameter>

      <parameter name="IKEEncrypt" access="readWrite">
        <description>
          IKEv2 encryption algorithm. {{bibref|RFC4307}} For CDMA2000 devices,
          see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="3DES-CBC"/>
            <enumeration value="AES-CBC"/>
          </string>
          <default type="object" value="AES-CBC"/>
        </syntax>
      </parameter>

      <parameter name="IKEPRF" access="readWrite">
        <description>
          IKEv2 pseudo-random function. {{bibref|RFC4307}} For CDMA2000
          devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HMAC-SHA1"/>
            <enumeration value="AES-XCBC-PRF-128"/>
          </string>
          <default type="object" value="HMAC-SHA1"/>
        </syntax>
      </parameter>

      <parameter name="IKEIntegrity" access="readWrite">
        <description>
          IKEv2 integrity function. {{bibref|RFC4307}} For CDMA2000 devices,
          see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HMAC-SHA1-96"/>
            <enumeration value="AES-XCBC-MAC-96"/>
          </string>
          <default type="object" value="HMAC-SHA1-96"/>
        </syntax>
      </parameter>

      <parameter name="IKEDH" access="readWrite">
        <description>
          IKEv2 pseudo-random function. {{bibref|RFC4307}} For CDMA2000
          devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="1024"/>
            <enumeration value="2048"/>
          </string>
          <default type="object" value="2048"/>
        </syntax>
      </parameter>

      <parameter name="ESPEncrypt" access="readWrite">
        <description>
          IPsec encryption algorithm. {{bibref|RFC4835|Section 3.1.1}} For
          CDMA2000 devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="3DES-CBC"/>
            <enumeration value="AES-CBC"/>
            <enumeration value="Null"/>
          </string>
          <default type="object" value="AES-CBC"/>
        </syntax>
      </parameter>

      <parameter name="ESPIntegrity" access="readWrite">
        <description>
          IPsec integrity function. {{bibref|RFC4835|Section 3.1.1}} For
          CDMA2000 devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HMAC-SHA1-96"/>
            <enumeration value="AES-XCBC-MAC-96"/>
          </string>
          <default type="object" value="HMAC-SHA1-96"/>
        </syntax>
      </parameter>

      <parameter name="IPsecWindowSize" access="readWrite">
        <description>
          The size of the Anti-Replay Window. If 0 Sequence Number Verification
          is disabled. For UMTS devices, see {{bibref|3GPP-TS.32.582}} and
          {{bibref|3GPP-TS.32.584}}. For LTE devices, see
          {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IKERekeyLifetime" access="readWrite">
        <description>
          IKEv2 SA rekey timeout in {{units}}. For UMTS devices, see
          {{bibref|3GPP-TS.32.582}} and {{bibref|3GPP-TS.32.584}}. For LTE
          devices, see {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="IPsecRekeyLifetimeByte" access="readWrite">
        <description>
          IPsec SA rekey timeout in {{units}}. For UMTS devices, see
          {{bibref|3GPP-TS.32.582}} and {{bibref|3GPP-TS.32.584}}. For LTE
          devices, see {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Kilobytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="IPsecRekeyLifetimeTime" access="readWrite">
        <description>
          IPsec SA rekey timeout in {{units}}. For UMTS devices, see
          {{bibref|3GPP-TS.32.582}} and {{bibref|3GPP-TS.32.584}}. For LTE
          devices, see {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DPDTimer" access="readWrite">
        <description>
          DPD timeout in {{units}}. For UMTS devices, see
          {{bibref|3GPP-TS.32.582}} and {{bibref|3GPP-TS.32.584}}. For LTE
          devices, see {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="300"/>
        </syntax>
      </parameter>

      <parameter name="NATTKeepaliveTimer" access="readWrite">
        <description>
          NAT-T keepalive timeout in {{units}}. For UMTS devices, see
          {{bibref|3GPP-TS.32.582}} and {{bibref|3GPP-TS.32.584}}. For LTE
          devices, see {{bibref|3GPP-TS.32.592}}. For CDMA2000 devices, see
          {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="180"/>
        </syntax>
      </parameter>

      <parameter name="SecMaxFragSize" access="readWrite">
        <description>
          Maximum fragment size, in {{units}}, from device before Encryption.
          For CDMA2000 devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="256" maxInclusive="1400"/>
            <units value="bytes"/>
          </unsignedInt>
          <default type="object" value="1200"/>
        </syntax>
      </parameter>

      <parameter name="SecDFBit" access="readWrite">
        <description>
          Indicates if the 'Do Not Fragment' bit needs to be turned on/off. For
          CDMA2000 devices, see also {{bibref|3GPP2-S.S0132}}.
        </description>
        <syntax>
          <string>
            <enumeration value="On"/>
            <enumeration value="Off"/>
          </string>
          <default type="object" value="Off"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.Tunnel.IKESA.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="IKESANumberOfEntries">
      <description>
        IKE IPsec Security Association Table. This Table is a member of the
        IPsec Security Association Database (SAD). {{bibref|RFC4301}}.
      </description>
      <uniqueKey>
        <parameter ref="IPAddress"/>
        <parameter ref="SubnetMask"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this IKE SA entry.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Active"/>
            <enumeration value="Completed"/>
            <enumeration value="Progressing"/>
            <enumeration value="Error" optional="true">
              <description>
                This value MAY be used by the CPE to indicate a locally defined
                error condition.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeerAddress" access="readOnly">
        <description>
          The IP address of the peer SecGW.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="CreationTime" access="readOnly">
        <description>
          The time that the current IKE SA was set up.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="IPAddress" access="readOnly"
          activeNotify="forceDefaultEnabled">
        <description>
          The current IP address assigned to this interface by IKEv2.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SubnetMask" access="readOnly">
        <description>
          The current subnet mask assigned to this interface by IKEv2.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DNSServers" access="readOnly">
        <description>
          {{list}} Each item is an IP Address of a DNS server for this
          interface assigned to this interface by IKEv2.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DHCPServers" access="readOnly">
        <description>
          {{list}} Each item is an IP address of a DHCP server for this
          interface. A non empty list instructs the CPE to send any internal
          DHCP request to the address contained within this parameter.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="IntegrityErrors" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of inbound packets discarded by the IKE SA due to
          Integrity checking errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="OtherErrors" access="readOnly" activeNotify="canDeny">
        <description>
          The number of inbound packets discarded by the IKE SA due to other
          errors, such as anti-replay errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AuthErrors" access="readOnly" activeNotify="canDeny">
        <description>
          The number of inbound packets discarded by the IKE SA due to
          authentication errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.Tunnel.ChildSA.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ChildSANumberOfEntries">
      <description>
        Child IPsec Security Association Table. This Table is a member of the
        IPsec Security Association Database (SAD). {{bibref|RFC4301}}.
      </description>
      <uniqueKey>
        <parameter ref="SPI"/>
      </uniqueKey>

      <parameter name="ParentID" access="readOnly">
        <description>
          {{reference}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.IKESA." targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SPI" access="readOnly">
        <description>
          SPI value of the Child SA.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DirectionOutbound" access="readOnly">
        <description>
          Traffic Direction. If {{true}} this Child SA refers to outbound
          traffic. If {{false}} this Child SA refers to inbound traffic.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="CreationTime" access="readOnly">
        <description>
          The time that the current Child SA was set up.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Traffic" access="readOnly">
        <description>
          The measured traffic in {{units}} transferred by the Child SA.
        </description>
        <syntax>
          <unsignedInt>
            <units value="bytes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="IntegrityErrors" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of inbound {{units}} discarded by the Child SA due to
          integrity checking errors.
        </description>
        <syntax>
          <unsignedInt>
            <units value="packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReplayErrors" access="readOnly" activeNotify="canDeny">
        <description>
          The number of inbound {{units}} discarded by the Child SA due to
          anti-replay errors.
        </description>
        <syntax>
          <unsignedInt>
            <units value="packets"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.Tunnel.VirtualInterface.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VirtualInterfaceNumberOfEntries"
        enableParameter="Enable">
      <description>
        Virtual Interfaces used for associating the tunnel (ephemeral) childSA
        pairs with QoS Classification and Queue tables as defined in
        {{bibref|TR-098a2}}
        (InternetGatewayDevice.QueueManagement.Classification.{i}. and
        InternetGatewayDevice.QueueManagement.Queue.{i}.) or
        {{bibref|TR-181i2}} (Device.QoS.Classification.{i}. and
        Device.QoS.Queue.{i}.).
      </description>
      <uniqueKey>
        <parameter ref="CryptoProfile"/>
        <parameter ref="DSCPMarkPolicy"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables and disables this entry.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="CryptoProfile" access="readWrite">
        <description>
          {{reference}} If multiple instances of VirtualInterface point to the
          same CryptoProfile instance, the associated
          {{param|#.CryptoProfile.{i}.MaxChildSA}} determines whether a new IKE
          session will be created (dynamically) to negotiate the child SA(s)
          for each of the virtual interfaces; otherwise, they are negotiated
          through the same IKE session.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetType="row"
                targetParent="#.CryptoProfile."/>
            <size maxLength="256"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="DSCPMarkPolicy" access="readWrite">
        <description>
          DSCP to mark the outer IP header for traffic that is associated with
          this virtual interface. A value of -1 indicates copy from the
          incoming packet. A value of -2 indicates automatic marking of DSCP as
          defined for the UMTS QoS class {{bibref|3GPP-TS.23.107}} or CDMA2000
          Subscriber QoS profile {{bibref|3GPP2-X.S0011}}. De-tunneled packets
          are never re-marked.
        </description>
        <syntax>
          <int>
            <range minInclusive="-2"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.PerfMgmt." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains parameters relating to Performance Management in a
        Femto-related environment.
      </description>

      <parameter name="ConfigNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.PerfMgmt.Config.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ConfigNumberOfEntries" enableParameter="Enable">
      <description>
        This object contains parameters relating to File Management
        configuration for uploading of Performance Files to a designated File
        Server. Each table entry can be referenced by zero or more
        radio-specific objects contained in the FAPService instances. The
        periodic upload will upload data for all of the radio-specific objects
        that reference it.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="URL"/>
        <parameter ref="PeriodicUploadInterval"/>
        <parameter ref="PeriodicUploadTime"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this entry. If this entry is disabled then its
          periodic uploads are not performed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="URL" access="readWrite">
        <description>
          URL specifying the destination file location. HTTP and HTTPS
          transports MUST be supported. Other transports MAY be supported. This
          argument specifies only the destination file location, and does not
          indicate in any way the name or location of the local file to be
          uploaded.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used by the device to authenticate with the file
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be used by the device to authenticate with the file
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeriodicUploadInterval" access="readWrite">
        <description>
          The duration in {{units}} of the interval for which the device MUST
          create a Performance File and attempt to upload the file to
          {{param|URL}} if {{param|Enable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicUploadTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the device will
          initiate the periodic file upload. Each file upload MUST occur at
          this reference time plus or minus an integer multiple of the
          {{param|PeriodicUploadInterval}}. {{param}} is used only to set the
          "phase" of the periodic uploads. The actual value of {{param}} can be
          arbitrarily far into the past or future. For example, if
          {{param|PeriodicUploadInterval}} is 86400 (a day) and if {{param}} is
          set to UTC midnight on some day (in the past, present, or future)
          then periodic file uploads 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 as defined in
          {{bibref|TR-106a4|Section 3.2}} indicates that no particular time
          reference is specified. That is, the device MAY locally choose the
          time reference, and is REQUIRED only to adhere to the specified
          {{param|PeriodicUploadInterval}}. If absolute time is not available
          to the device, its periodic file upload behavior MUST be the same as
          if the {{param}} parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object defines the data model for the following Femtozone APIs.

        * Femto Awareness

        * SMS

        * MMS

        * Terminal Location Femto Awareness, SMS, MMS, and Terminal Location
          APIs are defined in the Release 1 API Specifications of the Service
          SIG in the Femto Forum (non public document).
          {{bibref|TR-262|appendix I}} provides the "Theory of Operation" for
          the usage of this object.
      </description>

      <parameter name="Version" access="readOnly">
        <description>
          Version of Femto Application Platform running on this device
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable or disable the Femto ApplicationPlatform
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Current state of the Femto Application Platform.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>
                The Femto Application Platform is not available
              </description>
            </enumeration>
            <enumeration value="Enabled">
              <description>
                The Femto Application Platform is available
              </description>
            </enumeration>
            <enumeration value="Reset">
              <description>
                The FemtoApplicationPlatform is in the process of being reset
                and will transition to the {{enum|Disabled}} state when the
                reset operation is completed
              </description>
            </enumeration>
            <enumeration value="Initializing">
              <description>
                The FemtoApplicationPlatform is being initialized and will
                transition to the {{enum|Enabled}} state once the
                initialization is completed
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxNumberOfApplications" access="readOnly">
        <description>
          Determines how many Femtozone Applications can be supported by the
          Femto Application Platform simultaneously.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentNumberofApplications" access="readOnly">
        <description>
          Specifies how many Femtozone Applications are currently communicating
          with the Femto Application Platform.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform.Capabilities."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the capabilities of the
        Femtozone Application Platform and the Femtozone APIs.
      </description>

      <parameter name="PresenceApplicationSupport" access="readOnly">
        <description>
          Specifies whether the Femto Application Platform supports
          Presence-Based Femtozone Applications
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="FemtoAwarenessAPISupport" access="readOnly">
        <description>
          Specifies whether the Femto Awareness API is supported on this
          device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SMSAPISupport" access="readOnly">
        <description>
          Specifies whether the SMS API is supported on this device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsOfSMSSentToApplicationSupport"
          access="readOnly">
        <description>
          Specifies whether the SubscribeToNotificationsOfSMSSentToApplication
          functionality is supported by the FAP SMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QuerySMSDeliveryStatusSupport" access="readOnly">
        <description>
          Specifies whether the QuerySMSDeliveryStatus functionality is
          supported by the FAP SMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MMSAPISupport" access="readOnly">
        <description>
          Specifies whether the MMS API is supported on this device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMMSDeliveryStatusSupport" access="readOnly">
        <description>
          Specifies whether the QueryMMSDeliveryStatus functionality is
          supported by the FAP MMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsOfMMSSentToApplicationSupport"
          access="readOnly">
        <description>
          Specifies whether the SubscribeToNotificationsOfMMSSentToApplication
          functionality is supported by the FAP MMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TerminalLocationAPISupport" access="readOnly">
        <description>
          Specifies whether the Terminal Location API is supported on this
          device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationMethodsSupported" access="readOnly">
        <description>
          Specifies the supported methods that 3rd Party Applications can use
          to authenticate with the Femto Application Platform at
          initialization. Comma separated list of strings.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Basic"/>
            <enumeration value="Digest"/>
            <enumeration value="DigitalSignature"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AccessLevelsSupported" access="readOnly">
        <description>
          Specifies the supported access levels that 3rd Party Applications can
          request when authenticating with the Femto Application Platform at
          initialization. This access level is with respect to resources within
          the Femto Application Platform only (not to be confused with Access
          Mode parameter in .FAPService.{i}.AccessMgmt).
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Guest"/>
            <enumeration value="Standard"/>
            <enumeration value="Restricted"/>
            <enumeration value="Administrator"/>
            <enumeration value="Debug"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SendSMSTargetAddressType" access="readOnly">
        <description>
          Specifies the supported types of addresses SMSs can be sent to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
            <enumeration value="All"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SendMMSTargetAddressType" access="readOnly">
        <description>
          Specifies the supported types of addresses MMSs can be sent to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
            <enumeration value="All"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform.Control."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the operation of the
        Femtozone APIs.
      </description>

      <parameter name="AuthenticationMethod" access="readWrite">
        <description>
          Specifies how 3rd Party Applications have to authenticate against
          Femto APIs in order to use it. {{reference}} '''''Note:''''' The
          credentials are not part of the data model and have to be supplied
          externally.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam="#.Capabilities.AuthenticationMethodsSupported"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TunnelInst" access="readWrite">
        <description>
          This is the reference to the IPsec tunnel instance to be used by the
          Application Platform traffic. If InternetGatewayDevice:1
          {{bibref|TR-098}} or Device:1 {{bibref|TR-181i1}}) is used as root
          data model the {{param}} MUST point to a row in the
          ''.FAP.Tunnel.IKESA.{i}.'' table. If the root data model used is
          Device:2 {{bibref|TR-181i2}} than the {{param}} MUST point to an
          tunnel instance defined in this data model. If the referenced object
          is deleted, the parameter value MUST be set to an empty string.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Control.FemtoAwareness."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the Femto Awareness API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable FemtoAwareness API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing " access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to Femto Awareness API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to Femto Awareness API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FemtozoneID" access="readWrite">
        <description>
          Specifies Identifier of the Femtozone.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotificationsUserIdentifierMSISDN" access="readWrite">
        <description>
          Specifies whether the Mobile Station International Subscriber
          Directory Number (MSISDN) has to be used as UserIdentifier in Femto
          Awareness Notifications. A value of {{true}} means that the MSISDN is
          send as user identifier, a value of {{false}} means that an anonymous
          reference is used.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsResponseCallbackData"
          access="readWrite">
        <description>
          Specifies whether the OPTIONAL Argument "Callback Data" has to be
          used in Responses to Requests to "Subscribe To Femto Awareness
          Notifications".
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryFemtocellResponseTimezone" access="readWrite">
        <description>
          Specifies whether the OPTIONAL Argument "Timezone" has to be used in
          Responses to Requests to "Query Femtocell Status".
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform.Control.SMS."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the SMS API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable SMS API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing " access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to SMS API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to SMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinSendSMSTimeInterval" access="readWrite">
        <description>
          Determines the Minimum Time Interval in {{units}} between two
          consecutive Send SMS Requests by the same Application.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
            <range minInclusive="0" maxInclusive="3599"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EnableQuerySMSDeliveryStatus" access="readWrite">
        <description>
          Enable or disable "QuerySMSDeliveryStatus" Operation on SMS API. When
          disabled, QuerySMSDeliveryStatus Requests to SMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter
          name="EnableSubscribeToNotificationsOfMessageSentToApplication"
          access="readWrite">
        <description>
          Enable or disable
          "SubscribeToNotificationsOfMessageSentToApplication" Operation on SMS
          API. When disabled, SubscribeTo
          NotificationsOfMessageSentToApplication Requests to SMS API are
          ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform.Control.MMS."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the MMS API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable MMS API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing " access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to MMS API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to MMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinSendMMSTimeInterval" access="readWrite">
        <description>
          Determines the Minimum Time Interval in {{units}} between two
          consecutive Send MMS Requests by the same Application.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
            <range minInclusive="0" maxInclusive="3599"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EnableQueryMMSDeliveryStatus" access="readWrite">
        <description>
          Enable or disable "QuerySMSDeliveryStatus" Operation on MMS API. When
          disabled, QuerySMSDeliveryStatus Requests to MMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter
          name="EnableSubscribeToNotificationsOfMessageSentToApplication"
          access="readWrite">
        <description>
          Enable or disable "SubscribeTo
          NotificationsOfMessageSentToApplication" Operation on MMS API. When
          disabled, SubscribeTo NotificationsOfMessageSentToApplication
          Requests to MMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Control.TerminalLocation."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the TerminalLocation API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable TerminalLocation API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing " access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to TerminalLocation API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to TerminalLocation API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseAddress" access="readWrite">
        <description>
          Specifies Terminal Address Format to be used in QueryMobileLocation
          Responses.
        </description>
        <syntax>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseLongitudeLatitude"
          access="readWrite">
        <description>
          Include or exclude FAP Longitude and Latitude arguments in Responses
          to QueryMobileLocation Requests.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseAltitude" access="readWrite">
        <description>
          Include or exclude FAP Altitude argument in Responses to
          QueryMobileLocation Requests .
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseTimestamp"
          access="readWrite">
        <description>
          Specifies Response Timestamp in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
            <range minInclusive="0" maxInclusive="86399"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.FAP.ApplicationPlatform.Monitoring."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the monitoring of the
        Femtozone Application Platform and the Femtozone APIs.
      </description>

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

      <parameter name="MonitoringInterval" access="readWrite">
        <description>
          Specifies the interval in {{units}} used to collect the monitoring
          measurements.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AuthenticationRequestsReceived" access="readOnly">
        <description>
          Specifies the total number of authentication requests received by the
          Femto Application Platform. The counter will be reset whenever the
          device reboots or the {{param|Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationRequestsRejected" access="readOnly">
        <description>
          Specifies the number of authentication requests received by the Femto
          Application Platform that were rejected. The counter will be reset
          whenever the device reboots or the {{param|Enable}} parameter is set
          to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Monitoring.FemtoAwareness."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the Monitoring of the
        FemtoAwareness API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the FemtoAwareness API is currently available on
          this device (the API could be disabled or could have exhausted its
          resources)
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the Femto
          Awareness API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the Femto Awareness API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the Femto
          Awareness API Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the Femto Awareness API Queue
          that have been received. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the Femto Awareness API Queue
          that have been discarded. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Monitoring.SMS."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the Monitoring of the SMS
        API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the SMS API is currently available on this device
          (the API could be disabled or could have exhausted its resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the SMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the SMS API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the SMS API
          Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the SMS API Queue that have been
          received. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the SMS API Queue that have been
          discarded. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Monitoring.MMS."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the Monitoring of the MMS
        API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the MMS API is currently available on this device
          (the API could be disabled or could have exhausted its resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the MMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the MMS API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the MMS API
          Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the MMS API Queue that have been
          received. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the MMS API Queue that have been
          discarded. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="InternetGatewayDevice.FAP.ApplicationPlatform.Monitoring.TerminalLocation."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object contains parameters related to the Monitoring of the
        TerminalLocation API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the TerminalLocation API is currently available on
          this device (the API could be disabled or could have exhausted its
          resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the Terminal
          Location API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the Terminal Location API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the Terminal
          Location API Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the Terminal Location API Queue
          that have been received. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the Terminal Location API Queue
          that have been discarded. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.BulkData." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Bulk Data collection utilizes the IPDR solution to collect data from
        devices based on a service specification described in
        {{bibref|TR-232}}. Bulk Data Collection Profiles are measured over a
        reporting interval (which can be aligned with absolute time) and are
        made available to the collection server. This object provides bulk data
        collection capabilities and global collection settings that affect the
        entire device.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables all collection profiles. If {{false}}, bulk data
          will not be collected or reported.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the Bulk Data Collection mechanism.
        </description>
        <syntax>
          <string>
            <enumeration value="Enabled">
              <description>
                Bulk Data Collection is enabled and working as intended.
              </description>
            </enumeration>
            <enumeration value="Disabled">
              <description>Bulk Data Collection is disabled.</description>
            </enumeration>
            <enumeration value="Error" optional="true">
              <description>
                Bulk Data Collection is enabled, but there is an error
                condition preventing the successful collection of bulk data.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MinReportingInterval" access="readOnly">
        <description>
          Minimum reporting interval in {{units}} that the CPE is capable of
          supporting. A value of 0 indicates no minimum reporting interval.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Protocols" access="readOnly">
        <description>
          Represents the IPDR Protocols that this device is capable of
          supporting.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Streaming">
              <description>
                IPDR Streaming Protocol {{bibref|IPDR-SP}}
              </description>
            </enumeration>
            <enumeration value="File">
              <description>
                IPDR File Transfer Protocol {{bibref|IPDR-FTP}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="EncodingTypes" access="readOnly">
        <description>
          Represents the IPDR Encoding Types that this device is capable of
          supporting.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="XML">
              <description>{{bibref|IPDR-XML}}</description>
            </enumeration>
            <enumeration value="XDR">
              <description>{{bibref|IPDR-XDR}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxNumberOfProfiles" access="readOnly">
        <description>
          The maximum number of profiles that can exist at any given time.
          Specifically, the maximum number of {{object|Profile.{i}.}} instances
          that the ACS can create. If the value of this parameter is -1, then
          it means that the CPE doesn't have a limit to the number of profiles
          that can exist.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxNumberOfParameterReferences" access="readOnly">
        <description>
          The maximum number of parameters that can be referenced via the bulk
          data collection mechanism. Specifically, the maximum number of
          parameters that can be referenced via
          {{param|Profile.{i}.Parameter.{i}.Reference}} across all Profile and
          Parameter instances (including the expansion of partial paths within
          the Reference parameter). If the value of this parameter is -1, then
          it means that the CPE doesn't have a limit to the number of parameter
          that can be referenced via the bulk data collection mechanism.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ProfileNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.BulkData.Profile.{i}."
        access="readWrite" numEntriesParameter="ProfileNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded">
      <description>
        A set of Bulk Data Collection profiles. Each profile represents a bulk
        data report, including its own timing configuration, communications
        configuration, and set of parameters. This allows the ACS to configure
        multiple reports to be generated at different times for different sets
        of data.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this specific bulk data profile. If {{false}},
          this profile will not be collected or reported.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Protocol" access="readWrite">
        <description>
          The IPDR Protocol being used for this collection profile.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="#.Protocols"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EncodingType" access="readWrite">
        <description>
          The IPDR Encoding Type being used for this collection profile.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="#.EncodingTypes"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ReportingInterval" access="readWrite">
        <description>
          The reporting interval in {{units}}. Each report is generated based
          on this interval and {{param|TimeReference}}. The CPE MAY reject a
          request to set {{param}} to less than
          {{param|#.MinReportingInterval}}. Reporting intervals MUST begin
          every {{param}} {{units}}. If {{param}} is changed while collection
          is enabled, the first reporting interval begins immediately. For
          example, if {{param}} is 86400 (a day) and if {{param|TimeReference}}
          is set to UTC midnight on some day (in the past, present, or future)
          then the CPE will generate (and transmit, if the {{param|Protocol}}
          parameter is set to {{enum|Streaming|#.Protocols}}) its report at
          midnight every 24 hours.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="86400"/>
        </syntax>
      </parameter>

      <parameter name="TimeReference" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when will be
          transmitted. Each reporting interval MUST complete at this reference
          time plus or minus an integer multiple of
          {{param|ReportingInterval}}, unless unable to due to higher
          prioritized operations. {{param}} is used only to set the "phase" of
          the reporting intervals. The actual value of {{param}} can be
          arbitrarily far into the past or future. If {{param}} is changed
          while collection of bulk data is enabled, the first reporting
          interval begins immediately. The Unknown Time value as defined in
          {{bibref|TR-106a2}} 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 reporting intervals.
          If absolute time is not available to the CPE, its reporting interval
          behavior MUST be the same as if the {{param}} parameter was set to
          the Unknown Time value. For example, if {{param|ReportingInterval}}
          is 86400 (a day) and if {{param}} is set to UTC midnight on some day
          (in the past, present, or future) then the CPE will generate (and
          transmit, if in a "ITPush" mode) its report at midnight every 24
          hours. Note that, if {{param}} is set to a time other than the
          Unknown Time, the first reporting interval (which has to begin
          immediately) will almost certainly be shorter than
          {{param|ReportingInterval}}). This is why {{param}} is defined in
          terms of when reporting intervals complete rather than start.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value="0001-01-01T00:00:00Z"/>
        </syntax>
      </parameter>

      <parameter name="StreamingHost" access="readWrite">
        <description>
          This is the host name or IP Address of the IPDR Collector to be used
          by the CPE to stream bulk data records if this collection profile is
          configured for the IPDR Streaming Protocol {{bibref|IPDR-SP}} (the
          {{param|Protocol}} parameter has a value of
          {{enum|Streaming|#.Protocols}}).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingPort" access="readWrite">
        <description>
          This is the port number of the IPDR Collector to be used by the CPE
          to stream bulk data records if this collection profile is configured
          for the IPDR Streaming Protocol {{bibref|IPDR-SP}} (the
          {{param|Protocol}} parameter has a value of
          {{enum|Streaming|#.Protocols}}).
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
          <default type="object" value="4737">
            <description>
              This is the IANA default port for {{bibref|IPDR-SP}}
            </description>
          </default>
        </syntax>
      </parameter>

      <parameter name="StreamingSessionID" access="readWrite">
        <description>
          This is the unique identification of an IPDR Session to be used when
          this collection profile is configured for the IPDR Streaming Protocol
          {{bibref|IPDR-SP}} (the {{param|Protocol}} parameter has a value of
          {{enum|Streaming|#.Protocols}}). An ACS MUST NOT configure multiple
          IPDR Streaming Protocol collection profiles with the same {{param}}.
          Doing so MUST cause the CPE to fail the SetParameterValues. Within
          the IPDR Streaming Protocol specification the Session ID has a type
          of a single 'char', but we are restricting the range even further
          (ASCII values of '0' - '9' and 'A' - 'Z'.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="48" maxInclusive="57">
              <description>
                ASCII values of '0' - '9'
              </description>
            </range>
            <range minInclusive="65" maxInclusive="90">
              <description>
                ASCII values of 'A' - 'Z'
              </description>
            </range>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FileTransferURL" access="readWrite">
        <description>
          This is the URL within the CPE that is used by an IPDR Collector to
          retrieve the IPDRDocs when this collection profile is configured for
          the IPDR File Transfer Protocol {{bibref|IPDR-FTP}} (the
          {{param|Protocol}} parameter has a value of
          {{enum|File|#.Protocols}}).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="FileTransferUsername" access="readWrite">
        <description>
          Username used for authentication of the {{param|FileTransferURL}}.
          This is the {{param}} that the IPDR Collector uses to access the CPE
          when this collection profile is configured for the IPDR File Transfer
          Protocol {{bibref|IPDR-FTP}} (the {{param|Protocol}} parameter has a
          value of {{enum|File|#.Protocols}}).
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="FileTransferPassword" access="readWrite">
        <description>
          Password used for authentication of the {{param|FileTransferURL}}.
          This is the {{param}} that the IPDR Collector uses to access the CPE
          when this collection profile is configured for the IPDR File Transfer
          Protocol {{bibref|IPDR-FTP}} (the {{param|Protocol}} parameter has a
          value of {{enum|File|#.Protocols}}).
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ControlFileFormat" access="readWrite">
        <description>
          If this collection profile is configured for the IPDR File Transfer
          Protocol {{bibref|IPDR-FTP}} (the {{param|Protocol}} parameter has a
          value of {{enum|File|#.Protocols}}) then the control file names will
          be of the following format:

          :
            &lt;ControlFilePrefix&gt;_&lt;ControlFilePolicy&gt;.&lt;ControlFileSuffix&gt;
            Where the following rules apply:

          * ControlFilePrefix MUST NOT contain an underscore '_' or any other
            character not suitable for a file name.

          * ControlFilePolicy MUST contain one or more 'N' characters, where
            the number of 'N' characters denotes the number of digits in the
            sequence number, including leading zeros as necessary to match the
            number of 'N' characters.

          * ControlFileSuffix is a file extension. For example,
            BulkData_NNNN.log where "BulkData" would be the prefix, "NNNN"
            would be the policy, and "log" would be the suffix. Files adhering
            to this file format would look like: BulkData_0000.log,
            BulkData_0001.log, etc.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ParameterNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.BulkData.Profile.{i}.Parameter.{i}."
        access="readWrite" numEntriesParameter="ParameterNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true">
      <description>
        Bulk data parameter table. Each entry in this table represents a
        parameter (or set of parameters if a partial path is provided) to be
        collected and reported.
      </description>

      <parameter name="Reference" access="readWrite">
        <description>
          Represents the parameter(s) that are part of this Bulk Data
          collection profile. In the case where a partial parameter path is
          specified all sub-objects and contained parameters will be part of
          the bulk data collected and reported. If the path name refers to an
          object then it MUST end with a '.'.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="weak" targetType="any"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DNS." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        Properties for Domain Name Service (DNS). It contains the Service
        Discovery (DNS-SD) objects.
      </description>
    </object>

    <object name="InternetGatewayDevice.DNS.SD." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object contains the DNS Service Discovery {{bibref|DNS-SD}} object
        and parameters necessary to discover services and their associated
        devices. Upon reboot the the contents of the service table are
        repopulated. When the DNS.SD service is disabled, the contents of the
        service table is implementation specific.
      </description>

      <parameter access="readWrite" name="Enable">
        <description>
          The parameter, when {{true}}, enables the discovery of DNS-SD
          services hosted by other devices.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServiceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DNS.SD.Service.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ServiceNumberOfEntries">
      <description>
        The {{object}} table contains discovered DNS-SD services. DNS.SD
        service information is provided in DNS RR SRV records
        {{bibref|RFC2782}}. The Service Instance Name {{bibref|DNS-SD|Section
        4.1 Structured Instance Names}} further specifies information about the
        service name (RFC2782 Service field) and domain name (RFC2782 Name
        field) in the form: Service Instance Name = &lt;InstanceName&gt; .
        &lt;Service&gt; . &lt;Domain&gt; &lt;Service&gt; =
        _&lt;ApplicationProtocol&gt; . _&lt;TransportProtocol&gt; RFC2782
        Service field will always be equal to &lt;InstanceName&gt;.
        &lt;Service&gt; RFC2782 Name field will always be equal to
        &lt;Domain&gt; For example, an SSH service might have:

        *{{param|InstanceName}} = "Secure Shell (SSH))"

        *{{param|ApplicationProtocol}} = "ssh"

        *{{param|TransportProtocol}} = "TCP"

        *{{param|Domain}} = "example.com"

        *{{param|Port}} = 22

        *{{param|Target}} = "ssh.example.com."
      </description>
      <uniqueKey functional="true">
        <parameter ref="InstanceName"/>
        <parameter ref="ApplicationProtocol"/>
        <parameter ref="TransportProtocol"/>
        <parameter ref="Domain"/>
      </uniqueKey>

      <parameter name="InstanceName" access="readOnly">
        <description>
          Human-readable instance name {{bibref|DNS-SD|Section 4.1.1 Instance
          Names}} (i.e. The "&lt;{{param}}&gt;" portion of the '"Service
          Instance Name'").
        </description>
        <syntax>
          <string>
            <size maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ApplicationProtocol" access="readOnly">
        <description>
          The Application Protocol, without the leading underscore, associated
          with the service (e.g., daap) as defined by the DNS-SD service
          {{bibref|DNS-SD|Section 7 Application Protocol Names}}.
        </description>
        <syntax>
          <string>
            <size maxLength="15"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TransportProtocol" access="readOnly">
        <description>
          The Transport Protocol associated with the service as defined by the
          DNS-SD service {{bibref|DNS-SD|Section 4.1.2 Service Names}}.
        </description>
        <syntax>
          <string>
            <enumeration value="TCP"/>
            <enumeration value="UDP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Domain" access="readOnly">
        <description>
          The value extracted from the Name field of the DNS SRV record
          {{bibref|RFC2782}} which represents the fully qualified domain name
          (FQDN) associated with the service as defined by the DNS-SD service
          {{bibref|DNS-SD|Section 4.1.3 Domain Names}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Port" access="readOnly">
        <description>
          The value extracted from the Port field of the DNS SRV record
          {{bibref|RFC2782}} that is used to contact the service.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Target" access="readOnly">
        <description>
          The fully qualified domain name (FQDN) with the trailing dot "." of
          the target host implementing the service as in the DNS SRV record
          {{bibref|RFC2782}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the discovered {{object}} at {{param|LastUpdate}} time.
          {{enum}} The ability to instantiate an inactive {{object}} is
          OPTIONAL. The time an inactive {{object}} remains listed in this
          table is a local matter to the device.
        </description>
        <syntax>
          <string>
            <enumeration value="LeaseActive">
              <description>
                The {{object}} has received a response record with TTL &gt; 0
                and the {{param|#.Service.{i}.TimeToLive}} has not expired yet.
                The {{object}} is considered active.
              </description>
            </enumeration>
            <enumeration value="GoodbyeReceived">
              <description>
                The device has received a response record containing TTL=0
                indicating a goodbye message and the
                {{param|#.Service.{i}.TimeToLive}} has not expired yet. The
                {{object}} is considered inactive.
              </description>
            </enumeration>
            <enumeration value="LeaseExpired">
              <description>
                The {{param|#.Service.{i}.TimeToLive}} has expired. The
                {{object}} is considered inactive
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastUpdate" access="readOnly">
        <description>
          The date and time at which the last advertisement for this {{object}}
          was received.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="Host" access="readOnly">
        <description>
          {{list}} {{reference|all Host table entries, active or inactive, that
          correspond to this discovered DNS.SD service. As such, when entries
          are added or removed from the Host tables the value of this parameter
          MUST be updated accordingly|ignore}}
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef
                refType="strong"
                targetParent="
                  .LANDevice.{i}.Hosts.Host.
                  .Hosts.Host."
                targetType="row"/>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TimeToLive" access="readOnly">
        <description>
          The value extracted from the TTL field of the DNS SRV record
          {{bibref|RFC2782}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="2147483647"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Priority" access="readOnly">
        <description>
          The value extracted from the Priority field of the DNS SRV record
          {{bibref|RFC2782}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Weight" access="readOnly">
        <description>
          A server selection mechanism. The value extracted from the Weight
          field of the DNS SRV record {{bibref|RFC2782}} that specifies the
          relative weight for entries with the same {{param|Priority}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TextRecordNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.DNS.SD.Service.{i}.TextRecord.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="TextRecordNumberOfEntries" dmr:noUniqueKeys="true">
      <description>
        This object maintains an instance of a (key/value pairs) of the
        service. The information is extracted from DNS TXT records
        {{bibref|RFC1035}} of the discovered service. When multiple instances
        of the {{object}} table have the same value for the {{param|Key}}
        parameter, the implementation is CPE specific.
      </description>

      <parameter name="Key" access="readOnly">
        <description>
          The key that identifies the text record
        </description>
        <syntax>
          <string>
            <size maxLength="255"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Value" access="readOnly">
        <description>
          The value of the text record.
        </description>
        <syntax>
          <string>
            <size maxLength="255"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.XMPP." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        The {{object}} represents the XMPP capabilities of the device as
        described in {{bibref|TR-069a5|Appendix III}}.
      </description>

      <parameter name="ConnectionNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.XMPP.Connection.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ConnectionNumberOfEntries"
        enableParameter="Enable">
      <description>
        The {{object}} represents a XMPP connection between the device and a
        server. The {{param|Username}}, {{param|Domain}} and {{param|Resource}}
        comprise the full identity (JabberID) of this {{object}} for this
        device.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="Username"/>
        <parameter ref="Domain"/>
        <parameter ref="Resource"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this {{object}}. This parameter is based on
          ''ifAdminStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          The proposed local-part of the Jabber ID of this {{object}}, and the
          value to be used to authenticate this {{object}} when making a
          connection to the Server using the procedure outlined in
          {{bibref|RFC6120|Section 6}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password used to authenticate this {{object}} when making a
          connection to the {{object|Server}} using the procedure outlined in
          {{bibref|RFC6120|Section 6}}. 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="Domain" access="readWrite">
        <description>
          The proposed domain-part of the Jabber ID of this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Resource" access="readWrite">
        <description>
          The proposed resource-part of the Jabber ID of this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="JabberID" access="readOnly">
        <description>
          The complete Jabber ID as determined by the first-hop XMPP server at
          time of connection establishment. This Jabber ID will usually be the
          standard concatentation of the local-part (Username), domain-part
          (Domain), and resource-part (Resource) as defined in
          {{bibref|RFC6120|Section 2.1}}
          (local-part@domain-part/resource-part), but since the Jabber ID is
          owned by the first-hop XMPP Server there are cases where the value
          will be different.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The current operational state of this {{object}} (see
          {{bibref|TR-181i2|Section 4.2.2}}). {{enum}} When {{param|Enable}} is
          {{false}} then {{param}} SHOULD normally be {{enum|Disabled}} or
          {{enum|Error}} if there is a fault condition on the interface). When
          {{param|Enable}} is changed to {{true}} then {{param}} SHOULD change
          to {{enum|Enabled}} if and only if the interface is able to transmit
          and receive PDUs; it SHOULD change to {{enum|Dormant}} if and only if
          the interface is operable but is waiting for external actions before
          it can transmit and receive network traffic (and subsequently change
          to {{enum|Enabled}} if still operable when the expected actions have
          completed); it SHOULD change to {{enum|Unknown}} if the state of the
          interface can not be determined for some reason.
        </description>
        <syntax>
          <string>
            <enumeration value="Enabled"/>
            <enumeration value="Disabled"/>
            <enumeration value="Unknown"/>
            <enumeration value="Dormant"/>
            <enumeration value="Connecting"/>
            <enumeration value="ServerNotPresent"/>
            <enumeration value="Error_Misconfigured"/>
            <enumeration value="Error_AuthenticationFailure"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastChangeDate" access="readOnly">
        <description>
          The date and time at which this {{object}} entered into its current
          operational state.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ServerConnectAlgorithm" access="readWrite">
        <description>
          The algorithm the {{object}} uses when connecting with the associated
          lists of servers. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="DNS-SRV">
              <description>
                Use the connection algorithm as specified in
                {{bibref|RFC6120|Section 3.2}} where the value of the
                {{param|Domain}} parameter is used to look up the server
                address and port to use.
              </description>
            </enumeration>
            <enumeration value="ServerTable">
              <description>
                Use the instances of the {{object|Server}} table based on the
                values of the {{param|Server.{i}.Priority}} and
                {{param|Server.{i}.Weight}} parameters as the basis for
                reconnect. Instances must be reachable and reachable instances
                with the lowest value MUST be preferred.
              </description>
            </enumeration>
          </string>
          <default type="object" value="DNS-SRV"/>
        </syntax>
      </parameter>

      <parameter name="KeepAliveInterval" access="readWrite">
        <description>
          The number of {{units}} that keep alive events as specified in
          {{bibref|RFC6120|Section 4.6.1}} are sent by this {{object}}. A value
          of 0 disables the keep alive functionality. A value of -1 indicates
          that the keep alive interval is a vendor specific implementation.
          {{bibref|RFC6120|Section 4.6.4}} recommends not checking more
          frequently than every 5 minutes (or 300 {{units}}).
        </description>
        <syntax>
          <long>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </long>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>

      <parameter name="ServerConnectAttempts" access="readWrite">
        <description>
          The number of times that this {{object}} attempts to connect to a
          given IP address before moving on to the current server's next IP
          address, or to the next server if the current server has no more IP
          addresses. If {{param}}, {{param|ServerRetryInitialInterval}},
          {{param|ServerRetryIntervalMultiplier}} and
          {{param|ServerRetryMaxInterval}} all have their default values, the
          maximum reconnection wait intervals, in ''minutes'', will be ''{1, 2,
          4, 8, 16, 32, 64, 128, 256, 512, 512, 512, 512, 512, 512}''. After
          the initial attempt there are 15 further attempts, making a total of
          16. The maximum reconnection wait interval is reached on the 10th
          retry, i.e. the 11th attempt. NOTE: If this {{object}} fails to
          connect to any of the servers' IP addresses, fallback behavior SHOULD
          be as specified in {{bibref|RFC6120|Section 3.2}}. NOTE: If the value
          of this parameter is 0, server connection and reconnection behavior
          is implementation-dependent.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="16"/>
        </syntax>
      </parameter>

      <parameter name="ServerRetryInitialInterval" access="readWrite">
        <description>
          The maximum first reconnection wait interval, in {{units}}, as
          specified in {{bibref|TR-069a5|Annex K XMPP Connection Request}}. The
          Device MUST use a random value between ''0'' and {{param}} as the
          first reconnection wait interval. NOTE: If the value of the
          {{param|ServerConnectAttempts}} parameter is 0, the value of this
          parameter is ignored.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="65535"/>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="60"/>
        </syntax>
      </parameter>

      <parameter name="ServerRetryIntervalMultiplier" access="readWrite">
        <description>
          The reconnection interval multiplier as specified in
          {{bibref|TR-069a5|Annex K XMPP Connection Request}}. This value is
          expressed in units of 0.001. Hence the values of the multiplier range
          between 1.000 and 65.535. For the ''n''th reconnection wait interval,
          the Device MUST use a random value, in ''seconds'', between ''0'' and
          {{param|ServerRetryInitialInterval}} * ({{param}} / 1000) ** (''n'' -
          ''1''). NOTE: If the value of the {{param|ServerConnectAttempts}}
          parameter is 0, the value of this parameter is ignored.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000" maxInclusive="65535"/>
          </unsignedInt>
          <default type="object" value="2000"/>
        </syntax>
      </parameter>

      <parameter name="ServerRetryMaxInterval" access="readWrite">
        <description>
          The maximum reconnection wait interval, in {{units}}. If the ''n''th
          reconnection wait interval calculated from
          {{param|ServerRetryInitialInterval}} and
          {{param|ServerRetryIntervalMultiplier}} exceeds the value of this
          parameter, then the Device MUST use the value of this parameter as
          the next reconnection wait interval. NOTE: If the value of the
          {{param|ServerConnectAttempts}} parameter is 0, the value of this
          parameter is ignored.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="30720"/>
        </syntax>
      </parameter>

      <parameter name="UseTLS" access="readWrite">
        <description>
          This parameter allows an ACS to configure whether or not this XMPP
          Connection is required to use TLS independent of whether or not the
          XMPP Server that is being connected to is configured for TLS
          "mandatory-to-negotiate". If the value of {{param}} is {{true}} then
          the CPE will initiate TLS negotiation if not required to by the XMPP
          Server. If the value of {{param}} is {{false}} then the CPE will not
          initiate TLS negotiation if not required to by the XMPP Server.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="TLSEstablished" access="readOnly">
        <description>
          This parameter represents the TLS state of this XMPP Connection. If
          this XMPP Connection is established and is secured by TLS then the
          value of this parameter is {{true}}. If this XMPP Connection is
          either not established or established but not secured by TLS then the
          value of this parameter is {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServerNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.XMPP.Connection.{i}.Server.{i}."
        access="readWrite" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ServerNumberOfEntries" enableParameter="Enable">
      <description>
        The {{object}} represents an XMPP server to be used for a
        {{object|##.Connection}}. This table is only relevant when
        {{param|##.Connection.{i}.ServerConnectAlgorithm}} is set to
        {{enum|ServerTable|##.Connection.{i}.ServerConnectAlgorithm}}. If
        {{param|##.Connection.{i}.ServerConnectAlgorithm}} is set to
        {{enum|DNS-SRV|##.Connection.{i}.ServerConnectAlgorithm}} then any
        instances of this table are ignored by this {{object|##.Connection}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="ServerAddress"/>
        <parameter ref="Port"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this {{object}}. This parameter is based on
          ''ifAdminStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Priority" access="readWrite">
        <description>
          The priority of this {{object}} that is used by the
          {{object|##.Connection}} when determining the {{object}} to connect.
          The {{object|##.Connection}} MUST contact the {{object}} with the
          lowest-numbered priority that the {{object|##.Connection}} can reach
          as defined in {{bibref|RFC2782}}. The selection of {{object}}s with
          the same {{param}} value utilizes the {{param|Weight}} parameter to
          determine which {{object}} is selected by the
          {{object|##.Connection}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Weight" access="readWrite">
        <description>
          This parameter specifies a relative weight for entries with the same
          {{param|Priority}}. The mechanism is defined in {{bibref|RFC2782}}. A
          value of -1 indicates that the implementation of this parameter is
          specific to the Vendor.
        </description>
        <syntax>
          <long>
            <range minInclusive="-1" maxInclusive="65535"/>
          </long>
        </syntax>
      </parameter>

      <parameter name="ServerAddress" access="readWrite">
        <description>
          Fully Qualified Domain Name (FQDN) or IP address of the XMPP server
          for this {{object|##.Connection}}. If the value of this Parameter is
          a FQDN that resolves to multiple addresses then each address SHOULD
          be attemtped (in an implemnetation-specific order) until a connection
          can be made or all addresses are exhausted, in which case the next
          {{object}} instance (based on {{param|Priority}} and
          {{param|Weight}}) SHOULD be used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Port" access="readWrite">
        <description>
          Port number of the XMPP server for this {{object|##.Connection}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
          <default type="object" value="5222"/>
        </syntax>
      </parameter>
    </object>

    <object name="InternetGatewayDevice.XMPP.Connection.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        XMPP Connection statistics information for this resource.
      </description>

      <parameter name="ReceivedMessages" access="readOnly">
        <description>
          The number of XMPP stanzas (iq, presence, or message) that have been
          received on this {{object|##.Connection}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="TransmittedMessages" access="readOnly">
        <description>
          The number of XMPP stanzas (iq, presence, or message) that have been
          transmitted by this {{object|##.Connection}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="ReceivedErrorMessages" access="readOnly">
        <description>
          The number of XMPP stanzas (iq, presence, or message) that have been
          received on this {{object|##.Connection}} where the type attribute
          had a value of "error".
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="TransmittedErrorMessages" access="readOnly">
        <description>
          The number of XMPP stanzas (iq, presence, or message) that have been
          transmitted by this {{object|##.Connection}} where the type attribute
          had a value of "error".
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </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="ADSL2WAN:1" dmr:previousProfile="ADSLWAN:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="LinkEncapsulationSupported" requirement="readOnly"/>
        <parameter ref="LinkEncapsulationRequested" requirement="readWrite"/>
        <parameter ref="LinkEncapsulationUsed" requirement="readOnly"/>
        <parameter ref="StandardsSupported" requirement="readOnly"/>
        <parameter ref="StandardUsed" requirement="readOnly"/>
        <parameter ref="UpstreamMaxRate" requirement="readOnly"/>
        <parameter ref="DownstreamMaxRate" requirement="readOnly"/>
        <parameter ref="UpstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="DownstreamNoiseMargin" requirement="readOnly"/>
        <parameter ref="UpstreamPower" requirement="readOnly"/>
        <parameter ref="DownstreamPower" requirement="readOnly"/>
        <parameter ref="TotalStart" requirement="readOnly"/>
        <parameter ref="ShowtimeStart" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.TestParams."
          requirement="present">
        <parameter ref="HLOGpsds" requirement="readOnly"/>
        <parameter ref="HLOGpsus" requirement="readOnly"/>
        <parameter ref="HLOGMTds" requirement="readOnly"/>
        <parameter ref="HLOGMTus" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="QLNpsus" requirement="readOnly"/>
        <parameter ref="QLNMTds" requirement="readOnly"/>
        <parameter ref="QLNMTus" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="SNRpsus" requirement="readOnly"/>
        <parameter ref="SNRMTds" requirement="readOnly"/>
        <parameter ref="SNRMTus" requirement="readOnly"/>
        <parameter ref="LATNds" requirement="readOnly"/>
        <parameter ref="LATNus" requirement="readOnly"/>
        <parameter ref="SATNds" requirement="readOnly"/>
        <parameter ref="SATNus" 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="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="TraceRoute:1" dmr:previousProfile="IPPing:1">
      <object ref="InternetGatewayDevice.TraceRouteDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="NumberOfTries" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="MaxHopCount" requirement="readWrite"/>
        <parameter ref="ResponseTime" requirement="readOnly"/>
        <parameter ref="RouteHopsNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.TraceRouteDiagnostics.RouteHops.{i}."
          requirement="present">
        <parameter ref="HopHost" requirement="readOnly"/>
        <parameter ref="HopHostAddress" requirement="readOnly"/>
        <parameter ref="HopErrorCode" requirement="readOnly"/>
        <parameter ref="HopRTTimes" 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="ADSL2DSLDiagnostics:1"
        dmr:previousProfile="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="HLINSCus" requirement="readOnly"/>
        <parameter ref="HLINpsds" requirement="readOnly"/>
        <parameter ref="HLINpsus" requirement="readOnly"/>
        <parameter ref="HLOGpsds" requirement="readOnly"/>
        <parameter ref="HLOGpsus" requirement="readOnly"/>
        <parameter ref="HLOGMTds" requirement="readOnly"/>
        <parameter ref="HLOGMTus" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="QLNpsus" requirement="readOnly"/>
        <parameter ref="QLNMTds" requirement="readOnly"/>
        <parameter ref="QLNMTus" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="SNRpsus" requirement="readOnly"/>
        <parameter ref="SNRMTds" requirement="readOnly"/>
        <parameter ref="SNRMTus" requirement="readOnly"/>
        <parameter ref="LATNpbds" requirement="readOnly"/>
        <parameter ref="LATNpbus" requirement="readOnly"/>
        <parameter ref="SATNds" requirement="readOnly"/>
        <parameter ref="SATNus" 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="DHCPCondServing:1" dmr:previousProfile="UDPConnReq:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
          requirement="present">
        <parameter ref="DHCPConditionalPoolNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="PoolOrder" requirement="readWrite"/>
        <parameter ref="SourceInterface" requirement="readWrite"/>
        <parameter ref="VendorClassID" requirement="readWrite"/>
        <parameter ref="ClientID" requirement="readWrite"/>
        <parameter ref="UserClassID" requirement="readWrite"/>
        <parameter ref="Chaddr" requirement="readWrite"/>
        <parameter ref="ChaddrMask" requirement="readWrite"/>
        <parameter ref="LocallyServed" requirement="readWrite"/>
        <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="DHCPLeaseTime" requirement="readWrite"/>
        <parameter ref="DHCPServerIPAddress" requirement="readWrite"/>
      </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>

    <profile name="Baseline:2" base="Baseline:1">
      <object ref="InternetGatewayDevice.Layer3Forwarding.Forwarding.{i}."
          requirement="createDelete">
        <parameter ref="StaticRoute" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
          requirement="present">
        <parameter ref="MACAddress" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.LANDevice.{i}.Hosts.Host.{i}."
          requirement="present">
        <parameter ref="Layer2Interface" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.LANInterfaces." requirement="present">
        <parameter ref="LANEthernetInterfaceNumberOfEntries"
            requirement="readOnly"/>
        <parameter ref="LANUSBInterfaceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="LANWLANConfigurationNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Reset" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetErrorsSent" requirement="readOnly"/>
        <parameter ref="EthernetErrorsReceived" requirement="readOnly"/>
        <parameter ref="EthernetUnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetUnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="EthernetDiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetDiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="EthernetMulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetMulticastPacketsReceived"
            requirement="readOnly"/>
        <parameter ref="EthernetBroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetBroadcastPacketsReceived"
            requirement="readOnly"/>
        <parameter ref="EthernetUnknownProtoPacketsReceived"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}."
          requirement="createDelete">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="PPPoESessionID" requirement="readOnly"/>
        <parameter ref="DefaultGateway" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPPPConnection.{i}.Stats."
          requirement="present">
        <parameter ref="EthernetErrorsSent" requirement="readOnly"/>
        <parameter ref="EthernetErrorsReceived" requirement="readOnly"/>
        <parameter ref="EthernetUnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetUnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="EthernetDiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetDiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="EthernetMulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetMulticastPacketsReceived"
            requirement="readOnly"/>
        <parameter ref="EthernetBroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="EthernetBroadcastPacketsReceived"
            requirement="readOnly"/>
        <parameter ref="EthernetUnknownProtoPacketsReceived"
            requirement="readOnly"/>
      </object>
    </profile>

    <profile name="EthernetLAN:2" base="EthernetLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Name" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANEthernetInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
        <parameter ref="UnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="UnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="DiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="DiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="MulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="MulticastPacketsReceived" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsReceived" requirement="readOnly"/>
        <parameter ref="UnknownProtoPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="USBLAN:2" base="USBLAN:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}."
          requirement="present">
        <parameter ref="Name" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANUSBInterfaceConfig.{i}.Stats."
          requirement="present">
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
        <parameter ref="UnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="UnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="DiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="DiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="MulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="MulticastPacketsReceived" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsReceived" requirement="readOnly"/>
        <parameter ref="UnknownProtoPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiLAN:2" base="WiFiLAN:1">
      <object ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
          requirement="present">
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="AutoChannelEnable" requirement="readWrite"/>
        <parameter ref="SSIDAdvertisementEnabled" requirement="readWrite"/>
        <parameter ref="TransmitPowerSupported" requirement="readOnly"/>
        <parameter ref="TransmitPower" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.Stats."
          requirement="present">
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
        <parameter ref="UnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="UnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="DiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="DiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="MulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="MulticastPacketsReceived" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsReceived" requirement="readOnly"/>
        <parameter ref="UnknownProtoPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiWMM:1">
      <object ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}."
          requirement="present">
        <parameter ref="WMMSupported" requirement="readOnly"/>
        <parameter ref="UAPSDSupported" requirement="readOnly"/>
        <parameter ref="WMMEnable" requirement="readWrite"/>
        <parameter ref="UAPSDEnable" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.APWMMParameter.{i}."
          requirement="present">
        <parameter ref="AIFSN" requirement="readWrite"/>
        <parameter ref="ECWMin" requirement="readWrite"/>
        <parameter ref="ECWMax" requirement="readWrite"/>
        <parameter ref="TXOP" requirement="readWrite"/>
        <parameter ref="AckPolicy" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.STAWMMParameter.{i}."
          requirement="present">
        <parameter ref="AIFSN" requirement="readWrite"/>
        <parameter ref="ECWMin" requirement="readWrite"/>
        <parameter ref="ECWMax" requirement="readWrite"/>
        <parameter ref="TXOP" requirement="readWrite"/>
        <parameter ref="AckPolicy" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="WiFiWPS:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WPS."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="DeviceName" requirement="readOnly"/>
        <parameter ref="DevicePassword" requirement="readWrite"/>
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="ConfigMethodsSupported" requirement="readOnly"/>
        <parameter ref="ConfigMethodsEnabled" requirement="readWrite"/>
        <parameter ref="SetupLockedState" requirement="readOnly"/>
        <parameter ref="SetupLock" requirement="readWrite"/>
        <parameter ref="ConfigurationState" requirement="readOnly"/>
        <parameter ref="LastConfigurationError" requirement="readOnly"/>
        <parameter ref="RegistrarNumberOfEntries" requirement="readOnly"/>
        <parameter ref="RegistrarEstablished" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.WPS.Registrar.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="DeviceName" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="VDSL2WAN:1">
      <object ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="LinkEncapsulationSupported" requirement="readOnly"/>
        <parameter ref="LinkEncapsulationRequested" requirement="readWrite"/>
        <parameter ref="LinkEncapsulationUsed" requirement="readOnly"/>
        <parameter ref="StandardsSupported" requirement="readOnly"/>
        <parameter ref="StandardUsed" requirement="readOnly"/>
        <parameter ref="AllowedProfiles" requirement="readOnly"/>
        <parameter ref="CurrentProfile" requirement="readOnly"/>
        <parameter ref="UPBOKLE" 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="TRELLISds" requirement="readOnly"/>
        <parameter ref="TRELLISus" requirement="readOnly"/>
        <parameter ref="ACTSNRMODEds" requirement="readOnly"/>
        <parameter ref="ACTSNRMODEus" requirement="readOnly"/>
        <parameter ref="ACTUALCE" requirement="readOnly"/>
        <parameter ref="SNRMpbds" requirement="readOnly"/>
        <parameter ref="SNRMpbus" requirement="readOnly"/>
        <parameter ref="TotalStart" requirement="readOnly"/>
        <parameter ref="ShowtimeStart" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANDSLInterfaceConfig.TestParams."
          requirement="present">
        <parameter ref="HLOGGds" requirement="readOnly"/>
        <parameter ref="HLOGGus" requirement="readOnly"/>
        <parameter ref="HLOGpsds" requirement="readOnly"/>
        <parameter ref="HLOGpsus" requirement="readOnly"/>
        <parameter ref="HLOGMTds" requirement="readOnly"/>
        <parameter ref="HLOGMTus" requirement="readOnly"/>
        <parameter ref="QLNGds" requirement="readOnly"/>
        <parameter ref="QLNGus" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="QLNpsus" requirement="readOnly"/>
        <parameter ref="QLNMTds" requirement="readOnly"/>
        <parameter ref="QLNMTus" requirement="readOnly"/>
        <parameter ref="SNRGds" requirement="readOnly"/>
        <parameter ref="SNRGus" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="SNRpsus" requirement="readOnly"/>
        <parameter ref="SNRMTds" requirement="readOnly"/>
        <parameter ref="SNRMTus" requirement="readOnly"/>
        <parameter ref="LATNds" requirement="readOnly"/>
        <parameter ref="LATNus" requirement="readOnly"/>
        <parameter ref="SATNds" requirement="readOnly"/>
        <parameter ref="SATNus" 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="ATMCRCErrors" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="PTMWAN:1">
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPTMLinkConfig."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="LinkStatus" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANPTMLinkConfig.Stats."
          requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="FramesSent" requirement="readOnly"/>
        <parameter ref="FramesReceived" requirement="readOnly"/>
        <parameter ref="OOSNearEnd" requirement="readOnly"/>
        <parameter ref="OOSFarEnd" requirement="readOnly"/>
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
        <parameter ref="UnicastPacketsSent" requirement="readOnly"/>
        <parameter ref="UnicastPacketsReceived" requirement="readOnly"/>
        <parameter ref="DiscardPacketsSent" requirement="readOnly"/>
        <parameter ref="DiscardPacketsReceived" requirement="readOnly"/>
        <parameter ref="MulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="MulticastPacketsReceived" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsReceived" requirement="readOnly"/>
        <parameter ref="UnknownProtoPacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="QoS:2" base="QoS:1">
      <object ref="InternetGatewayDevice.QueueManagement."
          requirement="present">
        <parameter ref="DefaultTrafficClass" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Classification.{i}."
          requirement="createDelete">
        <parameter ref="ClassificationKey" requirement="readOnly"
            status="obsoleted"/>
        <parameter ref="TrafficClass" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Policer.{i}."
          requirement="createDelete">
        <parameter ref="PolicerKey" requirement="readOnly" status="obsoleted"/>
        <parameter ref="ExcessBurstSize" requirement="readWrite"/>
        <parameter ref="PeakRate" requirement="readWrite"/>
        <parameter ref="PeakBurstSize" requirement="readWrite"/>
        <parameter ref="PartialConformingAction" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Queue.{i}."
          requirement="createDelete">
        <parameter ref="QueueKey" requirement="readOnly" status="obsoleted"/>
        <parameter ref="TrafficClasses" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANEthernetInterfaceConfig."
          requirement="notSpecified">
        <parameter ref="ShapingRate" requirement="readWrite"/>
        <parameter ref="ShapingBurstSize" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="QoSDynamicFlow:2" base="QoSDynamicFlow:1">
      <object ref="InternetGatewayDevice.QueueManagement.App.{i}."
          requirement="createDelete">
        <parameter ref="AppKey" requirement="readOnly" status="obsoleted"/>
        <parameter ref="AppDefaultTrafficClass" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Flow.{i}."
          requirement="createDelete">
        <parameter ref="FlowKey" requirement="readOnly" status="obsoleted"/>
        <parameter ref="FlowTrafficClass" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="QoSStats:1">
      <object ref="InternetGatewayDevice.QueueManagement."
          requirement="present">
        <parameter ref="QueueStatsNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.Policer.{i}."
          requirement="notSpecified">
        <parameter ref="TotalCountedPackets" requirement="readOnly"/>
        <parameter ref="TotalCountedBytes" requirement="readOnly"/>
        <parameter ref="ConformingCountedPackets" requirement="readOnly"/>
        <parameter ref="ConformingCountedBytes" requirement="readOnly"/>
        <parameter ref="NonConformingCountedPackets" requirement="readOnly"/>
        <parameter ref="NonConformingCountedBytes" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.QueueManagement.QueueStats.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Queue" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="OutputPackets" requirement="readOnly"/>
        <parameter ref="OutputBytes" requirement="readOnly"/>
        <parameter ref="DroppedPackets" requirement="readOnly"/>
        <parameter ref="DroppedBytes" requirement="readOnly"/>
        <parameter ref="QueueOccupancyPackets" requirement="readOnly"/>
        <parameter ref="QueueOccupancyPercentage" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Bridging:2" base="Bridging:1">
      <object ref="InternetGatewayDevice.Layer2Bridging."
          requirement="present">
        <parameter ref="MaxDBridgeEntries" requirement="readOnly"/>
        <parameter ref="MaxQBridgeEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
          requirement="createDelete">
        <parameter ref="BridgeStandard" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Marking.{i}."
          requirement="createDelete">
        <parameter ref="VLANIDMarkOverride" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="BridgingPortVLAN:1">
      <object ref="InternetGatewayDevice.Layer2Bridging."
          requirement="present">
        <parameter ref="MaxVLANEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}."
          requirement="present">
        <parameter ref="PortNumberOfEntries" requirement="readOnly"/>
        <parameter ref="VLANNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}.Port.{i}."
          requirement="createDelete">
        <parameter ref="PortEnable" requirement="readWrite"/>
        <parameter ref="PortInterface" requirement="readWrite"/>
        <parameter ref="PortState" requirement="readOnly"/>
        <parameter ref="PVID" requirement="readWrite"/>
        <parameter ref="AcceptableFrameTypes" requirement="readWrite"/>
        <parameter ref="IngressFiltering" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.Layer2Bridging.Bridge.{i}.VLAN.{i}."
          requirement="createDelete">
        <parameter ref="VLANEnable" requirement="readWrite"/>
        <parameter ref="VLANName" requirement="readWrite"/>
        <parameter ref="VLANID" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="Time:2" base="Time:1">
      <object ref="InternetGatewayDevice.Time." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="LocalTimeZone" requirement="readWrite"
            status="obsoleted"/>
        <parameter ref="LocalTimeZoneName" requirement="readWrite"/>
        <parameter ref="DaylightSavingsUsed" requirement="readWrite"
            status="obsoleted"/>
        <parameter ref="DaylightSavingsStart" requirement="readWrite"
            status="obsoleted"/>
        <parameter ref="DaylightSavingsEnd" requirement="readWrite"
            status="obsoleted"/>
      </object>
    </profile>

    <profile name="CaptivePortal:1">
      <object ref="InternetGatewayDevice.CaptivePortal." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="AllowedList" requirement="readWrite"/>
        <parameter ref="CaptivePortalURL" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="VDSL2DSLDiagnostics: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="HLINSCus" requirement="readOnly"/>
        <parameter ref="HLINGds" requirement="readOnly"/>
        <parameter ref="HLINGus" requirement="readOnly"/>
        <parameter ref="HLINpsds" requirement="readOnly"/>
        <parameter ref="HLINpsus" requirement="readOnly"/>
        <parameter ref="HLOGGds" requirement="readOnly"/>
        <parameter ref="HLOGGus" requirement="readOnly"/>
        <parameter ref="HLOGpsds" requirement="readOnly"/>
        <parameter ref="HLOGpsus" requirement="readOnly"/>
        <parameter ref="HLOGMTds" requirement="readOnly"/>
        <parameter ref="HLOGMTus" requirement="readOnly"/>
        <parameter ref="QLNGds" requirement="readOnly"/>
        <parameter ref="QLNGus" requirement="readOnly"/>
        <parameter ref="QLNpsds" requirement="readOnly"/>
        <parameter ref="QLNpsus" requirement="readOnly"/>
        <parameter ref="QLNMTds" requirement="readOnly"/>
        <parameter ref="QLNMTus" requirement="readOnly"/>
        <parameter ref="SNRGds" requirement="readOnly"/>
        <parameter ref="SNRGus" requirement="readOnly"/>
        <parameter ref="SNRpsds" requirement="readOnly"/>
        <parameter ref="SNRpsus" requirement="readOnly"/>
        <parameter ref="SNRMTds" requirement="readOnly"/>
        <parameter ref="SNRMTus" requirement="readOnly"/>
        <parameter ref="LATNpbds" requirement="readOnly"/>
        <parameter ref="LATNpbus" requirement="readOnly"/>
        <parameter ref="SATNds" requirement="readOnly"/>
        <parameter ref="SATNus" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DeviceAssociation:2" base="DeviceAssociation:1">
      <object
          ref="InternetGatewayDevice.ManagementServer.ManageableDevice.{i}."
          requirement="present">
        <parameter ref="Host" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DHCPOption:1">
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement."
          requirement="present">
        <parameter ref="DHCPOptionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPOption.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}."
          requirement="createDelete">
        <parameter ref="DHCPOptionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.LANDevice.{i}.LANHostConfigManagement.DHCPConditionalServingPool.{i}.DHCPOption.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.DHCPClient."
          requirement="present">
        <parameter ref="SentDHCPOptionNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ReqDHCPOptionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.DHCPClient.SentDHCPOption.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.DHCPClient.ReqDHCPOption.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="MemoryStatus:1">
      <object ref="InternetGatewayDevice.DeviceInfo.MemoryStatus."
          requirement="present">
        <parameter ref="Total" requirement="readOnly"/>
        <parameter ref="Free" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="ProcessStatus:1">
      <object ref="InternetGatewayDevice.DeviceInfo.ProcessStatus."
          requirement="present">
        <parameter ref="CPUUsage" requirement="readOnly"/>
        <parameter ref="ProcessNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.DeviceInfo.ProcessStatus.Process.{i}."
          requirement="present">
        <parameter ref="PID" requirement="readOnly"/>
        <parameter ref="Command" requirement="readOnly"/>
        <parameter ref="Size" requirement="readOnly"/>
        <parameter ref="Priority" requirement="readOnly"/>
        <parameter ref="CPUTime" requirement="readOnly"/>
        <parameter ref="State" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="TempStatus:1">
      <object ref="InternetGatewayDevice.DeviceInfo.TemperatureStatus."
          requirement="present">
        <parameter ref="TemperatureSensorNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="ResetTime" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Value" requirement="readOnly"/>
        <parameter ref="LastUpdate" requirement="readOnly"/>
        <parameter ref="MinValue" requirement="readOnly"/>
        <parameter ref="MinTime" requirement="readOnly"/>
        <parameter ref="MaxValue" requirement="readOnly"/>
        <parameter ref="MaxTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="TempStatusAdv:1" extends="TempStatus:1">
      <object
          ref="InternetGatewayDevice.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}."
          requirement="present">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="LowAlarmValue" requirement="readWrite"/>
        <parameter ref="LowAlarmTime" requirement="readOnly"/>
        <parameter ref="HighAlarmValue" requirement="readWrite"/>
        <parameter ref="HighAlarmTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="AutonXferComplPolicy:1">
      <object
          ref="InternetGatewayDevice.ManagementServer.AutonomousTransferCompletePolicy."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="TransferTypeFilter" requirement="readWrite"/>
        <parameter ref="FileTypeFilter" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="User:1">
      <object ref="InternetGatewayDevice." requirement="present">
        <parameter ref="UserNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.User.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="UPnPDev:1">
      <object ref="InternetGatewayDevice.UPnP." requirement="present"/>
      <object ref="InternetGatewayDevice.UPnP.Device." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="UPnPMediaServer" requirement="readWrite"/>
        <parameter ref="UPnPMediaRenderer" requirement="readWrite"/>
        <parameter ref="UPnPWLANAccessPoint" requirement="readWrite"/>
        <parameter ref="UPnPQoSDevice " requirement="readWrite"/>
        <parameter ref="UPnPQoSPolicyHolder" requirement="readWrite"/>
        <parameter ref="UPnPIGD" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.UPnP.Device.Capabilities."
          requirement="present">
        <parameter ref="UPnPArchitecture" requirement="readOnly"/>
        <parameter ref="UPnPMediaServer" requirement="readOnly"/>
        <parameter ref="UPnPMediaRenderer" requirement="readOnly"/>
        <parameter ref="UPnPWLANAccessPoint" requirement="readOnly"/>
        <parameter ref="UPnPBasicDevice" requirement="readOnly"/>
        <parameter ref="UPnPQoSDevice" requirement="readOnly"/>
        <parameter ref="UPnPQoSPolicyHolder" requirement="readOnly"/>
        <parameter ref="UPnPIGD" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UPnPDiscBasic:1">
      <object ref="InternetGatewayDevice.UPnP." requirement="present"/>
      <object ref="InternetGatewayDevice.UPnP.Discovery."
          requirement="present">
        <parameter ref="RootDeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.UPnP.Discovery.RootDevice.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="USN" requirement="readOnly"/>
        <parameter ref="LeaseTime" requirement="readOnly"/>
        <parameter ref="Location" requirement="readOnly"/>
        <parameter ref="Server" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UPnPDiscAdv:1" extends="UPnPDiscBasic:1">
      <object ref="InternetGatewayDevice.UPnP.Discovery."
          requirement="present">
        <parameter ref="DeviceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ServiceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.UPnP.Discovery.Device.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="USN" requirement="readOnly"/>
        <parameter ref="LeaseTime" requirement="readOnly"/>
        <parameter ref="Location" requirement="readOnly"/>
        <parameter ref="Server" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.UPnP.Discovery.Service.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="USN" requirement="readOnly"/>
        <parameter ref="LeaseTime" requirement="readOnly"/>
        <parameter ref="Location" requirement="readOnly"/>
        <parameter ref="Server" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="UPnPDiscAdv:2" extends="UPnPDiscAdv:1"
        dmr:previousProfile="UPnPDiscAdv:1">
      <object ref="InternetGatewayDevice.UPnP.Discovery.Device.{i}."
          requirement="present">
        <parameter ref="LastUpdate" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.UPnP.Discovery.Service.{i}."
          requirement="present">
        <parameter ref="LastUpdate" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
        <parameter ref="ParentDevice" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="SelfTestDiag:1">
      <object ref="InternetGatewayDevice.SelfTestDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Results" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="NSLookupDiag:1">
      <object ref="InternetGatewayDevice.NSLookupDiagnostics."
          requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="HostName" requirement="readWrite"/>
        <parameter ref="DNSServer" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="SuccessCount" requirement="readOnly"/>
        <parameter ref="ResultNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.NSLookupDiagnostics.Result.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="AnswerType" requirement="readOnly"/>
        <parameter ref="HostNameReturned" requirement="readOnly"/>
        <parameter ref="IPAddresses" requirement="readOnly"/>
        <parameter ref="DNSServerIP" requirement="readOnly"/>
        <parameter ref="ResponseTime" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="SimpleFirewall:1">
      <object ref="InternetGatewayDevice.Firewall." requirement="present">
        <parameter ref="Config" requirement="readWrite"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="LastChange" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="USBHostsBasic:1">
      <object ref="InternetGatewayDevice.USBHosts." requirement="present">
        <parameter ref="HostNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.USBHosts.Host.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="USBVersion" requirement="readOnly"/>
        <parameter ref="DeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}."
          requirement="present">
        <parameter ref="DeviceNumber" requirement="readOnly"/>
        <parameter ref="USBVersion" requirement="readOnly"/>
        <parameter ref="DeviceClass" requirement="readOnly"/>
        <parameter ref="DeviceSubClass" requirement="readOnly"/>
        <parameter ref="DeviceVersion" requirement="readOnly"/>
        <parameter ref="DeviceProtocol" requirement="readOnly"/>
        <parameter ref="ProductID" requirement="readOnly"/>
        <parameter ref="VendorID" requirement="readOnly"/>
        <parameter ref="Manufacturer" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="Port" requirement="readOnly"/>
        <parameter ref="Rate" requirement="readOnly"/>
        <parameter ref="Parent" requirement="readOnly"/>
        <parameter ref="MaxChildren" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="USBHostsAdv:1" extends="USBHostsBasic:1">
      <object ref="InternetGatewayDevice.USBHosts.Host.{i}."
          requirement="present">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="PowerManagementEnable" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}."
          requirement="present">
        <parameter ref="IsSuspended" requirement="readOnly"/>
        <parameter ref="IsSelfPowered" requirement="readOnly"/>
        <parameter ref="ConfigurationNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}.Configuration.{i}."
          requirement="present">
        <parameter ref="ConfigurationNumber" requirement="readOnly"/>
        <parameter ref="InterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}."
          requirement="present">
        <parameter ref="InterfaceNumber" requirement="readOnly"/>
        <parameter ref="InterfaceClass" requirement="readOnly"/>
        <parameter ref="InterfaceSubClass" requirement="readOnly"/>
        <parameter ref="InterfaceProtocol" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="PeriodicStatsBase:1">
      <object ref="InternetGatewayDevice.PeriodicStatistics."
          requirement="present">
        <parameter ref="MinSampleInterval" requirement="readOnly"/>
        <parameter ref="MaxReportSamples" requirement="readOnly"/>
        <parameter ref="SampleSetNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}."
          requirement="createDelete">
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="SampleInterval" requirement="readWrite"/>
        <parameter ref="ReportSamples" requirement="readWrite"/>
        <parameter ref="ReportStartTime" requirement="readOnly"/>
        <parameter ref="ReportEndTime" requirement="readOnly"/>
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="ParameterNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}.Parameter.{i}."
          requirement="createDelete">
        <parameter ref="Reference" requirement="readWrite"/>
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="SuspectData" requirement="readOnly"/>
        <parameter ref="Values" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="PeriodicStatsAdv:1" extends="PeriodicStatsBase:1">
      <object ref="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="TimeReference" requirement="readWrite"/>
        <parameter ref="FetchSamples" requirement="readWrite"/>
        <parameter ref="ForceSample" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.PeriodicStatistics.SampleSet.{i}.Parameter.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="SampleMode" requirement="readWrite"/>
        <parameter ref="CalculationMode" requirement="readWrite"/>
        <parameter ref="LowThreshold" requirement="readWrite"/>
        <parameter ref="HighThreshold" requirement="readWrite"/>
        <parameter ref="Failures" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DownloadAnnounce:1">
      <object ref="InternetGatewayDevice.DownloadAvailability."
          requirement="present"/>
      <object ref="InternetGatewayDevice.DownloadAvailability.Announcement."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="GroupNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.DownloadAvailability.Announcement.Group.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="URL" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="DownloadQuery:1">
      <object ref="InternetGatewayDevice.DownloadAvailability."
          requirement="present"/>
      <object ref="InternetGatewayDevice.DownloadAvailability.Query."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="URL" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="SupportedDataModel:1">
      <object ref="InternetGatewayDevice.DeviceInfo." requirement="present">
        <parameter ref="SupportedDataModelNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DeviceInfo.SupportedDataModel.{i}."
          requirement="present">
        <parameter ref="URL" requirement="readOnly"/>
        <parameter ref="URN" requirement="readOnly"/>
        <parameter ref="Features" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="TempStatusAdv:2" base="TempStatusAdv:1">
      <object
          ref="InternetGatewayDevice.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}."
          requirement="present">
        <parameter ref="PollingInterval" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="Processors:1">
      <object ref="InternetGatewayDevice.DeviceInfo.Processor.{i}."
          requirement="present">
        <parameter ref="Architecture" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="VendorLogFiles:1">
      <object ref="InternetGatewayDevice.DeviceInfo.VendorLogFile.{i}."
          requirement="present">
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="MaximumSize" requirement="readOnly"/>
        <parameter ref="Persistent" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DUStateChngComplPolicy:1">
      <object
          ref="InternetGatewayDevice.ManagementServer.DUStateChangeComplPolicy."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="OperationTypeFilter" requirement="readWrite"/>
        <parameter ref="ResultTypeFilter" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="SM_ExecEnvs:1">
      <object ref="InternetGatewayDevice.SoftwareModules."
          requirement="present">
        <parameter ref="ExecEnvNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.ExecEnv.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="AllocatedDiskSpace" requirement="readOnly"/>
        <parameter ref="AvailableDiskSpace" requirement="readOnly"/>
        <parameter ref="AllocatedMemory" requirement="readOnly"/>
        <parameter ref="AvailableMemory" requirement="readOnly"/>
        <parameter ref="ActiveExecutionUnits" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="SM_DeployAndExecUnits:1">
      <object ref="InternetGatewayDevice.SoftwareModules."
          requirement="present">
        <parameter ref="DeploymentUnitNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ExecutionUnitNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.DeploymentUnit.{i}."
          requirement="present">
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="DUID" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Resolved" requirement="readOnly"/>
        <parameter ref="URL" requirement="readOnly"/>
        <parameter ref="Description" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="VendorLogList" requirement="readOnly"/>
        <parameter ref="VendorConfigList" requirement="readOnly"/>
        <parameter ref="ExecutionUnitList" requirement="readOnly"/>
        <parameter ref="ExecutionEnvRef" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}."
          requirement="present">
        <parameter ref="EUID" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="ExecEnvLabel" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="RequestedState" requirement="readWrite"/>
        <parameter ref="ExecutionFaultCode" requirement="readOnly"/>
        <parameter ref="ExecutionFaultMessage" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="Description" requirement="readOnly"/>
        <parameter ref="References" requirement="readOnly"/>
        <parameter ref="AssociatedProcessList" requirement="readOnly"/>
        <parameter ref="VendorLogList" requirement="readOnly"/>
        <parameter ref="VendorConfigList" requirement="readOnly"/>
        <parameter ref="SupportedDataModelList" requirement="readOnly"/>
        <parameter ref="ExecutionEnvRef" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}.Extensions."
          requirement="present"/>
    </profile>

    <profile name="SM_Baseline:1">
      <object ref="InternetGatewayDevice.SoftwareModules."
          requirement="present">
        <parameter ref="ExecEnvNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DeploymentUnitNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ExecutionUnitNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.ExecEnv.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="ActiveExecutionUnits" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.DeploymentUnit.{i}."
          requirement="present">
        <parameter ref="UUID" requirement="readOnly"/>
        <parameter ref="DUID" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Resolved" requirement="readOnly"/>
        <parameter ref="URL" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="ExecutionUnitList" requirement="readOnly"/>
        <parameter ref="ExecutionEnvRef" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}."
          requirement="present">
        <parameter ref="EUID" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="ExecEnvLabel" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="RequestedState" requirement="readWrite"/>
        <parameter ref="ExecutionFaultCode" requirement="readOnly"/>
        <parameter ref="ExecutionFaultMessage" requirement="readOnly"/>
        <parameter ref="Vendor" requirement="readOnly"/>
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="References" requirement="readOnly"/>
        <parameter ref="SupportedDataModelList" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.SoftwareModules.ExecutionUnit.{i}.Extensions."
          requirement="present"/>
    </profile>

    <profile name="FaultMgmtSupportedAlarms:1">
      <object ref="InternetGatewayDevice.FaultMgmt." requirement="present">
        <parameter ref="SupportedAlarmNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FaultMgmt.SupportedAlarm.{i}."
          requirement="present">
        <parameter ref="EventType" requirement="readOnly"/>
        <parameter ref="ProbableCause" requirement="readOnly"/>
        <parameter ref="SpecificProblem" requirement="readOnly"/>
        <parameter ref="PerceivedSeverity" requirement="readOnly"/>
        <parameter ref="ReportingMechanism" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="FaultMgmtActive:1 ">
      <object ref="InternetGatewayDevice.FaultMgmt." requirement="present">
        <parameter ref="CurrentAlarmNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FaultMgmt.CurrentAlarm.{i}."
          requirement="present">
        <parameter ref="AlarmIdentifier" requirement="readOnly"/>
        <parameter ref="AlarmRaisedTime" requirement="readOnly"/>
        <parameter ref="AlarmChangedTime" requirement="readOnly"/>
        <parameter ref="EventType" requirement="readOnly"/>
        <parameter ref="ProbableCause" requirement="readOnly"/>
        <parameter ref="PerceivedSeverity" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FaultMgmtHistory:1">
      <object ref="InternetGatewayDevice.FaultMgmt." requirement="present">
        <parameter ref="HistoryEventNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FaultMgmt.HistoryEvent.{i}."
          requirement="present">
        <parameter ref="EventTime" requirement="readOnly"/>
        <parameter ref="AlarmIdentifier" requirement="readOnly"/>
        <parameter ref="NotificationType" requirement="readOnly"/>
        <parameter ref="EventType" requirement="readOnly"/>
        <parameter ref="ProbableCause" requirement="readOnly"/>
        <parameter ref="PerceivedSeverity" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FaultMgmtExpedited:1">
      <object ref="InternetGatewayDevice.FaultMgmt." requirement="present">
        <parameter ref="ExpeditedEventNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FaultMgmt.ExpeditedEvent.{i}."
          requirement="present">
        <parameter ref="EventTime" requirement="readOnly"/>
        <parameter ref="AlarmIdentifier" requirement="readOnly"/>
        <parameter ref="NotificationType" requirement="readOnly"/>
        <parameter ref="EventType" requirement="readOnly"/>
        <parameter ref="ProbableCause" requirement="readOnly"/>
        <parameter ref="PerceivedSeverity" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FaultMgmtQueued:1">
      <object ref="InternetGatewayDevice.FaultMgmt." requirement="present">
        <parameter ref="QueuedEventNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FaultMgmt.QueuedEvent.{i}."
          requirement="present">
        <parameter ref="EventTime" requirement="readOnly"/>
        <parameter ref="AlarmIdentifier" requirement="readOnly"/>
        <parameter ref="NotificationType" requirement="readOnly"/>
        <parameter ref="EventType" requirement="readOnly"/>
        <parameter ref="ProbableCause" requirement="readOnly"/>
        <parameter ref="PerceivedSeverity" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="Location:1">
      <object ref="InternetGatewayDevice.DeviceInfo." requirement="present">
        <parameter ref="LocationNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DeviceInfo.Location.{i}."
          requirement="createDelete">
        <parameter ref="Source" requirement="readOnly"/>
        <parameter ref="AcquiredTime" requirement="readOnly"/>
        <parameter ref="ExternalSource" requirement="readOnly"/>
        <parameter ref="ExternalProtocol" requirement="readOnly"/>
        <parameter ref="DataObject" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="FAP_GPS:1">
      <object ref="InternetGatewayDevice.FAP.GPS." requirement="present">
        <parameter ref="ScanOnBoot" requirement="readWrite"/>
        <parameter ref="ScanPeriodically" requirement="readWrite"/>
        <parameter ref="PeriodicInterval" requirement="readWrite"/>
        <parameter ref="PeriodicTime" requirement="readWrite"/>
        <parameter ref="ContinuousGPS" requirement="readWrite"/>
        <parameter ref="ScanTimeout" requirement="readWrite"/>
        <parameter ref="ScanStatus" requirement="readOnly"/>
        <parameter ref="ErrorDetails" requirement="readOnly"/>
        <parameter ref="LastScanTime" requirement="readOnly"/>
        <parameter ref="LastSuccessfulScanTime" requirement="readOnly"/>
        <parameter ref="LockedLatitude" requirement="readOnly"/>
        <parameter ref="LockedLongitude" requirement="readOnly"/>
        <parameter ref="NumberOfSatellites" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FAP_Tunnel:1">
      <object ref="InternetGatewayDevice.FAP.Tunnel." requirement="present">
        <parameter ref="IKESANumberOfEntries" requirement="readOnly"/>
        <parameter ref="ChildSANumberOfEntries" requirement="readOnly"/>
        <parameter ref="MaxVirtualInterfaces" requirement="readOnly"/>
        <parameter ref="VirtualInterfaceNumberOfEntries"
            requirement="readOnly"/>
        <parameter ref="UseForCWMP" requirement="readWrite"/>
        <parameter ref="MaxChildSAPerIKE" requirement="readOnly"/>
        <parameter ref="MaxIKESessions" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.Tunnel.IKESA.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="PeerAddress" requirement="readOnly"/>
        <parameter ref="CreationTime" requirement="readOnly"/>
        <parameter ref="IPAddress" requirement="readOnly"/>
        <parameter ref="SubnetMask" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.Tunnel.ChildSA.{i}."
          requirement="present">
        <parameter ref="ParentID" requirement="readOnly"/>
        <parameter ref="SPI" requirement="readOnly"/>
        <parameter ref="DirectionOutbound" requirement="readOnly"/>
        <parameter ref="CreationTime" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.Tunnel.VirtualInterface.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="CryptoProfile" requirement="readWrite"/>
        <parameter ref="DSCPMarkPolicy" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.Tunnel.CryptoProfile.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="AuthMethod" requirement="readWrite"/>
        <parameter ref="MaxChildSA" requirement="readWrite"/>
        <parameter ref="IKEEncrypt" requirement="readWrite"/>
        <parameter ref="IKEPRF" requirement="readWrite"/>
        <parameter ref="IKEIntegrity" requirement="readWrite"/>
        <parameter ref="IKEDH" requirement="readWrite"/>
        <parameter ref="ESPEncrypt" requirement="readWrite"/>
        <parameter ref="ESPIntegrity" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="FAP_PerfMgmt:1">
      <object ref="InternetGatewayDevice.FAP.PerfMgmt." requirement="present">
        <parameter ref="ConfigNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.PerfMgmt.Config.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicUploadInterval" requirement="readWrite"/>
        <parameter ref="PeriodicUploadTime" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="FAP_ApplicationPlatform:1">
      <object ref="InternetGatewayDevice.FAP.ApplicationPlatform."
          requirement="present">
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="MaxNumberOfApplications" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.ApplicationPlatform.Control."
          requirement="present">
        <parameter ref="AuthenticationMethod" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.FAP.ApplicationPlatform.Control.FemtoAwareness."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="FemtozoneID" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.ApplicationPlatform.Control.SMS."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="MinSendSMSTimeInterval" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.FAP.ApplicationPlatform.Control.MMS."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="MinSendMMSTimeInterval" requirement="readWrite"/>
      </object>
      <object
          ref="InternetGatewayDevice.FAP.ApplicationPlatform.Control.TerminalLocation."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="QueryMobileLocationResponseAddress"
            requirement="readWrite"/>
        <parameter ref="QueryMobileLocationResponseLongitudeLatitude"
            requirement="readWrite"/>
      </object>
    </profile>

    <profile name="BulkDataColl:1">
      <object ref="InternetGatewayDevice.BulkData." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MinReportingInterval" requirement="readOnly"/>
        <parameter ref="Protocols" requirement="readOnly"/>
        <parameter ref="EncodingTypes" requirement="readOnly"/>
        <parameter ref="ProfileNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.BulkData.Profile.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Protocol" requirement="readWrite"/>
        <parameter ref="EncodingType" requirement="readWrite"/>
        <parameter ref="ReportingInterval" requirement="readWrite"/>
        <parameter ref="TimeReference" requirement="readWrite"/>
        <parameter ref="ParameterNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.BulkData.Profile.{i}.Parameter.{i}."
          requirement="createDelete">
        <parameter ref="Reference" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="BulkDataStreaming:1" extends="BulkDataColl:1">
      <object ref="InternetGatewayDevice.BulkData.Profile.{i}."
          requirement="createDelete">
        <parameter ref="StreamingHost" requirement="readWrite"/>
        <parameter ref="StreamingPort" requirement="readWrite"/>
        <parameter ref="StreamingSessionID" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="BulkDataFileTransfer:1" extends="BulkDataColl:1">
      <object ref="InternetGatewayDevice.BulkData.Profile.{i}."
          requirement="createDelete">
        <parameter ref="FileTransferURL" requirement="readWrite"/>
        <parameter ref="FileTransferUsername" requirement="readWrite"/>
        <parameter ref="FileTransferPassword" requirement="readWrite"/>
        <parameter ref="ControlFileFormat" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="DNS_SD:1">
      <object ref="InternetGatewayDevice.DNS.SD." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ServiceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DNS.SD.Service.{i}."
          requirement="present">
        <parameter ref="InstanceName" requirement="readOnly"/>
        <parameter ref="ApplicationProtocol" requirement="readOnly"/>
        <parameter ref="TransportProtocol" requirement="readOnly"/>
        <parameter ref="Domain" requirement="readOnly"/>
        <parameter ref="Port" requirement="readOnly"/>
        <parameter ref="Target" requirement="readOnly"/>
        <parameter ref="Priority" requirement="readOnly"/>
        <parameter ref="Weight" requirement="readOnly"/>
        <parameter ref="TimeToLive" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="LastUpdate" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
        <parameter ref="TextRecordNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.DNS.SD.Service.{i}.TextRecord.{i}."
          requirement="present">
        <parameter ref="Key" requirement="readOnly"/>
        <parameter ref="Value" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="SupportedDataModel:2" extends="SupportedDataModel:1">
      <object ref="InternetGatewayDevice.DeviceInfo.SupportedDataModel.{i}."
          requirement="present">
        <parameter ref="UUID" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="StandbyPolicy:1">
      <description>
        Note that support for this profile implies support for the requirements
        of {{bibref|TR-069a5|Annex L}}.
      </description>
      <object ref="InternetGatewayDevice.ManagementServer.StandbyPolicy."
          requirement="present">
        <parameter ref="CRUnawarenessMaxDuration" requirement="readWrite"/>
        <parameter ref="MaxMissedPeriodic" requirement="readWrite"/>
        <parameter ref="NotifyMissedScheduled" requirement="readWrite"/>
        <parameter ref="NetworkAwarenessCapable" requirement="readOnly"/>
        <parameter ref="SelfTimerCapable" requirement="readOnly"/>
        <parameter ref="CRAwarenessRequested" requirement="readWrite"/>
        <parameter ref="PeriodicAwarenessRequested" requirement="readWrite"/>
        <parameter ref="ScheduledAwarenessRequested" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="XMPPBasic:1">
      <object ref="InternetGatewayDevice.XMPP." requirement="present">
        <parameter ref="ConnectionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.XMPP.Connection.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="Domain" requirement="readWrite"/>
        <parameter ref="Resource" requirement="readWrite"/>
        <parameter ref="JabberID" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="LastChangeDate" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="XMPPAdvanced:1" extends="XMPPBasic:1">
      <object ref="InternetGatewayDevice.XMPP.Connection.{i}."
          requirement="createDelete">
        <parameter ref="ServerConnectAlgorithm" requirement="readWrite"/>
        <parameter ref="KeepAliveInterval" requirement="readWrite"/>
        <parameter ref="ServerNumberOfEntries" requirement="readOnly"/>
        <parameter ref="UseTLS" requirement="readWrite"/>
        <parameter ref="TLSEstablished" requirement="readOnly"/>
      </object>
      <object ref="InternetGatewayDevice.XMPP.Connection.{i}.Server.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Priority" requirement="readWrite"/>
        <parameter ref="Weight" requirement="readWrite"/>
        <parameter ref="ServerAddress" requirement="readWrite"/>
        <parameter ref="Port" requirement="readWrite"/>
      </object>
      <object ref="InternetGatewayDevice.XMPP.Connection.{i}.Stats."
          requirement="present">
        <parameter ref="ReceivedMessages" requirement="readOnly"/>
        <parameter ref="TransmittedMessages" requirement="readOnly"/>
        <parameter ref="ReceivedErrorMessages" requirement="readOnly"/>
        <parameter ref="TransmittedErrorMessages" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="XMPPReconnect:1">
      <object ref="InternetGatewayDevice.XMPP.Connection.{i}."
          requirement="createDelete">
        <parameter ref="ServerConnectAttempts" requirement="readWrite"/>
        <parameter ref="ServerRetryInitialInterval" requirement="readWrite"/>
        <parameter ref="ServerRetryIntervalMultiplier" requirement="readWrite"/>
        <parameter ref="ServerRetryMaxInterval" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="XMPPConnReq:1" extends="XMPPBasic:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="present">
        <parameter ref="SupportedConnReqMethods" requirement="readOnly"/>
        <parameter ref="ConnReqXMPPConnection" requirement="readWrite"/>
        <parameter ref="ConnReqAllowedJabberIDs" requirement="readWrite"/>
        <parameter ref="ConnReqJabberID" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="InformParameters:1">
      <object ref="InternetGatewayDevice.ManagementServer."
          requirement="present">
        <parameter ref="InformParameterNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="InternetGatewayDevice.ManagementServer.InformParameter.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ParameterName" requirement="readWrite"/>
        <parameter ref="EventList" requirement="readWrite"/>
      </object>
    </profile>
  </model>
</dm:document>
