<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    oneM2M TR-181i2 Data Model Definition
  
  Notice:
Copyright Notification


The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices contained in the original materials on any copies of the materials and that you comply strictly with these terms. This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of any patent rights. The oneM2M Partners assume no responsibility for errors or omissions in this document. 
© oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). All rights reserved.

Notice of Disclaimer & Limitation of Liability 

The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. 
No recommendation as to products or vendors is made or should be implied. 

NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 
GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. 
NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. 
oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.


  Summary:
    oneM2M TR-181i2 Data Model Definition

  Editors:
    Timothy Carey Nokia


  Version History:
    * April 2014: Initial Draft
    * June 2014: Added Event Log data model
    * July 2014: Updated data model based on TS-0004
    * September 2014: Replace X_oneM2M with X_oneM2M_org to align with BBF conventions
    * January 2015: Add OtherConditions attribute ot NetworkAccessRule object
    * April 2015: Update Biblography and provide new spec for the document
    * September 2016: Update to add TS-0022 Device Configuration Management Objects
                      Update Copyright Notice
                      Updated to latest BBF schemas and types
                      Updated references to release 2.0 documents
    * November 2016: Update to add TS-0022 Device Configuration Management Objects rev 0.7.0
    * January 2017: Update to modify TS-0022 Device Configuration Management Objects rev 0.8.0
    * April 2017: Update to modify TS-0022 Device Configuration Management Objects rev 0.11.0
