<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  STBService:1.4 Service Object definition

  Copyright (c) 2009-2017, Broadband Forum
  
  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:
  
  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
  
  2. Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials
     provided with the distribution.
  
  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products
     derived from this software without specific prior written
     permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  The above license is used as a license under copyright only.
  Please reference the Forum IPR Policy for patent licensing terms
  <https://www.broadband-forum.org/ipr-policy>.
  
  Any moral rights which are necessary to exercise under the above
  license grant are also deemed granted under this license.
  
  Summary:
    STBService:1.4 Service Object update.
    Adds Service Monitoring of Events

  Editors:
    * Timothy Carey, Alcatel-Lucent
    
  BroadbandHome Working Group Chairs:
    * Jason Walls, QA Cafe
    * John Blackford, Pace

  Issue History (Filename: Approval Date: Publication Date: Changes)
    * tr-135-1-0-0.xml: September 2009: September 2009:
       - Corresponds to TR-135 Issue 1, Section 6 
       - (Parameter Definitions) and Section 7 (Profile Definitions)
    * tr-135-1-1-0.xml: November 2010: November 2010:
      - Corresponds to TR-135 Issue 1, Amendment 1
    * tr-135-1-2-0.xml, July 2011: July 2012:
      - Corresponds to TR-135 Issue 1, Amendment 2
    * tr-135-1-3-0.xml: November 2012: November 2012:
      - Corresponds to TR-135 Issue 1, Amendment 3
    * tr-135-1-4-0.xml: 24 August 2015: 2 October 2015:
      - Corresponds to TR-135 Issue 1, Amendment 4

-->

