New protocol connects voice over IP
Mention voice over IP and most people have at least heard of the H.323 protocol. Well, if H.323 can be considered vanilla, then Session Initialization Protocol (SIP) could be strawberry. It's not any better or worse, just different.
SIP is part of an Internet Engineering Task Force (IETF) proposal to replace parts of H.323. Just as H.323 is a collection of protocols, SIP is one of several protocols that will work together to complete calls.
Diagram of how it works
SIP is an application layer, control/signaling protocol for creating, modifying and terminating sessions with one or more participants. These sessions may include Internet multimedia conferences, distance learning, Internet telephone calls and multimedia distribution. SIP can invite persons and "robots," such as media storage services, to participate in a call.
The protocol may be used to initiate sessions, invite members to sessions advertised by other means or initiate multiparty calls using a multipoint control unit. SIP transparently supports name mapping and redirection services, allowing the implementation of ISDN and intelligent network telephony subscriber services such as personal mobility.
The protocol does not offer conference control services, nor does it prescribe how a conference is to be managed. SIP does not allocate multicast addresses and it does not reserve resources, but it can convey to the invited system the information necessary to do this.
SIP supports five facets of establishing and terminating multimedia communications: user location, capabilities and availability, call setup and call handling.
Callers and call receivers are identified by SIP addresses. A caller first locates the appropriate server, then sends a SIP request (probably an invite). In a perfect world, the request arrives at its destination, where the client accepts the call by returning a SIP response code 200. As with other TCP/IP reply codes, a response code that starts with a 2 is good. Then the originating caller sends an acknowledgement back to the recipient, which is a bit unusual because the station that initiates the call also sends the acknowledgement.
SIP can communicate via multicast, a mesh of unicast relationships, or a combination of multicast and unicast.
The objects addressed by SIP are users at hosts, which are identified by a SIP URL. The user part is a user name or a telephone number. The host part is a domain name or IP address.
SIP uses a variety of servers, each with its own purpose. There are user agent servers, proxy servers, redirect servers, and registrars. There is also something called a location server running a location service, which may be collocated with a SIP server.
A SIP transaction consists of a SIP request and the appropriate response. To facilitate pairing a request with its response, there are several fields that contain identical values on the request and the response. These fields include the call ID field, the command sequence number, the to field, the from field, and the tag (if present). That's correct - the to and from fields are identical in both directions. While that's unusual, it's not unheard of, as that method is used in High-Level Data Link Control. This aids in problem resolution when you're using your protocol analyzer to troubleshoot network anomalies.
The invite request asks a callee to join a conference call or establish a two-party call. The invite includes a session description, which enumerates media types and formats. If the callee agrees, the caller sends an acknowledgement and returns a description listing the media it wishes to use.
To oversimplify, the IETF created SIP and its brethren protocols because of a belief that H.323 would not scale well. There's no question that H.323 is way in front of SIP at this point in the race. It will be interesting to see what it looks like at the finish line.
Young is Radcom Academy Manager at Radcom, an internetwork test equipment company in Mahwah, N.J. He can be reached at email@example.com.
SIP: Session Initiation Protocol
IETF RFC 2543. Describes the protocol in more detail.
SGCP - Simple Gateway Control Protocol
Another VoIP protocol, developed by Telcordia. The FAQ explains why they developed their own instead of using H.323 or SIP.
Don't look to the enterprise to drive voice over IP
Network World Fusion, 11/1/99.
Net Resources: Voice over IP
Links to primers, reviews and news.