Sie sind auf Seite 1von 69

Session Initiation Protocol (SIP)

SAROJ KUMAR NAYAK

AGENDA

INTRODUCTION TO SIP
SIP ENTITY
SIP REQUEST/METHODS
SIP RESPONSE
SIP HEADERS
SDP
PROTOCOL STACK OF SIP
CALL FLOWS

Slide Title | CONFIDENTIAL 2006

July 16, 2015

INTRODUCTION TO SIP

Session Initiation Protocol (SIP) is a Call Control or Signaling


Protocol for initiating, managing and terminating voice and video
sessions across packet networks (VoIP). SIP sessions involve one
or more participants and can use unicast or multicast
communication
SIP is an application layer control protocol
SIP is a text-based protocol and inherited from HTTP and SMTP.
SIP is also a client server protocol
Sessions include Internet multimedia conferences, Internet
telephone calls and multimedia distribution.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Development of SIP

SIP developed by Handley, Schulzrinne, Schooler,


and Rosenberg
- Submitted as Internet-Draft 7/97
Assigned RFC 2543 in 3/99
Goals: Re-use of & Maximum Interoperability with
existing protocols
Alternative to ITUs H.323
- H.323 used for IP Telephony since 1994
- Problems: No new services, addressing, features
- Concerns: scalability, extensibility

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SIP Basic Functionality

Supports 5 facets of communication:


User location: determination of the end

system to be used for communication;


User capabilities: determination of the
media and media parameters to be used;
User availability: determination of the
willingness of the called party to engage in
communications;
Call setup: "ringing", establishment of call
parameters at both called and calling party;
Call handling: including transfer and
termination of calls.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SIP ENTITY

There are Five Basic Network Elements in SIP. They are :


USER AGENT
PROXY SERVER
REGISTRAR SERVER
REDIRECT SERVER
LOCATION SERVER

Slide Title | CONFIDENTIAL 2006

July 16, 2015

DNS
R.D.
2

P1
1

4
9

10
User Agent 1

Slide Title | CONFIDENTIAL 2006

L.S.

REG

P2
8

User Agent2

July 16, 2015

USER AGENT

In SIP, a User Agent (UA) is the endpoint entity. User


Agents initiate and terminate sessions by
exchanging requests and responses.

User Agent contains both a User Agent client and


User Agent server, as follows:
User Agent Client (UAC)a client application that
initiates SIP requests.
User Agent Server (UAS)a server application that
contacts the user
when a SIP request is received
and that returns response on behalf of the user.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

REDIRECT SERVER

Redirect Server is that Network Element which receives the request,


queries the database and obtains the address or all the addresses of the
User Agent and sends it to the User Agent.
The main objective of the Redirect Server is to offload the Proxy server.
Redirect server is always used at the incoming side of the call.
The Redirect Server can be queried by both User Agents and Proxy
Server. An User Agent can query the Redirect Server only when the call
is made within the same network or Domain.
Redirect Server will query the Database with some NON-SIP Messages.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

PROXY SERVER

10

Proxy server is the intermediate network element which receives


the request from User Agent and forwards them in appropriate
direction. The Proxy servers will act as routers of SIP network.
Proxy servers will do routing based on SIP URI and they
understand SIP. All the User Agents are connected to the Proxy
servers and SIP message may pass through multiple proxy
servers from source to destination.
Proxy servers are of two types. They are:
Stateful Proxy servers and
Stateless proxy servers

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

11

Stateful Proxy servers are those servers which store information related
to the transaction state. They store the transaction ID before forwarding
the request and when the response is received, they match the
transaction ID. They perform retransmission and advanced routing
features like FORKING.

Stateless Proxy Servers are simple message forwarders. They simply


forward the request without storing the transaction state. They cannot
perform retransmission and FORKING. But, they are extremely fast.

There is another type of Proxy Servers which is Call stateful Proxy Servers
which stores both Transaction state and Call state. They are mainly used
in Billing Servers.
Slide Title | CONFIDENTIAL 2006

July 16, 2015

