<?xml version="1.0" encoding="UTF-8"?>
<!--
  TR-069 STBService:1.0 Service Object definition
    
  Notice:
  The Broadband Forum is a non-profit corporation organized to create
  guidelines for broadband network system development and deployment. This
  XML Document has been approved by members of the Forum. This document is
  not binding on the Broadband Forum, any of its members, or any developer
  or service provider. This document is subject to change, but only with
  approval of members of the Forum.

  This document is provided "as is," with all faults.  Any person holding a
  copyright in this document, or any portion thereof, disclaims to the fullest
  extent permitted by law any representation or warranty, express or implied,
  including, but not limited to,
  (a) any warranty of merchantability, fitness for a particular purpose,
      non-infringement, or title;
  (b) any warranty that the contents of the document are suitable for any
      purpose, even if that purpose is known to the copyright holder;
  (c) any warranty that the implementation of the contents of the documentation
      will not infringe any third party patents, copyrights,
      trademarks or other rights.

  This publication may incorporate intellectual property. The Broadband Forum
  encourages but does not require declaration of such intellectual property.
  For a list of declarations made by Broadband Forum member companies,
  please see http://www.broadband-forum.org.

  Copyright The Broadband Forum. All Rights Reserved.

  Broadband Forum XML Documents may be copied, downloaded, stored on a server
  or otherwise re-distributed in their entirety only. The text of this
  notice must be included in all copies.
    
  Summary:
  This document defines a data model for remote management of Digital
  Television (IPTV or broadcast) functionality on Set Top Box (STB) devices
  via CWMP as defined in TR-069 and TR-106.
  
  Version History:
  September 2009: tr-135-1-0-0.xml, corresponds to TR-135 Issue 1, Section 6 
                  (Parameter Definitions) and Section 7 (Profile Definitions)
-->
<dm:document xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-1"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="urn:broadband-forum-org:cwmp:datamodel-1-1 cwmp-datamodel-1-1.xsd"
             spec="urn:broadband-forum-org:tr-135-1-0-0">
  <import file="tr-069-biblio.xml" spec="urn:broadband-forum-org:tr-069-biblio"/>
  <import file="tr-106-1-0-types.xml" spec="urn:broadband-forum-org:tr-106-1-0">
    <dataType name="IPAddress"/>
  </import>
  <bibliography>
    <reference id="TR-135">
      <name>TR-135</name>
      <title>Data Model for a TR-069 Enabled STB</title>
      <organization>BBF</organization>
      <category>TR</category>
    </reference>
    <reference id="TR-140">
      <name>TR-140</name>
      <title>TR-069 Data Model for Storage Service Devices</title>
      <organization>BBF</organization>
      <category>TR</category>
    </reference>
    <reference id="RFC1350">
      <name>RFC 1350</name>
      <title>The TFTP Protocol (Revision 2)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <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>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>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>http://www.ietf.org/rfc/rfc2960.txt</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>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>
      <hyperlink>http://www.ietf.org/rfc/rfc3550.txt</hyperlink>
    </reference>
    <reference id="RFC4340">
      <name>RFC 4340</name>
      <title>Datagram Congestion Control Protocol (DCCP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <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>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>http://www.ietf.org/rfc/rfc4588.txt</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="SSH-FTP">
      <name>SSH File Transfer Protocol</name>
      <hyperlink>http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer</hyperlink>
    </reference>
  </bibliography>
  <model name="STBService:1.0" 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">
      <description>The top-level object for an STB CPE.</description>
      <parameter name="Enable" access="readWrite">
        <description>Enables or disables this {{object}} instance.</description>
        <syntax>
          <boolean/>
        </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.
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>
      <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>
      <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.
{{enum}}  The table MUST include a distinct entry for each supported combination of these parameters.</description>
      <uniqueKey>
        <parameter ref="Profile"/>
        <parameter ref="Level"/>
      </uniqueKey>
      <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>
      <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>
    </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="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.</description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </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>Number of {{object|FrontEnd}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="AudioDecoderNumberOfEntries" access="readOnly">
        <description>Number of {{object|AudioDecoder}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="VideoDecoderNumberOfEntries" access="readOnly">
        <description>Number of {{object|VideoDecoder}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="AudioOutputNumberOfEntries" access="readOnly">
        <description>Number of {{object|AudioOutput}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="VideoOutputNumberOfEntries" access="readOnly">
        <description>Number of {{object|VideoOutput}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="SCARTNumberOfEntries" access="readOnly">
        <description>Number of {{object|SCART}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="CANumberOfEntries" access="readOnly">
        <description>Number of {{object|CA}} instances.</description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <parameter name="DRMNumberOfEntries" access="readOnly">
        <description>Number of {{object|DRM}} instances.</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>
      <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="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="1">
              <description>no hierarchy</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.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>
      <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>
      <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="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.</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>
    </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>
      <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>
      <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>
      <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="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>
      <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="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.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>
      <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>
      <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="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>
      <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="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>
      <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="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.VideoOutput.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="VideoOutputNumberOfEntries">
      <description>Video output instance table.</description>
      <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="Error" optional="true"/>
          </string>
        </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}} (e.g. reproduction of HD content on SD monitors and vice versa).</description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Letterbox"/>
            <enumeration value="CenterCutOut"/>
            <enumeration value="Combined">
              <description>both of the above</description>
            </enumeration>
          </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>
    </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>
      <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="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.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>
      <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="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>
      <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="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>
      <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="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.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.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>
    </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>
      <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="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>Contains statistics relating to the QoS / QoE of 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, when the STB is in Standby mode, there will be no active Main AV streams, but 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 at least {{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/>
          <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>
    </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>
      <parameter name="Enable" access="readWrite">
        <description>Enables or disables collection of Total and Sample statistics for this object instance.</description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
      <parameter name="Status" access="readOnly">
        <description>Total and Sample statistics 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="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>
    </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="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="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>
    </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="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="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="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="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>
    </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="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="FrameRate" access="readOnly">
        <description>The frame rate at which the STB played out the video content for this AV stream.</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="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="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>
    </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 ''ReportSamples'' statistics values.  When the list is full, each new value causes the oldest one to be discarded.
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 in Standby mode 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 buffer was empty 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.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="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="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="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>
    </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 frame rate at which the STB played out the video content for this AV stream during the sample interval.</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>
    </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.</description>
      <uniqueKey>
        <parameter ref="MetricName"/>
      </uniqueKey>
      <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>The threshold value that controls the calculation of the {{param|Metric1Failures}} parameter.</description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>
      <parameter name="Metric2Threshold" access="readWrite">
        <description>The threshold value that controls the calculation of the {{param|Metric2Failures}} parameter.</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>Each entry is a high-level metric calculated for this AV stream during the sample interval.
The interpretation of the metric values is algorithm-specific; the only constraints are that values must 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="Metric2" access="readOnly">
        <description>Each entry is a high-level metric calculated for this AV stream during the sample interval.
The interpretation of the metric values is algorithm-specific; the only constraints are that values must 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="Metric1Failures" 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|Metric1}} was less than or equal to {{param|Metric1Threshold}}.
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>
      <parameter name="Metric2Failures" 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|Metric2}} was less than or equal to {{param|Metric2Threshold}}.
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}.Applications." access="readOnly" minEntries="1" maxEntries="1">
      <description>Applications.</description>
    </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>
      <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>
    <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 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="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 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="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="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 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>
  </model>
</dm:document>

