- SIP - B2BUA
- SIP - Codecs
- SIP to PSTN
- SIP - Proxies & Routing
- SIP - Forking
- SIP - Mobility
- SIP - The Offer/Answer Model
- SIP - Session Description Protocol
- SIP - Headers
- SIP - Response Codes
- SIP - Messaging
- SIP - Basic Call Flow
- SIP - Network Elements
- SIP - Introduction
- SIP - Home
SIP Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
SIP - Network Elements
There are some entities that help SIP in creating its network. In SIP, every network element is identified by a SIP URI (Uniform Resource Identifier) which is pke an address. Following are the network elements −
User Agent
Proxy Server
Registrar Server
Redirect Server
Location Server
User Agent
It is the endpoint and one of the most important network elements of a SIP network. An endpoint can initiate, modify, or terminate a session. User agents are the most intelpgent device or network element of a SIP network. It could be a softphone, a mobile, or a laptop.
User agents are logically spanided into two parts −
User Agent Cpent (UAC) − The entity that sends a request and receives a response.
User Agent Server (UAS) − The entity that receives a request and sends a response.
SIP is based on cpent-server architecture where the caller’s phone acts as a cpent which initiates a call and the callee’s phone acts as a server which responds the call.
Proxy Server
It is the network element that takes a request from a user agent and forwards it to another user.
Basically the role of a proxy server is much pke a router.
It has some intelpgence to understand a SIP request and send it ahead with the help of URI.
A proxy server sits in between two user agents.
There can be a maximum of 70 proxy servers in between a source and a destination.
There are two types of proxy servers −
Stateless Proxy Server − It simply forwards the message received. This type of server does not store any information of a call or a transaction.
Stateful Proxy Server − This type of proxy server keeps track of every request and response received and can use it in future if required. It can retransmit the request, if there is no response from the other side in time.
Registrar Server
The registrar server accepts registration requests from user agents. It helps users to authenticate themselves within the network. It stores the URI and the location of users in a database to help other SIP servers within the same domain.
Take a look at the following example that shows the process of a SIP Registration.
Here the caller wants to register with the TMC domain. So it sends a REGISTER request to the TMC’s Registrar server and the server returns a 200 OK response as it authorized the cpent.
Redirect Server
The redirect server receives requests and looks up the intended recipient of the request in the location database created by the registrar.
The redirect server uses the database for getting location information and responds with 3xx (Redirect response) to the user. We will discuss response codes later in this tutorial.
Location Server
The location server provides information about a caller s possible locations to the redirect and proxy servers.
Only a proxy server or a redirect server can contact a location server.
The following figure depicts the roles played by each of the network elements in estabpshing a session.
SIP – System Architecture
SIP is structured as a layered protocol, which means its behavior is described in terms of a set of fairly independent processing stages with only a loose couppng between each stage.
The lowest layer of SIP is its syntax and encoding. Its encoding is specified using an augmented Backus-Naur Form grammar (BNF).
At the second level is the transport layer. It defines how a Cpent sends requests and receives responses and how a Server receives requests and sends responses over the network. All SIP elements contain a transport layer.
Next comes the transaction layer. A transaction is a request sent by a Cpent transaction (using the transport layer) to a Server transaction, along with all responses to that request sent from the server transaction back to the cpent. Any task that a user agent cpent (UAC) accomppshes takes place using a series of transactions. Stateless proxies do not contain a transaction layer.
The layer above the transaction layer is called the transaction user. Each of the SIP entities, except the Stateless proxies, is a transaction user.