-->
<dm:document xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-5" 
             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-5
                                 http://www.broadband-forum.org/cwmp/cwmp-datamodel-1-5.xsd
                                 urn:broadband-forum-org:cwmp:datamodel-report-0-1
                                 http://www.broadband-forum.org/cwmp/cwmp-datamodel-report.xsd"
             spec="http://www.onem2m.org/xml/protocols" file="ts-0006-3-3-0.xml">
  <description>
    oneM2M TR-181i2 data model
  </description>
  <import file="tr-106-1-0-types.xml" spec="urn:broadband-forum-org:tr-106-1-1">
    <dataType name="Alias"/>
    <dataType name="IPAddress"/>
    <dataType name="IPv6Address"/>
    <dataType name="MACAddress"/>
    <dataType name="StatsCounter32"/>
    <dataType name="StatsCounter64"/>
    <dataType name="UUID"/>
  </import>
  <!-- References -->
  <bibliography>
    <reference id="ONEM2MFA">
      <name>oneM2M TS-0001 v3.4.0</name>
      <title>oneM2M Functional Architecture</title>
      <organization>oneM2M</organization>
      <date>February 2017</date>
      <hyperlink>http://www.oneM2M.org</hyperlink>
    </reference>
    <reference id="ONEM2MProtocol">
      <name>oneM2M TS-0004 v3.0.0</name>
      <title>Service Layer CoreProtocol Specification</title>
      <organization>oneM2M</organization>
      <date>March 2017</date>
      <hyperlink>http://www.oneM2M.org</hyperlink>
    </reference>
    <reference id="ONEM2MSecurity">
      <name>oneM2M TS-0003 v3.1.0</name>
      <title>Security Solutions</title>
      <organization>oneM2M</organization>
      <date>February 2017</date>
      <hyperlink>http://www.oneM2M.org</hyperlink>
    </reference>
    <reference id="ONEM2MDeviceConfig">
      <name>oneM2M TS-0022 v0.11.0</name>
      <title>Field Device Configuration</title>
      <organization>oneM2M</organization>
      <date>March 2017</date>
      <hyperlink>http://www.oneM2M.org</hyperlink>
    </reference>
    <reference id="IETF-HASH">
      <name>RFC 6920</name>
      <title>Naming Things with Hashes</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2013</date>
      <hyperlink>http://tools.ietf.org/html/rfc6920</hyperlink>
    </reference>
  </bibliography>
  <component name="oneM2M">
    <!--oneM2M proxy objects-->
    <object base="Device.ManagementServer.EmbeddedDevice.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="EmbeddedDeviceNumberOfEntries">
      <parameter base="ProxyProtocol" access="readOnly">
        <syntax>
          <string>
            <size status="deleted"/>
            <enumeration value="Z-Wave"/>
            <enumeration value="ZigBee"/>
            <enumeration value="UPnP-DM"/>
            <enumeration value="ETSI-M2M"/>
            <enumeration value="X_oneM2M_org_AE">
              <description>see {{bibref|ONEM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
      <parameter base="DiscoveryProtocol" access="readOnly" dmr:previousParameter="ProxyProtocolReference">
        <syntax>
          <list/>
          <string>
            <enumeration value="Z-Wave"/>
            <enumeration value="ZigBee"/>
            <enumeration value="UPnP"/>
            <enumeration value="ETSI-M2M"/>
            <enumeration value="X_oneM2M_org_AE">
              <description>see {{bibref|ONEM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>
    <object base="Device.ManagementServer.VirtualDevice.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="VirtualDeviceNumberOfEntries">
      <parameter base="ProxyProtocol" access="readOnly">
        <syntax>
          <string>
            <size status="deleted"/>
            <enumeration value="Z-Wave"/>
            <enumeration value="ZigBee"/>
            <enumeration value="UPnP-DM"/>
            <enumeration value="ETSI-M2M"/>
            <enumeration value="X_oneM2M_org_AE">
              <description>see {{bibref|ONEM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
      <parameter base="DiscoveryProtocol" access="readOnly" dmr:previousParameter="ProxyProtocolReference">
        <syntax>
          <list/>
          <string>
            <enumeration value="Z-Wave"/>
            <enumeration value="ZigBee"/>
            <enumeration value="UPnP"/>
            <enumeration value="ETSI-M2M"/>
            <enumeration value="X_oneM2M_org_AE">
              <description>see {{bibref|ONEM2MFA}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>
    <!--oneM2M management objects-->
    <object name="Device.DeviceInfo.X_oneM2M_org_BatteryStatus." access="readOnly" minEntries="1" maxEntries="1">
      <description>This object represents the status of the batteries on the device. </description>
      <parameter name="BatteryNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.DeviceInfo.X_oneM2M_org_BatteryStatus.Battery.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="BatteryNumberOfEntries">
      <description>This object represents information that the device has obtained via sampling the battery instance.</description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Level" access="readOnly">
        <description>The current battery level as a {{units}} of the battery capacity.</description>
        <syntax>
          <unsignedInt>
            <units value="percent"/>
            <range minInclusive="0" maxInclusive="100"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly">
        <description>Current status of the battery.</description>
        <syntax>
          <string>
            <enumeration value="Normal">
              <description>The battery is operating normally and no connected to a power source.</description>
            </enumeration>
            <enumeration value="Charging">
              <description>The battery is currently charging.</description>
            </enumeration>
            <enumeration value="ChargeComplete">
              <description>The battery is fully charges and connected to a power source.</description>
            </enumeration>
            <enumeration value="Damaged">
              <description>The battery is a problem that would cause it to be damaged.</description>
            </enumeration>
            <enumeration value="LowBattery">
              <description>The battery level is considered low.</description>
            </enumeration>
            <enumeration value="NotInstalled">
              <description>The battery is not installed.</description>
            </enumeration>
            <enumeration value="Unknown">
              <description>The battery status is unknown.</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.DeviceInfo.X_oneM2M_org_Diagnostics." access="readOnly" minEntries="1" maxEntries="1">
      <description>This object represents the oneM2M diagnostics for a device. </description>
      <parameter name="EventLogNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.DeviceInfo.X_oneM2M_org_Diagnostics.EventLog.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="EventLogNumberOfEntries">
      <description>This object represents a diagnostic that collects log data for the log type specified by the value of the {{param|Type}} parameter. The logging of the {{object}} instance is manipulated using the {{param||Enable}} parameter . The data that has been logged is available via the value of the {{param|Data}} parameter.</description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables the log collection activity on this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly" activeNotify="canDeny">
        <description>
          The current logging state of the instance. {{enum}}
          When {{param|Enable}} is {{false}} then {{param}} SHOULD normally be {{enum|Stopped}} or {{enum|Error}} if there is a error condition that does not allow the logging activity.
          When {{param|Enable}} is changed to {{true}} then {{param}} 
          * SHOULD change to {{enum|Started}} if and only if the instance is providing the logging activity.
          * SHOULD remain in the {{enum|Error}} state if there is an error condition that does not allow the logging activity
          * SHOULD remain in the {{enum|NotPresent}} state if the type of log is not present; it SHOULD change to {{enum|Unknown}} if the state of the value of the {{param|LogFile}} parameter for the value of the {{param|Type}} parameter can not be determined for some reason.
        </description>
        <syntax>
          <string>
            <enumeration value="Started"/>
            <enumeration value="Stopped"/>
            <enumeration value="Unknown"/>
            <enumeration value="NotPresent"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Type" access="readWrite">
        <description>The type of event log on which to collect data. The association of the value of this {{param}} parameter with the associated {{object|##.VendorLogFile.{i}}} instance is CPE implementation specific.
Enumeration of: 
{{enum}}
</description>
        <syntax>
          <string>
            <enumeration value="System"/>
            <enumeration value="Security"/>
            <enumeration value="Event"/>
            <enumeration value="Trace"/>
            <enumeration value="Panic"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="LogFile" access="readOnly">
        <description>{{reference}}
The referenced {{object|##.VendorLogFile.{i}}} instance for the type of log specified by the value of the {{param|Type}} parameter.</description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="##.VendorLogFile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Data" access="readOnly">
        <description>Data collected from the logging activity.</description>
        <syntax>
          <string>
            <size maxLength="32768"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <!--oneM2M CSE and AE Administration-->
    <object base="Device." access="readOnly" minEntries="1" maxEntries="1">
      <parameter name="X_oneM2M_org_CSENumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="X_oneM2M_org_AENumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="X_oneM2M_org_CSENumberOfEntries" enableParameter="Enable">
      <description>This object represents an instance of a Common Service Entity (CSE) 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 CSE that is represented as a {{object|.SoftwareModules.ExecutionUnit}} the {{object}} is maintained in the {{param|.SoftwareModules.ExecutionUnit.{i}.References}} parameter.
Clause 6.2.9 of the oneM2M Functional Architecture {{bibref|ONEM2MFA}} describes the high level description for CSE registration.
{{keys}}
    </description>
      <uniqueKey functional="true">
        <parameter ref="ID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="ID" access="readWrite">
        <description>The CSE-ID of this object. The CSE-ID is required for this {{object}} instance in order for the CSE to register with the registrar CSE defined by the value of the {{param|PointOfAccess}} parameter.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="PointOfAccess" access="readWrite">
        <description>The URL of the Registrar CSE to which this {{object}} instance registers for M2M Service Layer operation.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="ExternalID" access="readWrite">
        <description>The M2M-Ext-ID of the this {{object}} instance.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="TriggerRecipientID" access="readWrite">
        <description>The The Trigger-Recipient-ID of the this {{object}} instance.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="AuthenticationProfile" access="readWrite">
        <description>
        {{reference|the {{object|#.X_oneM2M_org_SecuritySolution.AuthenticationProfile.{i}}} object instance. The referenced authentication profile is used to convey configuration information regarding establishing mutually-authenticated secure communications}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.X_oneM2M_org_SecuritySolution.AuthenticationProfile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="M2MAreaNetworkNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="M2MAreaNetworkDeviceNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <!-- M2M Area Network-->
    <object name="Device.X_oneM2M_org_CSE.{i}.M2MAreaNetwork.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="M2MAreaNetworkNumberOfEntries" dmr:fixedObject="true">
      <description>The M2M Area Network information provides administration capabilities for remote management of Application Dedicated Nodes (ADN) and devices in the M2M Network that are attached to this {{object|##.X_oneM2M_org_CSE}} instance.
This object provides the administration of the properties needed by the CSE to remotely manage ADN and devices in the M2M Network within a specific type of M2M Area network as defined by {{param|Type}}.
Multiple instances of {{object}} with the same {{param|Type}} is permitted.
</description>
      <uniqueKey functional="true">
        <parameter ref="ID"/>
      </uniqueKey>
      <parameter name="ID" access="readOnly">
        <description>URI {{bibref|RFC3986}} that represents the identifier of the instance.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="Type" access="readOnly">
        <description>ADN and devices in the M2M Network that connect to an CSE are said to be "attached devices" and are organized by M2M Area Networks within the {{object|##.X_oneM2M_org_CSE}} instance. The {{param}} is an implementation-chosen string that indicates the type of M2M Area Network.
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="Devices" access="readOnly">
        <description>{{list}} {{reference}}
The list represents the ADN and devices in the M2M Network that are attached to this {{object|##.X_oneM2M_org_CSE}} 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="#.M2MAreaNetworkDevice." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.M2MAreaNetworkDevice.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="M2MAreaNetworkDeviceNumberOfEntries" dmr:noUniqueKeys="true" dmr:fixedObject="true">
      <description>This object provides the administration capability to the CSE for maintenance of ADN and devices in the M2M Network that are attached to this {{object|##.X_oneM2M_org_CSE}} 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 ADN or a device in the M2M Network 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}}
This object instance provides the administration properties required by a CSE to remotely manage an instance of a ADN or a device in the M2M Network within a M2M area network. 
A ADN or a device in the M2M Network is associated with an instance of a {{object|#.M2MAreaNetwork}}. 
This table contains parameters and information of the ADN or a device in the M2M Network related to each {{object|#.M2MAreaNetwork}} 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="M2MAreaNetwork" access="readOnly">
        <description>{{reference}}</description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.M2MAreaNetwork." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Host" access="readOnly">
        <description>{{list}} {{reference|the {{object|.Hosts.Host}} table entry that represents an active or inactive ADN or a device in the M2M Network}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="Type" access="readOnly">
        <description>The type of that device that indicates the functions or services provided by the ADN or a device in the M2M Network. Examples include temperature sensor, actuator, Zigbee coordinator or Zigbee router.</description>
        <syntax>
          <string>
          </string>
        </syntax>
      </parameter>
      <parameter name="Neighbors" access="readOnly">
        <description>{{list}} {{reference}} References all the {{object|.Hosts.Host}} table entries, whether active or inactive, that represent the reachable neighbors of this ADN or a device in the M2M Network.</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent=".Hosts.Host." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="SleepInterval" access="readWrite">
        <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 ADN or a device in the M2M Network in other M2M Area Networks.</description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="SleepDuration" access="readWrite">
        <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 ADN or a device in the M2M Network in other M2M Area Networks.</description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly">
        <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">
        <description>Whether or not this M2M Device is currently attached to this {{object|##.X_oneM2M_org_CSE}} instance.
The ability to list inactive a ADN or device in the M2M Network is OPTIONAL.  If the CPE includes inactive ADNs and devices in the M2M Network in this table, {{param}} is set to {{false}} for each inactive ADN or device in the M2M Network.  The length of time an inactive ADN or device in the M2M Network remains listed in this table is a local matter to the CPE.</description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <!-- CMDH-->
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH." access="readOnly" minEntries="1" maxEntries="1">
      <description>This object represents the Policies and Rules necessary to administer the Communication Management and Delivery Handling (CMDH) functions within a CSE.</description>
      <parameter name="PolicyNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="DefaultNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="DefaultECRuleNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="DefaultECParamRuleNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="LimitNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="NetworkAccessECRuleNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="NetworkAccessRuleNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="BufferNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.Policy.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="PolicyNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary to administer the Communication Management and Delivery Handling (CMDH) handling policies applied to requests to access remotely hosted resources. Annex D.12 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH processing. Only one instance of this object shall be enabled for the {{object|###.X_oneM2M_org_CSE.{i}}} instance.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Name" access="readWrite">
        <description>The name that of this {{object}} instance.</description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="DefaultRule" access="readWrite">
        <description>{{reference| an {{object|#.Default.{i}}} object instance}}</description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.Default." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="LimitRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.Limit.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.Limit." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="NetworkAccessECRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.NetworkAccessECRule.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.NetworkAccessECRule." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="BufferRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.Buffer.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.Buffer." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.Default.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="DefaultNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary to administer the CMDH default values that are used for requests issued by Originators (registered AEs or functions inside the CSE itself). Annex D.12.2 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH Default processing.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="DefaultECRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.DefaultECRule.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.DefaultECRule." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="DefaultECParamRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.DefaultECParamRule.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.DefaultECRule." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.DefaultECRule.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="DefaultECRuleNumberOfEntries" enableParameter="Enable">
      <description>This object is used to define a value for the event category (ec) for an incoming request when it is not defined. Annex D.12.3 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for determining the ec based on the rule criteria.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Order" access="readWrite">
        <description>Position of the {{object}} entry in the order of precedence.  A value of ''1'' indicates the first entry considered (highest precedence).  For each request, the highest ordered entry that matches the filter criteria is applied.  All lower order entries are ignored.
When this value is modified, if the value matches that of an existing entry, the {{param}} value for the existing entry and all lower {{param}} entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes {{param}} values to be compacted. When a value is changed, incrementing occurs before compaction.
The value of {{param}} on creation of a {{object}} table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).</description>
        <syntax>
          <unsignedLong>
            <range minInclusive="1"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="RequestOrigin" access="readWrite">
        <description>Rule criterion.
{{list| of zero or more local AE-IDs, App-IDs, or the strings ‘localAE’ or ‘thisCSE’}}</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RequestContext" access="readWrite">
        <description>Rule criterion.
This parameter defines the dynamic context condition under which the rule is applicable.
This may refer to conditions such as current battery status, or current network signal strength
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RequestContextNotificationEnable" access="readWrite">
        <description>When true, the CSE will establish a subscription to the dynamic context information defined in the {{param|RequestContext}} parameter as well as a subscription to the value of the {{param|EventCategory}} for all AEs corresponding to the AE-ID or an App-ID appearing in the {{param|RequestOrigin}} parameter.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="RequestCharacteristics" access="readWrite">
        <description>Rule criterion.
This parameter defines the conditions pertaining to the request itself, such as the requested response type (rt attribute) or other attributes of the request.
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="EventCategory" access="readWrite">
        <description>Rule result.
The value to use for the ec parameter of the request if the conditions expressed in the rule criterion match.</description>
        <syntax>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Immediate"/>
            <enumeration value="BestEffort"/>
            <enumeration value="Latest"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.DefaultECParamRule.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="DefaultECParamRuleNumberOfEntries" enableParameter="Enable">
      <description>This object is used to define a specific set of default values for the CMDH related parameters request expiration timestamp (rget), result expiration timestamp (rset), operational execution time (oet), response persistence (rp) and delivery aggregation (da) that are applicable for a given event category (ec) if these parameters are not specified in the request. Annex D.12.3 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for determining the ec based on the rule criteria.</description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="true">
        <parameter ref="EventCategories"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="EventCategories" access="readWrite">
        <description>{{list}}
The applicable Event Categories for which the defaults are used when a request doesn't have a value for request field.</description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Immediate"/>
            <enumeration value="BestEffort"/>
            <enumeration value="Latest"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="RequestExpTime" access="readWrite">
        <description>Default value, in {{units}}, for the request expiration time parameter (‘rqet’) in a request when the ‘rqet’ attribute of the request is not set. A value of -1 indicates an infinite time.</description>
        <syntax>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="ResultExpTime" access="readWrite">
        <description>Default value, in {{units}}, for the result expiration time parameter (‘rset’) in a request when the ‘rset’ attribute of the request is not set. A value of -1 indicates an infinite time.</description>
        <syntax>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="OperationExecTime" access="readWrite">
        <description>Default value, in {{units}}, for the operational execution time parameter (‘oet’) in a request when the ‘oet’ attribute of the request is not set. A value of -1 indicates an infinite time.</description>
        <syntax>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="ResponsePersistence" access="readWrite">
        <description>Default value, in {{units}}, for the response persistence parameter (‘rp’) in a request when the ‘rp’ attribute of the request is not set. A value of -1 indicates an infinite time.</description>
        <syntax>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="DeliveryAggregation" access="readWrite">
        <description>Default value for the delivery aggregation parameter (‘da’) in a request when the ‘da’ attribute of the request is not set.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.Limit.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="LimitNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary to administer the CMDH limits for requests issued by Originators (registered AEs or functions inside the CSE itself). Annex D.12.5 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH Limits processing.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Order" access="readWrite">
        <description>Position of the {{object}} entry in the order of precedence.  A value of ''1'' indicates the first entry considered (highest precedence).  For each request, the highest ordered entry that matches the filter criteria is applied.  All lower order entries are ignored.
When this value is modified, if the value matches that of an existing entry, the {{param}} value for the existing entry and all lower {{param}} entries is incremented (lowered in precedence) to ensure uniqueness of this value. A deletion causes {{param}} values to be compacted. When a value is changed, incrementing occurs before compaction.
The value of {{param}} on creation of a {{object}} table entry MUST be one greater than the largest current value (initially assigned the lowest precedence).</description>
        <syntax>
          <unsignedLong>
            <range minInclusive="1"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="RequestOrigin" access="readWrite">
        <description>Rule criterion.
{{list| of zero or more local AE-IDs, App-IDs, or the strings ‘localAE’ or ‘thisCSE’}}</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RequestContext" access="readWrite">
        <description>Rule criterion.
This parameter defines the dynamic context condition under which the rule is applicable.
This may refer to conditions such as current battery status, or current network signal strength
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RequestContextNotificationEnable" access="readWrite">
        <description>When true, the CSE will establish a subscription to the dynamic context information defined in the {{param|RequestContext}} parameter as well as a subscription to this resource for all AEs corresponding to the AE-ID or an App-ID appearing in the {{param|RequestOrigin}} parameter.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="RequestCharacteristics" access="readWrite">
        <description>Rule criterion.
This parameter defines the conditions pertaining to the request itself, such as the requested response type (rt attribute) or other attributes of the request.
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="EventCategories" access="readWrite">
        <description>Rule Limit.
{{list}}
Allowed values for the event category parameter (‘ec’) in a request </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Immediate"/>
            <enumeration value="BestEffort"/>
            <enumeration value="Latest"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="RequestExpTime" access="readWrite">
        <description>Rule Limit
{{list}}
Range of allowed values for the request expiration time parameter (‘rqet’) in a request.
The first entry refers to the minimum time increment and the second entry refers to the maximum time increment. A value of -1 in an entry range is defined as an infinite time.</description>
        <syntax>
          <list minItems="2" maxItems="2"/>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="ResultExpTime" access="readWrite">
        <description>Rule Limit
{{list}}
Range of allowed values for the result expiration time parameter (‘rset’) in a request.
The first entry refers to the minimum time increment and the second entry refers to the maximum time increment. A value of -1 in an entry range is defined as an infinite time.</description>
        <syntax>
          <list minItems="2" maxItems="2"/>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="OperationExecTime" access="readWrite">
        <description>Rule Limit
{{list}}
Range of allowed values for the operational execution time parameter(‘oet’) in a request.
The first entry refers to the minimum time increment and the second entry refers to the maximum time increment. A value of -1 in an entry range is defined as an infinite time.</description>
        <syntax>
          <list minItems="2" maxItems="2"/>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="ResponsePersistence" access="readWrite">
        <description>Rule Limit
{{list}}
Range of allowed values for the response persistence parameter (‘rp’) in a request.
The first entry refers to the minimum time increment and the second entry refers to the maximum time increment. A value of -1 in an entry range is defined as an infinite time.</description>
        <syntax>
          <list minItems="2" maxItems="2"/>
          <long>
            <units value="milliseconds"/>
            <range minInclusive="-1"/>
          </long>
        </syntax>
      </parameter>
      <parameter name="DeliveryAggregation" access="readWrite">
        <description>Rule Limit
{{list}}
Allowed values for the Delivery aggregation parameter (‘da’) in a request.
		</description>
        <syntax>
          <list minItems="1" maxItems="2"/>
          <boolean/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.NetworkAccessECRule.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="NetworkAccessECRuleNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary to define the usage of underlying networks for forwarding information to other CSEs during processing of CMDH-related requests in a CSE. Annex D.12.6 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH Network Access Rule processing for specified event categories.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="EventCategories" access="readWrite">
        <description>Rule Criterion.
{{list}}
This parameter defines the applicable event categories for which requests the rules contained in {{param|NetworkAccessRules}} are applied.</description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Immediate"/>
            <enumeration value="BestEffort"/>
            <enumeration value="Latest"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="NetworkAccessRules" access="readWrite">
        <description>{{list}} {{reference| an {{object|#.NetworkAccessRule.{i}}} object instance}}</description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="#.NetworkAccessRule." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.NetworkAccessRule.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="NetworkAccessRuleNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary is used define limits in usage of specific underlying networks for forwarding information to other CSEs during processing of CMDH related requests. Annex D.2.7 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH Network Access Rule processing.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="TargetNetworks" access="readWrite">
        <description>Rule Criterion.
{{list}}
This parameter defines for which underlying networks the usage limits contained in this {{object}} instance is applied.</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="AllowedSchedule" access="readWrite">
        <description>Rule Criterion
{{list|the format of schedule entry is defined in {{bibref|ONEM2MProtocol|clause 7.4.9.1}}}}
This parameter defines the allowed schedule before any of the Underlying Networks matching a value in the {{param|TargetNetworks}} parameter can be used for forwarding information to other CSEs.
</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="MinimumReqVolume" access="readWrite">
        <description>Rule Criterion
This parameter defines the minimum amount of data, in {{units}}, that needs to be aggregated before any of the Underlying Networks matching a value in the {{param|TargetNetworks}} parameter can be used for forwarding information to other CSEs.</description>
        <syntax>
          <unsignedLong>
            <units value="bytes"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="OtherConditions" access="readWrite">
        <description>Rule Criterion
This parameter defines the vendor specific criteria that can be applied this object.
</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="BackoffTime" access="readWrite">
        <description>Rule Result
This parameter defines the time, in {{units}}, that defines how long a CSE needs to wait before attempting to use a specific Underlying Network again after a first failed attempt.</description>
        <syntax>
          <unsignedLong>
            <units value="milliseconds"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="BackoffTimeIncrement" access="readWrite">
        <description>Rule Result
This parameter defines by how much, in {{units}}, the back-off time shall be increased after each additional consecutive failed attempt to use the same Underlying Network without success.</description>
        <syntax>
          <unsignedLong>
            <units value="milliseconds"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="MaximumBackoffTime" access="readWrite">
        <description>Rule Result
This parameter defines the time, in {{units}}, that defines the maximum wait time before attempting to use an Underlying Network again after previous failures.</description>
        <syntax>
          <unsignedLong>
            <units value="milliseconds"/>
          </unsignedLong>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_CSE.{i}.CMDH.Buffer.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="BufferNumberOfEntries" enableParameter="Enable">
      <description>This object describes the parameters necessary to administer the CMDH limits in usage of buffers for temporarily storing information that needs to be forwarded to other CSEs during processing of CMDH-related requests in a CSE). Annex D.12.8 of the M2M Functional Architecture {{bibref|ONEM2MFA}} describes the behavior for CMDH Buffer processing.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="EventCategories" access="readWrite">
        <description>Rule Limit.
{{list}}
Allowed values for the event category parameter (‘ec’) in a request </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Default"/>
            <enumeration value="Immediate"/>
            <enumeration value="BestEffort"/>
            <enumeration value="Latest"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="MaximumBufferSize" access="readWrite">
        <description>Rule Limit
Maximum amount of memory, in {{units}}, that can be used for buffering requests matching with a value in the {{param|EventCategories}} parameter.</description>
        <syntax>
          <unsignedLong>
            <units value="kilobytes"/>
            <range maxInclusive="1024"/>
          </unsignedLong>
        </syntax>
      </parameter>
      <parameter name="StoragePriority" access="readWrite">
        <description>Rule Result
Storage priority for data that is stored for buffering requests matching with this {{object}} instance</description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="10"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
    <!--oneM2M AE Administration-->
    <object name="Device.X_oneM2M_org_AE.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="X_oneM2M_org_AENumberOfEntries" enableParameter="Enable">
      <description>This object represents an instance of a Application Entity (AE) 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 CSE that is represented as a {{object|.SoftwareModules.ExecutionUnit}} the {{object}} is maintained in the {{param|.SoftwareModules.ExecutionUnit.{i}.References}} parameter.
Clause 6.2.9 of the oneM2M Functional Architecture {{bibref|ONEM2MFA}} describes the high level description for CSE registration.
{{keys}}
    </description>
      <uniqueKey functional="true">
        <parameter ref="ID"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="ID" access="readWrite">
        <description>The AE identifier of this object. The AE-ID is required for this {{object}} instance in order for the AE to register with the registrar CSE defined by the value of the {{param|PointOfAccess}} parameter.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="PointOfAccess" access="readWrite">
        <description>The URL of the Registrar CSE to which this {{object}} instance registers for M2M Service Layer operation.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="ApplicationID" access="readWrite">
        <description>The APP-ID of this {{object}} instance.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="AuthenticationProfile" access="readWrite">
        <description>
        {{reference|the {{object|#.X_oneM2M_org_SecuritySolution.AuthenticationProfile.{i}}} object instance. The referenced authentication profile is used to convey configuration information regarding establishing mutually-authenticated secure communications}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.X_oneM2M_org_SecuritySolution.AuthenticationProfile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_AE.{i}.DataCollection." access="readOnly" minEntries="1" maxEntries="1">
      <description>This object represents the data collection (measurement) and transmittal (reporting) properties for an AE.</description>
      <parameter name="ContainerPath" access="readWrite">
        <description>URI {{bibref|RFC3986}} of the container resource in the Hosting CSE that stores the data transmitted by this {{object}} instance.</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="ReportingSchedule" access="readWrite">
        <description>{{list|the format of schedule entry is defined in {{bibref|ONEM2MProtocol|clause 7.4.9.1}}}} This parameter defines the schedule used to transmit the data that was collected.</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="CollectionSchedule" access="readWrite">
        <description>{{list|the format of schedule entry is defined in {{bibref|ONEM2MProtocol|clause 7.4.9.1}}}} This parameter defines the schedule used to collect the data for transmission.</description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
    </object>
    <!--oneM2M Security-->
    <object base="Device.Security.Certificate.{i}." access="readOnly" numEntriesParameter="CertificateNumberOfEntries" minEntries="0" maxEntries="unbounded">
      <uniqueKey functional="true">
        <parameter ref="X_oneM2M_org_Fingerprint"/>
      </uniqueKey>
      <parameter name="X_oneM2M_org_Fingerprint" access="readOnly">
        <description>
          This parameter represents a hash value for identifying the certificate to be used by the intended security principal on the Managed Entity to authenticate itself to other security principals.
          The hash value is computed over the X.509 ASN.1 DER encoded certificate using the sha-256 hash algorithm as specified in {{bibref|IETF-HASH}}.
          The format of the parameter value is defined in {{bibref|ONEM2MDeviceConfig|clause 7.3.2}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="X_oneM2M_org_Format" access="readOnly">
        <description>
          This parameter represents the media type format of the {{object}} instance.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="X_oneM2M_org_SUIDs" access="readWrite">
        <description>
          {{list| each entry is a Security Usage Identifier (SUID) of the security framework used for establishing mutually-authenticated secure communication}}
          A SUID which is not in this list is prevented from using this credential for establishing mutually-authenticated secure communication.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_SecuritySolution." access="readOnly" minEntries="1" maxEntries="1">
      <description>This object represents the oneM2M specific security solutions used by CSEs and AEs as defined in defined in {{bibref|ONEM2MSecurity}}.</description>
      <parameter name="AuthenticationProfileNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="TrustAnchorCredentialNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="MAFClientRegistrationNumberOfEntries" access="readOnly">
        <description>{{numentries}}</description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_SecuritySolution.AuthenticationProfile.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="AuthenticationProfileNumberOfEntries" enableParameter="Enable">
      <description>This object represents an instance of a Authentication Profile that defines the method and information needed to establish mutually authenticated secure communications as defined in {{bibref|ONEM2MDeviceConfig|clause 7.1.4}}.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="SUID" access="readWrite">
        <description>
          The Security Usage Identifier (SUID) that represents this {{object}} instance that describes how this {{object}} instance is to be used in the authentication process.
          The values for this parameter are defined in {{bibref|ONEM2MDeviceConfig|clause 7.1.5}}.
          </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="TLSCipherSuites" access="readWrite">
        <description>
          {{list|when the {{param|SUID}} indicates a use for TLS. This parameter provides a list of permitted TLS ciphersuites that can be used in the authentication process}}
          The formatting of the cipher suite is defined in {{bibref|ONEM2MDeviceConfig|clause 7.3.2}}.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
      <parameter name="SymmetricKeyID" access="readWrite">
        <description>
          The identifier for the symmetric key that the entity uses to authenticate the peer entity.
          The format of the identifier is defined in {{bibref|ONEM2MSecurity|clause 12.2}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="SymmetricKeyValue" access="readWrite">
        <description>{{list|the value of the key}}</description>
        <syntax>
          <list minItems="0" maxItems="2"/>
          <base64/>
        </syntax>
      </parameter>
      <parameter name="MAFFQDN" access="readWrite">
        <description>The Fully Qualified Domain Name (FQDN) of the element to which this M2M Authentication (MAF) client will communicate in order to register its keys used in the M2M authentication function (MAF).</description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="MAFKeyRegDuration" access="readWrite">
        <description>
          The duration, in {{units}}, that represents the expiration period for the key that is registered with the MAF by this MAF client.
          The value 0 represents an infinite duration.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="MyCert" access="readWrite">
        <description>
        {{reference|the {{object|##.Security.Certificate.{i}}} object instance. The referenced certificate is intended security principal on the Managed Entity to authenticate itself to other security principals}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="##.Security.Certificate." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="RawPubKeyID" access="readWrite">
        <description>
        The identifier to authenticate other security prinicipals when the other security principal authenticate itself with a Raw Public Key Certificate.
        The format of the parameter value is defined in {{bibref|ONEM2MDeviceConfig|clause 7.3.2}}.
        </description>
        <syntax>
          <string>
          </string>
        </syntax>
      </parameter>
      <parameter name="TrustAnchorCredentials" access="readWrite">
        <description>
        {{list|{{reference|the {{object|##.TrustAnchorCredential.{i}}} object instance. The referenced credential is intended security principal on the Managed Entity to authenticate  other security principals that present certificates}}}}
        </description>
        <syntax>
          <list/>
          <string>
            <pathRef refType="strong" targetParent="##.Security.Certificate." targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_SecuritySolution.TrustAnchorCredential.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="TrustAnchorCredentialNumberOfEntries" enableParameter="Enable">
      <description>This object represents an instance of a Authentication Profile that defines the method and information needed to establish mutually authenticated secure communications as defined in {{bibref|ONEM2MDeviceConfig|clause 7.1.4}}.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="Fingerprint" access="readWrite">
        <description>
          This parameter represents a hash value for identifying the certificate to be used by the intended security principal on the Managed Entity to authenticate other security principals.
          The hash value is computed over the X.509 ASN.1 DER encoded certificate using the sha-256 hash algorithm as specified in {{bibref|IETF-HASH}}.
          The format of the parameter value is defined in {{bibref|ONEM2MDeviceConfig|clause 7.3.2}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="RemoteTrustStore" access="readWrite">
        <description>
          The URI {{bibref|RFC3986}} that represents the identifier of the remote trust store from which the Managed Entity can retrieve the CA Certificate if the certificate is not locally stored.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>
    <object name="Device.X_oneM2M_org_SecuritySolution.MAFClientRegistration.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="MAFClientRegistrationNumberOfEntries" enableParameter="Enable">
      <description>This object represents an instance of a configuration object needed for the MAF Client to mutually authenticate with a MAF as defined in {{bibref|ONEM2MSecurity|clause 8.8.3}}.
    </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <parameter name="Enable" access="readWrite">
        <description>Administratively enables or disables this instance.</description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>
      <parameter name="Alias" access="readWrite">
        <description>{{datatype|expand}}</description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>
      <parameter name="AuthenticationProfile" access="readWrite">
        <description>
        {{reference|the {{object|#.AuthenticationProfile.{i}}} object instance containing the infromation for this {{object}} instance to authenticate with the MAF}}
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="#.AuthenticationProfile." targetType="row"/>
          </string>
        </syntax>
      </parameter>
      <parameter name="URI" access="readWrite">
        <description>
          The URI {{bibref|RFC3986}} that represents address to which MAF client will send the registration request.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
      <parameter name="HTTPPort" access="readWrite">
        <description>
          The port that MAF will be listening on when the communication uses the HTTP protocol.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="CoAPPort" access="readWrite">
        <description>
          The port that MAF will be listening on when the communication uses the HTTP protocol.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="WebsocketPort" access="readWrite">
        <description>
          The port that MAF will be listening on when the communication uses the Websocket protocol.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="ExpirationTimeStamp" access="readWrite">
        <description>
          Time at which the registration will expire.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>
    <!-- PROFILES -->
    <profile name="X_oneM2M_org_CSE:1">
      <object ref="Device." requirement="present">
        <parameter ref="X_oneM2M_org_CSENumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_CSERegistration:1" extends="X_oneM2M_org_CSE:1">
      <object ref="Device.X_oneM2M_org_CSE.{i}." requirement="createDelete">
        <parameter ref="ID" requirement="readWrite"/>
        <parameter ref="PointOfAccess" requirement="readWrite"/>
        <parameter ref="ExternalID" requirement="readWrite"/>
        <parameter ref="TriggerRecipientID" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_CMDH:1">
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH." requirement="present">
        <parameter ref="PolicyNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DefaultNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DefaultECRuleNumberOfEntries" requirement="readOnly"/>
        <parameter ref="DefaultECParamRuleNumberOfEntries" requirement="readOnly"/>
        <parameter ref="LimitNumberOfEntries" requirement="readOnly"/>
        <parameter ref="NetworkAccessECRuleNumberOfEntries" requirement="readOnly"/>
        <parameter ref="NetworkAccessRuleNumberOfEntries" requirement="readOnly"/>
        <parameter ref="BufferNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.Policy.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Name" requirement="readWrite"/>
        <parameter ref="DefaultRule" requirement="readWrite"/>
        <parameter ref="LimitRules" requirement="readWrite"/>
        <parameter ref="NetworkAccessECRules" requirement="readWrite"/>
        <parameter ref="BufferRules" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.Default.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="DefaultECRules" requirement="readWrite"/>
        <parameter ref="DefaultECParamRules" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.DefaultECRule.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Order" requirement="readWrite"/>
        <parameter ref="RequestOrigin" requirement="readWrite"/>
        <parameter ref="RequestContext" requirement="readWrite"/>
        <parameter ref="RequestContextNotificationEnable" requirement="readWrite"/>
        <parameter ref="RequestCharacteristics" requirement="readWrite"/>
        <parameter ref="EventCategory" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.DefaultECParamRule.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="EventCategories" requirement="readWrite"/>
        <parameter ref="RequestExpTime" requirement="readWrite"/>
        <parameter ref="ResultExpTime" requirement="readWrite"/>
        <parameter ref="OperationExecTime" requirement="readWrite"/>
        <parameter ref="ResponsePersistence" requirement="readWrite"/>
        <parameter ref="DeliveryAggregation" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.Limit.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Order" requirement="readWrite"/>
        <parameter ref="RequestOrigin" requirement="readWrite"/>
        <parameter ref="RequestContext" requirement="readWrite"/>
        <parameter ref="RequestContextNotificationEnable" requirement="readWrite"/>
        <parameter ref="RequestCharacteristics" requirement="readWrite"/>
        <parameter ref="EventCategories" requirement="readWrite"/>
        <parameter ref="RequestExpTime" requirement="readWrite"/>
        <parameter ref="ResultExpTime" requirement="readWrite"/>
        <parameter ref="OperationExecTime" requirement="readWrite"/>
        <parameter ref="ResponsePersistence" requirement="readWrite"/>
        <parameter ref="DeliveryAggregation" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.NetworkAccessECRule.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="EventCategories" requirement="readWrite"/>
        <parameter ref="NetworkAccessRules" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.NetworkAccessRule.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="TargetNetworks" requirement="readWrite"/>
        <parameter ref="MinimumReqVolume" requirement="readWrite"/>
        <parameter ref="AllowedSchedule" requirement="readWrite"/>
        <parameter ref="OtherConditions" requirement="readWrite"/>
        <parameter ref="BackoffTime" requirement="readWrite"/>
        <parameter ref="BackoffTimeIncrement" requirement="readWrite"/>
        <parameter ref="MaximumBackoffTime" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.CMDH.Buffer.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="EventCategories" requirement="readWrite"/>
        <parameter ref="MaximumBufferSize" requirement="readWrite"/>
        <parameter ref="StoragePriority" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_M2MAreaNetwork:1">
      <object ref="Device.X_oneM2M_org_CSE.{i}." requirement="createDelete">
        <parameter ref="M2MAreaNetworkNumberOfEntries" requirement="readOnly"/>
        <parameter ref="M2MAreaNetworkDeviceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.M2MAreaNetwork.{i}." requirement="present">
        <parameter ref="ID" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Devices" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_CSE.{i}.M2MAreaNetworkDevice.{i}." requirement="present">
        <parameter ref="M2MAreaNetwork" requirement="readOnly"/>
        <parameter ref="Host" requirement="readOnly"/>
        <parameter ref="Type" requirement="readOnly"/>
        <parameter ref="Neighbors" requirement="readOnly"/>
        <parameter ref="SleepInterval" requirement="readWrite"/>
        <parameter ref="SleepDuration" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Active" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_Battery:1">
      <object ref="Device.DeviceInfo.X_oneM2M_org_BatteryStatus." requirement="present">
        <parameter ref="BatteryNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DeviceInfo.X_oneM2M_org_BatteryStatus.Battery.{i}." requirement="present">
        <parameter ref="Level" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_Diagnostic:1">
      <object ref="Device.DeviceInfo.X_oneM2M_org_Diagnostics." requirement="present">
        <parameter ref="EventLogNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.DeviceInfo.X_oneM2M_org_Diagnostics.EventLog.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Type" requirement="readWrite"/>
        <parameter ref="LogFile" requirement="readOnly"/>
        <parameter ref="Data" requirement="readOnly"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_AE:1">
      <object ref="Device." requirement="present">
        <parameter ref="X_oneM2M_org_AENumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_AE.{i}." requirement="createDelete">
        <parameter ref="ID" requirement="readWrite"/>
        <parameter ref="PointOfAccess" requirement="readWrite"/>
        <parameter ref="ApplicationID" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_AERegistration:1" extends="X_oneM2M_org_AE:1">
      <object ref="Device.X_oneM2M_org_AE.{i}." requirement="createDelete">
        <parameter ref="ID" requirement="readWrite"/>
        <parameter ref="PointOfAccess" requirement="readWrite"/>
        <parameter ref="ApplicationID" requirement="readWrite"/>
      </object>
    </profile>
    <profile name="X_oneM2M_org_AEDataCollection:1" extends="X_oneM2M_org_AE:1">
      <object ref="Device.X_oneM2M_org_AE.{i}.DataCollection." requirement="present">
        <parameter ref="ContainerPath" requirement="readWrite"/>
        <parameter ref="ReportingSchedule" requirement="readWrite"/>
        <parameter ref="CollectionSchedule" requirement="readWrite"/>
      </object>
    </profile>
     <profile name="X_oneM2M_org_Security:1">
      <object ref="Device.Security.Certificate.{i}." requirement="present">
        <parameter ref="X_oneM2M_org_Fingerprint" requirement="readOnly"/>
        <parameter ref="X_oneM2M_org_Format" requirement="readOnly"/>
        <parameter ref="X_oneM2M_org_SUIDs" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_SecuritySolution." requirement="present">
        <parameter ref="AuthenticationProfileNumberOfEntries" requirement="readOnly"/>
        <parameter ref="TrustAnchorCredentialNumberOfEntries" requirement="readOnly"/>
        <parameter ref="MAFClientRegistrationNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.X_oneM2M_org_SecuritySolution.AuthenticationProfile.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="SUID" requirement="readWrite"/>
        <parameter ref="TLSCipherSuites" requirement="readWrite"/>
        <parameter ref="SymmetricKeyID" requirement="readWrite"/>
        <parameter ref="SymmetricKeyValue" requirement="readWrite"/>
        <parameter ref="MAFFQDN" requirement="readWrite"/>
        <parameter ref="MAFKeyRegDuration" requirement="readWrite"/>
        <parameter ref="MyCert" requirement="readWrite"/>
        <parameter ref="RawPubKeyID" requirement="readWrite"/>
        <parameter ref="TrustAnchorCredentials" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_SecuritySolution.TrustAnchorCredential.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Fingerprint" requirement="readWrite"/>
        <parameter ref="RemoteTrustStore" requirement="readWrite"/>
      </object>
      <object ref="Device.X_oneM2M_org_SecuritySolution.MAFClientRegistration.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="AuthenticationProfile" requirement="readWrite"/>
        <parameter ref="URI" requirement="readWrite"/>
        <parameter ref="HTTPPort" requirement="readWrite"/>
        <parameter ref="CoAPPort" requirement="readWrite"/>
        <parameter ref="WebsocketPort" requirement="readWrite"/>
      </object>
    </profile>
  </component>
</dm:document>
