SIP requests – info, this is a means for transferring the information
during an ongoing session in the middle of a call.
• e.g. the transfer of Dual tone multi frequency digits, transfer of
account balance information, Through the use of the INFO
method, application- layer information could be transferred in the
middle of a call, enabling user-agent servers, user-agent clients, or
proxies the opportunity to act upon the information.
• SIP responses are sent to indicate status back to the caller
• The start line of a SIP response is a status line containing:
1 A status code, which is a three-digit number indicating the outcome of the request.
2 A reason phrase, which provides a textual description of the outcome.
The different classes of Status codes are as follows:
• 1XX Provisional (for example, 181 indicates that the call is being forwarded).
• 2XX Success (only code 200 is defined, which means that the request has been
understood and has been performed.In the case of an INVITE, a response of 200 is used
to indicate that the called party has accepted the call).
• 3XX Redirection (such as 302, which indicates that the called party is not available at the
addresses used in the request and that the request should be reissued to a new address
included with the response).
• 4XX Request Failure (such as 401, indicates that the client is not authorized to make the
• 5XX Server Failure (such as 505, which indicates that the server does not support the SIP
version specified in the request).
• 6XX Global Failure (such as 604, indicating that the called user does not exist anywhere).
In SIP, addresses are known as SIP Uniform Resource Indicators (URIs).
• Whereas an e-mail address uses a mailto Uniform Resource Locator (URL), such as
, a SIP URI has the syntax sip:[email protected]
• SIP enables the user portion of the SIP address to be a telephone number. Thus, we
could have a SIP address such as sip:[email protected]
Message Headers - RFC 3261.
• M means mandatory.
• M* means that the header field should be present in the request, but a receiver should
be prepared to process the request even if the header is absent.
• O means optional.
• T means that the header should be included in the request if a stream based transport
(e.g. TCP) is used.
• C means conditional; the presence of the header depends on the context of the
• N/A means not applicable; the header should not be sent in the request.
Request Headers: these apply only to the requests, these include the subject and priority.
Response header: these header fields include the fields which cannot be included in the status
line, these messages include, unsupported (for showing the features which are not supported)
retry after header field is used when the user is currently unavailable.
Entity Headers: The message body contains the information about the session or information
to be presented to the user. The purpose of the entity headers is to indicate the type and
format of information, these fields include the content length, content type, content encoding,
content language etc.
• The Content-Length header field specifies the length of the message body in octets.
• The Content-Type header field indicates the media type of the message body. For VoIP,
this header will usually indicate SDP, in which case the header field will appear as
Content- Type: application/ sdp.
• The Content-Disposition header field describes how the message body or, for
multipart messages, a message body part should be interpreted.
• A message body might contain an image of the caller as part of an advanced
Caller-ID service. In such a case, the Content-Disposition would have the value
• The value alert indicates that the message body part contains information such
as an audio clip that would alert the user to the receipt of a request.
• A given SIP user could choose his or her own personal ring tone that is played
to a called party, so someone could tell who is calling based on their personal
SIP CALL SEQUENCE: 1. Registration: the first step in sip is registration it gives the server an address to
contact the user.
This process contains the host at which the user has logged in
The via header will contain all the nodes in the travelled path.
The via field also describes the transport protocol used.
The from header tells about the initiator of the message.
The to header will contain the address at which the user wants to be contacted.
The to and from will be identical if the user is registering himself.
• TheFrom:field contains a tag parameter, which is a pseudorandom value
generated at the sender of the request and is used for identification purposes.
• Register request doesn’t contain any message body but contains a content
length field that is set to zero.
• The cseq field is used to indicate the method used in the request and an integer
number, it is necessary when many requests are issued for the same call id, in
that case the cseq is used to avoid ambiguity. But in case of a requet and
response the cseq must be same.
• Registration also contains expiration time, the registrar can reduce this limit if it
• Similarly the user can subsequently register to some other destination also, and
the call will be forwarded to both the destinations.
• To cancel an existing registration the user can send another register request for
the same address record and specify a registration interval of 0. And cseq
incremented by 1.
• If the user wants to cancel all existing registrations then he can send the register
message with the expiration header 0 and contact header field as *.
• This is the request used to initiate a connection.
• If the proxies are present then the request is passed through it otherwise directly.
• Sip allows the use of a display name rat