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.
Get your grade
or your money back
using our Essay Writing Service!
There are four logical SIP entities,
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 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.
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 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 are text based messages defined in RFC 2279 and RFC 3261. There are two types of SIP messages,
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.
To start a call, or change parameters of a call.
Responds to invite request.
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.
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.
Always on Time
Marked to Standard
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)
SIP Server (UAS) INVITE
Call establishment using Proxy Server:
SIP Client (UAC)
SIP Server (UAS)
Proxy Server INVITE
180 RINGING 180 RINGING
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: User@xyz.com
302 move temporary contact email@example.com
SIP Server (UAS)INVITE: firstname.lastname@example.org
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