Understanding Session Initiation Protocol (SIP)
As SIP has evolved into a popular protocol for establishing multimedia communications sessions, it is intriguing to look at the history behind the development of SIP. Following is a journey through the building blocks of SIP and its evolution into a standard telecommunications protocol of choice.
The Motivation Behind SIP
Signaling is the process that is undertaken to initiate a tele-communications session and then terminate the session when the parties have completed their business. SIP can generate signaling processes involving several entities and processes including: end users (humans or machines), switching systems, billing systems, etc. But before looking at the signaling processes that are provided by SIP, we should become familiar with the two main groups that brought about the standards that influenced VoIP technologies and signaling protocols like SIP. These groups are:
International Telecommunications Union (ITU)
Founded in Geneva, Switzerland during the 1860’s, the ITU produced agreements that supported connections between telegraph facilities across different countries and expanded into radio, TV, satellite, digital telephony, and VoIP. ITU's focus is circuit-switched communications.
ITU has 3 main sectors:
- Radio-communication (ITU-R) – manages available wireless spectrum
- Telecommunications Standardization (ITU-T) – develops international networking standards
- Telecommunications Development (ITU-D) – makes modern telecommunications services available to people in developing countries
Proposed ITU-T standards may take years before they are formulated into documents, as representatives from different countries on varying committees must review them before they are finalized.
Internet Society (ISOC)
Formed in 1992 as the global clearinghouse for Internet-related technologies, the ISOC focuses on packet-switching and data transmission.
ISOC has 4 main groups:
- Internet Architecture Board (IAB)
- Internet Research Task Force (IRTF)
- Internet Engineering Steering Group (IESG)
- Internet Engineering Task Force (IETF).
The IETF’s tasks include:
- Responsibility for developing and publishing Internet Standards called Request for Comments (RFC) documents
- Drafting documents from the groups that are circulated online and discussed 3x per year at IETF’s Plenary Meetings
- Completing documents that have been extensively reviewed and approved.
These documents are given a number and available online via the RFC Editor (i.e. RFC 3261 the Session Initiation Protocol - SIP).
The IETF’s work on SIP is concentrated in the Session Initiation Protocol Core (sipcore) Working Group. This group’s mantra is to ensure that existing Internet protocols and architectures can be integrated with other Internet applications.
5 Key Elements of SIP
The baseline standard for SIP, RFC 3261, defines 5 different facets of establishing and terminating the multimedia communications that this protocol supports:
- User location: choosing which end system will be used for communications
- User availability: determining the willingness of the called party to engage in communications
- User capabilities: deciding which media and media parameters will be used during the session
- Session setup: establishing session parameters at both called and calling parties (when “ringing” occurs)
- Session management: including transfer and termination of sessions, modifying session parameters, and invoking services
To implement these 5 requirements, SIP architecture defines two main devices: clients and servers. A client can be a network entity that sends SIP requests and receives SIP responses, like a proxy device or user agent client (a logical function that creates a request and uses the client functionality to send that request). A server can be a registrar that accepts register requests and puts the information into the location server or possibly a redirect server, which re-routes the client to another server to finalize the client’s request.
In order to initiate and maintain a communication session, an identifier or specific address needs to be generated. This identifier is known as a SIP Uniform Resource Identifier (SIP URI). Resources that might need to be identified during this type of communication process include a user of an online server, a mailbox on a messaging system, an organizational group, or a phone number for a Public Switched Telephone Network (PSTN) destination, which has to be conveyed to a gateway service. This SIP URI is like an email address and contains two parts, a username and hostname, like sip:[email protected].
To continue the SIP communication session after addressing has occurred, SIP messages must be exchanged between clients and servers. The message types include such responses as REGISTER, INVITE, ACK, CANCEL, and so on. The message types provide the clients with responses from the servers that let them know which action the server is taking in regards to the client’s request.
The SIP session could include voice, video, and/or data information, so a standard method of describing the session being initiated is necessary (using the INVITE message type). This function is defined using the Session Description Protocol (SDP). The response messages provide return responses to these messages in the form of status codes and reason phrases. They can indicate success, redirection for further action, or errors, including global failure of the request to be fulfilled.
SIP Call Example
West IP Communications delivers SIP-based calls to its customers through a process called SIP Trunking. This is a service that delivers phone communications services to customers purchasing an IP PBX. It is more flexible and efficient than traditional PSTN trunking service (which is PRI-based), since it can reduce service costs, provide disaster recovery, and enable real-time call management reporting. This SIP Trunking service example uses SIP as a way to construct each call.
Here are the basic steps:
- Remote party places call through PSTN
- West IP connects to the PSTN via SIP using media gateways that are serviced by several nationwide local and long-distance providers
- The connections interface with West IPC’s MaxxConnect IP Trunking solution resulting in an SIP connection.
From its birth in the IETF, to its development and growth into a protocol of choice for multimedia communications sessions, SIP has grown into a standard for the present and future of telecommunications operations.