<?xml version="1.0" encoding="UTF-8"?>
<!--
FILE INFORMATION

OMA Permanent Document
   File: TBD
   Path:

OMNA LwM2M Registry
   File: 3606.xml
   Path: https://github.com/OpenMobileAlliance/lwm2m-registry

NORMATIVE INFORMATION

  Information about this file can be found in the latest revision of

  TBD

  This is available at http://www.openmobilealliance.org/

  Send comments to https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues

CHANGE HISTORY

See TBD

LEGAL DISCLAIMER

Copyright 2026, Contributors to the Grid Edge Interoperability &
Security Alliance (GEISA), a Series of LF Projects, LLC

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.



-->
<LWM2M xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.openmobilealliance.org/tech/profiles/LWM2M-v1_1.xsd">
  <Object ObjectType="MODefinition">
    <Name>PlatformEffectiveConfiguration</Name>
    <Description1><![CDATA[
This LwM2M Object reports the effective GEISA Platform configuration for one edge device and the reconciliation status of the most recently evaluated requested configuration. An EMS can compare Effective Configuration Hash with the requested configuration hash before deciding whether a larger Object read is needed. Each configuration resource follows its defined Mandatory or Optional status. Optional resources depend on supported capabilities.

Before the first runtime configuration update, this Object SHALL represent the effective configuration corresponding to the System Owner-approved requested baseline represented by Object 3607. The platform SHALL generate the initial Effective Configuration Revision and compute Effective Configuration Hash. When the requested and effective hashes match, Reconciliation State SHALL be Synchronized and Configuration Attempt Result Code SHALL be None. When the platform adjusts, partially applies, rejects, or reverts any part of the approved baseline, the effective hash and reconciliation resources SHALL report that result.

Resource identifiers remain grouped with gaps for future GEISA-defined resources. Effective configuration-value resources retain their existing odd-numbered identifiers. Undefined identifiers in those gaps are not implemented resources.

This Object does not replace native LwM2M configuration for firmware, application lifecycle, cellular, APN, WLAN, bearer selection, remote SIM, or QoS. It does not carry app-domain configuration payloads, report current platform health, or store durable logs or event records. It does not define package-source reconciliation.
]]></Description1>
    <ObjectID>3606</ObjectID>
    <ObjectURN>urn:oma:lwm2m:ext:3606</ObjectURN>
    <LWM2MVersion>1.1</LWM2MVersion>
    <ObjectVersion>1.0</ObjectVersion>
    <MultipleInstances>Single</MultipleInstances>
    <Mandatory>Optional</Mandatory>
    <Resources>
      <Item ID="0">
        <Name>Effective Configuration Revision</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Platform-generated revision identifier for the effective configuration represented by this Object. The value SHALL begin with a UTC timestamp in YYYYMMDDHHMMSS format and MAY be followed by a hyphen and an implementation-defined suffix.
]]></Description>
      </Item>
      <Item ID="1">
        <Name>Effective Configuration Hash</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
SHA-256 hash of the effective configuration values represented by Object 3606. The platform SHALL compute Effective Configuration Hash for the effective configuration corresponding to the approved requested baseline. Each effective configuration-value resource uses a shared configuration key equal to its Resource ID minus one. This maps each requested/effective pair to the same even-numbered configuration key; for example, effective resource 21 uses key 20 and effective resource 23 uses key 22. Include only configuration-value resources present in this Object, order records by numeric configuration key, and append `<configuration-key>:<type>:<value>\n` for each record as UTF-8. In each record, `<type>` is the exact LwM2M resource Type value from this Object definition, including exact spelling and capitalization, for example `Boolean`, `String`, or `Unsigned Integer`; implementation-specific aliases such as `uint`, `bool`, or `string` SHALL NOT be used. For String values, escape in this order: backslash as `\\`, colon as `\:`, carriage return as `\r`, then line feed as `\n`. Boolean values are lowercase `true` or `false`; Unsigned Integer values are base-10 without leading zeroes; absent optional resources are omitted. SHA-256 is computed over the complete canonical byte sequence and exposed as 64 lowercase hexadecimal characters. Metadata resources, including revision, hash, timestamps, reconciliation state, reason code, reason detail, and evaluated-request metadata, are excluded.
]]></Description>
      </Item>
      <Item ID="2">
        <Name>Reconciliation State</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Current reconciliation state for the most recently evaluated requested configuration.
