/
►
RFC 5457
Independent Submission E. Guy, Ed.
Request for Comments:
5457 Truphone
Category: Informational February 2010
ISSN: 2070-1721
IANA Considerations for IAX: Inter-Asterisk eXchange Version 2
Abstract This document establishes the IANA registries for IAX, the Inter-
Asterisk eXchange protocol, an application-layer control and media
protocol for creating, modifying, and terminating multimedia sessions
over Internet Protocol (IP) networks. IAX was developed by the open
source community for the Asterisk PBX and is targeted primarily at
Voice over Internet Protocol (VoIP) call control, but it can be used
with streaming video or any other type of multimedia.
Status of This Memo This document is not an Internet Standards Track specification; it is
published for informational purposes.
This is a contribution to the RFC Series, independently of any other
RFC stream. The RFC Editor has chosen to publish this document at
its discretion and makes no statement about its value for
implementation or deployment. Documents approved for publication by
the RFC Editor are not a candidate for any level of Internet
Standard; see
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/rfc5457 .
IESG Note The IESG thinks that this work is related to IETF work done in SIP,
MMUSIC, and AVT WGs, but this does not prevent publishing.
Copyright Notice Copyright (c) 2010 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.
Table of Contents 1. Introduction ....................................................2
2. IANA Considerations .............................................3
2.1. Meta Command ...............................................3
2.2. Frame Types ................................................3
2.3. Control Frame Subclass .....................................4
2.4. IAX Control Frames .........................................6
2.5. HTML Command Subclasses ....................................8
2.6. Information Elements .......................................8
2.7. Authentication Methods ....................................11
2.8. Dialplan Status Flags .....................................12
2.9. Calling Presentation ......................................12
2.10. Calling Type of Number (CALLINGTON) ......................13
2.11. IAX Transit Network Identification .......................14
2.12. IAX Type of Network ......................................15
2.13. Cause Codes ..............................................16
2.14. Encryption Methods .......................................18
2.15. Media Formats ............................................19
3. Security Considerations ........................................20
4. Acknowledgments ................................................20
5. Normative References ...........................................20
1. Introduction IAX (Inter-Asterisk eXchange) is an "all-in-one" protocol for
handling multimedia in IP networks. It combines both control and
media services in the same protocol. In addition, IAX uses a single
UDP data stream on a static port greatly simplifying Network Address
Translation (NAT) gateway traversal, eliminating the need for other
protocols to work around NAT, and simplifying network and firewall
management. IAX employs a compact encoding that decreases bandwidth
usage and is well suited for Internet telephony service. In
addition, its open nature permits new payload type additions needed
to support additional services.
This document specifies and provides the initial values for the
creation of the IAX-related IANA registries as per [
RFC5226 ].
2. IANA Considerations The IAX protocol, as defined in [
RFC5456 ], defines 15 namespaces that
have been registered. These namespaces are described below.
Each of these namespaces utilizes an 'Expert Review' for extension.
Documentation of new values is not mandated as RFCs. The Expert
Review should be guided by a few common sense considerations. For
example, new values should not be specific to a country, region,
organization, or company; they should be well-defined and widely
recognized.
2.1. Meta Command Registry Name: IAX Meta Commands
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.1.3.2 of [
RFC5456 ].
Valid Range: 0x01-x7F.
Display format: hex.
The following table specifies the initial assignments of Meta Command
values:
+------+-----------------+------------------------------------------+
| TYPE | Name | Description |
+------+-----------------+------------------------------------------+
| 0x01 | Trunk Meta | Indicates that frame is a trunk meta |
| | Frame | frame. |
+------+-----------------+------------------------------------------+
2.2. Frame Types Registry Name: IAX Frame Types
Required Information for New Values: Name, description, and relevant
security considerations, if any. In addition, the definition and
description of subclasses.
Description: See Section 8.2 of [
RFC5456 ].
Valid Range: 0x01-xFF.
Display format: hex.
The following table specifies the initial assignments of Frame Type
Values:
+------+-------------+--------------------------+-------------------+
| TYPE | Description | Subclass Description | Data Description |
+------+-------------+--------------------------+-------------------+
| 0x01 | DTMF | 0-9, A-D, *, # | Undefined |
| | | | |
| 0x02 | Voice | Audio Compression Format | Data |
| | | | |
| 0x03 | Video | Video Compression Format | Data |
| | | | |
| 0x04 | Control | See Control Frame | Varies with |
| | | Subclass | subclass |
| | | | |
| 0x05 | Null | Undefined | Undefined |
| | | | |
| 0x06 | IAX Control | See IAX Protocol | Information |
| | | Messages | Elements |
| | | | |
| 0x07 | Text | Always 0 | Raw Text |
| | | | |
| 0x08 | Image | Image Compression Format | Raw image |
| | | | |
| 0x09 | HTML | See HTML Frame Types | Message Specific |
| | | | |
| 0x0A | Comfort | Level in -dBov of | None |
| | Noise | comfort noise | |
+------+-------------+--------------------------+-------------------+
2.3. Control Frame Subclass Registry Name: IAX Control Frame Subclass
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.3 of [
RFC5456 ].
Valid Range: 0x00-x7F.
Display format: hex.
The following table specifies the initial assignments of Control Frame Subclasses: +-------------+---------------+-------------------------------------+ | VALUE | Name | Description | +-------------+---------------+-------------------------------------+ | 0x01 | Hangup | The call has been hungup at the | | | | remote end | | | | | | 0x02 | Reserved | Reserved for future use | | | | | | 0x03 | Ringing | Remote end is ringing (ring-back) | | | | | | 0x04 | Answer | Remote end has answered | | | | | | 0x05 | Busy | Remote end is busy | | | | | | 0x06 | Reserved | Reserved for future use | | | | | | 0x07 | Reserved | Reserved for future use | | | | | | 0x08 | Congestion | The call is congested | | | | | | 0x09 | Flash Hook | Flash hook | | | | | | 0x0a | Reserved | Reserved for future use | | | | | | 0x0b | Option | Device-specific options are being | | | | transmitted | | | | | | 0x0c | Key Radio | Key Radio | | | | | | 0x0d | Unkey Radio | Unkey Radio | | | | | | 0x0e | Call Progress | Call is in progress | | | | | | 0x0f | Call | Call is proceeding | | | Proceeding | | | | | | | 0x10 | Hold | Call is placed on hold | | | | | | 0x11 | Unhold | Call is taken off hold | +-------------+---------------+-------------------------------------+
2.4. IAX Control Frames Registry Name: IAX Control Frames
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.4 of [
RFC5456 ].
Valid Range: 0x01-x7F.
Display format: hex.
The following table specifies the initial assignments of IAX Control
Frame values:
+------+-----------+-----------------------------------------+
| Hex | Name | Description |
+------+-----------+-----------------------------------------+
| 0x01 | NEW | Initiate a new call |
| | | |
| 0x02 | PING | Ping request |
| | | |
| 0x03 | PONG | Ping or poke reply |
| | | |
| 0x04 | ACK | Explicit acknowledgment |
| | | |
| 0x05 | HANGUP | Initiate call tear-down |
| | | |
| 0x06 | REJECT | Reject a call |
| | | |
| 0x07 | ACCEPT | Accept a call |
| | | |
| 0x08 | AUTHREQ | Authentication request |
| | | |
| 0x09 | AUTHREP | Authentication reply |
| | | |
| 0x0a | INVAL | Invalid message |
| | | |
| 0x0b | LAGRQ | Lag request |
| | | |
| 0x0c | LAGRP | Lag reply |
| | | |
| 0x0d | REGREQ | Registration request |
| | | |
| 0x0e | REGAUTH | Registration authentication |
| | | |
| 0x0f | REGACK | Registration acknowledgement |
| | | | | 0x10 | REGREJ | Registration reject | | | | | | 0x11 | REGREL | Registration release | | | | | | 0x12 | VNAK | Video/Voice retransmit request | | | | | | 0x13 | DPREQ | Dialplan request | | | | | | 0x14 | DPREP | Dialplan reply | | | | | | 0x15 | DIAL | Dial | | | | | | 0x16 | TXREQ | Transfer request | | | | | | 0x17 | TXCNT | Transfer connect | | | | | | 0x18 | TXACC | Transfer accept | | | | | | 0x19 | TXREADY | Transfer ready | | | | | | 0x1a | TXREL | Transfer release | | | | | | 0x1b | TXREJ | Transfer reject | | | | | | 0x1c | QUELCH | Halt audio/video [media] transmission | | | | | | 0x1d | UNQUELCH | Resume audio/video [media] transmission | | | | | | 0x1e | POKE | Poke request | | | | | | 0x1f | Reserved | Reserved for future use | | | | | | 0x20 | MWI | Message waiting indication | | | | | | 0x21 | UNSUPPORT | Unsupported message | | | | | | 0x22 | TRANSFER | Remote transfer request | | | | | | 0x23 | Reserved | Reserved for future use | | | | | | 0x24 | Reserved | Reserved for future use | | | | | | 0x25 | Reserved | Reserved for future use | +------+-----------+-----------------------------------------+
2.5. HTML Command Subclasses Registry Name: IAX HTML Command Subclasses
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.2 of [
RFC5456 ].
Valid Range: 0x01-x7F.
Display format: hex.
The following table specifies the initial assignments of IAX HTML
Command Subclasses:
+--------+----------------------------+
| NUMBER | DESCRIPTION |
+--------+----------------------------+
| 0x01 | Sending a URL |
| | |
| 0x02 | Data frame |
| | |
| 0x04 | Beginning frame |
| | |
| 0x08 | End frame |
| | |
| 0x10 | Load is complete |
| | |
| 0x11 | Peer does not support HTML |
| | |
| 0x12 | Link URL |
| | |
| 0x13 | Unlink URL |
| | |
| 0x14 | Reject Link URL |
+--------+----------------------------+
2.6. Information Elements Registry Name: IAX Information Elements
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6 of [
RFC5456 ].
Valid Range: 0x01-xFF.
Display format: hex. The following table specifies the Initial Assignments of Information Element Definitions: +------+----------------+-------------------------------------------+ | HEX | NAME | DESCRIPTION | +------+----------------+-------------------------------------------+ | 0x01 | CALLED NUMBER | Number/extension being called | | | | | | 0x02 | CALLING NUMBER | Calling number | | | | | | 0x03 | CALLING ANI | Calling number ANI for billing | | | | | | 0x04 | CALLING NAME | Name of caller | | | | | | 0x05 | CALLED CONTEXT | Context for number | | | | | | 0x06 | USERNAME | Username (peer or user) for | | | | authentication | | | | | | 0x07 | PASSWORD | Password for authentication | | | | | | 0x08 | CAPABILITY | Actual CODEC capability | | | | | | 0x09 | FORMAT | Desired CODEC format | | | | | | 0x0a | LANGUAGE | Desired language | | | | | | 0x0b | VERSION | Protocol version | | | | | | 0x0c | ADSICPE | CPE ADSI capability | | | | | | 0x0d | DNID | Originally dialed DNID | | | | | | 0x0e | AUTHMETHODS | Authentication method(s) | | | | | | 0x0f | CHALLENGE | Challenge data for MD5/RSA | | | | | | 0x10 | MD5 RESULT | MD5 challenge result | | | | | | 0x11 | RSA RESULT | RSA challenge result | | | | | | 0x12 | APPARENT ADDR | Apparent address of peer | | | | | | 0x13 | REFRESH | When to refresh registration | | | | | | 0x14 | DPSTATUS | Dialplan status |
| | | | | 0x15 | CALLNO | Call number of peer | | | | | | 0x16 | CAUSE | Cause | | | | | | 0x17 | IAX UNKNOWN | Unknown IAX command | | | | | | 0x18 | MSGCOUNT | How many messages waiting | | | | | | 0x19 | AUTOANSWER | Request auto-answering | | | | | | 0x1a | MUSICONHOLD | Request musiconhold with QUELCH | | | | | | 0x1b | TRANSFERID | Transfer Request Identifier | | | | | | 0x1c | RDNIS | Referring DNIS | | | | | | 0x1d | Reserved | Reserved for future use | | | | | | 0x1e | Reserved | Reserved for future use | | | | | | 0x1f | DATETIME | Date/Time | | | | | | 0x20 | Reserved | Reserved for future use | | | | | | 0x21 | Reserved | Reserved for future use | | | | | | 0x22 | Reserved | Reserved for future use | | | | | | 0x23 | Reserved | Reserved for future use | | | | | | 0x24 | Reserved | Reserved for future use | | | | | | 0x25 | Reserved | Reserved for future use | | | | | | 0x26 | CALLINGPRES | Calling presentation | | | | | | 0x27 | CALLINGTON | Calling type of number | | | | | | 0x28 | CALLINGTNS | Calling transit network select | | | | | | 0x29 | SAMPLINGRATE | Supported sampling rates | | | | | | 0x2a | CAUSECODE | Hangup cause | | | | | | 0x2b | ENCRYPTION | Encryption format | | | | | | 0x2c | ENCKEY | Reserved for future use |
| | | |
| 0x2d | CODEC PREFS | CODEC Negotiation |
| | | |
| 0x2e | RR JITTER | Received jitter, as in
RFC 3550 |
| | | |
| 0x2f | RR LOSS | Received loss, as in
RFC 3550 |
| | | |
| 0x30 | RR PKTS | Received frames |
| | | |
| 0x31 | RR DELAY | Max playout delay for received frames in |
| | | ms |
| | | |
| 0x32 | RR DROPPED | Dropped frames (presumably by jitter |
| | | buffer) |
| | | |
| 0x33 | RR OOO | Frames received Out of Order |
| | | |
| 0x34 | OSPTOKEN | OSP Token Block |
+------+----------------+-------------------------------------------+
Table 1: Information Element Definitions
2.7. Authentication Methods Registry Name: IAX Authentication Methods
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.13 of [
RFC5456 ].
Valid Range: 0x0001-xFFFF bitmask, values must be a power of two.
Display format: hex.
The following table specifies the initial assignments of IAX
Authentication Methods:
+--------+--------------------------+
| METHOD | DESCRIPTION |
+--------+--------------------------+
| 0x0001 | Reserved (was Plaintext) |
| | |
| 0x0002 | MD5 |
| | |
| 0x0004 | RSA |
+--------+--------------------------+
2.8. Dialplan Status Flags Registry Name: IAX Dialplan Status Flags
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.19 of [
RFC5456 ].
Valid Range: 0x0001-xFFFF bitmask, values must be a power of two.
Display format: hex.
The following table specifies the initial assignments of IAX dialplan
status flags:
+--------+------------------------------+
| FLAG | DESCRIPTION |
+--------+------------------------------+
| 0x0001 | Exists |
| | |
| 0x0002 | Can exist |
| | |
| 0x0004 | Non-existent |
| | |
| 0x4000 | Retain dialtone (ignorepat) |
| | |
| 0x8000 | More digits may match number |
+--------+------------------------------+
2.9. Calling Presentation Registry Name: IAX Calling Presentation
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.29 of [
RFC5456 ].
Valid Range: 0x00-xFF.
Display format: hex.
The following table specifies the initial assignments of calling
presentation values:
+------+--------------------------------------+
| FLAG | PRESENTATION |
+------+--------------------------------------+
| 0x00 | Allowed user/number not screened |
| | |
| 0x01 | Allowed user/number passed screen |
| | |
| 0x02 | Allowed user/number failed screen |
| | |
| 0x03 | Allowed network number |
| | |
| 0x20 | Prohibited user/number not screened |
| | |
| 0x21 | Prohibited user/number passed screen |
| | |
| 0x22 | Prohibited user/number failed screen |
| | |
| 0x23 | Prohibited network number |
| | |
| 0x43 | Number not available |
+------+--------------------------------------+
NOTE: The values in this table are derived from Q.931; however,
future values may be from other sources.
2.10. Calling Type of Number (CALLINGTON) Registry Name: IAX Calling Type of Number
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.30 of [
RFC5456 ].
Valid Range: 0x00-xFF.
Display format: hex.
The following table specifies the initial assignments of valid
calling type of number values:
+-------+-------------------------+
| VALUE | DESCRIPTION |
+-------+-------------------------+
| 0x00 | Unknown |
| | |
| 0x10 | International Number |
| | |
| 0x20 | National Number |
| | |
| 0x30 | Network Specific Number |
| | |
| 0x40 | Subscriber Number |
| | |
| 0x60 | Abbreviated Number |
| | |
| 0x70 | Reserved for extension |
+-------+-------------------------+
NOTE: The values in this table are derived from Q.931; however,
future values may be from other sources.
2.11. IAX Transit Network Identification Registry Name: IAX Transit Network Identification Plan
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.31 of [
RFC5456 ].
Valid Range: 0000-1111 (four bits).
Display format: binary.
The following table specifies the initial assignments of IAX Calling
Type of Number values:
+------+----------------------------------+
| BITS | DESCRIPTION |
+------+----------------------------------+
| 0000 | Unknown |
| | |
| 0001 | Caller Identification Code |
| | |
| 0011 | Data Network Identification Code |
+------+----------------------------------+
NOTE: The values in this table are derived from Q.931; however,
future values may be from other sources.
2.12. IAX Type of Network Registry Name: IAX Type of Network
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.30 of [
RFC5456 ].
Valid Range: 000-111 (three bits).
Display format: binary.
The following table specifies the initial assignments of IAX Calling
Type of Network values:
+------+--------------------------------------+
| BITS | DESCRIPTION |
+------+--------------------------------------+
| 000 | User Specified |
| | |
| 010 | National Network Identification |
| | |
| 011 | International Network Identification |
+------+--------------------------------------+
NOTE: The values in this table are derived from Q.931, however,
future values may be from other sources.
2.13. Cause Codes Registry Name: IAX Cause Codes
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.30 of [
RFC5456 ].
Valid Range: 1-255.
Display format: decimal.
The following table specifies the initial assignments of IAX Cause
Code values:
+--------+----------------------------------------------------------+
| NUMBER | CAUSE |
+--------+----------------------------------------------------------+
| 1 | Unassigned/unallocated number |
| | |
| 2 | No route to specified transit network |
| | |
| 3 | No route to destination |
| | |
| 6 | Channel unacceptable |
| | |
| 7 | Call awarded and delivered |
| | |
| 16 | Normal call clearing |
| | |
| 17 | User busy |
| | |
| 18 | No user response |
| | |
| 19 | No answer |
| | |
| 21 | Call rejected |
| | |
| 22 | Number changed |
| | |
| 27 | Destination out of order |
| | |
| 28 | Invalid number format/incomplete number |
| | |
| 29 | Facility rejected |
| | |
| 30 | Response to status enquiry |
| | | | 31 | Normal, unspecified | | | | | 34 | No circuit/channel available | | | | | 38 | Network out of order | | | | | 41 | Temporary failure | | | | | 42 | Switch congestion | | | | | 43 | Access information discarded | | | | | 44 | Requested channel not available | | | | | 45 | Preempted (causes.h only) | | | | | 47 | Resource unavailable, unspecified (Q.931 only) | | | | | 50 | Facility not subscribed (causes.h only) | | | | | 52 | Outgoing call barred (causes.h only) | | | | | 54 | Incoming call barred (causes.h only) | | | | | 57 | Bearer capability not authorized | | | | | 58 | Bearer capability not available | | | | | 63 | Service or option not available (Q.931 only) | | | | | 65 | Bearer capability not implemented | | | | | 66 | Channel type not implemented | | | | | 69 | Facility not implemented | | | | | 70 | Only restricted digital information bearer capability is | | | available (Q.931 only) | | | | | 79 | Service or option not available (Q.931 only) | | | | | 81 | Invalid call reference | | | | | 82 | Identified channel does not exist (Q.931 only) | | | | | 83 | A suspended call exists, but this call identity does not | | | (Q.931 only) |
| | |
| 84 | Call identity in use (Q.931 only) |
| | |
| 85 | No call suspended (Q.931 only) |
| | |
| 86 | Call has been cleared (Q.931 only) |
| | |
| 88 | Incompatible destination |
| | |
| 91 | Invalid transit network selection (Q.931 only) |
| | |
| 95 | Invalid message, unspecified |
| | |
| 96 | Mandatory information element missing (Q.931 only) |
| | |
| 97 | Message type nonexistent/not implemented |
| | |
| 98 | Message not compatible with call state |
| | |
| 99 | Information element nonexistent |
| | |
| 100 | Invalid information element contents |
| | |
| 101 | Message not compatible with call state |
| | |
| 102 | Recovery on timer expiration |
| | |
| 103 | Mandatory information element length error (causes.h |
| | only) |
| | |
| 111 | Protocol error, unspecified |
| | |
| 127 | Internetworking, unspecified |
+--------+----------------------------------------------------------+
2.14. Encryption Methods Registry Name: IAX Encryption Methods
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.6.34 of [
RFC5456 ].
Valid Range: 0x0001-x8000 bitmask, values must be a power of two.
Display format: hex.
The following table specifies the initial assignments of IAX
encryption methods:
+--------+-------------+
| METHOD | DESCRIPTION |
+--------+-------------+
| 0x0001 | AES-128 |
+--------+-------------+
2.15. Media Formats Registry Name: IAX Media Formats
Required Information for New Values: Name, description, and relevant
security considerations, if any.
Description: See Section 8.7 of [
RFC5456 ].
Valid Range: 0x0001-x8000 bitmask, values must be a power of two.
Display format: hex.
The following table specifies the initial assignments of IAX Media
Format Values
+------------+-----------------------------+
| SUBCLASS | DESCRIPTION |
+------------+-----------------------------+
| 0x00000001 | G.723.1 |
| | |
| 0x00000002 | GSM Full Rate |
| | |
| 0x00000004 | G.711 mu-law |
| | |
| 0x00000008 | G.711 a-law |
| | |
| 0x00000010 | G.726 |
| | |
| 0x00000020 | IMA ADPCM |
| | |
| 0x00000040 | 16-bit linear little-endian |
| | |
| 0x00000080 | LPC10 |
| | |
| 0x00000100 | G.729 |
| | |
| 0x00000200 | Speex |
| | |
| 0x00000400 | ILBC |
| | |
| 0x00000800 | G.726 AAL2 |
| | |
| 0x00001000 | G.722 |
| | |
| 0x00002000 | AMR |
| | |
| 0x00010000 | JPEG |
| | |
| 0x00020000 | PNG |
| | |
| 0x00040000 | H.261 |
| | |
| 0x00080000 | H.263 |
| | |
| 0x00100000 | H.263p |
| | |
| 0x00200000 | H.264 |
+------------+-----------------------------+
3. Security Considerations This document defines IAX registries and as such does not raise
security issues beyond those discussed in [
RFC5456 ].
4. Acknowledgments The author would like to thank Marc Blanchet and Michelle Cotton for
their support and suggestions.
5. Normative References [
RFC5226 ] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26,
RFC 5226 ,
May 2008.
[
RFC5456 ] Spencer, M., Capouch, B., Guy, E., Ed., Miller, F., and K.
Shumard, "IAX: Inter-Asterisk eXchange Version 2",
RFC 5456 , February 2010.
Author's Address Ed Guy (editor)
Truphone
12 Williams Rd
Chatham, NJ 07928
US
Phone: +1 973 437 4519
EMail: edguy@emcsw.com
URI:
http://www.truphone.com/