7.1. VoIP Signaling Protocols
A signaling protocol is a common language spoken by telephones and call-management servers, the PSTN, and legacy PBX systems as they communicate to set up, monitor, and tear down calls.
The Voice over IP technology family provides several signaling protocols. Some commercial softPBX systems support one or two of them. Others, like Asterisk, support just about all of them. Most signaling protocols have a few things in common:
There are two primary contenders in VoIP call signaling: the Session Initiation Protocol, developed by an Internet Engineering Task Force working group, and H.323, developed by an International Telecommunications Union working group . Other signaling standards, like Cisco's Skinny Client Control Protocol (SCCP), Nortel's UNISTIM, and Digium's IAX, have been developed by private companies intent on bringing features to call signaling that don't exist in the published implementations.
VOCAL is an open source suite of VoIP software. It implements a softPBX with support for lots of codecs and telephony apps, such as Asterisk. But it also provides the building blocks for open source quality-of-service measures and load-balancing VoIP servers. More information on VOCAL can be found in O'Reilly's Practical VoIP Using VOCAL .
The result is a vast, sometimes confusing, assortment of signaling systems that have about a 75% feature overlap. So, with SCCP, MGCP, MEGACO/H.248, IAX, H.323, SIP, and a half- dozen others, is it really worth it to educate oneself about all of them?
Not really. Carrier-grade telephony technicians and engineers may have a reason to learn the ins and outs of MEGACO/H.248, for example, but only the most detail-obsessed enterprise integrator would bother with it. The people who work at Nortel and Cisco who design media gateways for a living need to know all of these protocolsbut for the rest of us hobbyists, system administrators, and enterprise telecom managers, two have the biggest potential impact: H.323 and SIP.
The reason these are the two most important signaling protocols you'll use in your VoIP network is that they operate in the realm of the private. That is, H.323 and SIP operate on your side of the telephone company demarc. You can control them, leverage their features, monitor them, and exploit their benefits to your heart's content. This makes your use of them immune to potential regulation.
H.323 and SIP provide a common signaling dialect for endpoints, gateways, and PBXs. They signal for trunks and phones. Administrators of a VoIP network need to understand H.323 and SIP, because they really are the roots of VoIP and the harbingers of voice protocols to come.
This isn't always true of the other protocols, MEGACO/H.248 and MGCP, which are seen more often in the realm of the equipment vendors and the telephone company. These protocols don't tend to be as practical when used as endpoint-signaling protocols as they are when used as trunk and gateway ones. When an administrator needs to alter the configuration of a MEGACO device, he may have a tendency to "set it and forget it," because changes to trunks and gateways are typically rare compared to endpoint changes. This isn't to say that there aren't any MGCP-based IP phones, because there are. But the realm of IP phone and softPBX signaling favors H.323 and SIP.
The day-to-day administration required for enterprise VoIP leans more heavily toward the endpoint-to-endpoint, not gateway-to-gateway, communications, just as in traditional telephony. As a result, most enterprise administrators will spend the bulk of their time working with H.323 or SIP devices.
7.1.1. H.323, SIP... How Do I Choose?
More often than not, if you're using a commercial VoIP platform to build your network, the choice will already be made for you. If you're using a Cisco CallManager softPBX, then you probably aren't going to be using SIP, because CallManager's SIP support is far from complete for even mundane telephony apps. (CallManager uses Cisco-proprietary SCCP signaling instead.)
Regardless of how well each vendor claims to support the standards, there will be certain standards not supported by every vendor. If you standardize on Avaya Communication Manager or Nortel Meridian, you aren't going to use Cisco SCCP. The point being: most commercial vendors offer full support for a single standard and partial support for a second standard. The aim of this strategy is to promote signaling features that are proprietary and unique in nature, while still allowing interaction with other vendors' softPBX systems by way of trunking. So, while Cisco's unique features have been implemented in its proprietary SCCP protocol, its softPBX still allows trunking to other devices by way of H.323 and SIP.
Sometimes, lack of support for a particular signaling standard poses a problem. In a 10-person office in which it's all right for every user to be equipped with the same model of phone, interoperability probably isn't a big need. But suppose that 10-person business is purchased by another business that uses a different signaling standard and management wants to integrate the phone systems. Now, interoperability suddenly matters.
If interoperability is more important to you than anything else, you're better off implementing Asterisk or Vocal, because they are built around published standards and support them with the overt intention of compliance, whereas the commercial vendors don't always support the complete spec of a given standard, only the parts that matter to them. Of course, even in PC applications and programming, everyone aspires to compatibility and then slowly sacrifices it in order to add features.
The best thing you can do is understand the key signaling standards and make an informed decision that weighs your technology preferences, your budget, and your organization's politics. If a little back-rubbing at the executive level has your management team really fired up about a commercial phone system, then all the justification in the world in favor of Asterisk probably won't change their minds. So you've got to be prepared to support the standards , rather than the brands , that make everybody in the organization happy: give the users the features they want, and get yourself the raise you want.
Putting aside which vendors support which standards, there are some real, substantial differences between the main signaling standards, as described in Table 7-1. The biggest distinguishing factor between signaling protocol families is in the kinds of call paths they were designed to handle. H.323 makes provisions for switch-to-switch, PSTN-to-switch, and endpoint-to-switch call paths, meaning it supports interfacing with traditional telephony systems, especially the PSTN. Comparatively, SIP is much more limited in network scope. It doesn't support any legacy (analog or TDM) components and was designed only with an end-to-end IP network in mind.
Table 7-1. VoIP signaling protocol families a
Then, there are protocols that are gateway and server oriented, such as MGCP and MEGACO. SS7, too, is a "backend" protocol. These are probably of the least concern to an enterprise administrator, while a carrier-class system builder or engineer might really prefer one or the other.
184.108.40.206 Signaling for non-telephony apps
One big advantage of SIP is its comfort in non-telephony applications, such as instant messaging, video, and white-boarding. Apple's iChat and Microsoft's MSN Messenger use SIP for these purposes. Earthlink's SIPShare application allows peer-to-peer media sharing (a la Kazaa) using SIP. Extensibility is an appealing characteristic of SIP. Lack of extensibility is the drawback of H.323.