0 = Unknown
1 = Synchronized
2 = Pending
3 = Partially applied
4 = Adjusted
5 = Rejected
6 = Reverted
7 = Restart required
8..127 = Reserved for future GEISA-defined reconciliation states
128..255 = Reserved for vendor-specific or operator-specific reconciliation states

Unknown means the state cannot be determined. Synchronized means the effective configuration matches the requested revision and hash most recently evaluated. Pending means the request has not been fully evaluated or applied. Partially applied means some requested values are effective. Adjusted means supported or policy-adjusted values were applied. Rejected means the request was not accepted or applied. Reverted means a prior effective configuration was restored after unsuccessful application. Restart required means the request was accepted but needs a restart or another required safe transition.
]]></Description>
      </Item>
      <Item ID="3">
        <Name>Last Effective Configuration Update Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Time at which the effective GEISA Platform configuration was most recently updated. Before the first runtime configuration update, it SHALL represent when the effective configuration corresponding to the approved requested baseline was established. This reflects when the platform accepted, normalized, or applied values into the effective configuration exposed by this Object. The value is encoded as LwM2M Time using Unix epoch seconds and carries no timezone metadata. When presented or interpreted in platform-local operational context, use /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies. A zero or other sentinel timestamp value SHALL NOT be used.
]]></Description>
      </Item>
      <Item ID="4">
        <Name>Last Configuration Update Attempt Time</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Time</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Time at which the platform most recently attempted to apply a requested configuration update. Before the first runtime configuration update, it SHALL represent when the platform attempted to apply the approved requested baseline. This may differ from Last Effective Configuration Update Time. The value is encoded as LwM2M Time using Unix epoch seconds and carries no timezone metadata. When presented or interpreted in platform-local operational context, use /3/0/15 Timezone, with fallback to /3/0/14 UTC Offset when Timezone is unavailable, unless a more specific ADM or EMS policy applies. A zero or other sentinel timestamp value SHALL NOT be used.
]]></Description>
      </Item>
      <Item ID="5">
        <Name>Configuration Attempt Result Code</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Result associated with the most recent configuration update attempt.
0 = Unspecified
1 = None
2 = Other
3 = Unsupported value
4 = Value outside supported range
5 = Policy denied
6 = Insufficient resources
7 = Temporarily unavailable
8 = Restart or safe state required
9 = Configuration conflict
10 = Security restriction
11 = Invalid reference
12 = Dependency unavailable
13 = Internal error
14 = Timeout
15..127 = Reserved for future GEISA-defined configuration attempt result codes
128..255 = Reserved for vendor-specific or operator-specific configuration attempt result codes

None means the configuration update attempt completed successfully with no failure condition to report. Unspecified means no standardized result was supplied. Other requires Result Detail. Implementations SHOULD choose the most specific applicable result and SHOULD NOT use a generic result when a more specific defined result is known.
]]></Description>
      </Item>
      <Item ID="6">
        <Name>Result Detail</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Short human-readable diagnostic detail associated with Configuration Attempt Result Code. Consumers SHALL NOT parse or depend on it for interoperable behavior. It SHALL be present when the result is Other and MAY be present for any other result. It is not a log field and does not replace a defined result code.
]]></Description>
      </Item>
      <Item ID="7">
        <Name>Last Requested Configuration Revision</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Requested configuration revision most recently evaluated by the platform. When present, it matches Requested Configuration Revision in Object 3607 and identifies the request that produced the current reconciliation result.
]]></Description>
      </Item>
      <Item ID="8">
        <Name>Last Requested Configuration Hash</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration></RangeEnumeration>
        <Units></Units>
        <Description><![CDATA[
Requested configuration hash most recently evaluated by the platform. When present, it matches Requested Configuration Hash in Object 3607 and identifies the request that produced the current reconciliation result. It is a SHA-256 digest encoded as 64 lowercase hexadecimal characters.
]]></Description>
      </Item>
      <Item ID="21">
        <Name>Default Sampling Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective platform-side sampling or update cadence in seconds currently used when a more specific GEISA Platform cadence is not configured.

