Welcome to http://www.myprofessorvoip.com!
VOIP protocols
September 16, 2007

SIP

SIP is an industry standard in a industry which claims many standards. SIP is a lightweight protocol which is very similar to HTTP. It’s message format is almost identical. It is also as easy to troubleshoot. If you know how to use a sniffer, you can debug any problem in minutes. Here is a list of SIP response codes:

  • 1xx: Provisional — request received, continuing to process the request;

    Provisional responses, also known as informational responses, indicate that the server contacted is performing some further action and does not yet have a definitive response. A server sends a 1xx response if it expects to take more than 200 ms to obtain a final response. Note that 1xx responses are not transmitted reliably. They never cause the client to send an ACK. Provisional (1xx) responses MAY contain message bodies, including session descriptions.

  • 2xx: Success — the action was successfully received, understood, and accepted;
  • 3xx: Redirection — further action needs to be taken in order to complete the request;
  • 4xx: Client Error — the request contains bad syntax or cannot be fulfilled at this server;
  • 5xx: Server Error — the server failed to fulfill an apparently valid request;
  • 6xx: Global Failure — the request cannot be fulfilled at any server.

Sip is used to set up calls between client and server and between server and server.





This is a basic call flow that is very typical and easy to understand. A registered client starts the call flow with an invite which is sent to a sip server, in this case a PBX, which sets up the call to the terminating station.



When you read this information, and decide to use in conversation amongst your peers, remember that SIP is not only used for VOIP traffic, but development of other uses are already in the market. SIP is currently gaining ground on many deployments that used to belong to H.323. VOICE, Video, Chat, and Unified messaging setup is also a responsibility of this flexible, lightweight, and robust protocol.

H.323

Take it from the professor that discussion of this protocol is how you weed out the real VOIP professionals from the pretenders. H.323 is a suite of protocols used for call setup. It is still supported by a large share of the market, but this is slowly dwindling.

H.323 is a very large complex cumbersome protocol, which unlike SIP it is difficult to troubleshoot on the wire because it’s messages are not clear text like HTTP. H.323 is binary. So all debugging is performed within a device.

Here is a sample H.323 call setup:





The suite of protocols included in H.323 is includes:

This the following H.323 protocols are described here:

  • DVB Digital Video Broadcasting
  • H.225 Covers narrow-band visual telephone services
  • H.225 Annex G
  • H.225E
  • H.235 Security and authentication
  • H.323SET
  • H.245 Negotiates channel usage and capabilities
  • H.450.1 Series defines Supplementary Services for H.323
  • H.450.2 Call Transfer supplementary service for H.323
  • H.450.3 Call diversion supplementary service for H.323
  • H.450.4 Call Hold supplementary service
  • H.450.5 Call Park supplementary service
  • H.450.6 Call Waiting supplementary service
  • H.450.7 Message Waiting Indication supplementary service
  • H.450.8 Calling Party Name Presentation supplementary service
  • H.450.9 Completion of Calls to Busy Subscribers supplementary service H.450.10 Call Offer supplementary service
  • H.450.11 Call Intrusion supplementary service
  • H.450.12 ANF-CMN supplementary service
  • H.261 Video stream for transport using the real-time transport
  • H.263 Bitstream in the Real-time Transport Protocol
  • Q.931 manages call setup and termination
  • RAS Manages registration, admission, status
  • T.38 IP-based fax service maps
  • T.125 Multipoint Communication Service Protocol (MCS).

A very down the earth comparison of H.323 and SIP

Choosing a VOIP protocol so use may seem non-important, but it is very much important. Having a very large protocol suite such as H.323 gives the edge to many large equipment providers who provide expensive equipment large enough to support the memory requirements of the suite. Having a small just as reliable protocol such as SIP opens the door to many open source programmers to architect equipment that can fit the needs of everyone and can also fit in their wallets.

It can be as simple as comparing the protocols to two high school students. H.323 is the nerdy geek and SIP is the cool guy. The professor was the cool guy by the way. So whenever I went to class in school, I was equipped with the bare minimum to get the job done. I had my text book, my pen, and a notebook. That is all I needed. It didn’t weigh a lot and I could always make my classroom on time. The nerdy guy carried a backpack with everything in it including lunch. This benefited the nerdy guy because he always had 27 pens that worked and 10 pencils. He had a spare notebook with protractors. The professor didn’t need all of that stuff. Why do you need protractors in world history? Nevertheless, the nerdy guy had more than he needed. He was always over prepared. I the professor was prepared in my own way with the essentials, if I needed something extra I knew that the teacher would provide it, and if not I would sit next to my own nerdy guy to borrow what was needed.

What was important was making it to class on time and not having to lug around that heavy backpack. I the professor always arrived on time, while the nerdy guy arrived late and out of breath at times. In fact, I could sit at the smallest of desks and did not need that much room. While my nerdy friend H.323 finds it difficult at times to sit in the most minimum of requirements.

While Mr. Nerd H.323 finds himself in many environments, it is only a matter of time when everyone will want the cool guy.

Everyone else

Skinny

This is a Cisco proprietary protocol that attempted to make its way to the VOIP standard. It failed and you will only find this protocol in Cisco devices. Needless to say, Cisco now supports SIP, but has failed to invest development into sip to make it as full of features as Skinny. It will be only a matter of time before the market forces Cisco’s hand to develop into SIP. Skinny is very much like H.323 in which it is a binary protocol and not lightweight like Sip

Unistem

This is Nortel’s Skinny. As equally as proprietary and is very much like H.323 in its bulkiness.

Summary

The VOIP market started out with the same problems that the traditional telecommunications market started with, meaning that it was flooded with proprietary equipment and protocols. Traditional telecommunications had two major manufacturers, Lucent (4ESS) and Nortel (Northern Telecom). Both of these vendors own the Class 5 and Class 4 carrier markets and also the PBX market. In order for a PBX to connect to another PBX or a Carrier class 4 (tandem switch) they needed to communicate with FXO standards provided by Nortel or Lucent. Or be able to provide a Qsig connection which is scaled down because of it’s lack of willingness support.

VOIP started out with H.323 which is open source, but in the enterprise it comes to features and functionality of the equipment. The features of CISCO voip equipment is rich, but only if you sell out your infrastructure to the Cisco devils and utilizing Cisco proprietary protocols to run your environment. Meaning buy a Cisco VOIP solution and from then on all of your telephones, VOIP devices, and softphones must be Cisco providing a strategy that seems very much identical to the Microsoft monopoly. Now not only does your VOIP have to be with Cisco standards, any device interoperating must be on CISCO’s list of friends. After selling your soul, you now realize that throughout your relationship all of your friends must be approved by CISCO. And not to let Nortel off the hook, their strategy is much like cisco’s strategy, but less successful.

As carriers are migrating more and more to SIP, it is apparent that beyond the need of the average pbx supporting SIP trunks, they will need to provide sip functionality to their subscribers so that majority of the features provided by carriers can interoperate with the features required by a good open standard PBX subsystem.