SIP (Session Initiation Protocol) it is a protocol used to create, manage and terminate sessions in an IP based network. As far as a session is concerned, it could be a simple two-way telephone call or a collaborative multi-media conference session. This makes possible to implement services like voice-enriched e-commerce, web page click-to-dial or Instant Messaging with friend lists in an IP based environment. SIP has been the choice for services related to Voice over IP (VoIP) in the recent past. It is a standard (RFC 3261) put forward by Internet Engineering Task Force (IETF). SIP is still growing and being modified to accommodate all relevant features as the technology expands and evolves. But it should be noted that the job of SIP is limited to only the setup and control of sessions. The details of the data exchange within a session, is not controlled by SIP and is taken care of by other protocols.
Working Functions of SIP:
SIP is limited to only the setup, modification and termination of sessions. It serves four major purposes:
- It allows for user location establishment (i.e. translating from a user's name to their current network address).
- It provides feature’s selection so that all users in a session does agree on the features which are to be offered to them.
- SIP allows for changing features of a session even if it is in progress.
- SIP is a mechanism for call management - for example adding, dropping, or transferring participants.
All of the other key functions are done with other protocols.
Components Of SIP:
Entities in a SIP scenario are called User Agents (UA)
User Agents may operate in two trends:
- User Agent Client (UAC): It generates requests and send those to servers.
- User Agent Server (UAS): It gets requests, processes those requests and generate responses.
In general we associate the clients to the end users i.e. the applications running on the systems used by people. It may be a softphone application running on your PC or a messaging device in your IP phone. It generates a request when you try to call another person over the network and sends the request to a server (generally a proxy server).
Servers are in general part of the network. They possess a predefined set of rules to handle the requests sent by clients.
Servers can be of several types:
Proxy Server: These are the most common type of server in a SIP environment. When a request is generated, the exact address of the recipient is not know in advance. So the client sends the request to a proxy server. The server on behalf of the client (as if giving a proxy for it) forwards the request to another proxy server or the recipient itself.
Redirect Server: A redirect server redirects the request back to the client indicating that the client needs to try a different route to get to the recipient. It generally happens when a recipient has moved from its original position either temporarily or permanently.
Registrar: As you might have guessed already, one of the prime jobs of the servers is to detect the location of an user in a network. How do they know the location? If you are thinking that users have to register their locations to a Registrar server, you are absolutely right. Users from time to time refreshes their locations by registering (sending a special type of message) to a Registrar server.
Location Server: The addresses registered to a Registrar are stored in a Location Server.
Commands of SIP:
INVITE :Invites a user to a call.
ACK : Acknowledgement is used to facilitate reliable message exchange for INVITEs.
BYE :Terminates a connection between users.
CANCEL :Terminates a request, or search, for a user. It is used if a client sends an INVITE and then changes its decision to call the recipient.
OPTIONS :Solicits information about a server's capabilities.
REGISTER :Registers a user's current location.
INFO :Used for mid-session signaling.
The market for consumer SIP devices continues to expand; there are many devices such as SIP Terminal Adapters, SIP Gateways, and SIP trucking services providing replacements for ISDN telephone lines. Many VoIP phone companies allow customers to use their own SIP devices, such as SIP-capable telephone sets, or softphones. Skype is also a big example of SIP.