Tuesday, 17 May 2016




SIP Stands for Session Initiation Protocol. SIP is becoming a global standard for VoIP. SIP is a protocol which is used for signalling, controlling multimedia sessions such as voice and video between two endpoints or through a proxy server. SIP is also used for instant messaging, client presence, user mobility based on its current location.

SIP has been developed by IETF: Internet Engineering Task Force. This group is responsible for adding new features and modifying existing features in SIP. All concepts used in SIP are defined under RFC’s i.e. RFC 3261 which is one of the most important RFC for VoIP.

Some highlights about SIP:

  • SIP is a text based protocol, written in ASCII.
  • SIP works on client server model.
  • Main role of SIP is to Setup, Modify and Tear-down sessions separately.
  • SIP works on application layer.
  •  For media such as RTP and video SIP relies on existing protocols i.e. TCP UDP, IP and codecs such as G711 , G729 and many more.

Components of SIP:

User Agents:  Every endpoint in SIP is called a user agent. Any device in the network which is capable of creating a new request, or able to respond to a request is a SIP user agent. User agents are categorized in two types:

  • User Agent Client (UAC): Any endpoint which creates a new request is known as User Agent Client. For an example a SIP phone dialing a number will work as a UAC.
  • User Agent Server (UAS):  Any endpoint or server responding to the request will be known as a User Agent Server. For an example a proxy server, or a SIP phone answering the phone. Any endpoint can be a User agent client or a User agent server both depending on the request or response type. 
Proxy Server:  A Proxy server is an entity in a Network which is responsible for setting up the session between the endpoints. Proxy server works both as a server and a client as it receives a request from an endpoint and works as a User Agent Server (UAS) and forwards the same or modified request (if required ) to another proxy server or endpoint and works as a User Agent Client (UAC).

Registrar Server: Registrar Server mostly working in the same server as proxy server is a place where endpoints update their current registration state. Registrar server is responsible for storing the URI (ex: jammy@ciscovoicevirtiallab.com) of the endpoint. Registrar server works closely with the location server.

Location Server: Location server is place where registrar server stores the IP address of any endpoint which is mapped towards the URI of the endpoint. In the above example location server will store the IP of URI  jammy@ciscovoicevirtiallab.com.


DNS Server: DNS server is used to find the IP address of the domain when a request is going outside the organization. For an example if someone tries to call jammy@ciscovoicevirtiallab.com , to forward the request further we need to resolve ciscovoicevirtuallab.com into an IP address. DNS server is always not important if we are not sending the request outside the organization, or if we are not using domain names for SIP messages.

Redirect Server: Redirect server redirects the server the request to another server if its not responsible for the request , or it may redirect the request to another endpoint to decrease the load from the server in case of high transactions.

URI: SIP URI (Uniform Resource Indicator) is a kind of address which is used to reach a SIP endpoint. It looks like an email address and and can be different formats.It can be identified as (name or phone number)@(domainname or OP address). An endpoint , end user or a service can be addrersses as a SIP URI.

SIP URI examples:


URL: URL (Uniform Resource Locator) is a kind of URI which informs how to reach a specific kind of URI, in the above examples we are talking about SIP URI's.  For an example , if you want to reach jammy@ciscovoicevirtuallab.com, first you need to reach ciscovoicevirtuallab.com , so in this case ciscovoicevirtuallab.com is a URL.

PS: If you like this post please like my Facebook page Cisco Voice Virtual Lab which will help you to know about my next post on Facebook.

1 comment: