The Little Protocol That Could
Pick up the phone, dial a number, chat, and hang up. How do IP devices perform that same operation? The answer is the Session Initiation Protocol, or SIP.
The application protocol is simple. Its function is to set up, modify and terminate any type of communications session between two or more devices. Examples of a session could be a voice call, a video conference, an instant-message chat, gaming, application sharing, or even a combination of those. The RFC describing SIP can be found at http://ietf.org/rfc/rfc2543.txt.
SIP keeps session information independent of the actual session. That means that SIP can be used to initiate almost any type of session imaginable. Call centers and CRM applications come to mind here.
Too Good To Be True? As simple as it sounds, there are obstacles strewn all over the place that make implementing SIP a chore.
First up is seamless integration with the Public Switched Telephone Network, (PSTN). That depends upon two core components. The first of those components is the SIP gateway, which connects calls between the PSTN and the IP environment. The second component, the Telephony Routing Internet Protocol, enables the dynamic sharing of gateway and phone-routing information, ensuring the best path to the SIP servers.
Next, most devices behind Network Address Translators (NAT) dont have Internet addresses that can be routed to, which SIP depends on. One answer is IPv6 and its 128-bit addressing scheme. Brian Rosen, co-chair of the IETF SIP Working Group, says that the 3G wireless networkwhich uses IPv6will be the catalyst to cause the changeover to IPv6.
Also, firewalls close ports that a SIP-enabled session would use. While there are proprietary solutions available using SIP-aware firewalls and firewall controllers, the basic question, "How do I get through a corporate firewall?" is unanswered, according to Dean Willis, Rosens fellow co-chair. Nonetheless, efforts are under way to define the standard way to get data through firewalls, as well as to deal with NAT devices, according to Rosen.
The last big obstacle is quality of service (QoS). Its possible SIP could initiate a session, but that session might fail due to the lack of bandwidth. There has to be a way to guarantee that the SIP-enabled session will have the QoS mechanisms in place to provide adequate bandwidth.
While SIP is useful, a big problem exists. The protocol will require multiple vendors to change their existing Internet and security products. Thats happening, but it will take time. And thats a tough row for even the most useful of protocols to hoe.