< draft-boulton-ivr-vxml-control-package-03.txt   draft-boulton-ivr-vxml-control-package-04.txt >
Network Working Group C. Boulton Network Working Group C. Boulton
Internet-Draft Ubiquity Software Corporation Internet-Draft Avaya
Intended status: Standards Track T. Melanchuk Intended status: Standards Track T. Melanchuk
Expires: May 5, 2008 BlankSpace Expires: August 26, 2008 Rain Willow Communications
S. McGlashan S. McGlashan
Hewlett-Packard Hewlett-Packard
A. Shiratzky February 23, 2008
Radvision
November 2, 2007
A VoiceXML Interactive Voice Response (IVR) Control Package for the A VoiceXML Control Package for the Media Control Channel Framework
Session Initiation Protocol (SIP) draft-boulton-ivr-vxml-control-package-04
draft-boulton-ivr-vxml-control-package-03
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of 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
skipping to change at page 1, line 40 skipping to change at page 1, line 37
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 May 5, 2008. This Internet-Draft will expire on August 26, 2008.
Copyright Notice Copyright Notice
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
Abstract Abstract
This document defines a Session Initiation (SIP) Control Package for This document defines a VoiceXML Control Package for the Media
Interactive Voice Response (IVR) interaction using VoiceXML. This Control Channel Framework. This Control Package extends the Basic
Control Package provides IVR functionality using the SIP Control IVR control package with support for VoiceXML dialogs.
Framework and extends the Basic IVR control package with support for
VoiceXML dialogs.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions and Terminology . . . . . . . . . . . . . . . . . 4 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 4
3. Control Package Definition . . . . . . . . . . . . . . . . . . 5 3. Control Package Definition . . . . . . . . . . . . . . . . . . 5
3.1. Control Package Name . . . . . . . . . . . . . . . . . . . 5 3.1. Control Package Name . . . . . . . . . . . . . . . . . . . 5
3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 5 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 5
3.3. Common XML Support . . . . . . . . . . . . . . . . . . . . 5 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . . 5
3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . . 6 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . . 5
3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 6 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 6
4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 7 4. Element Extensions . . . . . . . . . . . . . . . . . . . . . . 7
4.1. Requests . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . . . 7
4.1.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . 7 4.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . . . 7
4.1.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . 9 4.3. <event> . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1.3. <dialogterminate> . . . . . . . . . . . . . . . . . . 12 4.4. <dialogexit> . . . . . . . . . . . . . . . . . . . . . . . 8
4.2. Responses . . . . . . . . . . . . . . . . . . . . . . . . 13 5. Element Definitions . . . . . . . . . . . . . . . . . . . . . 10
4.2.1. <response> . . . . . . . . . . . . . . . . . . . . . . 13 5.1. <params> . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 15 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.1. <event> . . . . . . . . . . . . . . . . . . . . . . . 15 7. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4. <data> . . . . . . . . . . . . . . . . . . . . . . . . . . 16 8. Security Considerations . . . . . . . . . . . . . . . . . . . 17
4.5. <subscribe> . . . . . . . . . . . . . . . . . . . . . . . 16 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 18 9.1. Control Package Registration . . . . . . . . . . . . . . . 18
6. Security Considerations . . . . . . . . . . . . . . . . . . . 24 9.2. URN Sub-Namespace Registration . . . . . . . . . . . . . . 18
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 10. Change Summary . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1. Control Package Registration . . . . . . . . . . . . . . . 25 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.2. URN Sub-Namespace Registration . . . . . . . . . . . . . . 25 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21
8. Change Summary . . . . . . . . . . . . . . . . . . . . . . . . 26 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 13.1. Normative References . . . . . . . . . . . . . . . . . . . 22
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 13.2. Informative References . . . . . . . . . . . . . . . . . . 22
10.1. Normative References . . . . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
10.2. Informative References . . . . . . . . . . . . . . . . . . 28 Intellectual Property and Copyright Statements . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 30
Intellectual Property and Copyright Statements . . . . . . . . . . 31
1. Introduction 1. Introduction
The SIP Control Framework [SIPCF] provides a generic approach for The Media Control Channel Framework [MCCF] provides a generic
establishment and reporting capabilities of remotely initiated approach for establishment and reporting capabilities of remotely
commands. The Framework utilizes many functions provided by the initiated commands. The Framework utilizes many functions provided
Session Initiation Protocol [RFC3261] (SIP) for the rendezvous and by the Session Initiation Protocol [RFC3261] (SIP) for the rendezvous
establishment of a reliable channel for control interactions. The and establishment of a reliable channel for control interactions.
Control Framework also introduces the concept of a Control Package. The Control Framework also introduces the concept of a Control
A Control Package is an explicit usage of the Control Framework for a Package. A Control Package is an explicit usage of the Control
particular interaction set. Framework for a particular interaction set.
This specification defines a package for IVR functions using VoiceXML This specification defines a Control Package for IVR functions using
dialogs [VXML20]. As a recognized international standard for IVR VoiceXML 2.0 dialogs ([VXML20], [VXML21]). As a recognized
dialogs, VoiceXML is used extensively within media server control international standard for IVR dialogs, VoiceXML is used extensively
languages (cf. [MSCP], [CCXML10], [MSML], [RFC4722], [RFC4240]). To within media server control languages (cf. [CCXML10], [MSML],
ensure interoperability, if a media server supports this package, [RFC4240]).
then it MUST support VoiceXML 2.0 dialog scripts. It MAY support
later versions of VoiceXML or other dialog script formats.
The VoiceXML package extends the basic IVR control package To ensure interoperability, implementations MUST support VoiceXML 2.0
([BASICIVRCP]). The extensions only affect the <dialogprepare> and dialogs. They SHOULD support later versions of VoiceXML (e.g.
<dialogstart> elements: in particular, [VXML21]).
1. dialog scripts may also be specified inline using a child <src> The VoiceXML package extends the basic IVR control package
element ([BASEIVRCP]) by replacing the basic ivr dialog type with a VoiceXML
dialog type. In particular, this package
2. a type attribute is introduced with the default value 1. extends <dialogprepare> and <dialogstart> elements to include
"application/voicexml+xml" inline <vxml> dialogs, http related attributes and a <params>
element to pass information into the dialog.
3. HTTP fetching and caching of dialog scripts can be configured 2. extends <dialogexit> to provide VoiceXML exit information
using attributes of a child <httpparams> element
Otherwise, this package follows precisely the syntax and semantics of Otherwise, this package follows precisely the syntax and semantics of
the basic IVR control package. the basic IVR control package.
Other control packages may be defined which extend the capabilities
of the control package defined in this document. Such control
package must respect the syntax and semantics of this control
package.
2. Conventions and Terminology 2. Conventions and Terminology
In this document, BCP 14/RFC 2119 [RFC2119] defines the key words In this document, BCP 14/RFC 2119 [RFC2119] defines the key words
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL". In addition, BCP 15 indicates requirement levels for "OPTIONAL". In addition, BCP 15 indicates requirement levels for
compliant implementations. compliant implementations.
The following additional terms are defined for use in this document: The additional terms defined in Section 2 of [BASEIVRCP] are used in
this document.
Dialog: A dialog performs media interaction with a user. A dialog
is identified by a URI and has an associated mimetype. Dialogs
typically feature basic capabilities such as playing audio
prompts, collecting DTMF input and recording audio input from the
user. More advanced dialogs may also feature synthesized speech,
recording and playback of video, recognition of spoken input, and
mixed initiative conversations.
Application server: A SIP [RFC3261] application server (AS) hosts
and executes services such as interactive media and conferencing
in an operator's network. An AS influences and impacts the SIP
session, in particular by terminating SIP sessions on a media
server, which is under its control.
Media Server: A media server (MS) processes media streams on behalf
of an AS by offering functionality such as interactive media,
conferencing, and transcoding to the end user. Interactive media
functionality is realized by way of dialogs, which are identified
by a URI and initiated by the application server.
3. Control Package Definition 3. Control Package Definition
This section fulfills the mandatory requirement for information that This section fulfills the mandatory requirement for information that
MUST be specified during the definition of a Control Framework MUST be specified during the definition of a Control Framework
Package, as detailed in Section 9 of [SIPCF]. Package, as detailed in Section 8 of [MCCF].
3.1. Control Package Name 3.1. Control Package Name
The Control Framework requires a Control Package definition to The Control Framework requires a Control Package definition to
specify and register a unique name and version. specify and register a unique name and version.
The name and version of this Control Package is "msc-ivr-vxml/1.0" The name and version of this Control Package is "msc-ivr-vxml/1.0"
(Media Server Control - Interactive Voice Response - VoiceXML - (Media Server Control - Interactive Voice Response - VoiceXML -
version 1.0 ). version 1.0). Its IANA registration is specified in Section 9.1.
3.2. Framework Message Usage 3.2. Framework Message Usage
IVR functionality includes capabilities such as playing prompts, The Control Framework requires a Control Package to explicitly detail
collecting DTMF and recording user input. These functions are the control messages that can be used as well as provide an
expressed in VoiceXML dialogs. indication of directionality between entities. This will include
which role type is allowed to initiate a request type.
This package defines XML elements in Section 4 and provides an XML
Schema in Section 5.
The XML elements in this package are split into requests, responses
and event notifications. Requests are carried in CONTROL message
bodies; <dialogprepare>, <dialogstart> and <dialogterminate> elements
are defined as package requests. Responses are carried either in
REPORT message or Control Framework 200 response bodies; the
<response> element is defined as a package response. Event
notifications are also carried in REPORT message bodies; the <event>
element is defined for package event notifications.
Note that package responses are different from framework response This package adheres to Framework Message usage defined in Section
codes. Framework error response codes (see Section 8 of [SIPCF]) are 3.2 of [BASEIVRCP]. This package extends the dialog control elements
used when the request or event notification is invalid; for example, as defined in Section 4; additional elements are defined in
a request is invalid XML (400), or not understood (500). Package Section 5. A XML Schema for this package is provided in Section 7.
responses are carried in 200 response or REPORT message bodies. This
package's response codes are defined in Section 4.2.1.
The schema uses "connection-id" and "conf-id" attributes which are Implementation of this control package MUST adhere to the syntax and
imported from schema defined in core Control Framework [SIPCF]. semantics of XML elements defined in this document. In cases where
there is a difference in constraints between the XML schema and the
textual description of elements, the textual definition takes
priority.
3.3. Common XML Support 3.3. Common XML Support
The Control Framework requires a Control Package definition to The Control Framework requires a Control Package definition to
specify if the attributes for media dialog or conference references specify if the attributes for media dialog or conference references
are required. are required.
This package requires that the XML Schema in Section 16.1 of [SIPCF] This package adheres to Common XML Support defined in Section 3.3 of
MUST be supported for media dialogs and conferences. [BASEIVRCP].
3.4. CONTROL Message Body 3.4. CONTROL Message Body
A valid CONTROL body message MUST conform to the schema defined in The Control Framework requires a Control Package to define the
Section 5 and described in Section 4. XML messages appearing in control body that can be contained within a CONTROL command request
CONTROL messages MUST contain a <dialogprepare>, <dialogstart> or and to indicate the location of detailed syntax definitions and
<dialogterminate> request element (Section 4.1). semantics for the appropriate body types.
3.5. REPORT Message Body
A valid REPORT body MUST conform to the schema defined in Section 5 This package adheres to CONTROL Message Body as defined in Section
and described in Section 4. XML messages appearing in REPORT 3.4 of [BASEIVRCP].
messages MUST contain a <response> (Section 4.2), or a (notification)
<event> element (Section 4.3).
4. Element Definitions 3.5. REPORT Message Body
This section defines the XML messages for this control package. The Control Framework requires a control package definition to define
the REPORT body that can be contained within a REPORT command
request, or that no report package body is required. This section
should indicate the location of detailed syntax definitions and
semantics for the appropriate body types.
[Editors Note: since XML Schema may not be able to express all This package adheres to REPORT Message Body as defined in Section 3.5
constraints expressed in these definitions, in cases where there is a of [BASEIVRCP].
difference in constraints, the definitions in the section take
priority.]
4.1. Requests 4. Element Extensions
The following request elements are defined: The XML elements used in this package are those defined in Section 4
of [BASEIVRCP] unless otherwise specified in this section.
<dialogprepare>: prepare an IVR dialog for later execution 4.1. <dialogprepare>
<dialogstart>: start an IVR dialog on a connection or conference This package extends the definition of <dialogprepare> request in
Section 4.1.1 of [BASEIVRCP] as follows.
<dialogterminate>: terminate an active IVR dialog The <dialogprepare> element has the following modified attributes:
4.1.1. <dialogprepare> src: implementations MUST support the HTTP protocol
The <dialogprepare> request is sent from the AS to the MS to request type: The default value is "application/voicexml+xml".
preparation of an IVR dialog. A prepared dialog is executed when the
AS sends a <dialogstart> request referencing the prepared dialog (see
Section 4.1.2).
A <dialogprepare> element has the following attributes: The <dialogprepare> element has the following additional attributes:
src: string identifying the URI of the dialog document to prepare. maxage: string defining a time interval according to the max-age
The attribute is mandatory. The MS MUST support VoiceXML 2.0 parameter in HTTP. The attribute is optional.
dialogs and MAY support later versions of VoiceXML or other dialog
types.
type: string identifying the MIME type of the document. The default maxstale: string defining a time interval according to the max-stale
value is "application/voicexml+xml". The attribute is optional. parameter in HTTP. The attribute is optional.
dialogid: string indicating a unique name for the dialog. If this method: string indicating the HTTP method to use. Permitted values
attribute is not specified, the MS creates a unique name for the are "post" or "get". The default value is "get". The attribute
dialog. The value is used in subsequent references to the dialog is optional.
(e.g. as dialogid in a <response>). It is an error if a dialog
with the same name already exists on the MS. The attribute is
optional.
The <dialogprepare> element has the following child elements: enctype: string identifying the encoding type of the submitted
document (when the value of the method attribute is 'post'). The
default value is "application/x-www-form-url-encoded". The
attribute is optional.
<data>: an XML data structure (see Section 4.4) to pass parameters The <dialogprepare> element has the following additional child
into the dialog. It is an error if a specified parameter is not elements:
supported by the implementation. The element is optional.
<subscribe>: an XML data structure (see Section 4.5) indicating <vxml>: contains an inline VoiceXML document in the VoiceXML
notification events to which the AS subscribes. It is an error if namespace. The element is optional.
a specified notification event is not supported by the
implementation. The element is optional.
<src>: contains the dialog script itself; e.g. a VoiceXML document. 4.2. <dialogstart>
The MS MUST support VoiceXML 2.0 dialogs and MAY support later
versions of VoiceXML or other dialog types. The element is
optional.
<httpparams>: contains attributes to configure HTTP 1.1 [RFC2616] This package extends the definition of <dialogstart> request in
fetching and caching. Section 4.1.2 of [BASEIVRCP] as follows.
maxage: string defining a time interval according to the max-age The <dialogstart> element has the following modified attributes:
parameter in HTTP. The attribute is optional.
maxstale: string defining a time interval according to the max- src: implementations MUST support the HTTP URI protocol
stale parameter in HTTP. The attribute is optional.
enctype: string identifying the encoding type of the submitted type: The default value is "application/voicexml+xml".
document. The default value is "application/
x-www-form-url-encoded". The attribute is optional.
method: string indicating the HTTP method to use. Permitted The <dialogstart> element has the following additional attributes:
values are "post" or "get". The default value is "get". The
attribute is optional.
The element is optional. maxage: string defining a time interval according to the max-age
parameter in HTTP. The attribute is optional.
Exactly one of the src attribute or the <src> element MUST be maxstale: string defining a time interval according to the max-stale
specified; otherwise, it is an error. parameter in HTTP. The attribute is optional.
For example, a request to prepare a dialog where the dialog script is method: string indicating the HTTP method to use. Permitted values
indicated using the src attribute: are "post" or "get". The default value is "get". The attribute
is optional.
<dialogprepare src="http://www.example.com/playprompt.vxml"> enctype: string identifying the encoding type of the submitted
<data> document (when the value of the method attribute is 'post'). The
<item name="audio" value="/media/prompt1.wav"/> default value is "application/x-www-form-url-encoded". The
</data> attribute is optional.
</dialogprepare>
Where the data parameter "audio" would be available in the VoiceXML The <dialogstart> element has the following additional child elements
script as "connection.ccxml.values.audio" so different prompts can be defined:
played using the same dialog script.
In the following example, the VoiceXML dialog script is specified <vxml>: contains an inline VoiceXML document in the VoiceXML
inline: namespace. The element is optional.
<dialogprepare> <params>: an XML data structure (see Section 5.1) to pass parameters
<src> into the dialog. The element is optional.
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<form id='main'>
<block>
<audio expr="http://www.example.com/media/prompt1.wav"/>
<exit/>
</block>
</form>
</vxml>
</src>
</dialogprepare>
When an MS has successfully received a <dialogprepare> request, it [Editors Note: further work is required to define how connection
MUST reply with a <response> element (Section 4.2). related information is passed to the VoiceXML interpreter.]
4.1.2. <dialogstart> 4.3. <event>
The <dialogstart> element is sent by the AS to request execution of a Transfer behavior is not defined.
dialog. The dialog may be defined in the dialogstart request itself,
or reference a previously prepared dialog.
The <dialogstart> element has the following attributes: [Editors Note: A later version of this package may specify how
<event> is extended with child elements describing transfer events.]
src: string identifying the URI of the dialog document to start. 4.4. <dialogexit>
The attribute is optional. The MS MUST support VoiceXML 2.0
dialogs and MAY support later versions of VoiceXML or other dialog
types.
type: string identifying the MIME type of the document. The default This package extends the definition of <dialogexit> in Section 4.3.2
value is "application/voicexml+xml". The attribute is optional. of [BASEIVRCP] as follows.
dialogid: string indicating a unique name for the dialog. If this The <dialogexit> element has the following additional attributes:
attribute is not specified, the MS creates a unique name for the
dialog. The value is used in subsequent references to the dialog
(e.g. as dialogid in a <response>). It is an error if a dialog
with the same name already exists on the MS. The attribute is
optional.
prepareddialogid: string identifying a dialog previously prepared termmode: indicates how the voicexml dialog was terminated. Valid
using a dialogprepare request. The attribute is optional. values are: exit, disconnect, or implementation specific string
values beginning with "_". The attribute is mandatory.
connection-id: string identifying the SIP dialog connection on which The <dialogexit> element has the following additional child element:
this dialog is to be started (see Section 16.1 of [SIPCF]). The
attribute is optional.
conf-id: string identifying the conference on which this dialog is <params>: parameters returned from the dialog. The element is
to be started (see Section 16.1 of [SIPCF]). The attribute is
optional. optional.
The <dialogstart> element has the following child elements defined: 5. Element Definitions
<stream>: contains the following attributes:
media: a string indicating the type of media associated with the
stream. It is strongly recommended that the following values
are used for common types of media: "audio" for audio media,
and "video" for video media. The attribute is mandatory.
label: a string indicating the SDP label associated with a media
stream ([RFC4574]). The attribute is optional.
direction: a string indicating the direction of the media flow 5.1. <params>
between a dialog and its end point conference or connection.
Defined values are: "sendrecv" (media can be sent and
received), "sendonly" (media can only be sent), and "recvonly"
(media can only be received). The default value is "sendrecv".
The attribute is optional.
One or more <stream> elements may be specified so that individual The <params> element is a general container for parameterized data.
media streams can be controlled independently; for example, audio
only for transmission, but video only for reception. The <stream>
element is optional. If no <stream> elements are specified, then
the default is the media configuration of the connection or
conference. It is an error if a <stream> element is in conflict
with (a) another <stream> element, (b) with dialog, connection or
conference media capabilities, or (c) with a SDP label value as
part of the connection-id (see Section 16.1 of [SIPCF]).
<data>: an XML data structure (see Section 4.4) to pass parameters The <data> element has no attributes, but has the following child
into the dialog. It is an error if a specified parameter is not elements defined:
supported by the implementation. The element is optional.
<subscribe>: an XML data structure (see Section 4.5) indicating <param>: specifies a parameter. Multiple instances of this element
notification events to which the AS subscribes. It is an error if are permitted. The element is mandatory.
a specified notification event is not supported by the
implementation.The element is optional.
<src>: contains the dialog script itself; e.g. a VoiceXML document. The <param> element has the following attributes:
The MS MUST support VoiceXML 2.0 dialogs and MAY support later
versions of VoiceXML or other dialog types. The element is
optional.
<httpparams>: contains attributes to configure HTTP 1.1 [RFC2616] name: a string indicating the name of the parameter. The attribute
fetching and caching. is mandatory.
maxage: string defining a time interval according to the max-age type: a string indicating the type of the value. The attribute is
parameter in HTTP. The attribute is optional. optional. The default is a string type.
maxstale: string defining a time interval according to the max- value: a string indicating the value of the parameter. separation.
stale parameter in HTTP. The attribute is optional. The attribute is mandatory.
enctype: string identifying the encoding type of the submitted The <param> element has no children.
document. The default value is "application/
x-www-form-url-encoded". The attribute is optional.
method: string indicating the HTTP method to use. Permitted [Editors Note: this defintion of <param> may be extended in a later
values are "post" or "get". The default value is "get". The version to allow inline binary data, used reporting recordings when
attribute is optional. the dialog exits. ]
The element is optional. 6. Examples
[Editors Note: the <stream> element assumes that the use of the SDP [Editors Note: this section needs further work.]
label by itself is insufficent for media stream control. In
particular, the SDP label does not address directionality, nor does
it address conferences. Further investigation of the <stream> is is
required.]
If the prepareddialogid is specified, it is an error to specify the Example: a request to prepare a dialog where the dialog script is is
src attribute, <src> element or the type attribute. referenced:
If the prepareddialogid is not specified, exactly one of the src <dialogprepare type="application/voicexml+xml"
attribute or the <src> element MUST be specified; otherwise, it is an src="http://www.example.com/playprompt.vxml">
error. </dialogprepare>
Exactly one of the connection-id or conf-id attributes MUST be In the following example, the VoiceXML dialog script is specified
specified. It is an error to specify both connection-id and conf-id. inline:
If the prepareddialogid is specified and the <dialogprepare> <dialogprepare>
contained a <data> element, it is an error to specify it in <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<dialogstart>. Likewise, If the prepareddialogid is specified and <form id='main'>
the <dialogprepare> contained a <subscribe> element, it is an error <block>
to specify it in <dialogstart>. <audio expr="http://www.example.com/media/prompt1.wav"/>
<exit/>
</block>
</form>
</vxml>
</dialogprepare>
For example, a request to start a dialog on a conference where the The following example shows a request to start a dialog on a
dialog script is indicated using the src attribute: conference where the dialog script is indicated using the src
attribute:
<dialogstart conf-id="conference11" <dialogstart conferenceid="conference11"
type="application/voicexml+xml"
src="http://www.example.com/playprompt.vxml"> src="http://www.example.com/playprompt.vxml">
<data> <params>
<item name="media" value="/media/prompt1.wav"/> <param name="media"
</data> value="http://www.example.com/media/prompt1.wav"/>
</params>
</dialogstart> </dialogstart>
Where the data parameter "media" would be available in the VoiceXML Where the parameter "media" would be available in the VoiceXML script
script as "connection.ccxml.values.media" so different prompts can be as "connection.ccxml.values.media" so different prompts can be played
played using the same dialog script. using the same dialog script.
In the following example, the VoiceXML dialog script is specified In the following example, the VoiceXML dialog script is specified
inline. inline.
<dialogstart conf-id="conference11"> <dialogstart conferenceid="conference11">
<src>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<form id='main'> <form id='main'>
<block> <block>
<audio expr="http://www.example.com/media/prompt1.wav"/> <audio expr="http://www.example.com/media/prompt1.wav"/>
<exit/> <exit/>
</block> </block>
</form> </form>
</vxml> </vxml>
</src>
</dialogstart> </dialogstart>
In this example, a previously prepared dialog with the dialogid 7. Formal Syntax
"vxi1" is started.
<dialogstart prepareddialogid="vxi1" conf-id="conference11"/>
When an MS has successfully received a <dialogstart> request, it MUST
reply with a <response> element (Section 4.2).
4.1.3. <dialogterminate>
A dialog that has been successfully prepared or started can be
terminated by a <dialogterminate> request element from the AS.
The <dialogterminate> element has the following attributes:
dialogid: string identifying an existing dialog. The attribute is
mandatory.
immediate: string with the values "true" or "false" indicating
whether the dialog is to be terminated immediately or not. If a
dialog is terminated immediately, no further dialog event
notifications are sent (including a dialogexit <event>). The
default is "false". The attribute is optional.
For example, assuming a dialog with the dialogid "vxi1" has been
started, it can be terminated immediately with the following request:
<dialogterminate dialogid="vxi1" immediate="true"/>
When an MS has successfully received a <dialogterminate> request, it
MUST reply with a <response> element (Section 4.2).
4.2. Responses
Responses are specified in a <response> element.
4.2.1. <response>
Reponses to requests are indicated by a <response> element.
The <response> element has following attributes:
status: numeric code indicating the response status. The attribute
is mandatory.
reason: string specifying a reason for the response status. The
attribute is optional.
dialogid: string identifying the dialog. The attribute is optional.
connection-id: string identifying the SIP dialog connection
associated with the dialog (see Section 16.1 of [SIPCF]). The
attribute is optional.
conf-id: string identifying the conference associated with the
dialog (see Section 16.1 of [SIPCF]). The attribute is optional.
The following status codes are defined:
+-----------+-------------------------------------------------------+
| code | description |
+-----------+-------------------------------------------------------+
| 200 | OK |
| | |
| 401 | dialogid already exists |
| | |
| 402 | dialogid does not exist |
| | |
| 403 | connection-id does not exist |
| | |
| 404 | conf-id does not exist |
| | |
| 405 | Unknown or unsupported element |
| | |
| 406 | Element required |
| | |
| 407 | Unknown or unsupported attribute |
| | |
| 408 | Attribute required |
| | |
| 409 | Invalid VoiceXML URI or content |
| | |
| 410 | data parameter not supported |
| | |
| 411 | event subscription not supported |
| | |
| 412 | stream parameter invalid |
| | |
| 499 | other error |
+-----------+-------------------------------------------------------+
Table 1: <response> status codes
[Editors Note: more status codes may need to be defined.]
For example, a response when a dialog was prepared successfully:
<response status="200" dialogid="vxi1"/>
The response if dialog preparation failed due to an invalid VoiceXML
script:
<response status="409" dialogid="vxi1"
reason="HTTP 404: http://www.example.com/myscript.vxml"/>
For example, a response when the dialog was started successfully.
<response status="200" dialogid="vxi1"
connection-id="7HDY839~HJKSkyHS"/>
4.3. Notifications
Event notifications are specified in an <event> element.
4.3.1. <event>
Dialog event notifications are either manual or automatic.
Manual event notifications are defined when an AS subscribes to
notifications for dialog events using the <subscribe> element of
<dialogprepare> or <dialogstart>.
Automatic event notifications are defined as part of a Control
Package. The AS SHOULD NOT subscribe to these event notifications.
The MS MUST support these event notifications. This package defines
one automatic notification event: "dialogexit" which indicates that
an active dialog has terminated. Note that this notification is not
sent if the dialog has been terminated by the AS using a
<dialogterminate/> request where "immediate=true".
When a dialog generates a notification event, the MS sends the event
to the AS using an <event> element.
The <event> element has the following attributes:
name: string indicating the name of dialog event. The string is
restricted to a sequence of alphanumeric or "." characters. The
attribute is mandatory.
dialogid: string identifying the dialog. The attribute is
mandatory.
The <event> element has the following child element: This package defines an XML schema which extends the msc-ivr-
common.xsd schema defined in Section 9 of [BASEIVRCP].
<data>: an XML data structure (see Section 4.4) to pass information All elements in the defined schema are in the
additional information about the dialog event. The element is urn:ietf:params:xml:ns:msc-ivr-vxml namespace.
optional.
For example, when a dialog exits the MS may send a dialogexit <event> <?xml version="1.0" encoding="UTF-8"?>
with data collected during the VoiceXML dialog execution: <xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr-vxml"
xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes"
elementFormDefault="qualified"
xmlns="urn:ietf:params:xml:ns:msc-ivr-vxml"
xmlns:vxml="http://www.w3.org/2001/vxml"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<event name="dialogexit" dialogid="vxi1"> <xsd:annotation>
<data> <xsd:documentation>
<item name="userinput" value="12345"/> IETF MediaCtrl VoiceXML IVR 1.0 (20080225)
</data>
</event> This is the schema of the VoiceXML IVR Control Package.
It imports the msc-ivr-common schema (dialogprepare, etc)
and extends them for VoiceXML support.
4.4. <data> The schema namespace is urn:ietf:params:xml:ns:msc-ivr-vxml
The <data> element is a general container for parameterized data. </xsd:documentation>
</xsd:annotation>
The <data> element has no attributes, but has the following child <!--
elements defined: #############################################################
<item>: contains the following attributes: SCHEMA IMPORTS
name: a string indicating the name of the parameter. The #############################################################
attribute is mandatory. -->
value: a string indicating the value of the parameter. Multiple <xsd:redefine schemaLocation="msc-ivr-common.xsd">
values of a parameters can be specified using space separation. <xsd:annotation>
The attribute is mandatory. <xsd:documentation>
This import brings in the IVR common package Redefinitions: [1]
Adds http related attributes in dialogprepare [2] Adds http
related attributes in dialogstart [3] Allow params in dialogstart
[4] Adds attribute and params to dialogexit
</xsd:documentation>
Multiple <item> elements may be specified. </xsd:annotation>
For example, a <data> specifying parameters with simple values: <xsd:attributeGroup name="msc.ivr.common.dialogprepare.attlist">
<xsd:attributeGroup ref="msc.ivr.common.dialogprepare.attlist" />
<xsd:attributeGroup ref="httpparams" />
</xsd:attributeGroup>
<data> <xsd:group name="msc.ivr.common.dialogstart.mix">
<item name="initialuri" value="http://www.example.com/start.vxml"/> <xsd:choice>
<item name="timeout" value="10s"/> <xsd:group ref="msc.ivr.common.dialogstart.mix" />
</data> <xsd:element ref="params" minOccurs="0" maxOccurs="1" />
</xsd:choice>
</xsd:group>
[Editors Note: we may also want to investigate the use of <item>s <xsd:attributeGroup name="msc.ivr.common.dialogstart.attlist">
nested within a top-level <item> to specify complex values. ] <xsd:attributeGroup ref="msc.ivr.common.dialogstart.attlist" />
<xsd:attributeGroup ref="httpparams" />
</xsd:attributeGroup>
4.5. <subscribe> <xsd:attributeGroup name="msc.ivr.common.dialogexit.attlist">
<xsd:attributeGroup ref="msc.ivr.common.dialogexit.attlist" />
<xsd:attribute name="termmode" type="vxml_termmode.datatype"
use="required" />
</xsd:attributeGroup>
The <subscribe> element is a container for specifying dialog <xsd:group name="msc.ivr.common.dialogexit.mix">
notification events to which an AS subscribes. Notifications of <xsd:choice>
dialog events are delivered using the <event> element (see <xsd:group ref="msc.ivr.common.dialogexit.mix" />
Section 4.3.1). <xsd:element ref="params" minOccurs="0" maxOccurs="1" />
</xsd:choice>
</xsd:group>
The <subscribe> element has no attributes, but has the following </xsd:redefine>
child elements defined:
<notify>: contains the following attributes: <!--
#############################################################
name: a string indicating the name of the event to be notified ELEMENTS
of. The attribute is mandatory.
The <notify> element may have a <data> child element. #############################################################
-->
<!-- params -->
Multiple <notify> elements may be specified. <xsd:attributeGroup name="msc.ivr.vxml.params.attlist">
<xsd:attributeGroup ref="msc.common.attribs" />
</xsd:attributeGroup>
For example, the AS wishes to subscribe to DTMF and bargein <xsd:group name="msc.ivr.vxml.params.mix">
notification events associated with a dialog: <xsd:choice>
<xsd:element ref="param" minOccurs="1" maxOccurs="unbounded" />
<xsd:group ref="msc.common.content" minOccurs="0"
maxOccurs="unbounded" />
</xsd:choice>
</xsd:group>
<dialogstart src="promptandcollect" <xsd:group name="msc.ivr.vxml.params.content">
connection-id="7HDY839~HJKSkyHS~HUwkuh7ns"> <xsd:sequence>
<subscribe> <xsd:group ref="msc.ivr.vxml.params.mix" minOccurs="0"
<notify name="dtmf"/> maxOccurs="unbounded" />
<notify name="bargein"/> </xsd:sequence>
</subscribe> </xsd:group>
</dialogstart>
If the MS supports these notification events, then it would use the <xsd:complexType name="msc.ivr.vxml.params.type">
<event> element to send notifications during the dialog to the AS <xsd:group ref="msc.ivr.vxml.params.content" />
when the events occured. <xsd:attributeGroup ref="msc.ivr.vxml.params.attlist" />
</xsd:complexType>
[Editors Note: It may be possible to define a general event <xsd:element name="params" type="msc.ivr.vxml.params.type" />
subscription mechanism as part of the SIP Control Framework.]
[Editors Note: This Control Package does not specify dialog <!-- param -->
notification events apart from "dialogexit". Later versions may
define events such as: "dtmf" (a DTMF key is pressed), "mediastart"
(media playback started), "bargein" (user has barged in on a prompt),
and "rtpcontrol" (control data, e.g. VFU, PoC, etc, is received over
the RTP control channel.]
5. Formal Syntax <xsd:attributeGroup name="msc.ivr.vxml.param.attlist">
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="valuetype" type="xsd:string" />
<xsd:attribute name="value" type="xsd:string" />
<xsd:attributeGroup ref="msc.common.attribs" />
</xsd:attributeGroup>
[Editors note: A later version of the XML schema may be reference the <xsd:group name="msc.ivr.vxml.param.mix">
basic IVR schema and specify the package extensions in terms of <xsd:choice>
schema extensions. ] <xsd:group ref="msc.common.content" minOccurs="0"
maxOccurs="unbounded" />
</xsd:choice>
</xsd:group>
[Editors note: A later version of the XML schema will provide more <xsd:group name="msc.ivr.vxml.param.content">
constraints as expressed in the textual definitions; for example, <xsd:sequence>
single occurrence of <data> elements, co-occurence on attributes, <xsd:group ref="msc.ivr.vxml.param.mix" minOccurs="0"
etc.] maxOccurs="unbounded" />
<?xml version="1.0" encoding="UTF-8"?> </xsd:sequence>
<xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr-vxml" </xsd:group>
xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes"
elementFormDefault="qualified"
xmlns="urn:ietf:params:xml:ns:msc-ivr-vxml"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation> <xsd:complexType name="msc.ivr.vxml.param.type" mixed="true">
<xsd:documentation> <xsd:group ref="msc.ivr.vxml.param.content" />
VoiceXML IVR 1.0 schema (20061019) <xsd:attributeGroup ref="msc.ivr.vxml.param.attlist" />
</xsd:documentation> </xsd:complexType>
</xsd:annotation>
<xsd:import <xsd:element name="param" type="msc.ivr.vxml.param.type" />
namespace="urn:ietf:params:xml:ns:control:framework-attributes"
schemaLocation="framework.xsd"/>
<!-- MODIFIED DEFINITIONS --> <!--
#############################################################
<xsd:element name="dialogprepare"> ATTRIBUTES
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="src"/>
<xsd:element ref="httpparams"/>
<xsd:element ref="data"/>
<xsd:element ref="subscribe"/>
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="type" type="mime.datatype"/>
<xsd:attribute name="src" type="URI.datatype" use="required"/>
<xsd:attribute name="dialogid" type="dialogid.datatype"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="dialogstart">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="src"/>
<xsd:element ref="httpparams"/>
<xsd:element ref="stream"/>
<xsd:element ref="data"/>
<xsd:element ref="subscribe"/>
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="type" type="mime.datatype"/>
<xsd:attribute name="src" type="URI.datatype"/>
<xsd:attribute name="dialogid" type="dialogid.datatype"/>
<xsd:attribute name="prepareddialogid" type="dialogid.datatype"/>
<xsd:attributeGroup ref="fw:framework-attributes"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<!-- ADDITIONAL VXML DEFINITIONS --> #############################################################
-->
<xsd:simpleType name="mime.datatype"> <xsd:attributeGroup name="httpparams">
<xsd:restriction base="xsd:string"/> <xsd:attribute name="maxage" type="timedesignation.datatype" />
</xsd:simpleType> <xsd:attribute name="maxstale" type="timedesignation.datatype" />
<xsd:attribute name="enctype" type="xsd:string"
default="application/x-www-form-urlencoded" />
<xsd:attribute name="method" type="method.datatype" default="get" />
</xsd:attributeGroup>
<xsd:element name="src"> <!--
<xsd:complexType> #############################################################
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="httpparams"> DATATYPES
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="maxage" type="xsd:string"/>
<xsd:attribute name="maxstale" type="xsd:string"/>
<xsd:attribute name="enctype" type="xsd:string"
default="application/x-www-form-urlencoded"/>
<xsd:attribute name="method" type="method.datatype"
default="get"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element> #############################################################
-->
<xsd:simpleType name="method.datatype"> <xsd:simpleType name="method.datatype">
<xsd:restriction base="xsd:NMTOKEN"> <xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="get"/> <xsd:enumeration value="get" />
<xsd:enumeration value="post"/> <xsd:enumeration value="post" />
</xsd:restriction>
</xsd:simpleType>
<!-- UNCHANGED BASIC IVR DEFINITIONS -->
<xsd:element name="dialogterminate">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="dialogid" type="dialogid.datatype"
use="required"/>
<xsd:attribute name="immediate" type="boolean.datatype"
default="false"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="response">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="status" type="status.datatype"
use="required"/>
<xsd:attribute name="reason" type="xsd:string"/>
<xsd:attribute name="dialogid" type="dialogid.datatype"/>
<xsd:attributeGroup ref="fw:framework-attributes"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="event">
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="data"/>
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="name" type="eventname.datatype"
use="required"/>
<xsd:attribute name="dialogid" type="dialogid.datatype"
use="required"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<!-- DATATYPES -->
<xsd:simpleType name="URI.datatype">
<xsd:restriction base="xsd:anyURI"/>
</xsd:simpleType>
<xsd:simpleType name="dialogid.datatype">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="boolean.datatype">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="true"/>
<xsd:enumeration value="false"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="eventname.datatype">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:pattern value="[a-zA-Z0-9\.]+"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="status.datatype">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:pattern value="[0-9][0-9][0-9]"/>
</xsd:restriction> </xsd:restriction>
</xsd:simpleType> </xsd:simpleType>
<xsd:simpleType name="media.datatype"> <xsd:simpleType name="vxml_termmode.datatype">
<xsd:restriction base="xsd:string"/> <xsd:restriction base="xsd:string"></xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="label.datatype">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="direction.datatype">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="sendrecv"/>
<xsd:enumeration value="sendonly"/>
<xsd:enumeration value="recvonly"/>
</xsd:restriction>
</xsd:simpleType> </xsd:simpleType>
<!-- SHARED ELEMENTS --> </xsd:schema>
<xsd:element name="data"> 8. Security Considerations
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="item"/>
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="item"> As this control package uses XML markup, implementation MUST address
<xsd:complexType> the security considerations of [RFC3023].
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="stream"> 9. IANA Considerations
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:any namespace="##other" processContents="strict"/>
</xsd:choice>
<xsd:attribute name="media" type="media.datatype"
use="required"/>
<xsd:attribute name="label" type="label.datatype"/>
<xsd:attribute name="direction" type="direction.datatype"
default="sendrecv" />
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="subscribe"> This specification instructs IANA to register a new Media Control
<xsd:complexType> Channel Framework Package and a new XML namespace.
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="notify"/>
</xsd:choice>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="notify"> 9.1. Control Package Registration
<xsd:complexType>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element ref="data"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:anyAttribute namespace="##other" processContents="strict"/>
</xsd:complexType>
</xsd:element>
</xsd:schema> Control Package name: msc-ivr-vxml/1.0
6. Security Considerations 9.2. URN Sub-Namespace Registration
Security Considerations to be included in later versions of this XML namespace: urn:ietf:params:xml:ns:msc-ivr-vxml
document.
7. IANA Considerations 10. Change Summary
This document registers a new SIP Control Framework Package and a new The following are the primary changes between the -04 of the draft
XML namespace. and the -03 version.
7.1. Control Package Registration o Aligned with the -06 version of the basic ivr control package.
Control Package name: msc-ivr-vxml/1.0 o Simplified the structure so that only differences with the basic
ivr control package are specified.
7.2. URN Sub-Namespace Registration o Specified how VoiceXML data is returned in a <dialogexit>
XML namespace: urn:ietf:params:xml:ns:msc-ivr-vxml o replaced <data> with <params>
8. Change Summary o updated references
The following are the primary changes between the -03 of the draft The following are the primary changes between the -03 of the draft
and the -02 version. and the -02 version.
o None o None
The following are the primary changes between the -02 of the draft The following are the primary changes between the -02 of the draft
and the -01 version. and the -01 version.
o Updated references. o Updated references.
The following are the primary changes between the -01 of the draft The following are the primary changes between the -01 of the draft
and the -00 version. and the -00 version.
o Changes in Basic IVR package version 02 applied. o Changes in Basic IVR package version 02 applied.
9. Acknowledgments 11. Contributors
TODO Asher Shiratzky from Radvision provided valuable support and
contributions to the early versions of this document.
10. References 12. Acknowledgments
10.1. Normative References TBD
13. References
13.1. Normative References
[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.
10.2. Informative References 13.2. Informative References
[BASICIVRCP] [BASEIVRCP]
Boulton, C., Melanchuk, T., McGlashan, S., and A. Boulton, C., Melanchuk, T., and S. McGlashan, "A Basic
Shiratzky, "A Basic Interactive Voice Response (IVR) Interactive Voice Response (IVR) Control Package for the
Control Package for the Session Initiation Protocol Media Control Channel Framework",
(SIP)", draft-boulton-ivr-control-package-04 (work in draft-boulton-ivr-control-package-06 (work in progress),
progress), November 2007. February 2008.
[CCXML10] Auburn, R J., "Voice Browser Call Control: CCXML Version [CCXML10] Auburn, R J., "Voice Browser Call Control: CCXML Version
1.0", W3C Working Draft (work in progress), January 2007. 1.0", W3C Working Draft (work in progress), January 2007.
[MSCP] McGlashan, S., Auburn, R., Burke, D., Candell, E., and R. [MCCF] Boulton, C., Melanchuk, T., McGlashan, S., and A.
Surapaneni, "Media Server Control Protocol (MSCP)", Shiratzky, "Media Control Channel Framework",
draft-mcglashan-mscp-03 (work in progress), March 2007. draft-ietf-mediactrl-sip-control-framework-01 (work in
progress), February 2008.
[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-02 (work in Markup Language (MSML)", draft-saleem-msml-06 (work in
progress), October 2006. progress), February 2008.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
Types", RFC 3023, January 2001.
[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.
[RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of [RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of
Provisional Responses in Session Initiation Protocol Provisional Responses in Session Initiation Protocol
(SIP)", RFC 3262, June 2002. (SIP)", RFC 3262, June 2002.
[RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation [RFC3263] Rosenberg, J. and H. Schulzrinne, "Session Initiation
skipping to change at page 29, line 15 skipping to change at page 23, line 19
[RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network
Media Services with SIP", RFC 4240, December 2005. Media Services with SIP", RFC 4240, December 2005.
[RFC4574] Levin, O. and G. Camarillo, "The Session Description [RFC4574] Levin, O. and G. Camarillo, "The Session Description
Protocol (SDP) Label Attribute", RFC 4574, August 2006. Protocol (SDP) Label Attribute", RFC 4574, August 2006.
[RFC4722] Van Dyke, J., Burger, E., and A. Spitzer, "Media Server [RFC4722] Van Dyke, J., Burger, E., and A. Spitzer, "Media Server
Control Markup Language (MSCML) and Protocol", RFC 4722, Control Markup Language (MSCML) and Protocol", RFC 4722,
November 2006. November 2006.
[SIPCF] Boulton, C., Melanchuk, T., McGlashan, S., and A.
Shiratzky, "A Control Framework for the Session Initiation
Protocol (SIP)", draft-boulton-sip-control-framework-05
(work in progress), February 2007.
[VXML20] McGlashan, S., Burnett, D., Carter, J., Danielsen, P., [VXML20] McGlashan, S., Burnett, D., Carter, J., Danielsen, P.,
Ferrans, J., Hunt, A., Lucas, B., Porter, B., Rehor, K., Ferrans, J., Hunt, A., Lucas, B., Porter, B., Rehor, K.,
and S. Tryphonas, "Voice Extensible Markup Language and S. Tryphonas, "Voice Extensible Markup Language
(VoiceXML) Version 2.0", W3C Recommendation, March 2004. (VoiceXML) Version 2.0", W3C Recommendation, March 2004.
[VXML21] Oshry, M., Auburn, RJ., Baggia, P., Bodell, M., Burke, D.,
Burnett, D., Candell, E., Carter, J., McGlashan, S., Lee,
A., Porter, B., and K. Rehor, "Voice Extensible Markup
Language (VoiceXML) Version 2.1", W3C Recommendation,
June 2007.
Authors' Addresses Authors' Addresses
Chris Boulton Chris Boulton
Ubiquity Software Corporation Avaya
Building 3 Building 3
Wern Fawr Lane Wern Fawr Lane
St Mellons St Mellons
Cardiff, South Wales CF3 5EA Cardiff, South Wales CF3 5EA
Email: cboulton@ubiquitysoftware.com Email: cboulton@avaya.com
Tim Melanchuk Tim Melanchuk
BlankSpace Rain Willow Communications
Email: tim.melanchuk@gmail.com Email: tim.melanchuk@gmail.com
Scott McGlashan Scott McGlashan
Hewlett-Packard Hewlett-Packard
Gustav III:s boulevard 36 Gustav III:s boulevard 36
SE-16985 Stockholm, Sweden SE-16985 Stockholm, Sweden
Email: scott.mcglashan@hp.com Email: scott.mcglashan@hp.com
Asher Shiratzky
Radvision
24 Raoul Wallenberg st
Tel-Aviv, Israel
Email: ashers@radvision.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The IETF Trust (2007). Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
 End of changes. 163 change blocks. 
774 lines changed or deleted 390 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/