Tech-invite3GPPspaceIETFspace
96959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 5707

Media Server Markup Language (MSML)

Pages: 184
Informational
Errata
Part 6 of 6 – Pages 148 to 184
First   Prev   None

Top   ToC   RFC5707 - Page 148   prevText

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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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   ToC   RFC5707 - 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