login | register
Sat 04 of Jul, 2009 [05:09 UTC]

voip-info.org

History

IAX versus SIP

Created by: breid,Last modification on Wed 18 of Mar, 2009 [18:59 UTC] by sverma
Date: Mon, 5 Jul 2004 18:59:52 -0500 (CDT)
From: Mark Spencer <markster@digium.com>

Let me summarize some differences between SIP and IAX, and it might help you make a decision about what is best for you.

1) IAX is more efficient on the wire than RTP for any number of calls, any codec. The benefit is anywhere from 2.4k for a single call to approximately tripling the number of calls per megabit for G.729 when measured to the MAC level when running trunk mode.

2) IAX is information-element encoded rather than ASCII encoded. This makes implementations substantially simpler and more robust to buffer overrun attacks since absolutely no text parsing or interpretation is required. The IAXy runs its entire IP stack, IAX stack, TDM interface, echo canceler, and callerid generation in 4k of heap and stack and 64k of flash. Clearly this demonstrates the implementation efficiency of its design. The size of IAX signaling packets is phenomenally smaller than those of SIP, but that is generally not a concern except with large numbers of clients frequently registering. Generally speaking, IAX2 is more efficient in its encoding, decoding and verifying information, and it would be extremely difficult for an author of an IAX implementation to somehow be incompatible with another implementation since so little is left to interpretation.

3) IAX has a very clear layer2 and layer3 separation, meaning that both signaling and audio have defined states, are robustly transmitted in a consistent fashion, and that when one end of the call abruptly disappears, the call WILL terminate in a timely fashion, even if no more signaling and/or audio is received. SIP does not have such a mechanism, and its reliability from a signaling perspective is obviously very poor and clumsy requiring additional standards beyond the core RF3261.

4) IAX's unified signaling and audio paths permit it to transparently navigate NAT's and provide a firewall administrator only a *single* port to have to open to permit its use. It requires an IAX client to know absolutely nothing about the network that it is on to operate. More clearly stated, there is *never* a situation that can be created with a firewall in which IAX can complete a call and not be able to pass audio (except of course if there was insufficient bandwidth).

5) IAX's authenticated transfer system allows you to transfer audio and call control off a server-in-the-middle in a robust fashion such that if the two endpoints cannot see one another for any reason, the call continues through the central server.

6) IAX clearly separates Caller*ID from the authentication mechanism of the user. SIP does not have a clear method to do this unless Remote-Party-ID is used.

7) SIP is an IETF standard. While there is some fledgling documentation courtesy Frank Miller, IAX is not a published standard at this time.

September 2006: Now there is an IETF Draft to be discovered at http://www.ietf.org/internet-drafts/draft-guy-iax-01.txt October 2006: IETF Draft for IAX2 to be discovered at http://www.ietf.org/internet-drafts/draft-guy-iax-02.txt Sometime between: (the version 03 was published in the mean time) March 30th, 2008: IETF Draft for IAX2, version 4: http://www.ietf.org/internet-drafts/draft-guy-iax-04.txt

8) IAX allows an endpoint to check the validity of a phone number to know whether the number is complete, may be complete, or is complete but could be longer. There is no way to completely support this in SIP.

9) IAX always sends DTMF out of band so there is never any confusion about what method is used.

10) IAX support transmission of language and context, which are useful in an Asterisk environment. That's pretty much all that comes to mind at the moment.


Mark


RS:
I Guess there must be some advantages to SIP (or we should call the writers of it stupid).

So here a few questions to elaborate how IAX handles:

1) Bandwidth indications

2) New codecs

3) extensibility

4) Call Hold and other complex scenarios

5) Video telephone

I have got the impression this has all been better arranged in SIP



