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


  Editors:
    Sarah Banks, Cisco
    Andrea Colmegna, FASTWEB
    Tim Spets, Motorola Mobility

  Editors Object Addressing Extensions:
    Sarah Banks, Cisco
    Andrea Colmegna, FASTWEB
    Ping Fang, Huawei Technologies
    Nils Magnusson, TeliaSonera
    Anton Okmyanskiy, Cisco
    Staffan Ungsgard, TeliaSonera

  Editors Remote Management of non-TR-069 devices:
    John Blackford, Pace
    Ping Fang, Huawei Technologies
    Tim Spets, Motorola Mobility

  BroadbandHome™ Working Group Chairs:
    Greg Bathrick, PMC-Sierra
    Heather Kirksey, Alcatel-Lucent

  Vice Chair: 
    Jason Walls, UNH

  Chief Editor: 
    Michael Hanrahan, Huawei Technologies


  Version 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).
    July      2011: tr-104-1-1-0.xml, corresponds to TR-104 Issue 1, Amendment 1

-->

<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-14"
    xmlns:dmr="urn:broadband-forum-org:cwmp:datamodel-report-0-1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-14
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-1-14.xsd
      urn:broadband-forum-org:cwmp:datamodel-report-0-1
        http://www.broadband-forum.org/cwmp/cwmp-datamodel-report.xsd"
    spec="urn:broadband-forum-org:tr-104-1-1-0"
    file="tr-104-1-1-0.xml">
  <description>
    VoiceService:1.1 Service Object
  </description>

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

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

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

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

      * Its value MUST NOT be empty.

      * Its value MUST start with a letter.

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

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

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

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

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

      * 216.52.29.100

      * 192.168.1.254

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

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

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

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

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

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

  <bibliography>
    <reference id="3GPP-TS.23.003">
      <name>3GPP TS 23.003</name>
      <title>Numbering, addressing and identification</title>
      <organization>3GPP CT WG4</organization>
      <hyperlink>https://www.3gpp.org/ftp/Specs/html-info/23003.htm</hyperlink>
    </reference>
    <reference id="IEEE_EUI64">
      <name>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </name>
      <title>
        Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority
      </title>
      <organization>IEEE</organization>
      <date>March 1997</date>
      <hyperlink>
        https://standards.ieee.org/regauth/oui/tutorials/EUI64.html
      </hyperlink>
    </reference>
    <reference id="802.1D-2004">
      <name>IEEE Std 802.1D-2004</name>
      <title>Media Access Control (MAC) Bridges</title>
      <organization>IEEE</organization>
      <date>2004</date>
      <hyperlink>
        https://standards.ieee.org/getieee802/download/802.1D-2004.pdf
      </hyperlink>
    </reference>
    <reference id="802.1Q-2005">
      <name>IEEE Std 802.1Q-2005</name>
      <title>Virtual Bridged Local Area Networks</title>
      <organization>IEEE</organization>
      <date>2006</date>
      <hyperlink>
        https://standards.ieee.org/getieee802/download/802.1Q-2005.pdf
      </hyperlink>
    </reference>
    <reference id="IANA-uri-schemes">
      <name>IANA Uniform Resource Identifier (URI) Schemes Registry</name>
      <title>Uniform Resource Identifier (URI) Schemes</title>
      <organization>IANA</organization>
      <hyperlink>https://www.iana.org/assignments/uri-schemes</hyperlink>
    </reference>
    <reference id="RFC2198">
      <name>RFC 2198</name>
      <title>RTP Payload for Redundant Audio Data</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc2198</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc2198.txt?number=2198</hyperlink>
    </reference>
    <reference id="RFC3261">
      <name>RFC 3261</name>
      <title>SIP: Session Initiation Protocol</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2002</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3261</hyperlink>
      <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>https://www.rfc-editor.org/rfc/rfc3435</hyperlink>
      <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>
      <date>July 2003</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3550</hyperlink>
      <hyperlink>http://www.ietf.org/rfc/rfc3550.txt</hyperlink>
    </reference>
    <reference id="RFC3986">
      <name>RFC 3986</name>
      <title>Uniform Resource Identifier (URI): Generic Syntax</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc3986</hyperlink>
    </reference>
    <reference id="RFC4007">
      <name>RFC 4007</name>
      <title>IPv6 Scoped Address Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4007</hyperlink>
    </reference>
    <reference id="RFC4122">
      <name>RFC 4122</name>
      <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2005</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4122</hyperlink>
    </reference>
    <reference id="RFC4291">
      <name>RFC 4291</name>
      <title>IP Version 6 Addressing Architecture</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4291</hyperlink>
    </reference>
    <reference id="RFC4632">
      <name>RFC 4632</name>
      <title>
        Classless Inter-domain Routing (CIDR): The Internet Address Assignment
        and Aggregation Plan
      </title>
      <organization>IETF</organization>
      <date>2006</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc4632</hyperlink>
    </reference>
    <reference id="RFC7159">
      <name>RFC7159</name>
      <title>
        The JavaScript Object Notation (JSON) Data Interchange Format
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>March 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7159</hyperlink>
    </reference>
    <reference id="RFC7230">
      <name>RFC 7230</name>
      <title>
        Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
      </title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7230</hyperlink>
    </reference>
    <reference id="RFC7252">
      <name>RFC 7252</name>
      <title>The Constrained Application Protocol (CoAP)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>June 2014</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc7252</hyperlink>
    </reference>
    <reference id="RFC8089">
      <name>RFC 8089</name>
      <title>The "file" URI Scheme</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>February 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8089</hyperlink>
    </reference>
    <reference id="RFC8141">
      <name>RFC 8141</name>
      <title>Uniform Resource Names (URNs)</title>
      <organization>IETF</organization>
      <category>RFC</category>
      <date>April 2017</date>
      <hyperlink>https://www.rfc-editor.org/rfc/rfc8141</hyperlink>
    </reference>
    <reference id="TR-069">
      <name>TR-069 Amendment 6</name>
      <title>CPE WAN Management Protocol</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>April 2018</date>
    </reference>
    <reference id="TR-106">
      <name>TR-106 Amendment 8</name>
      <title>Data Model Template for CWMP Endpoints and USP Agents</title>
      <organization>Broadband Forum</organization>
      <category>TR</category>
      <date>May 2018</date>
    </reference>
    <reference id="SOAP1.1">
      <name>Simple Object Access Protocol (SOAP) 1.1</name>
      <organization>W3C</organization>
      <hyperlink>https://www.w3.org/TR/2000/NOTE-SOAP-20000508</hyperlink>
    </reference>
    <reference id="ZigBee2007">
      <name>ZigBee 2007 Specification</name>
      <title>ZigBee 2007 Specification</title>
      <organization>ZigBee Alliance</organization>
      <date>October 2007</date>
      <hyperlink>https://csa-iot.org/all-solutions/zigbee</hyperlink>
    </reference>
    <reference id="TR-104">
      <name>TR-104</name>
      <title>Provisioning Parameters for VoIP CPE</title>
      <organization>BBF</organization>
      <category>TR</category>
    </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.1" 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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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 value="MGCP/\d+\.\d+"/>
            <pattern value="MGCP-NCS/\d+\.\d+"/>
            <pattern value="H\.248/\d+\.\d+"/>
            <pattern value="H\.323/\d+\.\d+"/>
            <pattern value="X_.+"/>
          </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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=""/>
          </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 ref="Notifier"/>
        <parameter ref="NotifierPort"/>
        <parameter ref="NotifierTransport"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </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="Alias" access="readWrite" activeNotify="canDeny"
          dmr:previousParameter="Enable">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="Codec"/>
        <parameter ref="BitRate"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>

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

      <parameter name="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>
