Session Initiation Protocol Sip 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.

Session initiation protocol (SIP) is defined by Internet Engineering Task Force (IETF), it is protocol used to carry signaling information of IP based multimedia sessions in an IP network. It is an application layer protocol responsible for creating, terminating and modifying sessions with multiple participants. SIP provides negotiation of media type to be used at session creation time, SIP messages are used for this purpose. Proxy server is one of the elements of SIP protocol, it is used to route requests of users for authentication, authorization and exchange of media. Users update their current locations time to time using registration function of SIP so that proxy server can easily map user's location.

SIP operates in request/response model, SIP sessions can use unicast or multicast communication, SIP can be extended by borrowing services from internet protocols like HTTP and SMTP, it can be extended to get services like mobility, interoperability with other networks and call control.

SIP Entities:

There are four logical SIP entities,

User Agent

Proxy Server

Redirect Server


For communication of client and server in SIP protocol each entity has a specific function. One device can be used as multiple entities for example, a device working as proxy server for one client can also be used as registrar for another client.

User Agent:

User Agent is an end point entity, which starts and ends media sessions by exchanging requests and responses. It contains User Agent Client (UAC) and User Agent Server (UAS), the details of user agent are available in RFC 2543. User Agent can be an IP phone, Media server or a Signaling gateway.

An application which initiates the request is User Agent Client

An application which responds to the request initiated by the client is User Agent Server

We have a third type of user agent known as Back to Back User Agent (B2BUA). It is a logical entity which acts as UAS and UAC as well i.e. it always acts as a client and server both. The examples of back to back user agent are IP PBX, Session Border Controller and Application Servers.

Redirect Server:

When a call request is received by Redirect server it maps the address of the other party and sends this address back to the first (calling) party. It doesn't forward the call request to other serves, unlike the proxy server it simply maps the address for the client.

Proxy Server:

Proxy Server is an intermediary entity between two clients. It maps the address of the called party and then itself establishes connection to that party on behalf of the calling party. It translates the request sent to it before forwarding to the other servers.


It is server whose responsibility is to update location data base on the reception of REGISTER request. This register request includes the complete user information in it. The acceptance and validation of REGISTER messages, reading of mapping location and updating of location service are the functionalities of registrar.

SIP messages:

SIP messages are text based messages defined in RFC 2279 and RFC 3261. There are two types of SIP messages,

Request Message

Response Message

A request message is sent from client to the server while the reply from the server to that message is response message. In these messages there is a start line and header field. To indicate the end of header there is an empty line.

Request messages:


To start a call, or change parameters of a call.


Responds to invite request.


Ends call.


Terminate awaiting requests.


Inquires capabilities of other party.


Registers the location entries with registrar.


Informs user for the occurrence of a new event.


Informs server for a new event.

Table: 3.1

Response Messages:

Response messages consist of two parts, numeric and HTTP codes. There are some response codes that are sent in reply of the request messages, following table show some of the example response code.

100 Continue, 180 Ringing, 200 OK, 300 Multiple choices, 301 Moved permanently, 302 Moved temporarily, 400 Bad request, 401 Unauthorized, 408 Request time-out, 480 Unavailable, 600 Busy, 604 Does not exist, 606 Not acceptable

SIP Session Establishment and Termination:

SIP Client (UAC)


100 Trying

180 Ringing

200 OK



200 OK

Figure: 3.1

Call establishment using Proxy Server:

SIP Client (UAC)

SIP Server (UAS)

Proxy Server INVITE





200 OK

200 OK


Figure: 3.2

The call establishment using proxy server includes following steps

SIP Client sends invite message to the proxy server to make session with SIP Server

Proxy server responds by sending 100 TRYING message, in the mean time it sends INVITE to SIP Server

SIP Server responds by sending 100 TRYING message to the Proxy Server

At the reception of 180 RINGING from SIP Server Proxy Server sends 180 RINGING to SIP Client.

SIP Server then sends 200 OK to the Proxy Server indicating that it is ready for communication, after the reception of 200 OK from SIP Server, Proxy Server sends 200 OK to SIP Client.

ACK message from SIP Client is then sent directly to SIP Server and communication starts.

Call establishment using Redirect Server:

SIP Client (UAC)

Redirect ServerINVITE: [email protected]

302 move temporary contact [email protected]


SIP Server (UAS)INVITE: [email protected]

200 OK


Figure: 3.3

The call establishment using redirect server includes following steps

SIP Client sends invite message to connect with SIP Server and gets Redirect Server in his path, Redirect Server redirects SIP Client to new address to connect with SIP Server

SIP Client sends ACK to Redirect Server, it then sends INVITE at the new address and finds SIP Server.

SIP Server then sends 200 OK message, indicating that it is ready for the communication

SIP Client sends ACK and communication starts