<?xml version="1.0" encoding="UTF-8"?>
<!--
  TR-069 Device:2.12 Root Object definition [CWMP]

  Copyright (c) 2010-2018, Broadband Forum

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

  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials
     provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products
     derived from this software without specific prior written
     permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  The above license is used as a license under copyright only.
  Please reference the Forum IPR Policy for patent licensing terms
  <https://www.broadband-forum.org/ipr-policy>.

  Any moral rights which are necessary to exercise under the above
  license grant are also deemed granted under this license.

  Summary:
    TR-069 Device:2.12 Root Object definition.

  Editors:
  * John Blackford, ARRIS
  * Tim Carey, Nokia
  * Tim Spets, Greenwave System
  * Klaus Wich, Huawei

  Broadband User Service Work Area Directors:
  * Jason Walls, QA Cafe
  * John Blackford, ARRIS

  Issue History (Filename: Approval Date: Publication Date: Changes):
  * tr-181-2-0-0.xml: May 2010:
    - corresponds to TR-181 Issue 2.
  * tr-181-2-1-0.xml: November 2010:
    - corresponds to TR-181 Issue 2 Amendment 1.
  * tr-181-2-2-0.xml: March 2011:
    - corresponds to TR-181 Issue 2 Amendment 2.
  * tr-181-2-3-0.xml: September 2011:
    - corresponds to TR-181 Issue 2 Amendment 3.
  * tr-181-2-4-0.xml: November 2011:
    - corresponds to TR-181 Issue 2 Amendment 4.
  * tr-181-2-5-0.xml: May 2012:
    - corresponds to TR-181 Issue 2 Amendment 5.
  * tr-181-2-6-0.xml: November 2012:
    - corresponds to TR-181 Issue 2 Amendment 6.
  * tr-181-2-7-0.xml: November 2013: January 17, 2014
    - corresponds to TR-181 Issue 2 Amendment 7.
  * tr-181-2-8-0.xml: 8 September 2014: 17 September 2014:
    - corresponds to TR-181 Issue 2 Amendment 8.
  * tr-181-2-9-0.xml:  1 December 2014:  4 February 2015:
    - Added WiFi MAC Address Filtering
    - Added Traceroute fixes
    - Added IEEE 1905 data model
    - Incorporated TR-143a1
  * tr-181-2-10-0.xml: 9 November 2015: 13 November 2015:
    - corresponds to TR-181 Issue 2 Amendment 10.
  * tr-181-2-11-0.xml: 18 July 2016: 12 August 2016
    - corresponds to TR-181 Issue 2 Amendment 11.
  * tr-181-2-12-0-cwmp.xml: 26 March 2018: 26 March 2018
    - corresponds to TR-181 Issue 2 Amendment 12.
-->

<!--
  In the dm:document attributes below, 'spec="urn:broadband-forum-org:tr-181-2-12-0-cwmp"'
  should properly be 'spec="urn:broadband-forum-org:tr-181-2-12-0"'. The "-cwmp" at the end
  of this string is included to avoid undesirable BBF Report Tool outputs or changes at this
  time.