Disadvantages (taken from Internet Draft at http://www.ietf.org/internet-drafts/draft-guy-iax-05.txt)

Date: Wed, 18 Mar 2009
From: Sameer Verma <sverma@sfsu.edu>

While IAX is very effective, addressing many of today's communications needs, it does have a few limitations. For instance, IAX uses a point-to-point codec negotiation mechanism that limits extensibility because every IAX node in a call path must support every used codec to some degree. In addition, the codec definition is controlled by an internally defined 32-bit mask, so the codecs must be defined in the protocol, and the maximum number of simultaneous codecs is, therefore, limited.

One of IAX's design strengths also presents a potential problem. The use of a single, well-known, port makes the protocol an easier target for denial of service attacks. Real time systems like VoIP are particularly sensitive to these attacks.

The protocol is typically deployed with all signaling and media going to a centralized server. While this combined path approach provides a great deal of control, it limits the overall system scalability. IAX now provides the ability to split the media from the signaling stream which overcomes this limitation of earlier IAX versions.

Most IAX drawbacks are due to implementation issues rather than protocol issues. Threading presents a series of problems. Many implementations have a limited number of threads available to process IAX traffic and can become overwhelmed by high use or denial of service attacks. Newer implementations have additional controls to minimize the impact of these challenges.




Comments

Comments Filter
222

333IAX and CALEA

by eneref, Friday 04 of May, 2007 [02:09:36 UTC]
Interestingly enough, while SIP is covered under CALEA in the US (required to be monitored), IAX is currently NOT covered under CALEA. This means that, in theory, if your VoIP traffic is all IAX-based, you're not required to make it available for recording by the US government as you are if you were SIP-based. Of course, there are other court orders they could use (Title 18, etc) to get around the CALEA limitations if they really wanted to press the issue.

One assumes that, with the increasing popularity of IAX, this will be remedied in a later version of CALEA (CALEA 2.0?). however, it could now save you hundreds of thousands in implementation costs — especially with the CALEA deadline approaching.
222

333SIP vs IAX Summary

by jtamasaf, Tuesday 20 of February, 2007 [17:44:28 UTC]
Someone has tried to resume the advantages and disadvantages.

I think it can be useful.

http://www.en.voipforo.com/IAX/IAXvsSIP.php
222

333IAX DTMF inband or out of band

by splante, Friday 26 of January, 2007 [16:44:39 UTC]
This page says
 <blockquote>"9) IAX always sends DTMF out of band so there is never any confusion about</blockquote>
what method is used. "
but the <a href="http://www.voip-info.org/wiki/view/IAX">IAX page</a> says
 <blockquote>"IAX always sends DTMF inline, eliminating the confusion often found with SIP."</blockquote>

My confusion is not eliminated ;-) Does IAX2 send DTMF inband or out-of-band? One of these pages needs to be corrected.
222

333SIP vs IAX

by cdyne, Thursday 08 of June, 2006 [21:34:55 UTC]
Well one MAJOR point Mark did not touch on.

Audio always goes through the IAX server. With SIP, the RTP stream can redirect on a transfer.

Example:
You have a calling card application. Someone calls your PBX and enters the code. You then transfer them to the number they entered. SIP keeps accounting the call, but the audio stream is sent from provider to provider (So, you don't have to deal with the audio bandwidth).

You must set up Reinvites in my experience to get this to work. But, it saves us a ton of bandwidth.

If you are using a provider that supports sip, but uses a major telco backbone with good network pipes, this could improve your sound quality depending on how your provider coded it. Using IAX with voipjet for instance, the call has to go to New Jersey.. then off to Washington and then who knows where else. Voxee is the same way.

Anyone, correct me if I am wrong here. But, I have this setup working for me.

- Chris
222

333Objective comparison

by rowitech, Thursday 27 of April, 2006 [18:12:49 UTC]
Maybe I can help you. I do not say that I'm a guru, so please tell me if there is something wrong...

  • SIP is implemented in nearly every IP-Phone, IAX2 is just found in some.
  • SIP is able to transport neary everything, IAX just carries phone and obviously videocalls. SIP, as the name says, initiates a session, what you carry depends on which protocols like RTP or whatever you want to transport. With SIP you can create your own messenger. IMHO this will never be possible with IAX (and is never intended to..).
  • SIP needs a port for control information and one for each RTP stream, so at minimum 3 ports, IAX uses just one port regardless of how many calls you pass through.
  • IAX is ways better with handling NAT/PAT
  • SIP may need a STUN-Server
  • I'm sure I forgot something...

I decided to use SIP as the protocol for the customers because all the phones out there are compatible with SIP, just some are capable of IAX. Maybe this changes in future and we use IAX2, too. For trunking, means carrying all the data to the big local carriers, we use IAX2 if possible.

regards
Rolf (rowi.net)
222

333Re: very biased!!

by cydonia, Sunday 04 of September, 2005 [12:14:37 UTC]
What do you expect... Mark wrote it :). Besides, its all true!
222

333Need objective review of SIP & IAX

by osioke, Wednesday 10 of August, 2005 [18:21:20 UTC]
I would like someone who is very competent in the area of IAX and SIP implementation and application to submit an article that compares and contrasts IAX and SIP, objectively. I am looking into this at the organization where I work and I am interested in the following particular topics regarding IAX and SIP:

1. Encoding and decoding

2. Information verfication

3. Layer 2 and Layer 3 separation

4. Transparent NAT navigation

5. Authentication mechanism

You may contact me directly if you have substantial information.

Thanks

-Osioke

222

333very biased!!

by , Wednesday 26 of January, 2005 [13:10:37 UTC]
This is not a comparison of AIX and SIP - instead it is just why AIX is better than SIP in the opinion of the author.