Inter-Asterisk eXchange

Inter-Asterisk eXchange (IAX) is a communications protocol native to the Asterisk private branch exchange (PBX) software, and is supported by a few other softswitches, PBX systems, and softphones. It is used for transporting VoIP telephony sessions between servers and to terminal devices.

The original IAX protocol is deprecated and has been superseded by a second version, commonly called IAX2. The IAX2 protocol was published as an RFC 5456 by discretion of the RFC Editor in February 2010.[1]

Basic properties

IAX is a VoIP 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 (UDP) data stream between endpoints for both the session signaling 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 configuration. Other VoIP protocols typically use independent streams for signaling and media, such as the Session Initiation Protocol (SIP), H.323, and the Media Gateway Control Protocol (MGCP), which carry media with the Real-time Transport Protocol (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.[citation needed]

IAX supports trunking, multiplexing channels over a single link. When trunking, 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 transmissions, in which IP headers use a large percentage of bandwidth.

IAX2 supports native encryption of both control and media streams using AES-128.

Other Languages
español: IAX2
polski: IAX
português: IAX
русский: IAX
українська: IAX