Some Additional Information

12

TYPES OF PROXY SERVER


Apart from the Normal proxy server, there are 2 types of Proxy
server. They are:
INBOUND PROXY SERVER:
These are the proxy servers through which all incoming request to
an User Agent has to pass through. This server is the first point of
contact for the UA in the inward direction.
OUTBOUND PROXY SERVER:
These are the proxy servers through which all outgoing request from
an User Agent has to pass through. This server is the first point of
contact for the UA in the outward direction.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

REGISTRAR SERVER

13

Registrar is the Network Element which performs the Registration for


the User agents. Every User Agents at the beginning has to be
Registered.
Registrar Server also performs BINDING( Binding is the process of
associating an URI with the location (i.e.) IP ADDRESS)
Every Registration has a lifetime. After the lifetime, it has to be Reregistered again. The default Registration time period is one hour.
Before the expiry of the time period, the User agent can perform a DeRegistration. For that same method is used with time period set to
Zero.
An User Agent can perform Registration on behalf of another User
Agent. Such Registration is called as Third-Party Registration.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

14

HOW TO DISCOVER A REGISTRAR:


An User Agent can discover the URI of Registrar in 3
ways:
1) Network by Configuration
The Network operator will configure the URI of the
Registrar with the User Agent, so that the REGISTER
request will automatically go to the Registrar.
2) By Using only the Domain Name in the Request
URI
Ex) REGISTER SIP: ALU.com SIP/2.0
3) By Using a well Known Multicast Address Known
as Well Known SIP Multicast Address
Ex) SIP: sip.mcast.net (OR) 224.0.1.75

Slide Title | CONFIDENTIAL 2006

July 16, 2015

LOCATION SERVERS

15

Location Servers are the Databases of the SIP Network. It stores all
the profiles of the User and other Information.

They are simple database which do not understand SIP.

Location Servers can be queried by Redirect Server, Proxy Server


and Registrar Server but not by the User Agents.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SIP REQUEST/METHODS

16

A SIP message can be a REQUEST or a RESPONSE. If it is


REQUEST, it will contain Commands. Commands in SIP is called as
METHODS.
In SIP, there are 14 Methods out of which 6 are mandatory methods
and 8 are optional methods. The Six Core or Mandatory Methods are
INVITE, BYE, CANCEL, REGISTER, ACK and OPTIONS.
The Eight optional Methods are REFER, NOTIFY, SUBSCRIBE,
PUBLISH, INFO, UPDATE, PRACK and MESSAGE.
In SIP, Methods are Case sensitive and they are always written in
Upper Case.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

CORE OR MANDATORY METHODS

INVITE:
INVITE is used by an User Agent to establish a session or a
call with another User Agent. INVITE will contain media
characteristics of the proposed call or session. The media
characteristics are proposed by SDP.
Invite is also used to modify the session or media
characteristics of an established call or a session. Such type of
INVITE is called as RE-INVITE.

BYE :
BYE is used to terminate an established call or session. BYE
can be sent only by the participating User Agents.

Slide Title | CONFIDENTIAL 2006

17

July 16, 2015

Contd

18

REGISTER:
REGISTER Method is sent by User Agent to Registrar to perform
Registration. REGISTER Method is also used when a User Agent performs a
De-Registration and Third Party Registration. REGISTER is always sent by
User Agents to the Registrar.

CANCEL:
CANCEL is used to Cancel an Unestablished call or a session. CANCEL
is always used after receiving the provisional response and before
receiving the Final Response. CANCEL is always sent from Originator Side.
Ex) MISSED CALL

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

19

ACK: ACK is used to acknowledge the receipt of final


response to INVITE Request. In SIP, Call is established by 3way Handshaking and ACK is sent to complete the 3-way
Handshaking. ACK is a request which has no Response.
In SIP, a session is established only after ACK is sent. ACK
is used only with INVITE Method and it is sent in the same
direction of INVITE Method. No other Methods can use
ACK.ACK will contain SDP parameters if it is not present in
INVITE Method.
If ACK is lost or not received, then the positive final
response is re-transmitted. UA1 waits for sometime after
sending ACK to check whether it gets any re-transmitted
final response from UA2. If it does not get any final
response, it ensures that ACK has reached UA2 and
establishes Voice path.
Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

