<?xml version="1.0" encoding="UTF-8"?>
<!--
    TR-069 VoiceService: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
    Broadband Forum XML Document has been approved by members of the Forum.
    This Broadband Forum XML Document is not binding on the Broadband Forum,
    any of its members, or any developer or service provider. This Broadband
    Forum XML Document is subject to change, but only with approval of members
    of the Forum.  This XML Document is copyrighted by the Broadband Forum,
    and all rights are reserved.  Portions of this XML Document may be
    copyrighted by Broadband Forum members.
    
    This Broadband Forum XML Document is provided AS IS, WITH ALL FAULTS.
    ANY PERSON HOLDING A COPYRIGHT IN THIS BROADBAND FORUM XML 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, ANY WARRANTY:
    
    (A) OF ACCURACY, COMPLETENESS, MERCHANTABILITY, FITNESS FOR A PARTICULAR
    PURPOSE, NON-INFRINGEMENT, OR TITLE;
    (B) THAT THE CONTENTS OF THIS BROADBAND FORUM XML DOCUMENT ARE SUITABLE
    FOR ANY PURPOSE, EVEN IF THAT PURPOSE IS KNOWN TO THE COPYRIGHT HOLDER;
    (C) THAT THE IMPLEMENTATION OF THE CONTENTS OF THE DOCUMENTATION WILL NOT
    INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER
    RIGHTS.
    
    By using this Broadband Forum XML Document, users acknowledge that
    implementation may require licenses to patents.  The Broadband Forum
    encourages but does not require its members to identify such patents.
    For a list of declarations made by Broadband Forum member companies,
    please see http://www.broadband-forum.org.  No assurance is given that
    licenses to patents necessary to implement this XML Document will be
    available for license at all or on reasonable and non-discriminatory terms.
    
    ANY PERSON HOLDING A COPYRIGHT IN THIS BROADBAND FORUM XML DOCUMENT, OR
    ANY PORTION THEREOF, DISCLAIMS TO THE FULLEST EXTENT PERMITTED BY LAW
    (A) ANY LIABILITY (INCLUDING DIRECT, INDIRECT, SPECIAL, OR CONSEQUENTIAL
    DAMAGES UNDER ANY LEGAL THEORY) ARISING FROM OR RELATED TO THE USE OF OR
    RELIANCE UPON THIS XML DOCUMENT; AND (B) ANY OBLIGATION TO UPDATE OR
    CORRECT THIS XML DOCUMENT.
    
    Broadband Forum XML Documents may be copied, downloaded, stored on a
    server or otherwise re-distributed in their entirety only, and may not be
    modified without the advance written permission of the Broadband Forum.
    
    The text of this notice must be included in all copies.
    
    Revision History:
    September 2009: tr-104-1-0-0.xml, corresponds to TR-104 Issue 1, Section 3 
    (Data Model Definition) and Section 4 (Profile Definition).
-->

<dm:document xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:broadband-forum-org:cwmp:datamodel-1-0 cwmp-datamodel-1-0.xsd" spec="urn:broadband-forum-org:tr-104-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"/>
      <dataType name="MACAddress"/>
   </import>
   <bibliography>
      <reference id="TR-106">
         <name>TR-106</name>
         <title>Data Model Template for TR-069-Enabled Devices</title>
         <organization>BBF</organization>
         <category>TR</category>
      </reference>
      <reference id="TR-104">
         <name>TR-104</name>
         <title>Provisioning Parameters for VoIP CPE</title>
         <organization>BBF</organization>
         <category>TR</category>
      </reference>
      <reference id="RFC3261">
         <name>RFC 3261</name>
         <title>SIP: Session Initiation Protocol</title>
         <organization>IETF</organization>
         <category>RFC</category>
         <hyperlink>http://www.ietf.org/rfc/rfc3261.txt</hyperlink>
      </reference>
      <reference id="RFC3435">
         <name>RFC 3435</name>
         <title>Media Gateway Control Protocol (MGCP) Version 1.0</title>
         <organization>IETF</organization>
         <category>RFC</category>
         <hyperlink>http://www.ietf.org/rfc/rfc3435.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="RFC2198">
         <name>RFC 2198</name>
         <title>RTP Payload for Redundant Audio Data</title>
         <organization>IETF</organization>
         <category>RFC</category>
         <hyperlink>http://www.ietf.org/rfc/rfc2198.txt?number=2198</hyperlink>
      </reference>
      <reference id="RFC2833">
         <name>RFC 2833</name>
         <title>RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals</title>
         <organization>IETF</organization>
         <category>RFC</category>
         <hyperlink>http://www.ietf.org/rfc/rfc2833.txt?number=2833</hyperlink>
      </reference>
      <reference id="ISO3166">
         <name>RFC 2833</name>
         <title>Codes for the Representation of Names of Countries and Their Subdivisions</title>
         <organization>ISO</organization>
      </reference>
      <reference id="ITU-H.235.1">
         <name>ITU-T H.235.1</name>
         <title>H.323 security framework: Baseline security profile  </title>
         <organization>ITU-T</organization>
         <hyperlink>http://www.itu.int/rec/T-REC-H.235.1/en</hyperlink>
      </reference>
   </bibliography>
   <model name="VoiceService:1.0" isService="true">
      <parameter name="VoiceServiceNumberOfEntries" access="readOnly">
         <description>Number of entries in VoiceService table.</description>
         <syntax>
            <unsignedInt/>
         </syntax>
      </parameter>
      <object name="VoiceService.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="VoiceServiceNumberOfEntries">
         <description>The top-level object for VoIP CPE.</description>
         <parameter name="VoiceProfileNumberOfEntries" access="readOnly">
            <description>Number of instances of VoiceProfile.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.Capabilities." access="readOnly" minEntries="1" maxEntries="1">
         <description>The overall capabilities of the VoIP CPE.</description>
         <parameter name="MaxProfileCount" access="readOnly" activeNotify="canDeny">
            <description>Maximum total number of distinct voice profiles supported.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="MaxLineCount" access="readOnly" activeNotify="canDeny">
            <description>Maximum total number of lines supported across all profiles.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="MaxSessionsPerLine" access="readOnly" activeNotify="canDeny">
            <description>Maximum number of voice sessions supported for any given line across all profiles.  A value greater than one indicates support for CPE provided conference calling.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="MaxSessionCount" access="readOnly" activeNotify="canDeny">
            <description>Maximum total number of voice sessions supported across all lines and profiles.  (This might differ from {{param|MaxLineCount}} if each line can support more than one session for CPE provided conference calling.  This value MAY be less than the product of {{param|MaxLineCount}} and {{param|MaxSessionsPerLine}}.)</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="SignalingProtocols" access="readOnly" activeNotify="canDeny">
            <description>{{list}}  Each item is a supported signaling protocol.  {{pattern}}
Each entry MAY be appended with a version indicator in the form "/X.Y".  For example:
"SIP/2.0"
The list MAY include vendor-specific protocols, which MUST be in the format defined in {{bibref|TR-106}}.  For example:
"X_EXAMPLE-COM_MyProt"</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <pattern value="SIP"/>
                  <pattern value="MGCP"/>
                  <pattern value="MGCP-NCS"/>
                  <pattern value="H\.248"/>
                  <pattern value="H\.323"/>
                  <pattern value="SIP/\d+\.\d+"></pattern>
                  <pattern value="MGCP/\d+\.\d+"></pattern>
                  <pattern value="MGCP-NCS/\d+\.\d+"></pattern>
                  <pattern value="H\.248/\d+\.\d+"></pattern>
                  <pattern value="H\.323/\d+\.\d+"></pattern>
                  <pattern value="X_.+"></pattern>
               </string>
            </syntax>
         </parameter>
         <parameter name="Regions" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a geographic region supported by the CPE.  Each item is the list MUST be an alpha-2 (two-character alphabetic) country code as specified by {{bibref|ISO3166}}. If {{empty}} indicates that the CPE does not support region-based customization via {{object|.VoiceProfile.{i}.}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string/>
            </syntax>
         </parameter>
         <parameter name="RTCP" access="readOnly" activeNotify="canDeny">
            <description>Support for RTCP.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.RTP.RTCP.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="SRTP" access="readOnly" activeNotify="canDeny">
            <description>Support for SRTP.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.RTP.SRTP.}}.
If {{true}} also indicates that {{param|SRTPKeyingMethods}} and {{param|SRTPEncryptionKeySizes}} are present.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="SRTPKeyingMethods" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a keying protocol supported by this endpoint for SRTP. {{enum}}
This list MAY include vendor-specific keying methods, which MUST use the format defined in {{bibref|TR-106}}.
This parameter is applicable only if {{param|SRTP}} is {{true}}. 
            </description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="Null"/>
                  <enumeration value="Static"/>
                  <enumeration value="SDP"/>
                  <enumeration value="IKE"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="SRTPEncryptionKeySizes" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported SRTP encryption key size.
This parameter is applicable only if {{param|SRTP}} is {{true}}. </description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="RTPRedundancy" access="readOnly" activeNotify="canDeny">
            <description>Support for RTP payload redundancy as defined in {{bibref|RFC2198}}.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.RTP.Redundancy.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="DSCPCoupled" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates that the CPE is constrained such that transmitted call control packets use the same DSCP marking as transmitted RTP packets.
If {{true}}, the CPE MUST NOT support {{param|.VoiceProfile.{i}.MGCP.DSCPMark}}, {{param|.VoiceProfile.{i}.H323.DSCPMark}}, or {{param|.VoiceProfile.{i}.SIP.DSCPMark}} for call control.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="EthernetTaggingCoupled" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates that the CPE is constrained such that transmitted call control packets use the same Ethernet tagging (VLAN ID Ethernet Priority) as transmitted RTP packets.
If {{true}}, the CPE MUST NOT support the {{param|.VoiceProfile.{i}.MGCP.VLANIDMark}}, {{param|.VoiceProfile.{i}.H323.VLANIDMark}}, {{param|.VoiceProfile.{i}.SIP.VLANIDMark}} {{param|.VoiceProfile.{i}.MGCP.EthernetPriorityMark}}, {{param|.VoiceProfile.{i}.H323.EthernetPriorityMark}}, or {{param|.VoiceProfile.{i}.SIP.EthernetPriorityMark}} for call control.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="PSTNSoftSwitchOver" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates the CPE is capable of supporting the PSO_Activate Facility Action, which allows a call to be switched to a PSTN FXO (Foreign eXchange Office) line.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="FaxT38" access="readOnly" activeNotify="canDeny">
            <description>Support for T.38 fax.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.FaxT38.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="FaxPassThrough" access="readOnly" activeNotify="canDeny">
            <description>Support for fax pass-through.  If {{true}} indicates support for {{param|.VoiceProfile.{i}.FaxPassThrough}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ModemPassThrough" access="readOnly" activeNotify="canDeny">
            <description>Support for modem pass-through.  If {{true}} indicates support for the {{param|.VoiceProfile.{i}.ModemPassThrough}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ToneGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for tone generation.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.Tone.}}.
