RFC 6623 PROPOSED STANDARD IANA · REGISTRY · VOICE

MEDIACTRL IVR Registry: IANA Registry for MEDIACTRL Interactive Voice Response Control Package

A short IANA registry that gives the voice-menu control protocol's response codes an official home.

On rfc-editor.org ↗
PUBLISHED
May 2012
AUTHORS
E. Burger
STREAM
IETF
BUILDS ON
RFC 6231 — MCC IVR package
REGISTRY NAME
MEDIACTRL Interactive Voice Response Control Package Status Codes
ASSIGNMENT POLICY
Standards Action (RFC 5226)
SUCCESS CODE
200 OK
SYNTAX ERROR CODE
400
CATCH-ALL CODES
419 and 439
DOI
10.17487/RFC6623

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                         E. Burger
Request for Comments: 6623                         Georgetown University
Updates: 6231                                                   May 2012
Category: Standards Track
ISSN: 2070-1721


 IANA Registry for MEDIACTRL Interactive Voice Response Control Package

Abstract

   This document creates an IANA registry for the response codes for the
   MEDIACTRL Interactive Voice Response Control Package, as described in
   RFC 6231.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6623.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   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 Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Security Considerations . . . . . . . . . . . . . . . . . . . . 2
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 2
   4.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 6
   5.  Normative References  . . . . . . . . . . . . . . . . . . . . . 6

1.  Introduction

   This document creates an IANA registry for the response codes for the
   MEDIACTRL Interactive Voice Response Control Package [RFC6231].

2.  Security Considerations

   There are no security considerations, other than those described in
   the MEDIACTRL Interactive Voice Response Control Package [RFC6231].

