Questions Asked in Cisco
1) why prack is required and how server know that it should send prack
2) what is route and record route
Difference between 180 and 183
As per RFC3261
21.1.2 180 Ringing
The UA receiving the INVITE is trying to alert the user. This
response MAY be used to initiate local ringback.
...
21.1.5 183 Session Progress
The 183 (Session Progress) response is used to convey information
about the progress of the call that is not otherwise classified.
The UA receiving the INVITE is trying to alert the user. This
response MAY be used to initiate local ringback.
...
21.1.5 183 Session Progress
The 183 (Session Progress) response is used to convey information
about the progress of the call that is not otherwise classified.
RFC : https://tools.ietf.org/html/rfc3960
Ringing Tone Generation
In the PSTN, telephone switches typically play ringing tones for the
caller, indicating that the callee is being alerted. When, where,
and how these ringing tones are generated has been standardized
(i.e., the local exchange of the callee generates a standardized
ringing tone while the callee is being alerted). It makes sense for
a standardized approach to provide this type of feedback for the user
in a homogeneous environment such as the PSTN, where all the
terminals have a similar user interface.
This homogeneity is not found among SIP user agents. SIP user agents
have different capabilities, different user interfaces, and may be
used to establish sessions that do not involve audio at all. Because
of this, the way a SIP UA provides the user with information about
the progress of session establishment is a matter of local policy.
For example, a UA with a Graphical User Interface (GUI) may choose to display a message on the screen when the callee is being alerted,
while another UA may choose to show a picture of a phone ringing
instead. Many SIP UAs choose to imitate the user interface of the
PSTN phones. They provide a ringing tone to the caller when the
callee is being alerted. Such a UAC is supposed to generate ringing
tones locally for its user as long as no early media is received from
the UAS. If the UAS generates early media (e.g., an announcement or
a special ringing tone), the UAC is supposed to play it rather than
generate the ringing tone locally.
The problem is that, sometimes, it is not an easy task for a UAC to
know whether it will be receiving early media or it should generate
local ringing. A UAS can send early media without using reliable
provisional responses (very simple UASs do that) or it can send an
answer in a reliable provisional response without any intention of
sending early media (this is the case when preconditions are used).
Therefore, by only looking at the SIP signalling, a UAC cannot be
sure whether or not there will be early media for a particular
session. The UAC needs to check if media packets are arriving at a
given moment.
An implementation could even choose to look at the contents of the
media packets, since they could carry only silence or comfort
noise.
With this in mind, a UAC should develop its local policy regarding
local ringing generation. For example, a POTS ("Plain Old Telephone
Service")-like SIP User Agent (UA) could implement the following
local policy:
1. Unless a 180 (Ringing) response is received, never generate
local ringing.
2. If a 180 (Ringing) has been received but there are no incoming
media packets, generate local ringing.
3. If a 180 (Ringing) has been received and there are incoming
media packets, play them and do not generate local ringing.
Note that a 180 (Ringing) response means that the callee is
being alerted, and a UAS should send such a response if the
callee is being alerted, regardless of the status of the early
media session.
At first sight, such a policy may look difficult to implement in
decomposed UAs (i.e., media gateway controller and media gateway),
but this policy is the same as the one described in Section 2, which
must be implemented by any UA. That is, any UA should play incoming
In the PSTN, telephone switches typically play ringing tones for the
caller, indicating that the callee is being alerted. When, where,
and how these ringing tones are generated has been standardized
(i.e., the local exchange of the callee generates a standardized
ringing tone while the callee is being alerted). It makes sense for
a standardized approach to provide this type of feedback for the user
in a homogeneous environment such as the PSTN, where all the
terminals have a similar user interface.
This homogeneity is not found among SIP user agents. SIP user agents
have different capabilities, different user interfaces, and may be
used to establish sessions that do not involve audio at all. Because
of this, the way a SIP UA provides the user with information about
the progress of session establishment is a matter of local policy.
For example, a UA with a Graphical User Interface (GUI) may choose to display a message on the screen when the callee is being alerted,
while another UA may choose to show a picture of a phone ringing
instead. Many SIP UAs choose to imitate the user interface of the
PSTN phones. They provide a ringing tone to the caller when the
callee is being alerted. Such a UAC is supposed to generate ringing
tones locally for its user as long as no early media is received from
the UAS. If the UAS generates early media (e.g., an announcement or
a special ringing tone), the UAC is supposed to play it rather than
generate the ringing tone locally.
The problem is that, sometimes, it is not an easy task for a UAC to
know whether it will be receiving early media or it should generate
local ringing. A UAS can send early media without using reliable
provisional responses (very simple UASs do that) or it can send an
answer in a reliable provisional response without any intention of
sending early media (this is the case when preconditions are used).
Therefore, by only looking at the SIP signalling, a UAC cannot be
sure whether or not there will be early media for a particular
session. The UAC needs to check if media packets are arriving at a
given moment.
An implementation could even choose to look at the contents of the
media packets, since they could carry only silence or comfort
noise.
With this in mind, a UAC should develop its local policy regarding
local ringing generation. For example, a POTS ("Plain Old Telephone
Service")-like SIP User Agent (UA) could implement the following
local policy:
1. Unless a 180 (Ringing) response is received, never generate
local ringing.
2. If a 180 (Ringing) has been received but there are no incoming
media packets, generate local ringing.
3. If a 180 (Ringing) has been received and there are incoming
media packets, play them and do not generate local ringing.
Note that a 180 (Ringing) response means that the callee is
being alerted, and a UAS should send such a response if the
callee is being alerted, regardless of the status of the early
media session.
At first sight, such a policy may look difficult to implement in
decomposed UAs (i.e., media gateway controller and media gateway),
but this policy is the same as the one described in Section 2, which
must be implemented by any UA. That is, any UA should play incoming
media packets (and stop local ringing tone generation if it was being
performed) in order to avoid media clipping, even if the 200 (OK)
response has not arrived. So, the tools to implement this early
media policy are already available to any UA that uses SIP.
performed) in order to avoid media clipping, even if the 200 (OK)
response has not arrived. So, the tools to implement this early
media policy are already available to any UA that uses SIP.
SIP Interview Questions
http://www.code2compile.comhttps://www.blogger.com/blogger.g?blogID=7552899752876148408#editor/target=post;postID=8009079534554581480/ sip-discussion.html-->2 question papers in this links
http://siptestingknowledge. blogspot.in/p/sip-inteview- questions.html-->check for other question papers in this link
SIP Protocol Structure
The lowest layer of SIP is its syntax and encoding. Its encoding
is specified using an augmented Backus-Naur Form grammar (BNF).
2.
The second layer is the transport layer. It defines how a client sends
requests and receives responses and how a server receives requests and
sends responses over the network.
3. The third layer is the
transaction layer. Transactions are a fundamental component of SIP. A
transaction is a request sent by a client transaction (using the
transport layer) to a server transaction, along with all responses to
that request sent from the server transaction back to the client.
a.
The transaction layer handles application-layer retransmissions,
matching of responses to requests, and application-layer timeouts.
4. The layer above the transaction layer is called the transaction user (TU).
a. Each of the SIP entities, except the stateless proxy, is a transaction user.
b.
When a TU wishes to send a request, it creates a client transaction
instance and passes it the request along with the destination IP
address, port, and transport to which to send the request.
| ||||||||||
| ||||||||||
| ||||
| ||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||
| |||||||