If {{true}} also indicates that {{param|ToneDescriptionsEditable}}, {{param|PatternBasedToneGeneration}}, and {{param|FileBasedToneGeneration}} are present.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ToneDescriptionsEditable" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates that {{object|.VoiceProfile.{i}.Tone.Description.}} and {{object|.VoiceProfile.{i}.Tone.Pattern.}} are editable (if entries can be added, removed, or modified).
This parameter is applicable only if {{param|ToneGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="PatternBasedToneGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for tone generation by pattern specification.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.Tone.}}.
If {{param|ToneGeneration}} is {{true}}, at least one of {{param}} and {{param|FileBasedToneGeneration}} MUST also be {{true}}.
This parameter is applicable only if {{param|ToneGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="FileBasedToneGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for tone generation by file playback.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.Tone.}}.
If {{true}} also indicates that {{param|ToneFileFormats}} is present.
If {{param|ToneGeneration}} is {{true}}, at least one of {{param|PatternBasedToneGeneration}} and {{param}} MUST also be {{true}}.
This parameter is applicable only if {{param|ToneGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ToneFileFormats" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported tone file format.  The specified file formats are raw codec data files, using one of the codecs listed below. {{enum}}
The list MAY include vendor-specific -specific extensions, which MUST use the format defined in {{bibref|TR-106}}.
Example:
"G.711MuLaw, MP3, X_EXAMPLE-COM_MyFileFormat"
If the CPE does not support tone files, this parameter MUST be {{empty}}.
This parameter is applicable only if {{param|FileBasedToneGeneration}} is {{true}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="G.711MuLaw"/>
                  <enumeration value="G.711ALaw"/>
                  <enumeration value="MP3"/>
                  <enumeration value="WAV"/>
                  <enumeration value="AMR"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="RingGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for ring generation.  If {{true}} indicates support for control of ring generation via {{object|.VoiceProfile.{i}.Line.{i}.Ringer.}}. 
If {{true}} also indicates that {{param|RingDescriptionsEditable}}, {{param|PatternBasedRingGeneration}}, and {{param|FileBasedRingGeneration}} are present.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="RingDescriptionsEditable" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates that {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Description.}} and {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.}} are editable (if entries can be added, removed, or modified).
This parameter is applicable only if {{param|RingGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="PatternBasedRingGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for ring generation by pattern specification.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.}}.
If {{true}} also indicates that {{param|RingPatternEditable}} is present.
This parameter is applicable only if {{param|RingGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="RingPatternEditable" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates that {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.}} is editable (if entries can be added, removed, or modified).
This parameter is applicable only if {{param|PatternBasedRingGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="FileBasedRingGeneration" access="readOnly" activeNotify="canDeny">
            <description>Support for ring generation by file playback.  If {{true}} indicates support for specification of ringer files in {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Description.}}.
If {{true}} also indicates that {{param|RingFileFormats}} is present.
This parameter is applicable only if {{param|RingGeneration}} is {{true}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="RingFileFormats" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported ring file format. {{enum}}
The list MAY include vendor-specific-specific extensions, which MUST use the format defined in {{bibref|TR-106}}.
Example:
"MIDI, AMR, X_EXAMPLE-COM_MyFileFormat"
If the CPE does not support ring files, this parameter MUST be {{empty}}.
This parameter is applicable only if {{param|FileBasedRingGeneration}} is {{true}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="MIDI"/>
                  <enumeration value="SMAF">
                     <description>MMF</description>
                  </enumeration>
                  <enumeration value="RTTTL">
                     <description>RTTTL or RTX</description>
                  </enumeration>
                  <enumeration value="MP3"/>
                  <enumeration value="WAV"/>
                  <enumeration value="AMR"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="DigitMap" access="readOnly" activeNotify="canDeny">
            <description>Support for a configurable digit map string.  If {{true}} indicates full support for {{param|.VoiceProfile.{i}.DigitMap}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="NumberingPlan" access="readOnly" activeNotify="canDeny">
            <description>Support for a configurable numbering plan.  If {{true}} indicates support for a configurable numbering plan via {{object|.VoiceProfile.{i}.NumberingPlan.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ButtonMap" access="readOnly" activeNotify="canDeny">
            <description>Support for a configurable button map.  If {{true}} indicates support for a configurable button map via {{object|.VoiceProfile.{i}.ButtonMap}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="VoicePortTests" access="readOnly" activeNotify="canDeny">
            <description>Support for remotely accessible voice-port tests.  If {{true}} indicates support for {{object|.PhyInterface.{i}.Tests.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.Capabilities.SIP." access="readOnly" minEntries="1" maxEntries="1">
         <description>SIP-specific capabilities.  Applicable only if the value of {{param|.Capabilities.SignalingProtocols}} includes {{pattern|SIP|.Capabilities.SignalingProtocols}}.
         </description>
         <parameter name="Role" access="readOnly" activeNotify="canDeny">
            <description>The role of this VoIP CPE. {{enum}}
A single VoiceService instance MUST have only one role.  If a device includes the capabilities for more than one role, each role MUST be represented as separate VoiceService instances.</description>
            <syntax>
               <string>
                  <enumeration value="UserAgent"/>
                  <enumeration value="BackToBackUserAgents"/>
                  <enumeration value="OutboundProxy"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="Extensions" access="readOnly" activeNotify="canDeny">
            <description>{{list}}  Each item is a supported SIP extension method.  SIP extension methods MUST be in the form of the method name in upper case. 
The list MAY include vendor-specific extensions, which MUST use the format defined in {{bibref|TR-106}}.
Examples:
: "REFER"
: "INFO"
: "X_EXAMPLE-COM_MyExt"</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string/>
            </syntax>
         </parameter>
         <parameter name="Transports" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported SIP transport protocol. {{enum}}
The list MAY include vendor-specific transports, which MUST use the format defined in {{bibref|TR-106}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="UDP"/>
                  <enumeration value="TCP"/>
                  <enumeration value="TLS"/>
                  <enumeration value="SCTP"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="URISchemes" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported URI scheme beyond the URI schemes required by the SIP specification.  Each URI scheme is given by the URI prefix, without the colon separator.  Example:
"tel, fax"</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string/>
            </syntax>
         </parameter>
         <parameter name="EventSubscription" access="readOnly" activeNotify="canDeny">
            <description>Support for SIP event subscription.  If {{true}} value indicates support for {{object|.VoiceProfile.{i}.SIP.EventSubscribe.}} and {{object|.VoiceProfile.{i}.Line.{i}.SIP.EventSubscribe.{i}.}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ResponseMap" access="readOnly" activeNotify="canDeny">
            <description>Support for SIP response map.  If {{true}} indicates support for {{object|.VoiceProfile.{i}.SIP.ResponseMap.}}.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="TLSAuthenticationProtocols" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported authentication protocol for TLS transport. {{enum}}
The list MAY include vendor-specific protocols, which MUST use the format defined in {{bibref|TR-106}}.
Support for this parameter is applicable only if the value of {{param|Transports}} includes {{enum|TLS|Transports}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="Null"/>
                  <enumeration value="MD5"/>
                  <enumeration value="SHA-1"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="TLSAuthenticationKeySizes" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item represents a supported TLS authentication key size.
Support for this parameter is applicable only if the value of {{param|Transports}} includes {{enum|TLS|Transports}} and {{param|TLSAuthenticationProtocols}} is present and non-empty and includes at least one value other than {{enum|Null|TLSAuthenticationProtocols}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="TLSEncryptionProtocols" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported authentication protocol for TLS transport.  {{enum}}
The list MAY include vendor-specific protocols, which MUST use the format defined in {{bibref|TR-106}}.
Support for this parameter is applicable only if the value of {{param|Transports}}  includes "{{enum|TLS|Transports}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="Null"/>
                  <enumeration value="RC4"/>
                  <enumeration value="RC2"/>
                  <enumeration value="DES"/>
                  <enumeration value="3DES"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="TLSEncryptionKeySizes" access="readOnly" activeNotify="canDeny">
            <description>{{list}}  Each item is a supported TLS encryption key size.
Support for this parameter is applicable only if the value of {{param|Transports}} includes {{enum|TLS|Transports}} and {{param|TLSEncryptionProtocols}} is present and non-empty and includes at least one value other than {{enum|Null|TLSEncryptionProtocols}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="TLSKeyExchangeProtocols" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported authentication protocol for TLS transport.  {{enum}}
The list MAY include vendor-specific protocols, which MUST use the format defined in {{bibref|TR-106}}.
Support for this parameter is applicable only if {{param|Transports}}  includes the value {{enum|TLS|Transports}} and {param|TLSEncryptionProtocols}} is present and non-empty and includes at least one value other than {{enum|Null|TLSEncryptionProtocols}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="RSA"/>
                  <enumeration value="DSS"/>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.Capabilities.MGCP." access="readOnly" minEntries="1" maxEntries="1">
         <description>MGCP-specific capabilities.  Applicable only if the value of {{param|.Capabilities.SignalingProtocols}} includes the value {{pattern|MGCP|.Capabilities.SignalingProtocols}} or {{pattern|MGCP-NCS|.Capabilities.SignalingProtocols}}. </description>
         <parameter name="Extensions" access="readOnly" activeNotify="canDeny">
            <description>{{list}}  Each item is a supported optional MGCP package.  MGCP packages are listed using the uppercase package abbreviation.
The list MAY include vendor-specific extensions, which MUST use the format defined in {{bibref|TR-106}}.
Examples:
: "BP"
: "X_EXAMPLE-COM_MyExt"</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.Capabilities.H323." access="readOnly" minEntries="1" maxEntries="1">
         <description>H.323-specific capabilities.  Applicable only if the value of {{param|.Capabilities.SignalingProtocols}}  includes {{pattern|H\.323|.Capabilities.SignalingProtocols}}.</description>
         <parameter name="FastStart" access="readOnly" activeNotify="canDeny">
            <description>Support for H323 fast start.  If {{true}} indicates support for fast start.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="H235AuthenticationMethods" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported authentication method. {{enum}}
The list MAY include vendor-specific protocols, which MUST use the format defined in {{bibref|TR-106}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumeration value="dhExch">
                     <description>Diffie-Hellman</description>
                  </enumeration>
                  <enumeration value="pwdSymEnc">
                     <description>password with symmetric encryption</description>
                  </enumeration>
                  <enumeration value="pwdHash">
                     <description>password with hashing</description>
                  </enumeration>
                  <enumeration value="certSign">
                     <description>certificate with signature</description>
                  </enumeration>
                  <enumeration value="ipsec">
                     <description>IPSEC based connection</description>
                  </enumeration>
                  <enumeration value="tls">
                     <description>TLS</description>
                  </enumeration>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.Capabilities.Codecs.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" >
         <description>Table to describe the set of supported codecs.  The table MUST include a distinct entry for each supported combination of these {{param|Codec}} and {{param|BitRate}}.
Applicable only for a VoIP endpoint.</description>
         <uniqueKey>
            <parameter ref="EntryID"/>
         </uniqueKey>
         <uniqueKey>
            <parameter ref="Codec"/>
            <parameter ref="BitRate"/>
         </uniqueKey>
         <parameter name="EntryID" access="readOnly" activeNotify="canDeny">
            <description>Unique identifier for each entry in this table.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="Codec" access="readOnly" activeNotify="canDeny">
            <description>Identifier of the type of codec. {{enum}}
The parameter MAY instead be a vendor-specific codec, which MUST be in the format defined in {{bibref|TR-106}}.  For example:
"X_EXAMPLE-COM_MyCodec"</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="G.711MuLaw"/>
                  <enumeration value="G.711ALaw"/>
                  <enumeration value="G.726"/>
                  <enumeration value="G.729"/>
                  <enumeration value="G.729a"/>
                  <enumeration value="G.729e"/>
                  <enumeration value="G.728"/>
                  <enumeration value="G.723.1"/>
                  <enumeration value="G.722"/>
                  <enumeration value="G.722.1"/>
                  <enumeration value="G.722.2"/>
                  <enumeration value="GSM-FR"/>
                  <enumeration value="GSM-HR"/>
                  <enumeration value="GSM-EFR"/>
                  <enumeration value="iLBC"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="BitRate" access="readOnly" activeNotify="canDeny">
            <description>Bit rate, specified in {{units}}.  The value MUST be among the values appropriate for the specified codec.</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="PacketizationPeriod" access="readOnly" activeNotify="canDeny">
            <description>{{list}} Each item is a supported packetization period, in milliseconds, or a continuous range of packetization periods.  Ranges are indicated as a hyphen-separated pair of unsigned integers.  Examples:
: "20" indicates a single discrete value.
: "10, 20, 30" indicates a set of discrete values.
: "5-40" indicates a continuous inclusive range.
: "5-10, 20, 30" indicates a continuous range in addition to a set of discrete values.
A range MUST only be indicated if all values within the range are supported.</description>
            <syntax>
               <list/>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="SilenceSuppression" access="readOnly" activeNotify="canDeny">
            <description>If {{true}} indicates support for silence suppression for this codec.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="VoiceProfileNumberOfEntries" enableParameter="Enable">
         <description>Object associated with a collection of voice lines with common characteristics.  Support for adding and removing profiles is conditional on whether more than one profile is supported as indicated by {{param|.Capabilities.MaxProfileCount}}.  By default, a single VoiceProfile object SHOULD be present in a VoiceService, initially in the disabled state.</description>
         <uniqueKey>
         <parameter ref="Name"></parameter>
         </uniqueKey>
         <parameter name="Enable" access="readWrite">
            <description>Enables or disables all lines in this profile, or places them into a quiescent state. {{enum}}
If the value is {{enum|Quiescent}}, in-progress sessions remain intact, but no new sessions are allowed.  If the value is set to {{enum|Quiescent}} in a CPE that does not support {{enum|Quiescent}}, the CPE MUST treat it as if the value is {{enum|Disabled}}.</description>
            <syntax>
               <string>
                  <enumeration value="Disabled"/>
                  <enumeration value="Quiescent" optional="true"/>
                  <enumeration value="Enabled"/>
               </string>
               <default type="object" value="Disabled"/>
            </syntax>
         </parameter>
         <parameter name="Reset" access="readWrite">
            <description>When written as {{true}}, forces the all lines in this profile to be reset, causing it to re-initialize and perform all start-up actions such as registration.  Always {{false}} when read.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="NumberOfLines" access="readOnly">
            <description>Number of instances of {{object|.VoiceProfile.{i}.Line.{i}.}} within this {{object}}.
Applicable only for a VoIP endpoint.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Name" access="readWrite">
            <description>Human-readable string to identify the profile instance.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="SignalingProtocol" access="readWrite">
            <description>The protocol to be used for this profile. </description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.SignalingProtocols"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="MaxSessions" access="readWrite">
            <description>Limit on the number of simultaneous voice sessions across all lines in this {{object}}.  Must be less than or equal to {{param|.Capabilities.MaxSessionCount}}.   (This MAY be greater than {{param|NumberOfLines}} if each line can support more than one session, for example for CPE provided conference calling.)</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="DTMFMethod" access="readWrite">
            <description>Method by which DTMF digits MUST be passed. {{enum}}
If {{param|DTMFMethodG711}} is non-empty, then this parameter applies only when the current codec is not G.711.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="InBand"/>
                  <enumeration value="RFC2833"/>
                  <enumeration value="SIPInfo">
                     <description>Applicable only if the value of {{param|SignalingProtocol}} is {{pattern|SIP|SignalingProtocol}}.</description>
                  </enumeration>
               </string>
               <default type="object" value="InBand"/>
            </syntax>
         </parameter>
         <parameter name="DTMFMethodG711" access="readWrite">
            <description>Method by which DTMF digits MUST be passed if the the current codec is G.711.  {{enum}}
If {{empty}} indicates that the value of {{param|DTMFMethod}} is to apply whether or not the the the current codec is G.711.
This parameter is applicable only for a VoIP endpoint.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="InBand"/>
                  <enumeration value="RFC2833"/>
                  <enumeration value="SIPInfo">
                     <description>Applicable only if the value of {{param|SignalingProtocol}} is {{pattern|SIP|SignalingProtocol}}.</description>
                  </enumeration>
                  <enumeration value=""></enumeration>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="Region" access="readWrite">
            <description>The geographic region associated with this profile.  This MAY be used by the CPE to customize localization settings.  If {{empty}} indicates that the region is unspecified and the CPE SHOULD use default localization settings.
This parameter is applicable only if {{param|.Capabilities.Regions}} is non-empty.</description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.Regions" nullValue=""/>
               </string>
            </syntax>
         </parameter>
         <parameter name="DigitMap" access="readWrite">
            <description>Digit map controlling the transmission of dialed digit information.  The string defines the criteria to be met as digits are collected before an outgoing request (e.g., a SIP INVITE) can be initiated.
The syntax of this parameter is exactly the syntax used by MGCP as defined in {{bibref|RFC3435|Section 2.1.5}}.
This parameter is applicable only if the device supports a dialing mechanism for which a dialing plan is needed (for example, a device with an explicit Dial button may not need to be aware of the dialing plan) and if the device does not already support a dialing plan mechanism for this profile (e.g., in-band via MGCP).
This object is supported only if {{param|.Capabilities.DigitMap}} is {{true}}.
Applicable only for a VoIP endpoint.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="DigitMapEnable" access="readWrite">
            <description>Enables use of {{param|DigitMap}}.
When {{true}}, {{object|.VoiceProfile.{i}.NumberingPlan.}}, if present, MUST be ignored.
This parameter is required if and only if both {{param|DigitMap}} and {{object|.VoiceProfile.{i}.NumberingPlan}} are present.
Applicable only for a VoIP endpoint.</description>
            <syntax>
               <boolean/>
               <default type="object" value="true"/>
            </syntax>
         </parameter>
         <parameter name="STUNEnable" access="readWrite">
            <description>Enable or disable use of STUN to allow operation through NAT.  Note: enabling STUN is to be interpreted as enabling the use of STUN for discovery, not use as a keep-alive mechanism.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="STUNServer" access="readWrite">
            <description>Domain name or IP address of the STUN server.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="NonVoiceBandwidthReservedUpstream" access="readWrite">
            <description>For bandwidth-based admission control, indicates the amount of upstream bandwidth, in {{units}}, that must be left available for non-voice traffic when determining whether a session can proceed.  This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="NonVoiceBandwidthReservedDownstream" access="readWrite">
            <description>For bandwidth-based admission control, indicates the amount of downstream bandwidth, in {{units}}, that must be left available for non-voice traffic when determining whether a session can proceed.  This parameter is appropriate only in implementations in which the actual bandwidth can be known, such as a VoIP device embedded in a DSL B-NT.</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="PSTNFailOver" access="readWrite">
            <description>Specifies whether or not the CPE SHOULD fail over to PSTN service, if available, on loss of connectivity to the VoIP service.  This parameter is appropriate only in implementations in which PSTN fail-over is possible.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="FaxPassThrough" access="readWrite">
            <description>Specifies the behavior of the CPE for pass-through of fax data. {{enum}}
If this parameter is supported, the value of {{param|.Capabilities.FaxPassThrough}} MUST be {{true}}.
This parameter is appropriate only for a VoIP endpoint.</description>
            <syntax>
               <string>
                  <enumeration value="Disable">
                     <description>Prevents the CPE from switching to a fax pass-through mode.</description>
                  </enumeration>
                  <enumeration value="Auto">
                     <description>Allows the CPE to automatically detect fax data to determine whether or not to switch to a fax pass-through mode.</description>
                  </enumeration>
                  <enumeration value="Force">
                     <description>Forces the CPE to switch to a fax pass-through mode regardless of whether fax signaling is detected.</description>
                  </enumeration>
               </string>
               <default type="object" value="Auto"/>
            </syntax>
         </parameter>
         <parameter name="ModemPassThrough" access="readWrite">
            <description>Specifies the behavior of the CPE for pass-through of modem data. {{enum}}
If this parameter is supported, the value of {{param|.Capabilities.ModemPassThrough}} MUST be {{true}}.
This parameter is appropriate only for a VoIP endpoint.</description>
            <syntax>
               <string>
                  <enumeration value="Disable">
                     <description>Prevents the CPE from switching to a modem pass-through mode.</description>
                  </enumeration>
                  <enumeration value="Auto">
                     <description>Allows the CPE to automatically detect modem data to determine whether or not to switch to a modem pass-through mode.</description>
                  </enumeration>
                  <enumeration value="Force">
                     <description>Forces the CPE to switch to a modem pass-through mode regardless of whether modem signaling is detected.</description>
                  </enumeration>
               </string>
               <default type="object" value="Auto"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.ServiceProviderInfo." access="readOnly" minEntries="1" maxEntries="1">
         <description>Information regarding the organization providing service for this voice profile instance.</description>
         <parameter name="Name" access="readWrite">
            <description>Human-readable string identifying the service provider.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="URL" access="readWrite">
            <description>URL of the service provider for this profile instance.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="ContactPhoneNumber" access="readWrite">
            <description>Phone number to contact the service provider for this profile instance.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="EmailAddress" access="readWrite">
            <description>Email address to contact the service provider for this profile instance.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.SIP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters that are specific to SIP user agents.
Creation of this object occurs on specification of {{pattern|SIP|.VoiceProfile.{i}.SignalingProtocol}}.
         </description>
         <parameter name="ProxyServer" access="readWrite">
            <description>Host name or IP address of the SIP proxy server.
All SIP signaling traffic MUST be sent to the host indicated by this parameter and the port indicated by {{param|ProxyServerPort}} unless {{param|OutboundProxy}} is non-empty or a different route was discovered during normal operations SIP routing operation.
Regardless of which host the traffic gets sent to ({{param}} or {{param|OutboundProxy}}), the value of this parameter MUST be used to derive the URI placed into the SIP Route header field of all requests originated by this end-point unless a different proxy host was discovered dynamically during normal SIP routing operations.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="ProxyServerPort" access="readWrite">
            <description>Destination port to be used in connecting to the SIP server.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="5060"/>
            </syntax>
         </parameter>
         <parameter name="ProxyServerTransport" access="readWrite">
            <description>Transport protocol to be used in connecting to the SIP server.  </description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.SIP.Transports"/>
               </string>
               <default type="object" value="UDP"/>
            </syntax>
         </parameter>
         <parameter name="RegistrarServer" access="readWrite">
            <description>Host name or IP address of the SIP registrar server.
If this parameter is {{empty}}, the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in {{param|ProxyServer}}, {{param|ProxyServerPort}}, and {{param|ProxyServerTransport}} and MUST ignore the values in {{param}}, {{param|RegistrarServerPort}} and {{param|RegistrarServerTransport}}.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="RegistrarServerPort" access="readWrite">
            <description>Destination port to be used in connecting to the SIP registrar server.
If {{param|RegistrarServer}} is empty the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in {{param|ProxyServer}}, {{param|ProxyServerPort}}, and {{param|ProxyServerTransport}} and MUST ignore the values in {{param|RegistrarServer}}, {{param}} and {{param|RegistrarServerTransport}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="5060"/>
            </syntax>
         </parameter>
         <parameter name="RegistrarServerTransport" access="readWrite">
            <description>Transport protocol to be used in connecting to the registrar server.{{enum}}
If {{param|RegistrarServer}} is empty the CPE MUST obtain all of the registrar server configuration information, including host name or IP address, port, and transport protocol, from the values in {{param|ProxyServer}}, {{param|ProxyServerPort}}, and {{param|ProxyServerTransport}} and MUST ignore the values in {{param|RegistrarServer}}, {{param|RegistrarServerPort}} and {{param}}.</description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.SIP.Transports"/>
               </string>
               <default type="object" value="UDP"/>
            </syntax>
         </parameter>
         <parameter name="UserAgentDomain" access="readWrite">
            <description>CPE domain string.  If {{empty}}, the CPE SHOULD use its IP address as the domain.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="UserAgentPort" access="readWrite">
            <description>Port used for incoming call control signaling.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="UserAgentTransport" access="readWrite">
            <description>Transport protocol to be used for incoming call control signaling. </description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.SIP.Transports"/>
               </string>
               <default type="object" value="UDP"/>
            </syntax>
         </parameter>
         <parameter name="OutboundProxy" access="readWrite">
            <description>Host name or IP address of the outbound proxy.  If the value is not {{empty}}, the SIP endpoint MUST send all SIP traffic (requests and responses) to the host indicated by this parameter and the port indicated by {{param|OutboundProxyPort}}.  This MUST be done regardless of the routes discovered using normal SIP operations, including use of Route headers initialized from Service-Route and Record-Route headers previously received.   The OutboundProxy value is NOT used to generate the URI placed into the Route header of any requests.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="OutboundProxyPort" access="readWrite">
            <description>Destination port to be used in connecting to the outbound proxy.  This parameter MUST be ignored unless the value of {{param|OutboundProxy}} is non-empty.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="5060"/>
            </syntax>
         </parameter>
         <parameter name="Organization" access="readWrite">
            <description>Text string to be used in the Organization header.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="RegistrationPeriod" access="readWrite">
            <description>Period over which the user agent must periodically register, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerT1" access="readWrite">
            <description>Value of SIP timer T1, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerT2" access="readWrite">
            <description>Value of SIP timer T2, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerT4" access="readWrite">
            <description>Value of SIP timer T4, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerA" access="readWrite">
            <description>Value of SIP timer A, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerB" access="readWrite">
            <description>Value of SIP timer B, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerC" access="readWrite">
            <description>Value of SIP timer C, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerD" access="readWrite">
            <description>Value of SIP timer D, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerE" access="readWrite">
            <description>Value of SIP timer E, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerF" access="readWrite">
            <description>Value of SIP timer F, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerG" access="readWrite">
            <description>Value of SIP timer G, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerH" access="readWrite">
            <description>Value of SIP timer H, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerI" access="readWrite">
            <description>Value of SIP timer I, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerJ" access="readWrite">
            <description>Value of SIP timer J, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TimerK" access="readWrite">
            <description>Value of SIP timer K, in {{units}}, as defined in {{bibref|RFC3261}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="InviteExpires" access="readWrite">
            <description>Invite request Expires header value, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="ReInviteExpires" access="readWrite">
            <description>Re-invite request Expires header value, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RegisterExpires" access="readWrite">
            <description>Register request Expires header value, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RegistersMinExpires" access="readWrite">
            <description>Register request Min-Expires header value, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RegisterRetryInterval" access="readWrite">
            <description>Register retry interval, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="InboundAuth" access="readWrite">
            <description>Type of inbound authentication, if any, required. </description>
            <syntax>
               <string>
                  <enumeration value="None"/>
                  <enumeration value="Digest"/>
               </string>
               <default type="object" value="None"/>
            </syntax>
         </parameter>
         <parameter name="InboundAuthUsername" access="readWrite">
            <description>If inbound authentication is required, the username credentials.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="InboundAuthPassword" access="readWrite">
            <description>If inbound authentication is required, the password credentials.</description>
            <syntax hidden="true">
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="UseCodecPriorityInSDPResponse" access="readWrite">
            <description>When {{true}}, in the SDP included in an OK response to an Invite, the first listed codec MUST be the highest priority codec among those offered in the Invite, based on the priorities specified in {{object|.VoiceProfile.{i}.Line.{i}.Codec.List.{i}.}}. The list of codecs in the SDP MAY also include other lower priority codecs.
When {{false}}, there is no specific requirement for choosing the codecs listed in the SDP included in an OK response.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="DSCPMark" access="readWrite">
            <description>Diffserv code point to be used for outgoing SIP signaling packets.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="63"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="VLANIDMark" access="readWrite">
            <description>VLAN ID (as defined in {{bibref|802.1Q-2005}}) to be used for outgoing SIP signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{param}} or {{param|EthernetPriorityMark}} 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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="EthernetPriorityMark" access="readWrite">
            <description>Ethernet priority code (as defined in {{bibref|802.1Q-2005}}) to be used for outgoing SIP signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="SIPEventSubscribeNumberOfElements" access="readOnly">
            <description>Indicates the number of EventSubscribe objects.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="SIPResponseMapNumberOfElements" access="readOnly">
            <description>Indicates the number of SIPResponseMap objects.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="999"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.SIP.EventSubscribe.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="SIPEventSubscribeNumberOfElements">
         <description>Table to specify the SIP events to which the CPE MUST subscribe.
If supported, the value of {{param|.Capabilities.SIP.EventSubscription}} MUST be {{true}} and {{param|.VoiceProfile.{i}.SIP.SIPEventSubscribeNumberOfElements}} MUST be present.</description>
<uniqueKey>
<parameter ref="Event"></parameter>
<parameter ref="Notifier"></parameter>
<parameter ref="NotifierPort"></parameter>
<parameter ref="NotifierTransport"></parameter>
</uniqueKey>
         <parameter name="Event" access="readWrite">
            <description>SIP event name to appear in the EVENT header of the SIP SUBSCRIBE request.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="Notifier" access="readWrite">
            <description>Host name or IP address of the event notify server.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="NotifierPort" access="readWrite">
            <description>Destination port to be used in connecting to the event notifier.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="NotifierTransport" access="readWrite">
            <description>Transport protocol to be used in connecting to the event notifier.</description>
            <syntax>
               <string>
                  <enumerationRef targetParam=".Capabilities.SIP.Transports"/>
               </string>
               <default type="object" value="UDP"/>
            </syntax>
         </parameter>
         <parameter name="ExpireTime" access="readWrite">
            <description>Subscription refresh timer, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="seconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.SIP.ResponseMap.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="SIPResponseMapNumberOfElements">
         <description>Each entry in this table specifies the tone and message to be provided to the user for a particular SIP Response received (normally 4xx and 5xx).
If supported, the value of {{param|.Capabilities.SIP.ResponseMap}} MUST be {{true}} and {{param|.VoiceProfile.{i}.SIP.SIPResponseMapNumberOfElements}} MUST be present. 
Applicable only for a VoIP endpoint.</description>
<uniqueKey>
<parameter ref="SIPResponseNumber"></parameter>
</uniqueKey>
         <parameter name="SIPResponseNumber" access="readWrite">
            <description>The SIP Response code number.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="100" maxInclusive="999"/>
               </unsignedInt>
               <default type="object" value="100"/>
            </syntax>
         </parameter>
         <parameter name="TextMessage" access="readWrite">
            <description>The message to be provided on the screen or display of the VoIP device when the SIP response is received.
If this parameter is not {{empty}}, display of this text preempts the value of {{param|.VoiceProfile.{i}.Tone.Description.{i}.ToneText}} associated with {{param|Tone}}.  If this parameter is {{empty}}, the value of {{param|.VoiceProfile.{i}.Tone.Description.{i}.ToneText}} associated with {{param|Tone}}, if any, is displayed instead.
This parameter is applicable only for VoIP devices capable of text display.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="Tone" access="readWrite">
            <description>The tone to be played to the user when the SIP response is received.  The value corresponds to EntryID of an entry in {{object|.VoiceProfile.{i}.Tone.Description.}}.  A value of zero, or any value that is not valid, results in no tone played.  If the value of {{param|.Capabilities.ToneGeneration}} is {{false}}, no tone is played regardless of the value of this parameter.</description>
            <syntax>
               <unsignedInt>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.MGCP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters that are specific to MGCP call signaling.
Creation of this object occurs on specification of {{pattern|MGCP|.VoiceProfile.{i}.SignalingProtocol}}.
         </description>
         <parameter name="CallAgent1" access="readWrite">
            <description>Host name or IP address of the main MGCP call agent.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="CallAgentPort1" access="readWrite">
            <description>Destination port to be used in connecting with the main MGCP call agent.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="CallAgent2" access="readWrite">
            <description>Host name or IP address of the backup MGCP call agent.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="CallAgentPort2" access="readWrite">
            <description>Destination port to be used in connecting with the backup MGCP call agent.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="RetranIntervalTimer" access="readWrite">
            <description>Message retransfer interval, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
                  <units value="seconds"/>
               </unsignedInt>
               <default type="object" value="1"/>
            </syntax>
         </parameter>
         <parameter name="MaxRetranCount" access="readWrite">
            <description>Max number of message retransfers.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="10"/>
            </syntax>
         </parameter>
         <parameter name="RegisterMode" access="readWrite">
            <description>Register mode.</description>
            <syntax>
               <string>
                  <enumeration value="Wildcard"/>
                  <enumeration value="Individual"/>
               </string>
               <default type="object" value="Wildcard"/>
            </syntax>
         </parameter>
         <parameter name="LocalPort" access="readWrite">
            <description>Port listening for incoming call control signaling.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Domain" access="readWrite">
            <description>CPE domain string.  If {{empty}}, the CPE SHOULD use its IP address.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="User" access="readWrite">
            <description>User string used in accessing the call agent.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="DSCPMark" access="readWrite">
            <description>Diffserv code point to be used for outgoing MGCP signaling packets.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="63"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="VLANIDMark" access="readWrite">
            <description>VLAN ID (as defined in {{bibref|802.1Q-2005}}) to be used for outgoing MGCP signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{param}} or {{param|EthernetPriorityMark}} 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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="EthernetPriorityMark" access="readWrite">
            <description>Ethernet priority code (as defined in {{bibref|802.1D-2004}}) to be used for outgoing MGCP signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="AllowPiggybackEvents" access="readWrite">
            <description>Indicates whether or not piggyback events are allowed to the MGCP call agent.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="SendRSIPImmediately" access="readWrite">
            <description>Indicates whether or not to send RSIP immediately on restart.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.H323." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters that are specific to H.323 call signaling.
Creation of this object occurs on specification of {{pattern|H\.323|.VoiceProfile.{i}.SignalingProtocol}} as the Signaling Protocol.
         </description>
         <parameter name="Gatekeeper" access="readWrite">
            <description>Host name or IP address of H.323 Gatekeeper.</description>
            <syntax>
               <string/>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="GatekeeperPort" access="readWrite">
            <description>Destination port to be used in connecting to the H.323 Gatekeeper.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="1719"/>
            </syntax>
         </parameter>
         <parameter name="GatekeeperID" access="readWrite">
            <description>Gatekeeper ID.</description>
            <syntax>
               <string/>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="TimeToLive" access="readWrite">
            <description>Defines the TimeToLive specification in the registration with the Gatekeeper in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="seconds"/>
               </unsignedInt>
               <default type="object" value="86400"/>
            </syntax>
         </parameter>
         <parameter name="H235Authentication" access="readWrite">
            <description>Enables or disables usage of H.235 security baseline security profile as defined in {{bibref|ITU-H.235.1}} baseline security profile.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="AuthPassword" access="readWrite">
            <description>Password to be used when H.235 is enabled.</description>
            <syntax hidden="true">
               <string/>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="SendersID" access="readWrite">
            <description>In ITU-T based H.235 authentication, the sendersID is the ID of the gateway as received from the Gatekeeper. As long as the endpointID is not received from the Gatekeeper, the sendersID will be applied as configured here.  The generalID is the GatekeeperID.</description>
            <syntax>
               <string/>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="DSCPMark" access="readWrite">
            <description>Diffserv code point to be used for outgoing H.323 signaling packets.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="63"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="VLANIDMark" access="readWrite">
            <description>VLAN ID (as defined in {{bibref|802.1Q-2005}}) to be used for outgoing H.323 signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="EthernetPriorityMark" access="readWrite">
            <description>Ethernet priority code (as defined in {{bibref|802.1D-2004}}) to be used for outgoing H.323 signaling packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{param|VLANIDMark}} or {{param}} 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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.RTP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters related to the voice stream sent via RTP.
Applicable only for a VoIP endpoint.</description>
         <parameter name="LocalPortMin" access="readWrite">
            <description>Base of port range to be used for incoming RTP streams for this profile.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="LocalPortMax" access="readWrite">
            <description>Top of port range to be used for incoming RTP streams for this profile.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="DSCPMark" access="readWrite">
            <description>Diffserv code point to be used for outgoing RTP packets for this profile.  It is RECOMMENDED that by default the DSCP for RTP traffic be set to the value to indicate EF traffic.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="63"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="VLANIDMark" access="readWrite">
            <description>VLAN ID (as defined in {{bibref|802.1Q-2005}}) to be used for outgoing RTP packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="EthernetPriorityMark" access="readWrite">
            <description>Ethernet priority code (as defined in {{bibref|802.1D-2004}}) to be used for outgoing RTP packets for this profile.  A value of -1 indicates the default value is to be used.
If either {{param|VLANIDMark}} or {{param}} 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>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="TelephoneEventPayloadType" access="readWrite">
            <description>Payload type to be used for RTP telephone events.
This parameter indicates the payload type to be used for DTMF events if transmission of DTMF information is in use according to {{bibref|RFC2833}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="128"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.RTP.RTCP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters related to RTCP.
If supported, the value of {{param|.Capabilities.RTCP}} MUST be {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="Enable" access="readWrite">
            <description>Enable or disable RTCP.</description>
            <syntax>
               <boolean/>
            </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>
         <parameter name="LocalCName" access="readWrite">
            <description>Local Cname (canonical name).</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.RTP.SRTP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters for secure voice transmission via SRTP.
If supported, the value of {{param|.Capabilities.SRTP}} MUST be {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="Enable" access="readWrite">
            <description>Enable or disable the use of SRTP.
If RTCP is enabled, a true value of this parameter also implies the use of SRTCP.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="KeyingMethods" access="readWrite">
            <description>{{list}} Each item is a keying method that may be used.  By default this parameter MUST have the value of {{param|.Capabilities.SRTPKeyingMethods}}-</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumerationRef targetParam=".Capabilities.SRTPKeyingMethods"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="EncryptionKeySizes" access="readWrite">
            <description>{{list}}  Each item is an encryption key size that may be used.  By default this parameter MUST have the value of {{param|.Capabilities.SRTPEncryptionKeySizes}}.</description>
            <syntax>
               <list>
                  <size maxLength="256"/>
               </list>
               <string>
                  <enumerationRef targetParam=".Capabilities.SRTPEncryptionKeySizes"/>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.RTP.Redundancy." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice profile parameters for RTP payload redundancy as defined by {{bibref|RFC2198}}.
If supported, the value of {{param|.Capabilities.RTPRedundancy}} MUST be {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="Enable" access="readWrite">
            <description>Enable or disable the use of RTP payload redundancy as defined by {{bibref|RFC2198}}.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="PayloadType" access="readWrite">
            <description>The Payload Type of RTP packet as defined in {{bibref|RFC2198}}.  Values SHOULD be within the range of dynamic Payload Types (96-127).</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="127"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="BlockPayloadType" access="readOnly">
            <description>Block Payload Type of redundancy packet.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="127"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="FaxAndModemRedundancy" access="readWrite">
            <description>Specifies the redundancy number for fax and modem pass-through data transmissions.
A non-negative value indicates that {{bibref|RFC2198}} is to be used for fax and modem pass-through data.  The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value).
A value of -1 indicates {{bibref|RFC2198}} is not to be used for fax and modem pass-through data.
If {{param|ModemRedundancy}} is present, then {{param}} applies only to fax transmissions, but not to modem transmissions.</description>
            <syntax>
               <int>
                  <range minInclusive="-1" maxInclusive="5"/>
               </int>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="ModemRedundancy" access="readWrite">
            <description>Specifies the redundancy number for modem pass-through data transmissions.
A non-negative value indicates that {{bibref|RFC2198}} is to be used for modem pass-through data.  The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value).
A value of -1 indicates {{bibref|RFC2198}} is not to be used for modem pass-through data.</description>
            <syntax>
               <int>
                  <range minInclusive="-1" maxInclusive="5"/>
               </int>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="DTMFRedundancy" access="readWrite">
            <description>Specifies the redundancy number for DTMF transmissions.
A non-negative value indicates that {{bibref|RFC2198}} is to be used for DTMF.  The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value).
A value of -1 indicates {{bibref|RFC2198}} is not to be used for DTMF.</description>
            <syntax>
               <int>
                  <range minInclusive="-1" maxInclusive="5"/>
               </int>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="VoiceRedundancy" access="readWrite">
            <description>Specifies the redundancy number for general voice transmissions.
A non-negative value indicates that {{bibref|RFC2198}} is to be used for voice.  The value indicates the number of redundant copies to be transmitted (the total number transmitted is one plus this value).
A value of -1 indicates {{bibref|RFC2198}} is not to be used for voice.</description>
            <syntax>
               <int>
                  <range minInclusive="-1" maxInclusive="5"/>
               </int>
               <default type="object" value="-1"/>
            </syntax>
         </parameter>
         <parameter name="MaxSessionsUsingRedundancy" access="readWrite">
            <description>The maximum number of sessions using {{bibref|RFC2198}} payload redundancy simultaneously in this VoiceProfile.
A value of zero indicates no explicit limit on the number of sessions using redundancy.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.NumberingPlan." access="readOnly" minEntries="1" maxEntries="1">
         <description>This object contains information related the numbering plan.
This object is applicable only if the device supports a dialing mechanism for which a number plan is needed (for example, a device with an explicit Dial button may not need to be aware of the dialing plan) and if the device does not already support a numbering plan mechanism for this profile (e.g., in-band via MGCP).
If supported, the value of {{param|.Capabilities.NumberingPlan}} MUST be {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="MinimumNumberOfDigits" access="readWrite">
            <description>This is the minimum number of digits that must be collected before an outgoing request (e.g., a SIP INVITE) can be initiated.
If "End of Dialing" (refer to the definition of the InterDigitTimer) occurs before the minimum number of digits has been reached then the number will be considered incomplete and no request will be initiated.
In practice, searching {{object|.VoiceProfile.{i}.NumberingPlan.PrefixInfo.{i}.}} should only commence once the minimum number of digits (as specified by this parameter) has been received.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="40"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="MaximumNumberOfDigits" access="readWrite">
            <description>This is the maximum number of digits that may be collected before an outgoing request (e.g., a SIP INVITE) must be initiated. Any additional dialed digits will be ignored. This parameter is only used in the case that no match in {{object|.VoiceProfile.{i}.NumberingPlan.PrefixInfo.{i}.}} has been found.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="40"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="InterDigitTimerStd" access="readWrite">
            <description>This timer is the maximum allowable time (expressed in {{units}}) between the dialing of digits. This timer is restarted every time a digit is dialed. Expiration of this timer indicates "End of Dialing".</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="50000"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="InterDigitTimerOpen" access="readWrite">
            <description>This timer is the maximum allowable time (expressed in {{units}}) between the dialing of digits once the minimum number of digits defined on a prefix based has been reached.
This timer is only applicable to "open numbering", where the exact number of digits for a prefix is not known.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="50000"/>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="InvalidNumberTone" access="readWrite">
            <description>The tone that should be provided to the user when the number dialed is determined to be invalid.  The value corresponds to an instance of an EntryID in {{object|.VoiceProfile.{i}.Tone.Description.}}.  A value of zero, or any value that does not match a valid EntryID, results in no tone played.
If {{param|.Capabilities.ToneGeneration}} is equal to false, no tone is played regardless of the value of this parameter.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PrefixInfoMaxEntries" access="readOnly">
            <description>This is the maximum number of instances of {{object|.VoiceProfile.{i}.NumberingPlan.PrefixInfo.{i}.}} that can be supported.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PrefixInfoNumberOfEntries" access="readOnly">
            <description>Indicates the number of instances of {{object|.VoiceProfile.{i}.NumberingPlan.PrefixInfo.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.NumberingPlan.PrefixInfo.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="PrefixInfoNumberOfEntries">
         <description>Each entry in this table contains information related to an individual prefix in the numbering plan.
It is anticipated that once the minimum number of digits has been received, the VoIP device will search this prefix list every time a new digit is received. If no new entry is found, then the object that was previously found will be used instead.
If supported, {{param|.VoiceProfile.{i}.NumberingPlan.PrefixInfoMaxEntries}} and {{param|.VoiceProfile.{i}.NumberingPlan.PrefixInfoNumberOfEntries}} MUST be present.
The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.
</description>
         <parameter name="PrefixRange" access="readWrite">
            <description>This is a string representation of a range of prefixes. Each prefix consists of a "From" part consisting of 1 to n digits (string representation) followed by an optional "To" part consisting of exactly one digit prefixed by a "-" symbol. 
It should be noted that only the characters "0-9", "*": and "#" can be used to represent the "From" and "To" parts of the prefix range.
A further constraint is that the "To" digit MUST always be numerically greater than the last digit of the "From" part.
Examples:
: 02
: 031-5
: 032
: 0325
: *#34
: #22</description>
            <syntax>
               <string>
                  <size maxLength="42"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="PrefixMinNumberOfDigits" access="readWrite">
            <description>This is the minimum number of allowable digits for the prefix range. Once the minimum number of digits has been reached, {{param|.VoiceProfile.{i}.NumberingPlan.InterDigitTimerOpen}} will be used instead of {{param|.VoiceProfile.{i}.NumberingPlan.InterDigitTimerStd}}.
If the minimum number of digits has been reached and the inter-digit timer expires, an outgoing request should be initiated.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="40"/>
               </unsignedInt>
               <default type="object" value="1"/>
            </syntax>
         </parameter>
         <parameter name="PrefixMaxNumberOfDigits" access="readWrite">
            <description>This is the maximum number of allowable digits for the prefix range. Once the number of digits received reaches this value an outgoing request should be initiated.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1" maxInclusive="40"/>
               </unsignedInt>
               <default type="object" value="1"/>
            </syntax>
         </parameter>
         <parameter name="NumberOfDigitsToRemove" access="readWrite">
            <description>If this parameter has a non-zero value, the specified number of digits will be removed from the internal digit buffer (which contains the dialed digits) from the position specified by {{param|PosOfDigitsToRemove}}.
Subsequently a search of {{object}} for a matching prefix using the modified number should be performed. Note that this parameter does not have any impact on the number sent in the outgoing request - but is instead only used for searching within the Numbering Plan.
This parameter has no effect if it is set to 0.
This parameter is provided to handle Carrier override and other codes that may prefix standard numbers and to ensure that the correct "End of Dialing" can be specified without significant data duplication.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="40"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="PosOfDigitsToRemove" access="readWrite">
            <description>This parameter is used in conjunction with {{param|NumberOfDigitsToRemove}}. It specifies the position within the internal digit buffer from which the digits are to be removed.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="40"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="DialTone" access="readWrite">
            <description>The tone to be played by the VoIP device when the user has dialed exactly the same digits as defined in the prefix.  The VoIP device will cease playing the tone once an additional digit has been dialed.
The value corresponds to an instance of and EntryID in {{object|.VoiceProfile.{i}.Tone.Description.}}.  A value of zero, or any value that does not match a valid EntryID, results in no tone played.
If {{param|.Capabilities.ToneGeneration}} is equal to false, no tone is played regardless of the value of this parameter.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="FacilityAction" access="readWrite">
            <description>This is a string representing a Facility Action implemented by the VoIP device.
{{bibref|TR-104|Appendix A}} lists a set of defined values for this string.
The parameter MAY instead indicate a vendor-specific FacilityAction, which MUST use the format defined in {{bibref|TR-106}}.
An empty or unrecognized string (i.e., a Facility Action not supported by the CPE) should be treated as a normal outgoing request.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="FacilityActionArgument" access="readWrite">
            <description>Optional argument associated with {{param|FacilityAction}}.  The interpretation of the argument is dependent on a specific value of {{param|FacilityAction}}.  Where used, the value is specified in {{bibref|TR-104|Appendix A}} in the definition of the corresponding {{param|FacilityAction}} value.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Tone." access="readOnly" minEntries="1" maxEntries="1">
         <description>This object defines the contents of the tones and announcements generated locally by the VoIP device.
If this object is supported, {{param|.Capabilities.ToneGeneration}} MUST be {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="EventNumberOfEntries" access="readOnly">
            <description>Indicates the number of entries in {{object|.VoiceProfile.{i}.Tone.Event.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="DescriptionNumberOfEntries" access="readOnly">
            <description>Indicates the number of entries in {{object|.VoiceProfile.{i}.Tone.Description.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PatternNumberOfEntries" access="readOnly">
            <description>Indicates the number of entries in {{object|.VoiceProfile.{i}.Tone.Pattern.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Tone.Event.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="EventNumberOfEntries">
         <description>Table of events for which a tone is defined.  The table is pre-populated with the list of events for which the CPE supports definition of tones.
If this table is supported, {{param|.VoiceProfile.{i}.Tone.EventNumberOfEntries}} MUST be present.</description>
         <uniqueKey>
            <parameter ref="Function"/>
         </uniqueKey>
         <parameter name="Function" access="readOnly">
            <description>The event for which the tone is to apply. {{enum}}
The parameter MAY instead indicate a vendor-specific event name, which MUST use the format defined in {{bibref|TR-106}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="Busy"/>
                  <enumeration value="Confirmation"/>
                  <enumeration value="Dial"/>
                  <enumeration value="MessageWaiting"/>
                  <enumeration value="OffHookWarning"/>
                  <enumeration value="RingBack"/>
                  <enumeration value="ReOrder"/>
                  <enumeration value="Stutterdial"/>
                  <enumeration value="CallWaiting1"/>
                  <enumeration value="CallWaiting2"/>
                  <enumeration value="CallWaiting3"/>
                  <enumeration value="CallWaiting4"/>
                  <enumeration value="AlertingSignal"/>
                  <enumeration value="SpecialDial"/>
                  <enumeration value="SpecialInfo"/>
                  <enumeration value="Release"/>
                  <enumeration value="Congestion"/>
                  <enumeration value="UserDefined1"/>
                  <enumeration value="UserDefined2"/>
                  <enumeration value="UserDefined3"/>
                  <enumeration value="UserDefined4"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="ToneID" access="readWrite">
            <description>The EntryID of the entry in {{object|.VoiceProfile.{i}.Tone.Description.{i}.}} for the tone to be associated with the given event.
A value of zero indicates no tone is to be played for this event.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Tone.Description.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="DescriptionNumberOfEntries" enableParameter="ToneEnable">
         <description>Each entry in this table defines the contents of an individual tone.
If ability to add, delete, and modify entries in this table is supported, {{param|.Capabilities.ToneDescriptionsEditable}} MUST be {{true}}.
If this table is supported, {{param|.VoiceProfile.{i}.Tone.DescriptionNumberOfEntries}} MUST be present.
The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.
</description>
         <uniqueKey>
            <parameter ref="EntryID"/>
         </uniqueKey>
         <parameter name="EntryID" access="readOnly">
            <description>Unique identifier of this tone.  Assigned by the CPE upon creation of the entry.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="ToneEnable" access="readWrite">
            <description>Enables or disables the tone entry.  If a disabled tone entry is referenced, the result is that no tone is played.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="ToneName" access="readWrite">
            <description>Name of the tone. 
This parameter is required to be editable only {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="TonePattern" access="readWrite">
            <description>EntryID of the entry in {{object|.VoiceProfile.{i}.Tone.Pattern.}} that begins the tone pattern for this tone.  If the tone is specified by a tone file instead of a tone pattern, this parameter MUST be set to zero.
This parameter is applicable only if {{param|.Capabilities.PatternBasedToneGeneration}} is equal to {{true}}.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="ToneFile" access="readWrite">
            <description>This is the file name of a tone file that has been downloaded to the CPE.  The download may have occurred via the TR-069 Download mechanism or by some other means.
If the tone is specified by a tone pattern instead of a tone file, this parameter MUST be {{empty}}.
This parameter is applicable only if {{param|.Capabilities.FileBasedToneGeneration}} is equal to {{true}}.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="ToneRepetitions" access="readWrite">
            <description>The default number of times the data in {{param|ToneFile}} should be repeated. If the value 0 (zero) is specified then {{param|ToneFile}} should be played indefinitely.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="255"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="ToneText" access="readWrite">
            <description>The text to be displayed by on the screen of the VoIP device when the tone is played and no specific error message has been provided.
This parameter is applicable only for VoIP devices capable text display.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Tone.Pattern.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="PatternNumberOfEntries">
         <description>Each entry in the table defines a single phase in an overall tone pattern.  Each phase identifies the entry that corresponds to the next phase.
Each entry in the table refers to the entry that corresponds to the next phase of the pattern.  The table MAY be set up such that entries form loops, or MAY end after a finite sequence.
If this object is supported, {{param|.Capabilities.PatternBasedToneGeneration}} MUST be equal to {{true}}, and {{param|.VoiceProfile.{i}.Tone.PatternNumberOfEntries}} MUST be present.
If ability to add, delete, and modify entries in this table is supported, {{param|.Capabilities.ToneDescriptionsEditable}} MUST be equal to {{true}}.
The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.
</description>
         <uniqueKey>
            <parameter ref="EntryID"/>
         </uniqueKey>
         <parameter name="EntryID" access="readWrite">
            <description>Identifier of a tone-pattern entry.  This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.
Note: when {{param|.Capabilities.ToneDescriptionsEditable}} is {{true}}, this parameter is editable so that the {{param|NextEntryID}} values for each table entry can be pre-assigned for a series of associated table entries rather than requiring the ACS to set the value according to an ID assigned dynamically upon creation of each entry.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="ToneOn" access="readWrite">
            <description>Whether or not a tone is on during this phase of the pattern.  If the value is {{false}}, the frequency and power parameters in this entry MUST be ignored.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="Frequency1" access="readWrite">
            <description>First tone frequency in {{units}}. 
A value of zero indicates this tone component is not used.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="4095"/>
                  <units value="hertz"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Power1" access="readWrite">
            <description>First tone power level in units of 0.1 {{units}}.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <int>
                  <units value="dBm0"/>
               </int>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Frequency2" access="readWrite">
            <description>Second tone frequency in {{units}}.
A value of zero indicates this tone component is not used.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="4095"/>
                  <units value="hertz"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Power2" access="readWrite">
            <description>Second tone power level in units of 0.1 {{units}}.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <int>
                  <units value="dBm0"/>
               </int>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Frequency3" access="readWrite">
            <description>Third tone frequency in {{units}}.
A value of zero indicates this tone component is not used.
This parameter is required to be editable only if the parameter is supported for reading and {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="4095"/>
                  <units value="hertz"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Power3" access="readWrite">
            <description>Third tone power level in units of 0.1 {{units}}.
This parameter is required to be editable only if the parameter is supported for reading and {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <int>
                  <units value="dBm0"/>
               </int>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Frequency4" access="readWrite">
            <description>Fourth tone frequency in {{units}}.
A value of zero indicates this tone component is not used.
This parameter is required to be editable only if the parameter is supported for reading and {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="4095"/>
                  <units value="herts"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Power4" access="readWrite">
            <description>Fourth tone power level in units of 0.1 {{units}}.
This parameter is required to be editable only if the parameter is supported for reading and {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <int>
                  <units value="dBm0"/>
               </int>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="ModulationFrequency" access="readWrite">
            <description>Modulation frequency in {{units}}.
A value of zero indicates this tone component is not used.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="4095"/>
                  <units value="hertz"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="ModulationPower" access="readWrite">
            <description>Modulation power level in units of 0.1 {{units}}.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <int>
                  <units value="dBm0"/>
               </int>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="Duration" access="readWrite">
            <description>The duration of this phase of the tone pattern, in {{units}}.
A value of zero indicates an unlimited duration.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="milliseconds"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="NextEntryID" access="readWrite">
            <description>The {{param|EntryID}} for the next phase of the tone pattern, after the specified {{param|Duration}} of this phase has completed.
A value of zero indicates that the tone pattern is to terminate after the current phase is completed.
This parameter is required to be editable only if {{param|.Capabilities.ToneDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.ButtonMap." access="readOnly" minEntries="1" maxEntries="1">
         <description>This object is provided to permit the purpose of the CPE buttons and function keys to be defined via the ACS.
Support of this object is appropriate only for a device that has programmable buttons in its user interface.
If this object is supported, {{param|.Capabilities.ButtonMap}} MUST be equal to {{true}}.
Applicable only for a VoIP endpoint.</description>
         <parameter name="NumberOfButtons" access="readOnly">
            <description>Indicates the number of Button objects.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.ButtonMap.Button.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="NumberOfButtons">
         <description>Each entry in this table specifies the purpose of each programmable CPE button / function key and whether the user has permission to reprogram the button.</description>
         <uniqueKey>
            <parameter ref="ButtonName"/>
         </uniqueKey>
         <parameter name="ButtonName" access="readOnly">
            <description>Name of the Button.</description>
            <syntax>
               <string>
                  <size maxLength="16"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="FacilityAction" access="readWrite">
            <description>This is an optional parameter that should only be specified for buttons related to a particular Facility Action (e.g., invocation of "Call Return") implemented by the VoIP device.
{{bibref|TR-104|Appendix A}} lists a set of defined values for this string.
The parameter MAY instead indicate a vendor-specific FacilityAction, which MUST use the format defined in {{bibref|TR-106}}.
An empty or unrecognized string (i.e. a Facility Action not supported by the CPE) should be treated as no Facility Action to be taken.
Note that If this parameter is specified (non-empty) then {{param|QuickDialNumber}} SHOULD be {{empty}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="FacilityActionArgument" access="readWrite">
            <description>Optional argument associated with the specified {{param|FacilityAction}}.  The interpretation of the argument is dependent on the specific FacilityAction.  Where used, the value is specified in {{bibref|TR-104|Appendix A}} in the definition of the corresponding {{param|FacilityAction}} value.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="QuickDialNumber" access="readWrite">
            <description>This is a string representing a quick dial destination number. Only the characters '0-9', '*' and '#' can be used.
Note that If this parameter is specified (non-empty) then {{param|FacilityAction}} should be {{empty}}.</description>
            <syntax>
               <string>
                  <size maxLength="40"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="ButtonMessage" access="readWrite">
            <description>This string represents the message to be displayed on the screen when the button or function key is pressed.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="UserAccess" access="readWrite">
            <description>This parameter indicates whether the user has permission to program the button or function key. If this parameter is set to {{true}} then {{param|FacilityAction}}, {{param|QuickDialNumber}} and {{param|ButtonMessage}} MUST all be {{empty}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.FaxT38." access="readOnly" minEntries="1" maxEntries="1">
         <description>T.38 Fax information for devices that support T.38 relay.
If this object is supported, {{param|.Capabilities.FaxT38}} MUST be equal to {{true}}.
Applicable only to a VoIP endpoint.</description>
         <parameter name="Enable" access="readWrite">
            <description>Enable or disable the use of T.38.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="BitRate" access="readWrite">
            <description>Maximum data rate for fax.</description>
            <syntax>
               <unsignedInt>
                  <range maxInclusive="2400" minInclusive="2400"/>
                  <range minInclusive="4800" maxInclusive="4800"/>
                  <range minInclusive="7200" maxInclusive="7200"/>
                  <range maxInclusive="9600" minInclusive="9600"/>
                  <range maxInclusive="12000" minInclusive="12000"/>
                  <range maxInclusive="14400" minInclusive="14400"/>
                  <range minInclusive="33600" maxInclusive="33600"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="HighSpeedPacketRate" access="readWrite">
            <description>The rate at which high speed data will be sent across the network, in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="milliseconds"/>
                  <range maxInclusive="10" minInclusive="10"/>
                  <range maxInclusive="20" minInclusive="20"/>
                  <range maxInclusive="30" minInclusive="30"/>
                  <range maxInclusive="40" minInclusive="40"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="HighSpeedRedundancy" access="readWrite">
            <description>Specifies the packet-level redundancy for high-speed data transmissions (i.e., T.4 image data).</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="3"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="LowSpeedRedundancy" access="readWrite">
            <description>Specifies the packet-level redundancy for low-speed data transmissions (i.e., T.30 handshaking information). </description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="5"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TCFMethod" access="readWrite">
            <description>The method with which data is handled over the network.</description>
            <syntax>
               <string>
                  <enumeration value="Local"/>
                  <enumeration value="Network"/>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="NumberOfLines" enableParameter="Enable">
         <description>Object associated with a distinct voice line.  Support for adding and removing lines is conditional on whether the CPE supports more than one line in total as indicated by {{param|.Capabilities.MaxLineCount}}.  By default, on creation of a given {{object|.VoiceProfile.{i}.}}, a single Line object MUST be present, initially with value {{enum|Disabled|Enable}}.
Applicable only for a VoIP endpoint.</description>
         <uniqueKey>
            <parameter ref="DirectoryNumber"/>
         </uniqueKey>
         <parameter name="Enable" access="readWrite">
            <description>Enables or disables this line, or places it into a quiescent state. {{enum}}
In the {{enum|Quiescent}} state, in-progress sessions remain intact, but no new sessions are allowed. If this parameter is set to {{enum|Quiescent}} in a CPE that does not support the {{enum|Quiescent}} state, it MUST treat it the same as the {{enum|Disabled}} state (and indicate {{enum|Disabled|Status}} in {{param|Status}}).</description>
            <syntax>
               <string>
                  <enumeration value="Disabled"/>
                  <enumeration value="Quiescent" optional="true"/>
                  <enumeration value="Enabled"/>
               </string>
               <default type="object" value="Disabled"/>
            </syntax>
         </parameter>
         <parameter name="DirectoryNumber" access="readWrite">
            <description>Directory number associated with this line.  May be used to identify the line to the user.
In case of H.323 signaling, this MUST be an E.164 number.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="Status" access="readOnly">
            <description>Indicates the status of this line.</description>
            <syntax>
               <string>
                  <enumeration value="Up"/>
                  <enumeration value="Initializing"/>
                  <enumeration value="Registering"/>
                  <enumeration value="Unregistering"/>
                  <enumeration value="Error"/>
                  <enumeration value="Testing"/>
                  <enumeration value="Quiescent"/>
                  <enumeration value="Disabled"/>
               </string>
               <default type="object" value="Disabled"/>
            </syntax>
         </parameter>
         <parameter name="CallState" access="readOnly" activeNotify="canDeny">
            <description>Indicates the call state for this line.</description>
            <syntax>
               <string>
                  <enumeration value="Idle"/>
                  <enumeration value="Calling"/>
                  <enumeration value="Ringing"/>
                  <enumeration value="Connecting"/>
                  <enumeration value="InCall"/>
                  <enumeration value="Hold"/>
                  <enumeration value="Disconnecting"/>
               </string>
               <default type="object" value="Idle"/>
            </syntax>
         </parameter>
         <parameter name="PhyReferenceList" access="readWrite">
            <description>{{list}} Each item corresponds to the value of a particular instance of {{param|.PhyInterface.{i}.InterfaceID}}.</description>
            <syntax>
               <list>
                  <size maxLength="32"/>
               </list>
               <string/>
            </syntax>
         </parameter>
         <parameter name="RingMuteStatus" access="readOnly">
            <description>Whether or not ringing has been locally muted.  Applicable only if the line is associated with a single telephony device for which ringing can be muted.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="RingVolumeStatus" access="readOnly">
            <description>Percent value of current ringer volume level.  Applicable only if the line is associated with a single telephony device for which the ringer volume can be controlled.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="100"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice line parameters that are specific to SIP call signaling.</description>
         <parameter name="AuthUserName" access="readWrite">
            <description>Username used to authenticate the connection to the server.</description>
            <syntax>
               <string>
                  <size maxLength="128"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="AuthPassword" access="readWrite">
            <description>Password used to authenticate the connection to the server.</description>
            <syntax hidden="true">
               <string>
                  <size maxLength="128"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="URI" access="readWrite">
            <description>URI by which the user agent will identify itself for this line.
If empty, the actual URI used in the SIP signaling SHOULD be automatically formed by the CPE as:
"sip:UserName@Domain"
Where UserName is username given for this line in {{param|AuthUserName}}, and Domain is the domain given for this profile in {{param|.VoiceProfile.{i}.SIP.UserAgentDomain}}.  If {{param|.VoiceProfile.{i}.SIP.UserAgentDomain}} is {{empty}}, then the IP address of the CPE SHOULD be used for the domain.
If URI is non-empty, but is a SIP or SIPS URI that contains no "@" character, then the actual URI used in the SIP signaling SHOULD be automatically formed by the CPE by appending this parameter with an "@" character followed by the value of {{param|.VoiceProfile.{i}.SIP.UserAgentDomain}}.  If {{param|.VoiceProfile.{i}.SIP.UserAgentDomain}} is {{empty}}, then the IP address of the CPE SHOULD be used for the domain.</description>
            <syntax>
               <string>
                  <size maxLength="389"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="SIPEventSubscribeNumberOfElements" access="readOnly">
            <description>Indicates the number of EventSubscribe objects.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP.EventSubscribe.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="SIPEventSubscribeNumberOfElements">
         <description>Table of SIP Events automatically populated by the CPE with each of the SIP event subscriptions in {{object|.VoiceProfile.{i}.SIP.EventSubscribe.{i}.}}.  This table allows specification of the authentication credentials needed for each event subscription.
If this table is supported, {{param|.Capabilities.SIP.EventSubscription}} MUST be equal to {{true}} and {{param|.VoiceProfile.{i}.Line.{i}.SIP.SIPEventSubscribeNumberOfElements}} MUST be present.</description>
         <parameter name="Event" access="readOnly">
            <description>SIP event name corresponding to the value given in {{object|.VoiceProfile.{i}.SIP.EventSubscribe.{i}.}}.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="AuthUserName" access="readWrite">
            <description>Username used to authenticate the connection to the event notify server.</description>
            <syntax>
               <string>
                  <size maxLength="128"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="AuthPassword" access="readWrite">
            <description>Password used to authenticate the connection to the event notify server.</description>
            <syntax hidden="true">
               <string>
                  <size maxLength="128"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.MGCP." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice line parameters that are specific to MGCP call signaling.</description>
         <parameter name="LineName" access="readWrite">
            <description>Used to identify the line when using MGCP signaling.  If empty, the CPE SHOULD use the default names "aaln/1", etc.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.H323." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice line parameters that are specific to H.323 call signaling.</description>
         <parameter name="H323ID" access="readWrite">
            <description>The H.323 ID assigned to the line.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Ringer." access="readOnly" minEntries="1" maxEntries="1">
         <description>This object defines the ring sequences generated by the VoIP device. 
If this object is supported, {{param|.Capabilities.RingGeneration}} MUST be equal to {{true}}.</description>
         <parameter name="EventNumberOfEntries" access="readOnly">
            <description>Number of entries in {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Event.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="DescriptionNumberOfEntries" access="readOnly">
            <description>Number of entries in {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Description.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PatternNumberOfEntries" access="readOnly">
            <description>Number of entries in {{object|.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.{i}.}}.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Ringer.Event.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" numEntriesParameter="EventNumberOfEntries">
         <description>Table of events for which a ring pattern is defined.  The table is pre-populated with the complete list of events for which the CPE supports definition of ring patterns.
If this table is supported, {{param|.VoiceProfile.{i}.Line.{i}.Ringer.EventNumberOfEntries}} MUST be present.</description>
         <uniqueKey>
            <parameter ref="Function"/>
         </uniqueKey>
         <parameter name="Function" access="readOnly">
            <description>The event for which the ring pattern is to apply. {{enum}}
The parameter MAY instead indicate a vendor-specific event name, which MUST use the format defined in {{bibref|TR-106}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="Default"/>
                  <enumeration value="RingSplash"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="RingID" access="readWrite">
            <description>The value of an instance of {{param|.VoiceProfile.{i}.Line.{i}.Ringer.Description.{i}.EntryID}} for the ring to be associated with the given event.
A value of zero indicates ringing is to be disabled for this event.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Ringer.Description.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="DescriptionNumberOfEntries" enableParameter="RingEnable">
         <description>Each entry in this table defines the contents of an individual ring specification.
If ability to add, delete, and modify entries in this table is supported, {{param|.Capabilities.RingDescriptionsEditable}} MUST be equal to {{true}}.
If this table is supported, the parameter DescriptionNumberOfEntries in the parent object MUST be present.
The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.
</description>
         <uniqueKey>
            <parameter ref="EntryID"/>
         </uniqueKey>
         <parameter name="EntryID" access="readOnly">
            <description>Unique identifier of this ring description.  Assigned by the CPE upon creation of the entry.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RingEnable" access="readWrite">
            <description>Enables or disables the ring description entry.  If a disabled ring description entry is referenced, the result is that no ring is played.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="RingName" access="readWrite">
            <description>Name of the ring description. 
This parameter is required to be editable only if {{param|.Capabilities.RingDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
         <parameter name="RingPattern" access="readWrite">
            <description>The instance of {{param|.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.{i}.EntryID}} that begins the ring pattern for this ring description.
If the ring is specified by a ring file instead of a ring pattern, this parameter MUST be set to zero.
This parameter is applicable only if {{param|.Capabilities.PatternBasedRingGeneration}} is equal to {{true}}.
This parameter is required to be editable only if {{param|.Capabilities.RingDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="RingFile" access="readWrite">
            <description>This is the file name of a ring file that has been downloaded to the CPE.  The download may have occurred via the TR-069 Download mechanism or by some other means.
If the ring is specified by a ring pattern instead of a ring file, this parameter MUST be empty.
This parameter is applicable only if {{param|.Capabilities.FileBasedRingGeneration}} is equal to {{true}}.
This parameter is required to be editable only {{param|.Capabilities.RingDescriptionsEditable}} is equal to {{true}}.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
               <default type="object" value=""/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Ringer.Pattern.{i}." access="readWrite" minEntries="0" maxEntries="unbounded" numEntriesParameter="PatternNumberOfEntries">
         <description>Each entry in the table defines a single phase in an overall ring pattern.  Each phase identifies the entry that corresponds to the next phase.
Each entry in the table refers to the entry that corresponds to the next phase of the pattern.  The table MAY be set up such that entries form loops, or MAY end after a finite sequence.
If this object is supported, {{param|.Capabilities.PatternBasedRingGeneration}} MUST be equal to {{true}} and {{param|.VoiceProfile.{i}.Line.{i}.Ringer.PatternNumberOfEntries}} MUST be present.
If ability to add, delete, and modify entries in this table is supported, {{param|.Capabilities.RingPatternEditable}} MUST be equal to {{true}}.
The defaults given for this object apply only to explicit creation of an instance of this object and not to automatic creation of instances of this object due to creation of a parent object.
</description>
         <uniqueKey>
            <parameter ref="EntryID"/>
         </uniqueKey>
         <parameter name="EntryID" access="readWrite">
            <description>Identifier of a ring-pattern entry.
This parameter is required to be editable only if {{param|.Capabilities.RingPatternEditable}} is equal to {{true}}.
Note: when {{param|.Capabilities.RingPatternEditable}} is {{true}}, this parameter is editable so that the {{param|NextEntryID}} values for each table entry can be pre-assigned for a series of associated table entries rather than requiring the ACS to set the value according to an ID assigned dynamically upon creation of each entry.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RingerOn" access="readWrite">
            <description>If {{true}}, indicates the ringer is to be on for the specified period.  {{false}} indicates the ringer is to be off for the specified period.
This parameter is required to be editable only if {{param|.Capabilities.RingPatternEditable}} is equal to {{true}}.</description>
            <syntax>
               <boolean/>
               <default type="object" value="false"/>
            </syntax>
         </parameter>
         <parameter name="Duration" access="readWrite">
            <description>The duration of this phase of the ring pattern, in {{units}}.
A value of zero indicates an unlimited duration.
This parameter is required to be editable only if {{param|.Capabilities.RingPatternEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="milliseconds"/>
               </unsignedInt>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
         <parameter name="NextEntryID" access="readWrite">
            <description>The value of {{param|EntryID}} for the next phase of the ring pattern, after the value specified by {{param|Duration}} of this phase has completed.
A value of zero indicates that the ring pattern is to terminate after the current phase is completed.
This parameter is required to be editable only if {{param|.Capabilities.RingPatternEditable}} is equal to {{true}}.</description>
            <syntax>
               <unsignedInt/>
               <default type="object" value="0"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.CallingFeatures." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice line parameters related to optional endpoint based calling features.</description>
         <parameter name="CallerIDEnable" access="readWrite">
            <description>Enable or disable the transmission of caller ID information on outgoing calls.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallerIDNameEnable" access="readWrite">
            <description>Enable or disable the transmission of caller ID name information on outgoing calls.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallerIDName" access="readWrite">
            <description>String used to identify the caller.</description>
            <syntax>
               <string>
                  <size maxLength="256"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="CallWaitingEnable" access="readWrite">
            <description>Enable or disable call waiting in the endpoint.  This parameter should not be present if the CPE does not support endpoint managed call waiting.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallWaitingStatus" access="readOnly">
            <description>Status of endpoint managed call waiting, if supported.  {{enum}}
This parameter should not be present if the CPE does not support endpoint managed call waiting.</description>
            <syntax>
               <string>
                  <enumeration value="Disabled"/>
                  <enumeration value="Idle"/>
                  <enumeration value="SecondaryRinging"/>
                  <enumeration value="SecondaryConnecting"/>
                  <enumeration value="SecondaryConnected"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="MaxSessions" access="readWrite">
            <description>Indicates the maximum number of simultaneous sessions that may be conferenced together by the endpoint.  This value SHOULD be less than the value of {{param|.Capabilities.MaxSessionsPerLine}}.  This parameter should not be present if the CPE does not support endpoint managed conference calling.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="ConferenceCallingStatus" access="readOnly">
            <description>Status of endpoint managed conference calling, if supported.  {{enum}}
This parameter should not be present if the CPE does not support endpoint managed conference calling.</description>
            <syntax>
               <string>
                  <enumeration value="Disabled"/>
                  <enumeration value="Idle"/>
                  <enumeration value="SecondaryCalling"/>
                  <enumeration value="SecondaryConnecting"/>
                  <enumeration value="SecondaryConnected"/>
                  <enumeration value="InConferenceCall"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="ConferenceCallingSessionCount" access="readOnly">
            <description>Number of active sessions on this line.  This parameter should not be present if the CPE does not support endpoint managed conference calling.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="0">
                     <description>No Call in Progress</description>
                  </range>
                  <range minInclusive="1" maxInclusive="1">
                     <description>Single call in progress</description>
                  </range>
                  <range minInclusive="1">
                     <description>Conference call in progress</description>
                  </range>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="CallForwardUnconditionalEnable" access="readWrite">
            <description>Enable or disable call forwarding by the endpoint.  This parameter should not be present if the CPE does not support endpoint based call forwarding.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallForwardUnconditionalNumber" access="readWrite">
            <description>Directory number to which all incoming calls to this line should be forwarded if {{param|CallForwardUnconditionalEnable}} is {{true}}.  This parameter should not be present if the CPE does not support endpoint based call forwarding</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="CallForwardOnBusyEnable" access="readWrite">
            <description>Enable or disable call forwarding-on-busy by the endpoint.  This parameter should not be present if the CPE does not support endpoint based call forwarding.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallForwardOnBusyNumber" access="readWrite">
            <description>Directory number to which all incoming calls to this line should be forwarded if {{param|CallForwardOnBusyEnable}} is {{true}} and the line is busy.  This parameter should not be present if the CPE does not support endpoint based call forwarding</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="CallForwardOnNoAnswerEnable" access="readWrite">
            <description>Enable or disable call forwarding-on-no-answer by the endpoint.  This parameter should not be present if the CPE does not support endpoint based call forwarding.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallForwardOnNoAnswerNumber" access="readWrite">
            <description>Directory number to which all incoming calls to this line should be forwarded if {{param|CallForwardOnNoAnswerEnable}} is {{true}} and there is no local answer.  This parameter should not be present if the CPE does not support endpoint based call forwarding</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="CallForwardOnNoAnswerRingCount" access="readWrite">
            <description>Number of rings before considering there to be no answer for call forwarding-on-no-answer.  This parameter should not be present if the CPE does not support endpoint based call forwarding</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="CallTransferEnable" access="readWrite">
            <description>Enable or disable call transfer by the endpoint.  This parameter should not be present if the CPE does not support endpoint based call transfer.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="MWIEnable" access="readWrite">
            <description>Enable or disable Message Waiting Indication by the endpoint.  This parameter should not be present if the CPE does not support MWI.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="MessageWaiting" access="readOnly">
            <description>Indicates whether or not a message is currently waiting on this line as known by the CPE.  This parameter should not be present if the CPE does not support MWI.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="AnonymousCallBlockEnable" access="readWrite">
            <description>Enable or disable Anonymous Call Block capability in the endpoint.  This parameter should not be present if the CPE does not support endpoint based Anonymous Call Block capability.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="AnonymousCalEnable" access="readWrite">
            <description>Enable or disable Anonymous Call capability in the endpoint.  This parameter should not be present if the CPE does not support endpoint based Anonymous Call capability.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="DoNotDisturbEnable" access="readWrite">
            <description>Enable or disable Do Not Disturb capability in the endpoint.  This parameter should not be present if the CPE does not support endpoint based Do Not Disturb capability.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="CallReturnEnable" access="readWrite">
            <description>Enable or disable Call Return capability in the endpoint.  This parameter should not be present if the CPE does not support endpoint based Call Return capability.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="RepeatDialEnable" access="readWrite">
            <description>Enable or disable Repeat Dial capability in the endpoint.  This parameter should not be present if the CPE does not support endpoint based Repeat Dial capability.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.VoiceProcessing." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice line parameters related to voice processing capabilities.</description>
         <parameter name="TransmitGain" access="readWrite">
            <description>Gain in {{units}} to apply to the transmitted voice signal prior to encoding.  This gain is a modifier of the default transmit-gain, which is unspecified.</description>
            <syntax>
               <int>
                  <units value="01. dB"/>
               </int>
            </syntax>
         </parameter>
         <parameter name="ReceiveGain" access="readWrite">
            <description>Gain in {{units}} to apply to the received voice signal after decoding.  This gain is a modifier of the default receive-gain, which is unspecified.</description>
            <syntax>
               <int>
                  <units value="0.1 dB"/>
               </int>
            </syntax>
         </parameter>
         <parameter name="EchoCancellationEnable" access="readWrite">
            <description>Enable or disable echo cancellation for this line.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="EchoCancellationInUse" access="readOnly">
            <description>Indication of whether or not echo cancellation is currently in use for this line.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="EchoCancellationTail" access="readOnly">
            <description>Tail length in {{units}} of the echo canceller associated with this line (whether or not it is currently in use).</description>
            <syntax>
               <unsignedInt>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Codec." access="readOnly" minEntries="1" maxEntries="1">
         <description>This object indicates the state of the transmit and receive codec for this voice line instance.</description>
         <parameter name="TransmitCodec" access="readOnly">
            <description>The codec currently in use for the outgoing voice stream.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="G.711MuLaw"/>
                  <enumeration value="G.711ALaw"/>
                  <enumeration value="G.726"/>
                  <enumeration value="G.729"/>
                  <enumeration value="G.729a"/>
                  <enumeration value="G.729e"/>
                  <enumeration value="G.728"/>
                  <enumeration value="G.723.1"/>
                  <enumeration value="G.722"/>
                  <enumeration value="G.722.1"/>
                  <enumeration value="G.722.2"/>
                  <enumeration value="GSM-FR"/>
                  <enumeration value="GSM-HR"/>
                  <enumeration value="GSM-EFR"/>
                  <enumeration value="iLBC"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="ReceiveCodec" access="readOnly">
            <description>The codec currently in use for the incoming voice stream.</description>
            <syntax>
               <string>
                  <enumeration value="G.711MuLaw"/>
                  <enumeration value="G.711ALaw"/>
                  <enumeration value="G.726"/>
                  <enumeration value="G.729"/>
                  <enumeration value="G.729a"/>
                  <enumeration value="G.729e"/>
                  <enumeration value="G.728"/>
                  <enumeration value="G.723.1"/>
                  <enumeration value="G.722"/>
                  <enumeration value="G.722.1"/>
                  <enumeration value="G.722.2"/>
                  <enumeration value="GSM-FR"/>
                  <enumeration value="GSM-HR"/>
                  <enumeration value="GSM-EFR"/>
                  <enumeration value="iLBC"/>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="TransmitBitRate" access="readOnly">
            <description>Codec bit rate in {{units}} for the codec currently in use for the outgoing voice stream.</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="ReceiveBitRate" access="readOnly">
            <description>Codec bit rate in {{units}} for the codec currently in use for the incoming voice stream.</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="TransmitSilenceSuppression" access="readOnly">
            <description>Whether or not silence suppression is in use for the outgoing voice stream.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="ReceiveSilenceSuppression" access="readOnly">
            <description>Whether or not silence suppression is in use for the incoming voice stream.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="TransmitPacketizationPeriod" access="readOnly">
            <description>Current outgoing packetization period in {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="milliseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Codec.List.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" >
         <description>Table to describe the set of codecs enabled for use with this line.  Each entry in this table refers to a distinct combination of codec and bit rate.  When an instance of {{object|.VoiceProfile.{i}.Line.{i}.}} is created, this object MUST be populated with the set of supported codecs matching {{object|.Capabilities.Codecs.}}.  The ACS MAY restrict and/or prioritize the codec support for this profile using this object.
Applicable only for a VoIP endpoint.</description>
<uniqueKey>
<parameter ref="EntryID"></parameter>
</uniqueKey>
<uniqueKey>
<parameter ref="Codec"></parameter>
<parameter ref="BitRate"></parameter>
</uniqueKey>
         <parameter name="EntryID" access="readOnly">
            <description>Unique identifier for each entry in this table.  The value MUST match that of the corresponding entry in {{object|.Capabilities.Codecs.}} table.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="Codec" access="readOnly">
            <description>Identifier of the codec type.  The value MUST match that of the corresponding entry in {{object|.Capabilities.Codecs.}}.</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="BitRate" access="readOnly">
            <description>Bit rate, in {{units}}.  The value MUST match that of the corresponding entry in {{object|.Capabilities.Codecs.}}</description>
            <syntax>
               <unsignedInt>
                  <units value="bits per second"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="PacketizationPeriod" access="readWrite">
            <description>{{list}} Each item is a supported packetization period, in milliseconds, or continuous ranges of packetization periods as defined in {{param|.Capabilities.Codecs.{i}.PacketizationPeriod}}.
The set of packetization periods may be restricted by modifying the value of this parameter to a more restricted set of values than is listed in {{param|.Capabilities.Codecs.{i}.PacketizationPeriod}}.  The CPE MUST ignore any values or portions of ranges outside of those specified in {{param|.Capabilities.Codecs.{i}.PacketizationPeriod}}.</description>
            <syntax>
               <list/>
               <string>
                  <size maxLength="64"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="SilenceSuppression" access="readWrite">
            <description>Indicates support for silence suppression for this codec.  If silence suppression is supported, it can be disabled for this codec/bit-rate by setting this parameter to {{false}}.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="Enable" access="readWrite">
            <description>Enable or disable the use of this combination of codec parameters.</description>
            <syntax>
               <boolean/>
               <default type="object" value="true"/>
            </syntax>
         </parameter>
         <parameter name="Priority" access="readWrite">
            <description>Indicates the priority for this combination of codec parameters, where 1 is the highest priority.  Where the priority differs between entries in this table, the CPE SHOULD use the highest priority (lowest numbered) entry among those supported by the remote endpoint and consistent with the available bandwidth.  Where the priorities are equal among multiple entries, the CPE MAY apply a local criterion for choosing among them.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
               <default type="object" value="1"/>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Session.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" >
         <description>Information on each active session associated with this voice line instance.</description>
         <parameter name="SessionStartTime" access="readOnly" activeNotify="canDeny">
            <description>The time that the session started, in UTC.</description>
            <syntax>
               <dateTime/>
            </syntax>
         </parameter>
         <parameter name="SessionDuration" access="readOnly" activeNotify="canDeny">
            <description>Duration time of the current session, in seconds.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="FarEndIPAddress" access="readOnly" activeNotify="canDeny">
            <description>The IP address of far end VoIP device.</description>
            <syntax>
               <dataType ref="IPAddress"/>
            </syntax>
         </parameter>
         <parameter name="FarEndUDPPort" access="readOnly" activeNotify="canDeny">
            <description>The UDP port used for current RTP session in the far end device.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="LocalUDPPort" access="readOnly" activeNotify="canDeny">
            <description>The local UDP port used for current RTP session.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="65535"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Stats." access="readOnly" minEntries="1" maxEntries="1">
         <description>Statistics for this voice line instance.</description>
         <parameter name="ResetStatistics" access="readWrite">
            <description>When set to one, resets the statistics for this voice line.  Always False when read.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
         <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
            <description>Total number of RTP packets sent for this line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PacketsReceived" access="readOnly" activeNotify="canDeny">
            <description>Total number of RTP packets received for this line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
            <description>Total number of RTP payload bytes sent for this line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
            <description>Total number of RTP payload bytes received for this line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="PacketsLost" access="readOnly" activeNotify="canDeny">
            <description>Total number of RTP packets that have been lost for this line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="Overruns" access="readOnly" activeNotify="canDeny">
            <description>Total number of times the receive jitter buffer has overrun for this line.</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 line.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="IncomingCallsReceived" access="readOnly" activeNotify="canDeny">
            <description>Total incoming calls received.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="IncomingCallsAnswered" access="readOnly" activeNotify="canDeny">
            <description>Total incoming calls answered by the local user.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="IncomingCallsConnected" access="readOnly" activeNotify="canDeny">
            <description>Total incoming calls that successfully completed call setup signaling.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="IncomingCallsFailed" access="readOnly" activeNotify="canDeny">
            <description>Total incoming calls that failed to successfully complete call setup signaling.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="OutgoingCallsAttempted" access="readOnly" activeNotify="canDeny">
            <description>Total outgoing calls attempted.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="OutgoingCallsAnswered" access="readOnly" activeNotify="canDeny">
            <description>Total outgoing calls answered by the called party.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="OutgoingCallsConnected" access="readOnly" activeNotify="canDeny">
            <description>Total outgoing calls that successfully completed call setup signaling.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="OutgoingCallsFailed" access="readOnly" activeNotify="canDeny">
            <description>Total outgoing calls that failed to successfully complete call setup signaling.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="CallsDropped" access="readOnly" activeNotify="canDeny">
            <description>Total calls that were successfully connected (incoming or outgoing), but dropped unexpectedly while in progress without explicit user termination.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="TotalCallTime" access="readOnly" activeNotify="canDeny">
            <description>Cumulative call duration in seconds.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="ServerDownTime" access="readOnly" activeNotify="canDeny">
            <description>The number of seconds the CPE is unable to maintain a connection to the server.  SHOULD not include time in which overall network connectivity is unavailable.  Applies only to SIP.</description>
            <syntax>
               <unsignedInt/>
            </syntax>
         </parameter>
         <parameter name="ReceivePacketLossRate" access="readOnly" activeNotify="canDeny">
            <description>Current receive packet loss rate in percent, calculated as defined in {{bibref|RFC3550|Section6.4}}</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="100"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="FarEndPacketLossRate" access="readOnly" activeNotify="canDeny">
            <description>Current far end receive packet lost rate in percent, calculated as defined in {{bibref|RFC3550|Section6.4}}.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="0" maxInclusive="100"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="ReceiveInterarrivalJitter" access="readOnly" activeNotify="canDeny">
            <description>Current receive interarrival jitter in {{units}}.  Calculated from J(i) as defined in {{bibref|RFC3550|Section6.4}}, with units converted to {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="FarEndInterarrivalJitter" access="readOnly" activeNotify="canDeny">
            <description>Current Interarrival jitter in {{units}} as reported from the far-end device via RTCP.  Calculated from J(i) as defined in {{bibref|RFC3550|Section64.}}, with units converted to {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="RoundTripDelay" access="readOnly" activeNotify="canDeny">
            <description>Current round trip delay in {{units}} calculated as defined in {{bibref|RFC3550|Section6.4}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="AverageReceiveInterarrivalJitter" access="readOnly" activeNotify="canDeny">
            <description>Average receive interarrival jitter in {{units}} since the beginning of the current call.  Calculated as the average of D(i,j) as defined in {{bibref|RFC3550|Section6.4}}, with units converted to {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="AverageFarEndInterarrivalJitter" access="readOnly" activeNotify="canDeny">
            <description>Average far-end interarrival jitter in {{units}} since the beginning of the current call.  Calculated as the average of the interarrival jitter values reported by the far-end, with units converted to {{units}}.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="AverageRoundTripDelay" access="readOnly" activeNotify="canDeny">
            <description>Average round trip delay in {{units}} since the beginning of the current call.  Average of the {{param|RoundTripDelay}} statistic accumulated each time the delay is calculated.</description>
            <syntax>
               <unsignedInt>
                  <units value="microseconds"/>
               </unsignedInt>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.PhyInterface.{i}." access="readOnly" minEntries="0" maxEntries="unbounded" >
         <description>Each instance is associated with a distinct physical FXS (Foreign eXchange Station) port.  Instances of this object are statically created by the CPE.
Applicable only for a VoIP Endpoint.</description>
         <uniqueKey>
            <parameter ref="InterfaceID"/>
         </uniqueKey>
         <uniqueKey>
         <parameter ref="PhyPort"></parameter>
         </uniqueKey>
         <parameter name="PhyPort" access="readOnly">
            <description>The physical port number on the device.</description>
            <syntax>
               <string>
                  <size maxLength="2"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="InterfaceID" access="readOnly">
            <description>The unique identifier of the physical port.  This value MAY be used in {{param|.VoiceProfile.{i}.Line.{i}.PhyReferenceList}} to indicate which physical ports are associated with a line.</description>
            <syntax>
               <unsignedInt>
                  <range minInclusive="1"/>
               </unsignedInt>
            </syntax>
         </parameter>
         <parameter name="Description" access="readOnly">
            <description>A description of the physical port.</description>
            <syntax>
               <string>
                  <size maxLength="32"/>
               </string>
            </syntax>
         </parameter>
      </object>
      <object name="VoiceService.{i}.PhyInterface.{i}.Tests." access="readOnly" minEntries="1" maxEntries="1">
         <description>Voice port tests.
If this object is supported, {{param|.Capabilities.VoicePortTests}} MUST be equal to {{true}}.</description>
         <parameter name="TestState" access="readWrite">
            <description>Indicates the current test state.  {{enum}}
Value MAY be set to {{enum|Requested}} to initiate a diagnostic test.  When writing, the only allowed value is {{enum|Requested}}.  To ensure the use of the proper test parameters (the writable parameters in this object), the test parameters MUST be set either prior to or at the same time as (in the same SetParameterValues) setting the value {{enum|Requested}}.
When requested, the CPE SHOULD wait until after completion of the communication session with the ACS before starting the test.
When the test initiated by the ACS is completed (successfully or not), the CPE MUST establish a new connection to the ACS to allow the ACS to view the results, indicating the Event code "8 DIAGNOSTICS COMPLETE" in the Inform message.</description>
            <syntax>
               <string>
                  <enumeration value="None"/>
                  <enumeration value="Requested"/>
                  <enumeration value="Complete"/>
                  <enumeration value="Error_TestNotSupported"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="TestSelector" access="readWrite">
            <description>Indicates which test to perform.  {{enum}}
The phone connectivity test indicates that the CPE should determine if one or more phones associated with this physical port are properly connected.  This test is appropriate only for CPE that connect to phones of any type.
The parameter MAY instead indicate a vendor-specific test, which MUST use the format defined in {{bibref|TR-106}}.  For example:
"X_EXAMPLE-COM_MyTest"</description>
            <syntax>
               <string>
                  <size maxLength="64"/>
                  <enumeration value="PhoneConnectivityTest"/>
               </string>
            </syntax>
         </parameter>
         <parameter name="PhoneConnectivity" access="readOnly">
            <description>Indicates whether or not at least one phone associated with this physical port is properly connected.  This parameter is applicable only if {{enum|PhoneConnectivityTest|TestSelector}} is supported.</description>
            <syntax>
               <boolean/>
            </syntax>
         </parameter>
      </object>
      <profile name="Endpoint:1">
         <object ref="VoiceService.{i}." requirement="present">
            <parameter ref="VoiceProfileNumberOfEntries" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.Capabilities." requirement="present">
            <parameter ref="MaxProfileCount" requirement="readOnly"/>
            <parameter ref="MaxLineCount" requirement="readOnly"/>
            <parameter ref="MaxSessionsPerLine" requirement="readOnly"/>
            <parameter ref="MaxSessionCount" requirement="readOnly"/>
            <parameter ref="SignalingProtocols" requirement="readOnly"/>
            <parameter ref="Regions" requirement="readOnly"/>
            <parameter ref="RTCP" requirement="readOnly"/>
            <parameter ref="SRTP" requirement="readOnly"/>
            <parameter ref="RTPRedundancy" requirement="readOnly"/>
            <parameter ref="DSCPCoupled" requirement="readOnly"/>
            <parameter ref="EthernetTaggingCoupled" requirement="readOnly"/>
            <parameter ref="PSTNSoftSwitchOver" requirement="readOnly"/>
            <parameter ref="FaxT38" requirement="readOnly"/>
            <parameter ref="FaxPassThrough" requirement="readOnly"/>
            <parameter ref="ModemPassThrough" requirement="readOnly"/>
            <parameter ref="ToneGeneration" requirement="readOnly"/>
            <parameter ref="RingGeneration" requirement="readOnly"/>
            <parameter ref="NumberingPlan" requirement="readOnly"/>
            <parameter ref="ButtonMap" requirement="readOnly"/>
            <parameter ref="VoicePortTests" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.Capabilities.Codecs.{i}." requirement="present">
            <parameter ref="EntryID" requirement="readOnly"/>
            <parameter ref="Codec" requirement="readOnly"/>
            <parameter ref="BitRate" requirement="readOnly"/>
            <parameter ref="PacketizationPeriod" requirement="readOnly"/>
            <parameter ref="SilenceSuppression" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}." requirement="createDelete">
         <description>Support for creation and deletion of Profiles is REQUIRED only if more than one Profile is supported as
indicated by {{param|.Capabilities.MaxProfileCount}}.</description>
            <parameter ref="Enable" requirement="readWrite"/>
            <parameter ref="Reset" requirement="readWrite"/>
            <parameter ref="NumberOfLines" requirement="readOnly"/>
            <parameter ref="Name" requirement="readWrite"/>
            <parameter ref="SignalingProtocol" requirement="readWrite"/>
            <parameter ref="MaxSessions" requirement="readWrite"/>
            <parameter ref="DTMFMethod" requirement="readWrite"/>
            <parameter ref="DTMFMethodG711" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.RTP." requirement="present">
            <parameter ref="LocalPortMin" requirement="readWrite"/>
            <parameter ref="LocalPortMax" requirement="readWrite"/>
            <parameter ref="DSCPMark" requirement="readWrite"/>
            <parameter ref="TelephoneEventPayloadType" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}." requirement="createDelete">
         <description>Support for creation and deletion of Lines is REQUIRED only if more than one Line is supported as
indicated by {{param|.Capabilities.MaxLineCount}}.</description>
            <parameter ref="Enable" requirement="readWrite"/>
            <parameter ref="Status" requirement="readOnly"/>
            <parameter ref="CallState" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Codec." requirement="present">
            <parameter ref="TransmitCodec" requirement="readOnly"/>
            <parameter ref="ReceiveCodec" requirement="readOnly"/>
            <parameter ref="TransmitBitRate" requirement="readOnly"/>
            <parameter ref="ReceiveBitRate" requirement="readOnly"/>
            <parameter ref="TransmitSilenceSuppression" requirement="readOnly"/>
            <parameter ref="ReceiveSilenceSuppression" requirement="readOnly"/>
            <parameter ref="TransmitPacketizationPeriod" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Codec.List.{i}." requirement="present">
            <parameter ref="EntryID" requirement="readOnly"/>
            <parameter ref="Codec" requirement="readOnly"/>
            <parameter ref="BitRate" requirement="readOnly"/>
            <parameter ref="PacketizationPeriod" requirement="readWrite"/>
            <parameter ref="SilenceSuppression" requirement="readWrite"/>
            <parameter ref="Enable" requirement="readWrite"><description>This parameter is REQUIRED to be writable only if there is more than one entry in this table.</description></parameter>
            <parameter ref="Priority" requirement="readWrite"><description>This parameter is REQUIRED to be writable only if there is more than one entry in this table.</description></parameter>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Session.{i}." requirement="present">
            <parameter ref="SessionStartTime" requirement="readOnly"/>
            <parameter ref="SessionDuration" requirement="readOnly"/>
            <parameter ref="FarEndIPAddress" requirement="readOnly"/>
            <parameter ref="FarEndUDPPort" requirement="readOnly"/>
            <parameter ref="LocalUDPPort" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.Stats." requirement="present">
            <parameter ref="ResetStatistics" requirement="readWrite"/>
            <parameter ref="PacketsSent" requirement="readOnly"/>
            <parameter ref="PacketsReceived" requirement="readOnly"/>
            <parameter ref="BytesSent" requirement="readOnly"/>
            <parameter ref="BytesReceived" requirement="readOnly"/>
            <parameter ref="PacketsLost" requirement="readOnly"/>
            <parameter ref="Overruns" requirement="readOnly"/>
            <parameter ref="Underruns" requirement="readOnly"/>
            <parameter ref="IncomingCallsReceived" requirement="readOnly"/>
            <parameter ref="IncomingCallsAnswered" requirement="readOnly"/>
            <parameter ref="IncomingCallsConnected" requirement="readOnly"/>
            <parameter ref="IncomingCallsFailed" requirement="readOnly"/>
            <parameter ref="OutgoingCallsAttempted" requirement="readOnly"/>
            <parameter ref="OutgoingCallsAnswered" requirement="readOnly"/>
            <parameter ref="OutgoingCallsConnected" requirement="readOnly"/>
            <parameter ref="OutgoingCallsFailed" requirement="readOnly"/>
            <parameter ref="CallsDropped" requirement="readOnly"/>
            <parameter ref="TotalCallTime" requirement="readOnly"/>
         </object>
      </profile>
      <profile name="SIPEndpoint:1" extends="Endpoint:1">
         <object ref="VoiceService.{i}.Capabilities.SIP." requirement="present">
            <parameter ref="Role" requirement="readOnly"/>
            <parameter ref="Extensions" requirement="readOnly"/>
            <parameter ref="Transports" requirement="readOnly"/>
            <parameter ref="URISchemes" requirement="readOnly"/>
            <parameter ref="EventSubscription" requirement="readOnly"/>
            <parameter ref="ResponseMap" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.SIP." requirement="present">
            <parameter ref="ProxyServer" requirement="readWrite"/>
            <parameter ref="ProxyServerPort" requirement="readWrite"/>
            <parameter ref="ProxyServerTransport" requirement="readWrite"/>
            <parameter ref="RegistrarServer" requirement="readWrite"/>
            <parameter ref="RegistrarServerPort" requirement="readWrite"/>
            <parameter ref="RegistrarServerTransport" requirement="readWrite"/>
            <parameter ref="UserAgentDomain" requirement="readWrite"/>
            <parameter ref="UserAgentPort" requirement="readWrite"/>
            <parameter ref="UserAgentTransport" requirement="readWrite"/>
            <parameter ref="OutboundProxy" requirement="readWrite"/>
            <parameter ref="OutboundProxyPort" requirement="readWrite"/>
            <parameter ref="Organization" requirement="readWrite"/>
            <parameter ref="RegistrationPeriod" requirement="readWrite"/>
            <parameter ref="RegisterExpires" requirement="readWrite"/>
            <parameter ref="UseCodecPriorityInSDPResponse" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.SIP." requirement="present">
            <parameter ref="AuthUserName" requirement="readWrite"/>
            <parameter ref="AuthPassword" requirement="readWrite"/>
            <parameter ref="URI" requirement="readWrite"/>
         </object>
      </profile>
      <profile name="MGCPEndpoint:1" extends="Endpoint:1">
         <object ref="VoiceService.{i}.Capabilities.MGCP." requirement="present">
            <parameter ref="Extensions" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.MGCP." requirement="present">
            <parameter ref="CallAgent1" requirement="readWrite"/>
            <parameter ref="CallAgentPort1" requirement="readWrite"/>
            <parameter ref="CallAgent2" requirement="readWrite"/>
            <parameter ref="CallAgentPort2" requirement="readWrite"/>
            <parameter ref="RetranIntervalTimer" requirement="readWrite"/>
            <parameter ref="MaxRetranCount" requirement="readWrite"/>
            <parameter ref="RegisterMode" requirement="readWrite"/>
            <parameter ref="LocalPort" requirement="readWrite"/>
            <parameter ref="Domain" requirement="readWrite"/>
            <parameter ref="User" requirement="readWrite"/>
            <parameter ref="AllowPiggybackEvents" requirement="readWrite"/>
            <parameter ref="SendRSIPImmediately" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.MGCP." requirement="present">
            <parameter ref="LineName" requirement="readWrite"/>
         </object>
      </profile>
      <profile name="H323Endpoint:1" extends="Endpoint:1">
         <object ref="VoiceService.{i}.Capabilities.H323." requirement="present">
            <parameter ref="FastStart" requirement="readOnly"/>
            <parameter ref="H235AuthenticationMethods" requirement="readOnly"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.H323." requirement="present">
            <parameter ref="Gatekeeper" requirement="readWrite"/>
            <parameter ref="GatekeeperPort" requirement="readWrite"/>
            <parameter ref="GatekeeperID" requirement="readWrite"/>
            <parameter ref="TimeToLive" requirement="readWrite"/>
            <parameter ref="H235Authentication" requirement="readWrite"/>
            <parameter ref="AuthPassword" requirement="readWrite"/>
            <parameter ref="SendersID" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}.H323." requirement="present">
            <parameter ref="H323ID" requirement="readWrite"/>
         </object>
      </profile>
      <profile name="TAEndpoint:1" extends="Endpoint:1">
         <object ref="VoiceService.{i}.VoiceProfile.{i}.Line.{i}." requirement="present">
            <parameter ref="PhyReferenceList" requirement="readWrite"/>
         </object>
         <object ref="VoiceService.{i}.PhyInterface.{i}." requirement="present">
            <parameter ref="PhyPort" requirement="readOnly"/>
            <parameter ref="InterfaceID" requirement="readOnly"/>
         </object>
      </profile>
   </model>
</dm:document>

