tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search     info

RFC 5707

 
 
 

Media Server Markup Language (MSML)

Part 6 of 6, p. 148 to 184
Prev RFC Part

 


prevText      Top      Up      ToC       Page 148 
16.3.  MSML Dialog Packages

16.3.1.  msml-dialog-core.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
</xs:schema>

16.3.2.  msml-dialog-core-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core-datatypes.xsd"/>
 <xs:group name="momlRequest">
  <xs:choice>
   <xs:group ref="executeType"/>

Top      Up      ToC       Page 149 
   <xs:group ref="sendType"/>
  </xs:choice>
 </xs:group>
 <xs:element name="dialogstart" substitutionGroup="msmlRequest">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="msmlRequestType">
     <xs:choice>
      <xs:group ref="momlRequest" minOccurs="0"/>
     </xs:choice>
     <xs:attribute name="target" type="independentID.datatype"
                   use="required"/>
     <xs:attribute name="type" type="dialogLanguage.datatype"
                   use="required"/>
     <xs:attribute name="name" type="msmlInstanceID.datatype"/>
     <xs:attribute name="src" type="xs:anyURI" use="optional"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="dialogend" substitutionGroup="msmlRequest">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="msmlRequestType">
     <xs:attribute name="id" type="dialogID.datatype" use="required"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="dialogid" type="msmlResultSimpleType"
             substitutionGroup="msmlResultSimple"/>
 <xs:group name="executeType">
  <xs:choice>
   <xs:element ref="primitive" maxOccurs="unbounded"/>
   <xs:element ref="control" maxOccurs="unbounded"/>
  </xs:choice>
 </xs:group>
 <xs:element name="primitive" type="primitiveType" abstract="true"/>
 <xs:complexType name="primitiveType">
  <xs:attribute name="id" type="momlID.datatype"/>
 </xs:complexType>
 <xs:element name="control" abstract="true"/>
 <xs:group name="sendType">
  <xs:choice>
   <xs:choice>
    <xs:element name="exit" type="exitType"/>
    <xs:element name="disconnect" type="exitType"/>
   </xs:choice>