This value controls how often the platform collects, refreshes, computes, or reports this class of operational data. It does not require the monitored OMA object to carry its own interval.
]]></Description>
      </Item>
      <Item ID="23">
        <Name>Host Sampling Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective platform-side sampling or update cadence in seconds currently used for host or device resource monitoring associated with GEISA platform behavior.
]]></Description>
      </Item>
      <Item ID="25">
        <Name>Platform Sampling Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective platform-side sampling or update cadence in seconds currently used for GEISA Platform monitoring and internal platform state collection.
]]></Description>
      </Item>
      <Item ID="27">
        <Name>App Monitoring Sampling Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective platform-side sampling or update cadence in seconds currently used for GEISA App Monitoring data collection.
]]></Description>
      </Item>
      <Item ID="29">
        <Name>App Accounting Sampling Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective platform-side sampling or update cadence in seconds currently used for GEISA App Accounting data collection and refresh.

This cadence controls how often accounting state is collected, recomputed, or reported. It is distinct from the app accounting collection period represented by resources 200 and 201 in this object.
]]></Description>
      </Item>
      <Item ID="41">
        <Name>Default Monitoring Window</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective aggregation or evaluation window in seconds currently used when a more specific GEISA Platform monitoring window is not configured.

This window controls over what duration samples are evaluated for derived values, alerting, health, or upstream update decisions.
]]></Description>
      </Item>
      <Item ID="43">
        <Name>Host Monitoring Window</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective aggregation or evaluation window in seconds currently used for host or device resource monitoring associated with GEISA platform behavior.
]]></Description>
      </Item>
      <Item ID="45">
        <Name>Platform Monitoring Window</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective aggregation or evaluation window in seconds currently used for GEISA Platform monitoring and derived platform state evaluation.
]]></Description>
      </Item>
      <Item ID="47">
        <Name>App Monitoring Window</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective aggregation or evaluation window in seconds currently used for GEISA App Monitoring aggregation and derived state evaluation.
]]></Description>
      </Item>
      <Item ID="61">
        <Name>Minimum Upstream Severity</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective minimum severity threshold currently used for upstream reporting.

0 = Unknown
1 = Informational
2 = Warning
3 = Minor
4 = Major
5 = Critical
6..127 = Reserved for future GEISA-defined severities
128..255 = Reserved for vendor-specific or operator-specific severities
]]></Description>
      </Item>
      <Item ID="63">
        <Name>Event Suppression Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective suppression period in seconds currently used to limit repeated reporting of equivalent events or alarms.
]]></Description>
      </Item>
      <Item ID="65">
        <Name>Clear/Recovery Reporting Enabled</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Boolean</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective setting currently used to determine whether clear or recovery events are reported upstream when a previously reported condition returns to normal.
]]></Description>
      </Item>
      <Item ID="67">
        <Name>Clear Condition Duration</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective duration in seconds currently used before the platform reports a clear or recovery event.
]]></Description>
      </Item>
      <Item ID="69">
        <Name>Default Reporting Priority</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective default reporting priority currently used when a more specific message or event priority is not supplied.

0 = Unknown
1 = Urgent
2 = Immediate
3 = Best effort
4 = Latest
5..127 = Reserved for future GEISA-defined priorities
128..255 = Reserved for vendor-specific or operator-specific priorities
]]></Description>
      </Item>
      <Item ID="81">
        <Name>Platform Log Level</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective log level currently used for GEISA Platform services and components.

0 = Unknown
1 = Off
2 = Error
3 = Warning
4 = Info
5 = Debug
6 = Trace
7..127 = Reserved for future GEISA-defined log levels
128..255 = Reserved for vendor-specific or operator-specific log levels
]]></Description>
      </Item>
      <Item ID="83">
        <Name>App Log Level Default</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective default log level currently applied to GEISA applications when a more specific application log configuration is not provided.

0 = Unknown
1 = Off
2 = Error
3 = Warning
4 = Info
5 = Debug
6 = Trace
7..127 = Reserved for future GEISA-defined log levels
128..255 = Reserved for vendor-specific or operator-specific log levels
]]></Description>
      </Item>
      <Item ID="85">
        <Name>Event Log Retention Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum retained event or log record count currently used for GEISA-managed durable event storage. A value of 0 indicates that no count limit is configured or that retention is unlimited according to platform policy.
]]></Description>
      </Item>
      <Item ID="87">
        <Name>Audit Logging Enabled</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Boolean</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective setting currently used to determine whether audit logging is enabled for GEISA Platform administrative or security-relevant actions.
]]></Description>
      </Item>
      <Item ID="89">
        <Name>Remote Logging Enabled</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Boolean</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective flag indicating whether platform-side remote logging is enabled.
]]></Description>
      </Item>
      <Item ID="91">
        <Name>Remote Log Server</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective URI of the remote log collector or event sink used by platform remote logging.
]]></Description>
      </Item>
      <Item ID="93">
        <Name>Remote Log Severity Threshold</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..7</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective minimum severity threshold for remote logging.