<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-14"
    xmlns:dmr="urn:broadband-forum-org:cwmp:datamodel-report-0-1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-14
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-1-14.xsd
      urn:broadband-forum-org:cwmp:datamodel-report-0-1
        http://www.broadband-forum.org/cwmp/cwmp-datamodel-report.xsd"
    spec="urn:broadband-forum-org:tr-135-1-4-0"
    file="tr-135-1-4-0.xml">
  <description>
    {{docname|STBService:1.4 Service Object}} {{appdate|August 2015}} Added
    objects for Service Monitoring of Events
  </description>

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

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

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

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

      * Its value MUST NOT be empty.

      * Its value MUST start with a letter.

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

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

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

  <dataType name="IPAddress">
    <description>
      IP address, i.e. IPv4 address (or IPv4 subnet mask) or IPv6 address.

      All IPv4 addresses and subnet masks MUST be represented as strings in
      IPv4 dotted-decimal notation. Here are some examples of valid IPv4
      address textual representations:

      * 216.52.29.100

      * 192.168.1.254

      All IPv6 addresses MUST be represented using any of the 3 standard
      textual representations defined in {{bibref|RFC4291}} Sections 2.2.1,
      2.2.2 and 2.2.3. Both lower-case and upper-case letters can be used, but
      use of lower-case letters is RECOMMENDED. Here are some examples of valid
      IPv6 address textual representations:

      * 1080:0:0:800:ba98:3210:11aa:12dd

      * 1080::800:ba98:3210:11aa:12dd

      * 0:0:0:0:0:0:13.1.68.3

      IPv6 addresses MUST NOT include zone identifiers. Zone identifiers are
      discussed in {{bibref|RFC4007|Section 6}}.

      Unspecified or inapplicable addresses (or IPv4 subnet masks) MUST be
      represented as empty strings unless otherwise specified by the parameter
      definition.
    </description>
    <string>
      <size maxLength="45"/>
    </string>
  </dataType>

  <dataType name="UUID">
    <description>
      Universally Unique Identifier. See {{bibref|RFC4122}}.
    </description>
    <string>
      <size minLength="36" maxLength="36"/>
      <pattern
          value="[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}"/>
    </string>
  </dataType>

  <bibliography>
    <reference id="3GPP-TS.23.003">
      <name>3GPP TS 23.003</name>
      <title>Numbering, addressing and identification</title>
      <organization>3GPP CT WG4</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/23003.htm</hyperlink>
    </reference>
    <reference id="IEEE_EUI64">
      <name>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </name>
      <title>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </title>
      <organization>IEEE</organization>
      <date>March 1997</date>
      <hyperlink>
        https://standards.ieee.org/regauth/oui/tutorials/EUI64.html
      </hyperlink>
    </reference>
    <reference id="IANA-uri-schemes">
      <name>IANA Uniform Resource Identifier (URI) Schemes Registry</name>
      <title>Uniform Resource Identifier (URI) Schemes</title>
      <organization>IANA</organization>
      <hyperlink>https://www.iana.org/assignments/uri-schemes</hyperlink>
    </reference>
    <reference id="RFC1350">
      <name>RFC 1350</name>
      <title>The TFTP Protocol (Revision 2)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc1350</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc1350.txt</hyperlink>
    </reference>
    <reference id="RFC2228">
      <name>RFC 2228</name>
      <title>FTP Security Extensions</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2228</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2228.txt</hyperlink>
    </reference>
    <reference id="RFC2326">
      <name>RFC 2326</name>
      <title>Real Time Streaming Protocol (RTSP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2326</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2326.txt</hyperlink>
    </reference>
    <reference id="RFC2960">
      <name>RFC 2960</name>
      <title>Stream Control Transmission Protocol (SCTP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2960</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2960.txt</hyperlink>
    </reference>
    <reference id="RFC3066">
      <name>RFC 3066</name>
      <title>Tags for the Identification of Languages</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3066</hyperlink>
    </reference>
    <reference id="RFC3376">
      <name>RFC 3376</name>
      <title>Internet Group Management Protocol (IGMP) Version 3</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3376</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc3376.txt</hyperlink>
    </reference>
    <reference id="RFC3550">
      <name>RFC 3550</name>
      <title>RTP: A Transport Protocol for Real-Time Applications</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>July 2003</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3550</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc3550.txt</hyperlink>
    </reference>
    <reference id="RFC3986">
      <name>RFC 3986</name>
      <title>Uniform Resource Identifier (URI): Generic Syntax</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3986</hyperlink>
    </reference>
    <reference id="RFC4007">
      <name>RFC 4007</name>
      <title>IPv6 Scoped Address Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4007</hyperlink>
    </reference>
    <reference id="RFC4078">
      <name>RFC 4078</name>
      <title>The TV-Anytime Content Reference Identifier (CRID)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4078</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc4078.txt</hyperlink>
    </reference>
    <reference id="RFC4122">
      <name>RFC 4122</name>
      <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4122</hyperlink>
    </reference>
    <reference id="RFC4291">
      <name>RFC 4291</name>
      <title>IP Version 6 Addressing Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4291</hyperlink>
    </reference>
    <reference id="RFC4340">
      <name>RFC 4340</name>
      <title>Datagram Congestion Control Protocol (DCCP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4340</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc4340.txt</hyperlink>
    </reference>
    <reference id="RFC4585">
      <name>RFC 4585</name>
      <title>
        Extended RTP Profile for Real-time Transport Control Protocol
        (RTCP)-Based Feedback (RTP/AVPF)
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4585</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc4585.txt</hyperlink>
    </reference>
    <reference id="RFC4588">
      <name>RFC 4588</name>
      <title>RTP Retransmission Packet Format</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4588</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc4588.txt</hyperlink>
    </reference>
    <reference id="RFC4632">
      <name>RFC 4632</name>
      <title>
        Classless Inter-domain Routing (CIDR): The Internet Address Assignment
        and Aggregation Plan
      </title>
      <organization>IETF</organization>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4632</hyperlink>
    </reference>
    <reference id="RFC7159">
      <name>RFC7159</name>
      <title>
        The JavaScript Object Notation (JSON) Data Interchange Format
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>March 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7159</hyperlink>
    </reference>
    <reference id="RFC7230">
      <name>RFC 7230</name>
      <title>
        Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7230</hyperlink>
    </reference>
    <reference id="RFC7252">
      <name>RFC 7252</name>
      <title>The Constrained Application Protocol (CoAP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7252</hyperlink>
    </reference>
    <reference id="RFC8141">
      <name>RFC 8141</name>
      <title>Uniform Resource Names (URNs)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8141</hyperlink>
    </reference>
    <reference id="TR-069">
      <name>TR-069 Amendment 6</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>April 2018</date>
    </reference>
    <reference id="TR-106a1">
      <name>TR-106 Amendment 1</name>
      <title>Data Model Template for TR-069-Enabled Devices</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>November 2006</date>
    </reference>
    <reference id="TR-135">
      <name>TR-135 Amendment 3</name>
      <title>Data Model for a TR-069 Enabled STB</title>
      <organization>Broadband Forum</organization>
      <category>Technical Report</category>
      <date>November 2012</date>
    </reference>
    <reference id="TR-140">
      <name>TR-140</name>
      <title>TR-069 Data Model for Storage Service Devices</title>
      <organization>Broadband Forum</organization>
      <category>Technical Report</category>
      <hyperlink>
        https://www.broadband-forum.org/download/TR-140.pdf
      </hyperlink>
    </reference>
    <reference id="SOAP1.1">
      <name>Simple Object Access Protocol (SOAP) 1.1</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/2000/NOTE-SOAP-20000508</hyperlink>
    </reference>
    <reference id="SSH-FTP">
      <name>SSH File Transfer Protocol</name>
      <hyperlink>
        https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer
      </hyperlink>
      <hyperlink>
        http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer
      </hyperlink>
    </reference>
    <reference id="ZigBee2007">
      <name>ZigBee 2007 Specification</name>
      <title>ZigBee 2007 Specification</title>
      <organization>ZigBee Alliance</organization>
      <date>October 2007</date>
      <hyperlink>https://csa-iot.org/all-solutions/zigbee</hyperlink>
    </reference>
    <reference id="TS102034">
      <name>ETSI TS 102 034</name>
      <title>
        Digital Video Broadcasting (DVB); Transport of MPEG-2 Based DVB
        Services
      </title>
      <organization>ETSI</organization>
    </reference>
    <reference id="ISO/IEC11172-1">
      <name>ISO/IEC 11172-1 (1993)</name>
      <title>
        Information Technology - Coding of moving pictures and associated audio
        for digital storage media at up to about 1.5 Mbit/s - Part 1: System
      </title>
      <organization>ISO/IEC</organization>
      <date>1993</date>
    </reference>
    <reference id="ISO/IEC11172-3">
      <name>ISO/IEC 11172-3 (1993)</name>
      <title>
        Information Technology - Coding of moving pictures and associated audio
        for digital storage media at up to about 1.5 Mbit/s - Part 3: Audio
      </title>
      <organization>ISO/IEC</organization>
      <date>1993</date>
    </reference>
    <reference id="ISO/IEC13818-1">
      <name>ISO/IEC 13818-1 (2nd edition, 2000)</name>
      <title>
        Information technology - Generic coding of moving picture and
        associated audio information: Systems
      </title>
      <organization>ISO/IEC</organization>
      <date>2000</date>
    </reference>
    <reference id="ISO/IEC13818-3">
      <name>ISO/IEC 13818-3 (2nd edition, 1998)</name>
      <title>
        Information technology - Generic coding of moving picture and
        associated audio information: Audio
      </title>
      <organization>ISO/IEC</organization>
      <date>1998</date>
    </reference>
    <reference id="ISO/IEC13818-6">
      <name>ISO/IEC 13818-6 (2nd edition, 1998)</name>
      <title>
        Information technology - Generic coding of moving picture and
        associated audio information: Extensions for DSM-CC
      </title>
      <organization>ISO/IEC</organization>
      <date>1998</date>
    </reference>
    <reference id="ISO/IEC14496-3">
      <name>ISO/IEC 14496-3:2001</name>
      <title>
        Information technology - Coding of Audio-Visual objects - Part 3: Audio
      </title>
      <organization>ISO/IEC</organization>
      <date>2001</date>
    </reference>
    <reference id="ISO/IEC23003-1">
      <name>ISO/IEC 23003-1:2007</name>
      <title>
        Information technology - MPEG audio technologies - Part 1: MPEG
        Surround
      </title>
      <organization>ISO/IEC</organization>
      <date>2007</date>
    </reference>
    <reference id="ISO/IEC14496-10">
      <name>ITU-T Rec. H.264 | ISO/IEC 14496-10:2004/AM 1, Part 10</name>
      <title>
        Advanced Video Coding AMENDMENT 1: AVC fidelity range extensions
      </title>
      <organization>ISO/IEC</organization>
      <date>2004</date>
    </reference>
    <reference id="D-Book">
      <name>DGTVi D-Book v1.0</name>
      <title>Compatible receivers for the Italian market</title>
      <date>Sep 2004</date>
    </reference>
    <reference id="SMPTE20022-1">
      <name>SMPTE 20022-1 Application Layer Forward Error Correction</name>
    </reference>
    <reference id="AC-3">
      <name>E-AC-3</name>
      <title>
        Digital Audio Compression (AC-3) Standard, Rev. B, document number
        A/52B
      </title>
      <organization>ATSC</organization>
      <date>June 2005</date>
    </reference>
    <reference id="VC-1">
      <name>SMPTE VC-1</name>
      <title>
        Compressed Video Bitstream Format and Decoding Process, document number
        421M
      </title>
      <organization>SMPTE, Television</organization>
      <date>2006</date>
    </reference>
    <reference id="TS102323">
      <name>ETSI TS 102 323</name>
      <title>
        Digital Video Broadcasting (DVB); Carriage and signalling of TV-Anytime
        information in DVB transport streams
      </title>
      <organization>ETSI</organization>
    </reference>
    <reference id="SPDIF">
      <name>S/PDIF</name>
      <title>Sony/Philips Digital InterFace  IEC-958</title>
      <organization>IEC</organization>
    </reference>
    <reference id="HDMI">
      <name>HDMI</name>
      <title>High-Definition Multimedia Interface 1.4a</title>
      <date>March 2010</date>
    </reference>
  </bibliography>

  <model name="STBService:1.4" isService="true">

    <parameter name="STBServiceNumberOfEntries" access="readOnly">
      <description>
        Number of entries in the {{object|STBService}} table.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <object name="STBService.{i}." access="readOnly" minEntries="0"
        maxEntries="unbounded" numEntriesParameter="STBServiceNumberOfEntries"
        dmr:noUniqueKeys="true">
      <description>
        The top-level object for an STB CPE.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

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

    <object name="STBService.{i}.Capabilities." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        The overall capabilities of the STB CPE. This is a constant read-only
        object, meaning that only a firmware update will cause these values to
        be altered.
      </description>

      <parameter name="MaxActiveAVStreams" access="readOnly">
        <description>
          Maximum number of simultaneously active AV streams supported by the
          STB. A value of -1 indicates no specific limit on the number of
          active streams. A value of 0, while not strictly illegal, would
          indicate an STB that doesn't support AV streams, which is extremely
          unlikely.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxActiveAVPlayers" access="readOnly">
        <description>
          Maximum number of simultaneously active AV players supported by the
          STB. An AV player is associated with a presentation device (such as a
          TV set). Note that this is the strict maximum but, depending on the
          AV streams to be decoded, a given STB may not always have the
          resources to run all of these AV players, e.g. it might be able to
          decode one main picture and one PIP in standard definition, but just
          a main picture and no PIP in high definition. A value of -1 indicates
          no specific limit on the number of active players. A value of 0,
          while not strictly illegal, would indicate an STB that doesn't
          support AV players, which is extremely unlikely.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.FrontEnd." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Front-end capabilities.
      </description>
    </object>

    <object name="STBService.{i}.Capabilities.FrontEnd.DVBT."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Capabilities of the DVB-T receiver.
      </description>

      <parameter name="MaxActiveDVBTStreams" access="readOnly">
        <description>
          Maximum number of simultaneous active AV streams supported by the
          DVB-T FrontEnd. A value of -1 indicates no specific limit on the
          number of active streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxLogicalChannels" access="readOnly">
        <description>
          Maximum number of logical channels that can be contained in a Service
          List Database. A value of -1 indicates no specific limit on the
          number of logical channels.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.FrontEnd.IP." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        IP front-end capabilities.
      </description>

      <parameter name="MaxActiveIPStreams" access="readOnly">
        <description>
          Maximum number of simultaneous active AV streams supported by the IP
          FrontEnd. A value of -1 indicates no specific limit on the number of
          active streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxActiveInboundIPStreams" access="readOnly">
        <description>
          Maximum number of simultaneous active Inbound AV streams supported by
          the IP FrontEnd. A value of -1 indicates no specific limit on the
          number of active streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxActiveOutboundIPStreams" access="readOnly">
        <description>
          Maximum number of simultaneous active Outbound AV streams supported
          by the IP FrontEnd. A value of -1 indicates no specific limit on the
          number of active streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="StreamingControlProtocols" access="readOnly">
        <description>
          Supported streaming control protocols.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="RTSP">
              <description>supports RTSP {{bibref|RFC2326}}</description>
            </enumeration>
            <enumeration value="IGMP">
              <description>supports IGMPv1 {{bibref|RFC3376}}</description>
            </enumeration>
            <enumeration value="IGMPv2">
              <description>
                supports IGMPv2 and lower versions {{bibref|RFC3376}}
              </description>
            </enumeration>
            <enumeration value="IGMPv3">
              <description>
                supports IGMPv3 and lower versions {{bibref|RFC3376}}
              </description>
            </enumeration>
            <enumeration value="DSM-CC">
              <description>
                supports DSM-CC {{bibref|ISO/IEC13818-6}}
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingTransportProtocols" access="readOnly">
        <description>
          Network protocols supported for AV streaming.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="UDP"/>
            <enumeration value="TCP"/>
            <enumeration value="SCTP">
              <description>{{bibref|RFC2960}}</description>
            </enumeration>
            <enumeration value="DCCP">
              <description>{{bibref|RFC4340}}</description>
            </enumeration>
            <enumeration value="RTP">
              <description>{{bibref|RFC3550}}</description>
            </enumeration>
            <enumeration value="HTTP"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingTransportControlProtocols" access="readOnly">
        <description>
          Transport control protocols supported for AV streaming in combination
          with RTP.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="RTCP">
              <description>
                supports sending RTCP receiver reports as defined in
                {{bibref|RFC3550}}
              </description>
            </enumeration>
            <enumeration value="ARQ">
              <description>
                as defined in {{bibref|RFC4585}} and {{bibref|RFC4588}}
              </description>
            </enumeration>
            <enumeration value="AL-FEC">
              <description>as defined in {{bibref|SMPTE20022-1}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadTransportProtocols" access="readOnly">
        <description>
          Network protocols supported for AV download.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="HTTP"/>
            <enumeration value="HTTPS"/>
            <enumeration value="FTP"/>
            <enumeration value="FTPS">
              <description>FTP/SSL {{bibref|RFC2228}}</description>
            </enumeration>
            <enumeration value="SFTP">
              <description>
                SSH file transfer protocol {{bibref|SSH-FTP}}
              </description>
            </enumeration>
            <enumeration value="TFTP">
              <description>{{bibref|RFC1350}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MultiplexTypes" access="readOnly">
        <description>
          AV multiplex types supported by the front end.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="None"/>
            <enumeration value="MPEG1-SYS">
              <description>{{bibref|ISO/IEC11172-1}}</description>
            </enumeration>
            <enumeration value="MPEG2-PS">
              <description>{{bibref|ISO/IEC13818-1}}</description>
            </enumeration>
            <enumeration value="VOB">
              <description>{{bibref|ISO/IEC13818-1}}</description>
            </enumeration>
            <enumeration value="MPEG2-TS">
              <description>{{bibref|ISO/IEC13818-1}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxDejitteringBufferSize" access="readOnly">
        <description>
          Describes the maximum de-jittering buffer size, in {{units}},
          supported by the STB. A value of -1 indicates no specific limit on
          the buffer size.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="bytes"/>
          </int>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.PVR." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        PVR capabilities.
      </description>

      <parameter name="MaxIOStreams" access="readOnly">
        <description>
          Maximum number of AV streams that the PVR can simultaneously record
          and playback. For example a time shift, consisting of a record and a
          play back is considered as 2 streams. A value of -1 indicates no
          specific limit on the number of streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxRecordingStreams" access="readOnly">
        <description>
          Maximum number of AV streams that the PVR can simultaneously record.
          A value of -1 indicates no specific limit on the number of streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxPlaybackStreams" access="readOnly">
        <description>
          Maximum number of AV streams that the PVR can simultaneously play
          back. A value of -1 indicates no specific limit on the number of
          streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxTimeDelay" access="readOnly">
        <description>
          Maximum time delay, in {{units}}, that the PVR time-shift mode can
          support. A value of -1 indicates no specific limit on the time delay.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.AudioDecoder." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Audio decoder capabilities.
      </description>

      <parameter name="AudioStandards" access="readOnly">
        <description>
          Audio standards supported by this STB.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="MPEG1-Part3-Layer2">
              <description>{{bibref|ISO/IEC11172-3}}</description>
            </enumeration>
            <enumeration value="MPEG1-Part3-Layer3">
              <description>{{bibref|ISO/IEC11172-3}}</description>
            </enumeration>
            <enumeration value="MPEG2-Part3 -Layer2">
              <description>{{bibref|ISO/IEC13818-3}}</description>
            </enumeration>
            <enumeration value="MPEG2-Part3-Layer3">
              <description>{{bibref|ISO/IEC13818-3}}</description>
            </enumeration>
            <enumeration value="MPEG2.5"/>
            <enumeration value="MP3-PRO"/>
            <enumeration value="MP3-Surround"/>
            <enumeration value="MPEG2-AAC-LC">
              <description>
                Low Complexity {{bibref|ISO/IEC13818-3}}
              </description>
            </enumeration>
            <enumeration value="MPEG4-AAC-LC">
              <description>
                Low Complexity {{bibref|ISO/IEC14496-3}}
              </description>
            </enumeration>
            <enumeration value="MPEG4-AAC-MP">
              <description>Main Profile {{bibref|ISO/IEC14496-3}}</description>
            </enumeration>
            <enumeration value="MPEG4-BSAC">
              <description>Scalable AAC {{bibref|ISO/IEC14496-3}}</description>
            </enumeration>
            <enumeration value="MPEG4-AAC-HE-v2">
              <description>
                High Efficiency Profile Level 2 {{bibref|ISO/IEC14496-3}}
              </description>
            </enumeration>
            <enumeration value="MPEG-Surround">
              <description>{{bibref|ISO/IEC23003-1}}</description>
            </enumeration>
            <enumeration value="DOLBY-AC3">
              <description>Dolby Digital (AC-3) {{bibref|AC-3}}</description>
            </enumeration>
            <enumeration value="DOLBY-DD+">
              <description>Dolby Digital Plus {{bibref|AC-3}}</description>
            </enumeration>
            <enumeration value="DTS">
              <description>Digital Theatre System</description>
            </enumeration>
            <enumeration value="DTS-HD"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoDecoder." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Video decoder capabilities.
      </description>

      <parameter name="VideoStandards" access="readOnly">
        <description>
          Video standards supported by this STB.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="MPEG2-Part2">
              <description>{{bibref|ISO/IEC13818-1}}</description>
            </enumeration>
            <enumeration value="MPEG4-Part2">
              <description>{{bibref|ISO/IEC13818-6}}</description>
            </enumeration>
            <enumeration value="MPEG4-Part10">
              <description>
                Same as MPEG4 AVC and H.264 {{bibref|ISO/IEC14496-10}}
              </description>
            </enumeration>
            <enumeration value="SMPTE-VC-1">
              <description>{{bibref|VC-1}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoDecoder.MPEG2Part2."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Object describing the set of supported MPEG2 profiles and levels for
        this STB. It also describes the set of audio standards supported when
        MPEG2 Part 2 is used as the video standard.
      </description>

      <parameter name="AudioStandards" access="readOnly">
        <description>
          Audio Standards supported by the Player when associated with MPEG2
          Part 2 Video.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioDecoder.AudioStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProfileLevelNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|ProfileLevel}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Capabilities.VideoDecoder.MPEG2Part2.ProfileLevel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ProfileLevelNumberOfEntries">
      <description>
        Table to describe the set of profiles and levels combinations supported
        by the STB when MPEG2 Part 2 is used as video standard. {{keys}} The
        table MUST include a distinct entry for each supported combination of
        these parameters.
      </description>
      <uniqueKey>
        <parameter ref="Profile"/>
        <parameter ref="Level"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Profile" access="readOnly">
        <description>
          Identifier of the MPEG2 Part 2 profile.
        </description>
        <syntax>
          <string>
            <enumeration value="SP">
              <description>Simple Profile</description>
            </enumeration>
            <enumeration value="MP">
              <description>Main Profile</description>
            </enumeration>
            <enumeration value="SNR">
              <description>SNR Scalable</description>
            </enumeration>
            <enumeration value="Spt">
              <description>Spatially Scalable</description>
            </enumeration>
            <enumeration value="HP">
              <description>High Profile</description>
            </enumeration>
            <enumeration value="4:2:2"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Level" access="readOnly">
        <description>
          Identifier of the MPEG2 part 2 level.
        </description>
        <syntax>
          <string>
            <enumeration value="LL">
              <description>Low Level</description>
            </enumeration>
            <enumeration value="ML">
              <description>Main Level</description>
            </enumeration>
            <enumeration value="H-14">
              <description>High-1440</description>
            </enumeration>
            <enumeration value="HL">
              <description>High Level</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumDecodingCapability" access="readOnly">
        <description>
          The maximum decoding capability for this video standard in {{units}}.
          This strictly depends on the profile and level selected.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Kilobits per second"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part2."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Object describing the set of supported profiles and levels for this
        STB. It also describes the set of audio standards supported when MPEG4
        Part 2 is used as the video standard.
      </description>

      <parameter name="AudioStandards" access="readOnly">
        <description>
          Audio Standards supported by the Player when associated with MPEG4
          Part 2 video.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioDecoder.AudioStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProfileLevelNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|ProfileLevel}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part2.ProfileLevel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ProfileLevelNumberOfEntries">
      <description>
        Table to describe the set of profiles and levels combinations supported
        by the STB when MPEG4 Part 2 is used as video standard. {{keys}} The
        table MUST include a distinct entry for each supported combination of
        these parameters.
      </description>
      <uniqueKey>
        <parameter ref="Profile"/>
        <parameter ref="Level"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Profile" access="readOnly">
        <description>
          Identifier of the MPEG4 Part 2 profile.
        </description>
        <syntax>
          <string>
            <enumeration value="SIMPLE"/>
            <enumeration value="SIMPLE SCALABLE"/>
            <enumeration value="CORE"/>
            <enumeration value="CORE SCALABLE"/>
            <enumeration value="ADVANCED CORE"/>
            <enumeration value="MAIN"/>
            <enumeration value="N-BIT"/>
            <enumeration value="ADVANCED REAL TIME SIMPLE"/>
            <enumeration value="ADVANCED CODING EFFICIENCY"/>
            <enumeration value="SIMPLE STUDIO"/>
            <enumeration value="CORE STUDIO"/>
            <enumeration value="ADVANCED SIMPLE"/>
            <enumeration value="FINE GRANULARITY SCALABLE"/>
            <enumeration value="ADVANCED SCALABLE TEXTURE"/>
            <enumeration value="ANIMATED 2D MESH"/>
            <enumeration value="BASIC ANIMATED TEXTURE"/>
            <enumeration value="STILL SCALABLE TEXTURE"/>
            <enumeration value="SIMPLE FACE"/>
            <enumeration value="SIMPLE FBA"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Level" access="readOnly">
        <description>
          Identifier of the MPEG4 Part 2 level.
        </description>
        <syntax>
          <string>
            <enumeration value="L5"/>
            <enumeration value="L4"/>
            <enumeration value="L4a"/>
            <enumeration value="L3b"/>
            <enumeration value="L3"/>
            <enumeration value="L2"/>
            <enumeration value="L1"/>
            <enumeration value="L0"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumDecodingCapability" access="readOnly">
        <description>
          The maximum decoding capability for this video standard in {{units}}.
          This strictly depends on the profile and level selected.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Kilobits per second"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part10."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Object describing the set of supported profiles and levels for this
        STB. It also describes the set of audio standards supported when MPEG4
        Part 10 is used as the video standard.
      </description>

      <parameter name="AudioStandards" access="readOnly">
        <description>
          Audio Standards supported by the Player when associated with MPEG4
          Part 10 video.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioDecoder.AudioStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProfileLevelNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|ProfileLevel}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part10.ProfileLevel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ProfileLevelNumberOfEntries">
      <description>
        Table to describe the set of profiles and levels combinations supported
        by the STB when MPEG4 Part 10 is used as video standard. {{keys}} The
        table MUST include a distinct entry for each supported combination of
        these parameters.
      </description>
      <uniqueKey>
        <parameter ref="Profile"/>
        <parameter ref="Level"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Profile" access="readOnly">
        <description>
          Supported MPEG4 Part 10 profiles.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="BASELINE"/>
            <enumeration value="MAIN"/>
            <enumeration value="EXTENDED"/>
            <enumeration value="HIGH"/>
            <enumeration value="HIGH 10"/>
            <enumeration value="HIGH 4:2:2"/>
            <enumeration value="HIGH 4:4:4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Level" access="readOnly">
        <description>
          Supported MPEG4 Part 10 Levels.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="1"/>
            <enumeration value="1b"/>
            <enumeration value="1.1"/>
            <enumeration value="1.2"/>
            <enumeration value="1.3"/>
            <enumeration value="2"/>
            <enumeration value="2.1"/>
            <enumeration value="2.2"/>
            <enumeration value="3"/>
            <enumeration value="3.1"/>
            <enumeration value="3.2"/>
            <enumeration value="4"/>
            <enumeration value="4.1"/>
            <enumeration value="4.2"/>
            <enumeration value="5"/>
            <enumeration value="5.1"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumDecodingCapability" access="readOnly">
        <description>
          The maximum decoding capability for this video standard in {{units}}.
          This strictly depends on the profile and level selected.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Kilobits per second"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoDecoder.SMPTEVC1."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Object describing the set of supported SMPTE-VC-1 profiles and levels
        for this STB. It also describes the set of audio standards supported
        when SMPTE-VC-1 is used as the video standard.
      </description>

      <parameter name="AudioStandards" access="readOnly">
        <description>
          Audio Standards supported by the Player when associated with
          SMPTE-VC-1 video.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioDecoder.AudioStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProfileLevelNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|ProfileLevel}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Capabilities.VideoDecoder.SMPTEVC1.ProfileLevel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ProfileLevelNumberOfEntries">
      <description>
        Table to describe the set of profiles and levels combinations supported
        by the STB when SMPTE-VC-1 is used as video standard. {{keys}} The
        table MUST include a distinct entry for each supported combination of
        these parameters.
      </description>
      <uniqueKey>
        <parameter ref="Profile"/>
        <parameter ref="Level"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Profile" access="readOnly">
        <description>
          Identifier of the SMPTE-VC-1 profile.
        </description>
        <syntax>
          <string>
            <enumeration value="SP">
              <description>Simple Profile</description>
            </enumeration>
            <enumeration value="MP">
              <description>Main Profile</description>
            </enumeration>
            <enumeration value="AP">
              <description>Advanced Profile</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Level" access="readOnly">
        <description>
          Identifier of the SMPTE-VC-1 level.
        </description>
        <syntax>
          <string>
            <enumeration value="LL">
              <description>Low Level</description>
            </enumeration>
            <enumeration value="ML">
              <description>Medium Level</description>
            </enumeration>
            <enumeration value="HL">
              <description>High Level</description>
            </enumeration>
            <enumeration value="L0">
              <description>Advanced Profile only</description>
            </enumeration>
            <enumeration value="L1">
              <description>Advanced Profile only</description>
            </enumeration>
            <enumeration value="L2">
              <description>Advanced Profile only</description>
            </enumeration>
            <enumeration value="L3">
              <description>Advanced Profile only</description>
            </enumeration>
            <enumeration value="L4">
              <description>Advanced Profile only</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumDecodingCapability" access="readOnly">
        <description>
          The maximum decoding capability for this video standard in {{units}}.
          This strictly depends on the profile and level selected.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Kilobits per second"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.AudioOutput." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Audio output capabilities. The audio output stage may include selecting
        output formats, selecting output connectors, and copy protection.
      </description>

      <parameter name="AudioFormats" access="readOnly">
        <description>
          Supported audio output formats. {{enum}} Note that these refer to
          supported output formats and not to physical connectors.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="ANALOG-MONO"/>
            <enumeration value="ANALOG-2-CHANNELS"/>
            <enumeration value="ANALOG-5.1-CHANNELS"/>
            <enumeration value="DIGITAL-OPTICAL-SP/DIF"/>
            <enumeration value="DIGITAL-COAXIAL-SP/DIF"/>
            <enumeration value="HDMI"/>
            <enumeration value="RF">
              <description>modulated analog signals on coax</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.VideoOutput." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Video output capabilities. The video output stage may include selecting
        output formats, selecting output connectors, and copy protection.
      </description>

      <parameter name="CompositeVideoStandards" access="readOnly">
        <description>
          Analog composite video standards supported for video output. This
          applies only to CVBS video output.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="NTSC-J"/>
            <enumeration value="NTSC-M"/>
            <enumeration value="PAL-B"/>
            <enumeration value="PAL-D"/>
            <enumeration value="PAL-G"/>
            <enumeration value="PAL-H"/>
            <enumeration value="PAL-I"/>
            <enumeration value="PAL-N"/>
            <enumeration value="PAL-M"/>
            <enumeration value="SECAM-B"/>
            <enumeration value="SECAM-G"/>
            <enumeration value="SECAM-H"/>
            <enumeration value="SECAM-D"/>
            <enumeration value="SECAM-K"/>
            <enumeration value="SECAM-K1"/>
            <enumeration value="SECAM-L"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoFormats" access="readOnly">
        <description>
          Supported video output formats. {{enum}} Note that these refer to
          supported output formats and not to physical connectors.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="CVBS"/>
            <enumeration value="S-Video">
              <description>same as Y/C</description>
            </enumeration>
            <enumeration value="YPrPb"/>
            <enumeration value="RGsB">
              <description>RGB with Sync on Green</description>
            </enumeration>
            <enumeration value="RGB">
              <description>RGB with external Sync</description>
            </enumeration>
            <enumeration value="HDMI"/>
            <enumeration value="DVI"/>
            <enumeration value="RF">
              <description>modulated analog signals on coax</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Macrovision" access="readOnly">
        <description>
          Supported version of Macrovision digital content protection standard.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HDCP" access="readOnly">
        <description>
          Supported version of HDCP digital content protection standard.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DisplayFormats" access="readOnly">
        <description>
          Each entry is a supported display format and MUST be in the form of
          “x:y”, such as for example “4:3, 16:9, 14:9". {{nopattern}}
        </description>
        <syntax>
          <list/>
          <string>
            <pattern value="\d+:\d+">
              <description>{{nopattern}}</description>
            </pattern>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.HDMI." access="readOnly"
        minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.Capabilities.VideoOutput.">
      <description>
        This object describes the characteristics of the HDMI interface, if
        any.
      </description>

      <parameter name="SupportedResolutions" access="readOnly">
        <description>
          Video resolutions supported for the HDMI video output. {{enum}}
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="640x480p/60Hz"/>
            <enumeration value="1280x720p/60Hz"/>
            <enumeration value="1920x1080i/60Hz"/>
            <enumeration value="720x480p/60Hz"/>
            <enumeration value="720(1440)x480i/60Hz"/>
            <enumeration value="1280x720p/50Hz"/>
            <enumeration value="1920x1080i/50Hz"/>
            <enumeration value="720x576p/50Hz"/>
            <enumeration value="720(1440)x240p/60Hz"/>
            <enumeration value="2880x480i/60Hz"/>
            <enumeration value="2880x240p/60Hz"/>
            <enumeration value="1440x480p/60Hz"/>
            <enumeration value="1920x1080p/60Hz"/>
            <enumeration value="720(1440)x288p/50Hz"/>
            <enumeration value="2880x576i/50Hz"/>
            <enumeration value="2880x288p/50Hz"/>
            <enumeration value="1440x576p/50Hz"/>
            <enumeration value="1920x1080p/50Hz"/>
            <enumeration value="1920x1080p/24Hz"/>
            <enumeration value="1920x1080p/25Hz"/>
            <enumeration value="1920x1080p/30Hz"/>
            <enumeration value="2880x480p/60Hz"/>
            <enumeration value="2880x576p/50Hz"/>
            <enumeration value="1920x1080i (1250 total)/50Hz"/>
            <enumeration value="720(1440)x480i/120Hz"/>
            <enumeration value="720x480p/120Hz"/>
            <enumeration value="1920x1080i/120Hz"/>
            <enumeration value="1280x720p/120Hz"/>
            <enumeration value="720(1440)x480i/240Hz"/>
            <enumeration value="720x480p/240Hz"/>
            <enumeration value="720(1440)x576i/100Hz"/>
            <enumeration value="720x576p/100Hz"/>
            <enumeration value="1920x1080i/100Hz"/>
            <enumeration value="1280x720p/100Hz"/>
            <enumeration value="720(1440)x576i/200Hz"/>
            <enumeration value="720x576p/200Hz"/>
            <enumeration value="1280x720p/24Hz"/>
            <enumeration value="1280x720p/25Hz"/>
            <enumeration value="1280x720p/30Hz"/>
            <enumeration value="1920x1080p/120Hz"/>
            <enumeration value="1920x1080p/100Hz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CECSupport" access="readOnly">
        <description>
          Indicates whether the STB is supporting HDMI-CEC features as
          described in {{bibref|HDMI}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="HDMI3D" access="readOnly">
        <description>
          Indicates whether the STB is supporting the 3D video formats mandated
          by {{bibref|HDMI}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.CDS." access="readOnly"
        minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.Capabilities.HDMI.">
      <description>
        This object describes the characteristics of the Content Download
        System, if any.
      </description>

      <parameter name="PushCapable" access="readOnly">
        <description>
          Capability of providing a CDS Push service for the operator initiated
          download of content items to local storage via a broadband IP
          connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PullCapable" access="readOnly">
        <description>
          Capability of providing a CDS Pull service for the user initiated
          download of content items to a local storage via a broadband IP
          connection.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.CA." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object describes the characteristics of the Conditional Access, if
        any.
      </description>

      <parameter name="CASystems" access="readOnly">
        <description>
          Unique identifiers (e.g. commercial names) of supported CA systems.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.DRM." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        This object describes the characteristics of the Digital Rights
        Management, if any.
      </description>

      <parameter name="DRMSystems" access="readOnly">
        <description>
          Unique identifiers (e.g. commercial names) of supported DRM systems.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.ServiceMonitoring."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object describes the capabilities of the
        {{object|.ServiceMonitoring}} object.
      </description>

      <parameter name="ServiceTypes" access="readOnly">
        <description>
          Supported service types, each of which relates to an AV stream
          source. {{enum}} Note that none of the standard service types cover
          LAN-sourced IP streams.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="IPTV">
              <description>WAN-sourced IPTV stream</description>
            </enumeration>
            <enumeration value="VoD">
              <description>WAN-sourced VoD stream</description>
            </enumeration>
            <enumeration value="IP">
              <description>
                WAN-sourced IP stream (includes IPTV and VoD
              </description>
            </enumeration>
            <enumeration value="TEST">
              <description>
                WAN-sourced Force monitoring IP stream from
                {{param|.Components.FrontEnd.{i}.IP.ForceMonitor.URI}} (either
                IPTV or VoD).
              </description>
            </enumeration>
            <enumeration value="IP-All">
              <description>
                Any WAN-sourced IP stream (includes user and force monitoring
                streams, IPTV and VoD).
              </description>
            </enumeration>
            <enumeration value="CAB">
              <description>Cable, e.g. DVB-C, Front End stream</description>
            </enumeration>
            <enumeration value="DTT">
              <description>DTT, e.g. DVB-T, Front End stream</description>
            </enumeration>
            <enumeration value="SAT">
              <description>
                Satellite, e.g. DVB-S, Front End stream
              </description>
            </enumeration>
            <enumeration value="PVR">
              <description>PVR play-out stream</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxActiveMainStreams" access="readOnly">
        <description>
          Maximum number of AV Main streams for which the STB can
          simultaneously collect statistics. A value of -1 indicates no
          specific limit on the number of active streams.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MinSampleInterval" access="readOnly">
        <description>
          Minimum sample interval in {{units}} that the STB MUST be able to
          support. A value of -1 indicates no specific minimum sample interval.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="seconds"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxReportSamples" access="readOnly">
        <description>
          Maximum number of samples of each statistic that the STB is able to
          store and report. A value of -1 indicates no specific maximum number
          of samples.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="HighLevelMetricNames" access="readOnly">
        <description>
          The names of the supported high-level metrics. If a metric produces
          several different scores (e.g. an audio, a video, and an audiovisual
          score), then they MUST be explicitly named. Example (using "XYZ" as
          the name of the base metric): "XYZAudio,XYZVideo,XYZAudiovisual".
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MaxEventsPerSampleInterval" access="readOnly">
        <description>
          Maximum number of events of each applicable statistic that the STB is
          able to store for each sample interval. A value of -1 indicates no
          specific maximum number of events.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
            <units value="bytes"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="MaxMainStreamEventLogEntries" access="readOnly">
        <description>
          Maximum number of event log entries that the STB is able to record
          for a MainStream object instance.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Capabilities.AudienceStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object describes the capabilities of the
        {{object|.Applications.AudienceStats}} object.
      </description>

      <parameter name="MaxAudienceStatsChannels" access="readOnly">
        <description>
          Maximum number of channels that the STB MUST support in the
          {{object|.Applications.AudienceStats}} object A value of -1 indicates
          no specific limit on the number of channels.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        Details of STB logical or physical internal components. Unlike the
        {{object|.Capabilities}} object, which is read-only and which doesn't
        describe individual instances, this object contains some writeable
        parameters.
      </description>

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

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

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

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

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

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

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

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

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

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

    <object name="STBService.{i}.Components.FrontEnd.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="FrontEndNumberOfEntries">
      <description>
        FrontEnd instance table. Each front-end instance, including
        vendor-specific front-end types, will normally have a sub-object that
        corresponds to the front-end type (e.g. DVB-T or IP).
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this front-end.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this front-end. {{enum}} The {{enum|Error}} value MAY
          be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this front-end.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.DVBT."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        DVB-T front-end details. This object will normally be present if and
        only if this front-end is a DVB-T front-end. Parameters are taken from
        the DGTVi D-Book {{bibref|D-Book}}.
      </description>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.DVBT.Modulation."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        DVB-T modulation details.
      </description>

      <parameter name="Frequency" access="readWrite">
        <description>
          Indicates the current frequency in {{units}}. The value of this
          parameter is undefined while installing the service list (see
          {{object|.Components.FrontEnd.{i}.DVBT.Install}}).
        </description>
        <syntax>
          <unsignedInt>
            <units value="kHz"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelBandwidth" access="readWrite">
        <description>
          Indicates the channel bandwidth in use.
        </description>
        <syntax>
          <string>
            <enumeration value="8MHz"/>
            <enumeration value="7MHz"/>
            <enumeration value="6MHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Constellation" access="readWrite">
        <description>
          Indicates the current constellation in use.
        </description>
        <syntax>
          <string>
            <enumeration value="QPSK"/>
            <enumeration value="16QAM"/>
            <enumeration value="64QAM"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="HierarchicalInformation" access="readWrite">
        <description>
          Hierarchical parameter alpha. The higher the value of alpha, the more
          noise-immune the High Priority Modulation is.
        </description>
        <syntax>
          <string>
            <enumeration value="0">
              <description>no hierarchy</description>
            </enumeration>
            <enumeration value="1">
              <description/>
            </enumeration>
            <enumeration value="2"/>
            <enumeration value="4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CodeRateHP" access="readWrite">
        <description>
          Indicates the current code rate in use. Code rate applies to HP in
          case of hierarchical coding.
        </description>
        <syntax>
          <string>
            <enumeration value="1/2"/>
            <enumeration value="2/3"/>
            <enumeration value="3/4"/>
            <enumeration value="5/6"/>
            <enumeration value="7/8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CodeRateLP" access="readWrite">
        <description>
          Indicates the current code rate in use. Code rate applies to LP in
          case of hierarchical coding.
        </description>
        <syntax>
          <string>
            <enumeration value="0">
              <description>Coding is not hierarchical</description>
            </enumeration>
            <enumeration value="1/2"/>
            <enumeration value="2/3"/>
            <enumeration value="3/4"/>
            <enumeration value="5/6"/>
            <enumeration value="7/8"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="GuardInterval" access="readWrite">
        <description>
          Indicates the current guard interval in use.
        </description>
        <syntax>
          <string>
            <enumeration value="1/32"/>
            <enumeration value="1/16"/>
            <enumeration value="1/8"/>
            <enumeration value="1/4"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TransmissionMode" access="readWrite">
        <description>
          Indicates the number of carriers in an OFDM frame.
        </description>
        <syntax>
          <string>
            <enumeration value="2k"/>
            <enumeration value="8k"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SNR" access="readOnly" activeNotify="canDeny">
        <description>
          Signal/Noise ratio in the carrier band, measured in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="dB"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BER" access="readOnly" activeNotify="canDeny">
        <description>
          Bit Error Ratio before correction, expressed in multiples of 1e-6.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CBER" access="readOnly" activeNotify="canDeny">
        <description>
          Bit Error Ratio after correction, expressed in multiples of 1e-9.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Locked" access="readOnly">
        <description>
          Indicates whether or not the tuner is locked on a frequency.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.DVBT.Service."
        access="readOnly" minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.Components.FrontEnd.{i}.DVBT.Modulation.">
      <description>
        DVB-T Current service details.
      </description>

      <parameter name="CurrentLogicalChannel" access="readOnly">
        <description>
          It represents the logical channel object instance for the current
          service, For example:
          ''.Components.FrontEnd.1.DVBT.-ServiceListDatabase.LogicalChannel.12''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent="#.ServiceListDatabase.LogicalChannel."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentService" access="readOnly">
        <description>
          It represents the service object instance for the current service.
          For example:
          ''.Components.FrontEnd.1.DVBT.ServiceListDatabase.LogicalChannel.12.Service.1''.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent="#.ServiceListDatabase.LogicalChannel.{i}.Service."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.DVBT.Install."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        DVB-T service list database installation. Supports maintenance of the
        service list database by scanning frequencies in order to detect
        services. The service list database is in
        {{object|.Components.FrontEnd.{i}.DVBT.ServiceListDatabase}}.
      </description>

      <parameter name="Start" access="readWrite">
        <description>
          Starts (when set to {{true}}) or stops (when set to {{false}})
          scanning for services. The value is not saved in device state and is
          always {{false}} when read. Discovered services are merged with those
          already present in the service list database. This supports cases
          where the frequency spectrum is not continuous. In order to force a
          re-install, the service list database needs to be reset (see
          {{param|.Components.FrontEnd.{i}.DVBT.ServiceListDatabase.Reset}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the scanning process. {{enum}} The
          {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>scanning is not in progress</description>
            </enumeration>
            <enumeration value="Enabled">
              <description>scanning is in progress</description>
            </enumeration>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Progress" access="readOnly" activeNotify="canDeny">
        <description>
          Progression in {{units}} of the current scan. The value is undefined
          when a scan is not in progress.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="StartFrequency" access="readWrite">
        <description>
          Frequency (in {{units}}) at which to start the scanning process.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kHz"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="StopFrequency" access="readWrite">
        <description>
          Frequency (in {{units}}) at which to stop the scanning process.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kHz"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        DVB-T service list database.
      </description>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}}, resets the service list database. Setting it to
          {{false}} has no effect. The value is not saved in device state and
          is always {{false}} when read.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TotalServices" access="readOnly">
        <description>
          Total number of services defined in the service list database, i.e.
          the number of different DvbIds in the database.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LogicalChannelNumberOfEntries" access="readOnly">
        <description>
          Number of logical channels in the service list database.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase.LogicalChannel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="LogicalChannelNumberOfEntries">
      <description>
        DVB-T logical channel information.
      </description>
      <uniqueKey>
        <parameter ref="LogicalChannelNumber"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="LogicalChannelNumber" access="readOnly">
        <description>
          Logical channel number.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ServiceNumberOfEntries" access="readOnly">
        <description>
          Number of services associated with this logical channel.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase.LogicalChannel.{i}.Service.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ServiceNumberOfEntries">
      <description>
        DVB-T service information.
      </description>
      <uniqueKey>
        <parameter ref="DvbId"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Name" access="readOnly" dmr:previousParameter="">
        <description>
          Human-readable name associated with this service, e.g. read from the
          DVB service information metadata.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DvbId" access="readOnly">
        <description>
          DVB Triplet {{bibref|TS102034}} that uniquely identifies the service
          in the service list database. The DVB Triplet is a 12-byte string
          that is a concatenation of 4 hexadecimal characters for each of the
          following: Original Network Id, Transport Stream Id, Service Id. For
          example:

          * OriginalNetworkId = 8442 = 0x20FA

          * TransportStreamId = 4 = 0x0004

          * ServiceId = 257 = 0x0101 -&gt; DvbId = ''20FA00040101''
        </description>
        <syntax>
          <string>
            <size maxLength="12"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Frequency" access="readOnly">
        <description>
          Transmitter frequency (in {{units}}) for this service.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kHz"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BER" access="readOnly" activeNotify="canDeny">
        <description>
          Bit Error Ratio before correction, expressed in multiples of 1e-6
          (indicates the quality of this service).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CBER" access="readOnly" dmr:previousParameter="BER"
          activeNotify="canDeny">
        <description>
          Bit Error Ratio after correction, expressed in {{units}} (indicates
          the quality of this service).
        </description>
        <syntax>
          <unsignedInt>
            <units value="multiples of 1e-9"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SNR" access="readOnly" dmr:previousParameter="CBER"
          activeNotify="canDeny">
        <description>
          Signal/Noise ratio in the carrier band, measured in {{units}}
          (indicates the quality of this service).
        </description>
        <syntax>
          <unsignedInt>
            <units value="dB"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Preferred" access="readWrite">
        <description>
          When set to {{true}}, identifies this as the preferred service for
          this logical channel and automatically sets {{param}} to {{false}}
          for other services associated with this logical channel. When set to
          {{false}}, cancels this service's preferred status and causes the
          service with the lowest {{param|BER}} (best received quality) to
          become the preferred service for this logical channel. Whenever
          frequencies are re-scanned, all {{param}} parameters are implicitly
          reset to {{false}}, i.e. a re-scan will always use the {{param|BER}}
          to determine preferred services, and will discard any past explicit
          overrides.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.DVBT.LogicalChannelConnect."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Connect to a DVB-T logical channel.
      </description>

      <parameter name="LogicalChannelNumber" access="readWrite">
        <description>
          Logical channel number to connect to (the logical channel's preferred
          service will be connected to). If a
          {{object|.ServiceMonitoring.MainStream}} instance with
          ''ServiceType'' = ''DTT'' is currently enabled, the STB MUST ensure
          that performance data for this service is collected in that instance.
          The value is not saved in device state. The value when read is not
          specified and need not be the value that was most recently written.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceConnect."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Connect to a DVB-T service.
      </description>

      <parameter name="DvbId" access="readWrite">
        <description>
          DvbId of the service to connect to. If a
          {{object|.ServiceMonitoring.MainStream}} instance with
          ''ServiceType'' = ''DTT'' is currently enabled, the STB MUST ensure
          that performance data for this service is collected in that instance.
          The value is not saved in device state. The value when read is not
          specified and need not be the value that was most recently written.
        </description>
        <syntax>
          <string>
            <size maxLength="12"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        IP front-end details. This object will normally be present if and only
        if the front-end is an IP front-end.
      </description>

      <parameter name="InboundNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|Inbound}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="OutboundNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|Outbound}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ActiveInboundIPStreams" access="readOnly">
        <description>
          Number of {{object|Inbound}} AV streams currently active (i.e. with
          ''Status'' != ''Disabled'', which means audio or AV data are being
          processed).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ActiveOutboundIPStreams" access="readOnly">
        <description>
          Number of {{object|Outbound}} AV streams currently active (i.e. with
          ''Status'' != ''Disabled'', which means audio or AV data are being
          processed).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.RTCP."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters related to RTCP receiver report generation as defined in
        {{bibref|RFC3550}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables RTCP receiver report generation.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of RTCP receiver report generation. {{enum}} The
          {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="TxRepeatInterval" access="readWrite">
        <description>
          Transmission repeat interval, in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.RTPAVPF."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters related to RTP AVPF configuration as defined in
        {{bibref|RFC4585}} and {{bibref|RFC4588}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables RTP/AVPF receiver report generation. When set to
          {{true}}, enables the error correction operation, immediately
          ({{enum|Forced|OperationMode}} mode) or automatically when necessary
          ({{enum|Auto|OperationMode}} mode). When set to {{false}}, disables
          the error correction operation.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of RTP/AVPF receiver report generation. {{enum}} The
          {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RetransmitTimeout" access="readWrite">
        <description>
          Time in {{units}} the receiver shall wait for a retransmitted packet
          before considering it to be lost.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinLossPackets" access="readWrite">
        <description>
          Minimum number of lost packets the receiver shall wait for before
          generating a retransmission request.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxReportTime" access="readWrite">
        <description>
          Maximum time in {{units}} the receiver shall wait between a lost
          packet and the generation of a retransmission request.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxLossBurst" access="readWrite">
        <description>
          Maximum number of consecutive lost packets for which the receiver
          shall attempt recovery.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="OperationMode" access="readWrite">
        <description>
          The operation mode of the Error Correction mechanism. {{enum}} In
          {{enum|Auto}} mode, when Error Correction is enabled, the STB decides
          whether or not to run the Error Correction operation (e.g. after an
          error analysis). In {{enum|Forced}} mode, when Error Correction is
          enabled the STB MUST run the Error Correction operation.
        </description>
        <syntax>
          <string>
            <enumeration value="Auto"/>
            <enumeration value="Forced"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ECOperationStatus" access="readOnly">
        <description>
          The status of RTP/AVPF operation. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Auto mode EC On">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is running
              </description>
            </enumeration>
            <enumeration value="Auto mode EC Off without buffering">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is not running and EC
                data are not buffered). Note: this is equivalent of "Disabled"
                but this "Disabled" state is caused by STB under auto mode, not
                be set by operator
              </description>
            </enumeration>
            <enumeration value="Auto mode EC Off with buffering">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is not running but EC
                data are buffered
              </description>
            </enumeration>
            <enumeration value="Forced mode EC On">
              <description>
                {{enum|Forced|OperationMode}} mode and Enabled
              </description>
            </enumeration>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.FEC."
        access="readOnly" minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.Components.FrontEnd.{i}.IP.RTPAVPF.">
      <description>
        Parameters related to AL-FEC configuration as defined in
        {{bibref|SMPTE20022-1}}.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables FEC decoder operation. When set to {{true}},
          enables the FEC decoder operation, immediately
          ({{enum|Forced|OperationMode}} mode) or automatically when necessary
          ({{enum|Auto|OperationMode}} mode). When set to {{false}}, disables
          the FEC decoder operation.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="OperationMode" access="readWrite">
        <description>
          The operation mode of the FEC decoder. {{enum}} In {{enum|Auto}}
          mode, when Error Correction is enabled the STB decides whether or not
          to run the AL_FEC decoding (e.g. after an error analysis). In
          {{enum|Forced}} mode, when Error Correction is enabled the STB MUST
          run the FEC decoding.
        </description>
        <syntax>
          <string>
            <enumeration value="Auto"/>
            <enumeration value="Forced"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ECOperationStatus" access="readOnly">
        <description>
          The status of FEC decoder operation. {{enum}} The {{enum|Error}}
          value MAY be used by the CPE to indicate a locally defined error
          condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Auto mode EC On">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is running
              </description>
            </enumeration>
            <enumeration value="Auto mode EC Off without buffering">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is not running and EC
                data are not buffered). Note: this is equivalent of "Disabled",
                but this "Disabled" state is caused by STB under auto mode, not
                be set by operator
              </description>
            </enumeration>
            <enumeration value="Auto mode EC Off with buffering">
              <description>
                {{enum|Auto|OperationMode}} mode and EC is not running but EC
                data are buffered
              </description>
            </enumeration>
            <enumeration value="Forced mode EC On">
              <description>
                {{enum|Forced|OperationMode}} mode and Enabled
              </description>
            </enumeration>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters that are specific to IGMP clients when changing channels.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables all IGMP support on the receiver side of the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Status of IGMP support on the receiver side of the CPE. {{enum}} The
          {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaximumNumberOfConcurrentGroups" access="readOnly">
        <description>
          Maximum number of group memberships allowed simultaneously. For
          example, this would need to be at least 2 in order to support a
          Multicast-delivered main picture and a Multicast-delivered PIP.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaximumNumberOfTrackedGroups" access="readOnly">
        <description>
          Maximum number of groups for which statistics will be tracked. This
          relates only to the maintenance of statistics, and does not affect
          the operation of the STB.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LoggingEnable" access="readWrite">
        <description>
          Controls logging of IGMP traffic. The CPE MAY choose to throttle log
          entries, e.g. if joins and leaves are occurring at an excessive rate.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DSCPMark" access="readWrite">
        <description>
          Diffserv code point to be used for outgoing IGMP packets.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="63"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="VLANIDMark" access="readWrite">
        <description>
          VLAN ID (as defined in 802.1Q) to be used for outgoing IGMP packets.
          A value of -1 indicates the default value is to be used. If either
          the {{param}} or {{param|EthernetPriorityMark}} is greater than zero,
          then the outgoing frames MUST be tagged. Otherwise, the outgoing
          frames MAY be tagged or untagged.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="EthernetPriorityMark" access="readWrite">
        <description>
          Ethernet priority code (as defined in 802.1D) to be used for outgoing
          IGMP packets. A value of -1 indicates the default value is to be
          used. If either the {{param|VLANIDMark}} or {{param}} are greater
          than zero, then the outgoing frames MUST be tagged. Otherwise, the
          outgoing frames MAY be tagged or untagged.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ClientVersion" access="readOnly">
        <description>
          The highest IGMP version supported by the IGMP Client.
        </description>
        <syntax>
          <string>
            <enumeration value="v1"/>
            <enumeration value="v2"/>
            <enumeration value="v3"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ClientRobustness" access="readWrite">
        <description>
          Robustness is a way of indicating how vulnerable the network is to
          lost packets. IGMP can recover from robustness minus 1 lost IGMP
          packets. RFC 3376 specifies a default of 2.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClientUnsolicitedReportInterval" access="readWrite">
        <description>
          The number of {{units}} between repetitions of a host's initial
          report of membership in a group. RFC 3376 specifies a default of 1s.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="25"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ClientGroupNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|ClientGroup}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ClientGroupStatsNumberOfEntries" access="readOnly">
        <description>
          Number of entries in the {{object|ClientGroupStats}} table.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroup.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ClientGroupNumberOfEntries">
      <description>
        IGMP Group table. This is the database that is maintained by the IGMP
        client to reflect the current group membership. The CPE MUST support at
        least ''MaximumNumberOfConcurrentGroups'' table entries.
      </description>
      <uniqueKey functional="false">
        <parameter ref="GroupAddress"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="GroupAddress" access="readOnly">
        <description>
          The IP multicast group address for which this entry contains
          information.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="UpTime" access="readOnly" activeNotify="canDeny">
        <description>
          Time elapsed in {{units}} since the multicast group has been a member
          on this interface.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ClientGroupStatsNumberOfEntries">
      <description>
        IGMP Group statistics table. This stores per-group historical
        statistical data. The CPE MUST support at least
        ''MaximumNumberOfTrackedGroups'' table entries. The CPE MAY reclaim
        entries based on the oldest membership reports.
      </description>
      <uniqueKey functional="false">
        <parameter ref="GroupAddress"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="GroupAddress" access="readOnly">
        <description>
          The IP multicast group address for which this entry contains
          information.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="TotalStart" access="readOnly" activeNotify="canDeny">
        <description>
          Number of {{units}} since the beginning of the period used for
          collection of {{object|Total}} statistics. Statistics SHOULD continue
          to be accumulated across CPE reboots, though this may not always be
          possible.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CurrentDayStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of {{units}} since the beginning of the period used for
          collection of {{object|CurrentDay}} statistics. The CPE MAY align the
          beginning of each {{object|CurrentDay}} interval with days in the UTC
          time zone, but is not required to do so. Statistics SHOULD continue
          to be accumulated across CPE reboots, though this may not always be
          possible.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="QuarterHourStart" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of {{units}} since the beginning of the period used for
          collection of {{object|QuarterHour}} statistics. The CPE MAY align
          the beginning of each {{object|QuarterHour}} interval with real-time
          quarter-hour intervals, but is not required to do so. Statistics
          SHOULD continue to be accumulated across CPE reboots, though this may
          not always be possible.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.Total."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total statistics for this multicast group.
      </description>

      <parameter name="NumberOfJoins" access="readOnly" activeNotify="canDeny">
        <description>
          Number of IGMP joins during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfLeaves" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of IGMP leaves during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxJoinDelay" access="readOnly">
        <description>
          Maximum latency delay, in {{units}}, from the sending of a Join
          message for this group to the arrival of the first IP packet for this
          group during this period.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.CurrentDay."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Current day statistics for this multicast group.
      </description>

      <parameter name="NumberOfJoins" access="readOnly" activeNotify="canDeny">
        <description>
          Number of IGMP joins during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfLeaves" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of IGMP leaves during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxJoinDelay" access="readOnly">
        <description>
          Maximum latency delay, in {{units}}, from the sending of a Join
          message for this group to the arrival of the first IP packet for this
          group during this period.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.QuarterHour."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Current quarter hour statistics for this multicast group.
      </description>

      <parameter name="NumberOfJoins" access="readOnly" activeNotify="canDeny">
        <description>
          Number of IGMP joins during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfLeaves" access="readOnly"
          activeNotify="canDeny">
        <description>
          Number of IGMP leaves during this period.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxJoinDelay" access="readOnly">
        <description>
          Maximum latency delay, in {{units}}, from the sending of a Join
          message for this group to the arrival of the first IP packet for this
          group during this period.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.Dejittering."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters related to the de-jittering buffer configuration for all
        inbound IP streams.
      </description>

      <parameter name="BufferSize" access="readWrite">
        <description>
          De-jittering buffer size, measured in {{units}}, on the receiver side
          of the CPE. The STB is responsible for converting this into the
          actual buffer size in ''bytes''.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BufferInitialLevel" access="readWrite">
        <description>
          Describes the number of {{units}} worth of data that should be in the
          receiver side dejittering buffer before play-out can start. Typically
          this would be half of the buffer size.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.Inbound.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="InboundNumberOfEntries">
      <description>
        Inbound IP streams currently entering the STB via this front-end.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this Inbound stream. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly" dmr:previousParameter="Status">
        <description>
          Unique human-readable name associated with this inbound IP instance.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingControlProtocol" access="readOnly">
        <description>
          Network protocol currently used for controlling streaming of the
          source content, or {{empty}} if the content is not being streamed or
          is being streamed but is not being controlled.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.StreamingControlProtocols"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingTransportProtocol" access="readOnly">
        <description>
          Network protocol currently used for streaming the source content, or
          an empty string if the content is not being streamed.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.StreamingTransportProtocols"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="StreamingTransportControlProtocol" access="readOnly">
        <description>
          Transport control protocol currently used for streaming the source
          content, or an empty string if the content is not being streamed.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.StreamingTransportControlProtocols"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MultiplexType" access="readOnly">
        <description>
          AV multiplex type currently used for the source content, or an empty
          string if the content is not being demultiplexed.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.MultiplexTypes"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DownloadTransportProtocol" access="readOnly">
        <description>
          Network protocol currently used for downloading the source content,
          or an empty string if the content is not being downloaded.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.DownloadTransportProtocols"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SourceAddress" access="readOnly">
        <description>
          IP address of the source of the current stream content.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SourcePort" access="readOnly">
        <description>
          TCP or UDP port number of the source of the current stream content,
          or 0 if the content is not being delivered via IP or if not
          applicable.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DestinationAddress" access="readOnly">
        <description>
          IP address of the destination of the current stream content, or
          {{empty}} if the content is not being delivered via IP.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="DestinationPort" access="readOnly">
        <description>
          TCP or UDP port number of the destination of the current stream
          content, or 0 if the content is not being delivered via IP or if not
          applicable.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="URI" access="readOnly">
        <description>
          RFC 3986 URI that indicates the current source (possibly including
          Multicast group and port, if relevant) of the stream content, or
          {{empty}} if the source is not known or cannot be represented as a
          URI. For example, for a WAN-delivered stream this might be a content
          provider's URL, or for a LAN-delivered stream it might be an UPnP AV
          URN. If specified, the URI MUST be consistent with the other
          source-related parameters.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.Outbound.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="OutboundNumberOfEntries">
      <description>
        Parameters related to an outbound IP stream.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this Outbound stream. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly" dmr:previousParameter="Status">
        <description>
          Unique human-readable name associated with this outbound IP instance.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MultiplexType" access="readOnly">
        <description>
          AV multiplex type currently used for the destination content, or an
          empty string if the content is not being demultiplexed.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.FrontEnd.IP.MultiplexTypes"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="URI" access="readOnly">
        <description>
          RFC 3986 URI that indicates the current destination (possibly
          including Multicast group and port, if relevant) of the stream
          content, or an empty string if the destination is not known or cannot
          be represented as a URI. For example, this might be an UPnP AV URN.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.ServiceConnect."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Parameters used to force connection to a dedicated IP stream for test
        purposes.
      </description>

      <parameter name="URI" access="readWrite">
        <description>
          RFC 3986 URI that describes the service to connect to in the form:

          *
            &lt;trsp&gt;://&lt;addr&gt;:&lt;port&gt;?StrCtrl=&lt;strctrl&gt;?StrTrspCtrl=&lt;trspctrl&gt;?MuxType=&lt;muxtype&gt;
            where:

          * '''&lt;addr&gt;''' is the IP address of the service source (for
            Unicast) or IGMP group (for Multicast).

          * '''&lt;port&gt;''' is the associated TCP/UDP port. If not
            specified, the STB is assumed to know and use an appropriate
            default port.

          * '''&lt;trsp&gt;''' is the streaming transport protocol and MUST be
            one of the values in
            {{param|.Capabilities.FrontEnd.IP.StreamingTransportProtocols}},
            which SHOULD be converted to lower-case.

          * '''&lt;strctrl&gt;''' is the streaming control protocol and MUST be
            one of the values in
            {{param|.Capabilities.FrontEnd.IP.StreamingControlProtocols}}. If
            not specified, no streaming control protocol is to be used.

          * '''&lt;trspctrl&gt;''' is the streaming transport control protocol
            and MUST be one of the values in
            {{param|.Capabilities.FrontEnd.IP.StreamingTransportControlProtocols}}.
            If not specified, no streaming transport control protocol is to be
            used.

          * '''&lt;muxtype&gt;''' is the multiplex type and MUST be one of the
            values in {{param|.Capabilities.FrontEnd.IP.MultiplexTypes}}. This
            tells the STB which multiplex type to expect. If not specified, the
            STB is assumed to know, or to be able to determine, the multiplex
            type. Note that download protocols are not supported by the above
            syntax. However, the specified syntax is just a baseline, and STBs
            MAY support an extended syntax. Example of Multicast MPEG2-TS over
            RTP with no transport control:

          * rtp://224.112.15.18:3257?StrCtrl=IGMP?MuxType=MPEG2-TS Example of
            Multicast MPEG2-TS over RTP with AL-FEC transport control:

          *
            rtp://224.112.15.18:3257?StrCtrl=IGMP?StrTrspCtrl=AL-FEC?MuxType=MPEG2-TS
            Example of Unicast MPEG2-TS over UDP with RTSP transport control:

          * udp://174.146.35.12:3257?StrCtrl=RTSP?MuxType=MPEG2-TS Example of
            Unicast raw AV over RTP with RTCP control and RTSP transport
            control:

          * rtp://174.146.35.12:3257?StrCtrl=RTSP?StrTrspCtrl=RTCP?MuxType=None
            If a {{object|.ServiceMonitoring.MainStream}} instance with
            ''ServiceType'' = ''IP'' or ''IPTV'' (or ''VoD'' if the URI
            accesses a VoD service) is currently enabled, the STB MUST ensure
            that performance data for this service is collected in that
            instance. The value is not saved in device state. The value when
            read is not specified and need not be the value that was most
            recently written.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.FrontEnd.{i}.IP.ForceMonitor."
        access="readOnly" minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.Components.FrontEnd.{i}.IP.ServiceConnect.">
      <description>
        Parameters used to describe the force monitoring operation. When
        running in the force monitoring mode, the STB MUST automatically
        connect to a test URI defined by the {{param|URI}} parameter whenever
        it detects that the IP tuner is not not receiving any data from the
        WAN. When running in normal mode, the STB does not perform any action
        when it does not receive any data from the IP tuner coming from the
        WAN. The force monitor mode allows to maintain an active stream coming
        from the network so as to keep collecting statistics.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          When set to {{true}}, forces the operation mode in ForceMonitor mode
          When set to {{false}}, forces operation mode in Normal mode.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of the statistic mode of operation. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Normal"/>
            <enumeration value="Force Monitor"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="URI" access="readWrite">
        <description>
          describes the service to connect to for force monitoring purposes
          with the same syntaxt as {{param|#.ServiceConnect.URI}} If a
          {{object|.ServiceMonitoring.MainStream}} instance with
          ''ServiceType'' = ''TEST'' or ''IP-All'' is currently enabled, the
          STB MUST ensure that performance data for this service is collected
          in that instance. The value when read is not specified and need not
          be the value that was most recently written.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.PVR." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        PVR details. This is a read-only object that exists only to reference
        PVR storage objects.
      </description>

      <parameter name="StorageNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|Storage}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.PVR.Storage.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="StorageNumberOfEntries">
      <description>
        PVR storage table. There MUST be an instance for each storage object
        that can be accessed by the PVR. Entries MAY be dynamically created and
        deleted as storage devices become available and unavailable.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Name" access="readOnly" dmr:previousParameter="">
        <description>
          Unique human-readable name associated with this storage instance.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Reference" access="readOnly">
        <description>
          References the corresponding ''StorageService'' {{bibref|TR-140}}
          instance, or an object contained within such an instance, e.g. a
          ''PhysicalMedium'', ''LogicalVolume'' or ''Folder'' instance. The
          value is the full hierarchical name of the corresponding object.
          Example: ''Device.Services.StorageService.1''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.AudioDecoder.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AudioDecoderNumberOfEntries">
      <description>
        Audio decoder instance table. It contains data representing the current
        status of the Audio decoder.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this audio decoder.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this audio decoder. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this audio decoder.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioStandard" access="readOnly">
        <description>
          Audio standard currently being processed by this audio decoder, or an
          empty string if no audio standard is currently being processed.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioDecoder.AudioStandards"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.VideoDecoder.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VideoDecoderNumberOfEntries">
      <description>
        Video decoder instance table. It contains data representing the current
        status of the video decoder.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this video decoder.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this video decoder. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this video decoder.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MPEG2Part2" access="readOnly">
        <description>
          MPEG2 Part 2 profile and level object instance, or {{empty}} if MPEG2
          Part 2 is not used. For example:
          ''.Capabilities.VideoDecoder.MPEG2Part2.ProfileLevel.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Capabilities.VideoDecoder.MPEG2Part2.ProfileLevel."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MPEG4Part2" access="readOnly">
        <description>
          MPEG4 Part 2 profile and level object instance, or {{empty}} if MPEG4
          Part 2 is not used). For example:
          ''.Capabilities.VideoDecoder.MPEG4Part2.ProfileLevel.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Capabilities.VideoDecoder.MPEG4Part2.ProfileLevel."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MPEG4Part10" access="readOnly">
        <description>
          MPEG4 Part 10 profile and level object instance, or {{empty}} if
          MPEG4 Part 10 is not used. For example:
          ''.Capabilities.VideoDecoder.MPEG4Part10.ProfileLevel.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Capabilities.VideoDecoder.MPEG4Part10.ProfileLevel."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SMPTEVC1" access="readOnly">
        <description>
          SMPTE-VC-1 profile and level object instance, or {{empty}} if
          SMPTE-VC-1 is not used. For example:
          ''.Capabilities.VideoDecoder.SMPTEVC1.ProfileLevel.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Capabilities.VideoDecoder.SMPTEVC1.ProfileLevel."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ContentAspectRatio" access="readOnly">
        <description>
          Indicates the native aspect ratio of the content available at this
          decoder.
        </description>
        <syntax>
          <string>
            <enumeration value="4:3"/>
            <enumeration value="16:9"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.AudioOutput.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AudioOutputNumberOfEntries">
      <description>
        Audio output instance table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this audio output.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this audio output. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Muted">
              <description>i.e. Enabled and Muted</description>
            </enumeration>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this audio output.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioFormat" access="readOnly">
        <description>
          Currently active audio output format, or {{empty}} if no audio output
          format is currently active. Note that this parameter refers to output
          formats and not to physical connectors.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.AudioOutput.AudioFormats"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioLevel" access="readWrite">
        <description>
          The audio level on this audio output in {{units}} (0 is quietest and
          100 is loudest). This setting is independent of the mute status. For
          some audio formats, the audio level is not meaningful, in which case
          this parameter SHOULD have a fixed value of 0.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CancelMute" access="readWrite">
        <description>
          When set to {{true}}, cancels this audio output's mute status.
          Setting it to {{false}} has no effect. The value is not saved in
          device state and is always {{false}} when read.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SCARTs" access="readOnly">
        <description>
          SCART object instances associated with this audio output, or
          {{empty}} if not associated with any SCART object instances. For
          example:

          * ''.Components.SCART.2''

          * ''.Components.SCART.2,.Components.SCART.3''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Components.SCART."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.SPDIF.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="SPDIFNumberOfEntries"
        dmr:previousObject="STBService.{i}.Components.AudioOutput.{i}.">
      <description>
        S/PDIF output instance table configuration. This object, if present, is
        connected to the audio ouput instance currently delivering S/PDIF audio
        format as described in {{bibref|SPDIF}}.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the S/PDIF output.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this S/PDIF output. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this output.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ForcePCM" access="readWrite">
        <description>
          When set to {{true}}, forces the audio format over S/PDIF to be in
          PCM mode. When set to {{false}}, let the compressed audio format be
          carried over S/PDIF (passthrough).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Passthrough" access="readOnly">
        <description>
          When in Passthrough mode, the STB sends the audio stream over S/PDIF
          without decoding it.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AudioDelay" access="readOnly">
        <description>
          Audio delay value, in {{units}}, currently being applied to the audio
          stream on the S/PDIF interface. The audio delay is entered by the
          user via his local UI, when necessary for correcting the lipsync.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.VideoOutput.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="VideoOutputNumberOfEntries">
      <description>
        Video output instance table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this video output.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this video output. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="ColorbarEnabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this Video output.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CompositeVideoStandard" access="readOnly">
        <description>
          The type of analog video standard currently in use or {{empty}} if no
          analog video standard is currently in use. Note that this parameter
          applies only to the CVBS output format.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.VideoOutput.CompositeVideoStandards"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoFormat" access="readWrite">
        <description>
          Currently active video output format, or {{empty}} if no video output
          format is currently active. Note that this parameter refers to output
          formats and not to physical connectors.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.VideoOutput.VideoFormats"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AspectRatioBehaviour" access="readOnly">
        <description>
          Indicates the aspect ratio behaviour for display on monitors with an
          aspect ratio different from that of the content, which is specified
          in {{param|.Components.VideoDecoder.{i}.ContentAspectRatio}}.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Letterbox">
              <description action="replace">DEPRECATED and replaced by following values</description>
            </enumeration>
            <enumeration value="16:9 Letterbox"/>
            <enumeration value="14:9 Letterbox"/>
            <enumeration value="CenterCutOut"/>
            <enumeration value="Combined">
              <description>
                DEPRECATED and replaced by following values
              </description>
            </enumeration>
            <enumeration value="Combined 16:9 Letterbox and CenterCutOut"/>
            <enumeration value="Combined 14:9 Letterbox and CenterCutOut"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Macrovision" access="readOnly">
        <description>
          Indicates whether Macrovision analog protection is being used on this
          video output. The Macrovision version supported is indicated in
          {{param|.Capabilities.VideoOutput.Macrovision}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="HDCP" access="readOnly">
        <description>
          Indicates whether HDCP is being used on this video output. The HDCP
          version supported is indicated in
          {{param|.Capabilities.VideoOutput.HDCP}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SCARTs" access="readOnly">
        <description>
          SCART object instances associated with this video output, or
          {{empty}} if not associated with any SCART object instances. For
          example:

          * ''.Components.SCART.2''

          * ''.Components.SCART.2,.Components.SCART.3''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Components.SCART."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ColorbarEnable" access="readWrite">
        <description>
          Enables or disables the color bar display. When set to {{true}}, the
          CPE MUST suspend the running service currently using the video output
          (e.g. IPTV broadcast reception) and MUST display the color bar. When
          set to {{false}}, the CPE MUST resume the previousely running
          service. This parameter MUST be always initialized with the value
          {{false}} on STB boot.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="DisplayFormat" access="readWrite">
        <description>
          Display format being connected to this VideoOutput. This parameter is
          used by the STB to determine whether an aspect ratio conversion is
          required.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.VideoOutput.DisplayFormats"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.SCART.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="SCARTNumberOfEntries">
      <description>
        SCART configuration. This object allows configuration of the STB's AV
        switching.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this SCART connector.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this SCART connector. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this connector.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Presence" access="readWrite">
        <description>
          Enables or disables the Presence control signal (pin 8 of the SCART
          connector), an output from the STB to control the display device
          connected to the SCART. When enabled (set to {{true}}) the STB MUST
          drive pin 8 to the appropriate level to indicate the output video
          format (SD or HD) to the connected device. When disabled (set to
          {{false}}) the STB MUST NOT drive pin 8.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.HDMI.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="HDMINumberOfEntries"
        dmr:previousObject="STBService.{i}.Components.SCART.{i}.">
      <description>
        HDMI instance table. This object allows configuration of the STB’s HDMI
        output.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Status" access="readOnly">
        <description>
          The status of HDMI output. {{enum}} The {{enum|Error}} value MAY be
          used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this output.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ResolutionMode" access="readWrite">
        <description>
          The resolution mode of the HDMI output. In {{enum|Auto}} mode, the
          resolution is automatically set at the best format via HDMI
          protocols. In {{enum|Manual}} mode, the resolution to be applied to
          the HDMI output is given by the ResolutionValue parameter.
        </description>
        <syntax>
          <string>
            <enumeration value="Auto"/>
            <enumeration value="Manual"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ResolutionValue" access="readWrite">
        <description>
          When {{param|ResolutionMode}} is set to
          {{enum|Manual|ResolutionMode}} mode, a write action configures the
          resolution to be applied to the HDMI output, When
          {{param|ResolutionMode}} is set to {{enum|Auto|ResolutionMode}}, a
          write action as no effect. A read action provides the current
          resolution of the HDMI output.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.HDMI.SupportedResolutions"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.HDMI.{i}.DisplayDevice."
        access="readOnly" minEntries="0" maxEntries="1">
      <description>
        HDMI connected display device configuration. This object provides
        parameters from the HDMI connected device if any.
      </description>

      <parameter name="Status" access="readOnly">
        <description>
          The status of the connected HDMI Display device. {{enum}} The
          {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Present"/>
            <enumeration value="None"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this display device.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EEDID" access="readOnly">
        <description>
          Enhanced Extended Display Information Data (E-EDID) retrieved from
          the connected HDMI device.
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="256"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="SupportedResolutions" access="readOnly">
        <description>
          Each entry is a supported resolution of the connected HDMI device and
          MUST be one element of
          {{param|.Capabilities.HDMI.SupportedResolutions}}.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PreferredResolution" access="readOnly">
        <description>
          Preferred connected HDMI device resolution format.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.HDMI.SupportedResolutions"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoLatency" access="readOnly">
        <description>
          Video latency, in {{units}}, being applied in the connected HDMI
          device. This parameter is extracted from the E-EDID and can be used
          to compensate the video latency to preserve lipsync.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CECSupport" access="readOnly">
        <description>
          When set to {{true}}, indicates the connected HDMI device is
          supporting HDMI-CEC features. When set to {{false}}, indicates the
          connected HDMI device does not support HDMI CEC.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AutoLipSyncSupport" access="readOnly">
        <description>
          When set to {{true}}, indicates the connected display device supports
          auto lip synchronization. This mode consists in communicating over
          HDMI, the delay to be applied by the STB to the audio in order to
          preserve the lip sync.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="HDMI3DPresent" access="readOnly">
        <description>
          When set to {{true}}, indicates the connected display device supports
          the 3D video formats mandated by {{bibref|HDMI}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.CA.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="CANumberOfEntries">
      <description>
        This object describes the characteristics of the Conditional Access, if
        any.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this CA system.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this CA system. {{enum}} The {{enum|Error}} value MAY
          be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Indicates a unique identifier (e.g. the commercial name: ''La 7
          piu'', ''Mediaset Premium'') for this CA system.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <enumerationRef targetParam=".Capabilities.CA.CASystems"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SmartCardReader" access="readOnly">
        <description>
          Path name of the smart card reader object instance containing the
          smart card (if any) associated with this CA system. The value MUST be
          {{empty}} (if not associated with a smart card) or else be the full
          path name of the corresponding smart card reader object. For example:
          ''Device.SmartCardReader.1''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Components.DRM.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="DRMNumberOfEntries">
      <description>
        This object describes the characteristics of the Digital Rights
        Management, if any.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this DRM system.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this DRM system. {{enum}} The {{enum|Error}} value MAY
          be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Indicates a unique identifier (e.g. the commercial name: ''La 7
          piu'', ''Mediaset Premium'') for this DRM system.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <enumerationRef targetParam=".Capabilities.DRM.DRMSystems"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SmartCardReader" access="readOnly">
        <description>
          Path name of the smart card reader object instance containing the
          smart card (if any) associated with this DRM system. The value MUST
          be {{empty}} (if not associated with a smart card) or else be the
          full path name of the corresponding smart card reader object. For
          example: ''Device.SmartCardReader.1''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.AVStreams." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        AV Streams object. If more than one AV stream can be active at a time,
        it may contain several {{object|AVStream}} instances.
      </description>

      <parameter name="ActiveAVStreams" access="readOnly">
        <description>
          Number of AV streams currently active (i.e. with ''Status'' !=
          ''Disabled'', which means audio or AV data are being processed).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AVStreamNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|AVStream}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.AVStreams.AVStream.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AVStreamNumberOfEntries">
      <description>
        Details of each AVStream. AV streams are created statically. Each AV
        stream corresponds to a valid ''{FrontEnd, AudioDecoder,
        VideoDecoder}'' instance combination (although if the PVR is active for
        this stream, only ''{FrontEnd}'' or ''{AudioDecoder, VideoDecoder}''
        will be in use).
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this AV stream. {{enum}} An AV stream is disabled if
          any of the referenced objects are disabled. If an AV stream is
          disabled then the values of other AV stream parameters are not
          significant. The {{enum|Error}} value MAY be used by the CPE to
          indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error_PVRWriteFailure"/>
            <enumeration value="Error_PVRReadFailure"/>
            <enumeration value="Error" optional="true">
              <description>Unspecified error</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this stream, e.g. read from the
          DVB service information metadata.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PVRState" access="readOnly">
        <description>
          Indicates whether this stream is using the PVR and, if so, the PVR
          state. {{enum}} PVR record state can be inferred from whether the
          stream has an input FrontEnd: if so and {{param}} is not
          {{enum|Disabled}}, the PVR is recording.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>PVR not used by this stream</description>
            </enumeration>
            <enumeration value="Stopped">
              <description>PVR playback not active</description>
            </enumeration>
            <enumeration value="Play">
              <description>PVR playback active (and playing)</description>
            </enumeration>
            <enumeration value="Paused">
              <description>PVR playback active (paused)</description>
            </enumeration>
            <enumeration value="FastForward">
              <description>PVR playback active (fast forward)</description>
            </enumeration>
            <enumeration value="Rewind">
              <description>PVR playback active (rewind)</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="FrontEnd" access="readOnly">
        <description>
          Input FrontEnd object instance associated with this AV stream, or
          {{empty}} if not associated with a FrontEnd object). For example:
          ''.Components.FrontEnd.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".Components.FrontEnd."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Inbound" access="readOnly">
        <description>
          Inbound IP stream object instance associated with the FrontEnd for
          this AV stream, or {{empty}} if the inbound stream is not delivered
          over IP. For example: ''.Components.FrontEnd.2.IP.Inbound.3''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Components.FrontEnd.{i}.IP.Inbound."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Outbound" access="readOnly">
        <description>
          Outbound IP stream object instance associated with the output
          FrontEnd for this AV stream (which is always the IP FrontEnd), or
          {{empty}} if the outbound stream is not delivered over IP. For
          example: ''.Components.FrontEnd.2.IP.Outbound.3''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong"
                targetParent=".Components.FrontEnd.{i}.IP.Outbound."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioDecoder" access="readOnly">
        <description>
          Audio Decoder object instance associated with this AV stream, or
          {{empty}} if not associated with an Audio Decoder object. For
          example: ''.Components.AudioDecoder.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".Components.AudioDecoder."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoDecoder" access="readOnly">
        <description>
          Video Decoder object instance associated with this AV stream, or
          {{empty}} if not associated with a Video Decoder object. For example:
          ''.Components.VideoDecoder.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".Components.VideoDecoder."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CA" access="readOnly">
        <description>
          CA system object instance associated with this AV stream, or
          {{empty}} if not associated with a CA object. For example:
          ''.Components.CA.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".Components.CA."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="DRM" access="readOnly">
        <description>
          DRM system object instance associated with this AV stream, or
          {{empty}} if not associated with a DRM object. For example:
          ''.Components.DRM.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".Components.DRM."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.AVPlayers." access="readOnly" minEntries="1"
        maxEntries="1">
      <description>
        AV Players object. If more than one AV player can be active at a time,
        it may contain several {{object|AVPlayer}} instances. AV players are
        created statically. Each AV player corresponds to a combination of
        several AV streams (one main screen video, several PIP, one audio)
        being connected to an AV presentation device (such as a TV set). There
        is no guarantee that the STB has the resources to enable all of its AV
        players at the same time.
      </description>

      <parameter name="ActiveAVPlayers" access="readOnly">
        <description>
          Number of AV players currently active (i.e. with ''Status'' !=
          ''Disabled'', which means the {{object|AVPlayer}} is processing an
          audio or AV stream).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AVPlayerNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|AVPlayer}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PreferredAudioLanguage" access="readWrite">
        <description>
          Human-readable string, as specified in {{bibref|RFC3066}}, describing
          the audio language that SHOULD be used by the STB when receiving a
          multi-language audio multiplex. {{empty}} indicates that there is no
          preferred audio language.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PreferredSubtitlingLanguage" access="readWrite">
        <description>
          Human-readable string, as specified in {{bibref|RFC3066}}, describing
          the subtitling language that SHOULD be used by the STB when receiving
          multi-language subtitling. A value of ''None'' indicates that no
          subtitling is required. {{empty}} indicates that there is no
          preferred subtitling language.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PreferredBehaviour" access="readWrite"
          dmr:previousParameter="PreferredSubtitlingLanguage">
        <description>
          Aspect ratio behaviour preference for display on monitor. If
          non-empty, the string MUST be one of the .Components.VideoOutput.{i}.
          AspectRatioBehaviour values.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ResetPINCode" access="readWrite">
        <description>
          When set to {{true}}, the master PIN code for the STB is set to 0000.
          Setting it to {{false}} has no effect. The value is not saved in
          device state and is always {{false}} when read. It is not recommended
          that this be set to true without the user's permission. No data on
          the device such as PVR recordings are to be cleared as a result of
          resetting the PIN code.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.AVPlayers.AVPlayer.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded"
        numEntriesParameter="AVPlayerNumberOfEntries">
      <description>
        List of AV Player objects. Each item is one particular AV player being
        processed by the STB.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this AV player.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The status of this AV player. {{enum}} If an AV player is disabled
          then the values of other AV player parameters are not significant.
          The {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="Name" access="readOnly">
        <description>
          Human-readable name associated with this AV player.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioLanguage" access="readOnly">
        <description>
          Human-readable string, as specified in {{bibref|RFC3066}}, describing
          the audio language being currently processed by the AV player.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SubtitlingStatus" access="readOnly">
        <description>
          The status of subtitling for this AV player. {{enum}} Subtitles are
          assumed to be shown only on the main screen. The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SubtitlingLanguage" access="readOnly">
        <description>
          Human-readable string, as specified in {{bibref|RFC3066}}, describing
          the subtitling language being currently processed by the AV player.
          Subtitles are assumed to be shown only on the main screen.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AudioOutputs" access="readOnly">
        <description>
          Audio output object instances associated with this AV player, or
          {{empty}} if not associated with any audio output object instances.
          For example: ''.Components.AudioOutput.2''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Components.AudioOutput."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoOutputs" access="readOnly">
        <description>
          Video output object instances associated with this AV player, or
          {{empty}} if not associated with any video output object instances.
          For example: ''.Components.VideoOutput.2''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".Components.VideoOutput."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MainStream" access="readOnly">
        <description>
          AV stream object instance associated with this AV player that is
          being sent to the main screen, or {{empty}} if not associated with an
          AV stream object. For example: ''.AVStreams.AVStream.2''
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".AVStreams.AVStream."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PIPStreams" access="readOnly">
        <description>
          AV stream object instances associated with this AV player that are
          being displayed as Picture In Picture (PIP), or {{empty}} if not
          associated with any PIP AV stream objects. For example:

          * ''.AVStreams.AVStream.2''

          * ''.AVStreams.AVStream.2,.AVStreams.AVStream.3''
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetParent=".AVStreams.AVStream."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Records events and collects QoS / QoE related statistics for Main AV
        streams. These statistics are broken down into categories, e.g.
        de-jittering and RTP, and for each category there are two types of
        statistics:

        * '''Total''' statistics, which count the number of occurrences of
          something.

        * '''Sample''' statistics, which are measured over a sample interval,
          and are made available to the ACS as a list of the most recent n
          samples. Total statistics are always collected (collection cannot be
          disabled, but the values can be reset). For Sample statistics, an STB
          uses a single sample interval and number of samples (n) for all
          {{object|MainStream}} instances. The sample interval can be aligned
          with absolute time. When Sample statistics collection is enabled,
          statistics collection MUST proceed regardless of whether there are
          any active Main AV streams. For example, even when the STB is not
          receiving any data, sample intervals will continue to be timed as
          normal. Refer to {{bibref|TR-135|I.3}} for non-normative explanation
          of the operation of the ''ServiceMonitoring'' object.
      </description>

      <parameter name="SampleEnable" access="readWrite">
        <description>
          Enables or disables collection of Sample statistics. When collection
          of Sample statistics is enabled, any stored samples are discarded,
          and the first sample interval begins immediately.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SampleState" access="readOnly">
        <description>
          Indicates availability of Sample statistics. {{enum}} The
          {{enum|Trigger}} value is only used for triggering the ACS to fetch
          the collected data and can only be used when {{param|FetchSamples}}
          is in the range [1:{{param|ReportSamples}}]. The transition from
          {{enum|Enabled}} -&gt; {{enum|Trigger}} -&gt; {{enum|Enabled}} MUST
          be instantaneous and so will result in only a single value change for
          notification purposes.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled">
              <description>Collection is disabled</description>
            </enumeration>
            <enumeration value="Enabled">
              <description>Collection is enabled</description>
            </enumeration>
            <enumeration value="Trigger">
              <description>
                Collection is enabled and the ACS should now fetch the
                collected data
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="SampleInterval" access="readWrite">
        <description>
          The sample interval in {{units}}. Each statistic is measured over
          this sample interval. The STB MAY reject a request to set {{param}}
          to less than
          {{param|.Capabilities.ServiceMonitoring.MinSampleInterval}}. Sample
          intervals MUST begin every {{param}} seconds, with no delay between
          samples. If {{param}} is changed while collection of Sample
          statistics is enabled, any stored samples are discarded, and the
          first sample interval begins immediately. For example, if
          {{param|ReportSamples}} is 24 and {{param}} is 3600 (an hour), the
          STB can store up to a day's worth of samples for each statistic.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReportSamples" access="readWrite">
        <description>
          The number of samples that the STB can store and report for each
          statistic. The STB MUST permit {{param}} to be set to any value in
          the range from 1 to
          {{param|.Capabilities.ServiceMonitoring.MaxReportSamples}}. If
          {{param}} is changed while collection of Sample statistics is
          enabled, the STB will truncate or extend its statistics buffers as
          appropriate, but statistics collection MUST NOT otherwise be
          affected. For example, if {{param}} is 24 and
          {{param|SampleInterval}} is 3600 (an hour), the STB can store up to a
          day's worth of samples for each statistic.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FetchSamples" access="readWrite">
        <description>
          If collection of Sample statistics is enabled and {{param}} is in the
          range [1:{{param|ReportSamples}}] then {{param|SampleState}} MUST
          transition from {{enum|Enabled|SampleState}} -&gt;
          {{enum|Trigger|SampleState}} -&gt; {{enum|Enabled|SampleState}} on
          completion of every {{param}} sample intervals. Otherwise, this
          transition MUST NOT occur. For example, if {{param|ReportSamples}} is
          25 and {{param}} is 24, then the STB will store 25 values for each
          statistic and the above {{param|SampleState}} transition will occur
          every 24 sample intervals, which means that the ACS could delay for
          up to two sample intervals before reading the stored values and would
          still not miss any samples (see also {{param|ForceSample}}).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TimeReference" access="readWrite">
        <description>
          An absolute time reference in UTC to determine when sample intervals
          will complete. Each sample interval MUST complete at this reference
          time plus or minus an integer multiple of {{param|SampleInterval}}.
          This time reference also determines when the {{param|SampleState}}
          {{enum|Enabled|SampleState}} -&gt; {{enum|Trigger|SampleState}} -&gt;
          {{enum|Enabled|SampleState}} transitions that are controlled by
          {{param|FetchSamples}} will occur. If collection of Sample statistics
          is enabled and {{param|FetchSamples}} is in the range
          [1:{{param|ReportSamples}}] then each such {{param|SampleState}}
          transition MUST occur at this reference time plus or minus an integer
          multiple of {{param|FetchSamples}} * {{param|SampleInterval}} (the
          fetch interval). {{param}} is used only to set the "phase" of the
          sample and fetch intervals. The actual value of {{param}} can be
          arbitrarily far into the past or future. If {{param}} is changed
          while collection of Sample statistics is enabled, any stored samples
          are discarded, and the first sample interval begins immediately. The
          Unknown Time value defined in {{bibref|TR-106a1}} indicates that no
          particular time reference is specified. That is, the STB MAY locally
          choose the time reference, and is required only to adhere to the
          specified sample and fetch intervals. If absolute time is not
          available to the STB, its sample and fetch interval behavior MUST be
          the same as if the {{param}} parameter was set to the Unknown Time
          value. For example, if {{param|SampleInterval}} is 3600 (an hour) and
          if {{param}} is set to UTC midnight on some day (in the past,
          present, or future) then sample intervals will complete on each UTC
          hour (00:00, 01:00, 02:00 etc). If, in addition,
          {{param|FetchSamples}} is 24, then the fetch interval is 86400 (a
          day) and {{param|SampleState}} {{enum|Enabled|SampleState}} -&gt;
          {{enum|Trigger|SampleState}} -&gt; {{enum|Enabled|SampleState}}
          transitions will occur every day at UTC midnight. Note that, if
          {{param}} is set to a time other than the Unknown Time, the first
          sample interval (which has to begin immediately) will almost
          certainly be shorter than {{param|SampleInterval}}). This is why
          {{param}} is defined in terms of when sample intervals complete
          rather than start.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ForceSample" access="readWrite">
        <description>
          When set to {{true}}, forces statistics for the current sample to be
          calculated and updated in the data model. Setting it to {{false}} has
          no effect. The value is not saved in device state and is always
          {{false}} when read. If this is the first time that {{param}} has
          been set to true during the current sample interval, this MUST cause
          a new value to be added to each of the Sample statistics
          comma-separated list parameters, and the {{param|ReportEndTime}} and
          all ''SampleSeconds'' parameters MUST be updated accordingly. If this
          is not the first time that {{param}} has been set to {{true}} during
          the current sample interval, then the new values that were added as
          described in the previous paragraph, and the {{param|ReportEndTime}}
          and all ''SampleSeconds'' parameters, MUST be updated accordingly.
          Note that {{param}} just provides a ''sneak preview'' of the current
          sample. It does not create a new sample and it does not interfere
          with the sample interval schedule. At the end of each sample
          interval, if {{param}} was set to {{true}} during the sample interval
          then the new values that were added as described above, and the
          {{param|ReportEndTime}} and all ''SampleSeconds'' parameters, will be
          updated accordingly. In other words, the partial sample data that was
          created when {{param}} was set to {{true}} will be updated one last
          time at the end of the sample interval.
        </description>
        <syntax>
          <list status="deleted"/>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ReportStartTime" access="readOnly">
        <description>
          The absolute time at which the sample interval for the first stored
          sample (for each statistic) started.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="ReportEndTime" access="readOnly">
        <description>
          The absolute time at which the sample interval for the last stored
          sample (for each statistic) ended. If {{param|ForceSample}} has been
          used to force statistics for the current sample to be calculated and
          updated in the data model, then {{param}} MUST be updated to reflect
          the actual time over which stored data was collected.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="MainStreamNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|MainStream}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EventsPerSampleInterval" access="readWrite">
        <description>
          The number of event measurements of each applicable statistic that
          the STB is able to store for each sample interval. The STB MUST
          permit {{param}} to be set to any value in the range from 1 to
          {{param|.Capabilities.ServiceMonitoring.MaxEventsPerSampleInterval}}.
          If {{param}} is changed while collection of Sample statistic is
          enabled, the STB will truncate or extend its event measurement
          buffers as appropriate, but event measurement collection MUST NOT
          otherwise be affected. For example, if {{param|ReportSamples}} is 24
          and {{param|SampleInterval}} is 3600 (an hour), and {{param}} is 60,
          the STB can store up 60 event measurements per hour, or in total 1440
          event measurements per day.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EventCollectionEnable" access="readWrite">
        <description>
          Enables or disables the collection of the events for all main
          streams. When the collection of events is enabled, any previously
          collected events are discarded and the collection of new events
          begins immediately.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.MainStream.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="MainStreamNumberOfEntries">
      <description>
        List of Main AV stream objects. Each instance is associated with a
        specified service type and will collect statistics only for the main
        stream that matches that service type. Note that this means that
        streams that do not match an instance's service type MUST NOT
        contribute to the instance's Total and Sample statistics. It is up to
        the STB to determine which AV stream should be regarded as the Main AV
        stream for a given service type at any given time. For example, if two
        active streams are associated with the same service type, the STB might
        prefer streams that are associated with an AV player, or if more than
        one stream is associated with an AV player, the STB might prefer a
        player that is outputting a DVI stream to a player that is outputting
        an RF stream. Note that some parameters, e.g.
        {{param|.Components.FrontEnd.{i}.IP.ServiceConnect.URI}}, include
        requirements that restrict the STB's freedom to determine which AV
        stream should be regarded as the Main AV stream for a given service.
      </description>
      <uniqueKey functional="false">
        <parameter ref="ServiceType"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables collection of Total and Sample statistics and
          events for this object instance. The collection of events requires
          the value of this parameter to be {{true}} and the value of the
          {{param|##.ServiceMonitoring.EventCollectionEnable}} to be {{true}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Total and Sample statistics and event collection status for this
          object instance. {{enum}} The {{enum|Error}} value MAY be used by the
          CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="ServiceType" access="readWrite">
        <description>
          Service type associated with this main stream instance, or {{empty}}
          if this instance is disabled. The STB MUST reject a request that
          would result in a given AV stream contributing to more than one
          {{object|.ServiceMonitoring.MainStream}} instance, e.g. it would
          reject a request to enable simultaneous collection of both IPTV and
          IP statistics, or to collect IPTV statistics on more than one
          instance.
        </description>
        <syntax>
          <string>
            <enumerationRef
                targetParam=".Capabilities.ServiceMonitoring.ServiceTypes"
                nullValue=""/>
          </string>
        </syntax>
      </parameter>

      <parameter name="AVStream" access="readOnly">
        <description>
          Main AV stream object instance currently associated with this
          ''ServiceMonitoring'' main stream instance. For example:
          ''.AVStreams.AVStream.2'' Note that, during the period of time over
          which Sample statistics are stored, this ''ServiceMonitoring'' main
          stream instance might be associated with many different ''AVStream''
          instances. This parameter just provides information about which
          ''AVStream'' is currently being monitored.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent=".AVStreams.AVStream."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Gmin" access="readWrite">
        <description>
          Minimum number of consecutive received packets after the end of an
          RTP Loss Event. A Loss Event is defined as as a sequence of lost
          packets, possibly including islands of received packets. Each island
          consists of up to ({{param}} - 1) received packets (a sequence of
          {{param}} received packets terminates the Loss Event, and so is not
          an island).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossMinDistance" access="readWrite">
        <description>
          The minimum distance required between error events before an RTP Loss
          Event is considered severe. Used in the calculation of
          ''SevereLossIndexCount'' and ''SevereLossIndexCountBeforeEC''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossMinLength" access="readWrite">
        <description>
          The minimum value for the count of lost packets per RTP Loss Event
          before the count of lost packets is considered severe. Used in the
          calculation of ''SevereLossLengthCount'' and
          ''SevereLossLengthCountBeforeEC''.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChannelChangeFailureTimeout" access="readWrite">
        <description>
          Time period, in {{units}}, between a user channel change request
          (defined as the instant of transmission of the relevant control
          protocol message (IGMP JOIN or RTSP SETUP) or a tuner command in case
          of DTT), and the display of the first I frame for the current
          AVStream, above which a channel change is considered as failed.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PacketsLostByEventHistogramIntervals"
          access="readWrite">
        <description>
          {{list}} Definition of the histogram intervals for counting loss
          events according to their size (in {{units}}). Each value indicates
          the maximum value of the interval. For example, "1,2,4,8," defines
          the five intervals: 1 packet lost, 2 packets, 3 or 4 packets, 5 to 8
          packets and 9 or more packets. (No value after the last comma means
          no upper bound.) If this parameter is set to an empty string, no
          PacketsLostByEvent stats will be collected.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenLossEventsHistogramIntervals"
          access="readWrite">
        <description>
          {{list}} Definition of the histogram intervals for counting loss
          events according to their delay (in {{units}}) after the preceding
          loss event. Each value indicates the maximum value of the interval.
          For example, "10,20,50,100,1000,60000,3600000," defines the intervals
          up to 10 ms, to 20 ms, to 50 ms, to 100 ms, to 1 s, to 1 mn, to 1 h
          and more than 1 h. (No value after the last comma means no upper
          bound.) If this parameter is set to an empty string, no
          DelayBetweenLossEvents stats will be collected.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DurationSevereLossEventsHistogramIntervals"
          access="readWrite">
        <description>
          {{list}} Definition of the histogram intervals for counting severe
          loss events according to their duration (in {{units}}). Each value
          indicates the maximum value of the interval. For example,
          "50,100,500,1000,2000,5000,10000,120000," defines the intervals up to
          50 ms, to 100 ms, to 500 ms, to 1 s, to 2 s etc. (No value after the
          last comma means no upper bound.) If this parameter is set to an
          empty string, no DurationSevereLossEvents stats will be collected.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="1"/>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SessionId" access="readOnly">
        <description>
          Time based UUID {{bibref|RFC4122|Section 4.2}} that is the identifier
          for the associated {{param|AVStream}} parameter when available to the
          device.
        </description>
        <syntax>
          <dataType ref="UUID"/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total statistics since this ''ServiceMonitoring'' main stream instance
        was last enabled or Total statistics were last reset.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than the
          {{param|ResetTime}}, for several reasons, including the STB was not
          receiving any data (Standby mode without force monitoring).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}}, resets Total statistics for this
          ''ServiceMonitoring'' main stream instance. Setting it to {{false}}
          has no effect. The value is not saved in device state and is always
          {{false}} when read.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ResetTime" access="readOnly" activeNotify="canDeny">
        <description>
          Number of seconds since the Total statistics were last enabled or
          reset for this ''ServiceMonitoring'' main stream instance.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.DejitteringStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total de-jittering statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * De-jittering data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Overruns" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of times the receive jitter buffer has overrun for this
          AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Underruns" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of times the receive jitter buffer has underrun for this
          AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EmptyBufferTime" access="readOnly">
        <description>
          Total time, in {{units}}, for which the playout was stopped due to
          buffer issues (empty or too low level) for this AV stream.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.TCPStats."
        access="readOnly" minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.DejitteringStats.">
      <description>
        Total TCP statistics for this ServiceMonitoring main stream instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * TCP data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of TCP packets correctly received for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsRetransmitted" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of TCP packets being retransmitted for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          Total number of bytes received for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total RTP statistics for this ''ServiceMonitoring'' main stream
        instance. If no EC is applied the ''BeforeEC'' statistics provide the
        same values as the corresponding statistics, e.g. when there is no EC,
        {{param|PacketsReceivedBeforeEC}} = {{param|PacketsReceived}}.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * RTP data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsExpected" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of RTP packets expected for this AV stream as described
          in {{bibref|RFC3550|A.3}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsDiscarded" access="readOnly">
        <description>
          Total number of packets discarded at the RTP layer for this AV stream
          because they were too late for playout, regardless of their being out
          of sequence or not. These statistics are collected when no EC is
          applied or after any EC if available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsOutOfSequence" access="readOnly">
        <description>
          Total number of packets out of sequence at the RTP level for this AV
          stream, regardless of their being too late for playout or not. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of RTP packets received for this AV stream. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceivedBeforeEC" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of RTP packets received for this AV stream. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLost" access="readOnly">
        <description>
          Total number of RTP packets lost for this stream. These statistics
          are collected when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLostBeforeEC" access="readOnly">
        <description>
          Total number of RTP packets lost for this stream. These statistics
          are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLostByEventHistogram" access="readOnly"
          dmr:previousParameter="PacketsLostBeforeEC">
        <description>
          {{list}} Total number of loss events counted by their length in
          packets (1 packet, 2 packets, etc.) according to the intervals
          defined by {{param|##.PacketsLostByEventHistogramIntervals}}. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossEvents" access="readOnly">
        <description>
          Total number of Loss Events for this stream. These statistics are
          collected when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossEventsBeforeEC" access="readOnly">
        <description>
          Total number of Loss Events for this stream. These statistics are
          collected before any EC, if available, is applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenLossEventsHistogram" access="readOnly"
          dmr:previousParameter="LossEventsBeforeEC">
        <description>
          {{list}} Total number of times that the delay (in milliseconds)
          between two consecutive loss events belongs to each time interval
          defined by {{param|##.DelayBetweenLossEventsHistogramIntervals}}.
          These statistics are collected when no EC is applied or after any EC
          if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossIndexCount" access="readOnly">
        <description>
          Total number of Loss Events closer than ''SevereLossMinDistance''.
          These statistics are collected when no EC is applied or after any EC
          if available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossIndexCountBeforeEC" access="readOnly">
        <description>
          Total number of Loss Events closer than ''SevereLossMinDistance''.
          These statistics are collected before any EC, if available, is
          applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossLengthCount" access="readOnly">
        <description>
          Total number of Loss Events longer than ''SevereLossMinLength''.
          These statistics are collected when no EC is applied or after any EC
          if available.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossLengthCountBeforeEC" access="readOnly">
        <description>
          Total number of Loss Events longer than ''SevereLossMinLength''.
          These statistics are collected before any EC, if available, is
          applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DurationSevereLossEventsHistogram" access="readOnly"
          dmr:previousParameter="SevereLossLengthCountBeforeEC">
        <description>
          {{list}} Total number of severe loss events counted by their duration
          (in milliseconds) according to the intervals defined by
          {{param|##.DurationSevereLossEventsHistogramIntervals}}. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RetransmitTimeouts" access="readOnly">
        <description>
          Total number of RTP/AVPF retransmission timeouts ({{bibref|RFC4585}},
          {{bibref|RFC4588}}) If RTP/AVPF is not used this parameter does not
          increment
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLostByEventHistogramBeforeEC" access="readOnly">
        <description>
          {{list}} Total number of loss events counted by their length in
          packets (1 packet, 2 packets, etc.) according to the intervals
          defined by {{param|##.PacketsLostByEventHistogramIntervals}}. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenLossEventsHistogramBeforeEC"
          access="readOnly">
        <description>
          {{list}} Total number of times that the delay (in milliseconds)
          between two consecutive loss events belongs to each time interval
          defined by {{param|##.DelayBetweenLossEventsHistogramIntervals}}.
          These statistics are collected before any EC, if available, is
          applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DurationSevereLossEventsHistogramBeforeEC"
          access="readOnly">
        <description>
          {{list}} Total number of severe loss events counted by their duration
          (in milliseconds) according to the intervals defined by
          {{param|##.DurationSevereLossEventsHistogramIntervals}}. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.MPEG2TSStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total MPEG2-TS statistics for this ''ServiceMonitoring'' main stream
        instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * MPEG2 TS data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          Total number of MPEG2-TS packets received for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSSyncByteErrorCount" access="readOnly">
        <description>
          Total number of MPEG2-TS packets with an invalid transport sync byte
          received for this AV stream. Not meaningful when MPEG2-TS is
          transported over IP.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSSyncLossCount" access="readOnly">
        <description>
          Total number of MPEG2-TS Loss of Synchronization Events for this AV
          stream. Not meaningful when MPEG2-TS is transported over IP.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketDiscontinuityCounter" access="readOnly">
        <description>
          Total number of MPEG2-TS Discontinuity errors that have been captured
          for this AV stream. This parameter accumulates all of the
          discontinuities observed for all currently monitored PIDs. These
          statistics are collected when no CA decryption scheme is in use or
          after any CA decryption if in use.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketDiscontinuityCounterBeforeCA" access="readOnly">
        <description>
          Total number of MPEG2-TS Discontinuity errors that have been captured
          for this AV stream. This parameter accumulates all of the
          discontinuities observed for all currently monitored PIDs. These
          statistics are collected before any CA decryption scheme, if used, is
          applied.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoDecoderStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total video decoder application layer statistics for this
        ''ServiceMonitoring'' main stream instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * Video Decoder data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FrameRate" access="readOnly">
        <description>
          The latest frame rate at which the STB played out the video content
          for this AV stream. Also the reported rate will be rounded off to the
          nearest integer.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecodedFrames" access="readOnly" activeNotify="canDeny">
        <description>
          The number of video frames that were decoded completely (errorless
          frames) or partially (corrupted frames) for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LostFrames" access="readOnly">
        <description>
          The number of video frames that could not be reproduced by the STB
          for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ConcealedFrames" access="readOnly">
        <description>
          The number of video frames that were reproduced by the STB for which
          some information was missing and loss concealment was applied for
          this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IDecodedFrames" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of I frames that were decoded completely (errorless
          frames) or partially (corrupted frames) for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ILostFrames" access="readOnly">
        <description>
          The number of I frames that could not be reproduced by the STB for
          this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IConcealedFrames" access="readOnly">
        <description>
          The number of I frames that were reproduced by the STB for which some
          information was missing and loss concealment applied for this AV
          stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PDecodedFrames" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of P frames that were decoded completely (errorless
          frames) or partially (corrupted frames) for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PLostFrames" access="readOnly">
        <description>
          The number of P frames that could not be reproduced by the STB for
          this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PConcealedFrames" access="readOnly">
        <description>
          The number of P frames that were reproduced by the STB for which some
          information was missing and loss concealment applied for this AV
          stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BDecodedFrames" access="readOnly"
          activeNotify="canDeny">
        <description>
          The number of B frames that were decoded completely (errorless
          frames) or partially (corrupted frames) for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BLostFrames" access="readOnly">
        <description>
          The number of B frames that could not be reproduced by the STB for
          this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BConcealedFrames" access="readOnly">
        <description>
          The number of B frames that were reproduced by the STB for which some
          information was missing and loss concealment applied for this AV
          stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AVResynchCounter" access="readOnly">
        <description>
          The number of AV resynchronizations that were performed by the STB
          for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.AudioDecoderStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total audio decoder application layer statistics for this
        ''ServiceMonitoring'' main stream instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * Audio Decoder data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecodedFrames" access="readOnly" activeNotify="canDeny">
        <description>
          The number of audio frames that were decoded completely (errorless
          frames) or partially (corrupted frames) for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecodingErrors" access="readOnly">
        <description>
          The number of audio decoding errors detected for this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoResponseStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Total video response statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="TotalSeconds" access="readOnly"
          dmr:previousParameter="">
        <description>
          The number of seconds during which data was collected for this AV
          stream since last reset Each statistics category (Dejittering, RTP
          etc) has its own {{param}} parameter, which indicates the number of
          seconds during which data was collected for that statistics category
          since last reset. Individual {{param}} values can be less than
          {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}, for
          several reasons, including:

          * Any of the reasons for which the {{param}} values might be less
            than {{param|.ServiceMonitoring.MainStream.{i}.Total.ResetTime}}.

          * Video response data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MinimumVideoSystemResponse" access="readOnly">
        <description>
          Minimum time period (in {{units}}) between the instant of
          transmitting an IGMP JOIN command or an RTSP SETUP command, and the
          display of the first I frame for this AV stream.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumVideoSystemResponse" access="readOnly">
        <description>
          Maximum time period (in {{units}}) between the instant of
          transmitting an IGMP JOIN command or an RTSP SETUP command, and the
          display of the first I frame for this AV stream.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelChangeFailures" access="readOnly">
        <description>
          Number of channel change failures. A channel change is considered as
          failed when the time period between a user channel change request and
          the display of the first I frame for this AVStream is above
          {{param|.ServiceMonitoring.MainStream.{i}.ChannelChangeFailureTimeout}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChannelFailures" access="readOnly">
        <description>
          Each entry represents a channel for which a channel change failed.
          Channels MAY be described as IP address, URL or Service names as
          appropriate. Only last 10 failures are required to be reported.
        </description>
        <syntax>
          <list maxItems="10"/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MinimumVoDControlResponse" access="readOnly">
        <description>
          Minimum time period, in {{units}}, between the instant of
          transmitting a RTSP PLAY command to start playing stream, and
          displaying the first I frame of unicast stream. Only measured when
          started from a non-play state, i.e. either idle or paused.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumVoDControlResponse" access="readOnly">
        <description>
          Maximum time period, in {{units}}, between the instant of
          transmitting a RTSP PLAY command to start playing stream, and
          displaying the first I-frame of unicast stream. Only measured when
          started from a non-play state, i.e. either idle or paused.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RequestedTransactions" access="readOnly">
        <description>
          Total number of RTSP protocol requests to start a VoD program
          display. Only meaningful for VoD.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AccessSuccesses" access="readOnly">
        <description>
          Total number of successful VoD attempts. An attempt is considered
          successful when the first I-frame is displayed by the client. Only
          meaningful for VoD.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CompletionCount" access="readOnly">
        <description>
          Total number of completed VoD requests. An attempt is defined
          successful if it continues until a RTSP protocol request to end the
          session is sent by the STB. Only meaningful for VoD.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Sample statistics collected since collection was last enabled or reset.
        Most of the parameters in this object are comma-separated lists of
        individual statistics values, each of which corresponds to a sample
        interval. The statistics values in these comma-separated lists MUST be
        in time order, with the oldest one first and the most recent one last.
        Each comma-separated list can contain up to {{param|##.ReportSamples}}
        statistics values. When the list is full, each new value causes the
        oldest one to be discarded. Some comma-separated lists contain terms
        that are comma-separated lists themselves and are used to store
        measurements on an event basis. These sub-lists can contain up to
        {{param|.Capabilities.ServiceMonitoring.MaxEventsPerSampleInterval}}
        values. If no data was collected for a statistic during a sample
        interval then the value for that sample interval MUST be zero unless
        otherwise specified in the description of the individual statistics
        parameter.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which data was collected
          for this AV stream during the sample interval. Each statistics
          category (Dejittering, RTP etc) has its own ''SampleSeconds''
          parameter, which indicates the number of seconds during which data
          was collected for that statistics category during the sample
          interval. Individual ''SampleSeconds'' values can be less than the
          ''SampleInterval'', for several reasons, including:

          * The STB was not receiving any data for the corresponding
            ServiceType for all or part of the sample interval.

          * ''TimeReference'' has been set to a time other than the Unknown
            Time and the current sample interval started part of the way
            through a scheduled sample interval.

          * ''ForceSample'' has been used to force statistics for the current
            sample to be calculated and updated in the data model.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignificantChanges" access="readOnly">
        <description>
          Each entry is the total number of times that a channel change (or
          other potentially disruptive event) occurred for this AV stream
          during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PVRTimeShift" access="readOnly">
        <description>
          Each entry is a Boolean that indicates whether the PVR, with a
          non-zero time-shift, was used at any time for this AV stream during
          the sample interval.
        </description>
        <syntax>
          <list/>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="HighLevelMetricStatsNumberOfEntries" access="readOnly">
        <description>
          Number of {{object|HighLevelMetricStats}} instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.DejitteringStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        De-jittering Sample statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which de-jittering data
          was collected for this AV stream during the sample interval.
          Individual {{param}} values can be less than the sample interval, for
          several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * De-jittering data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Overruns" access="readOnly">
        <description>
          Each entry is the total number of times the receive jitter buffer has
          overrun for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Underruns" access="readOnly">
        <description>
          Each entry is the total number of times the receive jitter buffer has
          underrun for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EmptyBufferTime" access="readOnly">
        <description>
          Each entry is the time period, in {{units}}, for which the playout
          was stopped due to buffer issues (empty or too low level) for this AV
          stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.TCPStats."
        access="readOnly" minEntries="1" maxEntries="1"
        dmr:previousObject="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.DejitteringStats.">
      <description>
        TCP sample statistics for this ''ServiceMonitoring'' main stream
        instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which de-jittering data
          was collected for this AV stream during the sample interval.
          Individual {{param}} values can be less than the sample interval, for
          several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * TCP data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          Each entry is the total number of TCP packets received for this AV
          stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsRetransmitted" access="readOnly">
        <description>
          Each entry is the total number of TCP packets being retransmitted
          this AV stream.during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          Each entry is the total number of bytes received for this AV
          stream.during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        RTP Sample statistics for this ''ServiceMonitoring'' main stream
        instance. If no EC is applied the ''BeforeEC'' statistics provide the
        same values as the corresponding statistics, e.g. when there is no EC,
        {{param|PacketsReceivedBeforeEC}} = {{param|PacketsReceived}}.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which RTP data was
          collected for this AV stream during the sample interval. Individual
          {{param}} values can be less than the sample interval, for several
          reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * RTP data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PacketsExpected" access="readOnly">
        <description>
          Each entry is the total number of RTP packets expected for this AV
          stream during the sample interval as described in
          {{bibref|RFC3550|A.3}}.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsDiscarded" access="readOnly">
        <description>
          Each entry is the number of packets that were discarded at the RTP
          layer for this AV stream during the sample interval because they were
          too late for playout, regardless of their being out of sequence or
          not. These statistics are collected when no EC is applied or after
          any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsOutOfSequence" access="readOnly">
        <description>
          Each entry is the number of packets out of sequence at the RTP level
          for this AV stream during the sample interval, regardless of their
          being too late for playout or not. These statistics are collected
          when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          Each entry is the total number of RTP packets received for this AV
          stream during the sample interval. These statistics are collected
          when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceivedBeforeEC" access="readOnly">
        <description>
          Each entry is the total number of RTP packets received for this AV
          stream during the sample interval. These statistics are collected
          before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RetransmitTimeouts" access="readOnly">
        <description>
          Each entry is the number of RTP/AVPF retransmission timeouts
          ({{bibref|RFC4585}}, {{bibref|RFC4588}}) for this AV stream during
          the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLost" access="readOnly">
        <description>
          Each entry is the total number of RTP packets lost for this AV stream
          during the sample interval. Calculated by looking for missing RTP
          sequence headers. These statistics are collected when no EC is
          applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLostBeforeEC" access="readOnly">
        <description>
          Each entry is the total number of RTP packets lost for this AV stream
          during the sample interval. Calculated by looking for missing RTP
          sequence headers. These statistics are collected before any EC, if
          available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsLostByEventHistogram" access="readOnly"
          dmr:previousParameter="PacketsLostBeforeEC">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of loss
          events counted by their length in packets (1 packet, 2 packets, etc.)
          according to the intervals defined by
          {{param|##.PacketsLostByEventHistogramIntervals}}. These statistics
          are collected when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="LossEvents" access="readOnly">
        <description>
          Each entry is the total number of Loss Events for this AV stream
          during the sample interval. These statistics are collected when no EC
          is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LossEventsBeforeEC" access="readOnly">
        <description>
          Each entry is the total number of Loss Events for this AV stream
          during the sample interval. These statistics are collected before any
          EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenLossEventsHistogram" access="readOnly"
          dmr:previousParameter="LossEventsBeforeEC">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of the
          number of times that the delay (in milliseconds) between two
          consecutive loss events belongs to each time interval defined by
          {{param|##.DelayBetweenLossEventsHistogramIntervals}}. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SevereLossIndexCount" access="readOnly">
        <description>
          Each entry is the total number of Loss Events that occurred at a
          distance shorter than ''SevereLossMinDistance'' from the previous
          Loss Event for this AV stream during the sample interval. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossIndexCountBeforeEC" access="readOnly">
        <description>
          Each entry is the total number of Loss Events that occurred at a
          distance shorter than ''SevereLossMinDistance'' from the previous
          Loss Event for this AV stream during the sample interval. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AverageLossDistance" access="readOnly">
        <description>
          Each entry is the average distance in {{units}} between consecutive
          Loss Events for this AV stream during the sample interval. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AverageLossDistanceBeforeEC" access="readOnly">
        <description>
          Each entry is the average distance in {{units}} between consecutive
          loss events for this AV stream during the sample interval. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumLossDistance" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the shortest distance
          between consecutive Loss Events for this AV stream during the sample
          interval. These statistics are collected when no EC is applied or
          after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumLossDistanceBeforeEC" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the shortest distance
          between consecutive Loss Events for this AV stream during the sample
          interval. These statistics are collected before any EC, if available,
          is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SevereLossLengthCount" access="readOnly">
        <description>
          Each entry is the total number of Loss Events with length in RTP
          packets greater than ''SevereLossMinLength'' for this AV stream
          during the sample interval. These statistics are collected when no EC
          is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SevereLossLengthCountBeforeEC" access="readOnly">
        <description>
          Each entry is the total number of Loss Events with length in RTP
          packets greater than ''SevereLossMinLength'' for this AV stream
          during the sample interval. These statistics are collected before any
          EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DurationSevereLossEventsHistogram" access="readOnly"
          dmr:previousParameter="SevereLossLengthCountBeforeEC">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of the
          number of severe loss events counted by their duration (in
          milliseconds) according to the intervals defined by
          {{param|##.DurationSevereLossEventsHistogramIntervals}}. These
          statistics are collected when no EC is applied or after any EC if
          available.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="MaximumLossPeriod" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the longest Loss Event for
          this AV stream during the sample interval. These statistics are
          collected when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumLossPeriodBeforeEC" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the longest Loss Event for
          this AV stream during the sample interval. These statistics are
          collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AverageLossPeriod" access="readOnly">
        <description>
          Each entry is the average length in {{units}} of Loss Events for this
          AV stream during the sample interval. These statistics are collected
          when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AverageLossPeriodBeforeEC" access="readOnly">
        <description>
          Each entry is the average length in {{units}} of Loss Events for this
          AV stream during the sample interval. These statistics are collected
          before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumLossPeriod" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the shortest RTP Loss Event
          for this AV stream during the sample interval. These statistics are
          collected when no EC is applied or after any EC if available.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumLossPeriodBeforeEC" access="readOnly">
        <description>
          Each entry is the length in {{units}} of the shortest RTP Loss Event
          for this AV stream during the sample interval. These statistics are
          collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="RTP packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PacketsLostByEventHistogramBeforeEC" access="readOnly">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of loss
          events counted by their length in packets (1 packet, 2 packets, etc.)
          according to the intervals defined by
          {{param|##.PacketsLostByEventHistogramIntervals}}. These statistics
          are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DelayBetweenLossEventsHistogramBeforeEC"
          access="readOnly">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of the
          number of times that the delay (in milliseconds) between two
          consecutive loss events belongs to each time interval defined by
          {{param|##.DelayBetweenLossEventsHistogramIntervals}}. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DurationSevereLossEventsHistogramBeforeEC"
          access="readOnly">
        <description>
          {{list}} Each list item is a comma-separated list of unsigned
          integers that represents, for a sample interval, a histogram of the
          number of severe loss events counted by their duration (in
          milliseconds) according to the intervals defined by
          {{param|##.DurationSevereLossEventsHistogramIntervals}}. These
          statistics are collected before any EC, if available, is applied.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.MPEG2TSStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        MPEG2-TS Sample statistics for this ''ServiceMonitoring'' main stream
        instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which MPEG2-TS data was
          collected for this AV stream during the sample interval. Individual
          {{param}} values can be less than the sample interval, for several
          reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * MPEG2-TS data collection is not appropriate or possible for this AV
            stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TSPacketsReceived" access="readOnly">
        <description>
          Each entry is the total number of MPEG2-TS packets received for this
          AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSPacketsDrained" access="readOnly">
        <description>
          Each entry is the total number of good MPEG2-TS packets removed from
          the buffer for this AV stream during the sample interval. Packets
          received minus packets drained provides an indication how close the
          buffer came to over or under running during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSSyncByteErrorCount" access="readOnly">
        <description>
          Each entry is the total number of MPEG2-TS packets with an invalid
          transport sync byte for this AV stream during the sample interval.
          Not meaningful when MPEG2-TS is transported over IP.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TSSyncLossCount" access="readOnly">
        <description>
          Each entry is the total number of MPEG2-TS Loss of Synchronization
          Events for this AV stream during the sample interval. Not meaningful
          when MPEG2-TS is transported over IP.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketDiscontinuityCounter" access="readOnly">
        <description>
          Each entry is the total number of MPEG2-TS Discontinuity errors that
          were captured for this AV stream during the sample interval. These
          statistics are collected when no CA decryption scheme is in use or
          after any CA decryption if in use.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketDiscontinuityCounterBeforeCA" access="readOnly">
        <description>
          Each entry is the total number of MPEG2-TS Discontinuity errors that
          were captured for this AV stream during the sample interval. These
          statistics are collected before any CA decryption scheme, if used, is
          applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoDecoderStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Video decoder Sample statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which video decoder data
          was collected for this AV stream during the sample interval.
          Individual {{param}} values can be less than the sample interval, for
          several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * Video Decoder data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FrameRate" access="readOnly">
        <description>
          Each entry is the last frame rate at which the STB played out the
          video content for this AV stream during the sample interval. . Also
          the reported rate will be rounded off to the nearest integer.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecodedFrames" access="readOnly">
        <description>
          Each entry is the number of video frames that were decoded completely
          (errorless frames) or partially (corrupted frames) by the STB for
          this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="LostFrames" access="readOnly">
        <description>
          Each entry is the number of video frames that could not be reproduced
          by the STB for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ConcealedFrames" access="readOnly">
        <description>
          Each entry is the number of video frames that were reproduced by the
          STB for which some information was missing for this AV stream during
          the sample interval and loss concealment was applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IDecodedFrames" access="readOnly">
        <description>
          Each entry is the number of I frames that were decoded completely
          (errorless frames) or partially (corrupted frames) by the STB for
          this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ILostFrames" access="readOnly">
        <description>
          Each entry is the number of I frames that could not be reproduced by
          the STB for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IConcealedFrames" access="readOnly">
        <description>
          Each entry is the number of I frames that were reproduced by the STB
          for which some information was missing for this AV stream during the
          sample interval and loss concealment applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PDecodedFrames" access="readOnly">
        <description>
          Each entry is the number of P frames that were decoded completely
          (errorless frames) or partially (corrupted frames) by the STB for
          this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PLostFrames" access="readOnly">
        <description>
          Each entry is the number of P frames that could not be reproduced by
          the STB for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PConcealedFrames" access="readOnly">
        <description>
          Each entry is the number of P frames that were reproduced by the STB
          for which some information was missing for this AV stream during the
          sample interval and loss concealment applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BDecodedFrames" access="readOnly">
        <description>
          Each entry is the number of B frames that were decoded completely
          (errorless frames) or partially (corrupted frames) by the STB for
          this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BLostFrames" access="readOnly">
        <description>
          Each entry is the number of B frames that could not be reproduced by
          the STB for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BConcealedFrames" access="readOnly">
        <description>
          Each entry is the number of B frames that were reproduced by the STB
          for which some information was missing for this AV stream during the
          sample interval and loss concealment applied.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AVResynchCounter" access="readOnly">
        <description>
          Each entry is the number of AV resynchronizations that were performed
          by the STB for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.AudioDecoderStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Audio decoder Sample statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which audio decoder data
          was collected for this AV stream during the sample interval.
          Individual {{param}} values can be less than the sample interval, for
          several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * Audio decoder data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DecodedFrames" access="readOnly">
        <description>
          Each entry is the number of audio frames that were decoded completely
          (errorless frames) or partially (corrupted frames) by the STB for
          this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DecodingErrors" access="readOnly">
        <description>
          Each entry is the number of audio decoding errors detected by the STB
          for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoResponseStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Video response Sample statistics for this ''ServiceMonitoring'' main
        stream instance.
      </description>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which video response data
          was collected for this AV stream during the sample interval.
          Individual {{param}} values can be less than the sample interval, for
          several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * Video response data collection is not appropriate or possible for
            this AV stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AverageVideoSystemResponse" access="readOnly">
        <description>
          Each entry is the time period (in {{units}}) between the instant of
          transmitting an IGMP JOIN or an RTSP SETUP command and the display of
          the first I frame, computed as the average of the VideoSystemResponse
          events that occured for this AV stream during the sample interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumVideoSystemResponse" access="readOnly">
        <description>
          Each entry is the minimum time period (in {{units}}) between the
          instant of transmitting an IGMP JOIN or an RTSP SETUP command and the
          display of the first I frame for this AV stream during the sample
          interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumVideoSystemResponse" access="readOnly">
        <description>
          Each entry is the maximum time period (in {{units}}) between the
          instant of transmitting an IGMP JOIN or an RTSP SETUP command and the
          display of the first I frame for this AV stream during the sample
          interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AverageVoDControlResponse" access="readOnly">
        <description>
          Each entry is the time period, in {{units}}, between the instant of
          transmitting a RTSP PLAY command to start playing stream, and
          displaying the first I-frame of unicast stream, computed as the
          average of the VoDControlResponse events that occured for this AV
          stream during the sample interval. Only measured when started from a
          non-play state, i.e. either idle or paused.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumVoDControlResponse" access="readOnly">
        <description>
          Each entry is the minimum time period, in {{units}}, between the
          instant of transmitting a RTSP PLAY command to start playing stream,
          and displaying the first I-frame of unicast stream. Only measured
          when started from a non-play state, i.e. either idle or paused.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumVoDControlResponse" access="readOnly">
        <description>
          Each entry is the maximum time period, in {{units}}, between the
          instant of transmitting a RTSP PLAY command to start playing stream,
          and displaying the first I-frame of unicast stream. Only measured
          when started from a non-play state, i.e. either idle or paused.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="VoDControlResponse" access="readOnly">
        <description>
          Each entry is a colon separated list of time periods in milliseconds
          between the instant of transmitting a RTSP PLAY command to start
          playing stream, and displaying the first I-frame of unicast stream.
          Only measured when started from a non-play state, i.e. either idle or
          paused. A comma separates measurements made in different sample
          intervals, while a colon separates individual measurements within a
          specific sample interval. If no VoDControlResponse measurements were
          made during a specific sample interval then this MUST be represented
          by an empty string. Example: ,837:453:1234,759,,,923:698,,,1284 Here
          there were no measurements during first sample interval, three during
          the second, one during the third, etc. The statistics values in this
          list MUST be in time order, with the oldest one first and the most
          recent one last. This applies both to sample intervals and to
          individual measurements during a specific sample interval.
          {{nopattern}}
        </description>
        <syntax>
          <list/>
          <string>
            <pattern value="(\d+(:\d+)*)?">
              <description>{{nopattern}}</description>
            </pattern>
          </string>
        </syntax>
      </parameter>

      <parameter name="VideoSystemResponse" access="readOnly">
        <description>
          Each entry is a colon separated list of time periods in milliseconds
          between the instant of transmitting an IGMP JOIN or an RTSP SETUP
          command and the display of the first I frame that occurred for this
          AV stream during the sample interval. A comma separates measurements
          made in different sample intervals, while a colon separates
          individual measurements within a specific sample interval. If no
          VideoSystemResponse measurements were made during a specific sample
          interval then this MUST be represented by an empty string. Example:
          ,837:453:1234,759,,,923:698,,,1284 Here there were no measurements
          during first sample interval, three during the second, one during the
          third, etc. The statistics values in this list MUST be in time order,
          with the oldest one first and the most recent one last. This applies
          both to sample intervals and to individual measurements during a
          specific sample interval. {{nopattern}}
        </description>
        <syntax>
          <list/>
          <string>
            <pattern value="(\d+(:\d+)*)?">
              <description>{{nopattern}}</description>
            </pattern>
          </string>
        </syntax>
      </parameter>

      <parameter name="RequestedTransactions" access="readOnly">
        <description>
          Each entry is the number of RTSP protocol requests to start a VoD
          program display during the sample interval. Only meaningful for VoD.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AccessSuccesses" access="readOnly">
        <description>
          Each entry is the number of successful VoD attempts during the sample
          interval. An attempt is considered successful when the first I-frame
          is displayed by the client. Only meaningful for VoD.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CompletionCount" access="readOnly">
        <description>
          Each entry is the number of completed VoD requests during the sample
          interval. An attempt is defined successful if it continues until a
          RTSP protocol request to end the session is sent by the STB. Only
          meaningful for VoD.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ChannelChangeFailures" access="readOnly">
        <description>
          Each entry is the number of channel change failures. A channel change
          is considered as failed when the time period between a user channel
          change request and the display of the first I frame for this AVStream
          is above
          {{param|.ServiceMonitoring.MainStream.{i}.ChannelChangeFailureTimeout}}.
        </description>
        <syntax>
          <list/>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="HighLevelMetricStatsNumberOfEntries">
      <description>
        High-level metric Sample statistics for this ''ServiceMonitoring'' main
        stream instance. One or more different high-level metrics can be
        supported; this is specified by
        {{param|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStatsNumberOfEntries}}.
      </description>
      <uniqueKey>
        <parameter ref="MetricName"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite" dmr:previousParameter="">
        <description>
          Enables or disables this Metric instance.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly"
          dmr:previousParameter="Enable">
        <description>
          The status of this Metric instance. {{enum}} The {{enum|Error}} value
          MAY be used by the CPE to indicate a locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

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

      <parameter name="MetricName" access="readOnly">
        <description>
          Indicates a unique identifier for this high-level metric.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <enumerationRef
                targetParam=".Capabilities.ServiceMonitoring.HighLevelMetricNames"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Metric1Threshold" access="readWrite">
        <description>
          This parameter is DEPRECATED and replaced by the
          {{param|MetricThreshold}} parameter and, if needed, several instances
          of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Metric2Threshold" access="readWrite">
        <description>
          This parameter is DEPRECATED and replaced by the
          {{param|MetricThreshold}} parameter and, if needed, several instances
          of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SampleSeconds" access="readOnly">
        <description>
          Each entry is the number of seconds during which this high-level
          metric's data was collected for this AV stream during the sample
          interval. Individual {{param}} values can be less than the sample
          interval, for several reasons, including:

          * Any of the reasons for which the
            {{param|.ServiceMonitoring.MainStream.{i}.Sample.SampleSeconds}}
            values might be less than the sample interval.

          * This high-level metric's data collection is not appropriate or
            possible for this AV stream.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Metric1" access="readOnly">
        <description>
          This parameter is DEPRECATED and replaced by the {{param|Metric}}
          parameter and, if needed, several instances of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Metric2" access="readOnly">
        <description>
          This parameter is DEPRECATED and replaced by the {{param|Metric}}
          parameter and, if needed, several instances of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Metric1Failures" access="readOnly">
        <description>
          This parameter is DEPRECATED and replaced by the
          {{param|MetricFailures}} parameter and, if needed, several instances
          of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Metric2Failures" access="readOnly">
        <description>
          This parameter is DEPRECATED and replaced by the
          {{param|MetricFailures}} parameter and, if needed, several instances
          of
          {{object|.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MetricSampleInterval" access="readWrite"
          dmr:previousParameter="Name">
        <description>
          A time period measured in {{units}}. A new value for the high level
          metric is calculated every {{param}} seconds. The value for {{param}}
          MUST be less than, or equal to,
          {{param|.ServiceMonitoring.SampleInterval}}. {{param}} SHOULD be
          chosen such that {{param|.ServiceMonitoring.SampleInterval}} is an
          integer multiple of {{param}}. If not, the last metric sample
          interval in each sample interval MUST be shortened so that the last
          metric sample interval ends when the sample interval ends. The value
          for {{param}} is algorithm-specific.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MetricThreshold" access="readWrite">
        <description>
          The threshold value that controls the calculation of the
          {{param|MetricFailures}} parameter.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Metric" access="readOnly">
        <description>
          Each entry is a high-level metric calculated for this AV stream
          during the sample interval as the average of the high level metric
          values calculated on a metric sample interval basis. The length of
          the metric sample interval is given by
          {{param|MetricSampleInterval}}. The interpretation of the metric
          values is algorithm-specific; the only constraints are that values
          have to be numeric, in the range [0:65535] and that lower values
          indicate worse QoE than do higher values.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MetricFailures" access="readOnly">
        <description>
          Counts the number of times (since the last time this ''MainStream''
          and Sample statistics collection were both enabled) that a
          newly-calculated value of high-level metric {{param|Metric}} was less
          than or equal to {{param|MetricThreshold}}. This parameter can be
          incremented at any time during a sample interval, and might be
          incremented more than once during a single sample interval.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.MainStream.{i}.EventLog."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        This object represents the log entries of events recorded by the
        MainStream object instance. When the number of log entries in the
        EventLog exceeds the value of the
        {{param|###.Capabilities.ServiceMonitoring.MaxMainStreamEventLogEntries}}
        parameter, the Entry object with the lowest SequenceNumber value is
        replaced by the new EventLog Entry object. Log entries are persisted
        across reboots of the CPE.
      </description>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to true, clears the events from the event log and the value
          of {{param|Entry.{i}.SequenceNumber}} parameter is reset to the
          parameter's minimum value.
        </description>
        <syntax command="true">
          <boolean/>
        </syntax>
      </parameter>

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

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.EventLog.Entry.{i}."
        access="readOnly" numEntriesParameter="EntryNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        This object represents an entry (e.g., start session, channel change)
        in the event log.
      </description>
      <uniqueKey>
        <parameter ref="SequenceNumber"/>
      </uniqueKey>

      <parameter name="SequenceNumber" access="readOnly">
        <description>
          The sequence number of the event within the EventLog. This parameter
          is incremented by one (1) for each entry within the EventLog. When
          the value of the parameter exceeds the maximium range, the lowest
          value of this parameter that is not contained in current EventLog
          entries is used.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly">
        <description>
          Type of the event. The values for this parameter are vendor specific.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Time" access="readOnly">
        <description>
          Timestamp of the event.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

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

    <object
        name="STBService.{i}.ServiceMonitoring.MainStream.{i}.EventLog.Entry.{i}.Parameter.{i}."
        access="readOnly" numEntriesParameter="ParameterNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true">
      <description>
        This object represents an instance of a parameter that is associated
        with the Entry object Instance.
      </description>

      <parameter name="Name" access="readOnly">
        <description>
          Name of the parameter (vendor-specific).
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Value" access="readOnly">
        <description>
          Value of the parameter.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.GlobalOperation."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Global operations statistics.
      </description>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.GlobalOperation.Total."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Global operations total statistics.
      </description>

      <parameter name="ServiceAccessTime" access="readOnly">
        <description>
          The time period in, {{units}}, between the first message (e.g. DHCP
          Discover) sent by the STB during boot-up and the first multicast
          I-frame for the default channel displayed by the STB.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumPortalResponse" access="readOnly">
        <description>
          Minimum portal latency defined as the minimum time period, in
          {{units}}, between the instant of transmitting TCP SYN (the three way
          handshake) prior to first HTTP message, and receiving the last HTTP
          message carrying the information.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumPortalResponse" access="readOnly">
        <description>
          Maximum portal latency defined as the maximum time period, in
          {{units}}, between the instant of transmitting TCP SYN (the three way
          handshake) prior to first HTTP message, and receiving the last HTTP
          message carrying the information.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.ServiceMonitoring.GlobalOperation.Sample."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Global operations sample statistics.
      </description>

      <parameter name="MinimumPortalResponse" access="readOnly">
        <description>
          Each entry is the minimum portal latency defined as the minimum time
          period, in {{units}}, between the instant of transmitting TCP SYN
          (the three way handshake) prior to first HTTP message, and receiving
          the last HTTP message carrying the information during the sample
          interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaximumPortalResponse" access="readOnly">
        <description>
          Each entry is the maximum portal latency defined as the maximum time
          period, in {{units}}, between the instant of transmitting TCP SYN
          (the three way handshake) prior to first HTTP message, and receiving
          the last HTTP message carrying the information during the sample
          interval.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PortalResponse" access="readOnly">
        <description>
          Each entry is a colon separated list of time periods (in
          milliseconds) between the instant of transmitting TCP SYN (the three
          way handshake) prior to first HTTP message, and receiving the last
          HTTP message carrying the information. A comma separates measurements
          made in different sample intervals, while a colon separates
          individual measurements within a specific sample interval. If no
          PortalResponse measurements were made during a specific sample
          interval then this MUST be represented by an empty string. Example:
          ,837:453:1234,759,,,923:698,,,1284 Here there were no measurements
          during first sample interval, three during the second, one during the
          third, etc. The statistics values in this list MUST be in time order,
          with the oldest one first and the most recent one last. This applies
          both to sample intervals and to individual measurements during a
          specific sample interval. {{nopattern}}
        </description>
        <syntax>
          <list/>
          <string>
            <pattern value="(\d+(:\d+)*)?">
              <description>{{nopattern}}</description>
            </pattern>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Applications.
      </description>

      <parameter name="ServiceProviderNumberOfEntries" access="readOnly">
        <description>
          Number of Service Provider instances.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications.AudienceStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        Audience viewing statistics.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables collection of viewing statistics. Enabling
          collection of viewing statistics also resets the viewing statistics
          table.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Reset" access="readWrite">
        <description>
          When set to {{true}} resets the viewing statistics table. Setting it
          to {{false}} has no effect. The value is not saved in device state
          and is always {{false}} when read. Resetting statistics MUST reset
          all {{param|Channel.{i}.Duration}} parameters.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ResetTime" access="readOnly" activeNotify="canDeny">
        <description>
          Number of {{units}} since the Audience statistics were last enabled
          or reset.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelNumberOfEntries" access="readOnly">
        <description>
          Number of instances of {{object|Channel}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications.AudienceStats.Channel.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ChannelNumberOfEntries">
      <description>
        Table to record what the STB has been receiving. Time durations are
        recorded only for an AVPlayer's main AVStream (i.e. for TV channels
        being displayed in the main screen). Each entry corresponds to a given
        TV channel and is indexed by channel name (the instance number is
        chosen by the STB and is not related to the channel number).
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Name" access="readOnly">
        <description>
          String describing the TV channel being displayed in the main screen.
          MUST be the value of the corresponding
          {{param|.AVStreams.AVStream.{i}.Name}} parameter.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Duration" access="readOnly" activeNotify="canDeny">
        <description>
          The cumulative duration of this channel in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications.CDSPush." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Details of STB CDS Push logical internal parameters.
      </description>

      <parameter name="Reference" access="readOnly">
        <description>
          It references the object instance dedicated to the CDS Push service.
          Example: “Device.Services.StorageService.1.LogicalVolume.1.Folder.1”.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef
                refType="strong"
                targetParent="
                  .Services.StorageService.{i}.PhysicalMedium.
                  .Services.StorageService.{i}.LogicalVolume.
                  .Services.StorageService.{i}.LogicalVolume.{i}.Folder."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

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

    <object name="STBService.{i}.Applications.CDSPush.ContentItem.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ContentItemNumberOfEntries">
      <description>
        Content Item instance table.
      </description>
      <uniqueKey>
        <parameter ref="ContentReferenceId"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="ContentReferenceId" access="readOnly">
        <description>
          Unique Content Item reference as defined in {{bibref|TS102323}}, or
          {{bibref|RFC4078}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="VersionNumber" access="readOnly">
        <description>
          Version number of the stored content item (a content item could be
          updated with a new version e.g. in case of errors in the video
          preventing the play out).
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DeleteItem" access="readWrite">
        <description>
          When set to {{true}}, deletes this Content Item instance. The value
          is not saved in device state and is always {{false}} when read.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications.CDSPull." access="readOnly"
        minEntries="1" maxEntries="1">
      <description>
        Details of STB CDS Pull logical internal component. This object is
        present only if the user allowed (via his local STB UI) the remote
        management of the CDS Pull service.
      </description>

      <parameter name="Reference" access="readOnly">
        <description>
          It references the object instance dedicated to the CDS Pull service.
          Example: “Device.Services.StorageService.1.LogicalVolume.1.Folder.1”.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef
                refType="strong"
                targetParent="
                  .Services.StorageService.{i}.PhysicalMedium.
                  .Services.StorageService.{i}.LogicalVolume.
                  .Services.StorageService.{i}.LogicalVolume.{i}.Folder."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

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

    <object name="STBService.{i}.Applications.CDSPull.ContentItem.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ContentItemNumberOfEntries">
      <description>
        Content Item instance table.
      </description>
      <uniqueKey>
        <parameter ref="ContentReferenceId"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="ContentReferenceId" access="readOnly">
        <description>
          Unique Content Item reference as defined in {{bibref|TS102323}}, or
          {{bibref|RFC4078}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="VersionNumber" access="readOnly">
        <description>
          Version number of the stored content item (a content item could be
          updated with a new version e.g. in case of errors in the video
          preventing the play out).
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DeleteItem" access="readWrite">
        <description>
          When set to {{true}}, deletes this Content Item instance. The value
          is not saved in device state and is always {{false}} when read.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="STBService.{i}.Applications.ServiceProvider.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded"
        numEntriesParameter="ServiceProviderNumberOfEntries">
      <description>
        Service Provider instance table.
      </description>
      <uniqueKey>
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="Name" access="readWrite">
        <description>
          Service Provider name.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Domain" access="readWrite">
        <description>
          Service Provider domain URI.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ServiceDiscoveryServer" access="readWrite">
        <description>
          Service Provider’s Service Discovery Server. It MAY be configured in
          the format of IMS Public Service Identifier, or IP address or URL.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ActiveBCGServers" access="readOnly">
        <description>
          Comma separated list of the BCG (Broadband Content Guide) server URLs
          the STB is currently retrieving IPTV service information from.
        </description>
        <syntax>
          <string>
            <size maxLength="1024"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <profile name="Baseline:1">
      <object ref="STBService.{i}.Capabilities." requirement="present">
        <parameter ref="MaxActiveAVStreams" requirement="readOnly"/>
        <parameter ref="MaxActiveAVPlayers" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.PVR." requirement="present">
        <parameter ref="MaxIOStreams" requirement="readOnly"/>
        <parameter ref="MaxRecordingStreams" requirement="readOnly"/>
        <parameter ref="MaxPlaybackStreams" requirement="readOnly"/>
        <parameter ref="MaxTimeDelay" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.AudioDecoder."
          requirement="present">
        <parameter ref="AudioStandards" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoDecoder."
          requirement="present">
        <parameter ref="VideoStandards" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoDecoder.MPEG2Part2."
          requirement="present">
        <parameter ref="AudioStandards" requirement="readOnly"/>
        <parameter ref="ProfileLevelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Capabilities.VideoDecoder.MPEG2Part2.ProfileLevel.{i}."
          requirement="present">
        <parameter ref="Profile" requirement="readOnly"/>
        <parameter ref="Level" requirement="readOnly"/>
        <parameter ref="MaximumDecodingCapability" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part2."
          requirement="present">
        <parameter ref="AudioStandards" requirement="readOnly"/>
        <parameter ref="ProfileLevelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part2.ProfileLevel.{i}."
          requirement="present">
        <parameter ref="Profile" requirement="readOnly"/>
        <parameter ref="Level" requirement="readOnly"/>
        <parameter ref="MaximumDecodingCapability" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part10."
          requirement="present">
        <parameter ref="AudioStandards" requirement="readOnly"/>
        <parameter ref="ProfileLevelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Capabilities.VideoDecoder.MPEG4Part10.ProfileLevel.{i}."
          requirement="present">
        <parameter ref="Profile" requirement="readOnly"/>
        <parameter ref="Level" requirement="readOnly"/>
        <parameter ref="MaximumDecodingCapability" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoDecoder.SMPTEVC1."
          requirement="present">
        <parameter ref="AudioStandards" requirement="readOnly"/>
        <parameter ref="ProfileLevelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Capabilities.VideoDecoder.SMPTEVC1.ProfileLevel.{i}."
          requirement="present">
        <parameter ref="Profile" requirement="readOnly"/>
        <parameter ref="Level" requirement="readOnly"/>
        <parameter ref="MaximumDecodingCapability" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.AudioOutput."
          requirement="present">
        <parameter ref="AudioFormats" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.VideoOutput."
          requirement="present">
        <parameter ref="CompositeVideoStandards" requirement="readOnly"/>
        <parameter ref="VideoFormats" requirement="readOnly"/>
        <parameter ref="Macrovision" requirement="readOnly"/>
        <parameter ref="HDCP" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.CA." requirement="present">
        <parameter ref="CASystems" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.DRM." requirement="present">
        <parameter ref="DRMSystems" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Capabilities.ServiceMonitoring."
          requirement="present">
        <parameter ref="MaxActiveMainStreams" requirement="readOnly"/>
        <parameter ref="MinSampleInterval" requirement="readOnly"/>
        <parameter ref="MaxReportSamples" requirement="readOnly"/>
        <parameter ref="HighLevelMetricNames" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components." requirement="present">
        <parameter ref="FrontEndNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AudioDecoderNumberOfEntries" requirement="readOnly"/>
        <parameter ref="VideoDecoderNumberOfEntries" requirement="readOnly"/>
        <parameter ref="AudioOutputNumberOfEntries" requirement="readOnly"/>
        <parameter ref="VideoOutputNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.AudioDecoder.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="AudioStandard" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.VideoDecoder.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="MPEG2Part2" requirement="readOnly"/>
        <parameter ref="MPEG4Part2" requirement="readOnly"/>
        <parameter ref="MPEG4Part10" requirement="readOnly"/>
        <parameter ref="SMPTEVC1" requirement="readOnly"/>
        <parameter ref="ContentAspectRatio" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.AudioOutput.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="AudioFormat" requirement="readOnly"/>
        <parameter ref="AudioLevel" requirement="readOnly"/>
        <parameter ref="CancelMute" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.Components.VideoOutput.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="CompositeVideoStandard" requirement="readOnly"/>
        <parameter ref="VideoFormat" requirement="readOnly"/>
        <parameter ref="AspectRatioBehaviour" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams." requirement="present">
        <parameter ref="ActiveAVStreams" requirement="readOnly"/>
        <parameter ref="AVStreamNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="FrontEnd" requirement="readOnly"/>
        <parameter ref="AudioDecoder" requirement="readOnly"/>
        <parameter ref="VideoDecoder" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVPlayers." requirement="present">
        <parameter ref="ActiveAVPlayers" requirement="readOnly"/>
        <parameter ref="AVPlayerNumberOfEntries" requirement="readOnly"/>
        <parameter ref="PreferredAudioLanguage" requirement="readWrite"/>
        <parameter ref="PreferredSubtitlingLanguage" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.AVPlayers.AVPlayer.{i}."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="AudioLanguage" requirement="readOnly"/>
        <parameter ref="SubtitlingStatus" requirement="readOnly"/>
        <parameter ref="SubtitlingLanguage" requirement="readOnly"/>
        <parameter ref="AudioOutputs" requirement="readOnly"/>
        <parameter ref="VideoOutputs" requirement="readOnly"/>
        <parameter ref="MainStream" requirement="readOnly"/>
        <parameter ref="PIPStreams" requirement="readOnly"/>
      </object>
    </profile>

    <profile base="Baseline:1" name="Baseline:2"
        dmr:previousProfile="Baseline:1">
      <parameter ref="STBServiceNumberOfEntries" requirement="readOnly"/>
      <object ref="STBService.{i}." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="PVR:1">
      <object ref="STBService.{i}.Components.PVR." requirement="present">
        <parameter ref="StorageNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.PVR.Storage.{i}."
          requirement="present">
        <parameter ref="Reference" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="PVRState" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DTT:1">
      <object ref="STBService.{i}.Capabilities.FrontEnd.DVBT."
          requirement="present">
        <parameter ref="MaxActiveDVBTStreams" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.Modulation."
          requirement="present">
        <parameter ref="Frequency" requirement="readWrite"/>
        <parameter ref="ChannelBandwidth" requirement="readWrite"/>
        <parameter ref="Constellation" requirement="readWrite"/>
        <parameter ref="HierarchicalInformation" requirement="readWrite"/>
        <parameter ref="CodeRateHP" requirement="readWrite"/>
        <parameter ref="CodeRateLP" requirement="readWrite"/>
        <parameter ref="GuardInterval" requirement="readWrite"/>
        <parameter ref="TransmissionMode" requirement="readWrite"/>
        <parameter ref="SNR" requirement="readOnly"/>
        <parameter ref="BER" requirement="readOnly"/>
        <parameter ref="CBER" requirement="readOnly"/>
        <parameter ref="Locked" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.Install."
          requirement="present">
        <parameter ref="Start" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Progress" requirement="readOnly"/>
        <parameter ref="StartFrequency" requirement="readWrite"/>
        <parameter ref="StopFrequency" requirement="readWrite"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase."
          requirement="present">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="TotalServices" requirement="readOnly"/>
        <parameter ref="LogicalChannelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase.LogicalChannel.{i}."
          requirement="present">
        <parameter ref="LogicalChannelNumber" requirement="readOnly"/>
        <parameter ref="ServiceNumberOfEntries" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceListDatabase.LogicalChannel.{i}.Service.{i}."
          requirement="present">
        <parameter ref="DvbId" requirement="readOnly"/>
        <parameter ref="Frequency" requirement="readOnly"/>
        <parameter ref="BER" requirement="readOnly"/>
        <parameter ref="Preferred" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.LogicalChannelConnect."
          requirement="present">
        <parameter ref="LogicalChannelNumber" requirement="readWrite"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.DVBT.ServiceConnect."
          requirement="present">
        <parameter ref="DvbId" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="IPTVBaseline:1">
      <object ref="STBService.{i}.Capabilities.FrontEnd.IP."
          requirement="present">
        <parameter ref="StreamingControlProtocols" requirement="readOnly"/>
        <parameter ref="StreamingTransportProtocols" requirement="readOnly"/>
        <parameter ref="StreamingTransportControlProtocols"
            requirement="readOnly"/>
        <parameter ref="DownloadTransportProtocols" requirement="readOnly"/>
        <parameter ref="MultiplexTypes" requirement="readOnly"/>
        <parameter ref="MaxDejitteringBufferSize" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP."
          requirement="present">
        <parameter ref="InboundNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP."
          requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MaximumNumberOfConcurrentGroups"
            requirement="readOnly"/>
        <parameter ref="ClientVersion" requirement="readOnly"/>
        <parameter ref="ClientUnsolicitedReportInterval"
            requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.Dejittering."
          requirement="present">
        <parameter ref="BufferSize" requirement="readWrite"/>
        <parameter ref="BufferInitialLevel" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.Inbound.{i}."
          requirement="present">
        <parameter ref="StreamingControlProtocol" requirement="readOnly"/>
        <parameter ref="StreamingTransportProtocol" requirement="readOnly"/>
        <parameter ref="StreamingTransportControlProtocol"
            requirement="readOnly"/>
        <parameter ref="MultiplexType" requirement="readOnly"/>
        <parameter ref="DownloadTransportProtocol" requirement="readOnly"/>
        <parameter ref="SourceAddress" requirement="readOnly"/>
        <parameter ref="SourcePort" requirement="readOnly"/>
        <parameter ref="DestinationAddress" requirement="readOnly"/>
        <parameter ref="DestinationPort" requirement="readOnly"/>
        <parameter ref="URI" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.ServiceConnect."
          requirement="present">
        <parameter ref="URI" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="Inbound" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="RTCP:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.RTCP."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="TxRepeatInterval" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="RTPAVPF:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.RTPAVPF."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="RetransmitTimeout" requirement="readWrite"/>
        <parameter ref="MinLossPackets" requirement="readWrite"/>
        <parameter ref="MaxReportTime" requirement="readWrite"/>
        <parameter ref="MaxLossBurst" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="RTPAVPFConfig:1" dmr:previousProfile="RTPAVPF:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.RTPAVPF."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite "/>
        <parameter ref="OperationMode" requirement="readWrite "/>
        <parameter ref="ECOperationStatus" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="FECConfig:1" dmr:previousProfile="RTPAVPFConfig:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.FEC."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="OperationMode" requirement="readWrite"/>
        <parameter ref="ECOperationStatus" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="ForceMonitoring:1" dmr:previousProfile="FECConfig:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.ForceMonitor."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite "/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="URI" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="IPTVHomeNetwork:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP."
          requirement="present">
        <parameter ref="OutboundNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.Outbound.{i}."
          requirement="present">
        <parameter ref="MultiplexType" requirement="readOnly"/>
        <parameter ref="URI" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="Outbound" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="IGMP:1">
      <object ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP."
          requirement="present">
        <parameter ref="Enable" requirement="readOnly"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="MaximumNumberOfTrackedGroups" requirement="readOnly"/>
        <parameter ref="LoggingEnable" requirement="readWrite"/>
        <parameter ref="DSCPMark" requirement="readWrite"/>
        <parameter ref="VLANIDMark" requirement="readWrite"/>
        <parameter ref="EthernetPriorityMark" requirement="readWrite"/>
        <parameter ref="ClientVersion" requirement="readOnly"/>
        <parameter ref="ClientRobustness" requirement="readWrite"/>
        <parameter ref="ClientUnsolicitedReportInterval"
            requirement="readWrite"/>
        <parameter ref="ClientGroupNumberOfEntries" requirement="readOnly"/>
        <parameter ref="ClientGroupStatsNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroup.{i}."
          requirement="present">
        <parameter ref="GroupAddress" requirement="readOnly"/>
        <parameter ref="UpTime" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}."
          requirement="present">
        <parameter ref="GroupAddress" requirement="readOnly"/>
        <parameter ref="TotalStart" requirement="readOnly"/>
        <parameter ref="CurrentDayStart" requirement="readOnly"/>
        <parameter ref="QuarterHourStart" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.Total."
          requirement="present">
        <parameter ref="NumberOfJoins" requirement="readOnly"/>
        <parameter ref="NumberOfLeaves" requirement="readOnly"/>
        <parameter ref="MaxJoinDelay" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.CurrentDay."
          requirement="present">
        <parameter ref="NumberOfJoins" requirement="readOnly"/>
        <parameter ref="NumberOfLeaves" requirement="readOnly"/>
        <parameter ref="MaxJoinDelay" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.Components.FrontEnd.{i}.IP.IGMP.ClientGroupStats.{i}.QuarterHour."
          requirement="present">
        <parameter ref="NumberOfJoins" requirement="readOnly"/>
        <parameter ref="NumberOfLeaves" requirement="readOnly"/>
        <parameter ref="MaxJoinDelay" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="BasicPerfMon:1">
      <object ref="STBService.{i}.ServiceMonitoring." requirement="present">
        <parameter ref="SampleEnable" requirement="readWrite"/>
        <parameter ref="SampleState" requirement="readOnly"/>
        <parameter ref="SampleInterval" requirement="readWrite"/>
        <parameter ref="ReportSamples" requirement="readWrite"/>
        <parameter ref="TimeReference" requirement="readWrite"/>
        <parameter ref="ReportStartTime" requirement="readOnly"/>
        <parameter ref="ReportEndTime" requirement="readOnly"/>
        <parameter ref="MainStreamNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="ServiceType" requirement="readWrite"/>
        <parameter ref="AVStream" requirement="readOnly"/>
        <parameter ref="Gmin" requirement="readWrite"/>
        <parameter ref="SevereLossMinDistance" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total."
          requirement="present">
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="ResetTime" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.DejitteringStats."
          requirement="present">
        <parameter ref="Overruns" requirement="readOnly"/>
        <parameter ref="Underruns" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
          requirement="present">
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsLost" requirement="readOnly"/>
        <parameter ref="LossEvents" requirement="readOnly"/>
        <parameter ref="SevereLossIndexCount" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.MPEG2TSStats."
          requirement="present">
        <parameter ref="TSPacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketDiscontinuityCounter" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoDecoderStats."
          requirement="present">
        <parameter ref="ILostFrames" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoResponseStats."
          requirement="present">
        <parameter ref="MinimumVideoSystemResponse" requirement="readOnly"/>
        <parameter ref="MaximumVideoSystemResponse" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="SignificantChanges" requirement="readOnly"/>
        <parameter ref="PVRTimeShift" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.DejitteringStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="Overruns" requirement="readOnly"/>
        <parameter ref="Underruns" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsExpected" requirement="readOnly"/>
        <parameter ref="PacketsLost" requirement="readOnly"/>
        <parameter ref="PacketsLostBeforeEC" requirement="readOnly"/>
        <parameter ref="LossEvents" requirement="readOnly"/>
        <parameter ref="SevereLossIndexCount" requirement="readOnly"/>
        <parameter ref="MaximumLossPeriod" requirement="readOnly"/>
        <parameter ref="MinimumLossDistance" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.MPEG2TSStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="TSPacketsReceived" requirement="readOnly"/>
        <parameter ref="TSPacketsDrained" requirement="readOnly"/>
        <parameter ref="PacketDiscontinuityCounter" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoDecoderStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="ILostFrames" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoResponseStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="AverageVideoSystemResponse" requirement="readOnly"/>
        <parameter ref="MinimumVideoSystemResponse" requirement="readOnly"/>
        <parameter ref="MaximumVideoSystemResponse" requirement="readOnly"/>
      </object>
    </profile>

    <profile base="BasicPerfMon:1" name="BasicPerfMon:2"
        dmr:previousProfile="BasicPerfMon:1">
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.DejitteringStats."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.MPEG2TSStats."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoDecoderStats."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.TCPStats."
          requirement="present">
        <parameter ref="TotalSeconds" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsRetransmitted" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.TCPStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="PacketsRetransmitted" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="HistoPerfMon:1" dmr:previousProfile="BasicPerfMon:2">
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}."
          requirement="present">
        <parameter ref="SevereLossMinLength" requirement="readWrite"/>
        <parameter ref="PacketsLostByEventHistogramIntervals"
            requirement="readWrite"/>
        <parameter ref="DelayBetweenLossEventsHistogramIntervals"
            requirement="readWrite"/>
        <parameter ref="DurationSevereLossEventsHistogramIntervals"
            requirement="readWrite"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
          requirement="present">
        <parameter ref="SevereLossLengthCount" requirement="readOnly"/>
        <parameter ref="PacketsLostByEventHistogram" requirement="readOnly"/>
        <parameter ref="DelayBetweenLossEventsHistogram"
            requirement="readOnly"/>
        <parameter ref="DurationSevereLossEventsHistogram"
            requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
          requirement="present">
        <parameter ref="SevereLossLengthCount" requirement="readOnly"/>
        <parameter ref="PacketsLostByEventHistogram" requirement="readOnly"/>
        <parameter ref="DelayBetweenLossEventsHistogram"
            requirement="readOnly"/>
        <parameter ref="DurationSevereLossEventsHistogram"
            requirement="readOnly"/>
      </object>
    </profile>

    <profile name="ECPerfMon:1">
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
          requirement="present">
        <parameter ref="PacketsReceivedBeforeEC" requirement="readOnly"/>
        <parameter ref="RetransmitTimeouts" requirement="readOnly"/>
        <parameter ref="PacketsLostBeforeEC" requirement="readOnly"/>
        <parameter ref="LossEventsBeforeEC" requirement="readOnly"/>
        <parameter ref="SevereLossIndexCountBeforeEC" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="PacketsReceivedBeforeEC" requirement="readOnly"/>
        <parameter ref="RetransmitTimeouts" requirement="readOnly"/>
        <parameter ref="PacketsLostBeforeEC" requirement="readOnly"/>
        <parameter ref="LossEventsBeforeEC" requirement="readOnly"/>
        <parameter ref="SevereLossIndexCountBeforeEC" requirement="readOnly"/>
        <parameter ref="MinimumLossDistance" requirement="readOnly"/>
        <parameter ref="MinimumLossDistanceBeforeEC" requirement="readOnly"/>
        <parameter ref="MaximumLossPeriod" requirement="readOnly"/>
        <parameter ref="MaximumLossPeriodBeforeEC" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="HistoECPerfMon:1" dmr:previousProfile="ECPerfMon:1">
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.RTPStats."
          requirement="present">
        <parameter ref="SevereLossLengthCountBeforeEC" requirement="readOnly"/>
        <parameter ref="PacketsLostByEventHistogramBeforeEC"
            requirement="readOnly"/>
        <parameter ref="DelayBetweenLossEventsHistogramBeforeEC"
            requirement="readOnly"/>
        <parameter ref="DurationSevereLossEventsHistogramBeforeEC"
            requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
          requirement="present">
        <parameter ref="SevereLossLengthCountBeforeEC" requirement="readOnly"/>
        <parameter ref="PacketsLostByEventHistogramBeforeEC"
            requirement="readOnly"/>
        <parameter ref="DelayBetweenLossEventsHistogramBeforeEC"
            requirement="readOnly"/>
        <parameter ref="DurationSevereLossEventsHistogramBeforeEC"
            requirement="readOnly"/>
      </object>
    </profile>

    <profile name="VideoPerfMon:1">
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.VideoDecoderStats."
          requirement="present">
        <parameter ref="FrameRate" requirement="readOnly"/>
        <parameter ref="LostFrames" requirement="readOnly"/>
        <parameter ref="DecodedFrames" requirement="readOnly"/>
        <parameter ref="IDecodedFrames" requirement="readOnly"/>
        <parameter ref="ConcealedFrames" requirement="readOnly"/>
        <parameter ref="IConcealedFrames" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample."
          requirement="present">
        <parameter ref="HighLevelMetricStatsNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.DejitteringStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="EmptyBufferTime" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoDecoderStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="FrameRate" requirement="readOnly"/>
        <parameter ref="LostFrames" requirement="readOnly"/>
        <parameter ref="DecodedFrames" requirement="readOnly"/>
        <parameter ref="IDecodedFrames" requirement="readOnly"/>
        <parameter ref="ConcealedFrames" requirement="readOnly"/>
        <parameter ref="IConcealedFrames" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.{i}."
          requirement="notSpecified">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="MetricName" requirement="readOnly"/>
        <parameter ref="Metric1Threshold" requirement="readWrite"/>
        <parameter ref="Metric1" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="AudioPerfMon:1">
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Total.AudioDecoderStats."
          requirement="present">
        <parameter ref="DecodedFrames" requirement="readOnly"/>
        <parameter ref="DecodingErrors" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.AudioDecoderStats."
          requirement="present">
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="DecodedFrames" requirement="readOnly"/>
        <parameter ref="DecodingErrors" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DiagPerfMon:1" dmr:previousProfile="AudioPerfMon:1">
      <object ref="STBService.{i}.Capabilities.ServiceMonitoring."
          requirement="present">
        <parameter ref="HighLevelMetricNames" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.GlobalOperation.Total."
          requirement="present">
        <parameter ref="ServiceAccessTime" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.ServiceMonitoring.GlobalOperation.Sample."
          requirement="present">
        <parameter ref="PortalResponse" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.VideoResponseStats."
          requirement="present">
        <parameter ref="AccessSuccesses" requirement="readOnly"/>
        <parameter ref="RequestedTransactions" requirement="readOnly"/>
        <parameter ref="CompletionCount" requirement="readOnly"/>
        <parameter ref="VideoSystemResponse" requirement="readOnly"/>
        <parameter ref="VoDControlResponse" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.HighLevelMetricStats.{i}."
          requirement="present">
        <parameter ref="MetricName" requirement="readOnly"/>
        <parameter ref="SampleSeconds" requirement="readOnly"/>
        <parameter ref="MetricSampleInterval" requirement="readOnly"/>
        <parameter ref="Metric" requirement="readOnly"/>
      </object>
      <object
          ref="STBService.{i}.ServiceMonitoring.MainStream.{i}.Sample.RTPStats."
          requirement="present">
        <parameter ref="PacketsExpected" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="AudienceStats:1">
      <object ref="STBService.{i}.Applications.AudienceStats."
          requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Reset" requirement="readWrite"/>
        <parameter ref="ResetTime" requirement="readOnly"/>
        <parameter ref="ChannelNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Applications.AudienceStats.Channel.{i}."
          requirement="present">
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Duration" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="AnalogOutput:1">
      <object ref="STBService.{i}.Components." requirement="present">
        <parameter ref="SCARTNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.VideoOutput.{i}."
          requirement="present">
        <parameter ref="VideoFormat" requirement="readWrite"/>
        <parameter ref="Macrovision" requirement="readOnly"/>
        <parameter ref="SCARTs" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.SCART.{i}." requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Presence" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DigitalOutput:1">
      <object ref="STBService.{i}.Components.VideoOutput.{i}."
          requirement="present">
        <parameter ref="HDCP" requirement="readOnly"/>
      </object>
    </profile>

    <profile base="DigitalOutput:1" name="DigitalOutput:2"
        dmr:previousProfile="DigitalOutput:1">
      <object ref="STBService.{i}.Capabilities.HDMI." requirement="present">
        <parameter ref="SupportedResolutions" requirement="readOnly"/>
        <parameter ref="CECSupport" requirement="readOnly"/>
        <parameter ref="HDMI3D" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.HDMI.{i}." requirement="present">
        <parameter ref="ResolutionMode" requirement="readWrite"/>
        <parameter ref="ResolutionValue" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.Components.HDMI.{i}.DisplayDevice."
          requirement="present">
        <parameter ref="SupportedResolutions" requirement="readOnly"/>
        <parameter ref="PreferredResolution" requirement="readOnly"/>
        <parameter ref="VideoLatency" requirement="readOnly"/>
        <parameter ref="CECSupport" requirement="readOnly"/>
        <parameter ref="AutoLipSyncSupport" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.SPDIF.{i}." requirement="present">
        <parameter ref="ForcePCM" requirement="readOnly"/>
        <parameter ref="Passthrough" requirement="readOnly"/>
        <parameter ref="AudioDelay" requirement="readOnly"/>
      </object>
    </profile>

    <profile base="DigitalOutput:2" name="DigitalOutput:3"
        dmr:previousProfile="DigitalOutput:2">
      <object ref="STBService.{i}.Components." requirement="present">
        <parameter ref="HDMINumberOfEntries" requirement="readOnly"/>
        <parameter ref="SPDIFNumberOfEntries" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="CA:1">
      <object ref="STBService.{i}.Components." requirement="present">
        <parameter ref="CANumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.CA.{i}." requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="SmartCardReader" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="CA" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="DRM:1">
      <object ref="STBService.{i}.Components." requirement="present">
        <parameter ref="DRMNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Components.DRM.{i}." requirement="present">
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="SmartCardReader" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.AVStreams.AVStream.{i}."
          requirement="present">
        <parameter ref="DRM" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="CDS:1" dmr:previousProfile="DRM:1">
      <object ref="STBService.{i}.Capabilities.CDS." requirement="present">
        <parameter ref="PushCapable" requirement="readOnly"/>
        <parameter ref="PullCapable" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Applications.CDSPush." requirement="present">
        <parameter ref="Reference" requirement="readOnly"/>
        <parameter ref="ContentItemNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Applications.CDSPush.ContentItem.{i}."
          requirement="present">
        <parameter ref="ContentReferenceId" requirement="readOnly"/>
        <parameter ref="VersionNumber" requirement="readOnly"/>
        <parameter ref="DeleteItem" requirement="readWrite"/>
      </object>
      <object ref="STBService.{i}.Applications.CDSPull." requirement="present">
        <parameter ref="Reference" requirement="readOnly"/>
        <parameter ref="ContentItemNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="STBService.{i}.Applications.CDSPull.ContentItem.{i}."
          requirement="present">
        <parameter ref="ContentReferenceId" requirement="readOnly"/>
        <parameter ref="VersionNumber" requirement="readOnly"/>
        <parameter ref="DeleteItem" requirement="readWrite"/>
      </object>
    </profile>
  </model>
</dm:document>
