IAX
   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 variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
native to the
Asterisk The asterisk ( ), from Late Latin , from Ancient Greek , , "little star", is a Typography, typographical symbol. It is so called because it resembles a conventional image of a star (heraldry), heraldic star. Computer scientists and Mathematici ...
private branch exchange A business telephone system is a telephone system typically used in business environments, encompassing the range of technology from the key telephone system (KTS) to the private branch exchange (PBX). A business telephone system differs from ...
(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
softphone A softphone is a software program for making telephone calls over the Internet using a general purpose computer rather than dedicated hardware. The softphone can be installed on a piece of equipment such as a desktop, mobile device, or other compu ...
s. It is used for transporting
voice over IP Voice over Internet Protocol (VoIP), also known as IP telephony, is a set of technologies used primarily for voice communication sessions over Internet Protocol (IP) networks, such as the Internet. VoIP enables voice calls to be transmitted as ...
telephony sessions between servers and to terminal devices. The original IAX protocol is
deprecated Deprecation is the discouragement of use of something human-made, such as a term, feature, design, or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available. Something may be deprec ...
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 binary-encoded
voice over Internet protocol Voice over Internet Protocol (VoIP), also known as IP telephony, is a set of technologies used primarily for voice communication sessions over Internet Protocol (IP) networks, such as the Internet. VoIP enables Voice call, voice calls to be tran ...
(VoIP) that is used for streaming media, but is primarily 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 Network packet, packets) to other hosts on an Internet Protoco ...
(UDP) data stream and
port number In computer networking, a port is a communication endpoint. At the software level within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port is uniquely identified by a numbe ...
, by default 4569, between endpoints for both session
signaling A signal is both the process and the result of transmission of data over some media accomplished by embedding some variation. Signals are important in multiple subject fields including signal processing, information theory and biology. ...
and media payloads. This feature provides benefits for traversing
network address translator Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was initia ...
s at 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 channels 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, and the
Media Gateway Control Protocol The Media Gateway Control Protocol (MGCP) is a telecommunication protocol for signaling and call control in hybrid voice over IP (VoIP) and traditional telecommunication systems. It implements the media gateway control protocol architecture f ...
(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 applic ...
(RTP). 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 clie ...
,
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 clie ...
, data from multiple sessions are merged into a single stream of
packet Packet may refer to: * A small container or pouch ** Packet (container), a small single use container ** Cigarette packet ** Sugar packet * Network packet, a formatted unit of data carried by a packet-mode computer network * Packet radio, a form ...
s between two endpoints, reducing the IP overhead. This is advantageous in VoIP transmissions, in which IP headers use a large fraction of
bandwidth Bandwidth commonly refers to: * Bandwidth (signal processing) or ''analog bandwidth'', ''frequency bandwidth'', or ''radio bandwidth'', a measure of the width of a frequency range * Bandwidth (computing), the rate of data transfer, bit rate or thr ...
. 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, and to provide native
network address translation Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic Router (computing), routing device. The te ...
(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, SIP, and MGCP. * Vulnerability: Older implementations of IAX2 were vulnerable to resource exhaustion DoS attack methods 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 In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exception ...
used to detect these application vulnerabilities was posted on
milw0rm Milw0rm is a group of hacktivists best known for penetrating the computers of the Bhabha Atomic Research Centre (BARC) in Mumbai, the primary nuclear research facility of India, on June 3, 1998. The group conducted hacks for political reasons, in ...
. 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.


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