| < draft-ietf-mediactrl-ivr-control-package-07.txt | draft-ietf-mediactrl-ivr-control-package-08.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: May 29, 2010 Rain Willow Communications | Expires: August 29, 2010 Rain Willow Communications | |||
| C. Boulton | C. Boulton | |||
| NS-Technologies | NS-Technologies | |||
| November 25, 2009 | February 25, 2010 | |||
| 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-07 | draft-ietf-mediactrl-ivr-control-package-08 | |||
| 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 1, line 49 ¶ | skipping to change at page 1, line 49 ¶ | |||
| 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 29, 2010. | This Internet-Draft will expire on August 29, 2010. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2010 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| skipping to change at page 3, line 21 ¶ | skipping to change at page 3, line 21 ¶ | |||
| 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 10 | 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 10 | |||
| 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . 11 | 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . 11 | 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . 11 | |||
| 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 11 | 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 12 | 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 13 | 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.1. <mscivr> . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.1. <mscivr> . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.2. Dialog Management Elements . . . . . . . . . . . . . . . 15 | 4.2. Dialog Management Elements . . . . . . . . . . . . . . . 15 | |||
| 4.2.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . 18 | 4.2.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.2.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . 20 | 4.2.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . 21 | |||
| 4.2.2.1. <subscribe> . . . . . . . . . . . . . . . . . . . 24 | 4.2.2.1. <subscribe> . . . . . . . . . . . . . . . . . . . 24 | |||
| 4.2.2.1.1. <dtmfsub> . . . . . . . . . . . . . . . . . . 25 | 4.2.2.1.1. <dtmfsub> . . . . . . . . . . . . . . . . . . 25 | |||
| 4.2.2.2. <stream> . . . . . . . . . . . . . . . . . . . . 26 | 4.2.2.2. <stream> . . . . . . . . . . . . . . . . . . . . 26 | |||
| 4.2.2.2.1. <region> . . . . . . . . . . . . . . . . . . 27 | 4.2.2.2.1. <region> . . . . . . . . . . . . . . . . . . 27 | |||
| 4.2.2.2.2. <priority> . . . . . . . . . . . . . . . . . 27 | 4.2.2.2.2. <priority> . . . . . . . . . . . . . . . . . 27 | |||
| 4.2.3. <dialogterminate> . . . . . . . . . . . . . . . . . . 27 | 4.2.3. <dialogterminate> . . . . . . . . . . . . . . . . . . 28 | |||
| 4.2.4. <response> . . . . . . . . . . . . . . . . . . . . . 28 | 4.2.4. <response> . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 4.2.5. <event> . . . . . . . . . . . . . . . . . . . . . . . 30 | 4.2.5. <event> . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 4.2.5.1. <dialogexit> . . . . . . . . . . . . . . . . . . 30 | 4.2.5.1. <dialogexit> . . . . . . . . . . . . . . . . . . 30 | |||
| 4.2.5.2. <dtmfnotify> . . . . . . . . . . . . . . . . . . 31 | 4.2.5.2. <dtmfnotify> . . . . . . . . . . . . . . . . . . 32 | |||
| 4.2.6. <params> . . . . . . . . . . . . . . . . . . . . . . 32 | 4.2.6. <params> . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 4.2.6.1. <param> . . . . . . . . . . . . . . . . . . . . . 33 | 4.2.6.1. <param> . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 4.3. IVR Dialog Elements . . . . . . . . . . . . . . . . . . . 33 | 4.3. IVR Dialog Elements . . . . . . . . . . . . . . . . . . . 34 | |||
| 4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 35 | 4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 37 | 4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 38 | |||
| 4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 38 | 4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 39 | |||
| 4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 40 | 4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 41 | |||
| 4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 41 | 4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 42 | |||
| 4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 42 | 4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 43 | |||
| 4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 44 | 4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 45 | |||
| 4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 46 | 4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 48 | |||
| 4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 49 | 4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 50 | |||
| 4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 50 | 4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 52 | |||
| 4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 54 | 4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 56 | |||
| 4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 55 | 4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 57 | |||
| 4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 56 | 4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 58 | |||
| 4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 56 | 4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 58 | |||
| 4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 56 | 4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 58 | |||
| 4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 56 | 4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 58 | |||
| 4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 57 | 4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 59 | |||
| 4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 57 | 4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 59 | |||
| 4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 58 | 4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 60 | |||
| 4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 58 | 4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
| 4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 59 | 4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 61 | |||
| 4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 61 | 4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 63 | |||
| 4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 62 | 4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 64 | |||
| 4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 62 | 4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 64 | |||
| 4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 64 | 4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 66 | |||
| 4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 65 | 4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 67 | |||
| 4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 65 | 4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 67 | |||
| 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 65 | 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 67 | |||
| 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 66 | 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 68 | |||
| 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 66 | 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 68 | |||
| 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 67 | 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 69 | |||
| 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 67 | 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 69 | |||
| 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 67 | 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 69 | |||
| 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 67 | 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 69 | |||
| 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 68 | 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 70 | |||
| 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 74 | 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 76 | |||
| 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 76 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 78 | |||
| 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 103 | 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 105 | |||
| 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 103 | 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 105 | |||
| 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 103 | 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 105 | |||
| 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 104 | 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 106 | |||
| 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 104 | 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 106 | |||
| 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 105 | 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 107 | |||
| 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 106 | 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 108 | |||
| 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 106 | 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 108 | |||
| 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 107 | 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 109 | |||
| 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 109 | 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 111 | |||
| 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 110 | 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 112 | |||
| 6.2.5. Subscriptions and notifications . . . . . . . . . . . 111 | 6.2.5. Subscriptions and notifications . . . . . . . . . . . 113 | |||
| 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 111 | 6.2.6. Dialog repetition until DTMF collection complete . . 113 | |||
| 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 112 | 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 114 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 115 | 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 115 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 118 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 117 | |||
| 8.1. Control Package Registration . . . . . . . . . . . . . . 118 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 120 | |||
| 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 118 | 8.1. Control Package Registration . . . . . . . . . . . . . . 120 | |||
| 8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 119 | 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 120 | |||
| 8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 121 | ||||
| 8.4. MIME Media Type Registration for | 8.4. MIME Media Type Registration for | |||
| 'application/msc-ivr+xml' . . . . . . . . . . . . . . . . 119 | 'application/msc-ivr+xml' . . . . . . . . . . . . . . . . 121 | |||
| 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 121 | 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 123 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 134 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 135 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 138 | |||
| 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 136 | 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 139 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 144 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 147 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 144 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 147 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 145 | 13.2. Informative References . . . . . . . . . . . . . . . . . 148 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 147 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 150 | ||||
| 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 5, line 44 ¶ | skipping to change at page 6, line 44 ¶ | |||
| This package has been designed to satisfy IVR requirements documented | This package has been designed to satisfy IVR requirements documented | |||
| in the Media Server Control Protocol Requirements document | in the Media Server Control Protocol Requirements document | |||
| ([RFC5167]); more specifically REQ-MCP-28, REQ-MCP-29 and REQ-MCP-30. | ([RFC5167]); more specifically REQ-MCP-28, REQ-MCP-29 and REQ-MCP-30. | |||
| It achieves this by building upon two major approaches to IVR dialog | It achieves this by building upon two major approaches to IVR dialog | |||
| design. These approaches address a wide range of IVR use cases and | design. These approaches address a wide range of IVR use cases and | |||
| are used in many applications which are extensively deployed today. | are used in many applications which are extensively deployed today. | |||
| First, the package is designed to provide the major IVR functionality | First, the package is designed to provide the major IVR functionality | |||
| of SIP Media Server languages such as netann ([RFC4240]), MSCML | of SIP Media Server languages such as netann ([RFC4240]), MSCML | |||
| ([RFC5022]) and MSML ([MSML]) which themselves build upon more | ([RFC5022]) and MSML ([RFC5707]) which themselves build upon more | |||
| traditional non-SIP languages ([H.248.9], [RFC2897]). A key | traditional non-SIP languages ([H.248.9], [RFC2897]). A key | |||
| differentiator is that this package provides IVR functionality using | differentiator is that this package provides IVR functionality using | |||
| 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 | |||
| skipping to change at page 16, line 37 ¶ | skipping to change at page 17, line 37 ¶ | |||
| | | | |--------+| <dialogterminate>/| | | | | | | | |--------+| <dialogterminate>/| | | | | |||
| | | +---------+ || 200 response +---------+ | | | | | +---------+ || 200 response +---------+ | | | |||
| | | || | | | | | | || | | | | |||
| | | /dialogexit notification|| | | | | | | /dialogexit notification|| | | | | |||
| | | (timeout) || | | | | | | (timeout) || | | | | |||
| | | || | | | | | | || | | | | |||
| | | || | | | | | | || | | | | |||
| | | || | | | | | | || | | | | |||
| | | ||<dialogterminate>/ | | | | | | ||<dialogterminate>/ | | | | |||
| | | || 200 response | | | | | | || 200 response | | | | |||
| | | || |/dialogexit | | | | | || + |/dialogexit | | | |||
| | | || | notification | | | | | || /dialogexit | notification | | | |||
| | | || | | | | | | || notification | | | | |||
| | | || | | | | | | || | | | | |||
| | | vv | | | | | | vv | | | | |||
| | | /ERROR response +-----------+ | | | | | | /ERROR response +-----------+ | | | | |||
| | +---------------------->| |<----------+ /ERROR response| | | | +---------------------->| |<----------+ /ERROR response| | | |||
| +------------------------>|TERMINATED |<---------------------------+ | | +------------------------>|TERMINATED |<---------------------------+ | | |||
| <dialogterminate>/ | |<-----------------------------+ | <dialogterminate>/ | |<-----------------------------+ | |||
| 410 response +-----------+ <dialogterminate>/410 response | 410 response +-----------+ <dialogterminate>/410 response | |||
| Figure 1: Dialog Lifecycle | Figure 1: Dialog Lifecycle | |||
| skipping to change at page 17, line 17 ¶ | skipping to change at page 18, line 17 ¶ | |||
| PREPARING: the dialog is being prepared. The dialog is assigned a | PREPARING: the dialog is being prepared. The dialog is assigned a | |||
| valid dialog identifier (see below). If an error occurs the | valid dialog identifier (see below). If an error occurs the | |||
| dialog transitions to the TERMINATED state and the MS MUST send a | dialog transitions to the TERMINATED state and the MS MUST send a | |||
| response indicating the error. If the dialog is terminated before | response indicating the error. If the dialog is terminated before | |||
| preparation is complete, the dialog transitions to the TERMINATED | preparation is complete, the dialog transitions to the TERMINATED | |||
| state and the MS MUST send a 410 response (Section 4.5) for the | state and the MS MUST send a 410 response (Section 4.5) for the | |||
| prepare request. | prepare request. | |||
| PREPARED: the dialog has been successfully prepared and the MS MUST | PREPARED: the dialog has been successfully prepared and the MS MUST | |||
| send a 200 response indicating the prepare operation was | send a 200 response indicating the prepare operation was | |||
| successful. If the dialog is then terminated, the dialog | successful. If the dialog is terminated, then the MS MUST send a | |||
| transitions to the TERMINATED state. If the duration the dialog | 200 response, the dialog transitions to the TERMINATED state and | |||
| remains in the PREPARED state exceeds the maximum preparation | the MS MUST send a dialogexit notification event (see | |||
| duration, the dialog transitions to the TERMINATED state and the | Section 4.2.5.1). If the duration the dialog remains in the | |||
| MS MUST send a dialogexit notification with the appropriate error | PREPARED state exceeds the maximum preparation duration, the | |||
| status code (see Section 4.2.5.1). A maximum preparation duration | dialog transitions to the TERMINATED state and the MS MUST send a | |||
| of 30s is RECOMMENDED. | dialogexit notification with the appropriate error status code | |||
| (see Section 4.2.5.1). A maximum preparation duration of 300s is | ||||
| RECOMMENDED. | ||||
| STARTING: the dialog is being started. If the dialog has not | STARTING: the dialog is being started. If the dialog has not | |||
| already been prepared, it is first prepared and assigned a valid | already been prepared, it is first prepared and assigned a valid | |||
| dialog identifier (see below). If an error occurs the dialog | dialog identifier (see below). If an error occurs the dialog | |||
| transitions to the TERMINATED state and the MS MUST send a | transitions to the TERMINATED state and the MS MUST send a | |||
| response indicating the error. If the dialog is terminated, the | response indicating the error. If the dialog is terminated, the | |||
| dialog transitions to the TERMINATED state and the MS MUST send a | dialog transitions to the TERMINATED state and the MS MUST send a | |||
| 410 response (Section 4.5) for the start request. | 410 response (Section 4.5) for the start request. | |||
| STARTED: the dialog has been successfully started and is now active. | STARTED: the dialog has been successfully started and is now active. | |||
| skipping to change at page 18, line 37 ¶ | skipping to change at page 19, line 38 ¶ | |||
| media type associated with the dialog document. Consequently, the | media type associated with the dialog document. Consequently, the | |||
| dialog language associated with a dialog on the MS is identified | dialog language associated with a dialog on the MS is identified | |||
| either inline by a <dialog> child element or by a src attribute | either inline by a <dialog> child element or by a src attribute | |||
| referencing a document containing the dialog language. The MS MUST | referencing a document containing the dialog language. The MS MUST | |||
| support inline the IVR dialog language defined in Section 4.3. The | support inline the IVR dialog language defined in Section 4.3. The | |||
| MS MAY support other dialog languages by reference. | MS MAY support other dialog languages by reference. | |||
| 4.2.1. <dialogprepare> | 4.2.1. <dialogprepare> | |||
| The <dialogprepare> request is sent to the MS to request preparation | The <dialogprepare> request is sent to the MS to request preparation | |||
| of a dialog. Dialog preparation consists of (a) retrieving external | of a dialog. Dialog preparation consists of (a) retrieving an | |||
| dialog document and resources (if required), and (b) validating the | external dialog document and/or external resources referenced within | |||
| dialog document syntactically and semantically. | an inline <dialog> element, and (b) validating the dialog document | |||
| syntactically and semantically. | ||||
| A prepared dialog is executed when the MS receives a <dialogstart> | A prepared dialog is executed when the MS receives a <dialogstart> | |||
| request referencing the prepared dialog identifier (see | request referencing the prepared dialog identifier (see | |||
| Section 4.2.2). | Section 4.2.2). | |||
| The <dialogprepare> element has the following attributes: | The <dialogprepare> element has the following attributes: | |||
| src: specifies the location of an external dialog document to | src: specifies the location of an external dialog document to | |||
| prepare. A valid value is a URI (see Section 4.6.9) including | prepare. A valid value is a URI (see Section 4.6.9) including | |||
| authentication information if defined by the URI scheme (e.g. | authentication information if defined by the URI scheme (e.g. | |||
| skipping to change at page 20, line 46 ¶ | skipping to change at page 22, line 9 ¶ | |||
| Since MS support for dialog languages other than the IVR dialog | Since MS support for dialog languages other than the IVR dialog | |||
| language defined in this package is optional, if the MS does not | language defined in this package is optional, if the MS does not | |||
| support the dialog language it would send a response with the status | support the dialog language it would send a response with the status | |||
| code 409 (Section 4.5). Further information on using VoiceXML can be | code 409 (Section 4.5). Further information on using VoiceXML can be | |||
| found in Section 12. | found in Section 12. | |||
| 4.2.2. <dialogstart> | 4.2.2. <dialogstart> | |||
| The <dialogstart> element is sent to the MS to start a dialog. If | The <dialogstart> element is sent to the MS to start a dialog. If | |||
| the dialog has not been prepared, the dialog is prepared (retrieving | the dialog has not been prepared, the dialog is prepared (retrieving | |||
| an external document and resources if necessary, and the dialog | external document and/or external resources referenced within | |||
| document validated syntactically and semantically). Media processors | <dialog> element, and the dialog document validated syntactically and | |||
| (e.g. DTMF and prompt queue) are activated and associated with the | semantically). Media processors (e.g. DTMF and prompt queue) are | |||
| specified connection or conference. | activated and associated with the specified connection or conference. | |||
| The <dialogstart> element has the following attributes: | The <dialogstart> element has the following attributes: | |||
| src: specifies the location of an external dialog document to start. | src: specifies the location of an external dialog document to start. | |||
| A valid value is a URI (see Section 4.6.9) including | A valid value is a URI (see Section 4.6.9) including | |||
| authentication information if defined by the URI scheme (e.g. | authentication information if defined by the URI scheme (e.g. | |||
| basic access authentication in HTTP). If the URI scheme is | basic access authentication in HTTP). If the URI scheme is | |||
| unsupported, the MS sends a <response> with a 420 status code | unsupported, the MS sends a <response> with a 420 status code | |||
| (Section 4.5). If the document cannot be retrieved with the | (Section 4.5). If the document cannot be retrieved with the | |||
| timeout interval, the MS sends a <response> with a 409 status | timeout interval, the MS sends a <response> with a 409 status | |||
| skipping to change at page 25, line 35 ¶ | skipping to change at page 26, line 41 ¶ | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart dialogid="d3" connectionid="connection1"> | <dialogstart dialogid="d3" connectionid="connection1"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/getpin.wav"/> | <media loc="http://www.example.com/getpin.wav"/> | |||
| </prompt> | </prompt> | |||
| <control ffkey="2" rewkey="3"/> | <control ffkey="2" rewkey="3"/> | |||
| </dialog> | </dialog> | |||
| <subscribe> | <subscribe> | |||
| <dmtfnotify matchmode="control"/> | <dmtfsub matchmode="control"/> | |||
| </subscribe> | </subscribe> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| Each time a '2' or '3' DTMF input is received, the MS sends a | Each time a '2' or '3' DTMF input is received, the MS sends a | |||
| notification event: | notification event: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <event dialogid="d3"> | <event dialogid="d3"> | |||
| <dtmfnotify matchmode="collect" dtmf="2" | <dtmfnotify matchmode="collect" dtmf="2" | |||
| skipping to change at page 27, line 4 ¶ | skipping to change at page 28, line 14 ¶ | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="connection1"> | <dialogstart connectionid="connection1"> | |||
| <dialog> | <dialog> | |||
| <record maxtime="384000s"/> | <record maxtime="384000s"/> | |||
| </dialog> | </dialog> | |||
| <stream media="audio" label="camaudio" direction="inactive"/> | <stream media="audio" label="camaudio" direction="inactive"/> | |||
| <stream media="video" label="camvideo" direction="inactive"/> | <stream media="video" label="camvideo" direction="inactive"/> | |||
| <stream media="audio" label="useraudio" direction="sendonly"/> | <stream media="audio" label="useraudio" direction="sendonly"/> | |||
| <stream media="video" label="uservideo" direction="sendonly"/> | <stream media="video" label="uservideo" direction="sendonly"/> | |||
| </mscivr> | </mscivr> | |||
| Using the <region> element, the dialog can be started on a conference | Using the <region> element, the dialog can be started on a conference | |||
| mixer so that the video output from the dialog is directed to a | mixer so that the video output from the dialog is directed to a | |||
| specific region within a video layout. For example: | specific region within a video layout. 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 conferenceid="conference1"> | <dialogstart conferenceid="conference1"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/presentation.3gp"/> | <media loc="http://www.example.com/presentation.3gp"/> | |||
| </prompt> | </prompt> | |||
| </dialog> | </dialog> | |||
| <stream media="video" direction="recvonly"> | <stream media="video" direction="recvonly"> | |||
| <region>r1</region> | <region>1</region> | |||
| </stream> | </stream> | |||
| </mscivr> | </mscivr> | |||
| 4.2.2.2.1. <region> | 4.2.2.2.1. <region> | |||
| The <region> element is used to specify the region within a video | The <region> element is used to specify the region within a video | |||
| layout where a video media stream is displayed. | layout where a video media stream is displayed. | |||
| The <region> element has no attributes and its content model | The <region> element has no attributes and its content model | |||
| specifies the name of the region layout. | specifies the name of the region layout. | |||
| skipping to change at page 35, line 38 ¶ | skipping to change at page 37, line 15 ¶ | |||
| repeatCount: number of times the dialog is to be executed. A valid | repeatCount: number of times the dialog is to be executed. A valid | |||
| value is a non-negative integer (see Section 4.6.4). A value of 0 | value is a non-negative integer (see Section 4.6.4). A value of 0 | |||
| indicates that the dialog is repeated until halted by other means. | indicates that the dialog is repeated until halted by other means. | |||
| The attribute is optional. The default value is 1. | The attribute is optional. The default value is 1. | |||
| repeatDur: maximum duration for dialog execution. A valid value is | repeatDur: maximum duration for dialog execution. A valid value is | |||
| a Time Designation (see Section 4.6.7). If no value is specified, | a Time Designation (see Section 4.6.7). If no value is specified, | |||
| then there is no limit on the duration of the dialog. The | then there is no limit on the duration of the dialog. The | |||
| attribute is optional. There is no default value. | attribute is optional. There is no default value. | |||
| repeatUntilComplete: indicates whether the MS terminates dialog | ||||
| execution when an input operation is completed successfully. A | ||||
| valid value is a boolean (see Section 4.6.1). A value of true | ||||
| indicates that dialog execution is terminated when an input | ||||
| operation associated with its child elements is completed | ||||
| sucessfully (see execution model below for precise conditions). A | ||||
| value of false indicates that dialog execution is terminated by | ||||
| other means. The attribute is optional. The default value is | ||||
| false. | ||||
| The repeatDur attribute takes priority over the repeatCount attribute | The repeatDur attribute takes priority over the repeatCount attribute | |||
| in determining maximum duration of the dialog. See 'repeatCount' and | in determining maximum duration of the dialog. See 'repeatCount' and | |||
| 'repeatDur' in SMIL ([W3C.REC-SMIL2-20051213]) for further | 'repeatDur' in SMIL ([W3C.REC-SMIL2-20051213]) for further | |||
| information. In the situation where a dialog is repeated more than | information. In the situation where a dialog is repeated more than | |||
| once, only the results of operations in the last dialog iteration are | once, only the results of operations in the last dialog iteration are | |||
| reported. | reported. | |||
| The <dialog> element has the following sequence of child elements (at | The <dialog> element has the following sequence of child elements (at | |||
| least one, any order): | least one, any order): | |||
| skipping to change at page 36, line 52 ¶ | skipping to change at page 38, line 36 ¶ | |||
| when a specified <prompt> terminates, then start the collect | when a specified <prompt> terminates, then start the collect | |||
| operation or the record operation if the <collect> or <record> | operation or the record operation if the <collect> or <record> | |||
| elements respectively are specified. If subscriptions are | elements respectively are specified. If subscriptions are | |||
| specified for the dialog, then the MS sends a notification event | specified for the dialog, then the MS sends a notification event | |||
| when the specified event occurs. If execution of a child element | when the specified event occurs. If execution of a child element | |||
| results in an error, the MS terminates dialog execution (and | results in an error, the MS terminates dialog execution (and | |||
| stops other child element operations) and the MS sends a | stops other child element operations) and the MS sends a | |||
| dialogexit status event, reporting any information gathered. | dialogexit status event, reporting any information gathered. | |||
| 5. If the dialog execution cycle completes successfully, then the MS | 5. If the dialog execution cycle completes successfully, then the MS | |||
| increments the counter by one. If the value of the repeatCount | increments the counter by one. The MS terminates dialog | |||
| attribute is greater than zero and the counter is equal to the | execution if either of the following conditions is true: | |||
| value of the repeatCount attribute, then the MS terminates dialog | ||||
| execution and the sends a dialogexit (with a status of 1) | * the value of the repeatCount attribute is greater than zero | |||
| reporting operation information collected in the last dialog | and the counter is equal to the value of the repeatCount | |||
| execution cycle only. Otherwise, another dialog execution cycle | attribute | |||
| is initiated. | ||||
| * the value of the repeatUntilComplete attribute is true and one | ||||
| of the following conditions is true: | ||||
| + <collect> reports termination status of 'match' or | ||||
| 'stopped'. | ||||
| + <record> reports termination status of 'stopped', 'dtmf', | ||||
| 'maxtime' or 'finalsilence'. | ||||
| When the MS terminates dialog execution, it sends a dialogexit | ||||
| (with a status of 1) reporting operation information collected in | ||||
| the last dialog execution cycle only. Otherwise, another dialog | ||||
| execution cycle is initiated. | ||||
| 4.3.1.1. <prompt> | 4.3.1.1. <prompt> | |||
| The <prompt> element specifies a sequence of media resources to play | The <prompt> element specifies a sequence of media resources to play | |||
| back in document order. | back in document order. | |||
| A <prompt> element has the following attributes: | A <prompt> element has the following attributes: | |||
| xml:base: A string declaring the base URI from which relative URIs | xml:base: A string declaring the base URI from which relative URIs | |||
| in child elements are resolved prior to fetching. A valid value | in child elements are resolved prior to fetching. A valid value | |||
| skipping to change at page 41, line 36 ¶ | skipping to change at page 43, line 36 ¶ | |||
| stopped when one child element reports it is complete. | stopped when one child element reports it is complete. | |||
| The <par> element has the following child elements (at least one, any | The <par> element has the following child elements (at least one, any | |||
| order, multiple occurrences of each element permitted): | order, multiple occurrences of each element permitted): | |||
| <seq>: specifies a sequence of media resources to play in a parallel | <seq>: specifies a sequence of media resources to play in a parallel | |||
| with other <par> child elements (see Section 4.3.1.1.3.1). The | with other <par> child elements (see Section 4.3.1.1.3.1). The | |||
| element is optional. | element is optional. | |||
| <media>: specifies a media resource (see Section 4.3.1.5) to play. | <media>: specifies a media resource (see Section 4.3.1.5) to play. | |||
| The element is optional. | The MS is responsible for assigning the appropriate media | |||
| stream(s) when more than one is available. The element is | ||||
| optional. | ||||
| <variable>: specifies a variable media announcement (see | <variable>: specifies a variable media announcement (see | |||
| Section 4.3.1.1.1) to play. The element is optional. | Section 4.3.1.1.1) to play. The element is optional. | |||
| <dtmf>: generates one or more DTMF tones (see Section 4.3.1.1.2) to | <dtmf>: generates one or more DTMF tones (see Section 4.3.1.1.2) to | |||
| play. The element is optional. | play. The element is optional. | |||
| If a <par> element configuration is not supported, the MS sends a | If a <par> element configuration is not supported, the MS sends a | |||
| <response> with a 435 status code (Section 4.5). | <response> with a 435 status code (Section 4.5). | |||
| skipping to change at page 44, line 15 ¶ | skipping to change at page 46, line 17 ¶ | |||
| 4.3.1.2. <control> | 4.3.1.2. <control> | |||
| The <control> element defines how DTMF input is mapped to runtime | The <control> element defines how DTMF input is mapped to runtime | |||
| controls, including prompt playback controls. | controls, including prompt playback controls. | |||
| DTMF input matching these controls MUST NOT cause prompt playback to | DTMF input matching these controls MUST NOT cause prompt playback to | |||
| interrupted (i.e. no prompt bargein), but causes the appropriate | interrupted (i.e. no prompt bargein), but causes the appropriate | |||
| operation to be applied; for examples, speeding up prompt playback. | operation to be applied; for examples, speeding up prompt playback. | |||
| DTMF input matching these controls has priority over <collect> input | DTMF input matching these controls has priority over <collect> input | |||
| for the duration of prompt playback. If incoming DTMF matches a | for the duration of prompt playback. If an incoming DTMF character | |||
| specified runtime control, then the DTMF is not available to the | matches a specified runtime control, then the DTMF character is | |||
| <collect> operation, including its digit buffer. Once prompt | consumed: it is not added to the digit buffer and so is not available | |||
| playback is complete, runtime controls are no longer active. | to the <collect> operation. Once prompt playback is complete, | |||
| runtime controls are no longer active. | ||||
| The <control> element has the following attributes: | The <control> element has the following attributes: | |||
| gotostartkey: maps a DTMF key to skip directly to the start of the | gotostartkey: maps a DTMF key to skip directly to the start of the | |||
| prompt. A valid value is a DTMF Character (see Section 4.6.2). | prompt. A valid value is a DTMF Character (see Section 4.6.2). | |||
| The attribute is optional. There is no default value. | The attribute is optional. There is no default value. | |||
| gotoendkey: maps a DTMF key to skip directly to the end of the | gotoendkey: maps a DTMF key to skip directly to the end of the | |||
| prompt. A valid value is a DTMF Character (see Section 4.6.2). | prompt. A valid value is a DTMF Character (see Section 4.6.2). | |||
| The attribute is optional. There is no default value. | The attribute is optional. There is no default value. | |||
| skipping to change at page 47, line 25 ¶ | skipping to change at page 49, line 31 ¶ | |||
| interdigittimeout: indicates the maximum time to wait for another | interdigittimeout: indicates the maximum time to wait for another | |||
| DTMF when the collected input is incomplete with respect to the | DTMF when the collected input is incomplete with respect to the | |||
| grammar. A valid value is a Time Designation (see Section 4.6.7). | grammar. A valid value is a Time Designation (see Section 4.6.7). | |||
| The attribute is optional. The default value is 2s. | The attribute is optional. The default value is 2s. | |||
| termtimeout: indicates the maximum time to wait for the termchar | termtimeout: indicates the maximum time to wait for the termchar | |||
| character when the collected input is complete with respect to the | character when the collected input is complete with respect to the | |||
| grammar. A valid value is a Time Designation (see Section 4.6.7). | grammar. A valid value is a Time Designation (see Section 4.6.7). | |||
| The attribute is optional. The default value is 0s (no delay). | The attribute is optional. The default value is 0s (no delay). | |||
| escapekey: specifies a DTMF key that indicates the DTMF collection | escapekey: specifies a DTMF key that indicates collected grammar | |||
| is to be re-initiated. A valid value is a DTMF Character (see | matches are discarded and the DTMF collection is to be re- | |||
| Section 4.6.2). The attribute is optional. There is no default | initiated. A valid value is a DTMF Character (see Section 4.6.2). | |||
| value. | The attribute is optional. There is no default value. | |||
| termchar: specifies a DTMF character for terminating DTMF input | termchar: specifies a DTMF character for terminating DTMF input | |||
| collection using the internal grammar. It is ignored when a | collection using the internal grammar. It is ignored when a | |||
| custom grammar is used. A valid value is a DTMF character (see | custom grammar is specified. A valid value is a DTMF character | |||
| Section 4.6.2). To disable termination by a conventional DTMF | (see Section 4.6.2). To disable termination by a conventional | |||
| character, set the parameter to an unconventional character like | DTMF character, set the parameter to an unconventional character | |||
| 'A'. The attribute is optional. The default value is '#'. | like 'A'. The attribute is optional. The default value is '#'. | |||
| maxdigits: The maximum number of digits to collect using an internal | maxdigits: The maximum number of digits to collect using an internal | |||
| digits (0-9 only) grammar. A valid value is a positive integer | digits (0-9 only) grammar. It is ignored when a custom grammar is | |||
| (see Section 4.6.5). The attribute is optional. The default | specified. A valid value is a positive integer (see | |||
| value is 5. | Section 4.6.5). The attribute is optional. The default value is | |||
| 5. | ||||
| The following matching priority is defined for incoming DTMF: | ||||
| termchar attribute, escapekey attribute and then as part of a | ||||
| grammar. For example, if "1" is defined as the escapekey attribute | ||||
| and as part of a grammar, then its interpretation as a escapekey | ||||
| takes priority. | ||||
| The <collect> element has the following child elements: | The <collect> element has the following child elements: | |||
| <grammar>: indicates a custom grammar format (see | <grammar>: indicates a custom grammar format (see | |||
| Section 4.3.1.3.1). The element is optional. | Section 4.3.1.3.1). The element is optional. | |||
| The custom grammar takes priority over the internal grammar. If a | The custom grammar takes priority over the internal grammar. If a | |||
| <grammar> element is specified, the MS MUST use it for DTMF | <grammar> element is specified, the MS MUST use it for DTMF | |||
| collection. | collection. | |||
| skipping to change at page 48, line 42 ¶ | skipping to change at page 51, line 7 ¶ | |||
| or a custom DTMF grammar specified with the <grammar> element. | or a custom DTMF grammar specified with the <grammar> element. | |||
| 6. After escapekey input, or a valid input which does not complete | 6. After escapekey input, or a valid input which does not complete | |||
| the grammar, the MS activates a timer for the value of the | the grammar, the MS activates a timer for the value of the | |||
| interdigittimeout attribute or the termtimeout attribute. The MS | interdigittimeout attribute or the termtimeout attribute. The MS | |||
| only uses the termtimeout value when the grammar does not allow | only uses the termtimeout value when the grammar does not allow | |||
| any additional input; otherwise, the MS uses the | any additional input; otherwise, the MS uses the | |||
| interdigittimeout. | interdigittimeout. | |||
| 7. If DTMF collect input matches the value of the escapekey | 7. If DTMF collect input matches the value of the escapekey | |||
| attribute, then the MS re-initializes DTMF collection. | attribute, then the MS re-initializes DTMF collection: i.e. the | |||
| MS discards collected DTMFs already matched against the grammar, | ||||
| and the MS attempts to match incoming DTMF (including any pending | ||||
| in the digit buffer) as described in Step 5 above. | ||||
| 8. If the collect input is not valid with respect to the grammar or | 8. If the collect input is not valid with respect to the grammar or | |||
| an interdigittimeout timer expires, the MS terminates collection | an interdigittimeout timer expires, the MS terminates collection | |||
| execution and reports execution status to the dialog container | execution and reports execution status to the dialog container | |||
| with a <collectinfo> (see Section 4.3.2.3) where the termmode | with a <collectinfo> (see Section 4.3.2.3) where the termmode | |||
| attribute is set to nomatch. | attribute is set to nomatch. | |||
| 9. If the collect input completes the grammar or if a termtimeout | 9. If the collect input completes the grammar or if a termtimeout | |||
| timer expires, then the MS terminates collection execution and | timer expires, then the MS terminates collection execution and | |||
| reports execution status to the dialog container with | reports execution status to the dialog container with | |||
| skipping to change at page 75, line 37 ¶ | skipping to change at page 78, line 37 ¶ | |||
| 4.6.10. MIME Media Type | 4.6.10. MIME Media Type | |||
| A string formated as a IANA MIME media type ([MIME.mediatypes]). | A string formated as a IANA MIME media type ([MIME.mediatypes]). | |||
| 4.6.11. Language Identifier | 4.6.11. Language Identifier | |||
| A language identifier labels information content as being of a | A language identifier labels information content as being of a | |||
| particular human language variant. Following the XML specification | particular human language variant. Following the XML specification | |||
| for language identification [XML], a legal language identifier is | for language identification [XML], a legal language identifier is | |||
| identified by a RFC4646 ([RFC4646]) and RFC4647 ([RFC4647]) code | identified by a RFC566 ([RFC5646]) and RFC4647 ([RFC4647]) code where | |||
| where the language code is required and a country code or other | the language code is required and a country code or other subtag | |||
| subtag identifier is optional. | identifier is optional. | |||
| 4.6.12. DateTime | 4.6.12. DateTime | |||
| A string formated according to the XML schema definition of a | A string formated according to the XML schema definition of a | |||
| dateTime type ([XMLSchema:Part2]). | dateTime type ([XMLSchema:Part2]). | |||
| 5. Formal Syntax | 5. Formal Syntax | |||
| This section defines the XML schema for IVR Control Package. | This section defines the XML schema for IVR Control Package. | |||
| skipping to change at page 76, line 31 ¶ | skipping to change at page 79, line 31 ¶ | |||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr" | <xsd:schema targetNamespace="urn:ietf:params:xml:ns:msc-ivr" | |||
| elementFormDefault="qualified" blockDefault="#all" | elementFormDefault="qualified" blockDefault="#all" | |||
| xmlns="urn:ietf:params:xml:ns:msc-ivr" | xmlns="urn:ietf:params:xml:ns:msc-ivr" | |||
| xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes" | xmlns:fw="urn:ietf:params:xml:ns:control:framework-attributes" | |||
| xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | |||
| <xsd:annotation> | <xsd:annotation> | |||
| <xsd:documentation> | <xsd:documentation> | |||
| IETF MediaCtrl IVR 1.0 (20090710) | IETF MediaCtrl IVR 1.0 (20100225) | |||
| This is the schema of the IETF MediaCtrl IVR control | This is the schema of the IETF MediaCtrl IVR control | |||
| package. | package. | |||
| The schema namespace is urn:ietf:params:xml:ns:msc-ivr | The schema namespace is urn:ietf:params:xml:ns:msc-ivr | |||
| </xsd:documentation> | </xsd:documentation> | |||
| </xsd:annotation> | </xsd:annotation> | |||
| <!-- | <!-- | |||
| skipping to change at page 87, line 30 ¶ | skipping to change at page 90, line 30 ¶ | |||
| maxOccurs="1" /> | maxOccurs="1" /> | |||
| <xsd:element ref="record" minOccurs="0" | <xsd:element ref="record" minOccurs="0" | |||
| maxOccurs="1" /> | maxOccurs="1" /> | |||
| <xsd:any namespace="##other" minOccurs="0" | <xsd:any namespace="##other" minOccurs="0" | |||
| maxOccurs="unbounded" processContents="lax" /> | maxOccurs="unbounded" processContents="lax" /> | |||
| </xsd:sequence> | </xsd:sequence> | |||
| <xsd:attribute name="repeatCount" | <xsd:attribute name="repeatCount" | |||
| type="xsd:nonNegativeInteger" default="1" /> | type="xsd:nonNegativeInteger" default="1" /> | |||
| <xsd:attribute name="repeatDur" | <xsd:attribute name="repeatDur" | |||
| type="timedesignation.datatype" /> | type="timedesignation.datatype" /> | |||
| <xsd:attribute name="repeatUntilComplete" | ||||
| type="boolean.datatype" default="false"/> | ||||
| </xsd:extension> | </xsd:extension> | |||
| </xsd:complexContent> | </xsd:complexContent> | |||
| </xsd:complexType> | </xsd:complexType> | |||
| <xsd:element name="dialog" type="dialogType" /> | <xsd:element name="dialog" type="dialogType" /> | |||
| <!-- prompt --> | <!-- prompt --> | |||
| <xsd:complexType name="promptType"> | <xsd:complexType name="promptType"> | |||
| <xsd:complexContent> | <xsd:complexContent> | |||
| skipping to change at page 111, line 49 ¶ | skipping to change at page 114, line 49 ¶ | |||
| <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> | |||
| If no user input was provided, or the input did not match the | If no user input was provided, or the input did not match the | |||
| grammar, the dialog would continue to loop until terminated (or an | grammar, the dialog would continue to loop until terminated (or an | |||
| error occurred). | error occurred). | |||
| 6.2.6. Dialog repetition until DTMF collection complete | ||||
| This example is a prompt and collect dialog to collect the PIN from | ||||
| the user. The repeatUntilComplete attribute in the <dialog> is set | ||||
| to true in this case so that when the grammar collection is complete, | ||||
| the MS automatically terminates the dialog repeat cycle and reports | ||||
| the results in a <dialogexit> event. | ||||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | ||||
| <dialogstart connectionid="7HDY839:HJKSkyHS"> | ||||
| <dialog repeatCount="3" repeatUntilComplete="true"> | ||||
| <prompt bargein="true"> | ||||
| <media loc="http://example.com/please_enter_your_pin.vox"/> | ||||
| </prompt> | ||||
| <collect maxdigits="4"/> | ||||
| </dialog> | ||||
| </dialogstart> | ||||
| </mscivr> | ||||
| If the user barges in on the prompt and <collect> receives DTMF input | ||||
| matching the grammar, the dialog cycle is considered complete and the | ||||
| MS returns the following: | ||||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | ||||
| <event dialogid="vxi81"> | ||||
| <dialogexit status="1"> | ||||
| <promptinfo duration="3654" termmode="bargein"/> | ||||
| <collectinfo dtmf="1234" termmode="match"> | ||||
| </dialogexit> | ||||
| </event> | ||||
| </mscivr> | ||||
| If no user input was provided, or the input did not match the | ||||
| grammar, the dialog would loop for a maximum of 3 times. | ||||
| 6.3. Other Dialog Languages | 6.3. Other Dialog Languages | |||
| The following example requests that a VoiceXML dialog is started: | The following example requests that a VoiceXML dialog is started: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart dialogid="d2" | <dialogstart dialogid="d2" | |||
| connectionid="7HDY839:HJKSkyHS" | connectionid="7HDY839:HJKSkyHS" | |||
| type="application/voicexml+xml" | type="application/voicexml+xml" | |||
| src="http://www.example.com/mydialog.vxml" | src="http://www.example.com/mydialog.vxml" | |||
| fetchtimeout="15s"> | fetchtimeout="15s"> | |||
| skipping to change at page 121, line 9 ¶ | skipping to change at page 124, line 9 ¶ | |||
| Person & email address to contact for further information: Scott | Person & email address to contact for further information: Scott | |||
| McGlashan <smcg.stds01@mcglashan.org> | McGlashan <smcg.stds01@mcglashan.org> | |||
| Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
| Author/Change controller: The IETF | Author/Change controller: The IETF | |||
| Other information: None. | Other information: None. | |||
| 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 -08 and -07 versions | ||||
| (addressing IETF Last Call comments): | ||||
| o 4.2: Changed recommended maximum duration value for a prepared | ||||
| dialog from 30s to 300s. | ||||
| o 4.2: Changed the dialog state machine so that when a PREPARED | ||||
| dialog is terminated, the MS always sends a <dialogexit> | ||||
| notification event. | ||||
| o 4.2.1/4.2.2: Clarified that dialog preparation covers retrieval of | ||||
| external resources (e.g. media, grammar, etc) when they are | ||||
| referenced by an inline <dialog> element. | ||||
| o 4.2.2.1.1: Fixed example replacing <dtmfnotify> with <dtmfsub> in | ||||
| <subscribe> element | ||||
| o 4.3.1: Added repeatUntilComplete attribute to <dialog> to allow | ||||
| repetition of an dialog until input (DTMF or recording) is | ||||
| completed successfully. Updated XML schema. Added example in | ||||
| 6.2.6. | ||||
| o 4.3.1.1.3: Clarified that in the case of <par>, it is | ||||
| responsibility of the MS to assign the appropriate stream(s) for | ||||
| playback of each <media>. | ||||
| o 4.3.1.2: Clarified that DTMF matching <control>s are consumed and | ||||
| not added to the digit buffer. | ||||
| o 4.3.1.3: Clarified that <collect>'s maxdigits attribute is ignored | ||||
| if a custom grammar is specified. | ||||
| o 4.3.1.3: Clarified that when a DTMF input can match more than one | ||||
| of {termchar, escapekey, grammar}, then the priority of matching | ||||
| is: termchar, escapekey and then grammar. | ||||
| o 4.3.1.3: Clarified that the behavior of the escapekey: the MS | ||||
| discards collected DTMFs already matched against the grammar, and | ||||
| the MS attempts to match incoming DTMF (including any pending in | ||||
| the digit buffer) as described in Step 5 of the <collect> | ||||
| execution model. | ||||
| o 12.2.1: Changed mapping between SIP History-Info and VoiceXML | ||||
| session.connection.redirect to align with RFC5552 reported Errata. | ||||
| The following are the changes between the -07 and -06 versions | The following are the changes between the -07 and -06 versions | |||
| (primarily addressing AD Review comments): | (primarily addressing AD Review comments): | |||
| o Generally corrected references from Section 17.1 to Section 16.1 | o Generally corrected references from Section 17.1 to Section 16.1 | |||
| of Control Channel Framework. | of Control Channel Framework. | |||
| o 4.2.2.1.1: corrected syntax error in example | o 4.2.2.1.1: corrected syntax error in example | |||
| o 4.2.3.1: corrected example by adding conferenceid attribute. | o 4.2.3.1: corrected example by adding conferenceid attribute. | |||
| skipping to change at page 133, line 4 ¶ | skipping to change at page 136, line 48 ¶ | |||
| 'promptandrecord' dialog type | 'promptandrecord' dialog type | |||
| o updated references | o updated references | |||
| The following are the major changes between the -02 of the draft and | The following are the major changes between the -02 of the draft and | |||
| the -01 version. | the -01 version. | |||
| o added version 1.0 to package name | o added version 1.0 to package name | |||
| o separate section for element definitions | o separate section for element definitions | |||
| o dialogterminate treated as request rather than notification | ||||
| o dialogterminate treated as request rather than notification | ||||
| o simplified responses: single element <response> | o simplified responses: single element <response> | |||
| o removed response elements: <dialogprepared>, <dialogstarted>, | o removed response elements: <dialogprepared>, <dialogstarted>, | |||
| <errordialognotprepared>, <errordialognotstarted> | <errordialognotprepared>, <errordialognotstarted> | |||
| o simplified event notifications to single <event> element carried | o simplified event notifications to single <event> element carried | |||
| in a REPORT | in a REPORT | |||
| o <dialogexit> element replaced with <event name="dialogexit"> | o <dialogexit> element replaced with <event name="dialogexit"> | |||
| skipping to change at page 135, line 8 ¶ | skipping to change at page 139, line 8 ¶ | |||
| early versions of this document. | early versions of this document. | |||
| The authors would like to thank the IVR design team consisting of | The authors would like to thank the IVR design team consisting of | |||
| 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, Steve Buko and Jean-Francois Bertrand for expert | Burke, Dan York, Steve Buko, Jean-Francois Bertrand and Henry Lum for | |||
| reviews of this work. | 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. Donald Eastlake | and provided a great deal of invaluable input. Donald Eastlake | |||
| carried out a thorough security review. | 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 | |||
| skipping to change at page 138, line 22 ¶ | skipping to change at page 142, line 22 ¶ | |||
| 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 | |||
| History-Info header is mapped, in reverse order, into an element | History-Info header is mapped, in the order it appeared in the | |||
| of the session.connection.redirect array. Properties of each | History-Info header, into an element of the | |||
| element of the array are determined as follows: | session.connection.redirect array. Properties of each element of | |||
| the array are determined as follows: | ||||
| uri Set to the hi-targeted-to-uri value of the History-Info entry | uri Set to the hi-targeted-to-uri value of the History-Info entry | |||
| pi Set to 'true' if hi-targeted-to-uri contains a | pi Set to 'true' if hi-targeted-to-uri contains a | |||
| 'Privacy=history' parameter, or if the INVITE Privacy header | 'Privacy=history' parameter, or if the INVITE Privacy header | |||
| includes 'history'; 'false' otherwise | includes 'history'; 'false' otherwise | |||
| si Set to the value of the 'si' parameter if it exists, undefined | si Set to the value of the 'si' parameter if it exists, undefined | |||
| otherwise | otherwise | |||
| skipping to change at page 144, line 35 ¶ | skipping to change at page 148, line 35 ¶ | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| January 2004. | January 2004. | |||
| [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. | |||
| [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. | |||
| [RFC4646] Phillips, A. and M. Davis, "Tags for Identifying | ||||
| Languages", 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. | |||
| [RFC5646] Phillips, A. and M. Davis, "Tags for Identifying | ||||
| Languages", BCP 47, RFC 5646, September 2009. | ||||
| [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] | |||
| Bulterman, D., Michel, T., Zucker, D., Jansen, J., | Layaida, N., Mullender, S., Michel, T., Grassel, G., | |||
| Layaida, N., Mullender, S., Grassel, G., and A. Koivisto, | Jansen, J., Koivisto, A., Bulterman, D., and D. Zucker, | |||
| "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 145, line 24 ¶ | skipping to change at page 149, line 24 ¶ | |||
| [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. | |||
| [H.248.9] "Gateway control protocol: Advanced media server | [H.248.9] "Gateway control protocol: Advanced media server | |||
| packages", ITU-T Recommendation H.248.9. | packages", ITU-T Recommendation H.248.9. | |||
| [I-D.ietf-xcon-common-data-model] | [I-D.ietf-xcon-common-data-model] | |||
| Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen, | Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen, | |||
| "Conference Information Data Model for Centralized | "Conference Information Data Model for Centralized | |||
| Conferencing (XCON)", draft-ietf-xcon-common-data-model-14 | Conferencing (XCON)", draft-ietf-xcon-common-data-model-18 | |||
| (work in progress), November 2009. | (work in progress), February 2010. | |||
| [IANA] "IANA registry for RTP Payload Types", | [IANA] "IANA registry for RTP Payload Types", | |||
| <http://www.iana.org/assignments/rtp-parameters>. | <http://www.iana.org/assignments/rtp-parameters>. | |||
| [MIME.mediatypes] | [MIME.mediatypes] | |||
| "IANA registry for MIME Media Types", | "IANA registry for MIME Media Types", | |||
| <http://www.iana.org/assignments/media-types/>. | <http://www.iana.org/assignments/media-types/>. | |||
| [MSML] Saleem, A., Xin, Y., and G. Sharratt, "Media Session | ||||
| Markup Language (MSML)", draft-saleem-msml-09 (work in | ||||
| progress), July 2009. | ||||
| [RFC2897] Cromwell, D., "Proposal for an MGCP Advanced Audio | [RFC2897] Cromwell, D., "Proposal for an MGCP Advanced Audio | |||
| Package", RFC 2897, August 2000. | Package", RFC 2897, August 2000. | |||
| [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | |||
| A., Peterson, J., Sparks, R., Handley, M., and E. | A., Peterson, J., Sparks, R., Handley, M., and E. | |||
| Schooler, "SIP: Session Initiation Protocol", RFC 3261, | Schooler, "SIP: Session Initiation Protocol", RFC 3261, | |||
| June 2002. | June 2002. | |||
| [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network | [RFC4240] Burger, E., Van Dyke, J., and A. Spitzer, "Basic Network | |||
| Media Services with SIP", RFC 4240, December 2005. | Media Services with SIP", RFC 4240, December 2005. | |||
| skipping to change at page 146, line 36 ¶ | skipping to change at page 150, line 31 ¶ | |||
| [RFC4855] Casner, S., "Media Type Registration of RTP Payload | [RFC4855] Casner, S., "Media Type Registration of RTP Payload | |||
| Formats", RFC 4855, February 2007. | Formats", RFC 4855, February 2007. | |||
| [RFC5022] Van Dyke, J., Burger, E., and A. Spitzer, "Media Server | [RFC5022] Van Dyke, J., Burger, E., and A. Spitzer, "Media Server | |||
| Control Markup Language (MSCML) and Protocol", RFC 5022, | Control Markup Language (MSCML) and Protocol", RFC 5022, | |||
| September 2007. | September 2007. | |||
| [RFC5167] Dolly, M. and R. Even, "Media Server Control Protocol | [RFC5167] Dolly, M. and R. Even, "Media Server Control Protocol | |||
| Requirements", RFC 5167, March 2008. | Requirements", RFC 5167, March 2008. | |||
| [RFC5707] Saleem, A., Xin, Y., and G. Sharratt, "Media Server Markup | ||||
| Language (MSML)", RFC 5707, February 2010. | ||||
| [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., | [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. | |||
| End of changes. 43 change blocks. | ||||
| 139 lines changed or deleted | 261 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/ | ||||