| < draft-ietf-mediactrl-ivr-control-package-06.txt | draft-ietf-mediactrl-ivr-control-package-07.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: September 2, 2009 Rain Willow Communications | Expires: May 29, 2010 Rain Willow Communications | |||
| C. Boulton | C. Boulton | |||
| NS-Technologies | NS-Technologies | |||
| March 1, 2009 | November 25, 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-06 | draft-ietf-mediactrl-ivr-control-package-07 | |||
| Abstract | ||||
| This document defines a Media Control Channel Framework Package for | ||||
| Interactive Voice Response (IVR) dialog interaction on media | ||||
| connections and conferences. The package defines dialog management | ||||
| request elements for preparing, starting and terminating dialog | ||||
| interactions, as well as associated responses and notifications. | ||||
| Dialog interactions are specified in a dialog language. This package | ||||
| defines a lightweight IVR dialog language (supporting prompt | ||||
| playback, runtime controls, DTMF collect and media recording) and | ||||
| allows other dialog languages to be used. The package also defines | ||||
| elements for auditing package capabilities and IVR dialogs. | ||||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
| provisions of BCP 78 and BCP 79. This document may contain material | provisions of BCP 78 and BCP 79. | |||
| from IETF Documents or IETF Contributions published or made publicly | ||||
| available before November 10, 2008. The person(s) controlling the | ||||
| copyright in some of this material may not have granted the IETF | ||||
| Trust the right to allow modifications of such material outside the | ||||
| IETF Standards Process. Without obtaining an adequate license from | ||||
| the person(s) controlling the copyright in such materials, this | ||||
| document may not be modified outside the IETF Standards Process, and | ||||
| derivative works of it may not be created outside the IETF Standards | ||||
| Process, except to format it for publication as an RFC or to | ||||
| translate it into languages other than English. | ||||
| 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 September 2, 2009. | This Internet-Draft will expire on May 29, 2010. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents in effect on the date of | Provisions Relating to IETF Documents | |||
| publication of this document (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | ||||
| Abstract | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | ||||
| described in the BSD License. | ||||
| This document defines a Media Control Channel Framework Package for | This document may contain material from IETF Documents or IETF | |||
| Interactive Voice Response (IVR) dialog interaction on media | Contributions published or made publicly available before November | |||
| connections and conferences. The package defines dialog management | 10, 2008. The person(s) controlling the copyright in some of this | |||
| request elements for preparing, starting and terminating dialog | material may not have granted the IETF Trust the right to allow | |||
| interactions, as well as associated responses and notifications. | modifications of such material outside the IETF Standards Process. | |||
| Dialog interactions are specified in a dialog language. This package | Without obtaining an adequate license from the person(s) controlling | |||
| defines a lightweight IVR dialog language (supporting prompt | the copyright in such materials, this document may not be modified | |||
| playback, runtime controls, DTMF collect and media recording) and | outside the IETF Standards Process, and derivative works of it may | |||
| allows other dialog languages to be used. The package also defines | not be created outside the IETF Standards Process, except to format | |||
| elements for auditing package capabilities and IVR dialogs. | it for publication as an RFC or to translate it into languages other | |||
| than English. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 6 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 10 | 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 9 | |||
| 3. Control Package Definition . . . . . . . . . . . . . . . . . 11 | 3. Control Package Definition . . . . . . . . . . . . . . . . . 10 | |||
| 3.1. Control Package Name . . . . . . . . . . . . . . . . . . 11 | 3.1. Control Package Name . . . . . . . . . . . . . . . . . . 10 | |||
| 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 11 | 3.2. Framework Message Usage . . . . . . . . . . . . . . . . . 10 | |||
| 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . 12 | 3.3. Common XML Support . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . 12 | 3.4. CONTROL Message Body . . . . . . . . . . . . . . . . . . 11 | |||
| 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 12 | 3.5. REPORT Message Body . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 3.6. Audit . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 13 | 3.7. Examples . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 14 | 4. Element Definitions . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.1. <mscivr> . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.1. <mscivr> . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 4.2. Dialog Management Elements . . . . . . . . . . . . . . . 16 | 4.2. Dialog Management Elements . . . . . . . . . . . . . . . 15 | |||
| 4.2.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . 19 | 4.2.1. <dialogprepare> . . . . . . . . . . . . . . . . . . . 18 | |||
| 4.2.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . 21 | 4.2.2. <dialogstart> . . . . . . . . . . . . . . . . . . . . 20 | |||
| 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> . . . . . . . . . . . . . . . . . . 28 | 4.2.3. <dialogterminate> . . . . . . . . . . . . . . . . . . 27 | |||
| 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> . . . . . . . . . . . . . . . . . . 32 | 4.2.5.2. <dtmfnotify> . . . . . . . . . . . . . . . . . . 31 | |||
| 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 . . . . . . . . . . . . . . . . . . . 34 | 4.3. IVR Dialog Elements . . . . . . . . . . . . . . . . . . . 33 | |||
| 4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 35 | 4.3.1. <dialog> . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 37 | 4.3.1.1. <prompt> . . . . . . . . . . . . . . . . . . . . 37 | |||
| 4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 39 | 4.3.1.1.1. <variable> . . . . . . . . . . . . . . . . . 38 | |||
| 4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 40 | 4.3.1.1.2. <dtmf> . . . . . . . . . . . . . . . . . . . 40 | |||
| 4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 41 | 4.3.1.1.3. <par> . . . . . . . . . . . . . . . . . . . . 41 | |||
| 4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 43 | 4.3.1.1.3.1. <seq> . . . . . . . . . . . . . . . . . . 42 | |||
| 4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 44 | 4.3.1.2. <control> . . . . . . . . . . . . . . . . . . . . 44 | |||
| 4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 47 | 4.3.1.3. <collect> . . . . . . . . . . . . . . . . . . . . 46 | |||
| 4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 49 | 4.3.1.3.1. <grammar> . . . . . . . . . . . . . . . . . . 49 | |||
| 4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 51 | 4.3.1.4. <record> . . . . . . . . . . . . . . . . . . . . 50 | |||
| 4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 55 | 4.3.1.5. <media> . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 56 | 4.3.2. Exit Information . . . . . . . . . . . . . . . . . . 55 | |||
| 4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 57 | 4.3.2.1. <promptinfo> . . . . . . . . . . . . . . . . . . 56 | |||
| 4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 57 | 4.3.2.2. <controlinfo> . . . . . . . . . . . . . . . . . . 56 | |||
| 4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 57 | 4.3.2.2.1. <controlmatch> . . . . . . . . . . . . . . . 56 | |||
| 4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 57 | 4.3.2.3. <collectinfo> . . . . . . . . . . . . . . . . . . 56 | |||
| 4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 58 | 4.3.2.4. <recordinfo> . . . . . . . . . . . . . . . . . . 57 | |||
| 4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 58 | 4.3.2.4.1. <mediainfo> . . . . . . . . . . . . . . . . . 57 | |||
| 4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 59 | ||||
| 4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 59 | 4.4. Audit Elements . . . . . . . . . . . . . . . . . . . . . 58 | |||
| 4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 60 | 4.4.1. <audit> . . . . . . . . . . . . . . . . . . . . . . . 58 | |||
| 4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 62 | 4.4.2. <auditresponse> . . . . . . . . . . . . . . . . . . . 59 | |||
| 4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 63 | 4.4.2.1. <codecs> . . . . . . . . . . . . . . . . . . . . 61 | |||
| 4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 63 | 4.4.2.1.1. <codec> . . . . . . . . . . . . . . . . . . . 62 | |||
| 4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 65 | 4.4.2.2. <capabilities> . . . . . . . . . . . . . . . . . 62 | |||
| 4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 66 | 4.4.2.2.1. <dialoglanguages> . . . . . . . . . . . . . . 64 | |||
| 4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 66 | 4.4.2.2.2. <grammartypes> . . . . . . . . . . . . . . . 65 | |||
| 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 66 | 4.4.2.2.3. <recordtypes> . . . . . . . . . . . . . . . . 65 | |||
| 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 67 | 4.4.2.2.4. <prompttypes> . . . . . . . . . . . . . . . . 65 | |||
| 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 67 | 4.4.2.2.5. <variables> . . . . . . . . . . . . . . . . . 66 | |||
| 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 68 | 4.4.2.2.5.1. <variabletype> . . . . . . . . . . . . . 66 | |||
| 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 68 | 4.4.2.2.6. <maxpreparedduration> . . . . . . . . . . . . 67 | |||
| 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 68 | 4.4.2.2.7. <maxrecordduration> . . . . . . . . . . . . . 67 | |||
| 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 68 | 4.4.2.3. <dialogs> . . . . . . . . . . . . . . . . . . . . 67 | |||
| 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 69 | 4.4.2.3.1. <dialogaudit> . . . . . . . . . . . . . . . . 67 | |||
| 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 76 | 4.5. Response Status Codes . . . . . . . . . . . . . . . . . . 68 | |||
| 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 78 | 4.6. Type Definitions . . . . . . . . . . . . . . . . . . . . 74 | |||
| 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 105 | 5. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . 76 | |||
| 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 105 | 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 103 | |||
| 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 105 | 6.1. AS-MS Dialog Interaction Examples . . . . . . . . . . . . 103 | |||
| 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 106 | 6.1.1. Starting an IVR dialog . . . . . . . . . . . . . . . 103 | |||
| 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 106 | 6.1.2. IVR dialog fails to start . . . . . . . . . . . . . . 104 | |||
| 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 107 | 6.1.3. Preparing and starting an IVR dialog . . . . . . . . 104 | |||
| 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 108 | 6.1.4. Terminating a dialog . . . . . . . . . . . . . . . . 105 | |||
| 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 108 | 6.2. IVR Dialog Examples . . . . . . . . . . . . . . . . . . . 106 | |||
| 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 109 | 6.2.1. Playing announcements . . . . . . . . . . . . . . . . 106 | |||
| 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 111 | 6.2.2. Prompt and collect . . . . . . . . . . . . . . . . . 107 | |||
| 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 112 | 6.2.3. Prompt and record . . . . . . . . . . . . . . . . . . 109 | |||
| 6.2.5. Subscriptions and notifications . . . . . . . . . . . 113 | 6.2.4. Runtime controls . . . . . . . . . . . . . . . . . . 110 | |||
| 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 113 | 6.2.5. Subscriptions and notifications . . . . . . . . . . . 111 | |||
| 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 114 | 6.3. Other Dialog Languages . . . . . . . . . . . . . . . . . 111 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 117 | 6.4. Foreign Namespace Attributes and Elements . . . . . . . . 112 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 120 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 115 | |||
| 8.1. Control Package Registration . . . . . . . . . . . . . . 120 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 118 | |||
| 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 120 | 8.1. Control Package Registration . . . . . . . . . . . . . . 118 | |||
| 8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 121 | 8.2. URN Sub-Namespace Registration . . . . . . . . . . . . . 118 | |||
| 8.3. XML Schema Registration . . . . . . . . . . . . . . . . . 119 | ||||
| 8.4. MIME Media Type Registration for | 8.4. MIME Media Type Registration for | |||
| 'application/msc-ivr+xml' . . . . . . . . . . . . . . . . 121 | 'application/msc-ivr+xml' . . . . . . . . . . . . . . . . 119 | |||
| 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 123 | 9. Change Summary . . . . . . . . . . . . . . . . . . . . . . . 121 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 135 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 134 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 136 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 135 | |||
| 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 137 | 12. Appendix A: Using VoiceXML as a dialog language . . . . . . . 136 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 145 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 144 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 145 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 144 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 146 | 13.2. Informative References . . . . . . . . . . . . . . . . . 145 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 148 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 147 | |||
| 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 8, line 12 ¶ | skipping to change at page 7, line 12 ¶ | |||
| Media Control Channel Framework CONTROL message sent to the media | Media Control Channel Framework CONTROL message sent to the media | |||
| server. When the appropriate action has been executed, the media | server. When the appropriate action has been executed, the media | |||
| server sends a REPORT message (or a 200 response to the CONTROL if it | server sends a REPORT message (or a 200 response to the CONTROL if it | |||
| can execute in time) with a response element indicating whether the | can execute in time) with a response element indicating whether the | |||
| operation was successful or not (e.g. if the dialog cannot be | operation was successful or not (e.g. if the dialog cannot be | |||
| started, then the error is reported in this response). Once a dialog | started, then the error is reported in this response). Once a dialog | |||
| has been successfully started, the media server can send further | has been successfully started, the media server can send further | |||
| event notifications in a framework CONTROL message. This package | event notifications in a framework CONTROL message. This package | |||
| defines two event notifications: a DTMF event indicating the DTMF | defines two event notifications: a DTMF event indicating the DTMF | |||
| activity; and a dialogexit event indicating that the dialog has | activity; and a dialogexit event indicating that the dialog has | |||
| exited. If the dialog has executed successful, the dialogexit event | exited. If the dialog has executed successfully, the dialogexit | |||
| includes information collected during the dialog. If an error occurs | event includes information collected during the dialog. If an error | |||
| during execution (e.g. a media resource failed to play, no recording | occurs during execution (e.g. a media resource failed to play, no | |||
| resource available, etc), then error information is reported in the | recording resource available, etc), then error information is | |||
| dialogexit event. Once a dialogexit event is sent, the dialog | reported in the dialogexit event. Once a dialogexit event is sent, | |||
| lifecycle is terminated. | the dialog lifecycle is terminated. | |||
| The dialog management elements for preparing and starting a dialog | The dialog management elements for preparing and starting a dialog | |||
| specify the dialog using a dialog language. A dialog language has | specify the dialog using a dialog language. A dialog language has | |||
| well-defined syntax and semantics for defined dialog operations. | well-defined syntax and semantics for defined dialog operations. | |||
| Typically dialog languages are written in XML where the root element | Typically dialog languages are written in XML where the root element | |||
| has a designated XML namespace and, when used as standalone | has a designated XML namespace and, when used as standalone | |||
| documents, have an associated MIME media type. For example, VoiceXML | documents, have an associated MIME media type. For example, VoiceXML | |||
| is an XML dialog language with the root element <vxml> with the | is an XML dialog language with the root element <vxml> with the | |||
| designated namespace 'http://www.w3.org/2001/vxml' and standalone | designated namespace 'http://www.w3.org/2001/vxml' and standalone | |||
| documents are associated with the MIME media type 'application/ | documents are associated with the MIME media type 'application/ | |||
| skipping to change at page 12, line 13 ¶ | skipping to change at page 11, line 13 ¶ | |||
| notification to the AS (Control Server). Event notifications | notification to the AS (Control Server). Event notifications | |||
| (Section 4.2.5) are carried in CONTROL message bodies. The AS MUST | (Section 4.2.5) are carried in CONTROL message bodies. The AS MUST | |||
| respond with a Control Framework 200 response. | respond with a Control Framework 200 response. | |||
| 3.3. Common XML Support | 3.3. Common XML Support | |||
| The Control Framework requires a Control Package definition to | The Control Framework requires a Control Package definition to | |||
| specify if the attributes for media dialog or conference references | specify if the attributes for media dialog or conference references | |||
| are required. | are required. | |||
| This package requires that the XML Schema in Section 17.1 of | This package requires that the XML Schema in Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework] MUST be supported for | [I-D.ietf-mediactrl-sip-control-framework] MUST be supported for | |||
| media dialogs and conferences. | media dialogs and conferences. | |||
| The package uses "connectionid" and "conferenceid" attributes for | The package uses "connectionid" and "conferenceid" attributes for | |||
| various element definitions (Section 4). The XML schema (Section 5) | various element definitions (Section 4). The XML schema (Section 5) | |||
| imports the definitions of these attributes from the framework | imports the definitions of these attributes from the framework | |||
| schema. | schema. | |||
| 3.4. CONTROL Message Body | 3.4. CONTROL Message Body | |||
| skipping to change at page 14, line 19 ¶ | skipping to change at page 13, line 19 ¶ | |||
| The root element is <mscivr> (Section 4.1). All other XML elements | The root element is <mscivr> (Section 4.1). All other XML elements | |||
| (requests, responses and notification elements) are contained within | (requests, responses and notification elements) are contained within | |||
| it. Child elements describe dialog management (Section 4.2) and | it. Child elements describe dialog management (Section 4.2) and | |||
| audit (Section 4.4) functionality. The IVR dialog element (contained | audit (Section 4.4) functionality. The IVR dialog element (contained | |||
| within dialog management elements) is defined in Section 4.3. | within dialog management elements) is defined in Section 4.3. | |||
| Response status codes are defined in Section 4.5 and type definitions | Response status codes are defined in Section 4.5 and type definitions | |||
| in Section 4.6. | in Section 4.6. | |||
| Implementation of this control package MUST address the Security | Implementation of this control package MUST address the Security | |||
| Considerations described in Section 7 ). | Considerations described in Section 7. | |||
| Implementation of this control package MUST adhere to the syntax and | Implementation of this control package MUST adhere to the syntax and | |||
| semantics of XML elements defined in this section and the schema | semantics of XML elements defined in this section and the schema | |||
| (Section 5). Since XML Schema is unable to support some types of | (Section 5). Since XML Schema is unable to support some types of | |||
| syntactic constraints (such as attribute and element co-occurrence), | syntactic constraints (such as attribute and element co-occurrence), | |||
| some elements in this package specify additional syntactic | some elements in this package specify additional syntactic | |||
| constraints in their textual definition. If there is a difference in | constraints in their textual definition. If there is a difference in | |||
| constraints between the XML schema and the textual description of | constraints between the XML schema and the textual description of | |||
| elements in this section, the textual definition takes priority. | elements in this section, the textual definition takes priority. | |||
| skipping to change at page 15, line 35 ¶ | skipping to change at page 14, line 35 ¶ | |||
| <audit> audit package capabilities and managed dialogs. See | <audit> audit package capabilities and managed dialogs. See | |||
| Section 4.4.1 | Section 4.4.1 | |||
| <auditresponse> response to an audit request. See Section 4.4.2 | <auditresponse> response to an audit request. See Section 4.4.2 | |||
| For example, a request to the MS to start an IVR dialog playing a | For example, a request to the MS to start an IVR dialog playing a | |||
| prompt: | prompt: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="ssd3r3~sds345b"> | <dialogstart connectionid="ssd3r3:sds345b"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/welcome.wav"/> | <media loc="http://www.example.com/welcome.wav"/> | |||
| </prompt> | </prompt> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| and a response from the MS that the dialog started successfully: | and a response from the MS that the dialog started successfully: | |||
| skipping to change at page 19, line 48 ¶ | skipping to change at page 18, line 48 ¶ | |||
| dialog document and resources (if required), and (b) validating the | dialog document and resources (if required), and (b) validating the | |||
| dialog document syntactically and semantically. | 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). If the URI | prepare. A valid value is a URI (see Section 4.6.9) including | |||
| scheme is unsupported, the MS sends a <response> with a 420 status | authentication information if defined by the URI scheme (e.g. | |||
| code (Section 4.5). If the document cannot be retrieved within | basic access authentication in HTTP). If the URI scheme is | |||
| the timeout interval, the MS sends a <response> with a 409 status | unsupported, the MS sends a <response> with a 420 status code | |||
| (Section 4.5). If the document cannot be retrieved within the | ||||
| timeout interval, the MS sends a <response> with a 409 status | ||||
| code. If the document contains a type of dialog language which | code. If the document contains a type of dialog language which | |||
| the MS does not supported, the MS sends a <response> with a 421 | the MS does not supported, the MS sends a <response> with a 421 | |||
| status code. The attribute is optional. There is no default | status code. The attribute is optional. There is no default | |||
| value. | value. | |||
| type: specifies the type of the external dialog document indicated | type: specifies the type of the external dialog document indicated | |||
| in the 'src' attribute. A valid value is a MIME media type (see | in the 'src' attribute. A valid value is a MIME media type (see | |||
| Section 4.6.10). If the URI scheme used in the src attribute | Section 4.6.10). If the URI scheme used in the src attribute | |||
| defines a mechanism for establishing the authoratitive MIME media | defines a mechanism for establishing the authoratitive MIME media | |||
| type of the media resource, the value returned by that mechanism | type of the media resource, the value returned by that mechanism | |||
| takes precedence over this attribute. The attribute is optional. | takes precedence over this attribute. The attribute is optional. | |||
| There is no default value. | There is no default value. | |||
| maxage: Used to set the max-age value of the Cache-Control header in | ||||
| conjunction with an external dialog document fetched using HTTP, | ||||
| as per [RFC2616]. A valid value is a non-negative integer (see | ||||
| Section 4.6.4). The attribute is optional. There is no default | ||||
| value. | ||||
| maxstale: Used to set the max-stale value of the Cache-Control | ||||
| header in conjunction with an external dialog document fetched | ||||
| using HTTP, as per [RFC2616]. A valid value is a non-negative | ||||
| integer (see Section 4.6.4). The attribute is optional. There is | ||||
| no default value. | ||||
| fetchtimeout: the maximum timeout interval to wait when fetching an | fetchtimeout: the maximum timeout interval to wait when fetching an | |||
| external dialog document. A valid value is a Time Designation | external dialog document. A valid value is a Time Designation | |||
| (see Section 4.6.7). The attribute is optional. The default | (see Section 4.6.7). The attribute is optional. The default | |||
| value is 30s. | value is 30s. | |||
| dialogid: string indicating a unique name for the dialog. If a | dialogid: string indicating a unique name for the dialog. If a | |||
| dialog with the same name already exists on the MS, the MS sends a | dialog with the same name already exists on the MS, the MS sends a | |||
| <response> with a 405 status code (Section 4.5). If this | <response> with a 405 status code (Section 4.5). If this | |||
| attribute is not specified, the MS MUST create a unique name for | attribute is not specified, the MS MUST create a unique name for | |||
| the dialog (see Section 4.2 for dialog identifier assignment). | the dialog (see Section 4.2 for dialog identifier assignment). | |||
| skipping to change at page 20, line 45 ¶ | skipping to change at page 20, line 11 ¶ | |||
| languages defined outside this specification. The element is | languages defined outside this specification. The element is | |||
| optional. If a parameter is not supported by the MS for the | optional. If a parameter is not supported by the MS for the | |||
| external dialog language, the MS sends a <response> with a 427 | external dialog language, the MS sends a <response> with a 427 | |||
| status code (Section 4.5). | status code (Section 4.5). | |||
| The dialog to prepare can either be specified inline with a <dialog> | The dialog to prepare can either be specified inline with a <dialog> | |||
| child element or externally (for dialog languages defined outside | child element or externally (for dialog languages defined outside | |||
| this specification) using the src attribute. It is a syntax error if | this specification) using the src attribute. It is a syntax error if | |||
| both an inline <dialog> element element and a src attribute are | both an inline <dialog> element element and a src attribute are | |||
| specified and the MS sends a <response> with a 400 status code (see | specified and the MS sends a <response> with a 400 status code (see | |||
| Section 4.5). The type and fetchtimeout attributes are only relevant | Section 4.5). The type, maxage, maxstale and fetchtimeout attributes | |||
| when a dialog is specified as an external document. | are only relevant when a dialog is specified as an external document. | |||
| For example, a <dialogprepare> request to prepare an inline IVR | For example, a <dialogprepare> request to prepare an inline IVR | |||
| dialog with a single prompt: | dialog with a single prompt: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogprepare> | <dialogprepare> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/welcome.wav"/> | <media loc="http://www.example.com/welcome.wav"/> | |||
| </prompt> | </prompt> | |||
| skipping to change at page 21, line 42 ¶ | skipping to change at page 21, line 6 ¶ | |||
| 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 | an external document and resources if necessary, and the dialog | |||
| document validated syntactically and semantically). Media processors | document validated syntactically and semantically). Media processors | |||
| (e.g. DTMF and prompt queue) are activated and associated with the | (e.g. DTMF and prompt queue) are activated and associated with the | |||
| specified connection or conference. | 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). If the URI scheme is | A valid value is a URI (see Section 4.6.9) including | |||
| authentication information if defined by the URI scheme (e.g. | ||||
| 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 | |||
| code. If the document contains a type of dialog language which | code. If the document contains a type of dialog language which | |||
| the MS does not supported, the MS sends a <response> with a 421 | the MS does not supported, the MS sends a <response> with a 421 | |||
| status code. The attribute is optional. There is no default | status code. The attribute is optional. There is no default | |||
| value. | value. | |||
| type: specifies the type of the external dialog document indicated | type: specifies the type of the external dialog document indicated | |||
| in the 'src' attribute. A valid value is a MIME media type (see | in the 'src' attribute. A valid value is a MIME media type (see | |||
| Section 4.6.10). If the URI scheme used in the src attribute | Section 4.6.10). If the URI scheme used in the src attribute | |||
| defines a mechanism for establishing the authoratitive MIME media | defines a mechanism for establishing the authoratitive MIME media | |||
| type of the media resource, the value returned by that mechanism | type of the media resource, the value returned by that mechanism | |||
| takes precedence over this attribute. The attribute is optional. | takes precedence over this attribute. The attribute is optional. | |||
| There is no default value. | There is no default value. | |||
| maxage: Used to set the max-age value of the Cache-Control header in | ||||
| conjunction with an external dialog document fetched using HTTP, | ||||
| as per [RFC2616]. A valid value is a non-negative integer (see | ||||
| Section 4.6.4). The attribute is optional. There is no default | ||||
| value. | ||||
| maxstale: Used to set the max-stale value of the Cache-Control | ||||
| header in conjunction with an external dialog document fetched | ||||
| using HTTP, as per [RFC2616]. A valid value is a non-negative | ||||
| integer (see Section 4.6.4). The attribute is optional. There is | ||||
| no default value. | ||||
| fetchtimeout: the maximum timeout interval to wait when fetching an | fetchtimeout: the maximum timeout interval to wait when fetching an | |||
| external dialog document. A valid value is a Time Designation | external dialog document. A valid value is a Time Designation | |||
| (see Section 4.6.7). The attribute is optional. The default | (see Section 4.6.7). The attribute is optional. The default | |||
| value is 30s. | value is 30s. | |||
| dialogid: string indicating a unique name for the dialog. If a | dialogid: string indicating a unique name for the dialog. If a | |||
| dialog with the same name already exists on the MS, the MS sends a | dialog with the same name already exists on the MS, the MS sends a | |||
| <response> with a 405 status code (Section 4.5). If neither the | <response> with a 405 status code (Section 4.5). If neither the | |||
| dialogid attribute nor the prepareddialogid attribute is | dialogid attribute nor the prepareddialogid attribute is | |||
| specified, the MS MUST create a unique name for the dialog (see | specified, the MS MUST create a unique name for the dialog (see | |||
| skipping to change at page 22, line 34 ¶ | skipping to change at page 22, line 13 ¶ | |||
| optional. There is no default value. | optional. There is no default value. | |||
| prepareddialogid: string identifying a dialog previously prepared | prepareddialogid: string identifying a dialog previously prepared | |||
| using a dialogprepare (Section 4.2.1) request. If neither the | using a dialogprepare (Section 4.2.1) request. If neither the | |||
| dialogid attribute nor the prepareddialogid attribute is | dialogid attribute nor the prepareddialogid attribute is | |||
| specified, the MS MUST create a unique name for the dialog (see | specified, the MS MUST create a unique name for the dialog (see | |||
| Section 4.2 for dialog identifier assignment). The attribute is | Section 4.2 for dialog identifier assignment). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| connectionid: string identifying the SIP dialog connection on which | connectionid: string identifying the SIP dialog connection on which | |||
| this dialog is to be started (see Section 17.1 of | this dialog is to be started (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| conferenceid: string identifying the conference on which this dialog | conferenceid: string identifying the conference on which this dialog | |||
| is to be started (see Section 17.1 of | is to be started (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| Exactly one of the connectionid or conferenceid attributes MUST be | Exactly one of the connectionid or conferenceid attributes MUST be | |||
| specified. If both connectionid and conferenceid attributes are | specified. If both connectionid and conferenceid attributes are | |||
| specified or neither are specified, it is a syntax error and the MS | specified or neither are specified, it is a syntax error and the MS | |||
| sends a <response> with a 400 status code (Section 4.5). | sends a <response> with a 400 status code (Section 4.5). | |||
| It is an error if the connection or conference referenced by a | It is an error if the connection or conference referenced by a | |||
| specific connectionid or conferenceid attribute is not available on | specific connectionid or conferenceid attribute is not available on | |||
| skipping to change at page 23, line 35 ¶ | skipping to change at page 23, line 14 ¶ | |||
| The dialog to start can be specified either (a) inline with a | The dialog to start can be specified either (a) inline with a | |||
| <dialog> child element, or (b) externally using the src attribute | <dialog> child element, or (b) externally using the src attribute | |||
| (for dialog languages defined outside this specification), or (c) | (for dialog languages defined outside this specification), or (c) | |||
| reference a previously prepared dialog using the prepareddialogid | reference a previously prepared dialog using the prepareddialogid | |||
| attribute. If exactly one of the src attribute, the prepareddialogid | attribute. If exactly one of the src attribute, the prepareddialogid | |||
| or a <dialog> child element is not specified, it is a syntax error | or a <dialog> child element is not specified, it is a syntax error | |||
| and the MS sends a <response> with a 400 status code (Section 4.5). | and the MS sends a <response> with a 400 status code (Section 4.5). | |||
| If the prepareddialogid and dialogid attributes are specified, it is | If the prepareddialogid and dialogid attributes are specified, it is | |||
| also a syntax error and the MS sends a <response> with a 400 status | also a syntax error and the MS sends a <response> with a 400 status | |||
| code. The type and fetchtimeout attributes are only relevant when a | code. The type, maxage, maxstale and fetchtimeout attributes are | |||
| dialog is specified as an external document. | only relevant when a dialog is specified as an external document. | |||
| The <stream> element provides explicit control over which media | The <stream> element provides explicit control over which media | |||
| streams on the connection or conference are used during dialog | streams on the connection or conference are used during dialog | |||
| execution. For example, if a connection supports both audio and | execution. For example, if a connection supports both audio and | |||
| video streams, a <stream> element could be used to indicate that only | video streams, a <stream> element could be used to indicate that only | |||
| the audio stream is used in receive mode. In cases where there are | the audio stream is used in receive mode. In cases where there are | |||
| multiple media streams of the same type for a dialog, the AS MUST use | multiple media streams of the same type for a dialog, the AS MUST use | |||
| <stream> elements to explicitly specify the configuration. If no | <stream> elements to explicitly specify the configuration. If no | |||
| <stream> elements are specified, then the default media configuration | <stream> elements are specified, then the default media configuration | |||
| is that defined for the connection or conference. | is that defined for the connection or conference. | |||
| If a <stream> element is in conflict with (a) another <stream> | If a <stream> element is in conflict with (a) another <stream> | |||
| element, (b) with specified connection or conference media | element, (b) with specified connection or conference media | |||
| capabilities, (c) with a SDP label value as part of the connectionid | capabilities, (c) with a SDP label value as part of the connectionid | |||
| (see Section 17.1 of [I-D.ietf-mediactrl-sip-control-framework]) then | (see Section 16.1 of [I-D.ietf-mediactrl-sip-control-framework]) then | |||
| the MS sends a <response> with a 411 status code (Section 4.5). If | the MS sends a <response> with a 411 status code (Section 4.5). If | |||
| the media stream configuration is not supported by the MS, then the | the media stream configuration is not supported by the MS, then the | |||
| MS sends a <response> with a 428 status code (Section 4.5). | MS sends a <response> with a 428 status code (Section 4.5). | |||
| The MS MAY support multiple, simultaneous dialogs being started on | The MS MAY support multiple, simultaneous dialogs being started on | |||
| the same connection or conference. For example, the same connection | the same connection or conference. For example, the same connection | |||
| can receive different media streams (e.g. audio and video) from | can receive different media streams (e.g. audio and video) from | |||
| different dialogs, or receive (and implicitly mix where appropriate) | different dialogs, or receive (and implicitly mix where appropriate) | |||
| the same type of media streams from different dialogs. If the MS | the same type of media streams from different dialogs. If the MS | |||
| does not support starting another dialog on the same connection or | does not support starting another dialog on the same connection or | |||
| skipping to change at page 24, line 35 ¶ | skipping to change at page 24, line 19 ¶ | |||
| <media loc="http://www.example.com/getpin.wav"/> | <media loc="http://www.example.com/getpin.wav"/> | |||
| </prompt> | </prompt> | |||
| <collect maxdigits="2"/> | <collect maxdigits="2"/> | |||
| </dialog> | </dialog> | |||
| <subscribe> | <subscribe> | |||
| <dmtfsub matchmode="all"/> | <dmtfsub matchmode="all"/> | |||
| </subscribe> | </subscribe> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| In this example, the dialog is started on a conference where only | In this example, the dialog is started on a conference where the | |||
| audio media stream is received: | conference only receives an audio media stream from the dialog: | |||
| <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> | |||
| <record maxtime="384000s"/> | <record maxtime="384000s"/> | |||
| </dialog> | </dialog> | |||
| <stream media="audio" direction="recvonly"/> | <stream media="audio" direction="recvonly"/> | |||
| </mscivr> | </mscivr> | |||
| 4.2.2.1. <subscribe> | 4.2.2.1. <subscribe> | |||
| skipping to change at page 25, line 13 ¶ | skipping to change at page 24, line 45 ¶ | |||
| <event> element (see Section 4.2.5). | <event> element (see Section 4.2.5). | |||
| The <subscribe> element has no attributes. | The <subscribe> element has no attributes. | |||
| The <subscribe> element has the following sequence of child elements | The <subscribe> element has the following sequence of child elements | |||
| (0 or more occurrences): | (0 or more occurrences): | |||
| <dtmfsub>: Subscription to DTMF input during the dialog | <dtmfsub>: Subscription to DTMF input during the dialog | |||
| (Section 4.2.2.1.1). The element is optional. | (Section 4.2.2.1.1). The element is optional. | |||
| If a request has <subscribe> with no child elements, the MS treats | ||||
| the request as if no <subscribe> element was specified. | ||||
| The MS MUST support <dtmfsub> subscription for the IVR dialog | The MS MUST support <dtmfsub> subscription for the IVR dialog | |||
| language defined in this specification (Section 4.3). It MAY support | language defined in this specification (Section 4.3). It MAY support | |||
| other dialog subscriptions (specified using attributes and child | other dialog subscriptions (specified using attributes and child | |||
| elements from a foreign namespace). If the MS does not support a | elements from a foreign namespace). If the MS does not support a | |||
| subscription specified in a foreign namespace, the MS sends a | subscription specified in a foreign namespace, the MS sends a | |||
| response with a 431 status code (see Section 4.5). | response with a 431 status code (see Section 4.5). | |||
| 4.2.2.1.1. <dtmfsub> | 4.2.2.1.1. <dtmfsub> | |||
| The <dtmfsub> element has the following attributes: | The <dtmfsub> element has the following attributes: | |||
| skipping to change at page 26, line 4 ¶ | skipping to change at page 25, line 39 ¶ | |||
| <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"/> | <dmtfnotify 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" | |||
| timestamp="2008-05-12T12:13:14Z"/> | timestamp="2008-05-12T12:13:14Z"/> | |||
| /event> | </event> | |||
| </mscivr> | </mscivr> | |||
| 4.2.2.2. <stream> | 4.2.2.2. <stream> | |||
| The <stream> element has the following attributes: | The <stream> element has the following attributes: | |||
| 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. | relative to the endpoint conference or connection. Defined values | |||
| Defined values are: "sendrecv" (the dialog can send and receive | are: "sendrecv" (the endpoint can send media to, and receive media | |||
| media), "sendonly" (the dialog can only send media), "recvonly" | from, the dialog), "sendonly" (the endpoint can only send media to | |||
| (the dialog can only receive media) and "inactive" (stream is not | the dialog), "recvonly" (the endpoint can only receive media from | |||
| to be used). The default value is "sendrecv". The attribute is | the dialog) and "inactive" (stream is not to be used). The | |||
| optional. | 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 27, line 12 ¶ | skipping to change at page 26, line 51 ¶ | |||
| this case, the dialog could be started to record only the audio and | this case, the dialog could be started to record only the audio and | |||
| video streams associated with the user: | video streams associated with the user: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="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="recvonly"/> | <stream media="audio" label="useraudio" direction="sendonly"/> | |||
| <stream media="video" label="uservideo" direction="recvonly"/> | <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="sendonly"> | <stream media="video" direction="recvonly"> | |||
| <region>r1</region> | <region>r1</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 | |||
| skipping to change at page 29, line 20 ¶ | skipping to change at page 29, line 14 ¶ | |||
| dialogid: string identifying the dialog. If the request specifies a | dialogid: string identifying the dialog. If the request specifies a | |||
| dialogid, then that value is used. Otherwise, with | dialogid, then that value is used. Otherwise, with | |||
| <dialogprepare> and <dialogstart> requests, the dialogid generated | <dialogprepare> and <dialogstart> requests, the dialogid generated | |||
| by the MS is used. If there is no available dialogid because the | by the MS is used. If there is no available dialogid because the | |||
| request is syntactically invalid (e.g. a <dialogterminate> request | request is syntactically invalid (e.g. a <dialogterminate> request | |||
| with no dialogid attribute specified), then the value is the empty | with no dialogid attribute specified), then the value is the empty | |||
| string. The attribute is mandatory. | string. The attribute is mandatory. | |||
| connectionid: string identifying the SIP dialog connection | connectionid: string identifying the SIP dialog connection | |||
| associated with the dialog (see Section 17.1 of | associated with the dialog (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| conferenceid: string identifying the conference associated with the | conferenceid: string identifying the conference associated with the | |||
| dialog (see Section 17.1 of | dialog (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| For example, a response when a dialog was prepared successfully: | For example, a response when a dialog was prepared successfully: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <response status="200" dialogid="d5"/> | <response status="200" dialogid="d5"/> | |||
| </mscivr> | </mscivr> | |||
| The response if dialog preparation failed due to an unsupported | The response if dialog preparation failed due to an unsupported | |||
| skipping to change at page 31, line 10 ¶ | skipping to change at page 30, line 50 ¶ | |||
| 1 indicates successful completion of the dialog. | 1 indicates successful completion of the dialog. | |||
| 2 indicates the dialog terminated because the connection or | 2 indicates the dialog terminated because the connection or | |||
| conference associated with the dialog has terminated. | conference associated with the dialog has terminated. | |||
| 3 indicates the dialog terminated due to exceeding its maximum | 3 indicates the dialog terminated due to exceeding its maximum | |||
| duration. | duration. | |||
| 4 indicates the dialog terminated due to an execution error. | 4 indicates the dialog terminated due to an execution error. | |||
| 5 Reserved for future use. | All other valid but undefined values are reserved for future use, | |||
| where a standards-track RFC is required to define new status | ||||
| 6 Reserved for future use. | codes. The AS MUST treat any status code it does not recognize as | |||
| being equivalent to 4 (dialog execution error). The attribute is | ||||
| 7 Reserved for future use. | mandatory. | |||
| 8 Reserved for future use. | ||||
| 9 Reserved for future use. | ||||
| The MS MAY define other values. The AS MUST treat any status code | ||||
| it does not recognize as being equivalent to 4 (dialog execution | ||||
| error). The attribute is mandatory. | ||||
| reason: a textual description which the MS SHOULD use to provide a | reason: a textual description which the MS SHOULD use to provide a | |||
| reason for the status code; e.g. details about an error. A valid | reason for the status code; e.g. details about an error. A valid | |||
| value is a string (see Section 4.6.6). The attribute is optional. | value is a string (see Section 4.6.6). The attribute is optional. | |||
| There is no default value. | There is no default value. | |||
| The <dialogexit> element has the following sequence of child | The <dialogexit> element has the following sequence of child | |||
| elements: | elements: | |||
| <promptinfo>: report information (Section 4.3.2.1) about the prompt | <promptinfo>: report information (Section 4.3.2.1) about the prompt | |||
| skipping to change at page 33, line 35 ¶ | skipping to change at page 33, line 19 ¶ | |||
| The <param> element has the following attributes: | The <param> element has the following attributes: | |||
| name: a string indicating the name of the parameter. The attribute | name: a string indicating the name of the parameter. The attribute | |||
| is mandatory. | is mandatory. | |||
| type: specifies a type indicating how the inline value of the | type: specifies a type indicating how the inline value of the | |||
| parameter is to be interpreted. A valid value is a MIME media | parameter is to be interpreted. A valid value is a MIME media | |||
| type (see Section 4.6.10). The attribute is optional. The | type (see Section 4.6.10). The attribute is optional. The | |||
| default value is "text/plain". | default value is "text/plain". | |||
| The <param> element content model is the value of the parameter. | The <param> element content model (text and/or XML) is the value of | |||
| Note that a value which contains XML characters (e.g. "<") needs to | the parameter. Values in XML format MUST use a namespace other than | |||
| be escaped following standard XML conventions. | the one used in this specification. Note that a text value which | |||
| contains XML characters (e.g. "<") needs to be escaped following | ||||
| standard XML conventions. | ||||
| For example, usage with a dialog language defined outside this | For example, usage with a dialog language defined outside this | |||
| specification to receive parameters from the dialog when it exits: | specification to receive parameters from the dialog when it exits: | |||
| <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="d6"/> | <event dialogid="d6"/> | |||
| <dialogexit status="1"> | <dialogexit status="1"> | |||
| <params> | <params> | |||
| <param name="mode">recording</param> | <param name="mode">recording</param> | |||
| <param name="recording1" type="audio/x-wav"> | <param name="recording1" type="audio/x-wav"> | |||
| skipping to change at page 50, line 6 ¶ | skipping to change at page 49, line 17 ¶ | |||
| 4.3.1.3.1. <grammar> | 4.3.1.3.1. <grammar> | |||
| The <grammar> element allows a custom grammar, inline or external, to | The <grammar> element allows a custom grammar, inline or external, to | |||
| be specified. Custom grammars permit the full range of DTMF | be specified. Custom grammars permit the full range of DTMF | |||
| characters including '*' and '#' to be specified for DTMF pattern | characters including '*' and '#' to be specified for DTMF pattern | |||
| matching. | matching. | |||
| The <grammar> element has the following attributes: | The <grammar> element has the following attributes: | |||
| src: specifies the location of an external grammar document. A | src: specifies the location of an external grammar document. A | |||
| valid value is a URI (see Section 4.6.9). If the URI scheme is | valid value is a URI (see Section 4.6.9) including authentication | |||
| unsupported, the MS sends a <response> with a 420 status code | information if defined by the URI scheme (e.g. basic access | |||
| (Section 4.5). If the resource cannot be retrieved within the | authentication in HTTP). If the URI scheme is unsupported, the MS | |||
| timeout interval, the MS sends a <response> with a 409 status | sends a <response> with a 420 status code (Section 4.5). If the | |||
| code. If the grammar format is not supported, the MS sends a | resource cannot be retrieved within the timeout interval, the MS | |||
| <response> with a 424 status code. The attribute is optional. | sends a <response> with a 409 status code. If the grammar format | |||
| There is no default value. | is not supported, the MS sends a <response> with a 424 status | |||
| code. The attribute is optional. There is no default value. | ||||
| type: identifies the preferred type of the grammar document | type: identifies the preferred type of the grammar document | |||
| identified by the src attribute. A valid value is a MIME media | identified by the src attribute. A valid value is a MIME media | |||
| type (see Section 4.6.10). If the URI scheme used in the src | type (see Section 4.6.10). If the URI scheme used in the src | |||
| attribute defines a mechanism for establishing the authoratitive | attribute defines a mechanism for establishing the authoratitive | |||
| MIME media type of the media resource, the value returned by that | MIME media type of the media resource, the value returned by that | |||
| mechanism takes precedence over this attribute. The attribute is | mechanism takes precedence over this attribute. The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| fetchtimeout: the maximum interval to wait when fetching a grammar | fetchtimeout: the maximum interval to wait when fetching a grammar | |||
| skipping to change at page 69, line 6 ¶ | skipping to change at page 68, line 6 ¶ | |||
| The <dialogaudit> element has the following attributes: | The <dialogaudit> element has the following attributes: | |||
| dialogid: string identifying the dialog. The attribute is | dialogid: string identifying the dialog. The attribute is | |||
| mandatory. | mandatory. | |||
| state: string indicating the state of the dialog. Valid values are: | state: string indicating the state of the dialog. Valid values are: | |||
| preparing, prepared, starting, started. The attribute is | preparing, prepared, starting, started. The attribute is | |||
| mandatory. | mandatory. | |||
| connectionid: string identifying the SIP dialog connection | connectionid: string identifying the SIP dialog connection | |||
| associated with the dialog (see Section 17.1 of | associated with the dialog (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| conferenceid: string identifying the conference associated with the | conferenceid: string identifying the conference associated with the | |||
| dialog (see Section 17.1 of | dialog (see Section 16.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | [I-D.ietf-mediactrl-sip-control-framework]). The attribute is | |||
| optional. There is no default value. | optional. There is no default value. | |||
| The <dialogaudit> element has the following child element: | The <dialogaudit> element has the following child element: | |||
| <codecs> element describing codecs used in the dialog. See | <codecs> element describing codecs used in the dialog. See | |||
| Section 4.4.2.1. The element is optional. | Section 4.4.2.1. The element is optional. | |||
| For example, a fragment describing a started dialog which is using | For example, a fragment describing a started dialog which is using | |||
| PCMU and telephony-event codecs: | PCMU and telephony-event codecs: | |||
| <dialogaudit dialogid="1234" state="started"> | <dialogaudit dialogid="1234" state="started" conferenceid="conf1"> | |||
| <codecs> | <codecs> | |||
| <codec> | <codec> | |||
| <subtype>PCMU</subtype> | <subtype>PCMU</subtype> | |||
| </codec> | </codec> | |||
| <codec> | <codec> | |||
| <subtype>telephone-event</subtype> | <subtype>telephone-event</subtype> | |||
| </codec> | </codec> | |||
| </codecs> | </codecs> | |||
| </dialogaudit> | </dialogaudit> | |||
| 4.5. Response Status Codes | 4.5. Response Status Codes | |||
| This section describes the response codes in Table 1 for the status | This section describes the response codes in Table 1 for the status | |||
| attribute of dialog management <response> (Section 4.2.4) and audit | attribute of dialog management <response> (Section 4.2.4) and audit | |||
| <auditresponse> (Section 4.4.2) responses. The MS MUST support these | <auditresponse> (Section 4.4.2) responses. The MS MUST support the | |||
| status response codes. The MS MAY support other response codes. The | status response codes defined here. All other valid but undefined | |||
| AS MUST treat any responses it does not recognize as being equivalent | values are reserved for future use, where a standards-track RFC is | |||
| to the x00 response code for all classes. For example, if an AS | required to define new status codes. The AS MUST treat any responses | |||
| receives an unrecognized response code of 499, it can safely assume | it does not recognize as being equivalent to the x00 response code | |||
| that there was something wrong with its request and treat the | for all classes. For example, if an AS receives an unrecognized | |||
| response as if it had received a 400 (Syntax error) response code. | response code of 499, it can safely assume that there was something | |||
| wrong with its request and treat the response as if it had received a | ||||
| 400 (Syntax error) response code. | ||||
| 4xx responses are definite failure responses from a particular MS. | 4xx responses are definite failure responses from a particular MS. | |||
| The reason attribute in the response SHOULD identify the failure in | The reason attribute in the response SHOULD identify the failure in | |||
| more detail, for example, "Mandatory attribute missing: src in media | more detail, for example, "Mandatory attribute missing: src in media | |||
| element" for a 400 (Syntax error) response code. | element" for a 400 (Syntax error) response code. | |||
| The AS SHOULD NOT retry the same request without modification (for | The AS SHOULD NOT retry the same request without modification (for | |||
| example, correcting a syntax error or changing the connectionid to | example, correcting a syntax error or changing the connectionid to | |||
| use one available on the MS). However, the same request to a | use one available on the MS). However, the same request to a | |||
| different MS might be successful; for example, if another MS supports | different MS might be successful; for example, if another MS supports | |||
| skipping to change at page 70, line 40 ¶ | skipping to change at page 69, line 43 ¶ | |||
| | | | valid with respect to | valid. | | | | | valid with respect to | valid. | | |||
| | | | the XML schema | | | | | | the XML schema | | | |||
| | | | specified in | | | | | | specified in | | | |||
| | | | Section 5 or it | | | | | | Section 5 or it | | | |||
| | | | violates a | | | | | | violates a | | | |||
| | | | co-occurrence | | | | | | co-occurrence | | | |||
| | | | constraint for a | | | | | | constraint for a | | | |||
| | | | request element | | | | | | request element | | | |||
| | | | defined in Section 4. | | | | | | defined in Section 4. | | | |||
| | | | | | | | | | | | | |||
| | 401 | Reserved for | | | | | 405 | dialogid | request uses a | Send a request for | | |||
| | | future use | | | | | | already | dialogid identifier | a new dialog | | |||
| | | | | | | | | exists | for a new dialog | without specifying | | |||
| | 402 | Reserved for | | | | | | | which is already used | the dialogid and | | |||
| | | future use | | | | | | | by another dialog on | let the MS | | |||
| | | | | | | | | | the MS (see | generate a unique | | |||
| | 403 | Reserved for | | | | | | | Section 4.2). | dialogid in the | | |||
| | | future use | | | | | | | | response. | | |||
| | | | | | | ||||
| | 404 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 405 | dialogid | request uses a | Send an <audit> | | ||||
| | | already | dialogid identifier | request | | ||||
| | | exists | for a new dialog | (Section 4.4.1) | | ||||
| | | | which is already used | requesting the | | ||||
| | | | by another dialog on | list of dialog | | ||||
| | | | the MS (see | identifiers | | ||||
| | | | Section 4.2). | already used by | | ||||
| | | | | the MS and then | | ||||
| | | | | use a dialog | | ||||
| | | | | identifier which | | ||||
| | | | | is not listed. | | ||||
| | | | | | | | | | | | | |||
| | 406 | dialogid does | request uses a | Send an <audit> | | | 406 | dialogid does | request uses a | Send an <audit> | | |||
| | | not exist | dialogid identifier | request | | | | not exist | dialogid identifier | request | | |||
| | | | for an dialog which | (Section 4.4.1) | | | | | for an dialog which | (Section 4.4.1) | | |||
| | | | does not exist on the | requesting the | | | | | does not exist on the | requesting the | | |||
| | | | MS (see Section 4.2). | list of dialog | | | | | MS (see Section 4.2). | list of dialog | | |||
| | | | | identifiers | | | | | | identifiers | | |||
| | | | | already used by | | | | | | already used by | | |||
| | | | | the MS and then | | | | | | the MS and then | | |||
| | | | | use one of the | | | | | | use one of the | | |||
| skipping to change at page 72, line 38 ¶ | skipping to change at page 71, line 30 ¶ | |||
| | | | on an connection or | these capabilities | | | | | on an connection or | these capabilities | | |||
| | | | conference without | | | | | | conference without | | | |||
| | | | video streams. | | | | | | video streams. | | | |||
| | | | | | | | | | | | | |||
| | 413 | Control keys | the request contains | Use different keys | | | 413 | Control keys | the request contains | Use different keys | | |||
| | | with same | a <control> element | for the different | | | | with same | a <control> element | for the different | | |||
| | | value | (Section 4.3.1.2) | control | | | | value | (Section 4.3.1.2) | control | | |||
| | | | where some keys have | operations. | | | | | where some keys have | operations. | | |||
| | | | the same value | | | | | | the same value | | | |||
| | | | | | | | | | | | | |||
| | 414 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 415 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 416 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 417 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 418 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | 419 | Other | requested operation | | | | 419 | Other | requested operation | | | |||
| | | execution | cannot be executed by | | | | | execution | cannot be executed by | | | |||
| | | error | the MS. | | | | | error | the MS. | | | |||
| | | | | | | | | | | | | |||
| | 420 | Unsupported | request specifies a | Use a URI scheme | | | 420 | Unsupported | request specifies a | Use a URI scheme | | |||
| | | URI scheme | URI whose scheme is | which is | | | | URI scheme | URI whose scheme is | which is | | |||
| | | | not supported by the | supported. | | | | | not supported by the | supported. | | |||
| | | | MS | | | | | | MS | | | |||
| | | | | | | | | | | | | |||
| | 421 | Unsupported | request references an | Send an <audit> | | | 421 | Unsupported | request references an | Send an <audit> | | |||
| skipping to change at page 75, line 4 ¶ | skipping to change at page 73, line 32 ¶ | |||
| | | | which the MS is | | | | | | which the MS is | | | |||
| | | | unable to record with | | | | | | unable to record with | | | |||
| | | | on the available | | | | | | on the available | | | |||
| | | | input media streams | | | | | | input media streams | | | |||
| | | | | | | | | | | | | |||
| | 431 | Unsupported | the request contains | | | | 431 | Unsupported | the request contains | | | |||
| | | foreign | attributes or | | | | | foreign | attributes or | | | |||
| | | namespace | elements from another | | | | | namespace | elements from another | | | |||
| | | attribute or | namespace which the | | | | | attribute or | namespace which the | | | |||
| | | element | MS does not support | | | | | element | MS does not support | | | |||
| | | | | | | ||||
| | 432 | Unsupported | the request tries to | | | | 432 | Unsupported | the request tries to | | | |||
| | | multiple | start another dialog | | | | | multiple | start another dialog | | | |||
| | | dialog | on the same | | | | | dialog | on the same | | | |||
| | | capability | conference or | | | | | capability | conference or | | | |||
| | | | connection where a | | | | | | connection where a | | | |||
| | | | dialog is already | | | | | | dialog is already | | | |||
| | | | running | | | | | | running | | | |||
| | | | | | | | | | | | | |||
| | 433 | Unsupported | the request contains | | | | 433 | Unsupported | the request contains | | | |||
| | | collect and | <collect> and | | | | | collect and | <collect> and | | | |||
| skipping to change at page 75, line 32 ¶ | skipping to change at page 74, line 17 ¶ | |||
| | | | Detection (VAD) is | | | | | | Detection (VAD) is | | | |||
| | | | required, but the MS | | | | | | required, but the MS | | | |||
| | | | does not support VAD. | | | | | | does not support VAD. | | | |||
| | | | | | | | | | | | | |||
| | 435 | Unsupported | the request contains | | | | 435 | Unsupported | the request contains | | | |||
| | | parallel | a prompt <par> | | | | | parallel | a prompt <par> | | | |||
| | | playback | element whose | | | | | playback | element whose | | | |||
| | | | configuration is not | | | | | | configuration is not | | | |||
| | | | supported by the MS. | | | | | | supported by the MS. | | | |||
| | | | | | | | | | | | | |||
| | 436 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 437 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 438 | Reserved for | | | | ||||
| | | future use | | | | ||||
| | | | | | | ||||
| | 439 | Other | request requires | | | | 439 | Other | request requires | | | |||
| | | unsupported | another capability | | | | | unsupported | another capability | | | |||
| | | capability | not supported by the | | | | | capability | not supported by the | | | |||
| | | | MS | | | | | | MS | | | |||
| +------+---------------+-----------------------+--------------------+ | +------+---------------+-----------------------+--------------------+ | |||
| Table 1: status codes | Table 1: status codes | |||
| 4.6. Type Definitions | 4.6. Type Definitions | |||
| skipping to change at page 78, line 17 ¶ | skipping to change at page 76, line 17 ¶ | |||
| This section defines the XML schema for IVR Control Package. | This section defines the XML schema for IVR Control Package. | |||
| The schema defines datatypes, attributes, dialog management and IVR | The schema defines datatypes, attributes, dialog management and IVR | |||
| dialog elements in the urn:ietf:params:xml:ns:msc-ivr namespace. In | dialog elements in the urn:ietf:params:xml:ns:msc-ivr namespace. In | |||
| most elements the order of child elements is significant. The schema | most elements the order of child elements is significant. The schema | |||
| is extensible: elements allow attributes and child elements from | is extensible: elements allow attributes and child elements from | |||
| other namespaces. Elements from outside this package's namespace can | other namespaces. Elements from outside this package's namespace can | |||
| occur after elements defined in this package. | occur after elements defined in this package. | |||
| The schema is dependent upon the schema (framework.xsd) defined in | The schema is dependent upon the schema (framework.xsd) defined in | |||
| Section 17.1 of the Control Framework | Section 16.1 of the Control Framework | |||
| [I-D.ietf-mediactrl-sip-control-framework]. It is also dependent | [I-D.ietf-mediactrl-sip-control-framework]. It is also dependent | |||
| upon the W3C (xml.xsd) schema for definitions of XML attributes (e.g. | upon the W3C (xml.xsd) schema for definitions of XML attributes (e.g. | |||
| xml:base). | xml:base). | |||
| <?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 (20090301) | IETF MediaCtrl IVR 1.0 (20090710) | |||
| 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 79, line 7 ¶ | skipping to change at page 77, line 7 ¶ | |||
| ############################################################# | ############################################################# | |||
| --> | --> | |||
| <xsd:import namespace="http://www.w3.org/XML/1998/namespace" | <xsd:import namespace="http://www.w3.org/XML/1998/namespace" | |||
| schemaLocation="http://www.w3.org/2001/xml.xsd"> | schemaLocation="http://www.w3.org/2001/xml.xsd"> | |||
| <xsd:annotation> | <xsd:annotation> | |||
| <xsd:documentation> | <xsd:documentation> | |||
| This import brings in the XML attributes for | This import brings in the XML attributes for | |||
| xml:base, xml:lang, etc | xml:base, xml:lang, etc | |||
| See http://www.w3.org/2001/xml.xsd for latest version | ||||
| </xsd:documentation> | </xsd:documentation> | |||
| </xsd:annotation> | </xsd:annotation> | |||
| </xsd:import> | </xsd:import> | |||
| <xsd:import | <xsd:import | |||
| namespace="urn:ietf:params:xml:ns:control:framework-attributes" | namespace="urn:ietf:params:xml:ns:control:framework-attributes" | |||
| schemaLocation="framework.xsd"> | schemaLocation="framework.xsd"> | |||
| <xsd:annotation> | <xsd:annotation> | |||
| <xsd:documentation> | <xsd:documentation> | |||
| This import brings in the framework attributes for | This import brings in the framework attributes for | |||
| skipping to change at page 81, line 4 ¶ | skipping to change at page 79, line 6 ¶ | |||
| <xsd:sequence> | <xsd:sequence> | |||
| <xsd:element ref="dialog" minOccurs="0" | <xsd:element ref="dialog" minOccurs="0" | |||
| maxOccurs="1" /> | maxOccurs="1" /> | |||
| <xsd:element ref="params" minOccurs="0" | <xsd:element ref="params" 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="src" type="xsd:anyURI" /> | <xsd:attribute name="src" type="xsd:anyURI" /> | |||
| <xsd:attribute name="type" type="mime.datatype"/> | <xsd:attribute name="type" type="mime.datatype"/> | |||
| <xsd:attribute name="maxage" type="xsd:nonNegativeInteger"/> | ||||
| <xsd:attribute name="maxstale" type="xsd:nonNegativeInteger"/> | ||||
| <xsd:attribute name="fetchtimeout" | <xsd:attribute name="fetchtimeout" | |||
| type="timedesignation.datatype" default="30s" /> | type="timedesignation.datatype" default="30s" /> | |||
| <xsd:attribute name="dialogid" | <xsd:attribute name="dialogid" | |||
| type="dialogid.datatype" /> | type="dialogid.datatype" /> | |||
| </xsd:extension> | </xsd:extension> | |||
| </xsd:complexContent> | </xsd:complexContent> | |||
| </xsd:complexType> | </xsd:complexType> | |||
| <xsd:element name="dialogprepare" type="dialogprepareType" /> | <xsd:element name="dialogprepare" type="dialogprepareType" /> | |||
| skipping to change at page 81, line 33 ¶ | skipping to change at page 79, line 37 ¶ | |||
| maxOccurs="1" /> | maxOccurs="1" /> | |||
| <xsd:element ref="params" minOccurs="0" | <xsd:element ref="params" minOccurs="0" | |||
| maxOccurs="1" /> | maxOccurs="1" /> | |||
| <xsd:element ref="stream" minOccurs="0" | <xsd:element ref="stream" minOccurs="0" | |||
| maxOccurs="unbounded" /> | maxOccurs="unbounded" /> | |||
| <xsd:any namespace="##other" minOccurs="0" | <xsd:any namespace="##other" minOccurs="0" | |||
| maxOccurs="unbounded" processContents="lax" /> | maxOccurs="unbounded" processContents="lax" /> | |||
| </xsd:sequence> | </xsd:sequence> | |||
| <xsd:attribute name="src" type="xsd:anyURI" /> | <xsd:attribute name="src" type="xsd:anyURI" /> | |||
| <xsd:attribute name="type" type="mime.datatype"/> | <xsd:attribute name="type" type="mime.datatype"/> | |||
| <xsd:attribute name="maxage" type="xsd:nonNegativeInteger"/> | ||||
| <xsd:attribute name="maxstale" type="xsd:nonNegativeInteger"/> | ||||
| <xsd:attribute name="fetchtimeout" | <xsd:attribute name="fetchtimeout" | |||
| type="timedesignation.datatype" default="30s" /> | type="timedesignation.datatype" default="30s" /> | |||
| <xsd:attribute name="dialogid" | <xsd:attribute name="dialogid" | |||
| type="dialogid.datatype" /> | type="dialogid.datatype" /> | |||
| <xsd:attribute name="prepareddialogid" | <xsd:attribute name="prepareddialogid" | |||
| type="dialogid.datatype" /> | type="dialogid.datatype" /> | |||
| <xsd:attributeGroup ref="fw:framework-attributes" /> | <xsd:attributeGroup ref="fw:framework-attributes" /> | |||
| </xsd:extension> | </xsd:extension> | |||
| </xsd:complexContent> | </xsd:complexContent> | |||
| </xsd:complexType> | </xsd:complexType> | |||
| skipping to change at page 100, line 4 ¶ | skipping to change at page 98, line 8 ¶ | |||
| </xsd:complexType> | </xsd:complexType> | |||
| <xsd:element name="variabletype" type="variabletypeType" /> | <xsd:element name="variabletype" type="variabletypeType" /> | |||
| <!-- format --> | <!-- format --> | |||
| <!-- doesn't extend tCore since its content model is mixed --> | <!-- doesn't extend tCore since its content model is mixed --> | |||
| <xsd:complexType name="formatType" mixed="true"> | <xsd:complexType name="formatType" mixed="true"> | |||
| <xsd:sequence> | <xsd:sequence> | |||
| <xsd:any namespace="##other" minOccurs="0" | <xsd:any namespace="##other" minOccurs="0" | |||
| maxOccurs="unbounded" processContents="lax" /> | maxOccurs="unbounded" processContents="lax" /> | |||
| </xsd:sequence> | </xsd:sequence> | |||
| <xsd:attribute name="desc" type="xsd:string" /> | <xsd:attribute name="desc" type="xsd:string" /> | |||
| <xsd:anyAttribute namespace="##other" processContents="lax" /> | <xsd:anyAttribute namespace="##other" processContents="lax" /> | |||
| </xsd:complexType> | </xsd:complexType> | |||
| <xsd:element name="format" type="formatType" /> | <xsd:element name="format" type="formatType" /> | |||
| <!-- maxpreparedduration --> | <!-- maxpreparedduration --> | |||
| <xsd:element name="maxpreparedduration" | <xsd:element name="maxpreparedduration" | |||
| type="timedesignation.datatype"/> | type="timedesignation.datatype"/> | |||
| <!-- maxrecordduration --> | <!-- maxrecordduration --> | |||
| <xsd:element name="maxrecordduration" | <xsd:element name="maxrecordduration" | |||
| type="timedesignation.datatype"/> | type="timedesignation.datatype"/> | |||
| <!-- dialogs --> | <!-- dialogs --> | |||
| <xsd:complexType name="dialogsType"> | <xsd:complexType name="dialogsType"> | |||
| <xsd:complexContent> | <xsd:complexContent> | |||
| <xsd:extension base="Tcore"> | <xsd:extension base="Tcore"> | |||
| <xsd:sequence> | <xsd:sequence> | |||
| <xsd:element ref="dialogaudit" minOccurs="0" | <xsd:element ref="dialogaudit" minOccurs="0" | |||
| maxOccurs="unbounded" /> | maxOccurs="unbounded" /> | |||
| <xsd:any namespace="##other" minOccurs="0" | <xsd:any namespace="##other" minOccurs="0" | |||
| skipping to change at page 110, line 6 ¶ | skipping to change at page 108, line 6 ¶ | |||
| </dialogexit> | </dialogexit> | |||
| </event> | </event> | |||
| </mscivr> | </mscivr> | |||
| 6.2.2. Prompt and collect | 6.2.2. Prompt and collect | |||
| In this example, a prompt is played and then the MS waits for 30s for | In this example, a prompt is played and then the MS waits for 30s for | |||
| a two digit sequence: | a two digit sequence: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/prompt1.wav"/> | <media loc="http://www.example.com/prompt1.wav"/> | |||
| </prompt> | </prompt> | |||
| <collect timeout="30s" maxdigits="2"/> | <collect timeout="30s" maxdigits="2"/> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| If no user input is collected within 30s, then following notification | If no user input is collected within 30s, then following notification | |||
| skipping to change at page 110, line 29 ¶ | skipping to change at page 108, line 29 ¶ | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <event dialogid="vxi81"> | <event dialogid="vxi81"> | |||
| <dialogexit status="1" > | <dialogexit status="1" > | |||
| <promptinfo termmode="completed" duration="4000"/> | <promptinfo termmode="completed" duration="4000"/> | |||
| <collectinfo termmode="noinput"/> | <collectinfo termmode="noinput"/> | |||
| </dialogexit> | </dialogexit> | |||
| </event> | </event> | |||
| </mscivr> | </mscivr> | |||
| The collect operation can be specified without a prompt. Here the MS | The collect operation can be specified without a prompt. Here the MS | |||
| just waits for DTMF input from the user: | just waits for DTMF input from the user (the maxdigits attribute of | |||
| <collect> defaults to 5): | ||||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog> | <dialog> | |||
| <collect/> | <collect/> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| If the dialog is successful, then dialogexit <event> contains the | If the dialog is successful, then dialogexit <event> contains the | |||
| dtmf collected in its result parameter: | dtmf collected in its result 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"> | |||
| <event dialogid="vxi80"> | <event dialogid="vxi80"> | |||
| <dialogexit status="1"> | <dialogexit status="1"> | |||
| <collectinfo dtmf="12345" termmode="match"/> | <collectinfo dtmf="12345" termmode="match"/> | |||
| </dialogexit> | </dialogexit> | |||
| </event> | </event> | |||
| /mscivr> | /mscivr> | |||
| And finally in this example, one of the input parameters is invalid: | And finally in this example, one of the input parameters is invalid: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog repeatCount="two"> | <dialog repeatCount="two"> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/prompt1.wav"/> | <media loc="http://www.example.com/prompt1.wav"/> | |||
| </prompt> | </prompt> | |||
| <collect cleardigitbuffer="true" bargein="true" | <collect cleardigitbuffer="true" | |||
| timeout="4s" interdigittimeout="2s" | timeout="4s" interdigittimeout="2s" | |||
| termtimeout="0s" maxdigits="2"/> | termtimeout="0s" maxdigits="2"/> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| The error is reported in the response: | The error is reported in the response: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <response status="400" dialogid="vxi82" | <response status="400" dialogid="vxi82" | |||
| reason="repeatCount attribute value invalid: two"/> | reason="repeatCount attribute value invalid: two"/> | |||
| </mscivr> | </mscivr> | |||
| 6.2.3. Prompt and record | 6.2.3. Prompt and record | |||
| In this example, the user is prompted, then their input is recorded | In this example, the user is prompted, then their input is recorded | |||
| for a maximum of 30 seconds. | for a maximum of 30 seconds. | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/media/sayname.wav"/> | <media loc="http://www.example.com/media/sayname.wav"/> | |||
| </prompt> | </prompt> | |||
| <record dtmfterm="false" maxtime="30s" beep="true"/> | <record dtmfterm="false" maxtime="30s" beep="true"/> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| If successful and the recording is terminated by DTMF, the following | If successful and the recording is terminated by DTMF, the following | |||
| skipping to change at page 112, line 22 ¶ | skipping to change at page 110, line 22 ¶ | |||
| </dialogexit> | </dialogexit> | |||
| </event> | </event> | |||
| </mscivr> | </mscivr> | |||
| 6.2.4. Runtime controls | 6.2.4. Runtime controls | |||
| In this example, a prompt is played with collect and runtime controls | In this example, a prompt is played with collect and runtime controls | |||
| are activated. | are activated. | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog> | <dialog> | |||
| <prompt bargein="true"> | <prompt bargein="true"> | |||
| <media loc="http://www.example.com/prompt1.wav"/> | <media loc="http://www.example.com/prompt1.wav"/> | |||
| </prompt> | </prompt> | |||
| <control ffkey=5" rwkey="6" speedupkey="3" | <control ffkey=5" rwkey="6" speedupkey="3" | |||
| speeddnkey="4"/> | speeddnkey="4"/> | |||
| <collect maxdigits="2"/> | <collect maxdigits="2"/> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| skipping to change at page 113, line 25 ¶ | skipping to change at page 111, line 25 ¶ | |||
| </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 connectionid="7HDY839~HJKSkyHS"> | <dialogstart connectionid="7HDY839:HJKSkyHS"> | |||
| <dialog repeatCount="0"> | <dialog repeatCount="0"> | |||
| <collect maxdigits="2"/> | <collect maxdigits="2"/> | |||
| </dialog> | </dialog> | |||
| <subscribe> | <subscribe> | |||
| <dtmfsub matchmode="collect"/> | <dtmfsub matchmode="collect"/> | |||
| </subscribe> | </subscribe> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| Each time the user input the DTMF matching the grammar, the following | Each time the user input the DTMF matching the grammar, the following | |||
| skipping to change at page 114, line 7 ¶ | skipping to change at page 112, line 7 ¶ | |||
| If no user input was provided, or the input did not match the | If no user input was provided, or the input did not match the | |||
| grammar, the dialog would continue to loop until terminated (or an | grammar, the dialog would continue to loop until terminated (or an | |||
| error occurred). | error occurred). | |||
| 6.3. Other Dialog Languages | 6.3. Other Dialog Languages | |||
| The following example requests that a VoiceXML dialog is started: | The following example requests that a VoiceXML dialog is started: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogstart dialogid="d2" | <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"> | |||
| <params> | <params> | |||
| <param name="prompt1">nfs://nas01/media1.3gp</param> | <param name="prompt1">nfs://nas01/media1.3gp</param> | |||
| <param name="prompt2">nfs://nas01/media2.3gp</param> | <param name="prompt2">nfs://nas01/media2.3gp</param> | |||
| </params> | </params> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| skipping to change at page 115, line 7 ¶ | skipping to change at page 113, line 7 ¶ | |||
| An MS can support attributes and elements from foreign namespaces | An MS can support attributes and elements from foreign namespaces | |||
| within the <mscivr> element. For example, the MS could support a | within the <mscivr> element. For example, the MS could support a | |||
| <listen> element (in a foreign namespace) for speech recognition by | <listen> element (in a foreign namespace) for speech recognition by | |||
| analogy to how <collect> support DTMF collection. | analogy to how <collect> support DTMF collection. | |||
| In the following example, a prompt and collect request is extended | In the following example, a prompt and collect request is extended | |||
| with a <listen> element: | with a <listen> element: | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr" | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr" | |||
| xmlns:ex="http://www.example.com/mediactrl/extensions/1"> | xmlns:ex="http://www.example.com/mediactrl/extensions/1"> | |||
| <dialogstart connectionid="7HDY839~HJKSkyHS~HUwkuh7ns"> | <dialogstart connectionid="7HDY839:HJKSkyHS~HUwkuh7ns"> | |||
| <dialog> | <dialog> | |||
| <prompt> | <prompt> | |||
| <media loc="http://www.example.com/prompt1.wav"/> | <media loc="http://www.example.com/prompt1.wav"/> | |||
| </prompt> | </prompt> | |||
| <collect timeout="30s" maxdigits="4"/> | <collect timeout="30s" maxdigits="4"/> | |||
| <ex:listen maxtimeout="30s" > | <ex:listen maxtimeout="30s" > | |||
| <ex:grammar src="http://example.org/pin.grxml"/> | <ex:grammar src="http://example.org/pin.grxml"/> | |||
| </ex:listen> | </ex:listen> | |||
| </dialog> | </dialog> | |||
| </dialogstart> | </dialogstart> | |||
| skipping to change at page 117, line 19 ¶ | skipping to change at page 115, line 19 ¶ | |||
| Implementations of this control package MUST address security, | Implementations of this control package MUST address security, | |||
| confidentiality and integrity of messages transported over the | confidentiality and integrity of messages transported over the | |||
| control channel as described in Section 11 of the Media Control | control channel as described in Section 11 of the Media Control | |||
| channel Framework ([I-D.ietf-mediactrl-sip-control-framework]), | channel Framework ([I-D.ietf-mediactrl-sip-control-framework]), | |||
| including Transport Level Protection, Control Channel Policy | including Transport Level Protection, Control Channel Policy | |||
| Management and Session Establishment. In addition, implementations | Management and Session Establishment. In addition, implementations | |||
| MUST address security, confidentiality and integrity of User Agent | MUST address security, confidentiality and integrity of User Agent | |||
| sessions with the MS, both in terms of SIP signaling and associated | sessions with the MS, both in terms of SIP signaling and associated | |||
| RTP media flow; see [I-D.ietf-mediactrl-sip-control-framework] for | RTP media flow; see [I-D.ietf-mediactrl-sip-control-framework] for | |||
| further details on this topic. | further details on this topic. Finally, implementations MUST address | |||
| security, confidentiality and integrity of sessions where, following | ||||
| a URI scheme, an MS uploads recordings or retrieves documents and | ||||
| resources (e.g. fetching a grammar document from a web server using | ||||
| HTTPS). | ||||
| Adequate transport protection and authentication are critical, | Adequate transport protection and authentication are critical, | |||
| especially when the implementation is deployed in open networks. If | especially when the implementation is deployed in open networks. If | |||
| the implementation fails to correctly address these issues, it risks | the implementation fails to correctly address these issues, it risks | |||
| exposure to malicious attacks, including (but not limited to): | exposure to malicious attacks, including (but not limited to): | |||
| Denial of Service: An attacker could insert a request message into | Denial of Service: An attacker could insert a request message into | |||
| the transport stream causing specific dialogs on the MS to be | the transport stream causing specific dialogs on the MS to be | |||
| terminated immediately. For example, <dialogterminate | terminated immediately. For example, <dialogterminate | |||
| dialogid="XXXX" immediate="true">, where the value of "XXXX" could | dialogid="XXXX" immediate="true">, where the value of "XXXX" could | |||
| skipping to change at page 120, line 17 ¶ | skipping to change at page 118, line 17 ¶ | |||
| This specification instructs IANA to register a new Media Control | This specification instructs IANA to register a new Media Control | |||
| Channel Framework Package, a new XML namespace, a new XML schema and | Channel Framework Package, a new XML namespace, a new XML schema and | |||
| a new MIME type. | a new MIME type. | |||
| 8.1. Control Package Registration | 8.1. Control Package Registration | |||
| This section registers a new Media Control Channel Framework package, | This section registers a new Media Control Channel Framework package, | |||
| per the instructions in Section 12.1 of | per the instructions in Section 12.1 of | |||
| [I-D.ietf-mediactrl-sip-control-framework]. | [I-D.ietf-mediactrl-sip-control-framework]. | |||
| To: ietf-sip-control@iana.org | ||||
| Subject: Registration of new Channel Framework package | ||||
| Package Name: msc-ivr/1.0 | Package Name: msc-ivr/1.0 | |||
| [NOTE TO IANA/RFC-EDITOR: Please replace XXXX | [NOTE TO IANA/RFC-EDITOR: Please replace XXXX | |||
| with the RFC number for this specification.] | with the RFC number for this specification.] | |||
| Published Specification(s): RFCXXXX | Published Specification(s): RFCXXXX | |||
| Person & email address to contact for further information: | Person & email address to contact for further information: | |||
| IETF, MEDIACTRL working group, (mediactrl@ietf.org), | IETF, MEDIACTRL working group, (mediactrl@ietf.org), | |||
| Scott McGlashan (scott.mcglashan@hp.com). | Scott McGlashan (smcg.stds01@mcglashan.org). | |||
| 8.2. URN Sub-Namespace Registration | 8.2. URN Sub-Namespace Registration | |||
| This section registers a new XML namespace, | This section registers a new XML namespace, | |||
| "urn:ietf:params:xml:ns:msc-ivr", per the guidelines in RFC 3688 | "urn:ietf:params:xml:ns:msc-ivr", per the guidelines in RFC 3688 | |||
| [RFC3688]. | [RFC3688]. | |||
| URI: urn:ietf:params:xml:ns:msc-ivr | URI: urn:ietf:params:xml:ns:msc-ivr | |||
| Registrant Contact: IETF, MEDIACTRL working group, | Registrant Contact: IETF, MEDIACTRL working group, | |||
| (mediactrl@ietf.org), Scott McGlashan (scott.mcglashan@hp.com). | (mediactrl@ietf.org), Scott McGlashan (smcg.stds01@mcglashan.org). | |||
| XML: | XML: | |||
| BEGIN | BEGIN | |||
| <?xml version="1.0"?> | <?xml version="1.0"?> | |||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | |||
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |||
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |||
| <head> | <head> | |||
| <title>Media Control Channel Framework IVR | <title>Media Control Channel Framework IVR | |||
| Package attributes</title> | Package attributes</title> | |||
| </head> | </head> | |||
| <body> | <body> | |||
| <h1>Namespace for Media Control Channel | <h1>Namespace for Media Control Channel | |||
| Framework IVR Package attributes</h1> | Framework IVR Package attributes</h1> | |||
| <h2>urn:ietf:params:xml:ns:msc-ivr</h2> | <h2>urn:ietf:params:xml:ns:msc-ivr</h2> | |||
| [NOTE TO IANA/RFC-EDITOR: Please replace XXXX | [NOTE TO IANA/RFC-EDITOR: Please replace XXXX | |||
| with the RFC number for this specification.] | with the RFC number for this specification.] | |||
| <p>See RFCXXXX</p> | <p>See RFCXXXX</p> | |||
| </body> | </body> | |||
| </html> | </html> | |||
| END | END | |||
| 8.3. XML Schema Registration | 8.3. XML Schema Registration | |||
| This section registers an XML schema as per the guidelines in RFC | This section registers an XML schema as per the guidelines in RFC | |||
| 3688 [RFC3688]. | 3688 [RFC3688]. | |||
| URI: urn:ietf:params:xml:ns:msc-ivr | URI: urn:ietf:params:xml:ns:msc-ivr | |||
| Registrant Contact: IETF, MEDIACTRL working group, | Registrant Contact: IETF, MEDIACTRL working group, | |||
| (mediactrl@ietf.org), Scott McGlashan (scott.mcglashan@hp.com). | (mediactrl@ietf.org), Scott McGlashan (smcg.stds01@mcglashan.org). | |||
| Schema: The XML for this schema can be found in | Schema: The XML for this schema can be found in | |||
| Section 5 of this document. | Section 5 of this document. | |||
| 8.4. MIME Media Type Registration for 'application/msc-ivr+xml' | 8.4. MIME Media Type Registration for 'application/msc-ivr+xml' | |||
| This section registers the "application/msc-ivr+xml" MIME type. | This section registers the "application/msc-ivr+xml" MIME type. | |||
| To: ietf-types@iana.org | To: ietf-types@iana.org | |||
| Subject: Registration of MIME media type | Subject: Registration of MIME media type | |||
| application/msc-ivr+xml | application/msc-ivr+xml | |||
| MIME media type name: application | MIME media type name: application | |||
| MIME subtype name: msc-ivr+xml | MIME subtype name: msc-ivr+xml | |||
| skipping to change at page 122, line 27 ¶ | skipping to change at page 120, line 27 ¶ | |||
| Security considerations: No known security considerations outside | Security considerations: No known security considerations outside | |||
| of those provided by the Media Control Channel Framework IVR | of those provided by the Media Control Channel Framework IVR | |||
| Package. | Package. | |||
| Interoperability considerations: This content type provides | Interoperability considerations: This content type provides | |||
| constructs for the Media Control Channel Framework IVR package. | constructs for the Media Control Channel Framework IVR package. | |||
| Published specification: RFC XXXX [NOTE TO IANA/RFC-EDITOR: Please | Published specification: RFC XXXX [NOTE TO IANA/RFC-EDITOR: Please | |||
| replace XXXX with the RFC number for this specification.] | replace XXXX with the RFC number for this specification.] | |||
| Applications which use this media type: Implementations of | Applications which use this media type: Implementations of | |||
| the Media Control Channel Framework IVR package. | the Media Control Channel Framework IVR package. | |||
| Additional Information: Magic Number(s): (none) | Additional Information: Magic Number(s): (none) | |||
| File extension(s): .xml | File extension(s): (none) | |||
| Macintosh File Type Code(s): (none) | Macintosh File Type Code(s): (none) | |||
| Person & email address to contact for further information: Scott | Person & email address to contact for further information: Scott | |||
| McGlashan <scott.mcglashan@hp.com> | 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 -07 and -06 versions | ||||
| (primarily addressing AD Review comments): | ||||
| o Generally corrected references from Section 17.1 to Section 16.1 | ||||
| of Control Channel Framework. | ||||
| o 4.2.2.1.1: corrected syntax error in example | ||||
| o 4.2.3.1: corrected example by adding conferenceid attribute. | ||||
| o 12.1: corrected error code from 407 to 409 in example when vxml | ||||
| document cannot be retrieved. | ||||
| o 6.2.2: corrected example by removing bargein="true"; clarified | ||||
| that maxdigits defaults to 5. | ||||
| o 4.5: Changed the recovery action for a 405 ('dialogid already | ||||
| exists') error response. The AS can always recover by not | ||||
| specifying the id in the creation command and let the MS generate | ||||
| a unique id in the response. | ||||
| o 8.1: Removed the To: and Subject: header fields | ||||
| o Corrected miscellanous typos. | ||||
| o 4.2.1, 4.2.2 and 4.3.1.3.1: Added authentication information to | ||||
| the definition of src attribute in <dialogprepare>, <dialogstart> | ||||
| and <grammar>. | ||||
| o 7: Added Security Consideration that uploading/retrieving | ||||
| documents and resources should be secured. | ||||
| o 8.4: Changed file extension from '.xml' to (none) | ||||
| o Changed "~" to a ":" for connectionid | ||||
| o 4.2.6.1: Clarified that <param> can contain an XML value. | ||||
| o 4.2.1, 4.2.2, 12.1,12.2, schema: added maxage and maxstale | ||||
| attributes (optional) to <dialogprepare>, <dialogstart> for HTTP | ||||
| VoiceXML use case. | ||||
| o 4.2.2.1: Clarified that a request containing <subscribe> with no | ||||
| child elements is equivalent to a request without a <subscribe> | ||||
| element. | ||||
| o 4.2.5.1: Changed <dialogexit> status codes so that only 0-4 | ||||
| defined and all others are reserved for future use requiring a | ||||
| standard-track RFC. | ||||
| o 4.5: Changed status code for <response> and <auditresponse> so | ||||
| that certain codes are defined and all others are reserved for | ||||
| future use requiring a standard-track RFC. | ||||
| o 4.2.2.2, 12.2.2, various examples: Changed the media <stream> | ||||
| direction so that it is relative to the endpoint, not the dialog. | ||||
| Now aligned with VoiceXML mapping in RFC 5552. | ||||
| The following are the changes between the -06 and -05 versions. | The following are the changes between the -06 and -05 versions. | |||
| o Corrected typo in introduction | o Corrected typo in introduction | |||
| o 4.2.1: Added <params> to <dialogprepare>. Updated VoiceXML | o 4.2.1: Added <params> to <dialogprepare>. Updated VoiceXML | |||
| appendix to describe how these parameters are mapped to the | appendix to describe how these parameters are mapped to the | |||
| session object. | session object. | |||
| o 4.3.1.3: <collect>: clarified definitions of interdigittimeout and | o 4.3.1.3: <collect>: clarified definitions of interdigittimeout and | |||
| termtimeout attributes and tightened up the collect execution | termtimeout attributes and tightened up the collect execution | |||
| skipping to change at page 136, line 8 ¶ | skipping to change at page 135, 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 and Steve Buko for expert reviews of this work. | Burke, Dan York, Steve Buko and Jean-Francois Bertrand 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. 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 137, line 34 ¶ | skipping to change at page 136, line 34 ¶ | |||
| <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | <mscivr version="1.0" xmlns="urn:ietf:params:xml:ns:msc-ivr"> | |||
| <dialogprepare type="application/voicexml+xml" | <dialogprepare type="application/voicexml+xml" | |||
| src="http://www.example.com/mydialog.vxml" | src="http://www.example.com/mydialog.vxml" | |||
| fetchtimeout="15s"/> | fetchtimeout="15s"/> | |||
| </mscivr> | </mscivr> | |||
| The VoiceXML dialog environment uses the <dialogprepare> request as | The VoiceXML dialog environment uses the <dialogprepare> request as | |||
| an opportunity to fetch and validate the initial document indicated | an opportunity to fetch and validate the initial document indicated | |||
| by the src attribute along with any resources referenced in the | by the src attribute along with any resources referenced in the | |||
| VoiceXML document marked as prefetchable. Note that the fetchtimeout | VoiceXML document marked as prefetchable. The maxage and maxstale | |||
| attributes, if specified, control how the initial VoiceXML document | ||||
| is fetched using HTTP (see [RFC2616]). Note that the fetchtimeout | ||||
| attribute is not defined in VoiceXML for an initial document but the | attribute is not defined in VoiceXML for an initial document but the | |||
| MS MUST support this attribute in its VoiceXML environment. | MS MUST support this attribute in its VoiceXML environment. | |||
| If a <params> child element of <dialogprepare> is specified, then the | If a <params> child element of <dialogprepare> is specified, then the | |||
| MS MUST map the parameter information into a VoiceXML session | MS MUST map the parameter information into a VoiceXML session | |||
| variable object as described in Section 12.2.3. | variable object as described in Section 12.2.3. | |||
| The success or failure of the VoiceXML document preparation is | The success or failure of the VoiceXML document preparation is | |||
| reported in the MS response. For example, if the VoiceXML document | reported in the MS response. For example, if the VoiceXML document | |||
| cannot be retrieved, then a 407 error response is returned. If the | cannot be retrieved, then a 409 error response is returned. If the | |||
| document is syntactically invalid according to VoiceXML, then a 400 | document is syntactically invalid according to VoiceXML, then a 400 | |||
| response is returned. If successful, the response includes a | response is returned. If successful, the response includes a | |||
| dialogid attribute whose value the AS can use in <dialogstart> | dialogid attribute whose value the AS can use in <dialogstart> | |||
| element to start the prepared dialog. | element to start the prepared dialog. | |||
| 12.2. Starting a VoiceXML dialog | 12.2. Starting a VoiceXML dialog | |||
| 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 connectionid="ssd3r3~sds345b" | <dialogstart connectionid="ssd3r3:sds345b" | |||
| 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"/> | |||
| </mscivr> | </mscivr> | |||
| The maxage and maxstale attributes, if specified, control how the | ||||
| initial VoiceXML document is fetched using HTTP (see [RFC2616]). | ||||
| 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 | |||
| sends a 439 error response (see Section 4.5). | sends a 439 error response (see Section 4.5). | |||
| The success or failure of starting a VoiceXML dialog is reported in | The success or failure of starting a VoiceXML dialog is reported in | |||
| the MS response as described in Section 4.2.2. | the MS response as described in Section 4.2.2. | |||
| skipping to change at page 140, line 30 ¶ | skipping to change at page 139, line 33 ¶ | |||
| session.connection.protocol.sip.media for a connection, and | session.connection.protocol.sip.media for a connection, and | |||
| session.conference.media for a conference. In both variables, the | session.conference.media for a conference. In both variables, the | |||
| value of the variable is an array where each array element is an | value of the variable is an array where each array element is an | |||
| object with the following properties: | 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 the | direction This required property indicates the directionality of the | |||
| media relative to the dialog (see Section 4.2.2.2 <stream> | media relative to the endpoint of the dialog (see Section 4.2.2.2 | |||
| direction attribute definition). | <stream> 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. The | specifies information about one format of the media stream. The | |||
| object contains at least one property called name whose value is | object contains at least one property called name whose value is | |||
| the subtype of the media format ([RFC4855]). Other properties may | the subtype of the media format ([RFC4855]). Other properties may | |||
| be defined with string values; these correspond to required and, | be defined with string values; these correspond to required and, | |||
| if defined, optional parameters of the format. | if defined, optional parameters of the format. | |||
| As a consequence of this definition, when a connectionid is specified | As a consequence of this definition, when a connectionid is specified | |||
| there is an array entry in session.connection.protocol.sip.media for | there is an array entry in session.connection.protocol.sip.media for | |||
| each media stream used by the VoiceXML dialog. For an example, | each media stream used by the VoiceXML dialog. For an example, | |||
| consider a connection with bi-directional G.711 mu-law audio sampled | consider a connection with bi-directional G.711 mu-law audio sampled | |||
| at 8kHz where the dialog is 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 connectionid="ssd3r3~sds345b" | <dialogstart connectionid="ssd3r3:sds345b" | |||
| 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"> | |||
| <stream type="audio" direction="sendonly"/> | <stream type="audio" direction="recvonly"/> | |||
| </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" (i.e. this dialog only sends media to the connection - it | "recvonly" (i.e. the endpoint only receives media from the dialog - | |||
| does not receive media from the connection), and | the endpoint does not send media to the dialog), 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 the 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 (e.g. 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 | |||
| skipping to change at page 142, line 8 ¶ | skipping to change at page 141, line 8 ¶ | |||
| document order. The corresponding value for each key is an object | document order. The corresponding value for each key is an object | |||
| with two required properties: a "type" property evaluating to the | with two required properties: a "type" property evaluating to the | |||
| value of the type attribute; and a "content" property evaluating | value of the type attribute; and a "content" property evaluating | |||
| to the content of the <param>. In addition, this object's | to the content of the <param>. In addition, this object's | |||
| toString() function returns the value of the "content" property as | toString() function returns the value of the "content" property as | |||
| a string. | 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 connectionid="ssd3r3~sds345b" | <dialogstart connectionid="ssd3r3:sds345b" | |||
| 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"> | |||
| <params> | <params> | |||
| <param name="mode">playannouncement</param> | <param name="mode">playannouncement</param> | |||
| </params> | </params> | |||
| </dialogstart> | </dialogstart> | |||
| </mscivr> | </mscivr> | |||
| In this case, session.values would be defined with one item in the | In this case, session.values would be defined with one item in the | |||
| skipping to change at page 145, line 12 ¶ | skipping to change at page 144, line 12 ¶ | |||
| requested, or error.unsupported.transfer.consultation if consultation | requested, or error.unsupported.transfer.consultation if consultation | |||
| transfer is requested. | transfer is requested. | |||
| 13. References | 13. References | |||
| 13.1. Normative References | 13.1. Normative References | |||
| [I-D.ietf-mediactrl-sip-control-framework] | [I-D.ietf-mediactrl-sip-control-framework] | |||
| Boulton, C., Melanchuk, T., and S. McGlashan, "Media | Boulton, C., Melanchuk, T., and S. McGlashan, "Media | |||
| Control Channel Framework", | Control Channel Framework", | |||
| draft-ietf-mediactrl-sip-control-framework-10 (work in | draft-ietf-mediactrl-sip-control-framework-11 (work in | |||
| progress), February 2009. | progress), October 2009. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | ||||
| Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | ||||
| Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. | ||||
| [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. | |||
| [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 | [RFC4646] Phillips, A. and M. Davis, "Tags for Identifying | |||
| Languages", BCP 47, RFC 4646, September 2006. | 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. | |||
| [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] | |||
| Grassel, G., Jansen, J., Zucker, D., Bulterman, D., | Bulterman, D., Michel, T., Zucker, D., Jansen, J., | |||
| Layaida, N., Michel, T., Mullender, S., and A. Koivisto, | Layaida, N., Mullender, S., Grassel, G., 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 146, line 18 ¶ | skipping to change at page 145, line 22 ¶ | |||
| 13.2. Informative References | 13.2. Informative References | |||
| [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., Even, R., and J. | Novo, O., Camarillo, G., Morgan, D., and J. Urpalainen, | |||
| Urpalainen, "Conference Information Data Model for | "Conference Information Data Model for Centralized | |||
| Centralized Conferencing (XCON)", | Conferencing (XCON)", draft-ietf-xcon-common-data-model-14 | |||
| draft-ietf-xcon-common-data-model-12 (work in progress), | (work in progress), November 2009. | |||
| October 2008. | ||||
| [IANA] "IANA registry for RTP Payload Types", | [IANA] "IANA registry for RTP Payload Types", | |||
| <http://www.iana.org/assignments/rtp-parameters>. | <http://www.iana.org/assignments/rtp-parameters>. | |||
| [MIME.mediatypes] | [MIME.mediatypes] | |||
| "IANA registry for MIME Media Types", | "IANA registry for MIME Media Types", | |||
| <http://www.iana.org/assignments/media-types/>. | <http://www.iana.org/assignments/media-types/>. | |||
| [MSML] Saleem, A., Xin, Y., and G. Sharratt, "Media Session | [MSML] Saleem, A., Xin, Y., and G. Sharratt, "Media Session | |||
| Markup Language (MSML)", draft-saleem-msml-08 (work in | Markup Language (MSML)", draft-saleem-msml-09 (work in | |||
| progress), February 2009. | 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 | |||
| skipping to change at page 148, line 9 ¶ | skipping to change at page 147, line 9 ¶ | |||
| [VXML30] McGlashan, S., Auburn, RJ., Baggia, P., Barnett, J., | [VXML30] McGlashan, S., Auburn, RJ., Baggia, P., Barnett, J., | |||
| Bodell, M., Burnett, D., Carter, J., Oshry, M., Rehor, K., | Bodell, M., Burnett, D., Carter, J., Oshry, M., Rehor, K., | |||
| Young, M., and R. Hosn, "Voice Extensible Markup Language | Young, M., and R. Hosn, "Voice Extensible Markup Language | |||
| (VoiceXML) Version 3.0", W3C Working Draft, December 2008. | (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 | ||||
| SE-16985 Stockholm, Sweden | ||||
| Email: scott.mcglashan@hp.com | Email: smcg.stds01@mcglashan.org | |||
| Tim Melanchuk | Tim Melanchuk | |||
| Rain Willow Communications | Rain Willow Communications | |||
| Email: tim.melanchuk@gmail.com | Email: tim.melanchuk@gmail.com | |||
| Chris Boulton | Chris Boulton | |||
| NS-Technologies | NS-Technologies | |||
| Email: chris@ns-technologies.com | Email: chris@ns-technologies.com | |||
| End of changes. 94 change blocks. | ||||
| 297 lines changed or deleted | 370 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/ | ||||