Configuring an IAX Softphone




A major advantage of using the IAX2 protocol is that it is designed to be more friendly
to working within odd network configurations, especially working behind NAT. This
makes it a fantastic protocol for softphone clients since they are often utilized on laptops
that  roam into many different networks,  often with no control of the  network itself
(such as when traveling between hotel networks).
The Inter-Asterisk eXchange (IAX) protocol is usually used for server-to-server com-
munication; more hard phones are available that talk SIP. However, there are several
softphones that support the IAX protocol, and work is progressing  on several fronts
for hard phone support in firmware. The primary difference between the IAX and SIP
protocols is the way media (your voice) is passed between endpoints.
With SIP, the RTP (media) traffic is passed using different ports than those used by the
signaling methods. For example, Asterisk receives the signaling of SIP on port 5060 and
the RTP (media) traffic on ports 10,000 through 20,000 by default. The IAX protocol
differs in that both the signaling and media traffic are passed via a single port: 4569.
An advantage to this approach is that  the IAX  protocol tends to be  better  suited  to
topologies involving NAT.

There exist many IAX-based softphones, but not so many hardware based phones. The
most pronounced reason is because IAX2 is not yet an IETF standard, yet many people
have become early adopters and have reaped the benefits.

An excellent IAX2 softphone is idefisk, available  at http://www.asteriskguru.com‡ for
free download. The authors have had excellent results with this softphone, and since
it runs on Microsoft Windows, 
Mac OS X, and Linux, it is an excellent cross-platform
softphone to write about. We will be demonstrating version 1.31 in this book, although
version 2.0 was recently released (April 2007) but is not yet available for Linux.