20

OPTIONS:
OPTIONS Method is used to query the properties and capabilities of
other User Agents and Servers. OPTIONS Method can be used only
by User Agents.
Proxy Servers cannot send OPTIONS Method, but can reply to
OPTIONS.

OPTIONAL METHODS:

REFER:
REFER is used by the User Agent to provide Reference about the
Third User Agent. REFER Method is used in case of a Call Transfer.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

OPTIONAL METHODS

21

NOTIFY:
NOTIFY Method is used by an User Agent to indicate the
occurrence of an event and it will contain an EVENT ID. To receive
a NOTIFY, the User Agent has to send a SUBSCRIBE Method

SUBSCRIBE:
SUBSCRIBE is the Method which is used by the User Agent to
subscribe for the purpose of receiving notification about a
particular Event. Every Subscription has a time period and it will
be terminated after the time period is over. A Subscription can
also be terminated with the time period set to Zero.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

22

INFO:
INFO Method is used by the User Agent
to provide mid-call signaling information to
another User Agent with which it has established a
session. INFO is also used from SIP to PSTN to
carry some Signals.
UPDATE: UPDATE Method is used to change the
media characteristics of an un-established call or
a session.
MESSAGE:MESSAGE Method is Used for Instant
Messaging. Instant Messaging is a process by which
Users data is transmitted in a Protocol Message.
Also, Instant Messaging is used for short messages
and not for long messages. SIP Supports Instant
Messaging through MESSAGE Method.
Slide Title | CONFIDENTIAL 2006

July 16, 2015

SIP RESPONSES

23

SIP Responses contain some Response code which is a 3 Digit


Number. It varies from 100 to 699. Responses will also have a
Reason Phrase which is optional and can be changed.
Responses are divided in to Six categories. They are:
1XX Responses or Provisional Responses ( 100 199)
2XX Responses or +VE Final Responses ( 200 299)
3XX Responses or Redirect Class Responses ( 300 399)
4XX Responses or Client Errors ( 400 499)
5XX Responses or Server Errors ( 500 599)
6XX Responses or Global Errors ( 600 699)

Slide Title | CONFIDENTIAL 2006

July 16, 2015

1XX RESPONSES

24

1XX Responses are Provisional Responses indicating that the


process is going on. They may provide some information regarding
the type of processing that is going on. They are also called as
Informational Class.

Some of 1xx Responses are:


100 Trying
180 Ringing
181 Call is being forwarded
182 Call in Queue
183 Session in Progress

Slide Title | CONFIDENTIAL 2006

July 16, 2015

2XX RESPONSES

25

2XX Responses indicates SUCCESS. This means that the Request


has been Accepted or Succeeded

Some of the 2XX Responses are:


200 OK
202 - Accepted

Slide Title | CONFIDENTIAL 2006

July 16, 2015

3XX RESPONSES

26

3XX Responses are Redirection Class Responses


that are sent by the Redirect Server.
Some of the 3XX Responses are:
300 Multiple Choice
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternate Service

Slide Title | CONFIDENTIAL 2006

July 16, 2015

4XX RESPONSES

27

4XX Responses are Client Errors. This class of Responses is used by the UA
Server to indicate that the Request cannot be fulfilled because there is a problem
with the Request that is originated by the UA Client.
Some of the Important 4XX Responses are:
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
410 Gone
411 Length Required
413 Request Entity Too Large
414 Request URI too Long
415 Unsupported Media Type

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

28

416 Unsupported URI Scheme


420 Bad Extension
422 Session Timer Interval too Small
423 Registration Interval too Brief
429 Provide Referrer Identity
480 Temporary Unavailable
481 Transaction Does Not Exist
482 Loop Detected
483 Too many Hops
484 Address Incomplete
485 Ambiguous
486 Busy Everywhere
487 Request Terminated
488 Not Acceptable here