0 = Emergency
1 = Alert
2 = Critical
3 = Error
4 = Warning
5 = Notice
6 = Informational
7 = Debug
]]></Description>
      </Item>
      <Item ID="95">
        <Name>Remote Log Policy Reference</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective reference or identifier for the remote logging policy currently associated with the platform.
]]></Description>
      </Item>
      <Item ID="97">
        <Name>Remote Log Transport Security Profile</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective transport security profile used for platform remote logging.
]]></Description>
      </Item>
      <Item ID="111">
        <Name>Upstream Queue Enabled</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Boolean</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective setting currently used to determine whether the GEISA Platform buffers outbound upstream messages in a queue or spool.
]]></Description>
      </Item>
      <Item ID="113">
        <Name>Max Queued Messages</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum number of messages currently retained by the upstream queue or spool.
]]></Description>
      </Item>
      <Item ID="115">
        <Name>Max Queued Bytes</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum queued or spooled payload volume in bytes currently used for upstream buffering.
]]></Description>
      </Item>
      <Item ID="117">
        <Name>Queue TTL</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective time-to-live in seconds currently used for queued or spooled messages before expiration. This value reflects the platform-accepted queue or spool TTL after validation, policy limits, fallback handling, or default message TTL constraints have been applied.
]]></Description>
      </Item>
      <Item ID="119">
        <Name>Queue Drop Policy</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective queue or spool drop policy currently used when buffering limits are reached.

0 = Unknown
1 = Reject new messages
2 = Drop oldest
3 = Drop newest
4 = Drop lowest priority
5 = Coalesce where possible
6..127 = Reserved for future GEISA-defined drop policies
128..255 = Reserved for vendor-specific or operator-specific drop policies
]]></Description>
      </Item>
      <Item ID="141">
        <Name>Default Message TTL</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective default time-to-live in seconds currently used for messages buffered or handled by the GEISA Platform when a more specific TTL is not provided.
]]></Description>
      </Item>
      <Item ID="143">
        <Name>Max App Message Payload Size</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum GEISA application message payload size in bytes currently accepted by the platform before local rejection, truncation, or alternate handling according to platform policy.
]]></Description>
      </Item>
      <Item ID="161">
        <Name>Outbound Message State Retention Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective maximum retention age in seconds currently used for eligible completed outbound app-message state after the message is no longer active in the outbound queue. The platform may remove eligible records when any applicable age, count, or byte limit is reached, but active or still-referenced records are not required to be removed. This limit is distinct from queue TTL.
]]></Description>
      </Item>
      <Item ID="163">
        <Name>Outbound Message State Retention Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum retained count currently used for eligible completed outbound app-message state records. The platform may remove eligible records when any applicable age, count, or byte limit is reached, but active or still-referenced records are not required to be removed.
]]></Description>
      </Item>
      <Item ID="165">
        <Name>Outbound Queue Recovery Snapshot Retention Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum retained count currently used for eligible local outbound queue recovery snapshots. The platform may remove eligible artifacts when any applicable age, count, or byte limit is reached, but active or still-referenced artifacts are not required to be removed.
]]></Description>
      </Item>
      <Item ID="167">
        <Name>Outbound Queue Recovery Snapshot Retention Bytes</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum retained bytes currently used for eligible local outbound queue recovery snapshots. The platform may remove eligible artifacts when any applicable age, count, or byte limit is reached, but active or still-referenced artifacts are not required to be removed.
]]></Description>
      </Item>
      <Item ID="181">
        <Name>Inbound Message Mailbox Retention Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective maximum retention age in seconds currently used for eligible inbound server-to-client mailbox records and mailbox-managed data after they are no longer active or otherwise required. The platform may remove eligible records or artifacts when any applicable age, count, or byte limit is reached, but active or still-referenced records or artifacts are not required to be removed. This does not imply app delivery, consume, or acknowledgement semantics.
]]></Description>
      </Item>
      <Item ID="183">
        <Name>Inbound Message Mailbox Retention Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum retained count currently used for eligible inbound server-to-client mailbox records and mailbox-managed data. The platform may remove eligible records or artifacts when any applicable age, count, or byte limit is reached, but active or still-referenced records or artifacts are not required to be removed.
]]></Description>
      </Item>
      <Item ID="185">
        <Name>Inbound Message Mailbox Retention Bytes</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum retained bytes currently used for eligible inbound server-to-client mailbox records and mailbox-managed data. The platform may remove eligible records or artifacts when any applicable age, count, or byte limit is reached, but active or still-referenced records or artifacts are not required to be removed.
]]></Description>
      </Item>
      <Item ID="187">
        <Name>Message Payload Retention Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective maximum retention age in seconds currently used for eligible locally retained app-message payload blobs after they are no longer required by active queue entries, mailbox records, retained message state, audit records, or other retained platform references. The platform may remove eligible payloads when any applicable age, count, or byte limit is reached, but active or still-referenced payloads are not required to be removed.
]]></Description>
      </Item>
      <Item ID="189">
        <Name>Message Payload Retention Bytes</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum retained bytes currently used for eligible locally retained app-message payload blobs after they are no longer required by active queue entries, mailbox records, retained message state, audit records, or other retained platform references. The platform may remove eligible payloads when any applicable age, count, or byte limit is reached, but active or still-referenced payloads are not required to be removed.
]]></Description>
      </Item>
      <Item ID="201">
        <Name>Default Accounting Collection Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Mandatory</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective platform-wide default used for AppAccounting recurring collection periods. The value uses the RFC 5545 Recurrence Rule (RRULE) representation used by Object 3602 Collection Period.
]]></Description>
      </Item>
      <Item ID="203">
        <Name>Supported Accounting Window Types</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective bitmask of accounting window types supported by the platform for AppAccounting.

