< draft-ietf-mediactrl-ivr-control-package-03.txt   draft-ietf-mediactrl-ivr-control-package-04.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: June 1, 2009 Rain Willow Communications Expires: July 31, 2009 Rain Willow Communications
C. Boulton C. Boulton
Avaya Avaya
November 28, 2008 January 27, 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-03 draft-ietf-mediactrl-ivr-control-package-04
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This Internet-Draft is submitted to IETF in full conformance with the
applicable patent or other IPR claims of which he or she is aware provisions of BCP 78 and BCP 79.
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.
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.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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 June 1, 2009. This Internet-Draft will expire on July 31, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Abstract Abstract
This document defines a Media Control Channel Framework Package for This document defines a Media Control Channel Framework Package for
Interactive Voice Response (IVR) dialog interaction on media Interactive Voice Response (IVR) dialog interaction on media
connections and conferences. The package defines dialog management connections and conferences. The package defines dialog management
request elements for preparing, starting and terminating dialog request elements for preparing, starting and terminating dialog
interactions, as well as associated responses and notifications. interactions, as well as associated responses and notifications.
Dialog interactions are specified in a dialog language. This package Dialog interactions are specified in a dialog language. This package
defines a lightweight IVR dialog language (supporting prompt defines a lightweight IVR dialog language (supporting prompt
skipping to change at page 3, line 10 skipping to change at page 3, line 10
4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 34 4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 34
4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 36 4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 36
4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 38 4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 38
4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 39 4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 39
4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 40 4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 40
4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 42 4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 42
4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 43 4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 43
4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 46 4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 46
4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 48 4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 48
4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 50 4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 50
4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 53 4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 54
4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 55 4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 55
4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 55 4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 56
4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 55 4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 56
4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 55 4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 56
4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 56 4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 56
4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 56 4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 57
4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 56 4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 57
4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 57 4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 58
4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 57 4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 58
4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 59 4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 59
4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 60 4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 61
4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 61 4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 62
4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 62 4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 62
4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 63 4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 64
4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 64 4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 65
4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 64 4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 65
4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 64 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 65
4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 65 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 66
4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 65 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 66
4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 66 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 67
4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 66 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 67
4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 66 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 67
4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 66 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 67
4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 67 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 68
4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 74 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 75
5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 76 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 77
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 101 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 102
6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 101 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 102
6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 102 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 103
6.1.3. Preparing and starting an IVR dialog . . . . . . . . 102 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 103
6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 103 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 104
6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 104 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 105
6.2.1. Playing announcements . . . . . . . . . . . . . . . . 104 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 105
6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 105 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 106
6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 107 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 108
6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 108 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 109
6.2.5. Subscriptions and notifications . . . . . . . . . . . 109 6.2.5. Subscriptions and notifications . . . . . . . . . . . 110
6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 109 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 110
6.4. Foreign Namespace Attributes and Elements . . . . . . . . 110 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 111
7. Security Considerations . . . . . . . . . . . . . . . . . . . 113 7. Security Considerations . . . . . . . . . . . . . . . . . . . 114
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 116 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 117
8.1. Control Package Registration . . . . . . . . . . . . . . 116 8.1. Control Package Registration . . . . . . . . . . . . . . 117
8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 116 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 117
8.3. MIME Type Registration . . . . . . . . . . . . . . . . . 116 8.3. MIME Type Registration . . . . . . . . . . . . . . . . . 117
9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 117 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 118
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 127 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 129
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 128 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 130
12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 129 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 131
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 136 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 139
13.1. Normative References . . . . . . . . . . . . . . . . . . 136 13.1. Normative References . . . . . . . . . . . . . . . . . . 139
13.2. Informative References . . . . . . . . . . . . . . . . . 137 13.2. Informative References . . . . . . . . . . . . . . . . . 140
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 139 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 142
Intellectual Property and Copyright Statements . . . . . . . . . 140
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 6, line 8 skipping to change at page 6, line 8
the Media Control Channel Framework. the Media Control Channel Framework.
Second, its design is aligned with key concepts of the web model as Second, its design is aligned with key concepts of the web model as
defined in W3C Voice Browser languages. The key dialog management defined in W3C Voice Browser languages. The key dialog management
mechanism is closely aligned with CCXML ([CCXML10]). The dialog mechanism is closely aligned with CCXML ([CCXML10]). The dialog
functionality defined in this package can be largely seen as a subset functionality defined in this package can be largely seen as a subset
of VoiceXML ([VXML20], [VXML21]): where possible, basic prompting, of VoiceXML ([VXML20], [VXML21]): where possible, basic prompting,
DTMF collection and media recording features are incorporated, but DTMF collection and media recording features are incorporated, but
not any advanced VoiceXML constructs (such as <form>, its not any advanced VoiceXML constructs (such as <form>, its
interpretation algorithm, or a dynamic data model). As W3C develops interpretation algorithm, or a dynamic data model). As W3C develops
VoiceXML 3.0, we expect to see further alignment, especially in VoiceXML 3.0 ([VXML30]), we expect to see further alignment,
providing a set of basic independent primitive elements (such as especially in providing a set of basic independent primitive elements
prompt, collect, record and runtime controls) which can be re-used in (such as prompt, collect, record and runtime controls) which can be
different dialog languages. re-used in different dialog languages.
By reusing and building upon design patterns from these approaches to By reusing and building upon design patterns from these approaches to
IVR languages, this package is intended to provide a foundation which IVR languages, this package is intended to provide a foundation which
is familiar to current IVR developers and sufficient for most IVR is familiar to current IVR developers and sufficient for most IVR
applications, as well as a path to other languages which address more applications, as well as a path to other languages which address more
advanced applications. advanced applications.
This control package defines a lightweight IVR dialog language. The This control package defines a lightweight IVR dialog language. The
scope of this dialog language is the following IVR functionality: scope of this dialog language is the following IVR functionality:
skipping to change at page 25, line 26 skipping to change at page 25, line 26
media: a string indicating the type of media associated with the media: a string indicating the type of media associated with the
stream. The following values MUST be used for common types of stream. The following values MUST be used for common types of
media: "audio" for audio media, and "video" for video media. The media: "audio" for audio media, and "video" for video media. The
attribute is mandatory. attribute is mandatory.
label: a string indicating the SDP label associated with a media label: a string indicating the SDP label associated with a media
stream ([RFC4574]). The attribute is optional. stream ([RFC4574]). The attribute is optional.
direction: a string indicating the direction of the media flow direction: a string indicating the direction of the media flow
between a dialog and its end point conference or connection. between a dialog and its end point conference or connection.
Defined values are: "sendrecv" (media can be sent and received), Defined values are: "sendrecv" (the dialog can send and receive
"sendonly" (media can only be sent), "recvonly" (media can only be media), "sendonly" (the dialog can only send media), "recvonly"
received) and "inactive" (stream is not to be used). The default (the dialog can only receive media) and "inactive" (stream is not
value is "sendrecv". The attribute is optional. to be used). The default value is "sendrecv". The attribute is
optional.
The <stream> element has the following sequence of child elements: The <stream> element has the following sequence of child elements:
<region>: an element to specify the region within a mixer video <region>: an element to specify the region within a mixer video
layout where a media stream is displayed (Section 4.2.2.2.1). The layout where a media stream is displayed (Section 4.2.2.2.1). The
element is optional. element is optional.
<priority>: an element to configure priority associated with the <priority>: an element to configure priority associated with the
stream in the conference mix (Section 4.2.2.2.2). The element is stream in the conference mix (Section 4.2.2.2.2). The element is
optional. optional.
skipping to change at page 45, line 52 skipping to change at page 45, line 52
initialization: initialization:
1. If an error occurs during execution, then the MS terminates 1. If an error occurs during execution, then the MS terminates
runtime control and the error is reported to the dialog runtime control and the error is reported to the dialog
container. The MS MAY report controls executed successfully container. The MS MAY report controls executed successfully
before the error in <controlinfo> (see Section 4.3.2.2). before the error in <controlinfo> (see Section 4.3.2.2).
2. Runtime controls are active only during prompt playback (if no 2. Runtime controls are active only during prompt playback (if no
<prompt> element is specified, then runtime controls are <prompt> element is specified, then runtime controls are
ignored). If DTMF input matches any specified keys (for example ignored). If DTMF input matches any specified keys (for example
the ffkey), then the appropriate operation is applied the ffkey), then the MS applies the appropriate operation
immediately. If a seek operation (ffkey, rwkey) attempts to go immediately. If a seek operation (ffkey, rwkey) attempts to go
beyond the beginning or end of the prompt queue, then it is beyond the beginning or end of the prompt queue, then the MS
automatically truncated to the prompt beginning or end automatically truncates it to the prompt queue beginning or end
respectively. If the pause operation attempts to pause output respectively. If a volume operation (voldnkey, volupkey)
when it is already paused, then the operation is ignored. If the
resume operation attempts to resume when the prompts are not
paused, then the operation is ignored. If a volume operations
attempts to go beyond the minimum or maximum volume supported by attempts to go beyond the minimum or maximum volume supported by
the platform, then the operation is ignored. the platform, then the MS automatically limits the operation to
minimum or maximum supported volume respectively. If a speed
operation (speeddnkey, speedupkey) attempts to go beyond the
minimum or maximum playback speed supported by the platform, then
the MS automatically limits the operation to minimum or maximum
supported speed respectively. If the pause operation attempts to
pause output when it is already paused, then the operation is
ignored. If the resume operation attempts to resume when the
prompts are not paused, then the operation is ignored. If a
seek, volume or speed operation is applied when output is paused,
then the MS also resumes output automatically.
3. If DTMF control subscription has been specified for the dialog, 3. If DTMF control subscription has been specified for the dialog,
then each DTMF match of a control operation is reported in a then each DTMF match of a control operation is reported in a
<dtmfnotify> notification event (Section 4.2.5.2). <dtmfnotify> notification event (Section 4.2.5.2).
4. When the dialog exits, all control matches are reported in a 4. When the dialog exits, all control matches are reported in a
<controlinfo> element (Section 4.3.2.2). <controlinfo> element (Section 4.3.2.2).
4.3.1.3. <collect> 4.3.1.3. <collect>
skipping to change at page 109, line 24 skipping to change at page 110, line 24
<controlinfo> <controlinfo>
</dialogexit> </dialogexit>
</event> </event>
</mscivr> </mscivr>
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 repeatCount="0" connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> <dialogstart connectionid="7HDY839~HJKSkyHS">
<dialog> <dialog repeatCount="0">
<collect maxdigits="2"/> <collect maxdigits="2"/>
<subscribe> <subscribe>
<dtmfsub matchmode="collect"/> <dtmfsub matchmode="collect"/>
</subscribe> </subscribe>
</dialog> </dialog>
</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"/>
</event> </event>
</mscivr> </mscivr>
skipping to change at page 113, line 27 skipping to change at page 114, line 27
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
be guessed or discovered by auditing active dialogs on the MS be guessed or discovered by auditing active dialogs on the MS
using an <audit> request. using an <audit> request. Likewise, an attacker could impersonate
the MS and insert error responses into the transport stream so
denying the AS access to package capabilities.
Resource Exhaustion: An attacker could insert into the control Resource Exhaustion: An attacker could insert into the control
channel new request messages (or modify existing ones) with, for channel new request messages (or modify existing ones) with, for
instance, <dialogprepare> elements with a very long fetchtimeout instance, <dialogprepare> elements with a very long fetchtimeout
attribute and a bogus source URL. At some point this will exhaust attribute and a bogus source URL. At some point this will exhaust
the number of connections that the MS is able to make. the number of connections that the MS is able to make.
Phishing: An attacker with access to the control channel could Phishing: An attacker with access to the control channel could
modify the "loc" attribute of the <media> element in a dialog to modify the "loc" attribute of the <media> element in a dialog to
point to some other audio file that had different information from point to some other audio file that had different information from
skipping to change at page 114, line 32 skipping to change at page 115, line 32
The Media Control Channel Framework permits additional security The Media Control Channel Framework permits additional security
policy management, including resource access and control channel policy management, including resource access and control channel
usage, to be specified at the control package level beyond that usage, to be specified at the control package level beyond that
specified for the Media Control Channel Framework (see Section 11.3 specified for the Media Control Channel Framework (see Section 11.3
of [I-D.ietf-mediactrl-sip-control-framework]). of [I-D.ietf-mediactrl-sip-control-framework]).
Since creation of IVR dialogs is associated with media processing Since creation of IVR dialogs is associated with media processing
resources (e.g. DTMF detectors, media playback and recording, etc) resources (e.g. DTMF detectors, media playback and recording, etc)
on the MS, the security policy for this control package needs to on the MS, the security policy for this control package needs to
address how such dialogs are securely managed across more than one address how such dialogs are securely managed across more than one
control channels. The identity of control channels is determined by control channels. Such a security policy is only useful for secure,
the channel identifier: i.e. the value of the cfw-id attribute in the confidential and integrity protected channels. The identity of
SDP and Dialog-ID header in the channel protocol (see control channels is determined by the channel identifier: i.e. the
[I-D.ietf-mediactrl-sip-control-framework]). Channels are the same value of the cfw-id attribute in the SDP and Dialog-ID header in the
if they have the same identifier; otherwise, they are different. channel protocol (see [I-D.ietf-mediactrl-sip-control-framework]).
This control package imposes the following additional security Channels are the same if they have the same identifier; otherwise,
policies: they are different. This control package imposes the following
additional security policies:
Responses: The MS MUST only send a response to a dialog management Responses: The MS MUST only send a response to a dialog management
or audit request using the same control channel as the one used to or audit request using the same control channel as the one used to
send the request. send the request.
Notifications: The MS MUST only send notification events for a Notifications: The MS MUST only send notification events for a
dialog using the same control channel as it received the request dialog using the same control channel as it received the request
creating the dialog. creating the dialog.
Auditing: The MS MUST only provide audit information about dialogs Auditing: The MS MUST only provide audit information about dialogs
skipping to change at page 117, line 9 skipping to change at page 118, 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 -04 and -03 versions.
o 4.2.2.2: Clarified that media stream direction is relative to the
dialog (the examples showed this but not the definition).
o 4.3.1.2: Clarified that speed. volume and seek <control>
operations beyond the platform's capability are automatically
limited to the platform's minimum/maximum. Also clarified that
when the output is paused, then the MS resumes output
automatically on speed, volume and seek control operations.
o 6.2.5: Corrected syntax error in example
o 7 Security: Added a denial of service example where the attacker
impersonates the MS.
o 7 Security: Clarified that the package security policy for
multiple channels is only useful if the channels themselves are
secured.
o Added reference for VoiceXML 3.0
o Updated acknowledgements.
o Appendix A: 12.2: Corrected syntax error in example
o Appendix A: 12.2.1: Changed behavior for how VoiceXML session
information is populated for a conference; session.conference.name
is specified. Added session.connection.originator variable for a
connection (MS receives inbound connections but does not create
outbound connections).
o Appendix A: 12.2.2: Added session.conference.media for conference
media information. Clarified that direction is relative to the
dialog.
o Appendix A: 12.2.2: Corrected syntax error in example
o Appendix A: 12.2.3: Changed session parameter mapping to
session.values using an associative array.
o Appendix A: 12.5: Changed behavior for handling VoiceXML Call
Transfer requests to raising an error.unsupported.transfer event.
The following are the major changes between the -03 and -02 versions. The following are the major changes between the -03 and -02 versions.
o Conformance language: Removed unnecessary MUSTs, especially for o Conformance language: Removed unnecessary MUSTs, especially for
error codes. Removed lowercase 'should', 'must' and 'may'. error codes. Removed lowercase 'should', 'must' and 'may'.
o Introduction: Clarified which MediaCtrl IVR Requirements are o Introduction: Clarified which MediaCtrl IVR Requirements are
satisfied by this package. Added link to Security Considerations satisfied by this package. Added link to Security Considerations
Section (also in Section 4.0 and 4.4). Section (also in Section 4.0 and 4.4).
o 4.0: Element definitions. Changed RECOMMENDED to MUST for MS o 4.0: Element definitions. Changed RECOMMENDED to MUST for MS
skipping to change at page 128, line 11 skipping to change at page 130, line 11
Roni Even, Lorenzo Miniero, Adnan Saleem, Diego Besprosvan, Mary Roni Even, Lorenzo Miniero, Adnan Saleem, Diego Besprosvan, Mary
Barnes and Steve Buko who provided valuable feedback, input and text Barnes and Steve Buko who provided valuable feedback, input and text
to this document. to this document.
11. Acknowledgments 11. Acknowledgments
The authors would like to thank Adnan Saleem, Gene Shtirmer, Dave The authors would like to thank Adnan Saleem, Gene Shtirmer, Dave
Burke, Dan York and Steve Buko for expert reviews of this work. Burke, Dan York and Steve Buko for expert reviews of this work.
Ben Campbell carried out the RAI expert review on this specification Ben Campbell carried out the RAI expert review on this specification
and provided a great deal of invaluable input. and provided a great deal of invaluable input. Donald Eastlake
carried out a thorough security review.
12. Appendix A: Using VoiceXML as a dialog language 12. Appendix A: Using VoiceXML as a dialog language
The IVR control package allows, but does not require, the MS to The IVR control package allows, but does not require, the MS to
support other dialog languages by referencing an external dialog support other dialog languages by referencing an external dialog
document. This appendix provides MS implementations which support document. This appendix provides MS implementations which support
the VoiceXML dialog language ([VXML20], [VXML21]) with additional the VoiceXML dialog language ([VXML20], [VXML21], [VXML30]) with
details about using these dialogs in this package. additional details about using these dialogs in this package.
This appendix covers preparing (Section 12.1), starting This appendix covers preparing (Section 12.1), starting
(Section 12.2), terminating (Section 12.3) and exiting (Section 12.4) (Section 12.2), terminating (Section 12.3) and exiting (Section 12.4)
VoiceXML dialogs as well as handling VoiceXML call transfer VoiceXML dialogs as well as handling VoiceXML call transfer
(Section 12.5). (Section 12.5).
12.1. Preparing a VoiceXML dialog 12.1. Preparing a VoiceXML dialog
A VoiceXML dialog is prepared by sending the MS a request containing A VoiceXML dialog is prepared by sending the MS a request containing
a <dialogprepare> element (Section 4.2.1). The type attribute is set a <dialogprepare> element (Section 4.2.1). The type attribute is set
skipping to change at page 130, line 8 skipping to change at page 132, line 8
A VoiceXML dialog is started by sending the MS a request containing a A VoiceXML dialog is started by sending the MS a request containing a
<dialogstart> element (Section 4.2.2). If a VoiceXML dialog has <dialogstart> element (Section 4.2.2). If a VoiceXML dialog has
already been prepared using <dialogprepare>, then the MS starts the already been prepared using <dialogprepare>, then the MS starts the
dialog indicated by the prepareddialogid attribute. Otherwise, a new dialog indicated by the prepareddialogid attribute. Otherwise, a new
VoiceXML dialog can be started by setting the type attribute to VoiceXML dialog can be started by setting the type attribute to
"application/voicexml+xml" and the src attribute to the URI of the "application/voicexml+xml" and the src attribute to the URI of the
VoiceXML document. For example: VoiceXML document. For example:
<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"/>
</mscivr> </mscivr>
Note that the fetchtimeout attribute is not defined in VoiceXML for Note that the fetchtimeout attribute is not defined in VoiceXML for
an initial document but the MS MUST support this attribute in its an initial document but the MS MUST support this attribute in its
VoiceXML environment. Note also that support for <dtmfsub> VoiceXML environment. Note also that support for <dtmfsub>
subscriptions (Section 4.2.2.1.1) and their associated dialog subscriptions (Section 4.2.2.1.1) and their associated dialog
notification events is not defined in VoiceXML. If such a notification events is not defined in VoiceXML. If such a
subscription is specified in a <dialogstart> request, then the MS subscription is specified in a <dialogstart> request, then the MS
skipping to change at page 130, line 42 skipping to change at page 132, line 43
If the connectionid attribute is specified, the MS assigns protocol If the connectionid attribute is specified, the MS assigns protocol
information from the SIP dialog associated with the connection to the information from the SIP dialog associated with the connection to the
following session variables in VoiceXML: following session variables in VoiceXML:
session.connection.local.uri Evaluates to the SIP URI specified in session.connection.local.uri Evaluates to the SIP URI specified in
the To: header of the initial INVITE the To: header of the initial INVITE
session.connection.remote.uri Evaluates to the SIP URI specified in session.connection.remote.uri Evaluates to the SIP URI specified in
the From: header of the initial INVITE the From: header of the initial INVITE
session.connection.originator Evaluates to the value of
session.connection.remote (MS receives inbound connections but
does not create outbound connections)
session.connection.protocol.name Evaluates to "sip". Note that this session.connection.protocol.name Evaluates to "sip". Note that this
is intended to reflect the use of SIP in general, and does not is intended to reflect the use of SIP in general, and does not
distinguish between whether the connection accesses the MS via SIP distinguish between whether the connection accesses the MS via SIP
or SIPS procedures. or SIPS procedures.
session.connection.protocol.version Evaluates to "2.0". session.connection.protocol.version Evaluates to "2.0".
session.connection.redirect This array is populated by information session.connection.redirect This array is populated by information
contained in the History-Info ([RFC4244]) header in the initial contained in the History-Info ([RFC4244]) header in the initial
INVITE or is otherwise undefined. Each entry (hi-entry) in the INVITE or is otherwise undefined. Each entry (hi-entry) in the
skipping to change at page 131, line 46 skipping to change at page 133, line 48
where each key in the array is the non-compact name of a SIP where each key in the array is the non-compact name of a SIP
header in the initial INVITE converted to lower-case (note the header in the initial INVITE converted to lower-case (note the
case conversion does not apply to the header value). If multiple case conversion does not apply to the header value). If multiple
header fields of the same field name are present, the values are header fields of the same field name are present, the values are
combined into a single comma-separated value. Implementations combined into a single comma-separated value. Implementations
MUST at a minimum include the Call-ID header and MAY include other MUST at a minimum include the Call-ID header and MAY include other
headers. For example, headers. For example,
session.connection.protocol.sip.headers["call-id"] evaluates to session.connection.protocol.sip.headers["call-id"] evaluates to
the Call-ID of the SIP dialog. the Call-ID of the SIP dialog.
If a conferenceid attribute is specified and the MS supports using a If a conferenceid attribute is specified, then the MS populates the
VoiceXML dialog on a conference, then the MS populates the VoiceXML following session variables in VoiceXML:
session protocol variables using an implementation specific
mechanism. Otherwise, the MS sends an 439 error response session.conference.name Evaluates to the value of the conferenceid
(Section 4.5). attribute
12.2.2. Session media stream information 12.2.2. Session media stream information
The media streams of the connection or conference to use for the The media streams of the connection or conference to use for the
dialog are described in Section 4.2.2, including use of <stream> dialog are described in Section 4.2.2, including use of <stream>
elements (Section 4.2.2.2) if specified. The MS maps media stream elements (Section 4.2.2.2) if specified. The MS maps media stream
information into VoiceXML session variables as follows: information into the VoiceXML session variable
session.connection.protocol.sip.media for a connection, and
session.connection.protocol.sip.media This is an array where each session.conference.media for a conference. In both variables, the
array element is an object with the following properties: value of the variable is an array where each array element is an
object with the following properties:
type This required property indicates the type of the media type This required property indicates the type of the media
associated with the stream (see Section 4.2.2.2 <stream> type associated with the stream (see Section 4.2.2.2 <stream> type
attribute definition) attribute definition)
direction This required property indicates the directionality of direction This required property indicates the directionality of the
the media relative to session.connection.originator (see media relative to the dialog (see Section 4.2.2.2 <stream>
Section 4.2.2.2 <stream> direction attribute definition). direction attribute definition).
format This property is optional. If defined, the value of the format This property is optional. If defined, the value of the
property is an array. Each array element is an object which property is an array. Each array element is an object which
specifies information about one format of the media stream. specifies information about one format of the media stream. The
The object contains at least one property called name whose object contains at least one property called name whose value is
value is the subtype of the media format ([RFC4855]). Other the subtype of the media format ([RFC4855]). Other properties may
properties may be defined with string values; these correspond be defined with string values; these correspond to required and,
to required and, if defined, optional parameters of the format. if defined, optional parameters of the format.
As a consequence of this definition, there is an array entry in As a consequence of this definition, when a connectionid is specified
session.connection.protocol.sip.media for each media stream used by there is an array entry in session.connection.protocol.sip.media for
the VoiceXML dialog. For an example, consider a connection with bi- each media stream used by the VoiceXML dialog. For an example,
directional G.711 mu-law audio sampled at 8kHz where the dialog is consider a connection with bi-directional G.711 mu-law audio sampled
started with at 8kHz where the dialog is started with
<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">
<stream type="audio" direction="sendonly"/> <stream type="audio" direction="sendonly"/>
</dialogstart> </dialogstart>
</mscivr> </mscivr>
In this case, session.connection.protocol.sip.media[0].type evaluates In this case, session.connection.protocol.sip.media[0].type evaluates
to "audio", session.connection.protocol.sip.media[0].direction to to "audio", session.connection.protocol.sip.media[0].direction to
"sendonly", and "sendonly" (i.e. this dialog only sends media to the connection - it
does not receive media from the connection), and
session.connection.protocol.sip.media[0].format[0].name evaluates to session.connection.protocol.sip.media[0].format[0].name evaluates to
"audio/PCMU" and "audio/PCMU" and
session.connection.protocol.sip.media[0].format[0].rate evaluates to session.connection.protocol.sip.media[0].format[0].rate evaluates to
"8000". "8000".
Note that this session variable is updated if the connection or Note that the session variable is updated if the connection or
conference media session characteristics for the VoiceXML dialog conference media session characteristics for the VoiceXML dialog
change (i.e. due to a SIP re-INVITE). change (e.g. due to a SIP re-INVITE).
12.2.3. Session parameter information 12.2.3. Session parameter information
Parameter information is specified in the <params> child element of Parameter information is specified in the <params> child element of
<dialogstart>, where each parameter is specified using a <param> <dialogstart>, where each parameter is specified using a <param>
element. The MS maps parameter information into VoiceXML session element. The MS maps parameter information into VoiceXML session
variables as follows: variables as follows:
session.connection.params This is an array mapped to the <params> session.values This is an associative array mapped to the <params>
element. It is undefined if a <params> element is not specified. element. It is undefined if a <params> element is not specified.
Each object in the array corresponds to a <param> child of the Array keys and values are formed from <param> children of the
<params> element. Each object contains three required properties: <params> element. Each array key is the value of the name
a "name" property evaluating to the value of the name attribute of attribute of a <param> element. If the same name is used in more
the <param> element: a "type" property evaluating to the value of than one <param> element, then the array key is associated with
the type attribute; and a "content" property evaluating to the the last <param> in document order. The corresponding value for
content of the <param>. each key is an object with two required properties: a "type"
property evaluating to the value of the type attribute; and a
"content" property evaluating to the content of the <param>. In
addition, this object's toString() function returns the value of
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 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.connection.params would be defined with one In this case, session.values would be defined with one item in the
object in the array where session.connection.params[0].name evaluates array where session.values['mode'].type evaluates to "text/plain"
to "mode", session.connection.params[0].type evaluates to "text/ (the default value), session.values['mode'].content evaluates to
plain" (the default value) and session.connection.params[0].content "playannouncement" and session.values['mode'].toString() also
evaluates to "playannouncement". evaluates to "playannouncement".
The MS sends an error response (see Section 4.2.2) if a <param> is The MS sends an error response (see Section 4.2.2) if a <param> is
not supported by the MS (e.g. the parameter type is not supported). not supported by the MS (e.g. the parameter type is not supported).
12.3. Terminating a VoiceXML dialog 12.3. Terminating a VoiceXML dialog
When the MS receives a request with a <dialogterminate> element When the MS receives a request with a <dialogterminate> element
(Section 4.2.3), the MS throws a 'connection.disconnect.hangup' event (Section 4.2.3), the MS throws a 'connection.disconnect.hangup' event
into the specified VoiceXML dialog. Note that if the immediate into the specified VoiceXML dialog. Note that if the immediate
skipping to change at page 135, line 47 skipping to change at page 138, line 14
12.5. Call Transfer 12.5. Call Transfer
While VoiceXML is at its core a dialog language, it also provides While VoiceXML is at its core a dialog language, it also provides
optional call transfer capability. It is NOT RECOMMENDED to use optional call transfer capability. It is NOT RECOMMENDED to use
VoiceXML's call transfer capability in networks involving Application VoiceXML's call transfer capability in networks involving Application
Servers. Rather, the AS itself can provide call routing Servers. Rather, the AS itself can provide call routing
functionality by taking signaling actions based on the data returned functionality by taking signaling actions based on the data returned
to it, either through VoiceXML's own data submission mechanisms or to it, either through VoiceXML's own data submission mechanisms or
through the mechanism described in Section 12.4. If the MS through the mechanism described in Section 12.4. If the MS
encounters a VoiceXML dialog using call transfer capability, the MS encounters a VoiceXML dialog requesting call transfer capability, the
SHOULD terminate the VoiceXML dialog and return a <dialogexit> MS SHOULD raise an error event in the VoiceXML dialog execution
notification event reporting an execution error. context: an error.unsupported.transfer.blind event if blind transfer
is requested, error.unsupported.transfer.bridge if bridge transfer is
requested, or error.unsupported.transfer.consultation if consultation
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-07 (work in draft-ietf-mediactrl-sip-control-framework-08 (work in
progress), November 2008. progress), December 2008.
[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 136, line 39 skipping to change at page 139, 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]
Zucker, D., Michel, T., Jansen, J., Mullender, S., Jansen, J., Grassel, G., Bulterman, D., Layaida, N.,
Layaida, N., Grassel, G., Koivisto, A., and D. Bulterman, Zucker, D., Michel, T., Mullender, S., and A. Koivisto,
"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 139, line 5 skipping to change at page 141, line 39
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., [VXML21] Oshry, M., Auburn, RJ., Baggia, P., Bodell, M., Burke, D.,
Burnett, D., Candell, E., Carter, J., McGlashan, S., Lee, Burnett, D., Candell, E., Carter, J., McGlashan, S., Lee,
A., Porter, B., and K. Rehor, "Voice Extensible Markup A., Porter, B., and K. Rehor, "Voice Extensible Markup
Language (VoiceXML) Version 2.1", W3C Recommendation, Language (VoiceXML) Version 2.1", W3C Recommendation,
June 2007. June 2007.
[VXML30] McGlashan, S., Auburn, RJ., Baggia, P., Barnett, J.,
Bodell, M., Burnett, D., Carter, J., Oshry, M., Rehor, K.,
Young, M., and R. Hosn, "Voice Extensible Markup Language
(VoiceXML) Version 3.0", W3C Working Draft, December 2008.
Authors' Addresses Authors' Addresses
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
Tim Melanchuk Tim Melanchuk
skipping to change at page 140, line 4 skipping to change at line 6214
Email: tim.melanchuk@gmail.com Email: tim.melanchuk@gmail.com
Chris Boulton Chris Boulton
Avaya 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@avaya.com Email: cboulton@avaya.com
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
 End of changes. 41 change blocks. 
146 lines changed or deleted 231 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/