Slide Title | CONFIDENTIAL 2006

July 16, 2015

5XX RESPONSES

29

5XX Responses are Server Errors. These Responses are sent by UA server
and will have a Retry After field indicating when the request can be
processed.
Some of the 5XX Responses are :
500 Server Internal Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 Version Not Supported
513 Message too Large

Slide Title | CONFIDENTIAL 2006

July 16, 2015

6XX RESPONSES

30

6XX Responses are known as Global Errors. These are sent by Servers
which are absolutely sure that the request will fail wherever it is tried.
Only a server which has a definitive Knowledge can send 6xx Responses
Some of the 6XX Responses are:
600 Busy Everywhere
603 Decline
604 Does not exist anywhere
606 Not Acceptable Anywhere
Any Unrecognized Response code is treated as X00. In 1xx, it is treated
as 183.
Ex) 205 is considered as 200.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SIP MESSAGE PARTS

31

SIP Message consists of 3 parts. They are Start line, Headers and
Message Body.
START LINE: Every SIP message begins with a Start Line. The Start
Line conveys the message type (method in requests, and response
code in responses) and the protocol version. The Start Line may be
either a Request-line (requests) or Status-line (responses), as follows:
The Request-line includes a Request URI, which indicates the user
or service to which this request is being addressed. The Status-line
holds the numeric Status-code and its associated

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

32

HEADERS:
SIP header fields are used to convey message attributes and to
modify message meaning. They are similar in syntax and semantics
to HTTP header fields and thus always take the format:
<name>:<value>

Headers can span multiple lines. Some SIP headers such as Via,
Contact, Route and Request-Route can appear multiple times in a
message or, alternatively, can take multiple comma-separated
values in a single header occurrence.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

33

MESSAGE BODY:
A message Body is used to describe the session to be initiated (for
example, in a multimedia session this may include audio and video
codec types, sampling rates etc.), or alternatively it may be used to
contain opaque textual or binary data of any type which relates in
some way to the session. Message bodies can appear both in request
and in response messages. SIP makes a clear distinction between
signaling information, conveyed in the SIP Start Line and headers, and
the session description information, which is outside the scope of SIP.
Possible body types include:
SDP Session Description Protocol (SDP).
Multipurpose Internet Mail Extensions (MIME).
Others to be defined in the IETF and in specific implementations.
Slide Title | CONFIDENTIAL 2006

July 16, 2015

HEADERS

34

Headers provide a lot of Information about SIP. Headers are case


insensitive, but they are always written in lower case. There are 4
groups of Headers Informally. They are:
1) REQUEST AND RESPONSE HEADERS
2) REQUEST ONLY HEADERS
3) RESPONSE ONLY HEADERS
4) MESSAGE BODY HEADERS

Slide Title | CONFIDENTIAL 2006

July 16, 2015

REQUEST AN RESPONSE HEADERS

35

CALL-ID : This header is used to uniquely identify a Call or a Session.


Call-ID is a mandatory header in all SIP Request and Responses. This
header is globally Unique and cannot be duplicated. The General
format of Call-ID is:
Call-ID: Local ID@host name
Local ID@IP ADDRESS
TO : This header will contain the URI of the Destination URI User
Agent.
FROM : This header will contain the URI of the Originator of the SIP
Request.
TO and FROM are Mandatory Headers and their Values will not be
interchanged in the Response. They have the same values as that of
Request. TO is never used for Routing and the URI present in theJuly 16, 2015
Request URI is used for Routing Purposes.

Slide Title | CONFIDENTIAL 2006

Contd..

36

CSeq: This header is used to arrange the commands in Sequence.


Every new command originated will have a New CSeq. CSeq is
incremented by one for every New Request except ACK and CANCEL
which will have the same CSeq as that of INVITE. CSeq is used to
differentiate between a new request and retransmitted one. Every UA
maintains its own CSeq list
VIA: This header is used to record the path taken by the request so
that Response will follow the same path. Every network element
through which the Request passes will add VIA containing its own
URI. VIA is primarily used for the routing of the Response.
CONTACT: This header is used to convey the direct address or
location ( IP ADDRESS). Contact is mandatory in INVITE method and
200 ok to INVITE. Contact Header is also used in the REGISTER
Method.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