0 = Unspecified / implementation default
1 = Configured collection period
2 = Daily
4 = Since reboot
8 = Rolling window
16 = Lifetime
32 = Operator-defined
Higher powers of two are reserved for future window type expansion.
]]></Description>
      </Item>
      <Item ID="205">
        <Name>Default Accounting Rolling Window Duration</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective default rolling-window duration in seconds for AppAccounting.
]]></Description>
      </Item>
      <Item ID="207">
        <Name>Accounting Retention Count</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective retention count for AppAccounting window instances or snapshots.
]]></Description>
      </Item>
      <Item ID="221">
        <Name>Default Accounting Maximum Bytes</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>B</Units>
        <Description><![CDATA[
Effective maximum bytes currently allowed during the accounting collection period. A value of zero means unlimited.
]]></Description>
      </Item>
      <Item ID="223">
        <Name>Default Accounting Message Limit</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective maximum number of messages currently allowed during the accounting collection period. A value of zero means unlimited.
]]></Description>
      </Item>
      <Item ID="225">
        <Name>Default Accounting Throttle Message Limit</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>count</Units>
        <Description><![CDATA[
Effective message limit currently used by throttling policy during the throttle period. A value of zero means unlimited.
]]></Description>
      </Item>
      <Item ID="227">
        <Name>Default Accounting Throttle Period</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration/>
        <Units>s</Units>
        <Description><![CDATA[
Effective throttle period in seconds. A value of zero disables the throttle period.
]]></Description>
      </Item>
      <Item ID="229">
        <Name>Quota Exhaustion Action</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>Unsigned Integer</Type>
        <RangeEnumeration>0..255</RangeEnumeration>
        <Units/>
        <Description><![CDATA[
Effective local platform action currently taken when an accounting quota or limit is exhausted. Upstream ADM/EMS may observe, alert, or enforce related behavior, but this value describes the effective local platform action only.

0 = Unknown
1 = No local enforcement
2 = Report only
3 = Degrade priority
4 = Throttle
5 = Reject new work
6 = Drop new work
7 = Block communication
8..127 = Reserved for future GEISA-defined actions
128..255 = Reserved for vendor-specific or operator-specific actions
]]></Description>
      </Item>
      <Item ID="231">
        <Name>Accounting Enforcement Policy Reference</Name>
        <Operations>R</Operations>
        <MultipleInstances>Single</MultipleInstances>
        <Mandatory>Optional</Mandatory>
        <Type>String</Type>
        <RangeEnumeration/>
        <Units/>
        <Description><![CDATA[
Effective reference or identifier for the accounting enforcement policy currently associated with the platform.
]]></Description>
      </Item>
    </Resources>
    <Description2><![CDATA[

]]></Description2>
  </Object>
</LWM2M>
