SIP vs. IAX?

Hi

I started learning about Asterisk and VoIP, and I keep reading that SIP is a pain to use with NAT, while IAX is a breeze. Since most users today are behind NATed firewalls, it's difficult to understand why SIP is much more popular than IAX.

=> Can someone explain what the problem is with SIP, why it's a pain to use with NATed firewalls, and how to configure things right, assuming for instance that both callers and callees are on the Net, each using a private address behing a NATed firewall?

Thank you.

Reply to
Vincent Delporte
Loading thread data ...

It is not and the Asterisk's developers argumentation is just an attempt to promote yet another proprietary protocol. As you have recognized, the widespread use of SIP is a clear sign that the theoretical problems are easy to overcome using e.g. STUN or UPnP.

Tor

Reply to
Tor-Einar Jarnbjo

I don't have any problem with 6 SIP accounts with 3 separate providers all behind NAT. I suggest anyone with problems looks to their equipment and/or configuration.

Ivor

Reply to
Ivor Jones

That's a quite long story: see e.g.

formatting link
(especially the section "SIP and NAT - what is the problem, really?"). Also,
formatting link
.

One of the reasons why IAX is less popular than SIP is that, until recently, it didn't allow a server to disengage from the media flows (letting the two endpoint exchange voice packets directly) while still remaining in the the signalling path (in SIP, that can be achieved throgh a re-INVITE -- as long as the two endpoints support a common CODEC, DTMF detection travel as SIP INFO and not inband or according to RFC2833, etc.). In other words, the only way for a provider that used IAX to know the duration of the call, and therefore perform per-minute accounting and billing, was to stay in the media path all the time, consuming its precious bandwidth and CPU cycles of its servers... And providers, especially telcos, LOVE to bill per minute...

This limitation has now been removed from IAX

formatting link
), but SIP has behind itself a huge installed base and it's unlikely to be displaced anytime soon.

Cheers --

Enzo

Reply to
Enzo Michelangeli

The main reason is that SIP is an open IETF standard while IAX is a proprietary Asterisk protocol. SIP also supports a much larger feature set, is easier to extend, allows more complicated topologies, etc.

NAT breaks nearly any peer-to-peer protocol, and SIP was designed in that model. That can be worked around with various middleboxes (e.g. a Session Border Controller), SIP-aware NAT devices, endpoints intelligent enough to use STUN, TURN, ICE, UPnP, etc., or a minor bit of manual configuration.

SIP is definitely more complicated because of the flexibility it offers, and it takes more work to get right. IAX is targeted at people who don't know how to get things right, but it severely limits what you can do. As with everything in life, there's a trade-off.

S
Reply to
Stephen Sprunk

No, it's not: the IAX2 protocol is documented in an IETF draft

formatting link
) and other implementations exist (one in Opal:
formatting link
). Besides, Asterisk is opensource software: hardly any information contained in its code is proprietary.

The sad truth is that in recent years IETF has been infected by the same "design by committee" virus that plagued before other standards bodies, such as the ISO or IEEE. Gone are the times when RFC's were written almost single-handedly by a Jon Postel or Dave Crocker...

Heh! just like X.400, X.25, X.500, HDLC, ISDN... where no feature is ever denied to the proponent: just added as optional. In the end, the chances of interoperation become vanishingly small.

Well, not the ones that refrain from passing IP addresses in the payload...

How vulgar! Imagine: something that, once plugged in, just works ;-)

Cheers --

Enzo

Reply to
Enzo Michelangeli

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.