RESPONSE ONLY HEADERS

37

www-authenticate: This header contains the challenge parameters sent


by the Registrar or the UA Server. This header is sent in 401 Response
and it contains the nature of challenge so that UA client may formulate the
credentials.
Proxy Authenticate: This header is similar to www-authenticate, but this
is used by Proxy Server. This header is sent in 407 Response and it also
contains the challenge parameters.
Unsupported : This header is used to indicate the features that are not
supported by the Server. This header is used in 420 Response.
Min-Expires: This header is used in 423 Response. This is used to
indicate the minimum time period which is acceptable for Registration.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

REQUEST ONLY HEADERS

38

Authorization: This header is used to carry the credentials of the UA in


a Request to another UA server or to the Registrar. This is sent in reply
to 401 Response. For Authorization, SIP uses a protocol called http
digest. So, this header will contain http digest parameters.
Proxy Authorization: This header is used to carry the credentials of the
UA in a Request to the Proxy Server. This is sent in reply to 407
Response and will contain the http digest parameters.
Required: This header is used to list the features and additional
extensions that the UA client wants UA Server to support the
requirements. A 420 Response is returned if some features are not
supported.
Proxy Require: This header is used to list the features and additional
extensions that the UA client wants Proxy Server to support in order to
process the request.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

39

Route: This header is used to provide routing information for


requests. It Indicates the pre-defined path over which the request
has to travel. The path can be pre-defined by the Network
Operator, Events or some conditions.
Max Forwards: This header is used to indicate the maximum
number of hops that a SIP Request may take. Every proxy server
decrements the value by one and when the value becomes zero,
that proxy server discards the message and sends 483 Too
Many Hops Response. This header is mandatory in all SIP
request and the recommended value is 70
Event: This header is used in SUBSCRIBE and NOTIFY
methods to indicate which event should be watched out. If the
Event is unknown or not supported, then a 489 Bad Event
Response is sent.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

MESSAGE BODY HEADERS

40

Content Type: This header is used to specify the type that is used in message
body. It also indicates the protocol that is used. The commonly used protocol is
SDP. So the format will be:
Content Type: application/SDP.
Expires: This header is used to indicate the time period for which the message
contents or the request is valid. When this header is present in an INVITE
method, then it indicates the time period for the completion of INVITE. If it is
present in REGISTER, it indicates the time period for Registration.
Other Message body headers are Content length, Content Encoding, Content
Language.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SDP PARAMETERS

41

SDP has various parameters and they are divided into 3 types. They
are:
1) Session related parameters.
2) Timing parameters.
3) Media Related parameters.
The SDP parameters are always written in lower case.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SESSION RELATED PARAMETERS

42

Some important session related parameters are:


v-> Version number of the SDP
The first and only version is 0.
o -> Originator Information
This field contains the information about the originator of the
session. The various fields present in O field are User name,
Session ID, Version, Network type, Address type and IP
Address.
s -> Session Name and Information
c -> Connection data
c contains information about the Media Connection.
v, o, s and c are mandatory Parameters.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

TIMING PARAMETERS

43

Some important Timing related parameters are:


t -> Timestamp
This field indicates the start time and stop time of the session.
Ex) t -> 16.00 16.20
t -> 0
0 = This indicates that there is no start time
and stop time restriction.
z -> Time Zone
This field indicates the different time zones.
r -> Repeat Time
This field indicates the time when the session will be repeated.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

MEDIA RELATED PARAMETERS

44

Some important Media related parameters are:


m -> Media Information
This field has the information about the type of media session. It
contains various fields like
m -> media port transport format list
Ex) m -> audio 5004 RTP 0 6
Format list is the list of numbers having the encoding list.
a -> Attributes
This field will contain lot of additional information about the
properties of the media session like mode, Quality etc.
Ex) a -> Send only

