IAX protocol simplifies VoIP
By Rick Segrest
One reason analog telephones are still around is that you can buy an inexpensive model, plug it in and begin making calls right away. When was the last time you were able to do that with a new IP phone? Most VoIP protocols are hard to configure in certain environments, making it difficult to get many new VoIP products working out of the box.
After Mark Spencer created Asterisk, the open source PBX, he started to see how this lack of simplicity could be a huge barrier to the VoIP market. In response, he created a new protocol called IAX.
The goals for this new protocol were to minimize the necessary bandwidth for signaling and media, and provide internal support for network address translation (NAT) transparency, all while remaining extensible for future enhancements. No extra configuration is necessary to coerce IAX to traverse NAT firewalls.
Instead of using Real-time Protocol (RTP), IAX uses User Datagram Protocol (UDP) over a single Internet port (Port 4569) to transmit and receive signaling and media. IAX easily traverses firewalls and uses much less overhead than RTP. IAX can triple the number of calls sent through a single megabit when using the G.729 compression codec. For example, pairing G.729 with the IAX protocol allows at least 103 calls to be sent over 1M bit of bandwidth.
Rather than parsing text commands, IAX uses binary-only data because this is the natural way for machines to communicate with each other.
The IAX protocol responses are sent back to wherever they came from rather than having to negotiate a foreign IP address. Because it constantly sends ping-pong queries, if the line suddenly goes dead, the IAX device will realize this in less than a minute.
All signaling takes place within a consistent Layer 2 data link layer. Dual-tone multi-frequency tones are always sent through the same path as the rest of the signaling data and so are reliably retransmitted on the other end.
For the full report, please go to:
http://www.nwfusion.com/news/tech/2005/041105techupdate.html?nlt