|W O R K S H O P|
Translating Menus at the VoIP Café
December 27, 1999
By Darrin Woods
Just as you raise the last spoonful of VoIP (voice over IP) alphabet soup to your mouth, the cafeteria lady appears with a huge pot, a ladle and an evil grin. "Here, dear, you look hungry; have some more," she says, as she slowly refills your bowl.
Now your spoon twirls up enough letters to spell SIP, SIP+, MGCP, H.GCP and Megaco, as well as the H.323 you've been trying to hold down for months.
H.323 was the future for organizations that had been using proprietary technology to set up and route calls until a standard emerged. Created around an existing set of protocols--including H.225.0 for setup, ISDN Q.931 for signaling, H.245 for negotiation and H.450 for additional services--H.323 provides a framework for products that interoperate over a network. But it has drawbacks.
Because H.323 is based on ISDN standards, it's limited to point-to-point only. This means simple telephony services, such as conferencing, call forwarding and call transfer, are impossible to implement without external help in the form of an MCU (multipoint control unit), which must sit in on the call and manage the sessions. For conference calls, a point-to-point session is created from the call originator to the MCU. The MCU then creates one point-to-point session from itself to each of the endpoints in the conference. The MCU must operate in a stateful mode, keeping up with all call sessions.
The need to maintain the connections makes large conference calls difficult and requires lots of horsepower. Newer H.323 implementations change this by letting cascading MCUs distribute the workload. Also, considering that they only provide point-to-multipoint or reroute servers, MCUs are expensive; consider your need for them carefully. If you can hold out for H.323 version 3, it will operate on top of UDP and run in a stateless mode, eliminating the need for MCUs.
H.323 also is a difficult standard to implement because it uses so many different protocols. Although the H.323 standard uses all binary information, several steps must be completed before compressed voice data can move back and forth, and portions of the protocol must complete their individual setups before passing control to the next sequence in the call. This can translate into six or seven round trips of information--just to set up the call.
H.323 is effective in small enterprises that need point-to-point communications between offices. Setup can be simple with phones hung directly off an H.323-enabled router, allowing office-to-office calls. Or phones can be tied in through the office PBX to the outside.
A Long, Cool SIP
As with HTTP, unknown header information is skipped and ignored. Any required services are indicated by use of the REQUIRE header. If a required service is unavailable to a server, the server returns an error code and states the feature(s) that it does not support. The client can fall back and retry the connection with simpler features. A SIP implementation need understand only four headers (TO, FROM, CALL-ID and CSEQ) and three request types (INVITE, ACK and BYE).
SIP offers extensibility by learning lessons from HTTP as well. The protocol can be enhanced by anyone creating features or services that can be registered with IANA (Internet Assigned Number Authority, at www.isi.edu/cgi-bin/iana/ mediatypes.pl). Even small developers with new codecs or media types can have a significant impact on the protocol and its end users.
SIP also is backward- compatible, unlike H.323, which has backward-compatibility issues. With SIP, as new features are added, older ones are phased out, keeping SIP as clean and small as possible. With H.323, new features are added on top of old features that remain for the backward compatibility, resulting in further bloating of an already large specification.
SIP's scalability is also one of its strengths. SIP servers and gateways can be stateful or stateless. In a stateless configuration, calls are passed through the server or gateway and then released, which lets the server concentrate on other calls. Millions of calls could be going through a server, but in a stateless operation the information is passed through without intervention. Conference calls are scalable because SIP can use UDP and TCP, making conference calls as simple as a multicast session. Because of this architecture, large conferences can be created without the intervention of an MCU or intervening gateway horsepower.
SIP is well-suited to any size network, but it really shows off in larger networks. It is extremely scalable and if your business requires conference calls with many attendees, SIP should be your protocol.
Turning Up the Heat
Because the signal is encapsulated in a SIP message, SIP's full functionality is retained. Calls originating from the PSTN can use SIP's multihop searches to route the call to the terminating end. Calls also can originate from one local carrier and terminate at another carrier via an NNI (Network-to-Network Interface) setup, where the signaling is carried through to the terminating network proxy and then on to the terminating MGC. Scaling is accomplished by adding proxies to the network to subdivide it. The peer networks establish calls through the proxies, each treating the other network as the terminating MGC.
SIP+ brings power to the table as an easily implemented MGC-to-MGC communications capability, while adding the ability to handle carrier signaling and tunnel PSTN-to-PSTN calls through an IP-based network.
Send your comments on this article to Darrin Woods at firstname.lastname@example.org.