By Tsahi Levent-Levi
I came across an interesting comparison between H.323 and SIP in a Cisco related blog. They make a pretty good technical analysis, but the comparison lacks in its completeness.
Both H.323 and SIP are used today for VoIP, and they are considered interchangeable solutions. The comparison made covers the following issues:
- Philosophy – H.323 does calls, SIP does sessions
- Reliability – H.323 reliable by design, SIP by responsible user agents
- Message Definition – H.323 uses ASN.1, SIP uses ABNF
- Message Encoding – H.323 is binary, SIP is mostly textual
- Media Transport – both use RTP/RTCP and SRTP
- Extensibility – H.323 extensible by design, SIP breaks interoperability with extensibility
- Scalability – H.323 scalable by design, SIP by implementation or by additional IETF standards
- Addressing – H.323 supports multiple addressing schemes, SIP has only URIs
- Billing – H.323 has billing by design, SIP by implementation
And the list goes on to other issues. It seems strange to me that in all, H.323 either excels or does as good as SIP. This being the case, why does every new developer looking for SIP?
I have been working with H.323 and SIP for several years now, and I can say that both have their advantages and both are broken in some places. H.323 is a lot better today in issues of interoperability – a lot of it can be easily attributed to the IMTC’s work in this area. I also have a warm place in my heart for this particular protocol – I have been working and dealing with it for many years. That said, the comparison above lacks two main points:
IMS
The 3GPP’s next generation network, which has been adopted by the Tispan and CableLabs (making it the de-facto network in the world in the future). This happened as the 3GPP added interfaces scenarios and call flows to SIP, giving more advantages to it.
H.323 is not part of IMS and is irrelevant for IMS.
SIP is at the core of IMS.
Market
H.323 is dominant today and has large deployments around the world. It is a lot better where it comes to video conferencing, and can be found a lot more in the enterprise.
SIP is the protocol of choice for most developers today – it is quite strong in the consumer and service provider markets. If you are a company about to develop a communication product, you will probably be selecting SIP. It is not as good for video conferencing, but it is getting there.
Services
There is another parameter that is important, and that is what services are part of the protocol and what new services can be offered easily?
H.323 focuses on multimedia calls in all of their flavors. Voice only, video, data collaboration, conferences and a rich set of telephony services.
SIP doesn’t seem to focus on anything in particular. You can use sessions to make calls with it (voice, video – whatever), you use it for presence and instant messaging, and you can use it for a large array of additional services as well.
That said, these services can be added to H.323 as well – this statement would be true to trying to add new services to SS7 though…
Now, if you opened a company now, which protocol would you decide use? What would be your decision looking only on technical aspects, and what would it be looking only on market aspects?