The Session Initiation Protocol Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Abstract- The purpose of the paper is to learn about SIP (Session Initiation Protocol) and services it provides. To learn about how SDP (session Description Protocol) is related to SIP. To learn about SIMPLE (SIP for instant messaging and presence) and jabber (XMPP). To learn about ENUM.


SIP (Session Initiation protocol) is a application layer protocol that is used to establish ,modify ,terminate multimedia session between two users. IPtelephony is an example for SIP. For establishing and terminating multimedia connections SIP supports five facets[1]:

User Location

It determines the location of end system

User Availability

It determines the willingness of the called party to involve in the communication.

User capability

It determines multimedia parameters used during the communication.

Session Setup

It establishes the session parameters at the end users.

Session Management

This involves session invoking, modifying and session termination between the end users.


Request-Line:INVITE sip:[email protected] SIP/2.0

Status-Code: 100

Request Line gives type of request being sent .The above is request line for INVITE. 100 is status code for Invite

Status-Line: SIP/2.0 100 trying -- your call is important to us

Status-Code: 100

The above is request line for TRYING. 100 is status code for TRYING.

Status-Line: SIP/2.0 180 Ringing

Status-Code: 180

The above is status line for Ringing.

180 is status code for Ringing.

Status-Line: SIP/2.0 200 OK

Status-Code: 200

The above is status line for OK.200 is status code for OK.

From:"praveen"<sip:[email protected]>;tag=29bc34904c

From parameter gives the URI of the called party.

To: sip:[email protected]

To parameter gives URI of the called party.

Call-ID: 8A60F9428B1F4ADC9D98DCAD90924FE00xc10a278f

Call ID parameter gives unique ID for that particular session


Via gives the transport protocol and request route each proxy adds in the line field

Contact: sip:[email protected]

Contact shows the address of the person to be contacted.

User-Agent: SJphone/1.65.377a (SJ Labs)

User agent is the client agent who manages the communication

First User A send the Invite request to proxy server. Proxy server sends the invite message to server B. Proxy server sends Trying (status code 100) to User A. User B sends Trying message to proxy. User B sends the Ringing status (status code 180) to proxy server. Proxy server sends the Ringing status to User A. When User B is ready to answer it sends the Ok status message (status code 200) to proxy server. Proxy server sends the Ok status message to User A. User A sends ACK for OK to proxy server, then Proxy sends ACK to User B. Then conversation takes place using RTP and UDP protocol. Once the conversation is over one of the User sends Bye message to other user. The other user sends OK status on receiving Bye message. This is shown in Fig 1.

User A Proxy User B

Fig 1


First User A send Invite message to proxy server of A. Proxy of A sends Invite message to Proxy server of B. Proxy of B sends Invite message to User B. Proxy a sends Trying (status code 100) to User A. Proxy B sends Trying status to Proxy A. User B sends Trying status to Proxy B. To show that User B has been alerted Ringing (status code 180) is send to Proxy B. Proxy B sends Ringing status to Proxy A. Proxy A sends Ringing status to User A. Once the User B is ready it sends it send Ok (status code 200) to User A via the two proxy servers. After receiving Ok status User A sends Ack to user B via proxy servers. Now session has been established between two users. The conversation takes place between two users via UDP and RTP protocols. Once the conversation ends one of the user sends Bye message to other user. The other user responds to it by sending Ok status message.

If record routing is used Bye message is send via proxy .If record routing is not used Bye message is not send via proxy.

User A Proxy1 Proxy 2 User B

Fig 2

Fig 3

Fig 4


User agent

User agent behaves as User agent client if it creates a new request. For instance, User agent acts as user agent client when it sends Invite request.

User Agent Server

User agent acts as user agent server if it receives a request and sends a response to it. It can accept, redirect or reject the incoming request. For instance, User agent acts as a user agent client if it receives a Invite request and sends a response to it.


Registrar accepts the register request and places the information in location service for the particular domain it handles.

Redirect Server

It is a user agent server which respond to the request, it redirect the request from the user to alternate URI .

Location server

SIP server or redirect server gets the location of the called party(user agent server) from the location server.


SIP has session description that allows end user to synchronise to compatible media type. This is done using Session Description Protocol (SDP). Private sessions are created by encrypting session description. But SDP is not aware of it. SDP is used in specifying the multimedia type used between the end users [rfc 4566].

Some of the examples of SDP are

Session Initialization

Session initialization protocol is application layer protocol. SDP is used in specifying multimedia type used between the end users.

Streaming Media

The Real Time Streaming Protocol(RTSP) is an application layer protocol used in real time audio, video applications. RTSP client and server need to agree upon few parameters which is done using SDP syntax.

World Wide Web and e-mail

Both World Wide Web and e-mail uses application/SDP. It is used in launching application in WWW and mail .

Multicast Session Announcement

Sometimes there will be multicast media conferences. During which session description should be sent to all remote users. Which is done using SDP.


SIMPLE is used in instant messaging and it uses SIP protocol. SIP is used in managing session in SIMPLE. SIP is used in registering for presence information when such event occurs . When user logged in and came back after a break.

The message flow in shown in the figure below

Fig 5

Here User 1 sends the message to server. Proxy receives the request and finds it is the server. It look at the database and finds the binding . Then it forwards the message to the User 2.

SIMPLE uses SDP for session description. While JABBER uses XML for carrying the session information.


6) ENUM is process of mapping telephone number with URI. This can then be used by DNS as regular URI. It is defined by RFC 361. In hosting of ENUM domain name is done.


Consider telephone number +91(44)24328235 will be converted to ENUM domain name DNS query to the domain name will resolve to one or more domain name which will provide a URI. The above domain name will be converted to URI sip:[email protected] The SIP proxy will use the URI to establish connection between the end users.


This paper explains the Session Initiation Protocol and services. It explains the signalling message exchanged between two user agents connected with one proxy and also with two proxies. It also deals with system entities such as user agent client, user agent server, registrar, redirect server and location server. It explains the SDP protocol related to SIP. It also explains ENUM , SIMPLE and Jabber.