Session Initiation Protocol
Session Initiation Protocol (SIP) was developed by the Internet Engineering Task Force Session as part of the infrastructure for user-visible functions such as Internet telephone calls, multimedia distribution, and multimedia conferences. While the SIP specification describes it as an "application layer protocol", it also identifies it as a "signaling protocol", which means that it creates and destroys sessions over which additional application protocols carrying the application-specific payload will run.
While it does not provide the application-specific information, its core functions are:
- User location: determination of the end system to be used for communication;
- User availability: determination of the willingness of the called party to engage in communications;
- User capabilities: determination of the media and media parameters to be used;
- Session setup: "ringing", establishment of session parameters at both called and calling party;
- Session management: including transfer and termination ofbv sessions, modifying session parameters, and invoking services.
What is a session?
SIP invitations used to create sessions carry session descriptions, using the Session Description Protocol (SDP) for describing multimedia sessions. that allow participants to agree on a set of compatible media types. SIP makes use of elements called proxy servers to help route requests to the user's current location, authenticate and authorize users for services, implement provider call-routing policies, and provide features to users. The proxy function is different than the functionality provided by Mobile IP.
SIP also provides a registration function that allows users to upload their current locations for use by proxy servers.
Relation to other protocols
SIP is not a vertically integrated communications system,, but an infrastructure compenent complete multimedia architecture.
|Application layer infrastructure||Real-Time streaming protocol (RTSP)|
|Application layer infrastructure||Media Gateway Control Protocol (MEGACO) RFC3015||Access to the Public Switched Telephone Network|
|Session layer infrastructure||SIP||Multiple stream bundling|
|Session||Real-time Transport Protocol (RTP)||Manages point-to-multipoint information flow|
|End-to-end||User Datagram Protocol (UDP)||Segment transfer|
"SIP does not provide services. Rather, SIP provides primitives that can be used to implement different services. For example, SIP can locate a user and deliver an opaque object to his current location. If this primitive is used to deliver a session description written in SDP, for instance, the endpoints can agree on the parameters of a session. If the same primitive is used to deliver a photo of the caller as well as the session description, a "caller ID" service can be easily implemented. As this example shows, a single primitive is typically used to provide several different services.
"SIP does not offer conference control services such as floor control or voting and does not prescribe how a conference is to be managed. SIP can be used to initiate a session that uses some other conferencecontrol protocol. Since SIP messages and the sessions they establish can pass through entirely different networks, SIP cannot, and does not, provide any kind of network resource reservation capabilities.
SIP trunking and exchange points
Firewall vs. Session Border Controller
- J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler. (June 2002 url = http://www.ietf.org/rfc/rfc3261.txt), SIP: Session Initiation Protocol, RFC 3261
- M. Handley, V. Jacobson, C. Perkins (July 2006 url = http://www.ietf.org/rfc/rfc4566.txt), Session Description Protocol (SDP), RFC 4566
- C. Perkins, ed. (October 1996 url = http://www.ietf.org/rfc/rfc2002.txt), IP Mobility Support, RFC 2002