Slide Title | CONFIDENTIAL 2006

July 16, 2015

LAYERS OF A SIP NETWORK

45

Though SIP is an application layer protocol, it is also divided into 4


layers. They are:
1) Syntax and Encoding Layer
2) Transport Layer
3) Transaction Layer
4) Transaction User Layer

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SYNTAX AND ENCODING LAYER

46

This layer is responsible for generating syntax or format of SIP

message. SIP is a text based protocol and it is written using ABNF


(Augmented Backers Nor Far) Grammar. So, Every header begin
in a new line and ends with CRLF ( Carriage Return Line Field).
This layer bothers about the structure and representation of SIP
message and this layer does not perform any Intelligent work.
This layer also receives the message and decodes the meaning. It
also receives the message from upper layer in raw format and it
converts the message into SIP format and sends it.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

TRANSPORT LAYER

47

This layer is responsible for deciding the Transport Protocol that


will be used by SIP to transmit the messages. Transport layer of
SIP stack opens a connection with lower layer transport
protocol.
SIP can use TCP/UDP/TLS/SCTP as Transport Protocol.
According to old RFC, only UDP was used by SIP. But, In new
RFC, everything can be used by SIP.
SIP can also use TLS (Transport Layer Security) and SCTP
(Streaming Control Transport protocol) which provides
additional security by encrypting the SIP messages. TLS
internally uses TCP.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

TRANSACTION LAYER

48

This layer is responsible for initiating a transaction. SIP is a


transaction based protocol and SIP messages are exchanged in the
form of transactions containing a Request and one or more
Responses.
Transaction layer implements different timers to maintain the
transactions. Some timers used are RTT (Round Trip Timer) and TO
(Timeout Timer).
RTT is the time period for a Request to go from source to destination
and response to come from destination to source. When RTT expires,
request is retransmitted and the value of RTT doubles after every retransmission.
TO indicates the total time period for transmission and retransmission of a request. When TO timer expires, the retransmission
will be stopped.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Contd..

49

In SIP, transaction takes place between every two network elements.


The Complete transaction between UA1 and UA2 is divided into
different branches called as Branch Transactions.
In SIP, a transaction is identified by a branch parameter or a branch
token. So the Transaction ID is called as Branch. Branch is an entity
added to the VIA header.
Branch may contain any number of alphanumeric digits. But the first
7 digits are constant and they are called as MAGIC COOKIE. The 7
digits are:
z9hG4bk where G is in Upper Case.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

TRANSACTION USER LAYER

50

This layer is the most Intelligent layer and it is responsible for


deciding the values and the fields in a SIP message. This layer will
have a SIP core.
SIP core distinguishes between the various network elements like
User Agents, Proxy Server, Redirect Server. Different network
elements will have different SIP core.
SIP core of Transaction User layer is the most intelligent of the SIP
network.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

SOME ADDITIONAL INFORMATION

51

SIP GATEWAY:
SIP Gateway is an application that interfaces SIP network to
another network, using another protocol. There are many types of
Gateway namely:
1) SIP PSTN 2) SIP ISDN etc
From SIP point of view, Gateway is a special User Agent. A gateway
consists of hundreds of logical UAs inside. The UAs inside are
registered by means of a protocol called as TGREP (Telephone
Gateway Registration Protocol).
Gateway converts only Signaling Information and media conversion is
done by Media Gateway (MGW). MGWs are controlled by Media
Gateway Controllers (MGC).
Slide Title | CONFIDENTIAL 2006

July 16, 2015

SOME ADDITIONAL INFORMATION

52

B2BUA is a network element that receives the SIP Request,


reformulates it and sends it as a new request. It can reformulate the
Responses also.
B2BUA breaks the End-to-End Nature of SIP.
B2BUA are mainly used in Firewalls and Application layer Gateways
(ALG) in Firewalls

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Basic Call Flow

53

Alice

Bobs
Invite
100 Trying; 183 Progress; 180 Ringing
200 OK
ACK
Media Session
BYE
200 OK

