Session Initiation Protocol (SIP) is a VoIP signaling protocol. As its name suggests, it has
everything to do with setting up sessions, which means it has the responsibility for starting a
session after you dial a number (or double-click, in some cases). As such, SIP's role also
includes maintaining user registrations with a server, defining session routing, handling
various error scenarios, and, of course, modifying and tearing down sessions.
everything to do with setting up sessions, which means it has the responsibility for starting a
session after you dial a number (or double-click, in some cases). As such, SIP's role also
includes maintaining user registrations with a server, defining session routing, handling
various error scenarios, and, of course, modifying and tearing down sessions.
We'll present this introduction in two parts. In the first part, we'll focus on the SIP foundation
layers. These layers allow creating a network of SIP servers. In the next article, we will go
through the way a phone communicates with the rest of the world using this server network,
based on the same foundation layers.
SIP Foundations
Mesage Structures
SIP shares the same message structure as HTTP and RTSP. As a result, most of the text
description here would fit these protocols as well. Each message is either a request or a
response. All messages are text-based and have the following form:
• First line
• Headers
• Empty line
• Optional body
The first line is different for a request and a response. A request's first line uses the following
format:
For example, a SIP request's first line can be:
REGISTER sip:avissol.com SIP/2.0
A response comes in the form of:
The version is the same in all messages. The code is a 3-digit value, and the reason phrase
could be any text describing the nature of the response. A proper first line in the response
could be:
SIP/2.0 200 OK
It's easy to scan the first characters of a message to detect whether it's a request or a
response ("/" is not a valid character for the method field, therefore even a generic parser
could differentiate a request from a response).
Next come the headers of the message. Some headers contain vital information and thus are
mandatory, but many headers are optional. Each header has a name and a value, and some
have parameters.
For more Details Visit : http://www.avissol.com