-->
<dm:document xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-6"
    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-6
  http://www.broadband-forum.org/cwmp/cwmp-datamodel-1-6.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-181-2-12-0-cwmp" file="tr-181-2-12-0-cwmp.xml">

  <description>
    {{docname|Device:2 Root Data Model for CWMP (TR-069)}}
    {{appdate|March 2018}}
    {{trname|TR-181i2a12}}
    * Added TR-069a6 support
    * Added Firmware Image support
    * Added Ethernet Link Aggregation Group
    * Added additional Wi-Fi and WAN statistics
    * Added support for Two-Way Active Measurement Protocol (TWAMP) reflector
    * Added support for Layer Two Tunneling Protocol version 3 (L2TPv3)
    * Added support for Virtual eXtensible Local Area Network (VXLAN) tunnels
    * Added support for Broadband Access Service Attributes and Performance Metrics measurement test framework (BASAPM)
    * Added support for Large-Scale Measurement of Broadband Performance (LMAP)
  </description>

  <import file="tr-069-1-6-biblio.xml" spec="urn:broadband-forum-org:tr-069-1-6"/>

  <import file="tr-106-1-1-types.xml" spec="urn:broadband-forum-org:tr-106-1-1">
    <dataType name="Alias"/>
    <dataType name="UUID"/>
    <dataType name="StatsCounter32"/>
    <dataType name="StatsCounter64"/>
  </import>

  <import file="tr-181-2-12-common.xml" spec="urn:broadband-forum-org:tr-181-2-12-0">
    <component name="ADSLLineDiagnostics"/>
    <component name="ATMF5LoopbackDiagnostics"/>
    <component name="HPNAPHYThroughputDiagnostics"/>
    <component name="HPNAPerformanceMonitoringDiagnostics"/>
    <component name="GhnPHYThroughputDiagnostics"/>
    <component name="GhnPerformanceMonitoringDiagnostics"/>
    <component name="UPAInterfaceMeasurementDiagnostics"/>
    <component name="WiFiNeighboringWiFiDiagnostics"/>
    <component name="IPPingDiagnostics"/>
    <component name="IPTraceRouteDiagnostics"/>
    <component name="IPDownloadDiagnostics"/>
    <component name="IPUploadDiagnostics"/>
    <component name="IPUDPEchoDiagnostics"/>
    <component name="IPServerSelectionDiagnostics"/>
    <component name="DNSLookupDiagnostics"/>
    <component name="SelfTestDiagnostics"/>
    <model name="_Device:2.12" ref="Device:2.12"/>
  </import>

  <model name="Device:2.12" base="_Device:2.12">
    <object base="Device.DeviceInfo." access="readOnly" minEntries="1" maxEntries="1">
      <parameter base="ManufacturerOUI" access="readOnly">
        <description action="append">
          Any change would indicate that it's a new device and would therefore require a BOOTSTRAP Inform.
        </description>
      </parameter>
      <parameter name="SupportedDataModelNumberOfEntries" access="readOnly" dmr:version="2.0">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.DeviceInfo.SupportedDataModel.{i}." access="readOnly" numEntriesParameter="SupportedDataModelNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.0">
      <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>
        <parameter ref="UUID"/>
      </uniqueKey>
      <parameter name="Alias" access="readWrite" activeNotify="canDeny" dmr:version="2.3">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="URL" access="readOnly" dmr:version="2.0">
        <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:version="2.6">
        <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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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="Device.DeviceInfo.ProxierInfo." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.3">
      <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <description>
          Serial number of the associated CPE Proxier.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ProxyProtocol" access="readOnly" dmr:version="2.3">
        <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>
            <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="Device.GatewayInfo." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0">
      <description>
        This object contains information associated with a connected Internet Gateway Device.
      </description>
      <parameter name="ManufacturerOUI" access="readOnly" activeNotify="forceDefaultEnabled" dmr:version="2.0">
        <description>
          Organizationally unique identifier of the associated Internet Gateway Device.  {{pattern}}
          {{empty}} indicates that there is  no associated Internet Gateway Device that has been detected.
        </description>
        <syntax>
          <string>
            <size maxLength="6"/>
            <pattern value=""/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ProductClass" access="readOnly" activeNotify="forceDefaultEnabled" dmr:version="2.0">
        <description>
          Identifier of the product class of the associated Internet Gateway Device.  {{empty}} indicates either that  there is no associated Internet Gateway Device that has been detected, or the Internet Gateway Device does not support the use of the  product-class parameter.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="SerialNumber" access="readOnly" activeNotify="forceDefaultEnabled" dmr:version="2.0">
        <description>
          Serial number of the associated Internet Gateway Device.  {{empty}} indicates that there is no associated  Internet Gateway Device that has been detected.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.ManagementServer." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0" dmr:previousObject="Device.DeviceInfo.">
      <description>
        This object contains parameters relating to the CPE's association with an ACS.
      </description>
      <parameter name="EnableCWMP" access="readWrite" dmr:version="2.0">
        <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 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/>
          <default type="factory" value="true"/>
        </syntax>
      </parameter>
      <parameter name="URL" access="readWrite" dmr:version="2.0">
        <description>
          URL, as defined in {{bibref|RFC3986}}, for the CPE to connect to the ACS using the CPE WAN Management Protocol.
          This parameter MUST be in the form of a valid HTTP or HTTPS URL.
          The ''host'' portion of this URL is used by the CPE for validating the ACS certificate when using SSL or TLS.
          Note that on a factory reset of the CPE, the value of this parameter might be reset to its factory value.  If an ACS modifies the  value of this parameter, it SHOULD be prepared to accommodate the situation that the original value is restored as the result of a  factory reset.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Username" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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="ScheduleReboot" access="readWrite" dmr:version="2.10">
        <description>
          An absolute date and time in UTC at which time the CPE will perform a reboot.
          If a CWMP session is in progress at the specified time, the CPE MUST wait until the session has ended before performing the reboot.
          If the value specifies a date and time that has already passed (i.e., a past date and time), no reboot will be performed.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
      <parameter name="DelayReboot" access="readWrite" dmr:version="2.10">
        <description>
          The number of seconds from the time the CWMP session in which this parameter value is set is ended until the CPE performs a reboot.
          Whenever the CPE reboots, this value MUST be reset by the CPE to -1.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="PeriodicInformEnable" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          The duration in {{units}} 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"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="PeriodicInformTime" access="readWrite" dmr:version="2.0">
        <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-106a2|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 {{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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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.
          Note: If the ''host'' portion of the URL is a literal IPv6 address then it MUST be enclosed in square brackets (see {{bibref|RFC3986|Section 3.2.2}}).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ConnectionRequestUsername" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          Indicates whether or not the ACS will manage upgrades for the CPE.  If {{true}}, the CPE SHOULD NOT use other  means other than the ACS to seek out available upgrades.  If {{false}}, the CPE MAY use other means for this purpose.
          Note that an autonomous upgrade (reported via an "10 AUTONOMOUS TRANSFER COMPLETE" Inform Event code) SHOULD be regarded as a managed  upgrade if it is performed according to ACS-specified policy.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="KickURL" access="readOnly" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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:version="2.0">
        <description>
          This parameter is used to control throttling of active notifications sent by the CPE to the ACS.  It defines the  minimum number of {{units}} 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>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="CWMPRetryMinimumWaitInterval" access="readWrite" dmr:version="2.0">
        <description>
          Configures the first session retry wait interval, in {{units}}, 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" dmr:version="2.0">
        <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="HTTPConnectionRequestEnable" access="readWrite" dmr:version="2.11">
        <description>
          Enables or disables HTTP connection request handling on the CPE.
          If HTTP connection request handling is disabled ({{param}} is set to {{false}}), {{param|ConnectionRequestURL}} MUST be set to {{empty}} and the CPE MUST close the port used by the HTTP connection request server.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="true"/>
        </syntax>
      </parameter>
      <parameter name="UDPConnectionRequestAddress" access="readOnly" dmr:version="2.0">
        <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''.
          Note: If the ''host'' portion of the URL is a literal IPv6 address then it MUST be enclosed in square brackets (see {{bibref|RFC3986|Section 3.2.2}}).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="STUNEnable" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          Host name or IP address of the STUN server for the CPE to send Binding Requests if STUN is enabled via  {{param|STUNEnable}}.
          If is {{empty}} and {{param|STUNEnable}} is {{true}}, the CPE MUST use the address of the ACS extracted from the host portion of the  ACS URL.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="STUNServerPort" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          If is not {{empty}}, the value of the STUN USERNAME attribute to be used in Binding Requests (only if message  integrity has been requested by the STUN server).
          If is {{empty}}, the CPE MUST NOT send STUN Binding Requests with message integrity.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="STUNPassword" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          If STUN Is enabled, the maximum period, in {{units}}, 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"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="STUNMinimumKeepAlivePeriod" access="readWrite" dmr:version="2.0">
        <description>
          If STUN Is enabled, the minimum period, in {{units}}, 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>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="NATDetected" access="readOnly" dmr:version="2.0">
        <description>
          When STUN is enabled, this parameter indicates whether or not the CPE has detected address and/or port mapping  in use.
          A {{true}} value indicates that the received MAPPED-ADDRESS in the most recent Binding Response differs from the CPE's source address and port.
          When {{param|STUNEnable}} is {{false}}, this value MUST be {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="AliasBasedAddressing" access="readOnly" forcedInform="true" dmr:version="2.3">
        <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="InstanceMode" access="readWrite" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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="ManageableDeviceNumberOfEntries" access="readOnly" dmr:version="2.0">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="ManageableDeviceNotificationLimit" access="readWrite" dmr:version="2.7">
        <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" dmr:version="2.3">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="VirtualDeviceNumberOfEntries" access="readOnly" dmr:version="2.3">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="SupportedConnReqMethods" access="readOnly" dmr:version="2.7">
        <description>
          The connection request methods supported by this {{object}}. {{enum}}
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP">
              <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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">
            <size/>
          </list>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ConnReqJabberID" access="readOnly" activeNotify="forceDefaultEnabled" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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="LightweightNotificationTriggerInterval" access="readWrite" dmr:version="2.12">
        <description>
          The duration in {{units}} of the interval for which the CPE MUST attempt to deliver any pending Passive Lightweight Notifications.
          A value of 0 means that the trigger interval is effectively disabled. In this case pending Passive Lightweight Notifications are only sent when triggered by an Active Lightweight Notification.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="LightweightNotificationTriggerTime" access="readWrite" dmr:version="2.12">
        <description>
          An absolute time reference in UTC to determine when the CPE will initiate the Lightweight Notification (in the case that there are pending Passive Lightweight Notifications that need to be delivered). Each Passive Lightweight Notification (that is waiting for the Lightweight Notification Trigger mechanism for delivery) MUST occur at this reference time plus or minus an integer multiple of the {{param|LightweightNotificationTriggerInterval}}. {{param}} is used only to set the ''phase'' of the Passive Lightweight Notification. The actual value of {{param}} can be arbitrarily far into the past or future.
          For example, if {{param|LightweightNotificationTriggerInterval}} is 86400 (a day) and if {{param}} is set to UTC midnight on some day (in the past, present, or future) then Lightweight Notifications for pending Passive Lightweight Notifications 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-106a2|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 {{param|LightweightNotificationTriggerInterval}}. If absolute time is not available to the CPE, its Lightweight Notifications behavior MUST be the same as if the {{param}} parameter was set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
      <parameter name="UDPLightweightNotificationHost" access="readWrite" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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="InstanceWildcardsSupported" access="readOnly" dmr:version="2.12">
        <description>
          Indicates whether or not instance wildcards are supported.
          A {{true}} value indicates that the CPE supports instance wildcards for GPV, GPN and GPA RPC calls, as defined in [TR-069a6].
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="InformParameterNumberOfEntries" access="readOnly" dmr:version="2.8">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ManagementServer.ManageableDevice.{i}." access="readOnly" numEntriesParameter="ManageableDeviceNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.0">
      <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 functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="ManufacturerOUI"/>
        <parameter ref="SerialNumber"/>
        <parameter ref="ProductClass"/>
      </uniqueKey>
      <parameter name="Alias" access="readWrite" status="deprecated" dmr:version="2.0">
        <description>
          A non-volatile handle used to reference this instance. {{param}} provides a mechanism for an ACS to label this instance for future reference. An initial unique value MUST be assigned when the CPE creates an instance of this object.
          This parameter is DEPRECATED because {{object}} is a transient object.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ManufacturerOUI" access="readOnly" activeNotify="canDeny" dmr:version="2.0">
        <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.  {{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="SerialNumber" access="readOnly" activeNotify="canDeny" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          {{list}} {{reference}}  References all the {{object|.Hosts.Host}} table entries, whether active or inactive, that correspond to this physical LAN device.  There can be multiple such entries if the device has more than one network interface.
          For example: ''Device.Hosts.Host.1,Device.Hosts.Host.5''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ManagementServer.AutonomousTransferCompletePolicy." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0">
      <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" dmr:version="2.0">
        <description>
          Enable/disable CPE notification of AUTONOMOUS TRANSFER COMPLETE events to the ACS.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="TransferTypeFilter" access="readWrite" dmr:version="2.0">
        <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:version="2.0">
        <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" dmr:version="2.0">
        <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="Device.ManagementServer.DownloadAvailability." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0">
      <description>
        This object contains multicast announcement and query parameters used for the purpose of downloading files.
      </description>
    </object>
    <object name="Device.ManagementServer.DownloadAvailability.Announcement." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0">
      <description>
        This object contains multicast announcement parameters used to download files.
      </description>
      <parameter name="Enable" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ManagementServer.DownloadAvailability.Announcement.Group.{i}." access="readWrite" numEntriesParameter="GroupNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.0">
      <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:version="2.3">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Enable" access="readWrite" dmr:version="2.0">
        <description>
          Enable/disable listening to this multicast group.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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="Device.ManagementServer.DownloadAvailability.Query." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.0">
      <description>
        This object contains multicast query parameters used to download files.
      </description>
      <parameter name="Enable" access="readWrite" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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" dmr:version="2.0">
        <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="Device.ManagementServer.DUStateChangeComplPolicy." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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="Device.ManagementServer.EmbeddedDevice.{i}." access="readOnly" numEntriesParameter="EmbeddedDeviceNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.3">
      <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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 refType="strong" targetParent=".DeviceInfo.SupportedDataModel." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Host" access="readOnly" dmr:version="2.3">
        <description>
          References the {{object|.Hosts.Host}} table entry(s), whether active or inactive, that corresponds to this proxied LAN device.
        </description>
        <syntax>
          <list maxItems="32">
            <size/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ProxyProtocol" access="readOnly" dmr:version="2.3">
        <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>
            <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:version="2.6">
        <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:version="2.6">
        <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:version="2.6">
        <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <description>
          Detailed {{param|CommandProcessed}} error description (vendor specific).
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="LastSyncTime" access="readOnly" dmr:version="2.3">
        <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="Device.ManagementServer.VirtualDevice.{i}." access="readOnly" numEntriesParameter="VirtualDeviceNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.3">
      <description>
        Each entry in this table represents a distinct Proxied Device that utilizes the Virtual CWMP Device Mechanism {{bibref|TR-069a4|Annex I.1.1}} for proxying devices.
      </description>
      <uniqueKey>
        <parameter ref="ManufacturerOUI"/>
        <parameter ref="ProductClass"/>
        <parameter ref="SerialNumber"/>
      </uniqueKey>
      <parameter name="ManufacturerOUI" access="readOnly" dmr:version="2.3">
        <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" dmr:version="2.3">
        <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" dmr:version="2.3">
        <description>
          Serial number of the associated Proxied Device.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Host" access="readOnly" dmr:version="2.3">
        <description>
          {{list}} {{reference}}  References all the {{object|.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">
            <size/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ProxyProtocol" access="readOnly" dmr:version="2.3">
        <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>
            <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:version="2.6">
        <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:version="2.6">
        <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:version="2.6">
        <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="Device.ManagementServer.StandbyPolicy." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.7">
      <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" dmr:version="2.7">
        <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>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
          <default type="factory" value="-1"/>
        </syntax>
      </parameter>
      <parameter name="MaxMissedPeriodic" access="readWrite" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <description>
          Indicates that the CPE is capable of CR-Aware Standby.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="SelfTimerCapable" access="readOnly" dmr:version="2.7">
        <description>
          Indicates that the CPE is capable of Timer-Aware Standby.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="CRAwarenessRequested" access="readWrite" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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" dmr:version="2.7">
        <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="Device.ManagementServer.InformParameter.{i}." access="readWrite" numEntriesParameter="InformParameterNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.8">
      <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>
        <parameter ref="ParameterName"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.8">
        <description>
          Enables or disables this {{object}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.8">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="ParameterName" access="readWrite" dmr:version="2.8">
        <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" dmr:version="2.8">
        <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="Device.ManagementServer.HeartbeatPolicy." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.12">
      <description>
        Parameters related to CPE behavior in order to issue a Heartbeat event to the ACS using the Inform method call.
        If this object is supported then the CPE MUST support the requirements of {{bibref|TR-069|Annex O}}.
      </description>
      <parameter name="Enable" access="readWrite" dmr:version="2.12">
        <description>
          When {{true}}, Heartbeat events are enabled to be sent to the ACS based on the values of the {{param|ReportingInterval}} and {{param|InitiationTime}} parameters.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="ReportingInterval" access="readWrite" dmr:version="2.12">
        <description>
          The duration in {{units}} of the interval for which the CPE MUST attempt to connect with the ACS and call the Inform method if {{param|Enable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="30"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="InitiationTime" access="readWrite" dmr:version="2.12">
        <description>
          An absolute time reference in UTC to determine when the CPE will initiate the Heartbeat event Inform method calls. Each Inform call MUST occur at this reference time plus or minus an integer multiple of the {{param|ReportingInterval}}.
          {{param}} is used only to set the ''phase'' of the Heartbeat event Informs. The actual value of {{param}} can be arbitrarily far into the past or future.
          For example, if {{param|ReportingInterval}} is 60 (one minute) and if {{param}} is set to UTC midnight on some day (in the past,  present, or future) then Heartbeat Informs will occur every minute at the next 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-106a2|section 3.2}} indicates that no particular time reference is specified.  The CPE MUST locally choose a random time reference.
          If absolute time is not available to the CPE, its Heartbeat Inform 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="Device.SoftwareModules." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.1">
      <description>
        Top level object for dynamically managed software applications.
      </description>
      <parameter name="ExecEnvNumberOfEntries" access="readOnly" dmr:version="2.1">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="DeploymentUnitNumberOfEntries" access="readOnly" dmr:version="2.1">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="ExecutionUnitNumberOfEntries" access="readOnly" dmr:version="2.1">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.SoftwareModules.ExecEnv.{i}." access="readOnly" numEntriesParameter="ExecEnvNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.1">
      <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Name" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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:version="2.4">
        <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" dmr:version="2.1">
        <description>
          The vendor that produced this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Version" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          Represents the parent {{object}} of this {{object}}.
          If this value is {{empty}} then this is the Primary Execution Environment.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.ExecEnv." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="AllocatedDiskSpace" access="readOnly" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="AvailableDiskSpace" access="readOnly" activeNotify="canDeny" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="AllocatedMemory" access="readOnly" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="AvailableMemory" access="readOnly" activeNotify="canDeny" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="ActiveExecutionUnits" access="readOnly" activeNotify="canDeny" dmr:version="2.1">
        <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 refType="strong" targetParent="#.ExecutionUnit." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ProcessorRefList" access="readOnly" dmr:version="2.1">
        <description>
          Represents the processors that this {{object}} has available to it.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent=".DeviceInfo.Processor." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.SoftwareModules.DeploymentUnit.{i}." access="readOnly" numEntriesParameter="DeploymentUnitNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.1">
      <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>
        <parameter ref="UUID"/>
        <parameter ref="Version"/>
        <parameter ref="ExecutionEnvRef"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="UUID" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Name" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          Indicates whether or not this {{object}} has resolved all of its dependencies.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="URL" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.VendorLogFile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="VendorConfigList" access="readOnly" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.VendorConfigFile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ExecutionUnitList" access="readOnly" dmr:version="2.1">
        <description>
          Represents the {{object|#.ExecutionUnit}} instances that are associated with this {{object}} instance.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.ExecutionUnit." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ExecutionEnvRef" access="readOnly" dmr:version="2.1">
        <description>
          Represents the {{object|#.ExecEnv}} instance where this {{object}} instance is installed.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.ExecEnv." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.SoftwareModules.ExecutionUnit.{i}." access="readOnly" numEntriesParameter="ExecutionUnitNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.1">
      <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>
        <parameter ref="EUID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="EUID" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Name" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <description>
          Vendor of this {{object}}.
        </description>
        <syntax>
          <string>
            <size maxLength="128"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Version" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="MemoryInUse" access="readOnly" activeNotify="canDeny" dmr:version="2.1">
        <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>
            <range minInclusive="-1"/>
            <units value="kilobytes"/>
          </int>
        </syntax>
      </parameter>
      <parameter name="References" access="readOnly" dmr:version="2.1">
        <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" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.ProcessStatus.Process." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="VendorLogList" access="readOnly" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.VendorLogFile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="VendorConfigList" access="readOnly" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.VendorConfigFile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="SupportedDataModelList" access="readOnly" dmr:version="2.1">
        <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 refType="strong" targetParent=".DeviceInfo.SupportedDataModel." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ExecutionEnvRef" access="readOnly" dmr:version="2.1">
        <description>
          Represents the {{object|#.ExecEnv}} that this {{object}} is associated with.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.ExecEnv." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.SoftwareModules.ExecutionUnit.{i}.Extensions." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.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="Device.ETSIM2M." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.6">
      <description>
        The {{object}} object represents the management object for the Remote Entity Functions (REM) functions defined in the M2M Functional Architecture {{bibref|ETSIM2MFA}}.
      </description>
      <parameter name="SCLNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}." access="readWrite" numEntriesParameter="SCLNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This object represents an instance of a Service Capability Layer (SCL) for a M2M device or gateway.
        The {{object}} MAY be maintained by the ACS or by the CPE.
        When the {{object}} provides the administration of an SCL that is represented as a {{object|.SoftwareModules.ExecutionUnit}} the {{object}} is maintained in the {{param|.SoftwareModules.ExecutionUnit.{i}.References}} parameter.
        Section 5.1.2 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the high level event flows for SCL registration.
        Section 9.3.2.6.2 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the creation/registration of SCLs.
        Section 9.3.2.6.4 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the update/re-registration of SCLs.
        Section 9.3.2.6.5 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the deletion/deregistration of SCLs.
        {{keys}}
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="AnnouncedToSCLList" access="readWrite" dmr:version="2.6">
        <description>
          {{list}} The list represents an unordered set of URIs {{bibref|RFC3986}}.
          A list item is a URI string that represents a SCL to which the this {{object}} will announce original (local) resources.
          The AnnouncedToSCL has an interest in the discovery of the local resource. Section 9.2.1.14 Announced Resource of the M2M Functional Architecture {{bibref|ETSIM2MFA}} provides a description of this behavior of an Announced Resource.
          Section 9.3.2.28 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} and Section 10.3.2.7 of the M2M mIa, dIa and mId Interfaces {{bibref|ETSIM2MInterfaces}} describes the process of announcing and deannouncing of resources within a SCL.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="SAFPolicySetNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="AreaNwkInstanceNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="AreaNwkDeviceInfoInstanceNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.Discovery." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.6">
      <description>
        This object is represents the administration properties used when a NSCL requests discovery of resources within this {{object|##.SCL}} instance.
        Section 9.3.2.27 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the process of discovery of resources within a SCL.
      </description>
      <parameter name="MaxNumberOfDiscovRecords" access="readWrite" dmr:version="2.6">
        <description>
          The maximum number of URIs {{bibref|RFC3986}} for discovered resources contained in a discovery result.
          This parameter and the {{param|MaxSizeOfDiscovAnswer}} parameter are mutually exclusive in that a result can be limited due to the bounds of either parameter.
          A value of 0 indicates that the SCL does not have a limit for this parameter.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="MaxSizeOfDiscovAnswer" access="readWrite" dmr:version="2.6">
        <description>
          The maximum size in bytes of the Discovery Answer.
          This parameter and the {{param|MaxNumberOfDiscovRecords}} parameter are mutually exclusive in that a result can be limited due to the bounds of either parameter.
          A value of 0 indicates that the SCL does not have a limit for this parameter.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.Reregistration." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.6">
      <description>
        This object represents the properties and status necessary for a SCL to reregister with one or more NSCLs.
      </description>
      <parameter name="RegTargetNSCLList" access="readWrite" dmr:version="2.6">
        <description>
          {{list}} The list represents a priority ordered set of URIs {{bibref|RFC3986}}. The item that is first in the list has the highest priority.
          A list item is a URI {{bibref|RFC3986}} string that represents a NSCL that this {{object|##.SCL}} instance can use in order to attempt registration.
          When modified the contents of this parameter replace the {{param}} received during the bootstrap procedure.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RegSearchStrings" access="readWrite" dmr:version="2.6">
        <description>
          {{list}} The list represents the string tokens used as keys when searching for this {{object|##.SCL}} instance.
          Sections 9.2.3.6.2 and 9.2.3.6.4 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describe the usage for this parameter.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RegAccessRightID" access="readWrite" dmr:version="2.6">
        <description>
          URI {{bibref|RFC3986}} that represents the identifier of the access right resource. The value of this parameter is maintained by the NSCL and used by the SCL as a default access right identifier for re-registration to NSCLs.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RegExpirationDuration" access="readWrite" dmr:version="2.6">
        <description>
          The duration, in {{units}}, that the SCL will use in its next re-registration attempt. Any negative value represents an infinite duration.
        </description>
        <syntax>
          <int>
            <units value="seconds"/>
          </int>
          <default type="object" value="-1"/>
        </syntax>
      </parameter>
      <parameter name="Reregistration" access="readWrite" dmr:version="2.6">
        <description>
          {{command}} When set to {{true}}, triggers an immediate re-registration action where the SCL re-registers with the SCLs in the {{param|RegTargetNSCLList}} .
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.6">
      <description>
        This object represents the status of the Reregistration action.
      </description>
      <parameter name="Progress" access="readOnly" activeNotify="canDeny" dmr:version="2.6">
        <description>
          The progress, in {{units}}, of the Reregistration action. The progress is measured from 0-100%. A value of 0 indicates that the action has not started. A value of 100 indicates that the action has completed.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="percent"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="FinalStatus" access="readOnly" dmr:version="2.6">
        <description>
          The completion status of the Reregistration operation. Enumeration of:
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="SUCCESS"/>
            <enumeration value="FAILURE"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}." access="readWrite" numEntriesParameter="SAFPolicySetNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This object describes the parameters necessary to administer the store-and-forward (SAF) handling policies applied to requests to access remotely hosted resources.
        Policies are described by instances of {{object}}. Which instances of {{object}} are used by the SCL is determined by the {{param|PolicyScope}} parameter.
        Section 9.3.1.5 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} and Section 10.3.1.2.2 of the M2M mIa, dIa and mId Interfaces {{bibref|ETSIM2MInterfaces}} describe the behavior for SAF processing.
        There is at most one {{object}} instance with the {{param|PolicyScope}} containing a specific application id (APP-ID) URI value within the list.
        There is exactly one {{object}} instance with a {{param|PolicyScope}} value of "default".
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="PolicyScope" access="readWrite" dmr:version="2.6">
        <description>
          The parameter defines the scope of the policies contained in this instance of a {{object|#.SAFPolicySet}}.
          The parameter value is:
          *a list of unordered set of URIs {{bibref|RFC3986}} that represents an M2M application id (APP-ID)
          *the value of  "default"
          *{{empty}}
          When this parameter is set to a list of application id (APP-ID) URIs {{bibref|RFC3986}}, the scope indicates that the policies are applicable to requests coming from any specific application on that list.
          When this parameter is set to a string with the value "default", the scope indicates that the policies are the default policies for this {{object|##.SCL}} instance.
          When this parameter is set to {{empty}}, the value represents an unknown {{object|#.SAFPolicySet}} and the {{object|#.SAFPolicySet}} is not to be used.
        </description>
        <syntax>
          <list/>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
      <parameter name="ANPPolicyNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}." access="readWrite" numEntriesParameter="ANPPolicyNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This table contains the SAF-handling policies which are controlled by the Access Network Provider(s).
        {{keys}}
      </description>
      <uniqueKey>
        <parameter ref="ANName"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="ANName" access="readWrite" dmr:version="2.6">
        <description>
          This parameter is the name of the access network provider and used to determine for which access network the policies defined in the {{object|#.ANPPolicy}} table will apply.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
      <parameter name="BlockPeriodNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="RequestCategoryNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}." access="readWrite" numEntriesParameter="BlockPeriodNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:noUniqueKeys="true">
      <description>
        This table contains a list of block periods for a {{object|##.ANPPolicy}}.
        A block period defines how long the device will wait before re-trying to establish connectivity via the access network after the previous attempt has failed.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="FailedAttempts"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="FailedAttempts" access="readWrite" dmr:version="2.6">
        <description>
          Number of consecutively failed access attempts for which the {{param|BlockDuration}} will be used to block the next access attempt.
          The SCL will apply the {{object}} entry with the largest number of consecutive failed attempts that is smaller or equal to the actual number of consecutive failed attempts.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
      <parameter name="BlockDuration" access="readWrite" dmr:version="2.6">
        <description>
          The duration, in {{units}}, to which to block further access attempts.
        </description>
        <syntax>
          <int>
            <units value="seconds"/>
          </int>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}." access="readWrite" numEntriesParameter="RequestCategoryNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This table contains the Request Category (RCAT) policy items for defining when it is appropriate to use the access network for processing requests.
      </description>
      <uniqueKey>
        <parameter ref="RCAT"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="RCAT" access="readWrite" dmr:version="2.6">
        <description>
          An RCAT is a string that represents a request category used for policy enforcement.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="ScheduleNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}." access="readWrite" numEntriesParameter="ScheduleNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This table contains the schedules that define when it is appropriate to use the access network for processing requests for the specified value of the {{param|#.RCAT}}.
        The combination of all instances of the {{object|AbsTimeSpan}} along with the {{param|Schedules}} parameter makes up the complete schedule for this instance of a {{object}}.
        The {{param|Schedules}} parameter defines a recurrence of the schedule. If instances of {{object|AbsTimeSpan}} exist, these instances places constraints on the schedule recurrence.
        If the value of the {{param|Schedules}} parameter is {{empty}}, at least one enabled instance of {{object|AbsTimeSpan}} MUST exist.
        Processing behavior for the use of RCAT Schedules is defined in section 10.3.1.2.2 of the M2M mIa, dIa and mId Interfaces {{bibref|ETSIM2MInterfaces}} document.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Schedules" access="readWrite" dmr:version="2.6">
        <description>
          The list is a set of schedule strings.
          A schedule string is formatted according to the date and time fields defined CRONTAB input file definition in {{bibref|POSIXBase}}.
          The {{param}} parameter is used to set the recurrence of the schedule.
          The timezone used for this parameter is dependent upon the existence of instances of {{object|AbsTimeSpan}} for this {{object}}. If instances of {{object|AbsTimeSpan}} exist, then the timezone of the {{object|AbsTimeSpan}} is used otherwise the UTC timezone is used for this {{param}} parameter.
          Note the command field is not used in this definition and any whitespace or comma characters within a Schedule string MUST be escaped using percent as defined in {{bibref|TR-106a5|section 3.2.3}}
          Example of CRONTAB string:
          *"* 0-6 * * 1-5" would mean every minute for the period from 0:00h to 6:00h (inclusive) on any week day (Monday through Friday) and would be represented as "*%200-6%20*%20*%201-5"
          *"*/15 22-23,0-4 * * 1-5" would mean every 15 minutes for the period from 22:00h to 04:00h on any week day (Monday through Friday) and would be represented as "*/15%2022-23%2C0-4%20*%20*%201-5"
        </description>
        <syntax>
          <list/>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
      <parameter name="AbsTimeSpanNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}." access="readWrite" numEntriesParameter="AbsTimeSpanNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:noUniqueKeys="true">
      <description>
        This object defines an instance of a time span used for determining an RCAT schedule.
        An instance of the {{object}} represents the time span in which the schedule recurrence defined in {{param|#.Schedules}} is constrained.
        {{object}} instances with unknown values for the {{param|StartTime}} or {{param|EndTime}} are ignored.
        All instances of the {{object}} within this {{object|##.Schedule}} MUST utilize the same time zone.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="StartTime" access="readWrite" dmr:version="2.6">
        <description>
          Date and time that represents the start of the time span.
          The value 0001-01-01T00:00:00Z represents an unknown value.
          The device MUST reject requests to set the {{param}} value greater than the {{param|EndTime}} value.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value="0001-01-01T00:00:00Z"/>
        </syntax>
      </parameter>
      <parameter name="EndTime" access="readWrite" dmr:version="2.6">
        <description>
          Date and time that represents the end of the time span.
          The value 9999-12-31T23:59:59Z represents an infinite time span from the start time.
          The value 0001-01-01T00:00:00Z represents an unknown value.
          The device MUST reject requests to set the {{param}} value less than or equal the {{param|StartTime}} value.
        </description>
        <syntax>
          <dateTime/>
          <default type="object" value="0001-01-01T00:00:00Z"/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy." access="readOnly" minEntries="1" maxEntries="1" dmr:version="2.6">
      <description>
        This object maintains the SAF handling policies' properties that are controlled by the M2M service provider for a request.
      </description>
      <parameter name="DefaultRCATValue" access="readWrite" dmr:version="2.6">
        <description>
          The default RCAT value to use for requests to remotely hosted resources during SAF-handling when no RCAT value was specified in the request.
        </description>
        <syntax>
          <string/>
          <default type="object" value=""/>
        </syntax>
      </parameter>
      <parameter name="RequestCategoryNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}." access="readWrite" numEntriesParameter="RequestCategoryNumberOfEntries" enableParameter="Enable" minEntries="0" maxEntries="unbounded" dmr:version="2.6">
      <description>
        This object maintains a list of properties to be used for forwarding requests with a specified {{param|RCAT}}.
        Processing behavior for the use of M2M Service Provider policies is defined in section 10.3.1.2.2.1 of the M2M mIa, dIa and mId Interfaces {{bibref|ETSIM2MInterfaces}} document.
      </description>
      <uniqueKey>
        <parameter ref="RCAT"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite" dmr:version="2.6">
        <description>
          Administratively enables or disables this instance.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite" dmr:version="2.6">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="RCAT" access="readWrite" dmr:version="2.6">
        <description>
          An RCAT is a string that represents a request category used for policy enforcement.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="TolerableDelay" access="readWrite" dmr:version="2.6">
        <description>
          The tolerable duration, in {{units}}, that a request of the given RCAT category can be pending in SAF handling when a request from an M2M Application does not specify a tolerable delay.
          A value of -1 represents an infinite duration.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
      <parameter name="Thresh" access="readWrite" dmr:version="2.6">
        <description>
          The threshold of maximum number of pending requests permitted to be held for a specified RCAT.
          A value of 0 indicates that the request should be transmitted immediately.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
      <parameter name="Mem" access="readWrite" dmr:version="2.6">
        <description>
          This parameter defines the maximum size of the request queue for pending requests permitted to be held for a specified RCAT.
          The format of the string is an integer with an appended memory unit (B - Bytes, K - 1024 Bytes, M - 1048576 Bytes, G -1073741824, T - 1099511627776 Bytes).
          When the value is {{empty}}  the memory threshold criteria for the associated RCATList will be ignored in SAF handling.
          {{pattern}}
        </description>
        <syntax>
          <string>
            <pattern value="([0-9]{1,15}?[BKMGT])"/>
            <pattern value="">
              <description>
                {{empty}}
              </description>
            </pattern>
          </string>
        </syntax>
      </parameter>
      <parameter name="RankedANList" access="readWrite" dmr:version="2.6">
        <description>
          The list is a prioritized set of Access Networks where the preference of using an Access Network is based on order of the list items with the lowest order list item as the most preferred Access Network.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="##.ANPPolicy." targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}." access="readOnly" numEntriesParameter="AreaNwkInstanceNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:fixedObject="true">
      <description>
        The M2M Area Network information provides administration capabilities for remote management (REM) of M2M Devices (D', d) that are attached to this {{object|##.SCL}} instance.
        This object provides the administration of the properties needed by the SCL to remotely manage M2M Devices within a specific type of M2M Area network as defined by {{param|AreaNwkType}}.
        Multiple instances of {{object}} with the same {{param|AreaNwkType}} is permitted.
        Section 5.3.5 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the REM functionality expected of a SCL for an M2M Device.
      </description>
      <uniqueKey>
        <parameter ref="ID"/>
      </uniqueKey>
      <parameter name="ID" access="readOnly" dmr:version="2.6">
        <description>
          URI {{bibref|RFC3986}} that represents the identifier of the instance.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="AreaNwkType" access="readOnly" dmr:version="2.6">
        <description>
          Devices (D' and d) that connect to an SCL are said to be "attached devices" and are organized by M2M Area Networks within the {{object|##.SCL}} instance. The {{param}} is an implementation-chosen string that indicates the type of M2M Area Network.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="ListOfDevices" access="readOnly" dmr:version="2.6">
        <description>
          {{list}} {{reference}}
          The list represents the M2M Devices (D', d) that are attached to this {{object|##.SCL}} instance that are within this {{object}} instance. The list does not contain an instance for this CPE.
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.AreaNwkDeviceInfoInstance." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="PropertyNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}.Property.{i}." access="readOnly" numEntriesParameter="PropertyNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:noUniqueKeys="true">
      <description>
        This object contains an instance of a property extension (name value pair) for this {{object|##.AreaNwkInstance}} instance.
        For example, if the {{param|#.AreaNwkType}} is ZigBee the {{object|##.AreaNwkInstance}} will contain ZigBee specific parameters that have not been modeled for the M2M Area network.
        At a minimum, a property instance MUST exist that defines  an attribute that describes the IP layer address type (e.g., IPv4, IPv6, non-IP) of this M2M Area Network.
      </description>
      <parameter name="Name" access="readOnly" dmr:version="2.6">
        <description>
          The name of the property
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="Value" access="readOnly" dmr:version="2.6">
        <description>
          The value of the property.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}." access="readOnly" numEntriesParameter="AreaNwkDeviceInfoInstanceNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:noUniqueKeys="true" dmr:fixedObject="true">
      <description>
        The M2M Area Network Device Information provides the administration capability to the SCL for maintenance of M2M Devices (D', d) that are attached to this {{object|##.SCL}} instance.
        While discovery and identification of devices by the M2M Gateway or Device (CPE) is implementation specific, each device is represented by an instance of the {{object|.Hosts.Host}} table.
        When the M2M Device is managed by the CWMP endpoint of the CPE, the {{object}} is expected to be referenced by an instance of one of the following tables:
        *{{object|.ManagementServer.EmbeddedDevice}}
        *{{object|.ManagementServer.VirtualDevice}}
        Section 5.3.5 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes the REM functionality expected of a SCL to a M2M Device.
        This object instance provides the administration properties required by a SCL to remotely manage an instance of a M2M Device within a M2M area network.
        A M2M Device is associated with an instance of a {{object|#.AreaNwkInstance}}.
        This table contains parameters and information of the M2M Device related to each {{object|#.AreaNwkInstance}} instance.
        Instances of this table are created and deleted by the CPE. The ACS MAY modify the writeable parameters of this object instance but  it is possible that the value set by the ACS is not retained between reboots of the M2M Device.
      </description>
      <parameter name="AreaNwkInstance" access="readOnly" dmr:version="2.6">
        <description>
          {{reference}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.AreaNwkInstance." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Host" access="readOnly" dmr:version="2.6">
        <description>
          {{list}} {{reference|the {{object|.Hosts.Host}} table entry that represents an active or inactive M2M Device}}
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ListOfDeviceNeighbors" access="readOnly" dmr:version="2.6">
        <description>
          {{list}} {{reference}} References all the {{object|.Hosts.Host}} table entries, whether active or inactive, that represent the reachable neighbors of this M2M Device (D' or d).
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="ListOfDeviceApplications" access="readOnly" dmr:version="2.6">
        <description>
          The list is an unordered set of URIs {{bibref|RFC3986}}.
          A list item is an URI string that represents an application id (APP-ID) for the M2M D'A applications residing on the M2M Device for the associated {{object|#.AreaNwkInstance}}.
          Table B.58 of the M2M Functional Architecture {{bibref|ETSIM2MFA}} describes this parameter.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="SleepInterval" access="readWrite" dmr:version="2.6">
        <description>
          The interval, in {{units}}, between sleep periods for the device.
          A value of 0 represents a device that does not sleep.
          Note: When this value is modified, the CPE could modify the {{param}} for this M2M Device in other Area Networks.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="SleepDuration" access="readWrite" dmr:version="2.6">
        <description>
          The duration, in {{units}}, of a sleep period.
          The value 0 represents an unknown value.
          Note: When this value is modified, the CPE could modify the {{param}} for this M2M Device in other Area Networks.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly" dmr:version="2.6">
        <description>
          The sleep status of the device.
          Enumeration of:
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="ASLEEP"/>
            <enumeration value="AWAKE"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Active" access="readOnly" dmr:version="2.6">
        <description>
          Whether or not this M2M Device is currently attached to this {{object|##.SCL}} instance.
          The ability to list inactive M2M Devices is OPTIONAL.  If the CPE includes inactive M2MDevices in this table, {{param}} is set to {{false}}  for each inactive M2M Device.  The length of time an inactive M2M Device remains listed in this table is a local matter to the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="PropertyNumberOfEntries" access="readOnly" dmr:version="2.6">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}.Property.{i}." access="readOnly" numEntriesParameter="PropertyNumberOfEntries" minEntries="0" maxEntries="unbounded" dmr:version="2.6" dmr:noUniqueKeys="true">
      <description>
        This object contains an instance of a property extension (name value pair) for this {{object|##.AreaNwkDeviceInfoInstance}} instance.
        For example, if the {{param|##.AreaNwkInstance.{i}.AreaNwkType}} value is ZigBee, this {{object|##.AreaNwkDeviceInfoInstance}} contains ZigBee-specific parameters that are not formally modeled for this {{object|##.AreaNwkDeviceInfoInstance}} instance.
      </description>
      <parameter name="Name" access="readOnly" dmr:version="2.6">
        <description>
          The name of the property
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="Value" access="readOnly" dmr:version="2.6">
        <description>
          The value of the property.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>

    <component ref="ADSLLineDiagnostics"/>
    <component ref="ATMF5LoopbackDiagnostics"/>
    <component ref="HPNAPHYThroughputDiagnostics"/>
    <component ref="HPNAPerformanceMonitoringDiagnostics"/>
    <component ref="GhnPHYThroughputDiagnostics"/>
    <component ref="GhnPerformanceMonitoringDiagnostics"/>
    <component ref="UPAInterfaceMeasurementDiagnostics"/>
    <component ref="WiFiNeighboringWiFiDiagnostics" dmr:previousObject="Device.WiFi.Radio.{i}."/>
    <component ref="IPPingDiagnostics" dmr:previousObject="Device.IP.Diagnostics."/>
    <component ref="IPTraceRouteDiagnostics" dmr:previousObject="Device.IP.Diagnostics.IPPing."/>
    <component ref="IPDownloadDiagnostics" dmr:previousObject="Device.IP.Diagnostics.TraceRoute."/>
    <component ref="IPUploadDiagnostics" dmr:previousObject="Device.IP.Diagnostics.DownloadDiagnostics."/>
    <component ref="IPUDPEchoDiagnostics"/>
    <component ref="IPServerSelectionDiagnostics"/>
    <component ref="DNSLookupDiagnostics"/>
    <component ref="SelfTestDiagnostics" dmr:previousObject="Device.DLNA."/>

    <!-- TR-069 command parameters -->
    <object base="Device.WiFi.AccessPoint.{i}.Security." access="readOnly" minEntries="1" maxEntries="1">
      <parameter name="Reset" access="readWrite" dmr:version="2.4">
        <description>
          When set to {{true}}, this {{object|#}} instance's WiFi security settings are reset to their factory default values. The affected settings include {{param|ModeEnabled}}, {{param|WEPKey}}, {{param|PreSharedKey}} , {{param|KeyPassphrase}} and {{param|#.WPS.PIN}} (if applicable).
          If the parameter cannot be set, the CPE MUST reject the request as an invalid parameter value. Possible failure reasons include a lack of default values or if {{param|ModeEnabled}} is an Enterprise type, i.e. {{enum|WPA-Enterprise|ModesSupported}}, {{enum|WPA2-Enterprise|ModesSupported}} or {{enum|WPA-WPA2-Enterprise|ModesSupported}}.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.DHCPv6.Client.{i}." access="readWrite" minEntries="1" maxEntries="unbounded">
      <parameter name="Renew" access="readWrite" dmr:previousParameter="RapidCommit" dmr:version="2.2">
        <description>
          When set to {{true}}, the {{object}} will renew its DHCPv6-supplied information (i.e. the CPE will do a renew or information request as needed, updating both stateful and stateless parameter values discovered by this Client instance).
        </description>
        <syntax command="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.FAP.GPS." access="readOnly" minEntries="1" maxEntries="1">
      <parameter name="GPSReset" access="readWrite" dmr:previousParameter="NumberOfSatellites" dmr:version="2.4">
        <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 base="Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}." access="readOnly"  minEntries="0" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="Status" dmr:version="2.0">
        <description>
          When set to {{true}}, resets the temperature sensor.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.UserInterface." access="readOnly" minEntries="1" maxEntries="1">
      <parameter name="PasswordReset" access="readWrite" dmr:previousParameter="PasswordUserSelectable" dmr:version="2.0">
        <description>
          Present only if the CPE provides a password-protected LAN-side user interface and supports LAN-side Auto-Configuration.
          When set to true, resets {{param|.LANConfigSecurity.ConfigPassword}} to its factory value.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>

      <parameter base="AutoUpdateServer" access="readWrite">
        <description action="append">
          This MUST NOT be used by the CPE if the {{param|.ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
      </parameter>
      <parameter base="UserUpdateServer" access="readWrite">
        <description action="append">
          This MUST NOT be used by the CPE if the {{param|.ManagementServer.UpgradesManaged}} parameter is {{true}}.
        </description>
      </parameter>
    </object>
    <object base="Device.USB.USBHosts.Host.{i}." access="readOnly" minEntries="0" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="Type" dmr:version="2.0">
        <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 command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.PPP.Interface.{i}." access="readWrite" minEntries="0" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="LowerLayers" dmr:version="2.0">
        <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.
          Reset on a disabled interface is a no-op (not an error).
        </description>
        <syntax command="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.IP.Interface.{i}." access="readWrite" minEntries="0" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="Router" dmr:version="2.0">
        <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.
          Reset on a disabled interface is a no-op (not an error).
        </description>
        <syntax command="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.DHCPv4.Client.{i}." access="readWrite" minEntries="1" maxEntries="unbounded">
      <parameter name="Renew" access="readWrite" dmr:previousParameter="DHCPStatus" dmr:version="2.0">
        <description>
          When set to {{true}}, the DHCP client will renew its DHCP lease.
        </description>
        <syntax command="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.IEEE8021x.Supplicant.{i}." access="readWrite" minEntries="1" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="AuthenticationSuccessPolicy" dmr:version="2.0">
        <description>
          When set to {{true}}, the device MUST reset the session by performing an initial authentication attempt as defined in {{bibref|802.1x-2004|9.6.1.3}}, Initialize Port by sending out the EAP start message.
          The device MUST initiate the reset after completion of the current CWMP session.  The device MAY delay resetting the resource in  order to avoid interruption of a user service such as an ongoing voice call.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="Disconnect" access="readWrite" dmr:version="2.0">
        <description>
          When set to {{true}}, the device MUST disconnect (forced unauthentication) the resource.
          The device MUST initiate the disconnect after completion of the current CWMP session.  The device MAY delay re-authentication of the  resource in order to avoid interruption of a user service such as an ongoing voice call.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.SmartCardReaders.SmartCardReader.{i}." access="readOnly" minEntries="0" maxEntries="unbounded">
      <parameter name="Reset" access="readWrite" dmr:previousParameter="Name" dmr:version="2.0">
        <description>
          When set to {{true}}, resets the SmartCard Reader and the associated SmartCard.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.PeriodicStatistics.SampleSet.{i}." access="readWrite" minEntries="0" maxEntries="unbounded">
      <parameter name="ForceSample" access="readWrite" dmr:previousParameter="FetchSamples" dmr:version="2.0">
        <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 command="true">
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.MQTT.Client.{i}." access="readWrite"  minEntries="0" maxEntries="unbounded">
      <parameter name="ForceReconnect" access="readWrite" dmr:previousParameter="KeepAliveTime" dmr:version="2.10">
        <description>
          Disconnects the MQTT client from the MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT client is currently connected to the MQTT broker (Parameter {{param|Status|}} is {{enum|Connected|Status}}).
          If the MQTT client is in a different state, the parameter has no effect.
          This action parameter may be used to immediately apply changes in the MQTT connection settings.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.MQTT.Broker.{i}.Bridge.{i}." access="readWrite" minEntries="0" maxEntries="unbounded">
      <parameter name="ForceReconnect" access="readWrite" dmr:previousParameter="KeepAliveTime" dmr:version="2.10">
        <description>
          Disconnects the MQTT bridge to the remote MQTT broker and reconnects it again (toggle connection). It is only effective if the MQTT bridge is currently connected to the remote MQTT broker (Parameter {{param|Status|}} is {{enum|Connected|Status}}).
          If the MQTT bridge is in a different state, the parameter has no effect.
          This action parameter may be used to immediately apply changes in the MQTT connection settings.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object base="Device.WiFi." access="readOnly" minEntries="1" maxEntries="1">
      <parameter name="Reset" access="readWrite" dmr:version="2.12">
        <description>
          This parameter represents a request to reset or reboot the WiFi sub-system without resetting or rebooting the device.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <profile name="Download:1" dmr:version="2.0" dmr:previousProfile="">
      <object ref="Device.IP.Diagnostics." requirement="present">
        <parameter ref="IPv4DownloadDiagnosticsSupported" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Diagnostics." requirement="present">
        <parameter ref="IPv6DownloadDiagnosticsSupported" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Diagnostics.DownloadDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="DownloadURL" requirement="readWrite"/>
        <parameter ref="DownloadTransports" requirement="readOnly"/>
        <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" dmr:version="2.0">
      <object ref="Device.IP.Diagnostics.DownloadDiagnostics." requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="Upload:1" dmr:version="2.0">
      <object ref="Device.IP.Diagnostics." requirement="present">
        <parameter ref="IPv4UploadDiagnosticsSupported" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Diagnostics." requirement="present">
        <parameter ref="IPv6UploadDiagnosticsSupported" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Diagnostics.UploadDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="UploadURL" requirement="readWrite"/>
        <parameter ref="UploadTransports" requirement="readOnly"/>
        <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" dmr:version="2.0">
      <object ref="Device.IP.Diagnostics.UploadDiagnostics." requirement="present">
        <parameter ref="TCPOpenRequestTime" requirement="readOnly"/>
        <parameter ref="TCPOpenResponseTime" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="SelfTestDiag:1" dmr:version="2.0" dmr:previousProfile="UPnPDiscAdv:2">
      <object ref="Device.SelfTestDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Results" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="NSLookupDiag:1" dmr:version="2.0">
      <object ref="Device.DNS.Diagnostics.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="Device.DNS.Diagnostics.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="AutonXferComplPolicy:1" dmr:version="2.0" dmr:previousProfile="TempStatusAdv:2">
      <object ref="Device.ManagementServer.AutonomousTransferCompletePolicy." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="TransferTypeFilter" requirement="readWrite"/>
        <parameter ref="FileTypeFilter" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="DownloadAnnounce:1" dmr:version="2.0" dmr:previousProfile="PeriodicStatsAdv:1">
      <object ref="Device.ManagementServer.DownloadAvailability." requirement="present"/>
      <object ref="Device.ManagementServer.DownloadAvailability.Announcement." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="GroupNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ManagementServer.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" dmr:version="2.0">
      <object ref="Device.ManagementServer.DownloadAvailability." requirement="present"/>
      <object ref="Device.ManagementServer.DownloadAvailability.Query." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="URL" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="Baseline:1" extends="_Baseline:1" dmr:version="2.0">
      <object ref="Device.ManagementServer." requirement="present">
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicInformEnable" requirement="readWrite"/>
        <parameter ref="PeriodicInformInterval" requirement="readWrite"/>
        <parameter ref="PeriodicInformTime" requirement="readWrite"/>
        <parameter ref="ParameterKey" requirement="readOnly"/>
        <parameter ref="ConnectionRequestURL" requirement="readOnly"/>
        <parameter ref="ConnectionRequestUsername" requirement="readWrite"/>
        <parameter ref="ConnectionRequestPassword" requirement="readWrite"/>
        <parameter ref="UpgradesManaged" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="Baseline:2" base="Baseline:1" extends="_Baseline:2" dmr:version="2.2"/>
    <profile name="Baseline:3" base="Baseline:2" extends="_Baseline:3" dmr:version="2.4"/>
    <profile name="DeviceAssociation:1" dmr:version="2.0" dmr:previousProfile="GatewayInfo:1">
      <description>
        This profile implies support for all of the Gateway requirements defined in {{bibref|TR-069|Annex F}}.
      </description>
      <object ref="Device.ManagementServer." requirement="notSpecified">
        <parameter ref="ManageableDeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ManagementServer.ManageableDevice.{i}." requirement="present">
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="IPPingDetailed:1" dmr:version="2.7" dmr:previousProfile="IEEE8021xAuthentication:2">
      <object ref="Device.IP.Diagnostics.IPPing." 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="AverageResponseTimeDetailed" requirement="readOnly"/>
        <parameter ref="MinimumResponseTimeDetailed" requirement="readOnly"/>
        <parameter ref="MaximumResponseTimeDetailed" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="IPPing:1" dmr:version="2.0">
      <object ref="Device.IP.Diagnostics.IPPing." 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:version="2.0">
      <object ref="Device.IP.Diagnostics.TraceRoute." 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="Device.IP.Diagnostics.TraceRoute.RouteHops.{i}." requirement="present">
        <parameter ref="Host" requirement="readOnly"/>
        <parameter ref="HostAddress" requirement="readOnly"/>
        <parameter ref="ErrorCode" requirement="readOnly"/>
        <parameter ref="RTTimes" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="ATMLoopback:1" dmr:version="2.0">
      <object ref="Device.ATM.Diagnostics.F5Loopback." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" 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" dmr:version="2.0">
      <description>
        Note: This profile is valid for G.992.1 modems.
      </description>
      <object ref="Device.DSL.Diagnostics.ADSLLineTest." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" 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"/>
      </object>
    </profile>
    <profile name="ADSL2Diagnostics:1" dmr:version="2.0">
      <description>
        Note: This profile is valid for G.992.3 and G.992.5 modems.
      </description>
      <object ref="Device.DSL.Diagnostics.ADSLLineTest." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" 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="VDSL2Diagnostics:1" dmr:version="2.0">
      <description>
        Note: This profile is valid for G.993.2 modems.
      </description>
      <object ref="Device.DSL.Diagnostics.ADSLLineTest." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" 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="HPNADiagnostics:1" dmr:version="2.0" dmr:previousProfile="HPNA:1">
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="SampleInterval" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes." requirement="present">
        <parameter ref="CurrentStart" requirement="readOnly"/>
        <parameter ref="CurrentEnd" requirement="readOnly"/>
        <parameter ref="NodeNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring.Nodes.Node.{i}." requirement="present">
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsSent" requirement="readOnly"/>
        <parameter ref="BroadcastPacketsReceived" requirement="readOnly"/>
        <parameter ref="MulticastPacketsSent" requirement="readOnly"/>
        <parameter ref="MulticastPacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsCrcErrored" requirement="readOnly"/>
        <parameter ref="PacketsCrcErroredHost" requirement="readOnly"/>
        <parameter ref="PacketsShortErrored" requirement="readOnly"/>
        <parameter ref="PacketsShortErroredHost" requirement="readOnly"/>
        <parameter ref="RxPacketsDropped" requirement="readOnly"/>
        <parameter ref="TxPacketsDropped" requirement="readOnly"/>
        <parameter ref="ControlRequestLocal" requirement="readOnly"/>
        <parameter ref="ControlReplyLocal" requirement="readOnly"/>
        <parameter ref="ControlRequestRemote" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring.Channels." requirement="present">
        <parameter ref="TimeStamp" requirement="readOnly"/>
        <parameter ref="ChannelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}." requirement="present">
        <parameter ref="HPNASrcMACAddress" requirement="readOnly"/>
        <parameter ref="HPNADestMACAddress" requirement="readOnly"/>
        <parameter ref="HostSrcMACAddress" requirement="readOnly"/>
        <parameter ref="HostDestMACAddress" requirement="readOnly"/>
        <parameter ref="PHYRate" requirement="readOnly"/>
        <parameter ref="BaudRate" requirement="readOnly"/>
        <parameter ref="SNR" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PHYThroughput." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="NumPacketsInBurst" requirement="readWrite"/>
        <parameter ref="BurstInterval" requirement="readWrite"/>
        <parameter ref="TestPacketPayloadLength" requirement="readWrite"/>
        <parameter ref="PayloadEncoding" requirement="readWrite"/>
        <parameter ref="PayloadDataGen" requirement="readWrite"/>
        <parameter ref="PayloadType" requirement="readWrite"/>
        <parameter ref="PriorityLevel" requirement="readWrite"/>
        <parameter ref="ResultNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PHYThroughput.Result.{i}." requirement="present">
        <parameter ref="SrcMACAddress" requirement="readOnly"/>
        <parameter ref="DestMACAddress" requirement="readOnly"/>
        <parameter ref="PHYRate" requirement="readOnly"/>
        <parameter ref="BaudRate" requirement="readOnly"/>
        <parameter ref="SNR" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="UPADiagnostics:1" dmr:version="2.0" dmr:previousProfile="UPA:1">
      <object ref="Device.UPA.Diagnostics.InterfaceMeasurement." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Type" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Port" requirement="readWrite"/>
        <parameter ref="Measurements" requirement="readOnly"/>
        <parameter ref="RxGain" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="UDPConnReq:1" dmr:version="2.0" dmr:previousProfile="DeviceAssociation:1">
      <description>
        This profile only applies to Internet Gateway Devices that are acting as CPE behind a NAT gateway as described in {{bibref|TR-069|Annex G}}, and implies support for all of the CPE requirements defined within Annex G.
      </description>
      <object ref="Device.ManagementServer." requirement="notSpecified">
        <parameter ref="UDPConnectionRequestAddress" requirement="readOnly"/>
        <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="DUStateChngComplPolicy:1" dmr:version="2.1" dmr:previousProfile="VendorLogFiles:1">
      <object ref="Device.ManagementServer.DUStateChangeComplPolicy." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="OperationTypeFilter" requirement="readWrite"/>
        <parameter ref="ResultTypeFilter" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="StandbyPolicy:1" dmr:version="2.7" dmr:previousProfile="ETSIM2MSCLBaseline:1">
      <description>
        Note that support for this profile implies support for the requirements of {{bibref|TR-069a5|Annex L}}.
      </description>
      <object ref="Device.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="XMPPConnReq:1" extends="XMPPBasic:1" dmr:version="2.7" dmr:previousProfile="XMPPBasic:1">
      <object ref="Device.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" dmr:version="2.8" dmr:previousProfile="XMPPReconnect:1">
      <object ref="Device.ManagementServer." requirement="present">
        <parameter ref="InformParameterNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ManagementServer.InformParameter.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ParameterName" requirement="readWrite"/>
        <parameter ref="EventList" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="UDPEchoDiag:1" dmr:version="2.9">
      <object ref="Device.IP.Diagnostics.UDPEchoDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Host" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="EnableIndividualPacketResults" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="DataBlockSize" requirement="readWrite"/>
        <parameter ref="DSCP" requirement="readWrite"/>
        <parameter ref="InterTransmissionTime" 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"/>
        <parameter ref="IndividualPacketResultNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Diagnostics.UDPEchoDiagnostics.IndividualPacketResult.{i}." requirement="present">
        <parameter ref="PacketSuccess" requirement="readOnly"/>
        <parameter ref="PacketSendTime" requirement="readOnly"/>
        <parameter ref="PacketReceiveTime" requirement="readOnly"/>
        <parameter ref="TestGenSN" requirement="readOnly"/>
        <parameter ref="TestRespSN" requirement="readOnly"/>
        <parameter ref="TestRespRcvTimeStamp" requirement="readOnly"/>
        <parameter ref="TestRespReplyTimeStamp" requirement="readOnly"/>
        <parameter ref="TestRespReplyFailureCount" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="ServerSelectionDiag:1" dmr:version="2.9">
      <object ref="Device.IP.Diagnostics.ServerSelectionDiagnostics." requirement="present">
        <parameter ref="DiagnosticsState" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="HostList" requirement="readWrite"/>
        <parameter ref="NumberOfRepetitions" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
        <parameter ref="FastestHost" requirement="readOnly"/>
        <parameter ref="AverageResponseTime" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="GatewayInfo:1" dmr:version="2.0">
      <object ref="Device.GatewayInfo." requirement="present">
        <parameter ref="ManufacturerOUI" requirement="readOnly"/>
        <parameter ref="ProductClass" requirement="readOnly"/>
        <parameter ref="SerialNumber" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="SupportedDataModel:1" dmr:version="2.0" dmr:previousProfile="UDPEchoPlus:1">
      <object ref="Device.DeviceInfo." requirement="present">
        <parameter ref="SupportedDataModelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DeviceInfo.SupportedDataModel.{i}." requirement="present">
        <parameter ref="URL" requirement="readOnly"/>
        <parameter ref="URN" requirement="readOnly"/>
        <parameter ref="Features" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="SupportedDataModel:2" base="SupportedDataModel:1" dmr:version="2.6">
      <object ref="Device.DeviceInfo.SupportedDataModel.{i}." requirement="present">
        <parameter ref="UUID" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="SM_ExecEnvs:1" dmr:version="2.1">
      <object ref="Device.SoftwareModules." requirement="present">
        <parameter ref="ExecEnvNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.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" dmr:version="2.1">
      <object ref="Device.SoftwareModules." requirement="present">
        <parameter ref="DeploymentUnitNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ExecutionUnitNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.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="Device.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="Device.SoftwareModules.ExecutionUnit.{i}.Extensions." requirement="present"/>
    </profile>
    <profile name="SM_Baseline:1" dmr:version="2.1">
      <object ref="Device.SoftwareModules." requirement="present">
        <parameter ref="ExecEnvNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DeploymentUnitNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ExecutionUnitNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.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="Device.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="Device.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="Device.SoftwareModules.ExecutionUnit.{i}.Extensions." requirement="present"/>
    </profile>
    <profile name="ETSIM2MSCLBaseline:1" dmr:version="2.6">
      <object ref="Device.ETSIM2M.SCL.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="AnnouncedToSCLList" requirement="readWrite"/>
        <parameter ref="SAFPolicySetNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AreaNwkInstanceNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AreaNwkDeviceInfoInstanceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.Discovery." requirement="present">
        <parameter ref="MaxNumberOfDiscovRecords" requirement="readWrite"/>
        <parameter ref="MaxSizeOfDiscovAnswer" requirement="readWrite"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.Reregistration." requirement="present">
        <parameter ref="RegTargetNSCLList" requirement="readWrite"/>
        <parameter ref="RegSearchStrings" requirement="readWrite"/>
        <parameter ref="RegAccessRightID" requirement="readWrite"/>
        <parameter ref="RegExpirationDuration" requirement="readWrite"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.Reregistration.ActionStatus." requirement="present">
        <parameter ref="Progress" requirement="readOnly"/>
        <parameter ref="FinalStatus" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="PolicyScope" requirement="readWrite"/>
        <parameter ref="ANPPolicyNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ANName" requirement="readWrite"/>
        <parameter ref="BlockPeriodNumberOfEntries" requirement="readOnly"/>
        <parameter ref="RequestCategoryNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.BlockPeriod.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="FailedAttempts" requirement="readWrite"/>
        <parameter ref="BlockDuration" requirement="readWrite"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="RCAT" requirement="readWrite"/>
        <parameter ref="ScheduleNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Schedules" requirement="readWrite"/>
        <parameter ref="AbsTimeSpanNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.ANPPolicy.{i}.RequestCategory.{i}.Schedule.{i}.AbsTimeSpan.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="StartTime" requirement="readWrite"/>
        <parameter ref="EndTime" requirement="readWrite"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy." requirement="present">
        <parameter ref="DefaultRCATValue" requirement="readWrite"/>
        <parameter ref="RequestCategoryNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.SAFPolicySet.{i}.M2MSPPolicy.RequestCategory.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="RCAT" requirement="readWrite"/>
        <parameter ref="TolerableDelay" requirement="readWrite"/>
        <parameter ref="Thresh" requirement="readWrite"/>
        <parameter ref="Mem" requirement="readWrite"/>
        <parameter ref="RankedANList" requirement="readWrite"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.AreaNwkInstance.{i}." requirement="present">
        <parameter ref="ID" requirement="readOnly"/>
        <parameter ref="AreaNwkType" requirement="readOnly"/>
        <parameter ref="ListOfDevices" requirement="readOnly"/>
      </object>
      <object ref="Device.ETSIM2M.SCL.{i}.AreaNwkDeviceInfoInstance.{i}." requirement="present">
        <parameter ref="AreaNwkInstance" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
        <parameter ref="ListOfDeviceNeighbors" requirement="readOnly"/>
        <parameter ref="ListOfDeviceApplications" requirement="readOnly"/>
        <parameter ref="SleepInterval" requirement="readWrite"/>
        <parameter ref="SleepDuration" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Active" requirement="readOnly"/>
      </object>
    </profile>

    <!-- Profiles with command parameter impacts -->
    <profile name="TempStatusAdv:1" extends="TempStatus:1" dmr:version="2.0" dmr:previousProfile="TempStatus:1">
      <object ref="Device.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="TempStatusAdv:2" base="TempStatusAdv:1" dmr:version="2.1" dmr:previousProfile="TempStatusAdv:1">
      <object ref="Device.DeviceInfo.TemperatureStatus.TemperatureSensor.{i}." requirement="present">
        <parameter ref="PollingInterval" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="USBHostsAdv:1" extends="USBHostsBasic:1" dmr:version="2.0" dmr:previousProfile="USBHostsBasic:1">
      <object ref="Device.USB.USBHosts.Host.{i}." requirement="present">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="PowerManagementEnable" requirement="readWrite"/>
      </object>
      <object ref="Device.USB.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="Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}." requirement="present">
        <parameter ref="ConfigurationNumber" requirement="readOnly"/>
        <parameter ref="InterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.USB.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="PeriodicStatsAdv:1" extends="PeriodicStatsBase:1" dmr:version="2.0" dmr:previousProfile="PeriodicStatsBase:1">
      <object ref="Device.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="Device.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="IPInterface:1" dmr:version="2.0" dmr:previousProfile="IPv6Routing:1">
      <object ref="Device.IP." requirement="present">
        <parameter ref="InterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Interface.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="LastChange" requirement="readOnly"/>
        <parameter ref="LowerLayers" requirement="readWrite"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="IPv4AddressNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Interface.{i}.IPv4Address.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="IPAddress" requirement="readWrite"/>
        <parameter ref="SubnetMask" requirement="readWrite"/>
        <parameter ref="AddressingType" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Interface.{i}.Stats." requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" 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="IPInterface:2" base="IPInterface:1" dmr:version="2.2"  dmr:previousProfile="IPInterface:1">
      <description>
        This profile is IPv4 specific.
      </description>
      <object ref="Device.IP." requirement="present">
        <parameter ref="IPv4Enable" requirement="readWrite"/>
        <parameter ref="IPv4Status" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Interface.{i}." requirement="createDelete">
        <parameter ref="IPv4Enable" requirement="readWrite"/>
      </object>
      <object ref="Device.IP.Interface.{i}.IPv4Address.{i}." requirement="createDelete">
        <parameter ref="Status" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="IPv6Interface:1" dmr:version="2.2" dmr:previousProfile="IPInterface:2">
      <object ref="Device.IP." requirement="present">
        <parameter ref="IPv6Capable" requirement="readOnly"/>
        <parameter ref="IPv6Enable" requirement="readWrite"/>
        <parameter ref="IPv6Status" requirement="readOnly"/>
        <parameter ref="ULAPrefix" requirement="readWrite"/>
        <parameter ref="InterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.IP.Interface.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="IPv6Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="LastChange" requirement="readOnly"/>
        <parameter ref="LowerLayers" requirement="readWrite"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="ULAEnable" requirement="readWrite"/>
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="IPv6AddressNumberOfEntries" requirement="readOnly"/>
        <parameter ref="IPv6PrefixNumberOfEntries" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="PPPInterface:1" dmr:version="2.0" dmr:previousProfile="IPv6Interface:1">
      <object ref="Device.PPP." requirement="present">
        <parameter ref="InterfaceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.PPP.Interface.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="LastChange" requirement="readOnly"/>
        <parameter ref="LowerLayers" requirement="readWrite"/>
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="ConnectionTrigger" requirement="readWrite"/>
      </object>
      <object ref="Device.PPP.Interface.{i}.PPPoE." requirement="present">
        <parameter ref="SessionID" requirement="readOnly"/>
        <parameter ref="ACName" requirement="readWrite"/>
        <parameter ref="ServiceName" requirement="readWrite"/>
      </object>
      <object ref="Device.PPP.Interface.{i}.Stats." requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" 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="PPPInterface:2" base="PPPInterface:1" dmr:version="2.2" dmr:previousProfile="PPPInterface:1">
      <object ref="Device.PPP." requirement="present">
        <parameter ref="SupportedNCPs" requirement="readOnly"/>
      </object>
      <object ref="Device.PPP.Interface.{i}." requirement="createDelete">
        <parameter ref="IPv6CPEnable" requirement="readWrite">
          <description>
            REQUIRED only for IPv6 capable devices.
          </description>
        </parameter>
      </object>
      <object ref="Device.PPP.Interface.{i}.IPv6CP." requirement="present">
        <description>
          REQUIRED only for IPv6 capable devices.
        </description>
        <parameter ref="LocalInterfaceIdentifier" requirement="readOnly"/>
        <parameter ref="RemoteInterfaceIdentifier" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="DHCPv4Client:1" dmr:version="2.0" dmr:previousProfile="IEEE8021xAuthentication:2">
      <object ref="Device.DHCPv4." requirement="present">
        <parameter ref="ClientNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv4.Client.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Renew" requirement="readWrite"/>
        <parameter ref="IPAddress" requirement="readOnly"/>
        <parameter ref="SubnetMask" requirement="readOnly"/>
        <parameter ref="IPRouters" requirement="readOnly"/>
        <parameter ref="DNSServers" requirement="readOnly"/>
        <parameter ref="LeaseTimeRemaining" requirement="readOnly"/>
        <parameter ref="DHCPServer" requirement="readOnly"/>
        <parameter ref="SentOptionNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ReqOptionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv4.Client.{i}.SentOption.{i}." requirement="createDelete">
        <description>
          This table is REQUIRED to support sending of option 60 (Vendor Class Identifier) and option 77 (User Class Identifier) values.
        </description>
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readWrite"/>
      </object>
      <object ref="Device.DHCPv4.Client.{i}.ReqOption.{i}." requirement="createDelete">
        <description>
          This table is REQUIRED to support requesting of option 60 (Vendor Class Identifier), option 61 (Client Identifier) and option 77 (User Class Identifier) values.
        </description>
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Order" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="DHCPv6Client:1" dmr:version="2.2" dmr:previousProfile="DHCPv4ServerClientInfo:1">
      <object ref="Device.DHCPv6." requirement="present">
        <parameter ref="ClientNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv6.Client.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Interface" requirement="readWrite"/>
        <parameter ref="DUID" requirement="readOnly"/>
        <parameter ref="RequestAddresses" requirement="readWrite"/>
        <parameter ref="RequestPrefixes" requirement="readWrite"/>
        <parameter ref="RapidCommit" requirement="readWrite"/>
        <parameter ref="Renew" requirement="readWrite"/>
        <parameter ref="SuggestedT1" requirement="readWrite"/>
        <parameter ref="SuggestedT2" requirement="readWrite"/>
        <parameter ref="SupportedOptions" requirement="readOnly"/>
        <parameter ref="RequestedOptions" requirement="readWrite"/>
        <parameter ref="SentOptionNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ReceivedOptionNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv6.Client.{i}.SentOption.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Tag" requirement="readWrite"/>
        <parameter ref="Value" requirement="readWrite"/>
      </object>
      <object ref="Device.DHCPv6.Client.{i}.ReceivedOption.{i}." requirement="present">
        <parameter ref="Tag" requirement="readOnly"/>
        <parameter ref="Value" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="DHCPv6ClientServerIdentity:1" extends="DHCPv6Client:1" dmr:version="2.2" dmr:previousProfile="DHCPv6Client:1">
      <object ref="Device.DHCPv6.Client.{i}." requirement="createDelete">
        <parameter ref="ServerNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv6.Client.{i}.Server.{i}." requirement="present">
        <parameter ref="SourceAddress" requirement="readOnly"/>
        <parameter ref="DUID" requirement="readOnly"/>
        <parameter ref="InformationRefreshTime" requirement="readOnly"/>
      </object>
      <object ref="Device.DHCPv6.Client.{i}.ReceivedOption.{i}." requirement="present">
        <parameter ref="Server" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="MQTTClientExtended:1" base="MQTTClientBase:1" dmr:version="2.10" dmr:previousProfile="MQTTClientSubscribe:1">
      <description>
        Adds client authentication, will handling and extends statistics
      </description>
      <object ref="Device.MQTT.Client.{i}." requirement="present">
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="ClientID" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="TransportProtocol" requirement="readWrite"/>
        <parameter ref="MessageRetryTime" requirement="readWrite"/>
        <parameter ref="ConnectRetryTime" requirement="readWrite"/>
        <parameter ref="ForceReconnect" requirement="readWrite"/>
        <parameter ref="WillEnable" requirement="readWrite"/>
        <parameter ref="WillTopic" requirement="readWrite"/>
        <parameter ref="WillValue" requirement="readWrite"/>
        <parameter ref="WillQoS" requirement="readWrite"/>
        <parameter ref="WillRetain" requirement="readWrite"/>
      </object>
      <object ref="Device.MQTT.Client.{i}.Stats." requirement="present">
        <parameter ref="LastPublishMessageSent" requirement="readOnly"/>
        <parameter ref="LastPublishMessageReceived" requirement="readOnly"/>
        <parameter ref="PublishSent" requirement="readOnly"/>
        <parameter ref="PublishReceived" requirement="readOnly"/>
        <parameter ref="SubscribeSent" requirement="readOnly"/>
        <parameter ref="UnSubscribeSent" requirement="readOnly"/>
        <parameter ref="PublishErrors" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="HPNAQoS:1" dmr:version="2.0" dmr:previousProfile="HPNA:1">
      <object ref="Device.HPNA.Interface.{i}.QoS." requirement="present">
        <parameter ref="FlowSpecNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.HPNA.Interface.{i}.QoS.FlowSpec.{i}." requirement="createDelete">
        <parameter ref="FlowType" requirement="readWrite"/>
        <parameter ref="Priority" requirement="readWrite"/>
        <parameter ref="Latency" requirement="readWrite"/>
        <parameter ref="Jitter" requirement="readWrite"/>
        <parameter ref="PacketSize" requirement="readWrite"/>
        <parameter ref="MinRate" requirement="readWrite"/>
        <parameter ref="AvgRate" requirement="readWrite"/>
        <parameter ref="MaxRate" requirement="readWrite"/>
        <parameter ref="PER" requirement="readWrite"/>
        <parameter ref="Timeout" requirement="readWrite"/>
      </object>
      <object ref="Device.HPNA.Diagnostics.PerformanceMonitoring.Channels.Channel.{i}." requirement="present">
        <parameter ref="FlowSpec" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="HeartbeatPolicy:1" dmr:version="2.12">
      <description>
        Note that support for this profile implies support for the requirements of {{bibref|TR-069|Annex O}}.
      </description>
      <object ref="Device.ManagementServer.HeartbeatPolicy." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ReportingInterval" requirement="readWrite"/>
        <parameter ref="InitiationTime" requirement="readWrite"/>
      </object>
    </profile>
  </model>

</dm:document>