Slide Title | CONFIDENTIAL 2006

July 16, 2015

54

Atlanta proxy
Alice SoftPhone
Invite
100 Trying
180 Ringing
200 OK

Biloxi proxy

Invite

Bobs SIP Phone


Invite

100 Trying
180 Ringing
200 OK

180 Ringing
200 OK

ACK
Media Session
BYE
200 OK
Slide Title | CONFIDENTIAL 2006

July 16, 2015

55

INVITE Example
F1 INVITE Alice -> atlanta.com proxy
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP
pc33.atlanta.com;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
Slide Title | CONFIDENTIAL 2006

July 16, 2015

56

F2 100 Trying atlanta.com proxy -> Alice


SIP/2.0 100 Trying
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Content-Length: 0

Slide Title | CONFIDENTIAL 2006

July 16, 2015

57

F3 INVITE atlanta.com proxy -> biloxi.com proxy


INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312
983.1
Via: SIP/2.0/UDP
pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
Max-Forwards: 69
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142

Slide Title | CONFIDENTIAL 2006

July 16, 2015

58

F4 100 Trying biloxi.com proxy -> atlanta.com


proxy
SIP/2.0 100 Trying
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c23
12983.1
;received=192.0.2.2
Via: SIP/2.0/UDP
pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: Alice
<sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Content-Length: 0
Slide Title | CONFIDENTIAL 2006

July 16, 2015

59

F5 INVITE biloxi.com proxy -> Bob


INVITE sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP
server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
Max-Forwards: 68
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp

Slide Title | CONFIDENTIAL 2006

July 16, 2015

60

F6 180 Ringing Bob -> biloxi.com proxy


SIP/2.0 180 Ringing
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
;received=192.0.2.3
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0
Slide Title | CONFIDENTIAL 2006

July 16, 2015

61

F7 180 Ringing biloxi.com proxy -> atlanta.com


proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c231
2983.1
;received=192.0.2.2
Via: SIP/2.0/UDP
pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice
<sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0

Slide Title | CONFIDENTIAL 2006

July 16, 2015

62

F8 180 Ringing atlanta.com proxy -> Alice

SIP/2.0 180 Ringing


Via: SIP/2.0/UDP
pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice
<sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
Contact: <sip:bob@192.0.2.4>
CSeq: 314159 INVITE
Content-Length: 0

Slide Title | CONFIDENTIAL 2006

July 16, 2015

63

F9 200 OK Bob -> biloxi.com proxy


SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
;received=192.0.2.3
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE Contact: <sip:bob@192.0.2.4> Content-Type:
application/sdp
Content-Length: 131
Slide Title | CONFIDENTIAL 2006

July 16, 2015

64

F10 200 OK biloxi.com proxy -> atlanta.com proxy


SIP/2.0 200 OK
Via: SIP/2.0/UDP
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1
;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp Content-Length: 131
Slide Title | CONFIDENTIAL 2006

July 16, 2015

65

F11 200 OK atlanta.com proxy -> Alice

SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds8
;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131

Slide Title | CONFIDENTIAL 2006

July 16, 2015

66

F12 ACK Alice -> Bob

ACK sip:bob@192.0.2.4 SIP/2.0


Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bKnashds9
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 ACK
Content-Length: 0

The media session between Alice and Bob is now


established.

Slide Title | CONFIDENTIAL 2006

July 16, 2015

67

F13 BYE Bob - > Alice

BYE sip:bob@192.0.2.4 SIP/2.0


Via: SIP/2.0/UDP
192.0.2.4;branch=z9hG4bKnashds10
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: Alice
<sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 231 BYE
Content-Length: 0

Slide Title | CONFIDENTIAL 2006

July 16, 2015

68

F14 200 OK Alice -> Bob

SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 231 BYE
Content-Length: 0

Slide Title | CONFIDENTIAL 2006

July 16, 2015

69

Thank you..

Slide Title | CONFIDENTIAL 2006

July 16, 2015

Das könnte Ihnen auch gefallen