SIP is an IETF (Internet Engineering Task Force, http://www.ietf.org) Internet-based protocol originally designed for call set-up and control – including instant message via text channels – and currently being extended to propagate presence and availability information.
According to the SIP
RFC, the protocol defines how two or more end-points can negotiate to set up and control a communications connection that suits the capabilities of the devices and the needs of the users.
In the context of the four-layer Internet Multimedia Protocol Stack, SIP is an application layer protocol that can run on top of TCP (Transmission Control Protocol) or UDP (User Datagram Protocol), which, in turn, run on top of IP (Internet Protocol). IP can run on a variety of physical and link layers, such as Ethernet, ATM, SONET, Frame Relay or even V.90 on a telephone line. This means that SIP can run on the same variety of physical and link layers.
It is significant that, while SIP itself can run on a broad spectrum of physical networks, it can be used to control an even broader array of communications media. Although SIP is generally used and discussed in the context of VoIP (Voice over IP), it can be used, for example, to set up a call between two phones connected via the PSTN.
In keeping with the IETF philosophy of defining simple protocols with powerful functionality, the basic SIP protocol contains only six different methods or types of messages: Invite, Register, Bye, Ack, Cancel, and Options. To support the propagation of presence and availability information, SIP has been extended with two additional methods, Subscribe and Notify.
Call control
At a basic level, four of the SIP methods are necessary to setup, change or terminate a conversation:
• An Invite message is an invitation to participate in a conversation or set up a connection; or change one or more characteristics of a connection.
• An Ack acknowledges the final response to an invitation. Basically, the meta-conversation about how to set up the call has been completed and the connection to support the real conversation can be established.
•A Bye message is a request to terminate a connection.
•A Cancel message is a request to cancel a pending call attempt. By analogy to the PSTN, a cancel message is recognized as being the same as when the caller hangs up the phone while the other end is still ringing.
Call routing and presence
Presence information is propagated using a subscription based event notification model supported by three messages:
•A Register message is used by an endpoint or other SIP agent to tell a registration server where a communication request for a particular SIP URL should be routed. For example, when you turn on your cell phone, it might register with your employer’s registration server so that calls for you at work will be routed to your cell phone.
•A Subscribe message is sent by an end point or server to ask to be informed when the presence/registration information for a particular SIP URL changes.
•A Notify message is sent by a registration or presence server to inform an endpoint or server that the state of a URL to which it has Subscribed has changed.
Capabilities, preferences and availability
A caller can get information about an end-point’s capabilities in two ways. First, the called agent responds to an Invite (which might offer several different connection options) with a message that accepts one of the options or rejects the call if it does not support any of the options. Second, the caller can explicitly query the agent to be called using a special message:
• An Options message asks an endpoint to specify its capabilities and preferences. For example, the endpoint can specify that it accepts plain text content (for IM-style text messages) and html (to allow a caller to push a web page). An endpoint might also specify that the user prefers Spanish, but will accept English.
SIP reduces the total cost of ownership for telephony, in nearly all cases, by exploiting an enterprise’s private IP infrastructure and, when combined with presence, instant messaging, location and mobility applications, SIP increases communications efficiency.
Telephony administration, such as moves, additions and changes can also be handled more efficiently and at lower cost, either automatically or by in-house administrators, which not only eliminates service provider charges for those services, but also eliminates the wait usually associated with such a request.
In the longer term, SIP will improve enterprise productivity by enabling new converged applications that allow enterprise software to better interact with people in the ways they prefer. SIP can also allow an enterprise to respond more effectively to customers and provide customers with an experience that is personalized to better suit their needs and preferences.
In the short term, SIP can provide a rapid return on investment by reducing the demand on PSTN services and WAN bandwidth by eliminating unnecessary calls and routing calls more cost effectively.