3.  IANA Considerations

   IANA has created the "MEDIACTRL Interactive Voice Response Control
   Package Status Codes" registry per this document.  New status codes
   are assigned using the Standards Action process defined in RFC 5226
   [RFC5226].

   +-------+---------------+-----------------------+-------------------+
   | Code  | Summary       | Description           | Reference         |
   +-------+---------------+-----------------------+-------------------+
   | 200   | OK            | Request has           | RFC6231           |
   |       |               | succeeded.            |                   |
   | 400   | Syntax error  | Request is            | RFC6231           |
   |       |               | syntactically         |                   |
   |       |               | invalid: it is not    |                   |
   |       |               | valid with respect to |                   |
   |       |               | the XML schema or it  |                   |
   |       |               | violates a            |                   |
   |       |               | co-occurrence         |                   |
   |       |               | constraint for a      |                   |
   |       |               | request element.      |                   |
   | 405   | dialogid      | Request uses a        | RFC6231           |
   |       | already       | dialogid identifier   |                   |
   |       | exists        | for a new dialog that |                   |
   |       |               | is already used by    |                   |
   |       |               | another dialog on the |                   |
   |       |               | MS.                   |                   |
   | 406   | dialogid does | Request uses a        | RFC6231           |
   |       | not exist     | dialogid identifier   |                   |
   |       |               | for a dialog that     |                   |
   |       |               | does not exist on the |                   |
   |       |               | MS.                   |                   |
   | 407   | connectionid  | Request uses a        | RFC6231           |
   |       | does not      | connectionid          |                   |
   |       | exist         | identifier for a      |                   |
   |       |               | connection that does  |                   |
   |       |               | not exist on the MS.  |                   |
   | 408   | conferenceid  | Request uses a        | RFC6231           |
   |       | does not      | conferenceid          |                   |
   |       | exist         | identifier for a      |                   |
   |       |               | conference that does  |                   |
   |       |               | not exist on the MS.  |                   |
   | 409   | Resource      | Request uses a URI to | RFC6231           |
   |       | cannot be     | reference an external |                   |
   |       | retrieved     | resource (e.g.,       |                   |
   |       |               | dialog, media or      |                   |
   |       |               | grammar) that cannot  |                   |
   |       |               | be retrieved within   |                   |
   |       |               | the timeout interval. |                   |
   | 410   | Dialog        | Request to prepare or | RFC6231           |
   |       | execution     | start a dialog that   |                   |
   |       | canceled      | has been terminated   |                   |
   |       |               | by a                  |                   |
   |       |               | <dialogterminate>.    |                   |
   | 411   | Incompatible  | Request specifies a   | RFC6231           |
   |       | stream        | media stream          |                   |
   |       | configuration | configuration that is |                   |
   |       |               | in conflict with      |                   |
   |       |               | itself, or the        |                   |
   |       |               | connection or         |                   |
   |       |               | conference            |                   |
   |       |               | capabilities.         |                   |
   | 412   | Media stream  | Request specifies an  | RFC6231           |
   |       | not available | operation for which a |                   |
   |       |               | media stream is not   |                   |
   |       |               | available; for        |                   |
   |       |               | example, playing a    |                   |
   |       |               | video media resource  |                   |
   |       |               | on a connection or    |                   |
   |       |               | conference without    |                   |
   |       |               | video streams.        |                   |
   | 413   | Control keys  | The request contains  | RFC6231           |
   |       | with same     | a <control> element   |                   |
   |       | value         | where some keys have  |                   |
   |       |               | the same value.       |                   |
   | 419   | Other         | Requested operation   | RFC6231           |
   |       | execution     | cannot be executed by |                   |
   |       | error         | the MS.               |                   |
   | 420   | Unsupported   | Request specifies a   | RFC6231           |
   |       | URI scheme    | URI whose scheme is   |                   |
   |       |               | not supported by the  |                   |
   |       |               | MS.                   |                   |
   | 421   | Unsupported   | Request references an | RFC6231           |
   |       | dialog        | external dialog       |                   |
   |       | language      | language not          |                   |
   |       |               | supported by the MS.  |                   |
   | 422   | Unsupported   | Request references a  | RFC6231           |
   |       | playback      | media resource for    |                   |
   |       | format        | playback whose format |                   |
   |       |               | is not supported by   |                   |
   |       |               | the MS.               |                   |
   | 423   | Unsupported   | Request references a  | RFC6231           |
   |       | record format | media resource for    |                   |
   |       |               | recording whose       |                   |
   |       |               | format is not         |                   |
   |       |               | supported by the MS.  |                   |
   | 424   | Unsupported   | Request references a  | RFC6231           |
   |       | grammar       | grammar whose format  |                   |
   |       | format        | is not supported by   |                   |
   |       |               | the MS.               |                   |
   | 425   | Unsupported   | Request contains a    | RFC6231           |
   |       | variable      | prompt <variable>     |                   |
   |       | configuration | element not supported |                   |
   |       |               | by the MS.            |                   |
   | 426   | Unsupported   | Request contains a    | RFC6231           |
   |       | DTMF          | prompt <dtmf> element |                   |
   |       | configuration | not supported by the  |                   |
   |       |               | MS.                   |                   |
   | 427   | Unsupported   | Request contains a    | RFC6231           |
   |       | parameter     | <param> element not   |                   |
   |       |               | supported by the MS.  |                   |
   | 428   | Unsupported   | Request contains a    | RFC6231           |
   |       | media stream  | <stream> element      |                   |
   |       | configuration | whose configuration   |                   |
   |       |               | is not supported by   |                   |
   |       |               | the MS.               |                   |
   | 429   | Unsupported   | Request contains a    | RFC6231           |
   |       | playback      | <prompt> element that |                   |
   |       | configuration | the MS is unable to   |                   |
   |       |               | play on the available |                   |
   |       |               | output media streams. |                   |
   | 430   | Unsupported   | Request contains a    | RFC6231           |
   |       | record        | <record> element that |                   |
   |       | configuration | the MS is unable to   |                   |
   |       |               | record with on the    |                   |
   |       |               | available input media |                   |
   |       |               | streams.              |                   |
   | 431   | Unsupported   | The request contains  | RFC6231           |
   |       | foreign       | attributes or         |                   |
   |       | namespace     | elements from another |                   |
   |       | attribute or  | namespace that the MS |                   |
   |       | element       | does not support.     |                   |
   | 432   | Unsupported   | The request tries to  | RFC6231           |
   |       | multiple      | start another dialog  |                   |
   |       | dialog        | on the same           |                   |
   |       | capability    | conference or         |                   |
   |       |               | connection where a    |                   |
   |       |               | dialog is already     |                   |
   |       |               | running.              |                   |
   | 433   | Unsupported   | The request contains  | RFC6231           |
   |       | collect and   | <collect> and         |                   |
   |       | record        | <record> elements and |                   |
   |       | capability    | the MS does not       |                   |
   |       |               | support these         |                   |
   |       |               | operations            |                   |
   |       |               | simultaneously.       |                   |
   | 434   | Unsupported   | The request contains  | RFC6231           |
   |       | VAD           | a <record> element    |                   |
   |       | capability    | where Voice Activity  |                   |
   |       |               | Detection (VAD) is    |                   |
   |       |               | required, but the MS  |                   |
   |       |               | does not support VAD. |                   |
   | 435   | Unsupported   | The request contains  | RFC6231           |
   |       | parallel      | a prompt <par>        |                   |
   |       | playback      | element whose         |                   |
   |       |               | configuration is not  |                   |
   |       |               | supported by the MS.  |                   |
   | 439   | Other         | Request requires      | RFC6231           |
   |       | unsupported   | another capability    |                   |
   |       | capability    | not supported by the  |                   |
   |       |               | MS.                   |                   |
   +-------+---------------+-----------------------+-------------------+

                           Table 1: Status Codes