Top      Up      ToC       Page 150 
   <xs:sequence>
    <xs:element ref="send" maxOccurs="unbounded"/>
    <xs:choice minOccurs="0">
     <xs:element name="exit" type="exitType"/>
     <xs:element name="disconnect" type="exitType"/>
    </xs:choice>
   </xs:sequence>
  </xs:choice>
 </xs:group>
 <xs:element name="send">
  <xs:complexType>
   <xs:attribute name="event" type="momlEvent.datatype" use="required"/>
   <xs:attribute name="target" type="momlTarget.datatype"
                 use="required"/>
   <xs:attribute name="namelist" type="momlNamelist.datatype"/>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="exitType">
  <xs:attribute name="namelist" type="momlNamelist.datatype"/>
 </xs:complexType>
 <xs:simpleType name="momlID.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9._\-]*"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="momlEvent.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9._\-]*"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="momlNamelist.datatype">
  <xs:restriction base="xs:string"/>
 </xs:simpleType>
 <xs:simpleType name="dtmfDigits.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="[0-9#*]+"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="iterate.datatype">
  <xs:union memberTypes="xs:positiveInteger">
   <xs:simpleType>
    <xs:restriction base="xs:negativeInteger">
     <xs:minInclusive value="-1"/>
    </xs:restriction>
   </xs:simpleType>
   <xs:simpleType>
    <xs:restriction base="xs:string">
     <xs:enumeration value="forever"/>

Top      Up      ToC       Page 151 
    </xs:restriction>
   </xs:simpleType>
  </xs:union>
 </xs:simpleType>
 <xs:simpleType name="momlTarget.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="[a-zA-Z0-9][a-zA-Z0-9._\-]*"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="duration.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="(\+|\-)?([0-9]*\.)?[0-9]+(ms|s)"/>
  </xs:restriction>
 </xs:simpleType>
</xs:schema>

16.3.3.  msml-dialog-base.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-base-datatypes.xsd"/>
</xs:schema>

16.3.4.  msml-dialog-base-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:import namespace="http://www.w3.org/XML/1998/namespace"
            schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 <xs:element name="play" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:choice maxOccurs="unbounded">
       <xs:element name="audio" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
         <xs:attribute name="uri" type="xs:anyURI" use="required"/>
         <xs:attribute name="iterate" type="iterate.datatype"
                       default="1"/>
         <xs:attribute name="format" type="xs:string" use="optional"/>

Top      Up      ToC       Page 152 
         <xs:attribute name="audiosamplerate" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="audiosamplesize" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute ref="xml:lang"/>
        </xs:complexType>
       </xs:element>
       <xs:element name="video" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
         <xs:attribute name="uri" type="xs:anyURI" use="required"/>
         <xs:attribute name="iterate" type="iterate.datatype"
                       use="optional" default="1"/>
         <xs:attribute name="format" type="xs:string" use="optional"/>
         <xs:attribute name="audiosamplerate" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="audiosamplesize" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="codecconfig" type="xs:string"
                       use="optional"/>
         <xs:attribute name="profile" type="xs:string" use="optional"/>
         <xs:attribute name="level" type="xs:string" use="optional"/>
         <xs:attribute name="imagewidth" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="imageheight" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="maxbitrate" type="xs:positiveInteger"
                       use="optional"/>
         <xs:attribute name="framerate" type="xs:positiveInteger"
                       use="optional"/>
        </xs:complexType>
       </xs:element>
       <xs:element name="media" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
         <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="audio" minOccurs="0">
           <xs:complexType>
            <xs:attribute name="uri" type="xs:anyURI" use="required"/>
            <xs:attribute name="iterate" type="iterate.datatype"
                          default="1"/>
            <xs:attribute name="format" type="xs:string"
                          use="optional"/>
            <xs:attribute name="audiosamplerate"
                          type="xs:positiveInteger" use="optional"/>
            <xs:attribute name="audiosamplesize"
                          type="xs:positiveInteger" use="optional"/>
            <xs:attribute ref="xml:lang"/>
           </xs:complexType>
          </xs:element>

Top      Up      ToC       Page 153 
          <xs:element name="video" minOccurs="0">
           <xs:complexType>
            <xs:attribute name="uri" type="xs:anyURI" use="required"/>
            <xs:attribute name="iterate" type="iterate.datatype"
                          use="optional" default="1"/>
            <xs:attribute name="format" type="xs:string"
                          use="optional"/>
            <xs:attribute name="audiosamplerate"
                          type="xs:positiveInteger" use="optional"/>
            <xs:attribute name="audiosamplesize"
                          type="xs:positiveInteger" use="optional"/>
            <xs:attribute name="codecconfig" type="xs:string"
                          use="optional"/>
            <xs:attribute name="profile" type="xs:string"
                          use="optional"/>
            <xs:attribute name="level" type="xs:string" use="optional"/>
            <xs:attribute name="imagewidth" type="xs:positiveInteger"
                          use="optional"/>
            <xs:attribute name="imageheight" type="xs:positiveInteger"
                          use="optional"/>
            <xs:attribute name="maxbitrate" type="xs:positiveInteger"
                          use="optional"/>
            <xs:attribute name="framerate" type="xs:positiveInteger"
                          use="optional"/>
           </xs:complexType>
          </xs:element>
         </xs:choice>
        </xs:complexType>
       </xs:element>
       <xs:element ref="smedia" minOccurs="0" maxOccurs="unbounded"/>
      </xs:choice>
      <xs:choice minOccurs="0">
       <xs:element name="playexit">
        <xs:complexType>
         <xs:group ref="sendType"/>
        </xs:complexType>
       </xs:element>
      </xs:choice>
     </xs:sequence>
     <xs:attribute name="interval" type="posDuration.datatype"
                   use="optional"/>
     <xs:attribute name="iterate" type="iterate.datatype" use="optional"
                   default="1"/>
     <xs:attribute name="offset" type="duration.datatype"
                   use="optional"/>
     <xs:attribute name="initial" use="optional" default="generate">
      <xs:simpleType>
       <xs:restriction base="xs:string">

Top      Up      ToC       Page 154 
        <xs:enumeration value="generate"/>
        <xs:enumeration value="suspend"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="maxtime" type="posDuration.datatype"
                   use="optional"/>
     <xs:attribute name="skip" type="duration.datatype" use="optional"
                   default="3s"/>
     <xs:attribute name="barge" type="boolean.datatype" use="optional"
                   default="false"/>
     <xs:attribute name="cleardb" type="boolean.datatype" use="optional"
                   default="false"/>
     <xs:attribute ref="xml:lang"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="record" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:choice minOccurs="0">
      <xs:element ref="play" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="tonegen" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="recordexit">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
     </xs:choice>
     <xs:attribute name="append" type="boolean.datatype" use="optional"
                   default="false"/>
     <xs:attribute name="dest" type="xs:anyURI" use="optional"/>
     <xs:attribute name="audiodest" type="xs:anyURI" use="optional"/>
     <xs:attribute name="videodest" type="xs:anyURI" use="optional"/>
     <xs:attribute name="format" use="required">
      <xs:simpleType>
       <xs:restriction base="xs:string"/>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="codecconfig" use="optional">
      <xs:simpleType>
       <xs:restriction base="xs:string"/>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="audiosamplerate" type="xs:positiveInteger"
                   use="optional"/>

Top      Up      ToC       Page 155 
     <xs:attribute name="audiosamplesize" type="xs:positiveInteger"
                   use="optional"/>
     <xs:attribute name="profile" use="optional">
      <xs:simpleType>
       <xs:restriction base="xs:string"/>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="level" use="optional">
      <xs:simpleType>
       <xs:restriction base="xs:string"/>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="imagewidth" type="xs:positiveInteger"
                   use="optional"/>
     <xs:attribute name="imageheight" type="xs:positiveInteger"
                   use="optional"/>
     <xs:attribute name="maxbitrate" type="xs:positiveInteger"
                   use="optional"/>
     <xs:attribute name="framerate" type="xs:positiveInteger"
                   use="optional"/>
     <xs:attribute name="maxtime" type="posDuration.datatype"
                   use="required"/>
     <xs:attribute name="initial" use="optional" default="create">
      <xs:simpleType>
       <xs:restriction base="xs:string">
        <xs:enumeration value="create"/>
        <xs:enumeration value="suspend"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="prespeech" type="posDuration.datatype"
                   use="optional" default="0s"/>
     <xs:attribute name="postspeech" type="posDuration.datatype"
                   use="optional" default="0s"/>
     <xs:attribute name="termkey" use="optional">
      <xs:simpleType>
       <xs:restriction base="xs:string">
        <xs:pattern value="[0-9#*ABCD]"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="dtmf" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>

Top      Up      ToC       Page 156 
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:element name="pattern" maxOccurs="unbounded">
       <xs:complexType>
        <xs:group ref="sendType"/>
        <xs:attribute name="digits" type="xs:string" use="required"/>
        <xs:attribute name="format">
         <xs:simpleType>
          <xs:restriction base="xs:string">
           <xs:enumeration value="mgcp"/>
           <xs:enumeration value="megaco"/>
           <xs:enumeration value="moml+digits"/>
          </xs:restriction>
         </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="iterate" type="iterate.datatype"
                      default="1"/>
       </xs:complexType>
      </xs:element>
      <xs:element name="detect" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
      <xs:element name="noinput" type="iterateSendType" minOccurs="0"/>
      <xs:element name="nomatch" type="iterateSendType" minOccurs="0"/>
      <xs:element name="dtmfexit" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
      <xs:element ref="play" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cleardb" type="boolean.datatype"
                   default="true"/>
     <xs:attribute name="fdt" type="posDuration.datatype" default="0s"/>
     <xs:attribute name="idt" type="posDuration.datatype" default="4s"/>
     <xs:attribute name="edt" type="posDuration.datatype" default="4s"/>
     <xs:attribute name="starttimer" type="boolean.datatype"
                   default="false"/>
     <xs:attribute name="iterate" type="iterate.datatype" default="1"/>
     <xs:attribute name="ldd" type="posDuration.datatype" default="0s"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="collect" substitutionGroup="primitive">
  <xs:complexType>

Top      Up      ToC       Page 157 
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:element name="pattern" maxOccurs="unbounded">
       <xs:complexType>
        <xs:group ref="sendType"/>
        <xs:attribute name="digits" type="xs:string" use="required"/>
        <xs:attribute name="format">
         <xs:simpleType>
          <xs:restriction base="xs:string">
           <xs:enumeration value="mgcp"/>
           <xs:enumeration value="megaco"/>
           <xs:enumeration value="moml+digits"/>
          </xs:restriction>
         </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="iterate" type="iterate.datatype"
                      default="1"/>
       </xs:complexType>
      </xs:element>
      <xs:element name="detect" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
      <xs:element name="noinput" type="iterateSendType" minOccurs="0"/>
      <xs:element name="nomatch" type="iterateSendType" minOccurs="0"/>
      <xs:element name="dtmfexit" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
      <xs:element ref="play" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cleardb" type="boolean.datatype"
                   default="true"/>
     <xs:attribute name="fdt" type="posDuration.datatype" default="0s"/>
     <xs:attribute name="idt" type="posDuration.datatype" default="4s"/>
     <xs:attribute name="edt" type="posDuration.datatype" default="4s"/>
     <xs:attribute name="starttimer" type="boolean.datatype"
                   default="false"/>
     <xs:attribute name="iterate" type="iterate.datatype" default="1"/>
     <xs:attribute name="ldd" type="posDuration.datatype"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="dtmfgen" substitutionGroup="primitive">

Top      Up      ToC       Page 158 
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:choice minOccurs="0">
      <xs:element name="dtmfgenexit">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
     </xs:choice>
     <xs:attribute name="level" use="optional" default="-6">
      <xs:simpleType>
       <xs:restriction base="xs:nonPositiveInteger">
        <xs:maxInclusive value="0"/>
        <xs:minInclusive value="-96"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="digits" type="dtmfDigits.datatype"
                   use="required"/>
     <xs:attribute name="dur" type="posDuration.datatype" use="optional"
                   default="100ms"/>
     <xs:attribute name="interval" type="posDuration.datatype"
                   use="optional" default="100ms"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="tonegen" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:choice minOccurs="0">
      <xs:element name="tonegenexit" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
      <xs:element name="tone" maxOccurs="unbounded">
       <xs:complexType>
        <xs:sequence>
         <xs:element name="tone1">
          <xs:complexType>
           <xs:attribute name="freq" use="required">
            <xs:simpleType>
             <xs:restriction base="xs:unsignedInt">
              <xs:minInclusive value="0"/>
              <xs:maxInclusive value="3999"/>

Top      Up      ToC       Page 159 
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
           <xs:attribute name="atten" use="required">
            <xs:simpleType>
             <xs:restriction base="xs:nonPositiveInteger">
              <xs:minInclusive value="-96"/>
              <xs:maxInclusive value="0"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
          </xs:complexType>
         </xs:element>
         <xs:element name="tone2">
          <xs:complexType>
           <xs:attribute name="freq" use="required">
            <xs:simpleType>
             <xs:restriction base="xs:unsignedInt">
              <xs:minInclusive value="0"/>
              <xs:maxInclusive value="3999"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
           <xs:attribute name="atten" use="required">
            <xs:simpleType>
             <xs:restriction base="xs:nonPositiveInteger">
              <xs:minInclusive value="-96"/>
              <xs:maxInclusive value="0"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
          </xs:complexType>
         </xs:element>
         <xs:element name="silence" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
           <xs:attribute name="duration" type="duration.datatype"
                         use="required"/>
          </xs:complexType>
         </xs:element>
        </xs:sequence>
        <xs:attribute name="duration" use="required">
         <xs:simpleType>
          <xs:restriction base="duration.datatype"/>
         </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="iterate" type="iterate.datatype"
                      use="optional" default="1"/>
       </xs:complexType>

Top      Up      ToC       Page 160 
      </xs:element>
      <xs:element name="silence" minOccurs="0" maxOccurs="unbounded">
       <xs:complexType>
        <xs:attribute name="duration" type="duration.datatype"
                      use="required"/>
       </xs:complexType>
      </xs:element>
     </xs:choice>
     <xs:attribute name="iterate" type="iterate.datatype" use="optional"
                   default="1"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="iterateSendType">
  <xs:group ref="sendType"/>
  <xs:attribute name="iterate" type="iterate.datatype" default="1"/>
 </xs:complexType>
 <xs:element name="smedia" type="smediaType" abstract="true"/>
 <xs:complexType name="smediaType">
  <xs:attribute ref="xml:lang"/>
  <xs:attribute name="iterate" type="iterate.datatype"/>
 </xs:complexType>
 <xs:element name="var" substitutionGroup="smedia">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="smediaType">
     <xs:attribute name="type" use="required">
      <xs:simpleType>
       <xs:restriction base="xs:string">
        <xs:enumeration value="date"/>
        <xs:enumeration value="digits"/>
        <xs:enumeration value="duration"/>
        <xs:enumeration value="month"/>
        <xs:enumeration value="money"/>
        <xs:enumeration value="number"/>
        <xs:enumeration value="silence"/>
        <xs:enumeration value="time"/>
        <xs:enumeration value="weekday"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="subtype" type="xs:string" use="optional"/>
     <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:extension>
   </xs:complexContent>

Top      Up      ToC       Page 161 
  </xs:complexType>
 </xs:element>
</xs:schema>

16.3.5.  msml-dialog-transform.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-transform-datatypes.xsd"/>
</xs:schema>

16.3.6.  msml-dialog-transform-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:import namespace="http://www.w3.org/XML/1998/namespace"
            schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 <xs:element name="vad" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:all>
      <xs:element name="voice" type="vadPatternType" minOccurs="0"/>
      <xs:element name="silence" type="vadPatternType" minOccurs="0"/>
      <xs:element name="tvoice" type="vadPatternType" minOccurs="0"/>
      <xs:element name="tsilence" type="vadPatternType" minOccurs="0"/>
     </xs:all>
     <xs:attribute name="starttimer" type="boolean.datatype"
                   default="false"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="gain" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:attribute name="incr" default="3">
      <xs:simpleType>
       <xs:restriction base="xs:positiveInteger">
        <xs:maxInclusive value="96"/>

Top      Up      ToC       Page 162 
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="amt" use="required">
      <xs:simpleType>
       <xs:restriction base="xs:integer">
        <xs:minInclusive value="-96"/>
        <xs:maxInclusive value="96"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="agc" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:attribute name="tgtlvl" use="required">
      <xs:simpleType>
       <xs:restriction base="xs:nonPositiveInteger">
        <xs:minInclusive value="-40"/>
        <xs:maxInclusive value="0"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="maxgain" default="10">
      <xs:simpleType>
       <xs:restriction base="xs:nonNegativeInteger">
        <xs:minInclusive value="0"/>
        <xs:maxInclusive value="40"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="gate" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:attribute name="initial" default="pass">
      <xs:simpleType>
       <xs:restriction base="xs:string">
        <xs:enumeration value="pass"/>
        <xs:enumeration value="halt"/>

Top      Up      ToC       Page 163 
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="clamp" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType"/>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="relay" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType"/>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:complexType name="vadPatternType">
  <xs:group ref="sendType"/>
  <xs:attribute name="iterate" type="iterate.datatype" default="1"/>
  <xs:attribute name="len" type="posDuration.datatype" use="required"/>
  <xs:attribute name="sen" type="posDuration.datatype" use="optional"/>
 </xs:complexType>
</xs:schema>

16.3.7.  msml-dialog-group.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-base-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-group-datatypes.xsd"/>
</xs:schema>

16.3.8.  msml-dialog-group-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="unqualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core-datatypes.xsd"/>

Top      Up      ToC       Page 164 
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-base-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-transform-datatypes.xsd"/>
 <xs:element name="group" substitutionGroup="control">
  <xs:complexType>
   <xs:sequence>
    <xs:group ref="executeType"/>
    <xs:element name="groupexit" minOccurs="0">
     <xs:complexType>
      <xs:group ref="sendType"/>
     </xs:complexType>
    </xs:element>
   </xs:sequence>
   <xs:attribute name="id" type="momlID.datatype"/>
   <xs:attribute name="topology" use="required">
    <xs:simpleType>
     <xs:restriction base="xs:string">
      <xs:enumeration value="serial"/>
      <xs:enumeration value="parallel"/>
      <xs:enumeration value="fullduplex"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>
  </xs:complexType>
 </xs:element>
</xs:schema>

16.3.9.  msml-dialog-speech.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-base-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-speech-datatypes.xsd"/>
</xs:schema>

16.3.10.  msml-dialog-speech-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-base-datatypes.xsd"/>
 <xs:include schemaLocation="http://www.w3.org/TR/2002/WD-speech-

Top      Up      ToC       Page 165 
             synthesis-20020405/synthesis-core.xsd"/>
 <xs:include schemaLocation="http://www.w3.org/TR/speech-
             grammar/grammar-core.xsd"/>
 <xs:element name="speech" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:element name="grammar" maxOccurs="unbounded">
       <xs:complexType>
        <xs:complexContent>
         <xs:extension base="grammar">
          <xs:choice>
           <xs:element name="match" type="iterateSendType"
                       minOccurs="0"/>
          </xs:choice>
          <xs:attribute name="uri" type="xs:anyURI"/>
          <xs:attribute name="iterate" type="iterate.datatype"
                        default="1"/>
         </xs:extension>
        </xs:complexContent>
       </xs:complexType>
      </xs:element>
      <xs:element name="noinput" type="iterateSendType" minOccurs="0"/>
      <xs:element name="nomatch" type="iterateSendType" minOccurs="0"/>
      <xs:element name="speechexit" minOccurs="0">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
     </xs:sequence>
     <xs:attribute name="noint" type="posDuration.datatype"/>
     <xs:attribute name="norect" type="posDuration.datatype"/>
     <xs:attribute name="spcmplt" type="posDuration.datatype"/>
     <xs:attribute name="confidence">
      <xs:simpleType>
       <xs:restriction base="xs:positiveInteger">
        <xs:maxInclusive value="100"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="sens" type="xs:positiveInteger"/>
     <xs:attribute name="starttimer" type="boolean.datatype"
                   default="false"/>
     <xs:attribute name="iterate" type="iterate.datatype" default="1"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>

Top      Up      ToC       Page 166 
 </xs:element>
 <xs:element name="tts" type="smediaType" substitutionGroup="smedia"/>
</xs:schema>

16.3.11.  msml-dialog-fax-detect.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-fax-detect-datatypes.xsd"/>
</xs:schema>

16.3.12.  msml-dialog-fax-detect-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:element name="faxdetect" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:choice minOccurs="0">
      <xs:element name="faxdetectexit">
       <xs:complexType>
        <xs:group ref="sendType"/>
       </xs:complexType>
      </xs:element>
     </xs:choice>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
</xs:schema>

16.3.13.  msml-dialog-fax-sendrecv.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-dialog-fax-sendrecv-datatypes.xsd"/>

Top      Up      ToC       Page 167 
</xs:schema>

16.3.14.  msml-dialog-fax-sendrecv-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-dialog-core-datatypes.xsd"/>
 <xs:element name="faxsend" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:element name="sendobj" type="sendobjType" minOccurs="0"
          maxOccurs="unbounded"/>
      <xs:element name="hdrfooter" type="hdrfooterType" minOccurs="0"/>
      <xs:element name="rxpoll" minOccurs="0">
       <xs:complexType>
        <xs:sequence>
         <xs:element name="rcvobj" type="rcvobjType"
                     maxOccurs="unbounded"/>
         <xs:element name="hdrfooter" type="hdrfooterType"
                     minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="rmtid" type="faxid.datatype"
                      use="required"/>
       </xs:complexType>
      </xs:element>
      <xs:group ref="faxstatusrequest"/>
     </xs:sequence>
     <xs:attribute name="lclid" type="faxid.datatype" use="optional"/>
     <xs:attribute name="minspeed" type="faxspeed.datatype"
                   use="optional"/>
     <xs:attribute name="maxspeed" type="faxspeed.datatype"
                   use="optional"/>
     <xs:attribute name="ecm" type="boolean.datatype" use="optional"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="faxrecv" substitutionGroup="primitive">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="primitiveType">
     <xs:sequence>
      <xs:element name="rcvobj" type="rcvobjType" minOccurs="0"
                  maxOccurs="unbounded"/>

Top      Up      ToC       Page 168 
      <xs:element name="hdrfooter" type="hdrfooterType" minOccurs="0"/>
      <xs:element name="txpoll" minOccurs="0">
       <xs:complexType>
        <xs:sequence>
         <xs:element name="sendobj" type="sendobjType"
                     maxOccurs="unbounded"/>
         <xs:element name="hdrfooter" type="hdrfooterType"
                     minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="rmtid" type="faxid.datatype"/>
       </xs:complexType>
      </xs:element>
      <xs:group ref="faxstatusrequest"/>
     </xs:sequence>
     <xs:attribute name="lclid" type="faxid.datatype" use="optional"/>
     <xs:attribute name="ecm" type="boolean.datatype" default="true"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:group name="faxstatusrequest">
  <xs:sequence>
   <xs:element name="faxstart" minOccurs="0"/>
   <xs:element name="faxnegotiate" minOccurs="0"/>
   <xs:element name="faxpagedone" minOccurs="0"/>
   <xs:element name="faxobjectdone" minOccurs="0"/>
   <xs:element name="faxopcomplete" minOccurs="0"/>
   <xs:element name="faxpollstart" minOccurs="0"/>
  </xs:sequence>
 </xs:group>
 <xs:complexType name="hdrfooterType">
  <xs:choice>
   <xs:element name="format" type="xs:string" minOccurs="0"
               maxOccurs="unbounded"/>
  </xs:choice>
  <xs:attribute name="type" type="hdrfooter.datatype"/>
  <xs:attribute name="style" type="hdrfooterstyle.datatype"/>
 </xs:complexType>
 <xs:complexType name="formatType">
  <xs:simpleContent>
   <xs:extension base="xs:string">
    <xs:attribute name="style">
     <xs:simpleType>
      <xs:restriction base="xs:string">
       <xs:enumeration value="append"/>
       <xs:enumeration value="overlay"/>
       <xs:enumeration value="replace"/>
      </xs:restriction>

Top      Up      ToC       Page 169 
     </xs:simpleType>
    </xs:attribute>
   </xs:extension>
  </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="rcvobjType">
  <xs:attribute name="objuri" type="xs:anyURI" use="required"/>
  <xs:attribute name="maxpages" type="xs:positiveInteger"/>
 </xs:complexType>
 <xs:complexType name="sendobjType">
  <xs:attribute name="objuri" type="xs:anyURI" use="required"/>
  <xs:attribute name="startpage" type="xs:positiveInteger"/>
  <xs:attribute name="pagecount" type="xs:positiveInteger"/>
 </xs:complexType>
 <xs:simpleType name="faxid.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="[0-9+*- ]{20}"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="faxspeed.datatype">
  <xs:restriction base="xs:string">
   <xs:enumeration value="2400"/>
   <xs:enumeration value="4800"/>
   <xs:enumeration value="7200"/>
   <xs:enumeration value="9600"/>
   <xs:enumeration value="12000"/>
   <xs:enumeration value="14400"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="hdrfooter.datatype">
  <xs:restriction base="xs:string">
   <xs:enumeration value="header"/>
   <xs:enumeration value="footer"/>
   <xs:enumeration value="autohdr"/>
   <xs:enumeration value="nohdr"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="hdrfooterstyle.datatype">
  <xs:restriction base="xs:string">
   <xs:enumeration value="append"/>
   <xs:enumeration value="overlay"/>
   <xs:enumeration value="replace"/>
  </xs:restriction>
 </xs:simpleType>
</xs:schema>

Top      Up      ToC       Page 170 
16.4.  MSML Audit Packages

16.4.1.  msml-audit-core.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
</xs:schema>

16.4.2.  msml-audit-core-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core-datatypes.xsd"/>
 <xs:element name="audit" substitutionGroup="msmlRequest">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="msmlRequestType">
     <xs:attribute name="queryid" type="auditQueryId.datatype"
                   use="required"/>
     <xs:attribute name="statelist" type="auditStateList.datatype"
                   use="optional"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="auditresult" substitutionGroup="msmlResultComplex">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="msmlResultComplexType">
    <xs:choice maxOccurs="unbounded">
     <xs:element ref="stateParameter"/>
     <xs:element ref="stateParameterSimple"/>
     </xs:choice>
     <xs:attribute name="targetid" type="independentID.datatype"
                   use="required"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="stateParameter" type="stateParameterType"
             abstract="true"/>

Top      Up      ToC       Page 171 
 <xs:element name="stateParameterSimple" type="stateParameterSimpleType"
             abstract="true"/>
 <xs:complexType name="stateParameterType"/>
 <xs:simpleType name="stateParameterSimpleType">
  <xs:restriction base="xs:string"/>
 </xs:simpleType>
 <xs:simpleType name="auditQueryId.datatype">
  <xs:restriction base="xs:string">
   <xs:pattern value="conf:[a-zA-Z0-9.:\-_]+"/>
   <xs:pattern value="conn:[a-zA-Z0-9.:\-_]+"/>
   <xs:pattern value="conf:\*"/>
   <xs:pattern value="conn:\*"/>
  </xs:restriction>
 </xs:simpleType>
 <xs:simpleType name="auditStateList.datatype">
  <xs:restriction base="xs:string"/>
 </xs:simpleType>
</xs:schema>

16.4.3.  msml-audit-conf.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-dialog-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-stream-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-conf-datatypes.xsd"/>
</xs:schema>

16.4.4.  msml-audit-conf-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-conf-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
 <xs:element name="confconfig" substitutionGroup="stateParameter">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="stateParameterType">
     <xs:sequence>
      <xs:element name="audiomix" type="audioMixType" minOccurs="0"
                  maxOccurs="unbounded"/>

Top      Up      ToC       Page 172 
      <xs:element name="videolayout" type="videoLayoutType"
                  minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="controller" type="connID.datatype"
                  minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="deletewhen" use="optional" default="never">
      <xs:simpleType>
       <xs:restriction base="xs:string">
        <xs:enumeration value="nomedia"/>
        <xs:enumeration value="nocontrol"/>
        <xs:enumeration value="never"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name="term" type="boolean.datatype" use="optional"
                   default="true"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
</xs:schema>

16.4.5.  msml-audit-conn.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-core.xsd"/>
 <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-dialog-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-stream-datatypes.xsd"/>
 <xs:include schemaLocation="msml-audit-conn-datatypes.xsd"/>
</xs:schema>

16.4.6.  msml-audit-conn-datatypes.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">
 <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
 <xs:element name="sipdialog" substitutionGroup="stateParameter">
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base="stateParameterType">
     <xs:sequence>
      <xs:element name="localseq" type="xs:integer" minOccurs="0"/>

Top      Up      ToC       Page 173 
      <xs:element name="remoteseq" type="xs:int" minOccurs="0"/>
      <xs:element name="localuri" type="xs:string" minOccurs="0"/>
      <xs:element name="remoteuri" type="xs:string" minOccurs="0"/>
      <xs:element name="remotetarget" type="xs:string" minOccurs="0"/>
      <xs:element name="routeset" type="xs:string" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="callid" type="xs:string" use="required"/>
     <xs:attribute name="localtag" type="xs:string" use="required"/>
     <xs:attribute name="remotetag" type="xs:string" use="required"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
 <xs:element name="localsdp" type="stateParameterSimpleType"
             substitutionGroup="stateParameterSimple"/>
 <xs:element name="remotesdp" type="stateParameterSimpleType"
             substitutionGroup="stateParameterSimple"/>
</xs:schema>

16.4.7.  msml-audit-dialog-datatypes.xsd

   Audit Dialog functionality requires use of either the Audit Conf
   Package or the Audit Conn Package.

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
              elementFormDefault="qualified"
              attributeFormDefault="unqualified">
    <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
    <xs:element name="dialog" substitutionGroup="stateParameter">
     <xs:complexType>
      <xs:complexContent>
       <xs:extension base="stateParameterType">
        <xs:sequence>
         <xs:element name="duration" type="xs:positiveInteger"
                     minOccurs="0"/>
         <xs:element name="primitive" minOccurs="0">
          <xs:simpleType>
           <xs:restriction base="xs:string">
            <xs:pattern value="play"/>
            <xs:pattern value="dtmf"/>
            <xs:pattern value="collect"/>
            <xs:pattern value="dtmfgen"/>
            <xs:pattern value="tonegen"/>
            <xs:pattern value="record"/>
            <xs:pattern value="none"/>
           </xs:restriction>
          </xs:simpleType>

Top      Up      ToC       Page 174 
         </xs:element>
         <xs:element name="controller" type="connID.datatype"
                     minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="name" type="msmlInstanceID.datatype"
                      use="required"/>
        <xs:attribute name="src" type="xs:anyURI" use="optional"/>
        <xs:attribute name="type" type="dialogLanguage.datatype"
                      use="required"/>
       </xs:extension>
      </xs:complexContent>
     </xs:complexType>
    </xs:element>
   </xs:schema>

16.4.8.  msml-audit-stream-datatypes.xsd

   Audit Stream functionality requires use of either the Audit Conf
   Package or the Audit Conn Package.

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
              elementFormDefault="qualified"
              attributeFormDefault="unqualified">
    <xs:include schemaLocation="msml-audit-core-datatypes.xsd"/>
    <xs:element name="stream" substitutionGroup="stateParameter">
     <xs:complexType>
      <xs:complexContent>
       <xs:extension base="stateParameterType">
        <xs:all>
         <xs:element name="clamp" minOccurs="0">
          <xs:complexType>
           <xs:attribute name="dtmf" type="boolean.datatype"/>
           <xs:attribute name="tones" type="boolean.datatype"/>
          </xs:complexType>
         </xs:element>
         <xs:element name="gain" minOccurs="0">
          <xs:complexType>
           <xs:attribute name="amt" use="optional">
            <xs:simpleType>
             <xs:restriction base="xs:integer">
              <xs:minInclusive value="-96"/>
              <xs:maxInclusive value="96"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
           <xs:attribute name="agc" type="boolean.datatype"/>
           <xs:attribute name="tgtlvl" use="optional">

Top      Up      ToC       Page 175 
            <xs:simpleType>
             <xs:restriction base="xs:nonPositiveInteger">
              <xs:minInclusive value="-40"/>
              <xs:maxInclusive value="0"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
           <xs:attribute name="maxgain" default="10">
            <xs:simpleType>
             <xs:restriction base="xs:nonNegativeInteger">
              <xs:minInclusive value="0"/>
              <xs:maxInclusive value="40"/>
             </xs:restriction>
            </xs:simpleType>
           </xs:attribute>
          </xs:complexType>
         </xs:element>
         <xs:element name="visual" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="joinwith" type="independentID.datatype"
                      use="required"/>
        <xs:attribute name="media" use="required">
         <xs:simpleType>
          <xs:restriction base="xs:string">
           <xs:pattern value="audio"/>
           <xs:pattern value="video"/>
          </xs:restriction>
         </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="dir" use="required">
         <xs:simpleType>
          <xs:restriction base="xs:string">
           <xs:pattern value="from"/>
           <xs:pattern value="to"/>
          </xs:restriction>
         </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="compressed" type="boolean.datatype"/>
        <xs:attribute name="preferred" type="boolean.datatype"
                      default="false"/>
        <xs:attribute name="display" type="xs:string"/>
        <xs:attribute name="override" type="boolean.datatype"
                      default="false"/>
       </xs:extension>
      </xs:complexContent>
     </xs:complexType>
    </xs:element>
   </xs:schema>

Top      Up      ToC       Page 176 
17.  Security Considerations

   MSML being an XML-based language, security considerations as defined
   by RFC 3023 [i2] are applicable.

   Media server interfaces driven using MSML are under the explicit
   control of a SIP application server.  SIP call legs are used to
   deliver XML-based MSML transactions to the media server.  The
   security and integrity of MSML transactions, whenever required,
   SHOULD use sips: and TLS for encryption and authentication of the SIP
   control channel used to carry MSML payloads.  Further information
   related to security, privacy, and integrity of MSML media types is
   described in the IANA Considerations section.

   Media streams, such as audio/video, MAY optionally be protected,
   encrypted/decrypted, and authenticated, utilizing Secure Real Time
   Protocol (SRTP), wherever media stream security is required.  Media
   negotiation establishes the required level of security and is
   initiated by the clients, which is outside the scope of the control
   interface specified by MSML.

18.  IANA Considerations

18.1.  IANA Registrations for 'application' MIME Media Type

   The following registrations have been made:

   Type Name: "application"

   Subtype names:

      'application/vnd.radisys.msml+xml',

      'application/vnd.radisys.moml+xml',

      'application/vnd.radisys.msml-conf+xml',

      'application/vnd.radisys.msml-dialog+xml',

      'application/vnd.radisys.msml-dialog-base+xml',

      'application/vnd.radisys.msml-dialog-group+xml',

      'application/vnd.radisys.msml-dialog-speech+xml',

      'application/vnd.radisys.msml-dialog-transform+xml',

      'application/vnd.radisys.msml-dialog-fax-detect+xml',

Top      Up      ToC       Page 177 
      'application/vnd.radisys.msml-dialog-fax-sendrecv+xml',

      'application/vnd.radisys.msml-audit+xml',

      'application/vnd.radisys.msml-audit-conf+xml',

      'application/vnd.radisys.msml-audit-conn+xml',

      'application/vnd.radisys.msml-audit-dialog+xml',

      'application/vnd.radisys.msml-audit-stream+xml'

   Required parameters: none

   Optional parameters: charset

      charset semantics as specified in RFC 3023 [i2] for
      "application/xml" media type.

   Encoding considerations:

      As specified in RFC 3023 [i2].

   Security Considerations:

      Media types included in this section are XML based, and therefore
      security considerations as defined by RFC 3023 [i10] are
      applicable.

      These media types do not contain active or executable content as
      the content itself merely provides control of the underlying media
      streams.

      Secure exchange of content associated with these media types for
      purposes of authentication and privacy, whenever applicable, shall
      require the establishment of a secure control channel using sips:
      and TLS.

      Privacy and integrity of media content associated with these media
      types shall be considered when applications using these media
      types are exchanging personal information such as personal
      identification codes or conference access codes.  Whenever such
      content is deemed to require secure transport and authentication,
      a secure channel using sips: and TLS MUST be used, as these media
      types themselves provide no such inherent mechanisms for security.

Top      Up      ToC       Page 178 
   Interoperability considerations:

      As specified in RFC 3023 [i2] and as specified within this
      document.

   Published specification: RFC 5707

   Intended applications for these media types:

      Multimedia Conferencing, Interactive Voice Response systems

   Additional information:

      Magic number(s): None

      File extension(s): None

      Macintosh file type code(s): None

   Person & email address to contact for further information:

      Adnan Saleem <adnan.saleem@radisys.com>

   Intended usage: COMMON

18.2.  IANA Registrations for 'text' MIME Media Type

   The following registrations are planned:

      'text/vnd.radisys.msml-basic-layout'

   Required parameters: none

   Optional parameters: charset

      charset semantics as specified in RFC 3023 [i2] for "text/xml"
      media type.

   Encoding considerations: As specified in RFC 3023 [i2].

   Security Considerations:

      Media types included in this section are XML based, and therefore
      security considerations as defined by RFC 3023 [i10] are
      applicable.

Top      Up      ToC       Page 179 
      The media type defined in this section does not contain active or
      executable content.  The media type defines only a visual layout
      scheme of a video conference.  Establishment of active connections
      associated with the video conference are outside the scope of this
      media type.

      Since this media type only defines a visual layout scheme, with no
      reference or information about client connections or participants
      within the conference, privacy and integrity concerns are not
      applicable to this media type.

   Interoperability considerations:

      As specified in RFC 3023 [i2] and as specified within this
      document.

   Published specification: RFC 5707

   Intended applications for these media types:

      Multimedia Conferencing, Interactive Voice Response systems

   Additional information:

      Magic number(s): None

      File extension(s): None

      Macintosh file type code(s): None

   Person & email address to contact for further information:

      Adnan Saleem <adnan.saleem@radisys.com>

   Intended usage: COMMON

18.3.  URN Sub-Namespace Registration

   The namespace URI for elements defined within this specification is a
   URN [i8].  It uses the namespace identifier 'ietf' defined by [i9]
   and extended by RFC 3688 [i10].

   The following registrations of URN Sub-Namespaces are planned:

   XML namespace: urn:ietf:params:xml:ns:msml

Top      Up      ToC       Page 180 
   XML:

   BEGIN

   <?xml version="1.0"?>

   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"

   "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

   <html xmlns="http://www.w3.org/1999/xhtml">

     <head>

         <meta http-equiv="content-type"

               content="text/html;charset=iso-8859-1"/>

         <title>Media Server Markup Language Namespace</title>

     </head>

     <body>

        <h1>Namespace for Media Server Markup Language</h1>

        <h2>urn:ietf:params:xml:ns:msml</h2>

        <p>See MSML <a
       href="http://www.rfc-editor.org/rfc/rfc5707.txt">RFC 5707</a></p>

     </body>

   </html>

   END

18.4.  XML Schema Registration

   This section registers an XML schema per the procedures in [i10].

   URI: urn:ietf:params:xml:schema:msml

   Registrant Contact:

      Adnan Saleem (adnan.saleem@radisys.com) and authors listed
      within this document.

Top      Up      ToC       Page 181 
   The XML for this schema can be found as the sole content of Section
   16.

19.  References

19.1.  Normative References

   [n1]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
         Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
         Session Initiation Protocol", RFC 3261, June 2002.

   [n2]  Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler,
         "Extensible Markup Language (XML) 1.0 (Second Edition)," W3C
         First Edition REC-xml-20001006, October 2000.

   [n3]  World Wide Web Consortium, "Speech Recognition Grammar
         Specification Version 1.0" (SRGS), W3C Candidate
         Recommendation, March 16, 2004

   [n4]  World Wide Web Consortium, "Natural Language Semantics Markup
         Language (NLSML) for the Speech Interface Framework", W3C
         Working Draft 20, November 2000.

   [n5]  World Wide Web Consortium, "Voice Extensible Markup Language
         (VoiceXML) Version 2.0, W3C Candidate Recommendation, March 16,
         2004.

   [n6]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
         Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986,
         January 2005.

   [n7]  Burger, E., Ed., Van Dyke, J., and A. Spitzer, "Basic Network
         Media Services with SIP", RFC 4240, December 2005.

   [n8]  Levinson, E., "Content-ID and Message-ID Uniform Resource
         Locators", RFC 2392, August 1998.

   [n9]  Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
         Description Protocol", RFC 4566, July 2006.

   [n10] Bos, B., Lie, H., Tantek, C., and Hickson, I., "Cascading Style
         Sheets, level 2 (CSS2) Specification," W3C REC CR-CSS21-, July
         2007.

   [n11] Burnett, D., Walker, M., and Hunt, A., "Speech Synthesis Markup
         Language (SSML) Version 1.0", W3C Recommendation, 7 September
         2004.

Top      Up      ToC       Page 182 
19.2.  Informative References

   [i1]  Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating
         User Agent Capabilities in the Session Initiation Protocol
         (SIP)", RFC 3840, August 2004.

   [i2]  Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types",
         RFC 3023, January 2001.

   [i3]  Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson,
         "RTP: A Transport Protocol for Real-Time Applications", STD 64,
         RFC 3550, July 2003.

   [i4]  Rosenberg, J., Peterson, J., Schulzrinne, H., and G. Camarillo,
         "Best Current Practices for Third Party Call Control (3pcc) in
         the Session Initiation Protocol (SIP)", BCP 85, RFC 3725, April
         2004.

   [i5]  Donovan, S., "The SIP INFO Method", RFC 2976, October 2000.

   [i6]  Ossenbruggen, J., Rutledge, L., Saccocio, B., Schmitz, P.,
         Kate, W., Ayars, J., Bulterman, D., Cohen, A., Day, K., Hodge,
         E., Hoschka, P., Hyche, E., Jourdan, M., Kubota, K., Lanphier,
         R., Laya'da, N., Michel, T., and D. Newman, "Synchronized
         Multimedia Integration Language (SMIL 2.0) Specification," W3C
         REC REC-smil2-20050107, January 2005.

   [i7]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
         Extensions (MIME) Part Two: Media Types", RFC 2046, November
         1996.

   [i8]  Moats, R., "URN Syntax", RFC 2141, May 1997.

   [i9]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
         August 1999.

   [i10] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
         January 2004.

   [i11] Boulton, C., Melanchuk, T., McGlashan, S., and A. Shiratzky, "A
         Control Framework for the Session Initiation Protocol (SIP)",
         Work in Progress, February 2007.

Top      Up      ToC       Page 183 
Acknowledgments

   Sergiu Stambolian of RadiSys provided key insights, both theoretic
   and through development experience, on several versions of the
   document.

   Stephen Buko and George Raskulinec of Intel made numerous valuable
   contributions towards enhancements of multimedia playback and record
   operations.  Gene Shtirmer of Intel provided review feedback on
   several revisions and feature enhancement suggestions.

   David Asher of NMS Communications provided valuable insights towards
   creation of standard profiles and a modularization scheme based on
   packages for better interoperability.

   Gilles Compienne of Ubiquity Software has provided feedback on
   several earlier versions of this document.

   Chris Boulton and Ben Smith, both of Ubiquity, and Michael Rice of
   VocalData helped clarify several issues, while Bruce Walsh and Kevin
   Fitzgerald, both of Spectel/Avaya, provided important feedback.
   Cliff Schornak of Commetrex significantly contributed to the
   facsimile work.  Peter Danielsen of Lucent has contributed thoughtful
   and detailed reviews for several earlier versions of the document.

Top      Up      ToC       Page 184 
Authors' Addresses

   Adnan Saleem
   RadiSys
   4190 Still Creek Drive, Suite 300
   Burnaby, BC, V5C 6C6
   Canada

   Phone: +1 604 918 6376
   EMail : adnan.saleem@radisys.com


   Yong Xin
   RadiSys
   4190 Still Creek Drive, Suite 300
   Burnaby, BC, V5C 6C6
   Canada

   Phone: +1 604 918 6383
   EMail: yong.xin@radiSys.com


   Garland Sharratt
   Consultant
   Vancouver, BC
   Canada

   EMail: garland.sharratt@gmail.com