Randy (aka Zeeek or Randulo), founder of the VOIP Users Conference, was able to get his hands on a sample of the Allnet 7960 today and sent his initial thoughts on the device to the conference mailing list. This prompted another reader to pose the simple question, “Why does this matter?” (or something similar) More specifically, why does IAX2 matter in the light of a larger trends toward widespread SIP and IMS?
It’s a good question. So here’s my response.
IAX2 is a voip protocol native to Asterisk. It was created as a means of easily establishing trunks between Asterisk servers, hence the name, “Inter Asterisk eXchange.”
The initial version of the protocol (IAX) is now depricated. The current version is officially known as IAX2, but it’s commonly called just “IAX.” I’m told that the proper pronunciation is “eeks”, something said to originate with Mark Spencer himself.
IAX2 is attractive in a few ways.
- Connection Simplicity / NAT Traversal
- Trunking / Bandwidth Conservation
- Security / Encryption
Connection Simplicity / NAT Traversal
Most importantly it wraps up all the call signaling and media streams into one connection. This is in stark contrast to SIP where the call setup/tear down and media streams are on separate connections. Using one connection allows IAX connections to pass through routers & firewalls using only one port, which for IAX2 is 4569.
Since all the call data travels together IAX completely avoids the headaches involved with SIP traversal of NAT. In fact, given that the servers can qualify each other periodically, quite often you can pass IAX across a router without even opening up a port. The two servers will connect to each other and keep the connections alive automatically. If you do need to forward a port it’s only one port, not matter how many calls you pass across the IAX trunk.
Trunking / Bandwidth Conservation
Trunking is another advantage to IAX. Many calls can be “trunked” across a single IAX connection. This actually saves on per call TCP-IP overhead vs SIP, so you can conserve bandwidth by using IAX trunking. For more details about this see http://www.voip-info.org
Security / Encryption
Finally, within recent releases of Asterisk there is a simple to use built-in AES128 based encryption for IAX2 trunks. This encryption seems most appropriate for trunking between Asterisk servers. It is not known to be supported by any IAX2 end-point devices. Some details about this can be found on http://www.voip-info.org
My Own Experience
When I was initially working with Asterisk in my home office I elected to use IAX over SIP when dealing with ITSPs. This eliminated a lot of hassle in router setup and let me keep my LAN a little more secure. It also become one of the defining characteristics I looked for in an ITSP. Did they offer IAX trunks? Here are a few that I’ve used:
There are others. These are just the ones that I have tried. The ones marked with the * are ones that I really liked and used more heavily.
Digium have for some time offered a little device that they call IAXy. (eek see) This is a single port ATA providing one FXS interface. It would seem ideal for dropping analog phones from a central Asterisk server, perhaps in an apartment building or small ITSP. I’m not aware of the mechanics of its provisioning, but it would see like an attractive device for retail voip providers based simply upon the ease of NAT traversal.
Several Chinese manufacturers have been making phones and ATAs that are IAX2 capable. Many of these are based upon the AR1688 chipset which specifically targets low cost phones at ATAs. Unfortunately, a lot of them look and feel like low cost devices. This can take them out of play for some SOHO and business applications.
Some people rightfully demand something that both looks and feels like a quality device. On one VUG conference call last year someone remarked that an IAX2 phone worked well enough but was just too light. Leaning back in ones chair while on a call could cause the phone to literally slide off the desk. Their solution was to velcro the phone to the desk. This fact had been reported to the manufacturer who was supposedly acting to make newer models heavier. This kind of problem bothers business users. We like things that are inexpensive, but often don’t like things that are truly cheap.
To date most of the IAX2 capable phones have been in some way substandard. Mark Spencer himself remarked about this just a couple of weeks ago on hist last appearance on VUC.
A User Case: A Travel Agency
I have a friend who once oversaw IT for a large travel agency. Telephony was a large part of his role in the company. Also, they tended to use people who worked from home.
It was important that their home based workers function as if they were in the call center or office. To accomplish this the company would provision a DSL line or cable modem to the employees home, depending upon location. They then had to provide a phone, router/firewall and PC. Of course cost is always a factor as travel agencies are seriously cheap.
Using an IAX2 phone or ATA at the tele-workers home makes the network setup easier and less costly. The use of hard phone is likely less costly than providing a comparable 2-4 line analogue phone and accompanying FXS interfaces. The company can provide any simple router with basic QoS capability, as opposed to a more costly router with on board FXS ports. There is essentially no router configuration and minimal phone configuration.
Sure, the same situation can be addressed using SIP devices. In fact, I’ve done it myself and it also works well, too. But it was a little more troublesome making SIP work across NAT, and keeping it working over time. Now imagine a cableco/telco decides to start blocking SIP signaling ports to protect their own Digital Phone offering? What then?
IAX2 is not without its problems, but it retains a certain attraction in some situations. Randy has been happily using one of the cheapish GNET IAX phones (also an IAXy) for some time, even when traveling. I’ve used an IAX soft phone (Firefly) successfully in situations (typically hotels) where NAT prevented the use of SIP devices. In many respects the promise of IAX2 is the same sort of “it-just-works” experience that has made Skype such a success.
There are an ever increasing number of Asterisk installations. This would seem to create an opportunity for someone to offer high quality IAX2 capable hard phones and so enhance the Asterisk ecosystem. If this new, IAX2 capable, Allnet 7960 is an improvement upon the cheapish models of the past than at least we have another option.
IMS and Next Generation Networks
Asterisk is nice tool. Very handy. Very versatile. But anyone who installs it must also know that it’s not the right solution for everything or everyone. It seems to be most successfully deployed in businesses of a certain scale. Which is to say, you can bet that none of the major carriers use Asterisk as a core part of their network. Although slightly smaller carriers may use Asterisk in various supporting roles, such as for VM or IVR.
IAX2 is a wholly Asterisk specific phenomenon. As such its scope is limited, having essentially no application beyond Asterisk installations. Carriers may be migrating into SIP and further onward to IMS, but that has little bearing on IAX2. Nor does it keep IAX2 from providing a solution to situations faced by typical Asterisk users every day.
Over time I have shifted away from using IAX2 trunks to ITSPs. This too was a matter of scale as related to Asterisk. That is, some of the larger and more reliable ITSPs that I have settled on generally offer SIP trunks since their core network infrastructure is not Asterisk-centric. Some offer both SIP and IAX2 trunks, usually by hanging an Asterisk system off their core network as a bridge back into the SIP or TDM domains.
This doesn’t change the fact that for some end-user situations IAX2 devices are handy, even desirable. I’m still eager to read what randy has to say about Allnet’s 7960.