4.  Acknowledgements

   I lifted the table in Section 3 directly from the excellent text
   written by Scott McGlashan, Tim Melanchuk, and Chris Boulton in RFC
   6231.  Any transcription errors are mine.

5.  Normative References

   [RFC6231]  McGlashan, S., Melanchuk, T., and C. Boulton, "An
              Interactive Voice Response (IVR) Control Package for the
              Media Control Channel Framework", RFC 6231, May 2011.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

Author's Address

   Eric Burger
   Georgetown University
   37th and O St., NW
   Washington, DC  20007
   USA

   EMail: eburger@standardstrack.com

AI ELI5

On this page
PROBLEMRFC 6231 defined status codes for the MEDIACTRL Interactive Voice Response (IVR) Control Package, but there was no IANA registry to record them or to govern new ones.
MECHANISMRFC 6623 has IANA create the 'MEDIACTRL Interactive Voice Response Control Package Status Codes' registry, fills it with the codes from RFC 6231, and says new codes need Standards Action.
WHY IT MATTERSThe codes now live in one public registry, and adding to it requires a standards-track process. The RFC is a Proposed Standard and updates RFC 6231.

§1What the RFC Does

RFC 6623 is a very small housekeeping document. Its only job is to create an IANA registry for the response codes of the MEDIACTRL Interactive Voice Response Control Package, which is described in RFC 6231.

The package is used to control interactive voice response (IVR) dialogs on the server that executes requests, which the codes call the MS. When the MS answers a request, it reports a numeric status code. Before this RFC, those codes were listed only inside RFC 6231.

A phone-menu system answers with number codes. This document just writes those codes down in one official list.

§2The New Registry and Its Rules

Section 3 says that IANA has created a registry named MEDIACTRL Interactive Voice Response Control Package Status Codes. Each entry has four columns: Code, Summary, Description and Reference.

New status codes are assigned using the Standards Action process defined in RFC 5226. In practice, a new code needs a standards-track document behind it, not just a request to IANA.

The acknowledgements note that the table was lifted directly from the text written by the authors of RFC 6231, and that any transcription errors are the new author's. Every row therefore points back to RFC 6231 as its reference.

The list has a rule for adding new numbers: you have to go through the official standards process first, so nobody can sneak one in.

§3The Status Codes

The table starts with 200 (OK, the request has succeeded) and 400 (a syntax error: the request is not valid against the XML schema, or breaks a co-occurrence constraint for a request element).

Codes 405 to 413 report problems with identifiers and resources. For example, 405 means a dialogid is already used by another dialog on the MS, 406, 407 and 408 mean a dialog, connection or conference identifier does not exist, 409 means an external resource could not be retrieved within the timeout interval, and 410 means the dialog was already terminated by a <dialogterminate>.

Codes 411 and 412 cover media stream problems: a configuration that conflicts with itself or with the connection or conference capabilities, and an operation for which no suitable media stream is available, such as playing video on a connection with no video streams. Code 413 flags a <control> element where some keys have the same value.

Each number means a different thing, like 200 for 'all good' and 400-something for 'I could not do that, and here is why'.

§4Unsupported Capabilities

Most of the remaining codes tell the sender that the MS cannot do what was asked. Code 419 is the catch-all for other execution errors, and 439 is the catch-all for another unsupported capability.

In between are specific refusals: 420 unsupported URI scheme, 421 unsupported dialog language, 422 unsupported playback format, 423 unsupported record format and 424 unsupported grammar format. Codes 425 to 430 reject individual elements or configurations: a prompt <variable>, a prompt <dtmf>, a <param>, a <stream> configuration, a <prompt> that cannot be played and a <record> that cannot be recorded.

The last specific codes cover optional features. Code 431 is for foreign namespace attributes or elements, 432 for starting another dialog where one is already running, 433 for <collect> and <record> used together, 434 for a record request that requires Voice Activity Detection (VAD) when the MS lacks it, and 435 for an unsupported prompt <par> element.

When the machine cannot do something you asked, it tells you exactly what it cannot do, like 'I cannot play that kind of sound file'.

§5Security Considerations

RFC 6623 adds nothing new here. It says there are no security considerations other than those already described in RFC 6231, the control package itself.

Making a list of codes does not create new dangers, so the only safety rules are the ones that already existed.

§6References