Technology and Engineering
Session Initiation Protocol (SIP) Overview
This month's Essential Wi-Fi discussed how 802.11 networks are being designed to carry Voice over IP. Session Initiation Protocol (SIP) is a key component of a wireless (and wired) VoIP architecture. In this month's Technology And Engineering, we'll cover SIP and discuss the special role that SIP plays in wireless networks.
SIP is a member of a class of protocols known as "signaling protocols". Signaling protocols are used to set up, manage, and tear down multimedia connections--including voice calls--in digital networks. This is in contrast to protocols like RTP (Real-time Transfer Protocol) that actually carry the digitized voice data itself. For example, when you pick up the handset of your VoIP phone and dial numbers, the SIP protocol might be used by the handset to indicate to a VoIP gateway what phone number you're trying to contact. At the end of the call, the handset might use SIP to indicate that you've hung up.
SIP endpoints are identified by URLs, similar to other internet resources. An example of a SIP address might be "sip:email@example.com" (our apologies if your web browser or email client translates that into a clickable URL). A SIP URL is unique to a given endpoint, regardless of the endpoint's location in the world. This allows endpoints to roam from location to location, somewhat like a cell phone can roam from city to city but still be accessible via the same number. Endpoints can be mapped to a specific handset or phone, or they can be "functional"--e.g. "sip:firstname.lastname@example.org" forwards to whomever is covering sales today. Techniques exist for mapping SIP URLs to phone numbers and back again, allowing for integration of a SIP-based VoIP architecture and the traditional phone infrastructure. This requires integration of the DNS infrastructure, the SIP infrastructure, and the PSTN infrastructure.
When a SIP endpoint joins a network, it registers itself with a server, allowing it to receive calls at its current "location". The endpoint's "location" is not dependent on its physical or geographic location; rather, it is associated with its IP address. A wireless endpoint that moved around to many physical locations would still logically be at the same "location" as long as it had the same IP address.
The registration process involves two entities: a location server and a SIP server. The location server keeps track of possible locations (IP addresses) where a given endpoint might be. The SIP server handles forwarding of SIP commands and replies between the handset and devices that the handset might talk to. These two entities are sometimes co-located in the same physical server. The image below shows an example of this process.
In the image above, a SIP handset sends a REGISTER command to the SIP server for its domain (marked as "1"). In this command, the handset indicates (among other things) its SIP address, it's IP address, and an expiration rime on. The SIP server forwards the location of the handset on to server forwards the location of the handset on to a location server (marked as "2").
The image above shows the process of SIP call setup. The calling handset sends an INVITE command to its SIP server (1). This command indicates both the calling and called endpoints' SIP addresses. It also indicates a globally unique Call ID that will identify this call. Next, the SIP server uses a location server to find the location of the destination endpoint (2, 3). The SIP server then forwards the INVITE command to the destination endpoint (4). A series of acknowledgements completes call setup.
SIP plays a special role in converged wireless networks. A wireless handset should, ideally, be able to roam from network to network without dropping calls. This has traditionally been a stumbling block, since IP protocols assume that an endpoint's IP address will remain the same for the duration of the conversation. When an IP handset roams between networks, its IP address is likely to change, causing it to drop any active IP conversations. With SIP, the handset can issue a new INVITE command, updating the other endpoint of its new IP address and allowing the other endpoint to set up a new IP conversation to the roaming endpoint. This procedure can work when the handset roams from one 802.11 network to another, but it can also be expanded beyond 802.11 to allow handsets to roam from a cellular network to an 802.11 network. Although it might sound somewhat speculative, Motorola makes a handset today that can roam from a GSM network to an 802.11a network and back without dropping a call. Of course, the 802.11a network must have certain equipment that is specifically designed to support this roaming.
At Connect802, we like to say that "it's all coming together." Wireless networks seem to be realizing the promise of digital data convergence, carrying voice, video, and data over a single infrastructure. Today, many devices support multiple wireless protocols, such as cellular, 802.11, and Bluetooth. As this convergence continues, some protocol will need to step up to allow devices to roam seamlessly between these networks. SIP is currently a major contender for that role.
To Infinity... and Beyond!
At Connect802 we're your PAGE ONE resource for wireless networking!