Inter-Asterisk eXchange
   HOME

TheInfoList



OR:

Inter-Asterisk eXchange (IAX) is a
communications protocol A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics and synch ...
native to the
Asterisk The asterisk ( ), from Late Latin , from Ancient Greek , ''asteriskos'', "little star", is a typographical symbol. It is so called because it resembles a conventional image of a heraldic star. Computer scientists and mathematicians often voc ...
private branch exchange A business telephone system is a multiline telephone system typically used in business environments, encompassing systems ranging in technology from the key telephone system (KTS) to the private branch exchange (PBX). A business telephone syst ...
(PBX) software, and is supported by a few other
softswitch A softswitch (''software switch'') is a call-switching node in a telecommunications network, based not on the specialized switching hardware of the traditional telephone exchange, but implemented in software running on a general-purpose computing ...
es, PBX systems, and softphones. It is used for transporting
VoIP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet t ...
telephony sessions between servers and to terminal devices. The original IAX protocol is
deprecated In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing ...
and has been superseded by a second version, commonly called IAX2. The IAX2 protocol was published as an informational (non-standards-track) RFC 5456 by discretion of the RFC Editor in February 2010.


Basic properties

IAX is a
VoIP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet t ...
protocol that can be used for any type of streaming media including video, but is mainly designed for IP voice calls. IAX uses a single
User Datagram Protocol In computer networking, the User Datagram Protocol (UDP) is one of the core communication protocols of the Internet protocol suite used to send messages (transported as datagrams in packets) to other hosts on an Internet Protocol (IP) netwo ...
(UDP) data stream between endpoints for both the session
signaling In signal processing, a signal is a function that conveys information about a phenomenon. Any quantity that can vary over space or time can be used as a signal to share messages between observers. The '' IEEE Transactions on Signal Processing' ...
and the media payloads. Thus it uses only a single UDP port number, typically 4569. This feature provides benefits for traversing network address translators on network boundaries, as it simplifies
firewall Firewall may refer to: * Firewall (computing), a technological barrier designed to prevent unauthorized or unwanted communications between computer networks or hosts * Firewall (construction), a barrier inside a building, designed to limit the spre ...
configuration. Other VoIP protocols typically use independent streams for signaling and media, such as the
Session Initiation Protocol The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telepho ...
(SIP),
H.323 H.323 is a recommendation from the ITU Telecommunication Standardization Sector (ITU-T) that defines the protocols to provide audio-visual communication sessions on any packet network. The H.323 standard addresses call signaling and control, mu ...
, and the
Media Gateway Control Protocol The Media Gateway Control Protocol (MGCP) is a signaling and call control communication protocol used in voice over IP (VoIP) telecommunication systems. It implements the media gateway control protocol architecture for controlling media gate ...
(MGCP), which carry media with the
Real-time Transport Protocol The Real-time Transport Protocol (RTP) is a network protocol for delivering audio and video over IP networks. RTP is used in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applicati ...
(RTP). IAX is a binary-encoded protocol. New extension features must have a new numeric code allocated. Historically, this was modeled after the internal data passing of Asterisk modules. IAX supports
trunking In telecommunications, trunking is a technology for providing network access to multiple clients simultaneously by sharing a set of circuits, carriers, channels, or frequencies, instead of providing individual circuits or channels for each cli ...
,
multiplexing In telecommunications and computer networking, multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium. The aim is to share a scarce resource - ...
channels over a single link. When
trunking In telecommunications, trunking is a technology for providing network access to multiple clients simultaneously by sharing a set of circuits, carriers, channels, or frequencies, instead of providing individual circuits or channels for each cli ...
, data from multiple sessions are merged into a single stream of packets between two endpoints, reducing the IP overhead without creating additional latency. This is advantageous in
VoIP Voice over Internet Protocol (VoIP), also called IP telephony, is a method and group of technologies for the delivery of voice communications and multimedia sessions over Internet Protocol (IP) networks, such as the Internet. The terms Internet t ...
transmissions, in which IP headers use a large percentage of bandwidth. IAX2 supports native encryption of both control and media streams using
AES-128 The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001. AES is a variant ...
.


Origin

Both versions of the IAX protocol were created by Mark Spencer and much of the development was carried out in the Asterisk open-source community.


Goals

The primary goals for IAX are to minimize bandwidth used in media transmissions, with particular attention drawn to control individual voice calls, and to provide native network address translation (NAT) transparency. It was intended to be easy to use behind firewalls.


Drawbacks

* Awkward extensibility: Due to the lack of a generic extension mechanism, new features have to be added in the protocol specification, which makes the protocol less flexible than
H.323 H.323 is a recommendation from the ITU Telecommunication Standardization Sector (ITU-T) that defines the protocols to provide audio-visual communication sessions on any packet network. The H.323 standard addresses call signaling and control, mu ...
, SIP or MGCP. * Vulnerability: Older implementations of IAX2 were vulnerable to resource exhaustion DoS attacks that are available to the public. While no solutions existed for these issues, the best practices included limiting UDP port access to specific trusted IP addresses. Internet-facing IAX2 ports are considered vulnerable and should be monitored closely. The fuzzer used to detect these application vulnerabilities was posted on milw0rm and is included in the ''VoIPer'' development tree. These issues were briefly mentioned in the IAX RFC 5456 on page 94. This flaw does not exist in up-to-date installations of Asterisk or other PBXes.


See also

* SIP connection (aka SIP trunk)


References


External links

* IAX: Inter-Asterisk eXchange Version 2 * IANA Registration for Enumservice 'iax' * {{DEFAULTSORT:Inter-Asterisk Exchange VoIP protocols Asterisk (PBX) Application layer protocols