<?xml version="1.0" encoding="UTF-8"?>
<!--
  Device:2 Root Data Model: Common Object definitions [FAP]

  Copyright (c) 2010-2021, Broadband Forum

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

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

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

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

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

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

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

  Comments or questions about this Broadband Forum data model should be
  directed to <info@broadband-forum.org>.
-->

<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-8"
    xmlns:dmr="urn:broadband-forum-org:cwmp:datamodel-report-1-0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-8
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-1-8.xsd
      urn:broadband-forum-org:cwmp:datamodel-report-1-0
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-report-1-0.xsd"
    spec="urn:broadband-forum-org:tr-181-2-15-0-fap"
    file="tr-181-2-15-0-fap.xml">

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

  <import file="tr-106-types.xml" spec="urn:broadband-forum-org:tr-106">
    <dataType name="Alias" ref="_AliasCommon"/>
    <dataType name="URL"/>
  </import>

  <import file="tr-181-2-root.xml"
      spec="urn:broadband-forum-org:tr-181-2-14-root">
    <component name="Root"/>
  </import>

  <component name="FAP">

    <object name="Device.FAP." access="readOnly" minEntries="1" maxEntries="1"
        version="2.4">
      <description>
        This object is the container for all Femto related component objects,
        to prevent pollution of the so-called global namespace of the BBF with
        FAP specific objects.
      </description>
    </object>

    <object name="Device.FAP.GPS." access="readOnly" minEntries="1"
        maxEntries="1" version="2.4">
      <description>
        This object contains the parameters relating to the GPS scan.
      </description>

      <parameter name="ScanOnBoot" access="readWrite">
        <description>
          Enables or disables GPS scans during the device start up.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="true"/>
        </syntax>
      </parameter>

      <parameter name="ScanPeriodically" access="readWrite">
        <description>
          Enables or disables periodic GPS scans.
        </description>
        <syntax>
          <boolean/>
          <default type="factory" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PeriodicInterval" access="readWrite">
        <description>
          When {{param|ScanPeriodically}} is {{true}}, this value indicates the
          interval in {{units}} which GPS scan is performed.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the CPE will
          initiate the periodic GPS scan. Each GPS scan MUST occur at (or as
          soon as possible after) this reference time plus or minus an integer
          multiple of the {{param|PeriodicInterval}}.

          {{param}} is used only to set the "phase" of the GPS scan. The actual
          value of {{param}} can be arbitrarily far into the past or future.

          For example, if {{param|PeriodicInterval}} is 86400 (a day) and if
          {{param}} is set to UTC midnight on some day (in the past, present,
          or future) then periodic GPS scans will occur every day at UTC
          midnight. These MUST begin on the very next midnight, even if
          {{param}} refers to a day in the future.

          The Unknown Time value defined in {{bibref|TR-106|Section 3.2}}
          indicates that no particular time reference is specified. That is,
          the CPE MAY locally choose the time reference, and needs only to
          adhere to the specified PeriodicInformInterval.

          If absolute time is not available to the CPE, its periodic GPS scan
          behavior MUST be the same as if {{param}} parameter was set to the
          Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ContinuousGPS" access="readWrite">
        <description>
          Whether or not the device SHOULD maintain a continuous GPS lock (e.g.
          as a frequency stability source).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ScanTimeout" access="readWrite">
        <description>
          Specifies the time-out value in {{units}} since the scan started
          after which the scan will time out. A timed out scan is to be
          reported as {{enum|Error_TIMEOUT|ScanStatus}} with
          {{param|ErrorDetails}} indicating "Timed out"
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ScanStatus" access="readOnly">
        <description>
          Indicates the current status of this scan.
        </description>
        <syntax>
          <string>
            <enumeration value="Indeterminate">
              <description>
                The scan has not been executed and there are no valid scan
                results available
              </description>
            </enumeration>
            <enumeration value="InProgress"/>
            <enumeration value="Success"/>
            <enumeration value="Error"/>
            <enumeration value="Error_TIMEOUT"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ErrorDetails" access="readOnly">
        <description>
          Provides more detail when the {{param|ScanStatus}} is either
          {{enum|Error|ScanStatus}} or {{enum|Error_TIMEOUT|ScanStatus}}.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastScanTime" access="readOnly"
          activeNotify="forceDefaultEnabled">
        <description>
          The date and time when the last GPS scan completed.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LastSuccessfulScanTime" access="readOnly"
          activeNotify="canDeny">
        <description>
          Specifies the date and time, when the GPS scan last completed
          successfully.

          {{template|FAP-GPS-RESET}}

          The values for {{param|LockedLatitude}}, {{param|LockedLongitude}}
          and {{param|NumberOfSatellites}} correspond to this time. If a scan
          has never succeeded before, the value will be the Unknown Time value,
          as defined in {{bibref|TR-106|Section 3.2}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LockedLatitude" access="readOnly"
          activeNotify="canDeny">
        <description>
          This parameter specifies the latitude of the device's position in
          degrees, multiplied by 1 million. The positive value signifies the
          direction, north of the equator. The negative value signifies the
          direction, south of the equator.

          Range is from: 90d00.00' South (-90,000,000) to 90d00.00' North
          (90,000,000).

          Example: A latitude of 13d19.43' N would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60).
          Latitude of 50d00.00' S would be represented as value -50,000,000.

          {{template|FAP-GPS-RESET}}

          If a scan has never succeeded before, the value 0 is reported.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LockedLongitude" access="readOnly"
          activeNotify="canDeny">
        <description>
          This parameter specifies the longitude of the device's position in
          degrees, multiplied by 1 million. The positive value signifies the
          direction, east of the prime meridian. The negative value signifies
          the direction, west of the prime meridian.

          Range is from: 180d00.00' West (-180,000,000) to 180d00.00' East
          (180,000,000).

          Example: A longitude of 13d19.43' E would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A
          longitude of 50d00.00' W would be represented as value -50,000,000.

          {{template|FAP-GPS-RESET}}

          If a scan has never succeeded before, the value 0 is reported.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="NumberOfSatellites" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of satellites that were locked during the test execution.
          The greater the number of satellites the better the precision of the
          results.

          {{template|FAP-GPS-RESET}}

          If a scan has never succeeded before, the value 0 is reported.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.GPS.ContinuousGPSStatus." access="readOnly"
        minEntries="1" maxEntries="1" version="2.4">
      <description>
        When {{param|#.ContinuousGPS}} is {{true}}, the parameters in this
        object contain the GPS status as it is continuously monitored.

        When {{param|#.ContinuousGPS}} is {{false}}, the parameters in this
        object are not being updated and their values are not accurate.
      </description>

      <parameter name="CurrentFix" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if the location fix is currently valid (i.e.
          GPS receiver is currently tracking satellite signals), otherwise it
          is {{false}}. After a reboot the value is {{false}} until the GPS
          receivers has a valid current position.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="GotFix" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if {{param|CurrentFix}} has transitioned to
          {{true}} at least once since {{param|#.ContinuousGPS}} was enabled,
          otherwise it is {{false}}. After a reboot the value is {{false}}
          until {{param|CurrentFix}} has transitioned to {{true}} again.

          The GPS coordinates ({{param|Latitude}}, {{param|Longitude}}, and
          {{param|Elevation}}) are not valid until {{param}} has a value of
          {{true}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TimingGood" access="readOnly" activeNotify="canDeny">
        <description>
          The value is {{true}} if the timing synchronization is good,
          otherwise it is {{false}}. After a reboot the value is {{false}}
          until the timing is synchronized again.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Latitude" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent latitude reading for the
          device's position in degrees, multiplied by 1 million. The positive
          value signifies the direction, north of the equator. The negative
          value signifies the direction, south of the equator.

          Range is from: 90 deg 00.00' South (-90,000,000) to 90 deg 00.00'
          North (90,000,000).

          Example: A latitude of 13 deg 19.43' N would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60).
          Latitude of 50 deg 00.00' S would be represented as value
          -50,000,000.

          {{param}} is not valid until {{param|GotFix}} is {{true}}.

          If the parameter has never been set before, the value 0 is reported.
          The value SHOULD be maintained over a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Longitude" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent longitude reading for the
          device's position in degrees, multiplied by 1 million. The positive
          value signifies the direction, east of the prime meridian. The
          negative value signifies the direction, west of the prime meridian.

          Range is from: 180d00.00' West (-180,000,000) to 180d00.00' East
          (180,000,000).

          Example: A longitude of 13d19.43' E would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A
          longitude of 50d00.00' W would be represented as value -50,000,000.

          {{param}} is not valid until {{param|GotFix}} is {{true}}.

          If the parameter has never been set before, the value 0 is reported.
          The value SHOULD be maintained over a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Elevation" access="readOnly" activeNotify="canDeny">
        <description>
          This parameter represents the most recent elevation reading for the
          device's position in {{units}}, relative to the WGS84 ellipsoid. The
          positive value signifies the direction, above sea level. The negative
          value signifies the direction, below sea level.

          Range is from: 5,000.000 meters below sea level (-5,000,000) to
          25,000.000 meters above sea level (25,000,000).

          {{param}} is not valid until {{param|GotFix}} is {{true}}.

          If the parameter has never been set before, the value 0 is reported.
          The value SHOULD be maintained over a reboot.
        </description>
        <syntax>
          <int>
            <range minInclusive="-5000000" maxInclusive="25000000"/>
            <units value="millimeters"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="LastFixTime" access="readOnly" activeNotify="canDeny">
        <description>
          Represents the date and time when the last GPS Fix was acquired.

          The Unknown Time value defined in {{bibref|TR-106|Section 3.2}} is
          used when {{param|GotFix}} is {{false}}. This applies too after a
          reboot of the device until a valid location is determined and
          {{param|GotFix}} transsitions to {{true}}.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LastFixDuration" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of {{units}} of continuous GPS fix time. After a reboot this
          value is reset to 0.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FirstFixTimeout" access="readWrite">
        <description>
          Number of {{units}} to wait for first GPS fix before declaring a GPS
          fault.

          A value of -1 means that there is no timeout and no fault logging.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="SatellitesTracked" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of satellites the receiver is tracking.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SatelliteTrackingInterval" access="readWrite">
        <description>
          The interval in {{units}} at which the GPS tracking information gets
          reported.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="60" maxInclusive="3600"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReceiverStatus" access="readOnly"
          activeNotify="canDeny">
        <description>
          The output of the GPS receiver's status.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LocationType" access="readOnly" activeNotify="canDeny">
        <description>
          Indicates whether the {{param|Latitude}}, {{param|Longitude}}, and
          {{param|Elevation}} values are determined via a GPS Fix (where the
          value of this parameter would be {{enum|Real}}) or via some other
          means (where the value of this parameter would be
          {{enum|Reference}}).
        </description>
        <syntax>
          <string>
            <enumeration value="Real"/>
            <enumeration value="Reference"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LockTimeOutDuration" access="readWrite">
        <description>
          The timer duration, in {{units}}, for which the device waits for GPS
          to acquire lock.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="120" maxInclusive="86400"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.GPS.AGPSServerConfig." access="readOnly"
        minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters for the configuration of the Assisted
        Global Positioning System (A-GPS) server. See also
        {{bibref|3GPP-TS.25.171|Section 3.2}}
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the {{object}} entry.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServerURL" access="readWrite">
        <description>
          A-GPS server host name or IP address.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServerPort" access="readWrite">
        <description>
          The port to use when communicating to the A-GPS Server.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used by the device to authenticate with the A-GPS
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be used by the device to authenticate with the A-GPS
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ReferenceLatitude" access="readWrite">
        <description>
          This parameter specifies the reference latitude for an A-GPS request
          position in degrees, multiplied by 1 million. The positive value
          signifies the direction, north of the equator. The negative value
          signifies the direction, south of the equator.

          Range is from: 90d00.00' South (-90,000,000) to 90d00.00' North
          (90,000,000).

          Example: A latitude of 13d19.43' N would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60).
          Latitude of 50d00.00' S would be represented as value -50,000,000.
        </description>
        <syntax>
          <int>
            <range minInclusive="-90000000" maxInclusive="90000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ReferenceLongitude" access="readWrite">
        <description>
          This parameter specifies the reference longitude for an A-GPS request
          position in degrees, multiplied by 1 million. The positive value
          signifies the direction, east of the prime meridian. The negative
          value signifies the direction, west of the prime meridian.

          Range is from: 180d00.00' West (-180,000,000) to 180d00.00' East
          (180,000,000).

          Example: A longitude of 13d19.43' E would be represented as
          13,323,833, derived as (13*1,000,000)+((19.43*1,000,000)/60). A
          longitude of 50d00'00'' W would be represented as value -50,000,000.
        </description>
        <syntax>
          <int>
            <range minInclusive="-180000000" maxInclusive="180000000"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ServerInUse" access="readOnly">
        <description>
          The value is {{true}} if the device has successfully contacted and
          received A-GPS info from the A-GPS server, otherwise the value is
          {{false}}.

          After a reboot the value is {{false}} until the server could be
          contacted again.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.PerfMgmt." access="readOnly" minEntries="1"
        maxEntries="1" version="2.4">
      <description>
        This object contains parameters relating to Performance Management in a
        Femto-related environment.
      </description>

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

    <object name="Device.FAP.PerfMgmt.Config.{i}." access="readWrite"
        numEntriesParameter="ConfigNumberOfEntries" enableParameter="Enable"
        minEntries="0" maxEntries="unbounded" version="2.4">
      <description>
        This object contains parameters relating to File Management
        configuration for uploading of Performance Files to a designated File
        Server. Each table entry can be referenced by zero or more
        radio-specific objects contained in the FAPService instances. The
        periodic upload will upload data for all of the radio-specific objects
        that reference it.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="URL"/>
        <parameter ref="PeriodicUploadInterval"/>
        <parameter ref="PeriodicUploadTime"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this entry. If this entry is disabled then its
          periodic uploads are not performed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

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

      <parameter name="URL" access="readWrite">
        <description>
          {{datatype}} specifying the destination file location. HTTP and HTTPS
          transports MUST be supported. Other transports MAY be supported.

          This argument specifies only the destination file location, and does
          not indicate in any way the name or location of the local file to be
          uploaded.
        </description>
        <syntax>
          <dataType ref="URL"/>
        </syntax>
      </parameter>

      <parameter name="Username" access="readWrite">
        <description>
          Username to be used by the device to authenticate with the file
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Password" access="readWrite">
        <description>
          Password to be used by the device to authenticate with the file
          server. This string is set to {{empty}} if no authentication is used.
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PeriodicUploadInterval" access="readWrite">
        <description>
          The duration in {{units}} of the interval for which the device MUST
          create a Performance File and attempt to upload the file to
          {{param|URL}} if {{param|Enable}} is {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PeriodicUploadTime" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when the device will
          initiate the periodic file upload. Each file upload MUST occur at
          this reference time plus or minus an integer multiple of the
          {{param|PeriodicUploadInterval}}.

          {{param}} is used only to set the "phase" of the periodic uploads.
          The actual value of {{param}} can be arbitrarily far into the past or
          future.

          For example, if {{param|PeriodicUploadInterval}} is 86400 (a day) and
          if {{param}} is set to UTC midnight on some day (in the past,
          present, or future) then periodic file uploads will occur every day
          at UTC midnight. These MUST begin on the very next midnight, even if
          {{param}} refers to a day in the future.

          The Unknown Time value as defined in {{bibref|TR-106|Section 3.2}}
          indicates that no particular time reference is specified. That is,
          the device MAY locally choose the time reference, and is REQUIRED
          only to adhere to the specified {{param|PeriodicUploadInterval}}.

          If absolute time is not available to the device, its periodic file
          upload behavior MUST be the same as if the {{param}} parameter was
          set to the Unknown Time value.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform." access="readOnly"
        minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object defines the data model for the following Femtozone APIs.

        * Femto Awareness

        * SMS

        * MMS

        * Terminal Location

        Femto Awareness, SMS, MMS, and Terminal Location APIs are defined in
        the Release 1 API Specifications of the Service SIG in the Femto Forum
        (non public document).

        {{bibref|TR-262|appendix I}} provides the "Theory of Operation" for the
        usage of this object.
      </description>

      <parameter name="Version" access="readOnly">
        <description>
          Version of Femto Application Platform running on this device
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Enable" access="readWrite">
        <description>
          Enable or disable the Femto ApplicationPlatform
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Current state of the Femto Application Platform.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>
                The Femto Application Platform is not available
              </description>
            </enumeration>
            <enumeration value="Enabled">
              <description>
                The Femto Application Platform is available
              </description>
            </enumeration>
            <enumeration value="Reset">
              <description>
                The FemtoApplicationPlatform is in the process of being reset
                and will transition to the {{enum|Disabled}} state when the
                reset operation is completed
              </description>
            </enumeration>
            <enumeration value="Initializing">
              <description>
                The FemtoApplicationPlatform is being initialized and will
                transition to the {{enum|Enabled}} state once the
                initialization is completed
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxNumberOfApplications" access="readOnly">
        <description>
          Determines how many Femtozone Applications can be supported by the
          Femto Application Platform simultaneously.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CurrentNumberofApplications" access="readOnly">
        <description>
          Specifies how many Femtozone Applications are currently communicating
          with the Femto Application Platform.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Capabilities."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the capabilities of the
        Femtozone Application Platform and the Femtozone APIs.
      </description>

      <parameter name="PresenceApplicationSupport" access="readOnly">
        <description>
          Specifies whether the Femto Application Platform supports
          Presence-Based Femtozone Applications
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="FemtoAwarenessAPISupport" access="readOnly">
        <description>
          Specifies whether the Femto Awareness API is supported on this
          device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SMSAPISupport" access="readOnly">
        <description>
          Specifies whether the SMS API is supported on this device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsOfSMSSentToApplicationSupport"
          access="readOnly">
        <description>
          Specifies whether the SubscribeToNotificationsOfSMSSentToApplication
          functionality is supported by the FAP SMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QuerySMSDeliveryStatusSupport" access="readOnly">
        <description>
          Specifies whether the QuerySMSDeliveryStatus functionality is
          supported by the FAP SMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MMSAPISupport" access="readOnly">
        <description>
          Specifies whether the MMS API is supported on this device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMMSDeliveryStatusSupport" access="readOnly">
        <description>
          Specifies whether the QueryMMSDeliveryStatus functionality is
          supported by the FAP MMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsOfMMSSentToApplicationSupport"
          access="readOnly">
        <description>
          Specifies whether the SubscribeToNotificationsOfMMSSentToApplication
          functionality is supported by the FAP MMS API.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TerminalLocationAPISupport" access="readOnly">
        <description>
          Specifies whether the Terminal Location API is supported on this
          device.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationMethodsSupported" access="readOnly">
        <description>
          Specifies the supported methods that 3rd Party Applications can use
          to authenticate with the Femto Application Platform at
          initialization.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Basic"/>
            <enumeration value="Digest"/>
            <enumeration value="DigitalSignature"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AccessLevelsSupported" access="readOnly">
        <description>
          Specifies the supported access levels that 3rd Party Applications can
          request when authenticating with the Femto Application Platform at
          initialization. This access level is with respect to resources within
          the Femto Application Platform only (not to be confused with Access
          Mode parameter in .FAPService.{i}.AccessMgmt).
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="Guest"/>
            <enumeration value="Standard"/>
            <enumeration value="Restricted"/>
            <enumeration value="Administrator"/>
            <enumeration value="Debug"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SendSMSTargetAddressType" access="readOnly">
        <description>
          Specifies the supported types of addresses SMSs can be sent to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
            <enumeration value="All"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SendMMSTargetAddressType" access="readOnly">
        <description>
          Specifies the supported types of addresses MMSs can be sent to.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
            <enumeration value="All"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Control." access="readOnly"
        minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the operation of the
        Femtozone APIs.
      </description>

      <parameter name="AuthenticationMethod" access="readWrite">
        <description>
          Specifies how 3rd Party Applications have to authenticate against
          Femto APIs in order to use it. {{reference}}

          '''''Note:''''' The credentials are not part of the data model and
          have to be supplied externally.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <enumerationRef
                targetParam="#.Capabilities.AuthenticationMethodsSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TunnelInst" access="readWrite">
        <description>
          This is the reference to the IPsec tunnel instance to be used by the
          Application Platform traffic.

          The {{param}} MUST point to a tunnel instance defined in the data
          model.

          If the referenced object is deleted, the parameter value MUST be set
          to an empty string.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Control.FemtoAwareness."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the Femto Awareness API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable FemtoAwareness API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing" access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to Femto Awareness API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to Femto Awareness API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FemtozoneID" access="readWrite">
        <description>
          Specifies Identifier of the Femtozone.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="NotificationsUserIdentifierMSISDN" access="readWrite">
        <description>
          Specifies whether the Mobile Station International Subscriber
          Directory Number (MSISDN) has to be used as UserIdentifier in Femto
          Awareness Notifications. A value of {{true}} means that the MSISDN is
          send as user identifier, a value of {{false}} means that an anonymous
          reference is used.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SubscribeToNotificationsResponseCallbackData"
          access="readWrite">
        <description>
          Specifies whether the OPTIONAL Argument "Callback Data" has to be
          used in Responses to Requests to "Subscribe To Femto Awareness
          Notifications".
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryFemtocellResponseTimezone" access="readWrite">
        <description>
          Specifies whether the OPTIONAL Argument "Timezone" has to be used in
          Responses to Requests to "Query Femtocell Status".
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Control.SMS."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the SMS API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable SMS API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing" access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to SMS API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to SMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinSendSMSTimeInterval" access="readWrite">
        <description>
          Determines the Minimum Time Interval in {{units}} between two
          consecutive Send SMS Requests by the same Application.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="3599"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EnableQuerySMSDeliveryStatus" access="readWrite">
        <description>
          Enable or disable "QuerySMSDeliveryStatus" Operation on SMS API. When
          disabled, QuerySMSDeliveryStatus Requests to SMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter
          name="EnableSubscribeToNotificationsOfMessageSentToApplication"
          access="readWrite">
        <description>
          Enable or disable
          "SubscribeToNotificationsOfMessageSentToApplication" Operation on SMS
          API. When disabled, SubscribeTo
          NotificationsOfMessageSentToApplication Requests to SMS API are
          ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Control.MMS."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the MMS API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable MMS API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing" access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to MMS API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to MMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinSendMMSTimeInterval" access="readWrite">
        <description>
          Determines the Minimum Time Interval in {{units}} between two
          consecutive Send MMS Requests by the same Application.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="3599"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EnableQueryMMSDeliveryStatus" access="readWrite">
        <description>
          Enable or disable "QuerySMSDeliveryStatus" Operation on MMS API. When
          disabled, QuerySMSDeliveryStatus Requests to MMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter
          name="EnableSubscribeToNotificationsOfMessageSentToApplication"
          access="readWrite">
        <description>
          Enable or disable "SubscribeTo
          NotificationsOfMessageSentToApplication" Operation on MMS API. When
          disabled, SubscribeTo NotificationsOfMessageSentToApplication
          Requests to MMS API are ignored.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Control.TerminalLocation."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the TerminalLocation API.
      </description>

      <parameter name="APIEnable" access="readWrite">
        <description>
          Enable or disable TerminalLocation API exposure on FAP
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueueEnable" access="readWrite">
        <description>
          Enable or disable Request queueing for the API
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Queueing" access="readWrite">
        <description>
          Determines how FAP handles simultaneous requests from different
          Applications to TerminalLocation API.
        </description>
        <syntax>
          <string>
            <enumeration value="FiFo"/>
            <enumeration value="Priority"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxAPIUsersNumber" access="readWrite">
        <description>
          Determines the Max Number of different Applications that can send
          Requests to TerminalLocation API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseAddress" access="readWrite">
        <description>
          Specifies Terminal Address Format to be used in QueryMobileLocation
          Responses.
        </description>
        <syntax>
          <string>
            <enumeration value="TelUri"/>
            <enumeration value="AnonymousReference"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseLongitudeLatitude"
          access="readWrite">
        <description>
          Include or exclude FAP Longitude and Latitude arguments in Responses
          to QueryMobileLocation Requests.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseAltitude" access="readWrite">
        <description>
          Include or exclude FAP Altitude argument in Responses to
          QueryMobileLocation Requests .
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="QueryMobileLocationResponseTimestamp"
          access="readWrite">
        <description>
          Specifies Response Timestamp in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="86399"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Monitoring."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the monitoring of the
        Femtozone Application Platform and the Femtozone APIs.
      </description>

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

      <parameter name="MonitoringInterval" access="readWrite">
        <description>
          Specifies the interval in {{units}} used to collect the monitoring
          measurements.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AuthenticationRequestsReceived" access="readOnly">
        <description>
          Specifies the total number of authentication requests received by the
          Femto Application Platform. The counter will be reset whenever the
          device reboots or the {{param|Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AuthenticationRequestsRejected" access="readOnly">
        <description>
          Specifies the number of authentication requests received by the Femto
          Application Platform that were rejected. The counter will be reset
          whenever the device reboots or the {{param|Enable}} parameter is set
          to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Monitoring.FemtoAwareness."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the Monitoring of the
        FemtoAwareness API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the FemtoAwareness API is currently available on
          this device (the API could be disabled or could have exhausted its
          resources)
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the Femto
          Awareness API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the Femto Awareness API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the Femto
          Awareness API Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the Femto Awareness API Queue
          that have been received. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the Femto Awareness API Queue
          that have been discarded. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Monitoring.SMS."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the Monitoring of the SMS
        API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the SMS API is currently available on this device
          (the API could be disabled or could have exhausted its resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the SMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the SMS API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the SMS API
          Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the SMS API Queue that have been
          received. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the SMS API Queue that have been
          discarded. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Monitoring.MMS."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the Monitoring of the MMS
        API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the MMS API is currently available on this device
          (the API could be disabled or could have exhausted its resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the MMS API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the MMS API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the MMS API
          Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the MMS API Queue that have been
          received. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the MMS API Queue that have been
          discarded. The counter will be reset whenever the device reboots or
          the {{param|#.Enable}} parameter is set to {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.FAP.ApplicationPlatform.Monitoring.TerminalLocation."
        access="readOnly" minEntries="1" maxEntries="1" version="2.4">
      <description>
        This object contains parameters related to the Monitoring of the
        TerminalLocation API.
      </description>

      <parameter name="APIAvailable" access="readOnly">
        <description>
          Specifies whether the TerminalLocation API is currently available on
          this device (the API could be disabled or could have exhausted its
          resources)..
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="APIUsers" access="readOnly">
        <description>
          Specifies the current number of Applications using the Terminal
          Location API.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueState" access="readOnly">
        <description>
          Specifies the state of the Terminal Location API Queue.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Ready"/>
            <enumeration value="Flushed"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="QueueNum" access="readOnly">
        <description>
          Specifies the current number of requests waiting in the Terminal
          Location API Queue.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QueueReceived" access="readOnly">
        <description>
          Specifies the number of requests in the Terminal Location API Queue
          that have been received. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QueueDiscarded" access="readOnly">
        <description>
          Specifies the number of requests in the Terminal Location API Queue
          that have been discarded. The counter will be reset whenever the
          device reboots or the {{param|#.Enable}} parameter is set to
          {{true}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <profile name="FAP_GPS:1" version="2.4">
      <object ref="Device.FAP.GPS." requirement="present">
        <parameter ref="ScanOnBoot" requirement="readWrite"/>
        <parameter ref="ScanPeriodically" requirement="readWrite"/>
        <parameter ref="PeriodicInterval" requirement="readWrite"/>
        <parameter ref="PeriodicTime" requirement="readWrite"/>
        <parameter ref="ContinuousGPS" requirement="readWrite"/>
        <parameter ref="ScanTimeout" requirement="readWrite"/>
        <parameter ref="ScanStatus" requirement="readOnly"/>
        <parameter ref="ErrorDetails" requirement="readOnly"/>
        <parameter ref="LastScanTime" requirement="readOnly"/>
        <parameter ref="LastSuccessfulScanTime" requirement="readOnly"/>
        <parameter ref="LockedLatitude" requirement="readOnly"/>
        <parameter ref="LockedLongitude" requirement="readOnly"/>
        <parameter ref="NumberOfSatellites" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FAP_PerfMgmt:1" version="2.4">
      <object ref="Device.FAP.PerfMgmt." requirement="present">
        <parameter ref="ConfigNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.FAP.PerfMgmt.Config.{i}." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="URL" requirement="readWrite"/>
        <parameter ref="Username" requirement="readWrite"/>
        <parameter ref="Password" requirement="readWrite"/>
        <parameter ref="PeriodicUploadInterval" requirement="readWrite"/>
        <parameter ref="PeriodicUploadTime" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="FAP_ApplicationPlatform:1" version="2.4">
      <object ref="Device.FAP.ApplicationPlatform." requirement="present">
        <parameter ref="Version" requirement="readOnly"/>
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="MaxNumberOfApplications" requirement="readOnly"/>
      </object>
      <object ref="Device.FAP.ApplicationPlatform.Control."
          requirement="present">
        <parameter ref="AuthenticationMethod" requirement="readWrite"/>
      </object>
      <object ref="Device.FAP.ApplicationPlatform.Control.FemtoAwareness."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="FemtozoneID" requirement="readWrite"/>
      </object>
      <object ref="Device.FAP.ApplicationPlatform.Control.SMS."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="MinSendSMSTimeInterval" requirement="readWrite"/>
      </object>
      <object ref="Device.FAP.ApplicationPlatform.Control.MMS."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="MinSendMMSTimeInterval" requirement="readWrite"/>
      </object>
      <object ref="Device.FAP.ApplicationPlatform.Control.TerminalLocation."
          requirement="present">
        <parameter ref="APIEnable" requirement="readWrite"/>
        <parameter ref="MaxAPIUsersNumber" requirement="readWrite"/>
        <parameter ref="QueryMobileLocationResponseAddress"
            requirement="readWrite"/>
        <parameter ref="QueryMobileLocationResponseLongitudeLatitude"
            requirement="readWrite"/>
      </object>
    </profile>
  </component>

  <model name="FAP:2.15">
    <component ref="Root"/>
    <component ref="FAP"/>
  </model>
</dm:document>
