< draft-ietf-mediactrl-ivr-control-package-04.txt   draft-ietf-mediactrl-ivr-control-package-05.txt >
Network Working Group S. McGlashan Network Working Group S. McGlashan
Internet-Draft Hewlett-Packard Internet-Draft Hewlett-Packard
Intended status: Standards Track T. Melanchuk Intended status: Standards Track T. Melanchuk
Expires: July 31, 2009 Rain Willow Communications Expires: August 24, 2009 Rain Willow Communications
C. Boulton C. Boulton
Avaya NS-Technologies
January 27, 2009 February 20, 2009
An Interactive Voice Response (IVR) Control Package for the Media An Interactive Voice Response (IVR) Control Package for the Media
Control Channel Framework Control Channel Framework
draft-ietf-mediactrl-ivr-control-package-04 draft-ietf-mediactrl-ivr-control-package-05
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 31, 2009. This Internet-Draft will expire on August 24, 2009.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 37 skipping to change at page 3, line 37
4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 65 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 65
4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 66 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 66
4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 66 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 66
4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 67 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 67
4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 67 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 67
4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 67 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 67
4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 67 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 67
4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 68 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 68
4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 75 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 75
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 77 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 77
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 102 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 104
6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 102 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 104
6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 103 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 105
6.1.3. Preparing and starting an IVR dialog . . . . . . . . 103 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 105
6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 104 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 106
6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 105 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 107
6.2.1. Playing announcements . . . . . . . . . . . . . . . . 105 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 107
6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 106 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 108
6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 108 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 110
6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 109 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 111
6.2.5. Subscriptions and notifications . . . . . . . . . . . 110 6.2.5. Subscriptions and notifications . . . . . . . . . . . 112
6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 110 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 112
6.4. Foreign Namespace Attributes and Elements . . . . . . . . 111 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 113
7. Security Considerations . . . . . . . . . . . . . . . . . . . 114 7. Security Considerations . . . . . . . . . . . . . . . . . . . 116
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 117 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 119
8.1. Control Package Registration . . . . . . . . . . . . . . 117 8.1. Control Package Registration . . . . . . . . . . . . . . 119
8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 117 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 119
8.3. MIME Type Registration . . . . . . . . . . . . . . . . . 117 8.3. MIME Type Registration . . . . . . . . . . . . . . . . . 119
9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 118 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 120
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 129 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 132
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 130 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 133
12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 131 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 134
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 139 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 142
13.1. Normative References . . . . . . . . . . . . . . . . . . 139 13.1. Normative References . . . . . . . . . . . . . . . . . . 142
13.2. Informative References . . . . . . . . . . . . . . . . . 140 13.2. Informative References . . . . . . . . . . . . . . . . . 143
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 142 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 145
1. Introduction 1. Introduction
The Media Control Channel Framework The Media Control Channel Framework
([I-D.ietf-mediactrl-sip-control-framework]) provides a generic ([I-D.ietf-mediactrl-sip-control-framework]) provides a generic
approach for establishment and reporting capabilities of remotely approach for establishment and reporting capabilities of remotely
initiated commands. The Control Framework utilizes many functions initiated commands. The Control Framework utilizes many functions
provided by the Session Initiation Protocol [RFC3261] (SIP) for the provided by the Session Initiation Protocol [RFC3261] (SIP) for the
rendezvous and establishment of a reliable channel for control rendezvous and establishment of a reliable channel for control
interactions. The Control Framework also introduces the concept of a interactions. The Control Framework also introduces the concept of a
skipping to change at page 14, line 35 skipping to change at page 14, line 35
<audit> audit package capabilities and managed dialogs. See <audit> audit package capabilities and managed dialogs. See
Section 4.4.1 Section 4.4.1
<auditresponse> response to an audit request. See Section 4.4.2 <auditresponse> response to an audit request. See Section 4.4.2
For example, a request to the MS to start an IVR dialog playing a For example, a request to the MS to start an IVR dialog playing a
prompt: prompt:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<dialogstart> <dialogstart connectionid="ssd3r3~sds345b">
<dialog> <dialog>
<prompt> <prompt>
<media loc="http://www.example.com/welcome.wav"/> <media loc="http://www.example.com/welcome.wav"/>
</prompt> </prompt>
</dialog> </dialog>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
and a response from the MS that the dialog started successfully: and a response from the MS that the dialog started successfully:
skipping to change at page 65, line 19 skipping to change at page 65, line 19
4.4.2.2.2. <grammartypes> 4.4.2.2.2. <grammartypes>
The <grammartypes> element provides information about <grammar> The <grammartypes> element provides information about <grammar>
format types supported by the package. The MS MUST NOT include the format types supported by the package. The MS MUST NOT include the
mandatory SRGS format type, "application/srgs+xml" mandatory SRGS format type, "application/srgs+xml"
(Section 4.3.1.3.1). (Section 4.3.1.3.1).
The <grammartypes> element has no attributes. The <grammartypes> element has no attributes.
The <grammartypes> element has the following sequence of child The <grammartypes> element has the following sequence of child
elements (1 or more occurrences): elements (0 or more occurrences):
<mimetype>: element whose content model describes a mime type <mimetype>: element whose content model describes a mime type
(Section 4.6.10). The element is optional. (Section 4.6.10). The element is optional.
4.4.2.2.3. <recordtypes> 4.4.2.2.3. <recordtypes>
The <recordtypes> element provides information about media resource The <recordtypes> element provides information about media resource
format types of <record> supported by the package (Section 4.3.1.4). format types of <record> supported by the package (Section 4.3.1.4).
The <recordtypes> element has no attributes. The <recordtypes> element has no attributes.
skipping to change at page 77, line 31 skipping to change at page 77, line 31
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr" <xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr"
elementFormDefault="qualified" blockDefault="#all" elementFormDefault="qualified" blockDefault="#all"
xmlns="urn:ietf:params:xml:ns:msc-ivr" xmlns="urn:ietf:params:xml:ns:msc-ivr"
xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes" xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation> <xsd:annotation>
<xsd:documentation> <xsd:documentation>
IETF MediaCtrl IVR 1.0 (20081118) IETF MediaCtrl IVR 1.0 (20090214)
This is the schema of the IETF MediaCtrl IVR control This is the schema of the IETF MediaCtrl IVR control
package. package.
The schema namespace is urn:ietf:params:xml:ns:msc-ivr The schema namespace is urn:ietf:params:xml:ns:msc-ivr
</xsd:documentation> </xsd:documentation>
</xsd:annotation> </xsd:annotation>
<!-- <!--
skipping to change at page 78, line 35 skipping to change at page 78, line 35
##################################################### #####################################################
Extensible core type Extensible core type
##################################################### #####################################################
--> -->
<xsd:complexType name="Tcore"> <xsd:complexType name="Tcore">
<xsd:annotation> <xsd:annotation>
<xsd:documentation> <xsd:documentation>
This type is extended by other component types to This type is extended by other (non-mixed) component types to
allow elements and attributes from other namespaces allow attributes from other namespaces.
to be added.
</xsd:documentation> </xsd:documentation>
</xsd:annotation> </xsd:annotation>
<xsd:sequence> <xsd:sequence/>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:anyAttribute namespace="##other" processContents="lax" /> <xsd:anyAttribute namespace="##other" processContents="lax" />
</xsd:complexType> </xsd:complexType>
<!-- <!--
##################################################### #####################################################
TOP LEVEL ELEMENT: mscivr TOP LEVEL ELEMENT: mscivr
##################################################### #####################################################
--> -->
<xsd:complexType name="mscivrType"> <xsd:complexType name="mscivrType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:choice> <xsd:choice>
<xsd:element ref="dialogprepare" /> <xsd:element ref="dialogprepare" />
<xsd:element ref="dialogstart" /> <xsd:element ref="dialogstart" />
<xsd:element ref="dialogterminate" /> <xsd:element ref="dialogterminate" />
skipping to change at page 81, line 6 skipping to change at page 80, line 51
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="dialogstart" type="dialogstartType" /> <xsd:element name="dialogstart" type="dialogstartType" />
<!-- dialogterminate --> <!-- dialogterminate -->
<xsd:complexType name="dialogterminateType"> <xsd:complexType name="dialogterminateType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="dialogid" <xsd:attribute name="dialogid"
type="dialogid.datatype" use="required" /> type="dialogid.datatype" use="required" />
<xsd:attribute name="immediate" <xsd:attribute name="immediate"
type="boolean.datatype" default="false" /> type="boolean.datatype" default="false" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="dialogterminate" type="dialogterminateType" /> <xsd:element name="dialogterminate" type="dialogterminateType" />
<!-- response --> <!-- response -->
<xsd:complexType name="responseType"> <xsd:complexType name="responseType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="status" type="status.datatype" <xsd:attribute name="status" type="status.datatype"
use="required" /> use="required" />
<xsd:attribute name="reason" type="xsd:string" /> <xsd:attribute name="reason" type="xsd:string" />
<xsd:attribute name="dialogid" <xsd:attribute name="dialogid"
type="dialogid.datatype" use="required" /> type="dialogid.datatype" use="required" />
<xsd:attributeGroup ref="fw:framework-attributes" /> <xsd:attributeGroup ref="fw:framework-attributes" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
skipping to change at page 82, line 42 skipping to change at page 82, line 47
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="dialogexit" type="dialogexitType" /> <xsd:element name="dialogexit" type="dialogexitType" />
<!-- dtmfnotify--> <!-- dtmfnotify-->
<xsd:complexType name="dtmfnotifyType"> <xsd:complexType name="dtmfnotifyType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="matchmode" <xsd:attribute name="matchmode"
type="matchmode.datatype" default="all" /> type="matchmode.datatype" default="all" />
<xsd:attribute name="dtmf" type="dtmfstring.datatype" <xsd:attribute name="dtmf" type="dtmfstring.datatype"
use="required" /> use="required" />
<xsd:attribute name="timestamp" type="xsd:dateTime" <xsd:attribute name="timestamp" type="xsd:dateTime"
use="required" /> use="required" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="dtmfnotify" type="dtmfnotifyType" /> <xsd:element name="dtmfnotify" type="dtmfnotifyType" />
<!-- promptinfo --> <!-- promptinfo -->
<xsd:complexType name="promptinfoType"> <xsd:complexType name="promptinfoType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="duration" <xsd:attribute name="duration"
type="xsd:nonNegativeInteger" /> type="xsd:nonNegativeInteger" />
<xsd:attribute name="termmode" <xsd:attribute name="termmode"
type="prompt_termmode.datatype" use="required" /> type="prompt_termmode.datatype" use="required" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="promptinfo" type="promptinfoType" /> <xsd:element name="promptinfo" type="promptinfoType" />
skipping to change at page 83, line 35 skipping to change at page 84, line 4
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:element ref="controlmatch" minOccurs="0" <xsd:element ref="controlmatch" minOccurs="0"
maxOccurs="unbounded" /> maxOccurs="unbounded" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="controlinfo" type="controlinfoType" /> <xsd:element name="controlinfo" type="controlinfoType" />
<!-- controlmatch --> <!-- controlmatch -->
<xsd:complexType name="controlmatchType"> <xsd:complexType name="controlmatchType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="dtmf" <xsd:attribute name="dtmf"
type="dtmfstring.datatype" /> type="dtmfstring.datatype" />
<xsd:attribute name="timestamp" type="xsd:dateTime" /> <xsd:attribute name="timestamp" type="xsd:dateTime" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="controlmatch" type="controlmatchType" /> <xsd:element name="controlmatch" type="controlmatchType" />
<!-- collectinfo --> <!-- collectinfo -->
<xsd:complexType name="collectinfoType"> <xsd:complexType name="collectinfoType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="dtmf" <xsd:attribute name="dtmf"
type="dtmfstring.datatype" /> type="dtmfstring.datatype" />
<xsd:attribute name="termmode" <xsd:attribute name="termmode"
type="collect_termmode.datatype" use="required" /> type="collect_termmode.datatype" use="required" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="collectinfo" type="collectinfoType" /> <xsd:element name="collectinfo" type="collectinfoType" />
skipping to change at page 84, line 50 skipping to change at page 85, line 24
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="recordinfo" type="recordinfoType" /> <xsd:element name="recordinfo" type="recordinfoType" />
<!-- mediainfo --> <!-- mediainfo -->
<xsd:complexType name="mediainfoType"> <xsd:complexType name="mediainfoType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="loc" type="xsd:anyURI" <xsd:attribute name="loc" type="xsd:anyURI"
use="required" /> use="required" />
<xsd:attribute name="type" type="mime.datatype" <xsd:attribute name="type" type="mime.datatype"
use="required"/> use="required"/>
<xsd:attribute name="size" <xsd:attribute name="size"
type="xsd:nonNegativeInteger" /> type="xsd:nonNegativeInteger" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
skipping to change at page 85, line 26 skipping to change at page 86, line 4
<xsd:complexType name="subscribeType"> <xsd:complexType name="subscribeType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:element ref="dtmfsub" minOccurs="0" <xsd:element ref="dtmfsub" minOccurs="0"
maxOccurs="unbounded" /> maxOccurs="unbounded" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="subscribe" type="subscribeType" /> <xsd:element name="subscribe" type="subscribeType" />
<!-- dtmfsub --> <!-- dtmfsub -->
<xsd:complexType name="dtmfsubType"> <xsd:complexType name="dtmfsubType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="matchmode" <xsd:attribute name="matchmode"
type="matchmode.datatype" default="all" /> type="matchmode.datatype" default="all" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="dtmfsub" type="dtmfsubType" /> <xsd:element name="dtmfsub" type="dtmfsubType" />
<!-- params --> <!-- params -->
<xsd:complexType name="paramsType"> <xsd:complexType name="paramsType">
skipping to change at page 88, line 21 skipping to change at page 89, line 4
<xsd:element ref="par" /> <xsd:element ref="par" />
<xsd:any namespace="##other" <xsd:any namespace="##other"
processContents="lax" /> processContents="lax" />
</xsd:choice> </xsd:choice>
<xsd:attribute ref="xml:base" /> <xsd:attribute ref="xml:base" />
<xsd:attribute name="bargein" type="boolean.datatype" <xsd:attribute name="bargein" type="boolean.datatype"
default="true" /> default="true" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="prompt" type="promptType" /> <xsd:element name="prompt" type="promptType" />
<!-- media --> <!-- media -->
<xsd:complexType name="mediaType"> <xsd:complexType name="mediaType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="loc" type="xsd:anyURI" <xsd:attribute name="loc" type="xsd:anyURI"
use="required" /> use="required" />
<xsd:attribute name="type" type="mime.datatype" /> <xsd:attribute name="type" type="mime.datatype" />
<xsd:attribute name="fetchtimeout" <xsd:attribute name="fetchtimeout"
type="timedesignation.datatype" default="30s" /> type="timedesignation.datatype" default="30s" />
<xsd:attribute name="soundLevel" <xsd:attribute name="soundLevel"
type="percentage.datatype" default="100%" /> type="percentage.datatype" default="100%" />
<xsd:attribute name="clipBegin" <xsd:attribute name="clipBegin"
type="timedesignation.datatype" default="0s" /> type="timedesignation.datatype" default="0s" />
<xsd:attribute name="clipEnd" <xsd:attribute name="clipEnd"
skipping to change at page 89, line 4 skipping to change at page 89, line 37
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="media" type="mediaType" /> <xsd:element name="media" type="mediaType" />
<!-- variable --> <!-- variable -->
<xsd:complexType name="variableT"> <xsd:complexType name="variableT">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="value" type="xsd:string" <xsd:attribute name="value" type="xsd:string"
use="required" /> use="required" />
<xsd:attribute name="type" type="xsd:string" <xsd:attribute name="type" type="xsd:string"
use="required" /> use="required" />
<xsd:attribute name="format" type="xsd:string" /> <xsd:attribute name="format" type="xsd:string" />
<xsd:attribute name="gender" type="gender.datatype" /> <xsd:attribute name="gender" type="gender.datatype" />
<xsd:attribute ref="xml:lang" /> <xsd:attribute ref="xml:lang" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
skipping to change at page 89, line 14 skipping to change at page 90, line 4
<xsd:attribute name="value" type="xsd:string" <xsd:attribute name="value" type="xsd:string"
use="required" /> use="required" />
<xsd:attribute name="type" type="xsd:string" <xsd:attribute name="type" type="xsd:string"
use="required" /> use="required" />
<xsd:attribute name="format" type="xsd:string" /> <xsd:attribute name="format" type="xsd:string" />
<xsd:attribute name="gender" type="gender.datatype" /> <xsd:attribute name="gender" type="gender.datatype" />
<xsd:attribute ref="xml:lang" /> <xsd:attribute ref="xml:lang" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="variable" type="variableT" /> <xsd:element name="variable" type="variableT" />
<!-- dtmf --> <!-- dtmf -->
<xsd:complexType name="dtmfType"> <xsd:complexType name="dtmfType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="digits" <xsd:attribute name="digits"
type="dtmfstring.datatype" use="required" /> type="dtmfstring.datatype" use="required" />
<xsd:attribute name="level" type="xsd:integer" <xsd:attribute name="level" type="xsd:integer"
default="-6" /> default="-6" />
<xsd:attribute name="duration" <xsd:attribute name="duration"
type="timedesignation.datatype" default="100ms" /> type="timedesignation.datatype" default="100ms" />
<xsd:attribute name="interval" <xsd:attribute name="interval"
type="timedesignation.datatype" default="100ms" /> type="timedesignation.datatype" default="100ms" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
skipping to change at page 90, line 32 skipping to change at page 91, line 24
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="seq" type="seqType" /> <xsd:element name="seq" type="seqType" />
<!-- control --> <!-- control -->
<xsd:complexType name="controlType"> <xsd:complexType name="controlType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="skipinterval" <xsd:attribute name="skipinterval"
type="timedesignation.datatype" default="6s" /> type="timedesignation.datatype" default="6s" />
<xsd:attribute name="ffkey" type="dtmfchar.datatype" /> <xsd:attribute name="ffkey" type="dtmfchar.datatype" />
<xsd:attribute name="rwkey" type="dtmfchar.datatype" /> <xsd:attribute name="rwkey" type="dtmfchar.datatype" />
<xsd:attribute name="pauseinterval" <xsd:attribute name="pauseinterval"
type="timedesignation.datatype" default="10s" /> type="timedesignation.datatype" default="10s" />
<xsd:attribute name="pausekey" <xsd:attribute name="pausekey"
type="dtmfchar.datatype" /> type="dtmfchar.datatype" />
<xsd:attribute name="resumekey" <xsd:attribute name="resumekey"
type="dtmfchar.datatype" /> type="dtmfchar.datatype" />
skipping to change at page 93, line 4 skipping to change at page 93, line 50
<xsd:attribute name="append" type="boolean.datatype" <xsd:attribute name="append" type="boolean.datatype"
default="false" /> default="false" />
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="record" type="recordType" /> <xsd:element name="record" type="recordType" />
<!-- <!--
##################################################### #####################################################
AUDIT TYPES
AUDIT TYPES
##################################################### #####################################################
--> -->
<!-- audit --> <!-- audit -->
<xsd:complexType name="auditType"> <xsd:complexType name="auditType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence>
<xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" />
</xsd:sequence>
<xsd:attribute name="capabilities" <xsd:attribute name="capabilities"
type="boolean.datatype" default="true" /> type="boolean.datatype" default="true" />
<xsd:attribute name="dialogs" <xsd:attribute name="dialogs"
type="boolean.datatype" default="true" /> type="boolean.datatype" default="true" />
<xsd:attribute name="dialogid" <xsd:attribute name="dialogid"
type="dialogid.datatype"/> type="dialogid.datatype"/>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
skipping to change at page 95, line 11 skipping to change at page 96, line 12
<xsd:complexType name="capabilitiesType"> <xsd:complexType name="capabilitiesType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:element ref="dialoglanguages" minOccurs="1" <xsd:element ref="dialoglanguages" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="grammartypes" minOccurs="1" <xsd:element ref="grammartypes" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="recordtypes" minOccurs="1" <xsd:element ref="recordtypes" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="mediatypes" minOccurs="1" <xsd:element ref="prompttypes" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="variables" minOccurs="1" <xsd:element ref="variables" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="maxpreparedduration" minOccurs="1" <xsd:element ref="maxpreparedduration" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="maxrecordduration" minOccurs="1" <xsd:element ref="maxrecordduration" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:element ref="codecs" minOccurs="1" <xsd:element ref="codecs" minOccurs="1"
maxOccurs="1" /> maxOccurs="1" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
skipping to change at page 96, line 38 skipping to change at page 97, line 40
maxOccurs="unbounded" /> maxOccurs="unbounded" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="recordtypes" type="recordtypesType" /> <xsd:element name="recordtypes" type="recordtypesType" />
<!-- mediatypes --> <!-- prompttypes -->
<xsd:complexType name="mediatypesType"> <xsd:complexType name="prompttypesType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:element ref="mimetype" minOccurs="0" <xsd:element ref="mimetype" minOccurs="0"
maxOccurs="unbounded" /> maxOccurs="unbounded" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="mediatypes" type="mediatypesType" /> <xsd:element name="prompttypes" type="prompttypesType" />
<!-- variables --> <!-- variables -->
<xsd:complexType name="variablesType"> <xsd:complexType name="variablesType">
<xsd:complexContent> <xsd:complexContent>
<xsd:extension base="Tcore"> <xsd:extension base="Tcore">
<xsd:sequence> <xsd:sequence>
<xsd:element ref="variabletype" minOccurs="0" <xsd:element ref="variabletype" minOccurs="0"
maxOccurs="unbounded" /> maxOccurs="unbounded" />
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
skipping to change at page 97, line 44 skipping to change at page 98, line 46
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="type" type="xsd:string" use="required" /> <xsd:attribute name="type" type="xsd:string" use="required" />
<xsd:attribute name="desc" type="xsd:string"/> <xsd:attribute name="desc" type="xsd:string"/>
</xsd:extension> </xsd:extension>
</xsd:complexContent> </xsd:complexContent>
</xsd:complexType> </xsd:complexType>
<xsd:element name="variabletype" type="variabletypeType" /> <xsd:element name="variabletype" type="variabletypeType" />
<!-- format -->
<!-- doesn't extend tCore since its content model is mixed -->
<xsd:complexType name="formatType" mixed="true"> <xsd:complexType name="formatType" mixed="true">
<xsd:sequence> <xsd:sequence>
<xsd:any namespace="##other" minOccurs="0" <xsd:any namespace="##other" minOccurs="0"
maxOccurs="unbounded" processContents="lax" /> maxOccurs="unbounded" processContents="lax" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="desc" type="xsd:string" /> <xsd:attribute name="desc" type="xsd:string" />
<xsd:anyAttribute namespace="##other" processContents="lax" /> <xsd:anyAttribute namespace="##other" processContents="lax" />
</xsd:complexType> </xsd:complexType>
<xsd:element name="format" type="formatType" /> <xsd:element name="format" type="formatType" />
<!-- maxpreparedduration --> <!-- maxpreparedduration -->
<xsd:element name="maxpreparedduration" <xsd:element name="maxpreparedduration"
type="timedesignation.datatype"/> type="timedesignation.datatype"/>
<!-- maxrecordduration --> <!-- maxrecordduration -->
<xsd:element name="maxrecordduration" <xsd:element name="maxrecordduration"
skipping to change at page 107, line 22 skipping to change at page 109, line 22
</dialog> </dialog>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
If no user input is collected within 30s, then following notification If no user input is collected within 30s, then following notification
event would be returned: event would be returned:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<event dialogid="vxi81"> <event dialogid="vxi81">
<dialogexit status="1" > <dialogexit status="1" >
<promptinfo termmode="completed" duration="4000"/>
<collectinfo termmode="noinput"/> <collectinfo termmode="noinput"/>
</dialogexit> </dialogexit>
</event> </event>
</mscivr> </mscivr>
The collect operation can be specified without a prompt. Here the MS The collect operation can be specified without a prompt. Here the MS
just waits for DTMF input from the user: just waits for DTMF input from the user:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns">
skipping to change at page 110, line 28 skipping to change at page 112, line 28
6.2.5. Subscriptions and notifications 6.2.5. Subscriptions and notifications
In this example, a looped dialog is started with subscription for In this example, a looped dialog is started with subscription for
notifications each time the user input matches the collect grammar: notifications each time the user input matches the collect grammar:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<dialogstart connectionid="7HDY839~HJKSkyHS"> <dialogstart connectionid="7HDY839~HJKSkyHS">
<dialog repeatCount="0"> <dialog repeatCount="0">
<collect maxdigits="2"/> <collect maxdigits="2"/>
<subscribe>
<dtmfsub matchmode="collect"/>
</subscribe>
</dialog> </dialog>
<subscribe>
<dtmfsub matchmode="collect"/>
</subscribe>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
Each time the user input the DTMF matching the grammar, the following Each time the user input the DTMF matching the grammar, the following
notification event would be sent: notification event would be sent:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<event dialogid="vxi81"> <event dialogid="vxi81">
<dtmfnotify matchmode="collect" dtmf="12" <dtmfnotify matchmode="collect" dtmf="12"
timestamp="2008-05-12T12:13:14Z"/> timestamp="2008-05-12T12:13:14Z"/>
skipping to change at page 111, line 6 skipping to change at page 113, line 6
If no user input was provided, or the input did not match the If no user input was provided, or the input did not match the
grammar, the dialog would continue to loop until terminated (or an grammar, the dialog would continue to loop until terminated (or an
error occurred). error occurred).
6.3. Other Dialog Languages 6.3. Other Dialog Languages
The following example requests that a VoiceXML dialog is started: The following example requests that a VoiceXML dialog is started:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<dialogstart dialogid="d2" type="application/voicexml+xml" <dialogstart dialogid="d2"
src="http://www.example.com/mydialog.vxml" connectionid="7HDY839~HJKSkyHS"
fetchtimeout="15s"> type="application/voicexml+xml"
src="http://www.example.com/mydialog.vxml"
fetchtimeout="15s">
<params> <params>
<param name="prompt1">nfs://nas01/media1.3gp"</param> <param name="prompt1">nfs://nas01/media1.3gp</param>
<param name="prompt2">nfs://nas01/media2.3gp"</param> <param name="prompt2">nfs://nas01/media2.3gp</param>
</params> </params>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
If the MS does not support this dialog language, then the response If the MS does not support this dialog language, then the response
would have the status code 409 (Section 4.5). However, if it does would have the status code 421 (Section 4.5). However, if it does
support the VoiceXML dialog language, it would respond with a 200 support the VoiceXML dialog language, it would respond with a 200
status, activate the VoiceXML dialog and make the <params> available status, activate the VoiceXML dialog and make the <params> available
to the VoiceXML script as described in Section 12. to the VoiceXML script as described in Section 12.
When the VoiceXML dialog exits, exit namelist parameters are When the VoiceXML dialog exits, exit namelist parameters are
specified using <params> in the dialogexit event: specified using <params> in the dialogexit event:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<event dialogid="d2"> <event dialogid="d2">
<dialogexit status="1"> <dialogexit status="1">
skipping to change at page 114, line 15 skipping to change at page 116, line 15
7. Security Considerations 7. Security Considerations
As this control package processes XML markup, implementations MUST As this control package processes XML markup, implementations MUST
address the security considerations of [RFC3023]. address the security considerations of [RFC3023].
Implementations of this control package MUST address security, Implementations of this control package MUST address security,
confidentiality and integrity of messages transported over the confidentiality and integrity of messages transported over the
control channel as described in Section 11 of the Media Control control channel as described in Section 11 of the Media Control
channel Framework ([I-D.ietf-mediactrl-sip-control-framework]), channel Framework ([I-D.ietf-mediactrl-sip-control-framework]),
including Transport Level Protection, Control Channel Policy including Transport Level Protection, Control Channel Policy
Management and Session Establishment. Management and Session Establishment. In addition, implementations
MUST address security, confidentiality and integrity of User Agent
sessions with the MS, both in terms of SIP signaling and associated
RTP media flow; see [I-D.ietf-mediactrl-sip-control-framework] for
further details on this topic.
Adequate transport protection and authentication are critical, Adequate transport protection and authentication are critical,
especially when the implementation is deployed in open networks. If especially when the implementation is deployed in open networks. If
the implementation fails to correctly address these issues, it risks the implementation fails to correctly address these issues, it risks
exposure to malicious attacks, including (but not limited to): exposure to malicious attacks, including (but not limited to):
Denial of Service: An attacker could insert a request message into Denial of Service: An attacker could insert a request message into
the transport stream causing specific dialogs on the MS to be the transport stream causing specific dialogs on the MS to be
terminated immediately. For example, <dialogterminate terminated immediately. For example, <dialogterminate
dialogid="XXXX" immediate="true">, where the value of "XXXX" could dialogid="XXXX" immediate="true">, where the value of "XXXX" could
skipping to change at page 118, line 9 skipping to change at page 120, line 9
XML namespace: urn:ietf:params:xml:ns:msc-ivr XML namespace: urn:ietf:params:xml:ns:msc-ivr
8.3. MIME Type Registration 8.3. MIME Type Registration
MIME type: application/msc-ivr+xml MIME type: application/msc-ivr+xml
9. Change Summary 9. Change Summary
Note to RFC Editor: Please remove this whole section. Note to RFC Editor: Please remove this whole section.
The following are the changes between the -05 and -04 versions.
o Corrected syntax errors in examples: 4.1, 6.2.2, 6.2.5, 6.3
o 6.3: Corrected error status code for unsupported dialog
o 4.4.2.2.2: <grammartypes>: corrected text to reflect that no
additional grammar types need be specified.
o Schema: corrected schema to allow <grammartypes> with no children,
and renamed <mediatypes> to <prompttypes> to align with text.
Fixed problem with non-deterministic content models.
o 7. Security Considerations: Added requirement that
implementations need to secure SIP and RTP sessions with User
Agents.
The following are the changes between the -04 and -03 versions. The following are the changes between the -04 and -03 versions.
o 4.2.2.2: Clarified that media stream direction is relative to the o 4.2.2.2: Clarified that media stream direction is relative to the
dialog (the examples showed this but not the definition). dialog (the examples showed this but not the definition).
o 4.3.1.2: Clarified that speed. volume and seek <control> o 4.3.1.2: Clarified that speed. volume and seek <control>
operations beyond the platform's capability are automatically operations beyond the platform's capability are automatically
limited to the platform's minimum/maximum. Also clarified that limited to the platform's minimum/maximum. Also clarified that
when the output is paused, then the MS resumes output when the output is paused, then the MS resumes output
automatically on speed, volume and seek control operations. automatically on speed, volume and seek control operations.
skipping to change at page 135, line 37 skipping to change at page 138, line 37
the last <param> in document order. The corresponding value for the last <param> in document order. The corresponding value for
each key is an object with two required properties: a "type" each key is an object with two required properties: a "type"
property evaluating to the value of the type attribute; and a property evaluating to the value of the type attribute; and a
"content" property evaluating to the content of the <param>. In "content" property evaluating to the content of the <param>. In
addition, this object's toString() function returns the value of addition, this object's toString() function returns the value of
the "content" property as a string. the "content" property as a string.
For example, a VoiceXML dialog started with one parameter: For example, a VoiceXML dialog started with one parameter:
<mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr">
<dialogstart type="application/voicexml+xml" <dialogstart connectionid="ssd3r3~sds345b"
type="application/voicexml+xml"
src="http://www.example.com/mydialog.vxml" src="http://www.example.com/mydialog.vxml"
fetchtimeout="15s"> fetchtimeout="15s">
<params> <params>
<param name="mode">playannouncement</param> <param name="mode">playannouncement</param>
</params> </params>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
In this case, session.values would be defined with one item in the In this case, session.values would be defined with one item in the
array where session.values['mode'].type evaluates to "text/plain" array where session.values['mode'].type evaluates to "text/plain"
skipping to change at page 139, line 12 skipping to change at page 142, line 12
requested, or error.unsupported.transfer.consultation if consultation requested, or error.unsupported.transfer.consultation if consultation
transfer is requested. transfer is requested.
13. References 13. References
13.1. Normative References 13.1. Normative References
[I-D.ietf-mediactrl-sip-control-framework] [I-D.ietf-mediactrl-sip-control-framework]
Boulton, C., Melanchuk, T., and S. McGlashan, "Media Boulton, C., Melanchuk, T., and S. McGlashan, "Media
Control Channel Framework", Control Channel Framework",
draft-ietf-mediactrl-sip-control-framework-08 (work in draft-ietf-mediactrl-sip-control-framework-09 (work in
progress), December 2008. progress), February 2009.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
Types", RFC 3023, January 2001. Types", RFC 3023, January 2001.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005. RFC 3986, January 2005.
skipping to change at page 139, line 39 skipping to change at page 142, line 39
Languages", BCP 47, RFC 4646, September 2006. Languages", BCP 47, RFC 4646, September 2006.
[RFC4647] Phillips, A. and M. Davis, "Matching of Language Tags", [RFC4647] Phillips, A. and M. Davis, "Matching of Language Tags",
BCP 47, RFC 4647, September 2006. BCP 47, RFC 4647, September 2006.
[SRGS] Hunt, A. and S. McGlashan, "Speech Recognition Grammar [SRGS] Hunt, A. and S. McGlashan, "Speech Recognition Grammar
Specification Version 1.0", W3C Recommendation, Specification Version 1.0", W3C Recommendation,
March 2004. March 2004.
[W3C.REC-SMIL2-20051213] [W3C.REC-SMIL2-20051213]
Jansen, J., Grassel, G., Bulterman, D., Layaida, N., Bulterman, D., Layaida, N., Jansen, J., Michel, T.,
Zucker, D., Michel, T., Mullender, S., and A. Koivisto, Zucker, D., Mullender, S., Koivisto, A., and G. Grassel,
"Synchronized Multimedia Integration Language (SMIL 2.1)", "Synchronized Multimedia Integration Language (SMIL 2.1)",
World Wide Web Consortium Recommendation REC-SMIL2- World Wide Web Consortium Recommendation REC-SMIL2-
20051213, December 2005, 20051213, December 2005,
<http://www.w3.org/TR/2005/REC-SMIL2-20051213>. <http://www.w3.org/TR/2005/REC-SMIL2-20051213>.
[XML] Bray, T., Paoli, J., Sperberg-McQueen, C M., Maler, E., [XML] Bray, T., Paoli, J., Sperberg-McQueen, C M., Maler, E.,
and F. Yergeau, "Extensible Markup Language (XML) 1.0 and F. Yergeau, "Extensible Markup Language (XML) 1.0
(Third Edition)", W3C Recommendation, February 2004. (Third Edition)", W3C Recommendation, February 2004.
[XMLSchema:Part2] [XMLSchema:Part2]
skipping to change at page 140, line 28 skipping to change at page 143, line 28
October 2008. October 2008.
[IANA] "IANA registry for RTP Payload Types", [IANA] "IANA registry for RTP Payload Types",
<http://www.iana.org/assignments/rtp-parameters>. <http://www.iana.org/assignments/rtp-parameters>.
[MIME.mediatypes] [MIME.mediatypes]
"IANA registry for MIME Media Types", "IANA registry for MIME Media Types",
<http://www.iana.org/assignments/media-types/>. <http://www.iana.org/assignments/media-types/>.
[MSML] Saleem, A., Xin, Y., and G. Sharratt, "Media Session [MSML] Saleem, A., Xin, Y., and G. Sharratt, "Media Session
Markup Language (MSML)", draft-saleem-msml-07 (work in Markup Language (MSML)", draft-saleem-msml-08 (work in
progress), August 2008. progress), February 2009.
[RFC2897] Cromwell, D., "Proposal for an MGCP Advanced Audio [RFC2897] Cromwell, D., "Proposal for an MGCP Advanced Audio
Package", RFC 2897, August 2000. Package", RFC 2897, August 2000.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. June 2002.
[RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network
skipping to change at page 142, line 20 skipping to change at page 145, line 20
SE-16985 Stockholm, Sweden SE-16985 Stockholm, Sweden
Email: scott.mcglashan@hp.com Email: scott.mcglashan@hp.com
Tim Melanchuk Tim Melanchuk
Rain Willow Communications Rain Willow Communications
Email: tim.melanchuk@gmail.com Email: tim.melanchuk@gmail.com
Chris Boulton Chris Boulton
Avaya NS-Technologies
Building 3
Wern Fawr Lane
St Mellons
Cardiff, South Wales CF3 5EA
Email: cboulton@avaya.com Email: chris@ns-technologies.com
 End of changes. 56 change blocks. 
74 lines changed or deleted 147 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/