Академический Документы
Профессиональный Документы
Культура Документы
Training
Wipro confidential
Contents
o SIP Concept & Network Architecture
o SIP Protocol Specific
o SIP & Security
o SIP & QoS
o SIP & PSTN
o SIP & PacketCable
o SIP & 3GPP
o SIP & SIMPLE
o SIP & Services
o SIP Application Framework
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
22
33
Contents
o Internet Telephony
o What Is SIP ?
o Why SIP ?
o SIP Working Groups (WGs)
o Network Architecture
o SIP Trapezoid
o SIP Building Blocks
o SIP Protocol Stack
44
Internet Telephony
o PC-to-PC (MS NetMeeting, appliances)
IP Network
o PC-to-Phone (net2phone.com)
IP Network
o Phone-to-Phone (Paegas)
IP Network
o Phone-to-PC as well
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
55
66
DIAMETER
TRIP
MGCP/Megaco
RTP
DNS
SDP
Transport
H.323
COPS
SIP
RTSP
TCP
RSVP
RTCP
Network
UDP
Data Link
PPP
Physical
IPv4, IPv6
Sonet
PPP
AAL5
AAL3/4
ATM
Ethernet
V.34
77
What Is SIP ?
o Application-layer signaling protocol for creating,
modifying, and terminating sessions with one or more
participants
o Sessions include Internet telephone calls, multimedia
distribution (voice, image, video, etc), and multimedia
conferences
o Session invitations carry session descriptions that
allow participants to agree on a set of compatible
media types.
o Uses proxy servers to help route requests to the
user's current location, authenticate and authorize
users for services, implement provider call-routing
policies, and provide features to users (like presence,
mobility, hold, forward, transfer)
o Provides a registration function that allows users to
upload their current locations for use by proxy servers
Application Layer
SIP
Transport Layer
(UDP, TCP, SCTP,
TLS)
Network Layer
(IP/ATM)
Data Layer
Physical Layer
88
Why SIP ?
o Open standards with larger development community
3GPP/SIP The future of communications is the seamless integration of wireline &
wireless
99
Brief History
Date
Specifications
1995
Comments
Work began in IETF mmusic WG
02/1996
draft-ietf-mmusic-sip-00
12/1996
draft-ietf-mmusic-sip-01
01/1999
draft-ietf-mmusic-sip-12
03/1999
RFC 2543
11/1999
SIP WG formed
11/2000
draft-ietf-sip-rfc2543bis-02
12/2000
1 RFC, 18 I-Ds
04/2001
2001
07/2002
RFC 3261
10
10
Deals with changes to the base SIP protocol and any key extensions that might have a
bearing (or that which might warrant a change) on the base SIP protocol
SIPPING (Session
Initiation Proposal
Investigation)
Deals with standardizing extension to SIP protocol that does not have a bearing on the base
SIP protocol - i.e., all SIP peripheral activities (like support of Message Waiting Indicator
feature using SIP, SIP-T, ISUP-SIP mapping, SIP Call flows, AAA requirements in SIP etc
Deals with standardizing Presence and Instant Messaging (IM) using SIP (E.g., extensions
to MSRP protocol for Session Mode Messaging unlike the original page-mode messaging
offered by SIMPLE), PIDF - Presence Info Data format, XCAP XML Configuration Access
Protocol etc
MMUSIC (Multiparty
Multimedia Session
Control)
XCON (Centralized
Conferencing)
The focus of this working group is to develop a standardized suite of protocols for tightlycoupled multimedia conferences, where strong security and authorization requirements are
integral to the solution. Standardizes protocols (based on SIP) like CPCP (conferencing
policy control protocol), BFCP (binary floor control protocol) etc
Chartered to address NAT/Fire Traversal issues. Standardizes protocols like MIDCOM for
pin-hole management of NAT; STUN (simple traversal of UDP thru NATs) etc
ENUM (Electronic
Numbering)
Deals with converting E.164 numbers to routable URIs (similar to DNS). In fact, ENUM is a
nothing but a glorified DNS for VoIP. It uses the same building blocks of DNS like the
NAPTR (Naming Address Pointer) records for specifying the E.164 to URI conversion
11
11
Deals with problems related to naming and routing for Voice over IP (VoIP) protocols
Standardizes protocols like TGREP (Telephony Gateway Registration Protocol) needed for dynamically registering new (sip) gateways and soft switches in a
Multimedia/VoIP network; TRIP (Telephony routing over IP) - TRIP's operation is
independent of any signaling protocol, hence TRIP can serve as the telephony
routing protocol for any signaling protocol
This WG also specified the Call Processing Language (CPL) - an XML based
scripting language to implement user features on a SIP Proxy
12
12
ITU-T SG 16
ETSI TISPAN
SIP Forum
PacketCable
PARLAY Group
13
13
Network Architecture
SCP
SSP
DLC
STP
PSTN
PSTN GW
PBX
3rd Party
Applications
SIP/SIP-T
Location
Server
DNS
Application
Server
OSA
Gateway
SIP Network
CMTS
SIP/SIP ISC
EBP
CMS/GC
SIP
User
Agents
Application
Servers
SIP/SIP-T
SIP/SIP ISC
CSCF
HSS
PacketCable Network
MTA
MTA
MGCF
PCF
IM Subsystem
WiFi/
WiMax
VDSL
FTTH
CDMA/
GSM/UMTS
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
14
14
SIP "Trapezoid"
DNS Server
Location Server
DNS
Outbound
Proxy Server
SIP
SIP
Inbound
Proxy Server
SIP
RTP
User Agent A
User Agent B
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
15
15
Logical entity
Creates a new request (initiates a new call)
Uses the client transaction state machinery to send request
Role lasts only for the duration of that transaction
Logical entity
Generates a response to a SIP request (receives the call request)
Role lasts only for the duration of that transaction
SIP Redirect server is an example of UAS
16
16
17
17
SIP Proxy
o Intermediary entity that acts as both a server and a client
for the purpose of making requests on behalf of other
clients
o Primarily plays the role of routing and is transparent to
end devices
o Interprets and, if necessary, rewrites a request message
before forwarding it
o Header fields that can be legitimately modified are:
Request-URI
Via
Record-Route
Route
Max-Forwards
Proxy- Authorization
18
18
SIP Proxy
o Can either maintain state information of transaction
(stateful proxy) or simply forward the requests (stateless
proxy)
o Can forward the requests one after the other sequentially
o Can fork the requests to multiple servers
o Useful for enforcing policy
o Authenticate and authorize users for services, implement
provider call-routing policies
19
19
LOCATION SERVER
INVITE sip:subhodeep@wipro.com
Caller@sip.com From: sip:Caller@sip.com
To: sip:subhodeep@wipro.com
#1
Call-ID: 345678@sip.com
200 OK
#6 From: sip:Caller@sip.com
To: sip:subhodeep@wipro.com
Call-ID: 345678@sip.com
Callee
subhodeep@192.219.223.160
#2
PROXY
#3
subhodeep@wipro.com
INVITE sip:subhodeep@192.219.223.160
From: sip:Caller@sip.com
To: sip:subhodeep@wipro.com
#4
Call-ID: 345678@sip.com
200 OK
#5
From: sip:Caller@sip.com
To: sip:subhodeep@wipro.com
Call-ID: 345678@sip.com
#7 ACK sip:subhodeep@wipro.com
#8 Media Streams
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
20
20
21
21
22
22
Stateful Mode
Usage
Good for heavy-load scenario, i.e. Core
Network
Behavior
Proxies just receive messages, perform
routing logic, send messages out
No memory requirements
23
23
24
24
25
25
Callee
Caller@sip.com
Callee@home.com
#2
#3
#1 INVITE Callee@example.com
#4
#5 ACK Callee@example.com
#6 INVITE Callee@home.com
#7
200 OK INVITE
#8
ACK Callee@home.com
PROXY
Callee@home.com
26
26
27
27
SIP Registrar
o Server that accepts REGISTER requests and places
information it receives in those requests into location
service for the domain it handles
o Provide location services to the SIP network
o Location Service is a DB containing the SIP URI and its
locations
o Location service is used by a SIP redirect or proxy server
to obtain information about a callee's possible locations
o DNS query is used to access location service (RFC 3263)
28
28
#2
subhodeep@192.219.223.160
LOCATION SERVER
This registration example establishes presence
of user with address subhodeep@wipro.com and
binds this address to users current location
192.219.223.160
#3
SIP/2.0 200 OK
SIP REGISTRAR
(domain register.wipro.com)
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
29
29
30
30
PSTN
PSTN
VoIP Network
1
INVITE (Call-ID#1)
INVITE (Call-ID#2)
1
Calling Party
100 Trying
SIP Signaling
& SDP Signaling
(UDP or TCP)
180 Ringing
200 OK
1
1
1
180 Ringing
200 OK
Called Party
Signaling
1
ACK
1
Media (UDP)
100 Trying
RTP Stream
ACK
Bearer Or
Media
31
31
Transaction User
Transaction Layer
Transport Layer
Syntax/Encoding
Transport Layer
Network Layer
Data Layer
Physical Layer
32
32
Syntax/Encoding Layer
o Lowest layer of SIP
o Responsible for encoding/decoding
and syntactical parsing of the
messages
o Encoding is specified using an
augmented Backus-Naur Form
grammar (BNF)
Transaction User
Transaction Layer
Transport Layer
Syntax/Encoding
Transport Layer
Network Layer
Data Layer
Physical Layer
33
33
Transport Layer
o Second layer of SIP
o Responsible for the actual
transmission of requests and
responses over network transports
o Responsible for managing persistent
connections for transport protocols like
TCP, SCTP and TLS
o Performs framing for message-oriented
transport like UDP
o Performs Error handling for request or
response message
o All SIP elements contain a transport
layer
o All SIP elements implement UDP and
TCP
o Recommended port - 5060 for UDP,
TCP and SCTP, 5061 for TLS over
TCP
Transaction User
Transaction Layer
Transport Layer
Syntax/Encoding
Transport Layer
Network Layer
Data Layer
Physical Layer
34
34
Transaction Layer
o Third layer of SIP
o Handles application-layer retransmissions,
matching of responses to requests, and
application-layer timeouts
o Consists of
Client transaction
Server transaction
Transaction User
Transaction Layer
Transport Layer
Syntax/Encoding
Transport Layer
Network Layer
Data Layer
Physical Layer
35
35
Transaction Layer
o Client transaction:
Responsible for sending the request
Responsible for receiving responses from the
transport layer and delivering them to the TU
Filtering out any response retransmissions or
disallowed responses (e.g. a response to ACK)
o Server transaction:
Responsible for sending the response
Responsible to receive requests from the transport
layer and deliver them to the TU
Filters any request retransmissions from the network
Accepts responses from the TU and delivers them to
the transport layer for transmission over the network
36
36
Transaction User
Transaction Layer
Transport Layer
Syntax/Encoding
Transport Layer
Network Layer
Data Layer
Physical Layer
37
37
38
38
Contents
o
o
o
o
o
o
o
o
o
o
o
SIP Messages
Protocol Basics
Message Bodies
Headers
Session Description Protocol (SDP)
Offer-Answer Model
SIP State Machine
SIP Addressing
SIP Routing
SIP Extensions
SIP Event Notification Framework
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
39
39
SIP Messages
Start-Line
One or more Header fields
An Empty Line indicating the
end of the header fields
An optional Message Body
Message Body
Message Header
40
40
Request
o Distinguished by having a Request-Line for a startline
Protocol
Request
o A Request-Line contains
Request-URI
Version
Method
Method name
Request-URI
INVITE sip:called@dmn.com SIP/2.0
Protocol version
separated by a single space (SP) character
41
41
42
42
43
43
Sample Requests
OPTIONS
INVITE
INVITE sip:called@dmn.com SIP/2.0
From: sip:caller@clrdomain.com
To: sip:called@clddomain.com
CallID: 31415@clrdomain.com
CSeq: 1 INVITE
Via: SIP/2.0/UDP clrdomain.com;
branch=z9hG4bK776
Content-Type: application/sdp
Content-Length: 274
v=0
o=called 536 2337 IN IP4 h3.clddomain.com
s=session_name_1
c=IN IP4 192.213.229.147
t=0 0
m=audio 3456 RTP/AVP 0
Requests can
have headers
and SDP
SIP
SIP
SDP
SDP
INFO
INFO sip:called@dmn.com SIP/2.0
From: sip:caller@clrdomain.com
To: sip:called@clddomain.com
Contact: <sip:called@clddomain.com>
CallID: 31415@clrdomain.com
CSeq: 1 INFO
Content-Length: 0
SIP
SDP
44
44
Response
o Distinguished from requests by having a Status-Line as
their start-line
Protocol Status Textual
o A Status-Line consists of
Version Code Phrase
Protocol version
Numeric Status-Code
SIP/2.0 180 Ringing
Associated textual phrase
with each element separated by a single SP character.
45
45
o 1yz Informational
100 Trying
180 Ringing
181 Call is Being Forwarded
182 Queued
o 2yz Success
200 Ok
o 3yz Redirection
46
46
47
47
Sample Responses
Success 200 OK
SIP/2.0 200 OK
From: sip:caller@clrdomain.com
To: sip:called@clddomain.com
CallID: 31415@clrdomain.com
CSeq: 1 OPTIONS
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: en
Content-Type: application/sdp
Content-Length: 274
SIP
SIP
SDP
v=0
o=called 536 2337 IN IP4 h3.clddomain.com
s=session_name_1
c=IN IP4 192.213.229.147
t=0 0
m=audio 3456 RTP/AVP 0
Response can
have headers
and SDP
SDP
SIP
SDP
48
48
SIP Headers
o Similar to HTTP header fields in both syntax and
semantics
o Follow the [H4.2] definitions of syntax for the messageheader and the rules for extending header fields over
multiple lines
o Multiple header fields of the same field name whose
value is a comma-separated list can be combined into
one header field
o Provides a mechanism to represent common header field
names in an abbreviated form
49
49
Form Long
From: sip:caller@clrdomain.com
To: sip:called@clddomain.com
CallID: 31415@clrdomain.com
CSeq: 1 OPTIONS
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: en
Content-Type: application/sdp
Content-Length: 274
f: sip:caller@clrdomain.com
t: sip:called@clddomain.com
i: 31415@clrdomain.com
CSeq: 1 OPTIONS
Accept: application/sdp
Accept-Encoding: gzip
Accept-Language: en
c: application/sdp
l: 274
50
50
51
51
o Media Type:
Indicated by Accept Header
o Language of Response:
Indicated by Accept-Language Header
52
52
Application - pkcs7-signature
Content-Type: application/pkcs7-signature; name=smime.p7s
Content-Transfer-Encoding: base64
ghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT6
4VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnj
n8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF4
7GhIGfHfYT64VQbnj756
53
53
Location
Services
Proxy
Server
INVITE (SDPo)
2
Location Lookup
Lookup Result
100 Trying
180 Ringing
200 OK (SDPT)
10
4
5
7
SIP UA (B)
INVITE (SDPo)
180 Ringing
200 OK (SDPT)
6
8
ACK
Session In
Progress
Session
Initiation
BYE
200 OK
12
Session
Teardown
54
54
SIP Transaction
o Fundamental unit of message exchange
o Request Response cycle
o Consists of a single request and any responses to that
request, which include
Zero or more provisional responses
Usually one final responses
Maybe ACK
55
55
SIP Transaction
Successful Call Scenario
UAC
1
First Transaction
INVITE (CSeq:1 INVITE)
UAS
UAC
1
First Transaction
INVITE (CSeq:1 INVITE)
UAS
Second Transaction
5
56
56
SIP Dialog
o Represents a peer-to-peer SIP relationship between two
user agents
o SIP-level conversation between two endpoints
o Facilitates sequencing of messages between the user
agents and proper routing of requests between both of
them
o Created through the generation of non-failure responses to
requests with specific methods
2xx and 101-199 responses with a To tag, where the request was
INVITE, will establish a dialog
57
57
SIP 0
Single Dialog Scenario
UAC
1
Dialog
First Transaction
INVITE (F-Tag: Xxx)
No Dialog Scenario
UAS
100 Trying
200 OK (F-Tag: Xxx, T-Tag: Yyy)
4
UAC
1
2
3
4
First Transaction
INVITE
UAS
100 Trying
ACK
Second Transaction
5
58
58
SIP Dialog
o Identified at each UA with a dialog ID, which consists of
a Call-ID value, a local tag and a remote tag
o A dialog ID is associated with all responses and with any
request that contains a tag in the To field
o Rules for computing the dialog ID of a message:
For UAC,
Call-ID = Call-ID
Remote tag = tag in the To field
Local tag = tag in the From field
For UAS,
Call-ID = Call-ID
Remote tag = tag in the From field
Local tag = tag in the To field
59
59
SIP Session
o A session is the exchange of media between two or
more endpoints
o Most common form of a session uses the RTP protocol
for exchange of voice media
o Can also be used to exchange text, video, game
information and other types of media
o Sessions are described using the Session Description
Protocol (SDP) and generally consist of multiple RTP
streams between two endpoints
o SIP is used in the setup of sessions, but sessions can be
setup without SIP
o Exchange of SIP messages does not always result in a
session being set up
o There can be dialogs without SIP sessions
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
60
60
Request-URI
o Indicates the user or service to which this request is
being addressed
o Supports SIP or SIPS or TEL URI or any generic URI
o Current destination, may change along the signaling
path
o Initial value of the URI is set as the To field
o For REGISTER method,
Names the domain of the location service for which the
registration is meant
"userinfo" and "@" components of the SIP URI not present
RequestURI
REGISTER sip:registrar.wipro.com SIP/2.0
RequestURI
INVITE sip:bob@ebay.com SIP/2.0
61
61
To
To = ( "To" / "t" ) HCOLON ([ display-name ] LAQUOT addr-spec RAQUOT / addr-spec ) *( SEMI tag-param )
62
62
To
To = ( "To" / "t" ) HCOLON ([ display-name ] LAQUOT addr-spec RAQUOT / addr-spec ) *( SEMI tag-param )
o
o
o
o
Display
Name
Addr
spec
Tag
Parameter
63
63
From
From = ( From" / f" ) HCOLON ([ display-name ] LAQUOT addr-spec RAQUOT / addr-spec ) *( SEMI tag-param )
64
64
From
From = ( From" / f" ) HCOLON ([ display-name ] LAQUOT addr-spec RAQUOT / addr-spec ) *( SEMI tag-param )
Addr
spec
Tag
Parameter
65
65
Tags
o Used in the To and From header fields of SIP messages
o Serves as a general mechanism to identify a dialog,
which is the combination of
Call-ID
Two tags (remote and local), one from each participant in the
dialog
66
66
Call-ID
Call-ID = ( "Call-ID" / "i" ) HCOLON word [ "@" word ]
67
67
CSeq
CSeq = "CSeq" HCOLON 1*DIGIT LWS Method
68
68
CSeq
CSeq = "CSeq" HCOLON 1*DIGIT LWS Method
69
69
Max-Forwards
Max-Forwards = "Max-Forwards" HCOLON 1*DIGIT
70
70
Via
Via = ("Via" / "v" ) HCOLON via-parm *(COMMA via-parm)
via-parm = "SIP" SLASH 2.0 SLASH "UDP" / "TCP" / "TLS" / "SCTP" LWS host [ COLON port ] *( SEMI via-params )
via-params = "ttl" EQUAL 1*3DIGIT ; 0 to 255 / "maddr" EQUAL host / via-received / "branch" EQUAL token
via-received = "received" EQUAL (IPv4address / IPv6address)
71
71
Via
Via = ("Via" / "v" ) HCOLON via-parm *(COMMA via-parm)
via-parm = "SIP" SLASH 2.0 SLASH "UDP" / "TCP" / "TLS" / "SCTP" LWS host [ COLON port ] *( SEMI via-params )
via-params = "ttl" EQUAL 1*3DIGIT ; 0 to 255 / "maddr" EQUAL host / via-received / "branch" EQUAL token
via-received = "received" EQUAL (IPv4address / IPv6address)
Host
Port
Branch
Parameter
72
72
Branch Parameter
o
o
o
o
73
73
Contact
Contact =
("Contact" / "m" ) HCOLON ( STAR / ((name-addr / addr-spec) *(SEMI "q" EQUAL ( "0" [ "." 0*3DIGIT ] ) /
( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) *(COMMA (name-addr / addr-spec) *(SEMI "q" EQUAL
( "0" [ "." 0*3DIGIT ] ) / ( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) )))
74
74
Contact
Contact =
("Contact" / "m" ) HCOLON ( STAR / ((name-addr / addr-spec) *(SEMI "q" EQUAL ( "0" [ "." 0*3DIGIT ] ) /
( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) *(COMMA (name-addr / addr-spec) *(SEMI "q" EQUAL
( "0" [ "." 0*3DIGIT ] ) / ( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) )))
75
75
Contact
Contact =
("Contact" / "m" ) HCOLON ( STAR / ((name-addr / addr-spec) *(SEMI "q" EQUAL ( "0" [ "." 0*3DIGIT ] ) /
( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) *(COMMA (name-addr / addr-spec) *(SEMI "q" EQUAL
( "0" [ "." 0*3DIGIT ] ) / ( "1" [ "." 0*3("0") ] ) / "expires" EQUAL 1*DIGIT ) )))
Address
Spec
Contact
Parameters
76
76
REGISTER Method
o Create bindings in a location
service for a particular domain
that associates an AOR URI with
one or more contact addresses
o Sent from UAC to Registrar
o Registrar identified in RequestURI
o Identifies registered user in To
o Identifies person performing
registration in From (usually =
To)
o Contains list of current locations
in Contact headers
77
77
REGISTER Method
o Prioritized with the "q" parameter in the Contact header field
(indicative of priority)
o Includes an expiration interval that indicates the desired
lifetime of validity of the client registration
Two ways to suggest an expiration interval for a binding:
Expires : Expiration interval for all Contact header
"expires" Contact header parameter : Expiration intervals on a perbinding basis
78
78
REGISTER Response
o Check if domain is its own
o Authorize user in From
o Add address bindings of To to
Contact list
o Modify expiration time, if too long
o Return, in response, list of all
current registrations
o Return, in response, expiration
time for all registrations and
respective priorities, if present
SIP/2.0 200 OK
Via: SIP/2.0/UDP bobspc.biloxi.com:5060;
branch=z9hG4bKnashds7
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: 843817637684230@998sdasdh09
CSeq: 1826 REGISTER
Contact: <sip:bob@192.0.2.4>
Contact: <sip:bob@192.219.223.160>
Expires: 7200
Content-Length: 0
79
79
Registration Details
o Registration is used for routing incoming SIP requests and
has no role in authorizing outgoing requests
o Authorization and authentication are handled in SIP either
on a request-by-request basis with a challenge/response
o UA must refresh registrations by resending before
expiration
o Should use the same Call-ID for registration refresh
o Each contact must be refreshed independently
Can place them all in same REGISTER
Can use separate REGISTER for each
80
80
INVITE Method
o Used to signal the desire
to open a session
o Sent from UAC to UAS
o Mandatory header
fields :
From
To
Call-ID
CSeq
Via
Max-Forward
SIP
SDP
81
81
ACK Method
o ACK method is used to
confirm the final response
that was sent to the
INVITE method
o Sent from UAC to UAS
o Indicates that the session
has been accepted
o Can be used to indicate
SDP to the other entity;
not mandatory to contain
SDP info
SIP
v=0
o=user1 536 2337 IN IP4 h3.clrdomain.com
s=session_name_1
c=IN IP4 h3.clrdomain.com
m=audio 3456 RTP/AVP 0 1
SDP
82
82
UAC
1
First Transaction
INVITE (SDPO)
100 Trying
200 OK (SDPT)
UAS
200 OK (SDPT)
First Transaction
INVITE
100 Trying
ACK
200 OK
UAC
ACK (SDPO)
UAS
2
3
83
83
o Allows a UA to query
another UA or a proxy
server as to its capabilities
o Capabilities:
Supported methods
Content types
Extensions
Codecs
OPTIONS Method
OPTIONS sip:carol@chicago.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;
branch=z9hG4bKhjhs8ass877
Max-Forwards: 70
To: <sip:carol@chicago.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 63104 OPTIONS
Contact: <sip:alice@pc33.atlanta.com>
Accept: application/sdp
Content-Length: 0
84
84
OPTIONS Method
o May be sent as part of an established dialog to query the
peer on capabilities
o Accept header field included to indicate the type of
message body the UAC wishes to receive in the response
o Typically, set to a format that is used to describe the
media capabilities of a UA
o Contact header field may be present in an OPTIONS
85
85
OPTIONS Response
SIP/2.0 200 OK
Via: SIP/2.0/UDP pc33.atlanta.com;
branch=z9hG4bKhjhs8ass877
Max-Forwards: 70
To: <sip:carol@chicago.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 63104 OPTIONS
Contact: <sip:carol@chicago.com>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE
Accept: application/sdp
Content-Length: 0
86
86
BYE Method
o Sent to signal the end of the
established session
o Sent from UAC to UAS
o Can be initiated by any UAC
which is a of the session
o Any session associated with
that dialog should terminate
o All pending methods (if any)
should be terminated
87
87
CANCEL Method
o Sent to cancel a previously sent
method
o UAC to UAS
o Cancels pending request and
generates error response method (487:
Request Terminated)
o No effect on a request for which a final
response has been received
o Stateful proxy responds to a CANCEL,
rather than simply forwarding
o Referred to as a "hop-by-hop" request
o Request-URI, Call-ID, To, the numeric
part of CSeq, and From header must be
identical to those in the request being
cancelled, including tags
88
88
UAC
1
First Transaction
INVITE
100 Trying
200 OK
UAS
UAC
1
100 Trying
2
3
ACK
4
First Transaction
INVITE
180 Ringing
Second Transaction
CANCEL
200 OK
487 Request Terminated
ACK
UAS
2
3
89
89
INVITE
status
INVITE
1xx
event
message sent
Call Proceeding
INVITE
status
max(T1*2n, T2)
status
Success
BYE
200
ACK
ACK
-
BYE
200
Callee Answer
2xx
failure
>= 300
Failure
32s
-
status change
1xx
Confirmed
BYE
200
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
90
90
INVITE
Calling
give up
BYE
1xx
300-699
ACK
Call Proceeding
300-699
ACK
event
request sent
300-699
ACK
1xx
give up
BYE
Completed
32s (for proxy)
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
91
91
SIP Addressing
o Uses Uniform Resource Indicator (URI) for addressing an
entity in the network
o Allows any URI type
sip/sips URIs
tel URIs
http URLs for Redirect Service (for example)
maito URLs
sip:subhodeep@192.219.223.160
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
92
92
SIP Addressing
sip/sips:user:password@host:port;uri-parameters?headers
93
93
SIP Addressing
sip/sips:user:password@host:port;uri-parameters?headers
o URI Parameters:
transport: Determines the transport mechanism to be
used for sending SIP messages (i.e. UDP, TCP, TLS,
SCTP)
maddr: Indicates the server address to be contacted for
this user, overriding any address derived from the host
field
ttl: Determines the time-to-live value of the UDP
multicast packet
lr: Indicates that the element responsible for this
resource implements the loose routing mechanisms used in the Record-Route header
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
94
94
95
95
96
96
o Remove leading +
813529725714
97
97
DNS-Server
Query
1.3.1.9.5.8.6.8.6.4.e164.arpa.?
Response
sip:ssarkar@wipro.com
Call setup
Dial
+4686859131
SIP
sip:ssarkar@wipro.com
Gateway
SIP Server
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
98
98
99
99
o
o
o
o
o
o
o
o
o
100
100
101
101
Record-Route
Record-Route =
Indicates Loose
Routing
Record-Route: <sip:server10.biloxi.com;lr>
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
102
102
SIP Proxy
BYE
UA1
UA2
SIP Proxy
BYE
BYE
200 OK
200 OK
200 OK
103
103
Route
Route =
Indicates Loose
Routing
Route: <sip:server10.biloxi.com;lr>
104
104
105
105
Strict Routing
o Proxy is said to be strict routing if it follows the Route
processing rules of RFC 2543-bis05
o Proxies destroy the contents of the Request-URI when a
Route header field was present
o Strict routing conflates the request target with the next
hop destination
o Brittle system failure if any element misroutes
o Proxies that perform strict routing are also known as
strict routers
B
A
INVITE B
Route C,D
C
INVITE C
Route D
INVITE D
106
106
Loose Routing
o Proxy is said to be loose routing if it follows the
procedures defined in RFC 3261 for processing of the
Route header
o Keep request target (Request-URI) and next route
destination (Route header) separate
o Allow each route destination to determine when it has
been reached
o Add mechanism to provide backwards-compatibility with
strict routing SIP elements through lr parameter
o Proxy compliant to these mechanisms is known as a
loose router
B
A
INVITE D
Route B,C
C
INVITE D
Route C
INVITE D
107
107
108
108
o U2 sends a BYE
BYE sip:caller@u1.example.com SIP/2.0
Route: <sip:p4.domain.com;lr>
Route: <sip:p3.middle.com>
Route: <sip:p2.example.com;lr>
Route: <sip:p1.example.com;lr>
109
109
o P4 receives
BYE sip:caller@u1.example.com SIP/2.0
Route: <sip:p4.domain.com;lr>
Route: <sip:p3.middle.com>
Route: <sip:p2.example.com;lr>
Route: <sip:p1.example.com;lr>
o And sends
BYE sip:p3.middle.com SIP/2.0
Route: <sip:p2.example.com;lr>
Route: <sip:p1.example.com;lr>
Route: <sip:caller@u1.example.com>
110
110
o And sends
BYE sip:p2.example.com;lr
Route: <sip:p1.example.com;lr>
Route: <sip:caller@u1.example.com>
o And sends it to P1
111
111
o And sends
BYE sip:caller@u1.example.com
112
112
113
113
172.16.16.120
Proxy
UAC
Via:192.219.223.160
Via:192.219.223.160
172.16.16.160
Proxy
Via:172.16.16.120
Via:192.219.223.160
Via:172.16.16.120
Via:192.219.223.160
192.219.223.197
UAS
Via:172.16.16.160
Via:172.16.16.120
Via:192.219.223.160
Via:172.16.16.160
Via:172.16.16.120
Via:192.219.223.160
Request
Response
114
114
Forking
o Forking is when proxy sends request to more than one
target at once
o User can register multiple locations for incoming calls
(alternatively, based on static routing configuration)
o Requires stateful proxy for forking
o First 200 OK that is received is forwarded upstream
o All other unanswered requests cancelled
o Allows rapid search for user at many locations
o Two variations
Sequential Search: Try first address, only if that fails try second
address
Parallel Search: Try all addresses at once
115
115
IP Network
UAS Location
Query
Session setup
Request from
the UAC
UAS1
Location
Server
Location Server
UAS2
4
6
Connect to UAS 2
OK to connect
SIP
Proxy
1
SIP Protocol
UAC
UAS3
Non-SIP Protocol
(Eg. Database Query)
116
116
Loop
o Request that arrives at a proxy, is forwarded, and later
arrives back at the same proxy
o Looped requests are errors
o SIP provides couple of loop prevention and detection
mechanism
Max-Forwards
Counter decremented by 1 on each hop
Discard request when zero
Via
Every proxy inserts address
Check for my address when request comes
117
117
Spiral
o
o
o
o
o
118
118
119
119
SDP Anatomy
originator
Session ID and version timestamp
originating host
connection information (multicast address)
Conference Total, Max 64kb/s bandwidth
start time (NTP timestamp)
stop time (NTP timestamp)
120
120
Offer-Answer Model
o Mechanism by which two entities can make use of the
SDP to arrive at a common view of a multimedia session
between them
o One participant offers the other a description of the
desired session from their perspective, and the other
participant answers with the desired session from their
perspective
o Most useful in unicast sessions where information from
both participants is needed for the complete view of the
session
o Mandatory baseline mechanism used by the SIP
o Operation begins when one agent sends an initial offer to
another agent
o Agent receiving the offer
Generate an answer
Reject the offer
121
121
122
122
123
123
Offer-Answer Examples
Offered SDP
v=0
o=alice 2890844526 2890844526 IN IP4 host.anywhere.com
s=
c=IN IP4 host.anywhere.com
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
m=video 51372 RTP/AVP 31
a=rtpmap:31 H261/90000
m=video 53000 RTP/AVP 32
a=rtpmap:32 MPV/90000
v=0
Answered SDP
124
124
125
125
SIP Proxy
INVITE (oSDP)
100 Trying
180 Ringing (tSDP)
SIP UA (B)
INVITE (oSDP)
180 Ringing (tSDP)
PRACK
200 OK
PRACK
200 OK
126
126
PRACK Method
o UAC to UAS
o Each provisional response is
given a sequence number,
carried in the RSeq header,
contains a single numeric
value from 1 to 2**32 - 1
RSeq: 988789
SIP
SDP
127
127
UPDATE Methods
o Allows a client to update
parameters of a session
(such as the set of media
streams and their
codecs)
o Target refresh request, it
can update the remote
target of a dialog
o No impact on the state of
a dialog
o Can be sent before the
initial INVITE has been
completed
o Very useful for updating
session parameters
within early dialogs
SIP
SDP
128
128
SIP UA (B)
SIP UA (A)
1
INVITE (Offer 1)
180 Ringing (Answer 1)
PRACK
200 OK
UPDATE (Offer 2)
200 OK (Answer 2)
UPDATE (Offer 3)
200 OK (Answer 3)
200 OK
ACK
129
129
130
130
Event Package
o Defines a set of state information to be reported by a notifier
to a subscriber
o Define further syntax and semantics based on the framework
to convey such state information
o Define parameters for the Event header and their semantics
for such parameters
o Define syntax and semantics for SUBSCRIBE method
bodies
o Define semantics associated with the body of their NOTIFY
requests
131
131
Event Package
o Optionally, define a suggested range of times considered
reasonable for the duration of a subscription
o Optionally, define MIME type is to be assumed for NOTIFY
bodies
o Define processing of SUBSCRIBE and NOTIFY request
o Specify whether forked SUBSCRIBE requests are allowed to
install multiple subscriptions
o Defines an absolute maximum on the rate at which
notifications are allowed to be generated by a single notifier
o Define a throttle mechanism which allows subscribers to limit
the rate of notification
132
132
Event Header
Event = ( "Event" / "o" ) HCOLON event-package *( "." event-template ) *( SEMI "id" EQUAL token )
133
133
Subscription-State Header
Subscription-State =
134
134
SUBSCRIBE Methods
o
o
o
o
o
o
o
o
o
135
135
NOTIFY Methods
o
o
o
o
o
o
o
SIP
MWT
136
136
UAS
Terminate
Subscription
200 OK
NOTIFY (Subscription-State: Active)
200 OK
NOTIFY (Subscription-State: Active)
Zxx Event
Occurred
Zxx Event
Occurred
200 OK
SUBSCRIBE (Event: Zxx, Expires:0)
200 OK
10
200 OK
137
137
138
138
Contents
o
o
o
o
o
o
o
o
o
o
o
o
Security Concerns
Security Framework
Security SIP Signalling
Transport Layer Security (TLS)
HTTP Digest Authentication
Secured MIME (S/MIME)
Security Real-Time Media
Secure RTP (SRTP)
NAT And SIP
RTP Relay (TURN)
DIAMETER Base Protocol
AAA SIP Architecture Components
139
139
Security Concerns
o Registration Hijacking
Registration hijacking occurs when an attacker impersonates a valid UA
to a registrar and replaces the legitimate registration with its own
address. This attack causes all incoming calls to be sent to the UA
registered by the attacker.
o Server Impersonation
A UA contacts a Proxy server to deliver requests. The server could be
impersonated by an attacker
o Message Tampering
Occurs when an attacker intercepts and modifies packets exchanged
between SIP components. Can occur through registration hijacking,
proxy impersonation, or an attack on any component trusted to process
SIP messages, such as proxy, media gateway, or firewall
140
140
Security Framework
Authentication
Confidentiality
Integrity
Authorization
Privacy
They want to make sure others do not know what they are doing or
transmitting. Some people prefer anonymity. In a higher education
environment, faculty and student reserve the right to privacy
Administration
141
141
Integrity
Authentication
Authentication Methods:
PSK Pre-Shared Keys
PKI Public Key Infrastructure
PSK
PSK
PKI
PKI
PKI
IP Security (IPSec)
PKI
142
142
143
143
144
144
145
145
Once the TLS session is set up, the normal call setup will continue from
a.example.com to b.example.com, with the URI has a SIPS URL and that
the Via indicates that TLS was used
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
146
146
147
147
Proxy Challenge
Authenticated INVITE
INVITE sip:bob@biloxi.example.com SIP/2.0
3
Via: SIP/2.0/TCP client.atlanta.example.com:5060;branch=z9hG4bK74bf9
Max-Forwards: 70
Route: <sip:ss1.atlanta.example.com;lr>
From: Alice <sip:alice@atlanta.example.com>;tag=9fxced76sl
To: Bob <sip:bob@biloxi.example.com>
Call-ID: 3848276298220188511@atlanta.example.com
CSeq: 2 INVITE
Contact: <sip:alice@client.atlanta.example.com;transport=tcp>
Proxy-Authorization: Digest username="alice",
realm="atlanta.example.com",nonce="wf84f1ceczx41ae6cbe5aea9c8e88d359",opaque="",uri="sip:bob@biloxi.example.com",
response="42ce3cef44b22f50c6a6071bc8"
Content-Length: 0
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
148
148
149
149
150
150
Integrity
Authentication
Authentication Methods:
PSK Pre-Shared Keys
PKI Public Key Infrastructure
PSK
IP Security (IPsec)
PKI
151
151
152
152
153
153
Full Cone
Restricted Cone
Port Restricted Cone
Symmetric
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
154
154
Types of NAT
o Full Cone
Once the mapping is established and anyone from the public
Internet that wants to reach a client behind a NAT, needs only to
know the mapping scheme in order to send packets to it
o Restricted Cone
External IP:port pair is only opened up once the internal network
entity sends out data to a specific destination IP
o Symmetric
A specific mapping of internal IP:port to the NATs public IP:port
is dependant on the destination IP address that the packet is
sent to
155
155
Public
Private
Private
SIP Proxy
RTP/RTCP Media
Firewall/NAT
Firewall/NAT
Media
Signaling
156
156
o SIP has tags that tell the proxy where to return to (i.e.
SIP Responses)
received tag keeps the specific IP
rport tag keeps the port
157
157
Signalling
Actual IP
Address and
port it received
from
Media
Internal IP
Address and
port it sent from
158
158
159
159
160
160
RTP Traversal
o The RTP that must traverse a NAT does not allow as
easy a solution as the signaling
o The message body (SDP) contains the information of the
RTP details that the endpoints need in order to
communicate directly with each other
o Client sitting behind a NAT knows only its internal
IP:port, and that is what it puts in the SDP body of the
outgoing SIP message
o When the destination endpoint wants to start sending
packets to the originating endpoint, it will use the
received SDP information containing the internal IP:port
of the originating endpoint and the packets never get
there
161
161
o External Query
Client to determine its external IP:port is to ask a server sitting
outside the NAT on the public Internet how it sees the source of
a packet coming from this client
162
162
NAT
4
8
9
10
User
Agent
12
Voice Gateway
12
RTP Relay
o RTP Relay (TURN - Traversal Using Relay NAT) acts as the second
endpoint to each of the actual endpoints that are attempting to
communicate with each other
o A server in the middle of the SIP flow that would manipulate the SDP in
such a way as to instruct the endpoints to send RTP to the Relay instead
of directly to each other
o RTP Relay set up its own internal mapping of a session, noting the source
IP:port of each endpoint sending it RTP packets
o Uses that mapping to forward the RTP from endpoint to endpoint
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
163
163
164
164
165
165
166
166
SIP
Client
E
M
A
DI
DIA
ME
T
R
TE
ER
SIP
Client
SIP
SIP
SIP
SIP Server
IP Network
DIA
ME
T
ER
SIP Server
TE
E
M
A
I
D
Diameter
Subscriber Locator
167
167
SIP
Terminal
REGISTER
2
Diameter
Server
UAR
UAA
REGISTER
Successfully
authenticates the user
REGISTER
MAR
MAA
401 Unauthorized
10
12
UAR
UAA
REGISTER
Successfully
authenticates the user
Successfully
authenticates the user
11
14
200 OK
401 Unauthorized
SIP
Server 2
MAR
MAA
200 OK
13
15
16
168
168
SIP
Terminal
INVITE
2
407 Proxy
Authentication
Required
5
MAR
MAA
SIP
Server
MAR
MAA
INVITE
200 OK
Diameter
Server
Successfully
authenticates the user
7
INVITE
200 OK
16
169
169
170
170
Contents
o
o
o
o
o
o
o
IP QoS Model
SIP & QoS
SIP Precondition
Common Open Policy Service (COPS)
COPS Based QoS SIP Architecture
QoS SIP Architecture Components
Q-SIP Call Flows
171
171
IP QoS Model
o Integrated Services (IntServ)
Signaling mechanism and admission control framework
Add policy control on top of the signaling and admission control
framework
Strictly based on the use of RSVP
172
172
173
173
SIP Precondition
o A set of constraints about the session which are
introduced in the offer
o Preconditions require that the participant reserve network
resources before continuing with the session
o Preconditions are carried with SDP and treated as state
variables
o The offer/answer model is used
o SIP end users are not advised until preconditions are met
(resources are reserved)
o Known through a local event (such as a confirmation of a
resource reservation), or through a new offer sent by the
caller
o Preconditions are met when precondition-type/statustype a particular stream is equal to (or better than) the
desired status for that stream
174
174
175
175
176
176
INVITE (SDP1)
SIP UA (B)
SIP UA (A)
R
E
S
E
R
V
A
T
I
O
N
PRACK
PATH
RESV
RSV-CONF
200 OK
PATH
RESV
RSV-CONF
UPDATE (SDP3)
200 OK (SDP4)
180 Ringing
PRACK
200 OK
200 OK
11
R
E
S
E
R
V
A
T
I
O
N
RSVP setup
B to A
9
10
ACK
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
177
177
INVITE (SDP1)
SIP UA (B)
SIP UA (A)
R
E
S
E
R
V
A
T
I
O
N
PRACK
PATH
RESV
RSV-CONF
200 OK
PATH
RESV
RSV-CONF
UPDATE (SDP3)
200 OK (SDP4)
180 Ringing
PRACK
200 OK
200 OK
11
R
E
S
E
R
V
A
T
I
O
N
RSVP setup
B to A
RSVP setup
A to B
9
10
ACK
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
178
178
SIP UA (B)
SIP UA (A)
R
E
S
E
R
V
A
T
I
O
N
1
INVITE (SDP1)
PRACK
200 OK
200 OK
ACK
R
E
S
E
R
V
A
T
I
O
N
2
4
5
179
179
180
180
181
181
Notifications
Bandwidth Broker
( Policy Decision Point)
Events
Configuration
Commands
Edge Router
(Policy Enforcement Point)
182
182
Trigger
Events (1)
Bandwidth Broker
( Policy Decision Point)
Query (2)
Response (3)
Edge Router
(Policy Enforcement Point)
QoS provider
Accepting or rejecting the request
Only outsourcing
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
183
183
PDP
PDP
SIP
Client
Client Network
PS
O
C
PEP
PS
O
C
QoS-Enabled
Network
PDP
PEP
Client Network
SIP
Client
CO
PS
SIP
SIP
Q-SIP
Q-SIP Server
Q-SIP Server
184
184
Bidirectional Reservations
The caller-side Q-SIP Server performs resource reservation for
both directions
o QoS models
QoS-Assured
Session should not be established if resources are not
available, i.e. QoS should be setup before alerting the user
QoS-Enabled
Session is established regardless of the availability of QoS
resources, eventually the user may be signaled about the
presence of QoS
185
185
SIP
Terminal
Edge
Router
INVITE
Edge
Router
Q-SIP
Server
INVITE
INVITE
180 Ringing
180 Ringing
180 Ringing
COPS REQ
11
COPS REQ
COPS DEC
200 OK INVITE
SIP
Terminal
200 OK INVITE 7
8
COPS DEC
10
12
200 OK INVITE 13
14
ACK
15
ACK
16
ACK
186
186
SIP
Terminal
Edge
Router
INVITE
Edge
Router
Q-SIP
Server
INVITE
INVITE
180 Ringing
180 Ringing
6
200 OK INVITE
9
COPS REQ
COPS DEC
SIP
Terminal
180 Ringing
200 OK INVITE 7
8
10
200 OK INVITE 11
12
ACK
13
ACK
14
ACK
187
187
188
188
Contents
o
o
o
o
o
o
o
o
o
o
o
189
189
190
190
Network Architecture
SCP
SSP
DLC
STP
PSTN
PSTN GW
PBX
3rd Party
Applications
SIP/SIP-T
Location
Server
DNS
Application
Server
OSA
Gateway
SIP Network
CMTS
SIP/SIP ISC
EBP
CMS/GC
SIP
User
Agents
Application
Servers
SIP/SIP-T
SIP/SIP ISC
CSCF
HSS
PacketCable Network
MTA
MTA
MGCF
PCF
IM Subsystem
WiFi/
WiMax
VDSL
FTTH
CDMA/
GSM/UMTS
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
191
191
MGC B
MGC A
IAM
2
ACM
IAM
100 Trying
Switch B
ACM
ANM
REL
12
ANM
200 OK (ANM)
10
11
ACK
Two way Speech Path
REL
17
RLC
BYE (REL)
14
16
200 OK
13
15
RLC
192
192
SIP Proxy
MGC A
IAM
2
INVITE (oSDP)
100 Trying
180 Ringing
ACM
INVITE (oSDP)
180 Ringing
200 OK (tSDP)
ANM
SIP UA
10
12
200 OK (tSDP)
ACK
9
11
ACK
REL
17
RLC
BYE
15
16
200 OK
BYE
13
14
18
200 OK
193
193
MGC A
SIP Proxy
INVITE (oSDP)
100 Trying
180 Ringing (tSDP)
INVITE (oSDP)
100 Trying
3
4
Switch A
IAM
ACM
ANM
REL
13
11
200 OK
ACK
200 OK
10
12
ACK
Two way Speech Path
16
BYE
200 OK
BYE
15
18
200 OK
14
17
RLC
194
194
195
195
196
196
Protocol
itu-t88
itu-t92
ansi88
ANSI T1.113-1988
ansi00
ANSI T1.113-2000
etsi121
etsi356
197
197
Content-Type Header
Content-Type
media-type
198
198
Content-Disposition Header
Content-Disposition
disp-type
disp-param
199
199
SIP Profiles
SIP Profile A
SIP 3GPP Mobile
Network
PSTN/ISDN
SIP Profile C
PSTN/ISDN
SIP Profile B
SIP Terminating
Network
200
200
SIP Profile - A
o Defined to satisfy the demand represented by 3GPP in
TS.24.229 V5.1.0 (2002-06)
o Work on this protocol was driven by mobile operators and
vendors
o Support traffic that terminates within the SIP network
o Pre-conditions are being used on the SIP network
201
201
SIP Profile - B
o Signalling is used at PSTN/SIP gateway, where all
signalling information to be transferred has to be coded
from a signalling system to another
o At sending when mandatory information is missing default values are used
o At receiving the incompatible information is deleted
o Support traffic that terminates within the SIP network
o Pre-conditions are not used on the SIP network
202
202
SIP Profile - C
o Signaling is used at PSTN/SIP gateway, when the ISUP
signaling between two PSTN networks is conveyed over
IP using SIP signaling
o Supports the trunking of traffic via transit SIP networks
using MIME encoded encapsulated ISUP
203
203
SIP-ISUP Mapping
ISUP
SIP
ISUP
SIP
IAM
INVITE
SUS
INFO (Profile C)
SAM
INVITE
RES
INFO (Profile C)
ACM
18x
COT
200 OK INVITE
CPG
18x
RSC
BYE
CON
200 OK INVITE
ANM
200 OK INVITE
REL
BYE
4xx, 5xx, 6xx
CANCEL
RLC
BYE
500 Server Internal Error
CGB
BYE
500 Server Internal Error
BYE
4xx, 5xx, 6xx
CANCEL
204
204
IAM/INVITE Mapping
INVITE
IAM
Address Signal
205
205
IAM/INVITE Mapping
INVITE
IAM
Profile A : No mapping
Profile B : Derived from SDP
Profile C : Generated from the USI
of encapsulated ISUP
Privacy header
206
206
Tel-URI
telephone-url = "tel" ":" global-phone-number / local-phone-number
207
207
Tel-URI - Examples
tel:+358-555-1234567
208
208
Number Mapping
o SIP-ISUP mapping frequently requires the representation
of telephone numbers in URIs (Request-URI, To, From, PAsserted-Identity)
o Most common format used in SIP for the representation of
telephone numbers is the tel URL
o tel URL constitute the entirety of a URI field
To: tel:+17208881000
o +' sign preceding the number in tel URLs indicates that the
digits which follow constitute a fully-qualified E.164
number
o When the '+' sign is not present, but a telephone number
is represented by the user portion of the URI, the SIP URI
should contain the optional ';user=phone' parameter
To: sip:83000@sip.example.net;user=phone
209
209
SIP
NPI : E.164
NOA : National
CDN:7208881000
NPI : E.164
NOA : Subscriber
CDN:8881000
210
210
ISUP
NPI : E.164
NOA : International
CDN:17208881000
NPI : E.164
NOA : National
CDN:7208881000
NPI : Unknown
NOA : Subscriber
CDN:8881000
PI : Presentation Allowed
SI : Network Provided
211
211
P-Asserted-ID Header
o Private extensions to SIP that enable a network of trusted
SIP servers to assert the identity of end users or end
systems, and to convey indications of end-user requested
privacy
o Use of these extensions is only applicable inside an
administrative domain with previously agreed-upon
policies for generation, transport and usage of such
information
o Use to deliver basic regulatory services like Calling
Identity Delivery, Calling Identity Delivery Blocking, and
Malicious Call Trace
o Defines a new header field called 'P-Asserted-Identity' that
contains a URI (commonly a SIP URI) and an optional
display-name
o Used among trusted SIP entities to carry the identity of the
user sending a SIP message as it was verified by
authentication
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
212
212
P-Asserted-ID Header
PAssertedID = "P-Asserted-Identity" HCOLON name-addr / addr-spec
213
213
Privacy Header
o Provides privacy requirements and mechanisms for the
SIP
o Two types of privacy mechanism:
User provided :
A user agent populates the From header field of a request with an
anonymous value
A user agent can encrypt SIP bodies end-to-end in order to prevent
intermediaries from inspecting them
Network Provided :
A user can request privacy from intermediaries
214
214
Privacy Header
Privacy-hdr = "Privacy" HCOLON priv-value *(";" priv-value)
priv-value = "header" / "session" / "user" / "none" / "critical" / id
215
215
ISUP
PI : Presentation Allowed
Priv-value = none
PI : Presentation Allowed
Priv-value = header
PI : Presentation Restricted
Priv-value = user
PI : Presentation Restricted
Priv-value = id
PI : Presentation Restricted
ISUP
SIP
PI : Presentation Allowed
No Privacy header
PI : Presentation Restricted
216
216
217
217
218
218
219
219
NP ISUP/SIP Mapping
SIP
ISUP
Mapped to CDN
CDN:12025440000
Mapped to GAP
GAP:12025331234
SIP
ISUP
220
220
18x/ACM Mapping
SIP
ISUP
221
221
18x/ACM Mapping
ISUP
SIP
222
222
18x/CPG Mapping
SIP
ISUP
223
223
18x/CPG Mapping
ISUP
SIP
224
224
200/ANM Mapping
SIP
200 OK INVITE
ISUP
ANM
ISUP
Profile A : ANM
Profile B : ANM
Profile C : Generated ANM from the encapsulated ISUP
SIP
Profile A : 200 OK INVITE
Profile B : 200 OK INVITE
Profile C : 200 OK INVITE with encapsulated ANM
225
225
Reason Header
Reason
reason-value
226
226
ISUP Interworking
User B
Controller
INVITE
User A
User B
Gateway
IAM
INVITE
200 OK (SDPO)
ACK (Hold SDP)
100 Trying
INVITE
486 Busy Here
BYE (SIP:486)
ACK
REL (16)
CANCEL (Q.8650:16)
200 OK
200 OK
227
227
BYE/4xx/5xx/6xx/REL Mapping
SIP
ISUP
228
228
BYE/4xx/5xx/6xx/REL Mapping
SIP
ISUP
127 Interworking
1 Unallocated Number
20 Subscriber absent
17 User busy
229
229
BYE/4xx/5xx/6xx/REL Mapping
ISUP
SIP
230
230
INVITE
100 Trying
Media
Clipping
Occurs
SIP UA (B)
SIP Proxy
200 OK (SDPT)
200 OK (SDPT)
ACK (SDPo)
ACK (SDPo)
231
231
Early Media
o Denotes the capability to play media (audio for telephony)
before a SIP session has been established (before a 2xx
response code has been sent)
o Within a dialog, early media occurs from the moment the
initial INVITE is sent until the UAS generates a final
response
o Early media can be unidirectional or bi-directional and can
be generated by the caller or/and the callee
o Generated by the callee are ringback tone and
announcements (e.g., queuing status)
o Generated by the caller consists of voice commands or
dual tone multi-frequency (DTMF) tones to drive
interactive voice response (IVR) systems
o INVITE almost always contains the SDP required to send
media in the backwards direction
232
232
Early Media
o Two Models :
Gateway Model
SIP uses the offer/answer model to negotiate session parameters
Manages early media sessions using offer/answer exchanges in
reliable provisional responses, PRACKs, and UPDATEs
Acceptable in situations where the UA cannot distinguish between
early media and regular media (e.g. PSTN gateway)
233
233
SIP UA (B)
SIP Proxy
INVITE (SDPo)
100 Trying
200 OK (SDPT)
INVITE (SDPo)
200 OK (SDPT)
ACK
SIP UA (A)
ACK
SIP UA (B)
SIP Proxy
INVITE
100 Trying
183 Session Progress (SDPT)
PRACK (SDPo)
INVITE
183 Session Progress (SDPT)
PRACK (SDPo)
234
234
SIP UA (B)
SIP Proxy
INVITE (offer)
100 Trying
183 Session Progress
(answer, early offer)
PRACK (early-answer)
INVITE (offer)
183 Session Progress
(answer, early offer)
PRACK (early-answer)
200 OK
200 OK
200 OK INVITE
ACK
235
235
INFO Method
o Used for communicating mid-session signaling information
along the signaling path for the call
o Not used to change the state of SIP calls, nor does it
change the state of sessions initiated by SIP
o Signaling path is the path established as a result of the call
setup - can be either direct signaling or involving SIP proxy
servers
o Mid-session information can be communicated in either an
INFO message header or as part of a message body
o Potential uses of the INFO message
Carrying mid-call PSTN signaling messages between PSTN
gateways (ISUP SUS/RES)
Carrying DTMF digits generated during a SIP session
Carrying account balance information
236
236
ISUP SUS/RES
ISUP
SIP
SUS
RES
Switch A
MGC B
MGC A
Switch B
SUS
RES
INFO (SUS)
SUS
200 OK
INFO (RES)
RES
200 OK
237
237
DTMF
o DTMF was designed to provide address signaling to CO
in PSTN at start of call
o Created simple, universal user input mechanism for all
devices on the PSTN network
o PSTN service and application vendors used DTMF for
application control
o Universal User Input mechanism - DTMF has become the
standard user input mechanism for all types of PSTN
voice terminals to interact with services and applications
o Edge applications
IVR
Voicemail
o Network applications
Calling Card
Universal Messaging
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
238
238
DTMF
o Original function of DTMF (address signaling) is not needed
in packet network
o Preferred support mechanism
SIP INFO Method
RTP Stream
Other SDP session protocol
o RTP Stream
Uses Existing protocol
Guaranteed sequencing
Focused on PSTN to Packet to PSTN - DTMF transport
239
239
Overlap Signalling
o Consists of sending only some digits of the callee's number in the first
signaling message
o Further digits are sent in subsequent signaling messages
o SIP uses en-bloc signaling - Request-URI of an INVITE always contains
the whole address of the callee
o Preferred solution for a gateway handling PSTN overlap signaling and
SIP is to convert the PSTN overlap signaling into SIP en-bloc signaling
using number analysis and timers
o Sending overlap signaling to a SIP Network, multiple INVITEs are
generated
Gateway on receipt of an IAM and possibly one or more SAMs that provide
more than the minimum amount of digits build and sends an INVITE
SAM arrives to the gateway, a new INVITE with the new digits received is
sent
240
240
MGC B
MGC A
IAM
SAM 1
IAM
SAM 1
Switch B
1 ACK
3 INVITE (IAM, SAM 1, SAM2,
oSDP)
SAM 2
ACM
ACM
ANM
3 200 OK (ANM)
ANM
3 ACK
Two way Speech Path
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
241
241
242
242
Contents
o
o
o
o
o
o
o
o
Background
Distributed Call Signalling Architecture
PacketCable Architecture
Call Management Server
Service Provider Requirements
SIP Proxy-To-Proxy Extensions
CMS to CMS Call Flow
CMS to MGC Call Flow
243
243
Network Architecture
SCP
SSP
DLC
STP
PSTN
PSTN GW
PBX
3rd Party
Applications
SIP/SIP-T
Location
Server
DNS
Application
Server
OSA
Gateway
SIP Network
CMTS
SIP/SIP ISC
EBP
CMS/GC
SIP
User
Agents
Application
Servers
SIP/SIP-T
SIP/SIP ISC
CSCF
HSS
PacketCable Network
MTA
MTA
MGCF
PCF
IM Subsystem
WiFi/
WiMax
VDSL
FTTH
CDMA/
GSM/UMTS
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
244
244
Background
o CableLabs-led initiative that is aimed at developing
interoperable interface specifications for delivering
advanced, real-time multimedia services over two-way cable
plant
o Built on top of cable modem infrastructure, PacketCable
networks
o Use IP technology to enable a wide range of multimedia
services
IP telephony
Multimedia conferencing
Interactive gaming
245
245
DCSProxy+GC
Announcement
Server
MTA
Access
ER
ER
Access
MTA
PSTN
GW
PSTN
MTA
Call State
Cable Modem
Connection State
ER
Edge Router
Transaction State
GC
Gate Controller
246
246
DCS Architecture
o Distribution of State
Clients keep Call-State
Edge Routers keep Connection-State
DCS-Proxy keeps Transaction-State
247
247
PacketCable Architecture
248
248
249
249
250
250
Call
Signaling
Call Agent
QoS
Signaling
DCS/SIP
DCS-Proxy
Gate Controller
DQoS
COPS
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
251
251
252
252
253
253
P-DCS-TRACE-PARTY-ID
P-DCS-Trace-Party-ID = "P-DCS-Trace-Party-ID" HCOLON name-addr
254
254
P-DCS-OSPS
P-DCS-OSPS = "P-DCS-OSPS" HCOLON "BLV" / "EI"
255
255
PSTN GW
1
NTFY
CRCX
ACK
INVITE (BLV)
5
MTAT
DPT
CMS/MGC
INVITE (BLV)
183 Session Progress
PRACK
200 OK
10
UPDATE
200 OK
200 OK INVITE
14
200 OK INVITE
11
12
Allocate
network
resources
Commit to
network
resources
13
ACK
Busy Line Verification in Progress (one-way data transfer from MTA to Operator)
256
256
MTAT
DPT
CMS/MGC
Busy Line Verification in Progress (one-way data transfer from MTA to Operator)
Interrupt
15
P-DCS-OSPS : EI (Indicates a
change to Emergency Interrupt)
NTFY
16
INVITE (EI)
200 OK INVITE
14
16
ACK
257
257
P-DCS-BILLING-INFO
P-DCS-Billing-Info =
Billing-Correlation-ID =
FEID =
Billing-Info-param =
258
258
259
259
260
260
261
261
262
262
263
263
Contents
o
o
o
o
o
o
o
o
o
o
o
o
IP Multimedia Subsystem
Call Session Control Function (CSCF)
IMS Interfaces
3GPP SIP Overview
Differences to IETF SIP
3GPP SIP requirements
IMS Service Architecture
IMS Service Control Interface (ISC)
Convergence
TISPAN
Differences to NGN IMS
SIP and Mobility
264
264
Network Architecture
SCP
SSP
DLC
STP
PSTN
PSTN GW
PBX
3rd Party
Applications
SIP/SIP-T
Location
Server
DNS
Application
Server
OSA
Gateway
SIP Network
CMTS
SIP/SIP ISC
EBP
CMS/GC
SIP
User
Agents
Application
Servers
SIP/SIP-T
SIP/SIP ISC
CSCF
HSS
PacketCable Network
MTA
MTA
MGCF
PCF
IM Subsystem
WiFi/
WiMax
VDSL
FTTH
CDMA/
GSM/UMTS
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
265
265
266
266
security
QoS
policy
control
SIP
InterWorking
CS/PSTN
Basic
Call
Control
charging
Service logic
APIs
267
267
OSA-GW
Telephony AS
Non-telephony AS
CSCF, BGCF
HSS
Media Gateway
Media Server
268
268
IMS Architecture
Control Plane
Traffic Plane
HSS
IMS
Cx
I-CSCF
Mw
P-CSCF
Go
UTRAN
UE
SGSN
PS Domain
GGSN
Gi
Other IP/
IMS network
Cx
S-CSCF
Mm
Gi
269
269
IMS Architecture
Control Plane
Traffic Plane
HSS
IMS
Cx
I-CSCF
In Release 6, the PDF can
be separated from the PCSCF. Those two entities
are then connected
through the Gq interface.
Mw
S-CSCF
Mm
Mr
Mk
Mi
MRF
Gi
Other IP/
IMS network
Cx
I-CSCF
Mg
Mj
UTRAN
Gi
PDF
Go
UE
SGSN
PS Domain
Gi
GGSN
IMSMGW
MGCF
Mn
BGCF
Legacy/
PSTN
SIP Certification Training1.1 Copyright 2006 Wipro Ltd
270
270
Application
Layer
SIP
SIP App
App
Server
Server
Centralized
Centralized
Databases
Databases
HSS
HSS
Support
Support Systems
Systems
Billing
Billing Mediation,
Mediation,
Fault
Fault Correlation,
Correlation,
Operations,
Operations,
Maintenance,
Maintenance,
ter
me
a
i
D
OSA
OSA SCS
SCS
SIP
S-CSCF
S-CSCF
SIP
SIP
MGCF
MGCF
COPS
PDF
PDF
Media
Media
Server
Server
SIP
Transport and
End Point
Layer
I-CSCF
I-CSCF
P-CSCF
P-CSCF
H.248
MRFC
MRFC
SIP
BGCF
BGCF
SIP
IN
IN
Access
Access
IP
IP
Signalling
Signalling
Converter
Converter
SG
SG
H.248
Session
Control
Layer
Media
Media
Gatewa
Gatewa
y
y
PSTN
Wireline and Wireless SIP Endpoints
GSM, UMTS, 802.11, Bluetooth, DSL, FTTP,
Legacy IP
Endpoints & PBXs
H.323 and MGCP
TDM
PBX
SS7
SS7
Analog
Endpoint
271
271
IMS Standards
3GPP and 3GPP2 (3rd
Generation Partnership
Project/3rd Generation
Partnership Project 2)
Provide the definitions for SIP, SDP and other protocols underlying IMS
IMS is driving some of the work in IETF
ITU (International
Telecommunication Union)
ETSI (European
Telecommunications
Standards Institute)
272
272
Advantages of IMS
o Layered architecture that separates transport, control and
applications
o Independent of the access mechanism
Seamless services provisioning across the heterogeneous fixed
(i.e., PSTN, ISDN, PSDN, WAN/LAN/CATV, etc.) and evolving
mobile networks
o Open Interfaces
Sourcing applications from anywhere
Common for all user equipment and all application servers
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
273
273
274
274
275
275
276
276
277
277
IMS Interfaces
DIAMETER
Offline Charging
BG
P-CSCF
Gm
Gq
Compressed SIP
(3GPP profile)
GGSN
DIAMETER
PDF
Mw
SIP (3GPP profile)
To I-CSCF or SCSCF
Sh
DIAMETER
Online
Charging
DIAMETER
MRFC
Mp
H.248
MRFP
Mr
Cx
DIAMETER
Mw
SIP (3GPP
profile)
Mm
SIP
To external PDN
SLF
HSS
Dx
Cx
DIAMETER
I-CSCF
Mj
DIAMETER
DIAMETER
BGCF
Mk
AS
S-CSCF
Mi
BG
Dh
Mw
ISC
SIP (3GPP
profile)
Rf
S-CSCF interfaces
I-CSCF interfaces
AS
OCS
DIAMETER
Online
Charging
HSS
SIP
(3GPP
profile)
I-CSCF
P-CSCF interfaces
Ro
Ro
Go
COPS-PR to GGSN
for resource control
Home Network
HTTP
Visited/Home Network
Rf
Ut
DIAMETER
Offline
Charging
Mm
SIP
To external
PDN
BGCF
Mc
H.248
IM- MGW
S-CSCF
Mw
To P-CSCF
Rf
Home Network
278
278
IMS Identities
o Users have to be identified uniquely
o Two new types of user identities
Private User Identity
Public User Identities
279
279
IMS Identities
o Public User Identities
Have one or more public user identities
Uniquely identifies a user of the IMS
Similar to a MS-ISDN in a GSM environment
User always have a SIP URL as public user identity
User can additionally have an E.164 number (which is translated
in an URL with ENUM) for PSTN/ISDN interoperability
Used for routing the SIP messages and setting up the SIP
session.
280
280
Private
User Identity
Public
User Identity
Public
User Identity
Public I
User Identity
Private I
User Identity
IMS
Subscription
Public II
User Identity
Private II
User Identity
Public III
User Identity
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
281
281
SIP Registration
Home
HSS
Location
Location
Profile
Profile
4 Cx-Query Resp
3 Cx-Query
I-CSCF
I-CSCF
200 OK
Cx-Pull/Put
Cx-Pull/Put
Resp
S-CSCF
S-CSCF
5 REGISTER
2 REGISTER
Visited
1 REGISTER
200 OK
P-CSCF
P-CSCF
10
200 OK
GGSN
GGSN
SGSN
SGSN
RadioAccess
AccessNetwork
Network
Radio
282
282
S-CSCF
S-CSCF
6 INVITE
Visited
10
PSTN
IAM
11 ANM
17 Media
MGCF/
MGCF/
T-SGW
T-SGW
MGW
MGW
5 INVITE
3 Cx-Query
I-CSCF
I-CSCF
14 200 OK
13 200 OK
9 INVITE
INVITE
sip:info@visited
15 200 OK
I-CSCF
I-CSCF
12 200 OK
7 Cx-Query
HSS
HSS
P-CSCF
P-CSCF
8 Cx-Query Resp
16 200 OK
GGSN
GGSN
SGSN
SGSN
1 INVITE tel:1411
RadioAccess
AccessNetwork
Network
Radio
283
283
284
284
285
285
286
286
P-Called-Party-ID
Transport of the originally dialed SIP URL to the UE for an incoming call.
Then terminating UE knows which identity the call was directed to
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
287
287
P-Access-Network-Info
Transport of Access Network and Cell-Id information to the serving proxies in the
home network.
P-Service-Route
Passes S-CSCF identity to UE, so outgoing calls will be routed corrected to SCSCF via P-CSCF
P-Asserted-Identity
Used by P-CSCF to convey the identity of the sender towards the S-CSCF.
P-Charging-Vector
Transport the charging correlation information from P-CSCF to S-CSCF.
288
288
Services on IMS
o 3GPP standardizes IMS Service Capabilities NOT
Services
3GPP defines mechanisms for services based on Presence,
MMS, Streaming, but those services that would use these are
not defined
Presence
Instant Messaging
Streaming
Combinations and integration of these
289
289
All 3 types of AS
behave as SIP AS on
ISC interface towards
S-CSCF
Servlet/CPL/API
SIP
AS
DIAMETER
ISC
(SIP+)
HSS
Cx
S-CSCF
ISC
(SIP+)
IM SSF
MAP
Legacy IN
Services
CAP
CAMEL
Service
Environment
3rd Party
Services
ISC
(SIP+)
OSA/Parley
Gateway
S-CSCF
OSA
API
OSA
Application
Server
IM SSF
IP Multi-media Service
Switching Function
HSS
ISC
290
290
291
291
292
292
293
293
4.
5.
6.
7.
Application
Application
Server 1
Server 2
SIP message
now with
header=B
ISC Interface
2
SIP message
possibly
modified
4
S-CSCF
INVITE
Header =A
294
294
Independent of access
Have the same look and feel
With rich media content
Can be delivered to different types of devices
Convenience and ease of use
295
295
Control convergence
Mobile network
towards convergence
Network convergence
Terminal convergence
296
296
Circuit Switch
Access
Capability
Circuit Switch
Transport Capability
Packet Switch
Transport Capability
Circuit Switch
Access Capability
Packet Switch
Access Capability
Circuit Switch
Transport Capability
Packet Switch
Transport Capability
xDSL / FTTx
Packet Switch
Access Capability
Packet Switch
Transport Capability
Packet Switch
Access Capability
Circuit Switch
Transport Capability
Packet Switch
Transport Capability
VoIP / VToA
297
297
Softswitch
AS
AS
LDAP
LDAP
LDAP
Softswitch
LDAP
AS
AS
LDAP
LDAP
Softswitch
LDAP
AS
AS
LDAP
LDAP
VOIP
Session
IM
Session
IM
Session
HSS
Adapter
SIP
Terminal
SIP
Terminal
SIP
Terminal
SIP Terminals
SIP Terminals
298
298
Converged Architecture
o Separation of access & transport layers from service
layer
o Session management across multiple real-time
communication devices
o Interworking with legacy TDM networks
o Blending of real-time and non-real-time communication
services
o Consistency in sharing user profiles across services
o Consistent authentication & billing mechanism
o Consistent user interface
o Open standards & APIs for new services
299
299
UMA-enabled
Dual Mode
Handset
GSM/IMS Core
Service
Architecture
WiFi
Tunneled
IMS stack
IP Access Network
GANC
(UMA)
Network
Controller
RG
Native IP
Stack
SIP
Fixed/Wireless Telephone
IP Core Transport
VOIP
SIP Server
300
300
301
301
TISPAN Architecture
Applications
Based on
3GPP IMS
IP Connectivity
Access Network
And related functionality
Data
Base
Other Multimedia
Components
Streaming Services
(RTSP based)
Network Attachment
Functionality
NASS
GW
NGN
Terminals
Customer
Networks
NGN
Terminals
Go
interface
GW
Legacy
Terminals
IP
Access Transport
Network
PSTN / ISDN
Legacy
Terminals
Gq
interface
Legacy
Terminals
TGW
Core transport
Network
Other Networks
ICF
IP Multimedia
Component (Core IMS)
(SIP based)
MBG
3GPP IP-CAN
3GPP Terminals
302
302
RACF
CPE
Transport Functions
NAAF
303
303
Service Stratum
SCF
Gq
Gq
Transport Stratum
IBCF
Rq
Network Access
Attachment
Functions
Access
CPN
A-TRCF
Core
Rq
C-TRCF
Rq
I-TRCF
Ub
Re
R-BGF
Rq
I-PDF
Other NGNs
Resource Mediation
M-PDF
ANF
Rc
Re
ENF
Access Transport
Go
Rc
A-BGF
Rc
I-BGF
Core Transport
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
304
304
305
305
PSTN/ISDN Emulation
ADF
Originating
Legacy Terminal
Next Generation
Network
ADF
Terminating
Legacy Terminal
ADF = Adaptive Function
306
306
PSTN/ISDN Simulation
SIP
Client
NGN
NGN
NGN
NGN
NGN
Originating
Network
Originating
Subscribers
Home Network
Core Transit
Network
Terminating
Subscribers
Home Network
Terminating
Network
SIP
Client
307
307
o Terminals
Different requirements placed on NGN terminals (e.g. support of IPv6,
availability of UICC device)
o Location Information
Location information different in nature and usually not available at the
terminal
o Resource management
Explicit resource reservation signalling not available in terminals and access
network edge points
Common resources shared between the signalling and media flows
o Regulatory issues
Different constraints
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
308
308
309
309
Border
Gateway
Node
Access Network
NGN Core Network
Border
Node
Border
Gateway
Node
NNI
Access
Node
Inter-AN
Access
Node
Border
Node
Intermediate
Node
Access
Node
Inter-CN
Access Network
Border
Node
Border
Node
Intra-AN
Border
Gateway
Node
Intermediate
Node
Access
Node
Inter-TE
Access Network
310
310
311
311
Home Network
Home
Proxy
V I TE
#2
Re-I
N
TE
TER
#6
INVI
#6
REG
IS
#2
#5
T ER
#3
Home
Proxy
Re-INVITE
REG
IS
INVITE
#4
#4
#3
Re-INVITE
#5
INV
Visited
Proxy
RE
G
#1
IST
I TE
ER
Visited Network
Cell 2
Cell 1
REGISTER
Visited
Proxy
Cell 2
#1
Cell 1
Visited Network
312
312
313
313
o Issues to consider
Services need to be device independent
User recognition and authentication
314
314
315
315
Contents
o Presence
o SIP Extensions for Presence
o Instant Messaging (IM)
o SIP Extensions for IM
316
316
Presence
o Also known as Buddy Lists
o Indicates Online/Offline status
Busy, Not At My Desk
Willingness
Only if urgent
Try cell phone first, then business line
Always send email
o Access Control
User-based
Time-based
Location-Based
317
317
Subscriber
(Watcher)
REGISTER
Proxy
NOTIFY
Presence Agent + Proxy/Registrar
= Presence Server
Presentity
o Watcher
Client of the system that asks for information about another user
in the system
o Presentity
User of the system that a watcher can ask about
318
318
Subscriber
(Watcher)
REGISTER
Proxy
NOTIFY
Presence Agent + Proxy/Registrar
= Presence Server
Presentity
o Presence Server
Physical entity that can act as either a presence agent or as a
proxy server for SUBSCRIBE requests
Aware of the presence information of the presentity when acting
as a PA
SUBSCRIBE requests are proxied to another entity that may act
as a PA, when acting as a proxy
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
319
319
NOTIFY sip:user@userpc.example.com
To: sip:user@example.com
From: sip:alice@wonderland.com
Call-ID: knsd08alas9dy@3.4.5.6
CSeq: 1 NOTIFY
Content-Type: application/xpidf+xml
<?xml version="1.0"?>
<!DOCTYPE presence
PUBLIC "-//IETF//DTD RFCxxxx XPIDF 1.0//EN" "xpidf.dtd">
<presence>
<presentity uri="sip:alice@wonderland.com;method="SUBSCRIBE">
<atom id="779js0a98">
<address uri="sip:alice@wonderland.com;method=INVITE">
<status status="closed"/>
</address>
</atom>
</presentity>
</presence>
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
320
320
321
321
o Features
322
322
IM - Basic Operation
o Sender formulates and issues a SIP request using the
new MESSAGE method
o Body of the request will contain the message to be
delivered
o Request may traverse a set of SIP Proxies, before
reaching its destination
o Provisional and final response will be sent to the sender
MESSAGE sip:b@atlanta.example.com SIP/2.0
Via: SIP/2.0/TCP uac.example.com;branch=z9hG4bKhjhs8ass83
Max-Forwards: 70
To: <sip:b@atlanta.example.com>
From: <sip:a@atlanta.example.com>;tag=1234
Call-ID: d432fa84b4c76e66710
CSeq: 1 MESSAGE
Content-Type:text/plain
Content-Length: 15
Hello World
323
323
324
324
325
325
Contents
o
o
o
o
o
o
o
326
326
REFER Method
o Indicates that the recipient (identified
by the Request-URI) should contact a
third party using the contact
information provided in the request
o Contain exactly one Refer-To header
field value
o Request may be placed outside the
scope of a dialog created with an
INVITE
o Implicitly establishes a subscription to
the refer event
o Each NOTIFY must contain a body of
type "message/sipfrag"
o The body of a NOTIFY must begin
with a SIP Response Status-Line
o Can be used to enable many
applications, including Call Transfer
327
327
Refer-To Header
Refer-To = ("Refer-To" / "r") HCOLON ( name-addr / addr-spec ) * (SEMI generic-param)
o
o
o
o
328
328
Call Transfer
Initiated using
REFER
Recipient
User B
INVITE
200 OK
ACK
Two way Speech Path
Call Transfer
Success using
REFER
REFER: Refer-To: C
202 Accepted
5
6
NOTIFY : 200 OK
10
200 OK
BYE
12
Final Recipient
User C
INVITE
200 OK
8
9
ACK
Two way Speech Path
11
200 OK
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
329
329
Replaces Header
Replaces = "Replaces" HCOLON callid *(SEMI "to-tag" EQUAL token / "from-tag" EQUAL token / "early-only"
330
330
Final Recipient
User C
Recipient
User B
Call-ID:1;FromTag=11;ToTag=22
INVITE (Hold)
Call-ID:1;FromTag=11;ToTag=22
200 OK
ACK
Call Transfer
Initiated using
REFER
Call-ID:1;FromTag=11;ToTag=22
INVITE Call-ID:2;FromTag=33
200 OK Call-ID:2;FromTag=33;ToTag=44
ACK Call-ID:2;FromTag=33;ToTag=44
REFER: Refer-To: <Final
Recipient?Replaces:Call-ID:2;
FromTag=33 ;ToTag=44
Call-ID:1;FromTag=11;ToTag=22
202 Accepted
331
331
Call Transfer
Success using
REFER
NOTIFY : 200 OK
Call-ID:1;FromTag=11;ToTag=22
200 OK
Final Recipient
User C
Recipient
User B
INVITE: Replaces:Call-ID:2;
FromTag=33 ;ToTag=44
Call-ID:3;FromTag=55
200 OK Call-ID:3;FromTag=55;ToTag=66
ACK Call-ID:3;FromTag=55;ToTag=66
Two way Speech Path
BYE
Call-ID:1;FromTag=11;ToTag=22
200 OK
BYE Call-ID:2;FromTag=33;ToTag=44
200 OK Call-ID:2;FromTag=33;ToTag=44
332
332
Switch
User A
SMDI
VoiceMail
Server
333
333
Switch
IP Network
SIP
VoiceMail
Server
SIP
User A
SIP
User B
SIP
Client
334
334
335
335
Messages-Waiting: no
SIP Certification Training 1.1 Copyright 2006 Wipro Ltd
336
336
User B subscribes
for MWT Notification
Notifier
Voice Mail Server
Subscriber
User B
SUBSCRIBE : message-summary
200 OK
User B is not
available to receive
the call from User A
NOTIFY : MWT=NO
200 OK
User A calls User B (CFD) forwarded to Voice Mail Server. User A leaves a message for User B and disconnects the call
User B receives
MWT YES
Notification
NOTIFY : MWT=YES
200 OK
User B receives
MWT NO
Notification
NOTIFY : MWT=NO
200 OK
337
337
RADIUS /
Billing Server
VI
IN
TE
si
94
91
:
p
En
dC
0
00
1
72
w/
rt B
SIP Controller
B2BUA Application
illin
g
all
P
SD
20
of
K
0O
P
SI
w/
e
on
h
P
P
SD
SI
GW
P-
200
IN V
IT E
OK
w/
s ip
:91
SD
Po
fS
AC
K
939
I PGW
210
00
w/
SD
Pre-Paid Client
PSTN
338
338
339
339
Member A
Wireless Network
Member E
Member B
Member D
Member C
340
340
341
341
o
o
o
342
342
343
343
344
344
SIP/IP
Core
PoC Server A
INVITE
2
ALERTING
INVITE
ALERTING
First ALERTING
Response
OK
First accepted
invitation
OK
10
Invitations to invited
POC subscriber
Media
345
345
PoC Server A
(Participating)
SIP/IP
Core A
INVITE
2
Controlling Network
PoC Server X
(Controlling)
SIP/IP
Core X
INVITE
INVITE
INVITE
INVITE
ALERTING
ALERTING
11
OK
OK
OK
OK
10
13
OK
ALERTING
Invitations to the
group members
First ALERTING
Response
ALERTING
ALERTING
First accepted
invitation
12
14
15
16
346
346
PoC Server A
(Participating)
SIP/IP
Core A
INVITE
2
Controlling Network
PoC Server X
(Controlling)
SIP/IP
Core X
INVITE
INVITE
INVITE
INVITE
ALERTING
ALERTING
11
OK
OK
OK
OK
10
13
OK
ALERTING
Invitations to the
group members
First ALERTING
Response
ALERTING
ALERTING
First accepted
invitation
12
14
15
16
347
347
SIP Application
Framework
348
348
Contents
o JAIN SIP
o JAIN SIP 3PCC Call Flow
o SIP Servlet
o SIP Servlet CSBNA Call Flow
o SIP Lite
o SIP for J2ME
o End to End architectures using the SIP
APIs
349
349
JAIN SIP
o Java-standard interface to a SIP signaling stack
350
350
SIP Listener
getInstance()
Event
Registration
createProvider()
SIP Provider
Proprietary
SIP Stack
Network
SIP Factory
createStack()
SIP Factory
createListener()
SIP Stack
Proprietary
SIP Stack
351
351
352
352
SipListener
SipListener
SIP Messages
SIP Messages
SIP Events
SIP Events
SipProvider
SipProvider
Listening Point
Listening Point
Stack
Network
Stack
353
353
SipFactory
SipProvider
createReq(INVITE, -)
createClientTransaction(inviteA)
sendRequest()
Client
Transaction
Dialog A
Dialog B
SIP
Party A
SIP
Party B
new()
new()
null
INVITE(SipListener, A)
createReq(INVITE, offerA)
createClientTransaction(inviteB)
sendRequest()
confirmed
new()
200OK(offerA)
null
new()
INVITE(SipListener, B)
ACK(offerA)
ACK(offerB)
confirmed
200OK(offerB)
createReq(re-INVITE)-setBody(offerB)
createClientTransaction(inviteC)
sendRequest(clientTransC)
Re-INVITE(offerB)
200OK(offerB)
ACK(offerB)
RTP
354
354
SIP Servlet
o Java-based application component which is
managed by a SIP servlet container and which
performs SIP signaling
o Platform independent Java classes that can be
loaded dynamically into and run by a javaenabled SIP application server
o Containers, sometimes called servlet engines, are
server extensions that provide servlet functionality
o Servlets interact with (SIP) clients by exchanging
request and response messages through the
servlet container
355
355
o Simplicity
Containers handle non-essential complexity such as managing network
listen points, retransmissions, CSeq, Call-ID and Via headers, routes, etc
o Converged applications
Containers to support converged applications (e.g. Web, telephony,
Presence)
o Application composition
Several applications to execute independently on the same incoming or
outgoing request or response in a well-defined and orderly fashion
o Carrier grade
Application data stored in container managed session objects may persist
and/or replicate to achieve high availability
356
356
10
HTTP GET
200 OK
HTTP POST
Bobs
SIP UA
Converged
Servlet Container
Alices
SIP UA
INVITE
100 Trying
302 Moved Temporarily
ACK
INVITE
486 Busy
5
7
ACK
9
11
200 OK
13
17
22
INVITE
200 OK
ACK
INVITE
200 OK
ACK
15
SUBSCRIBE
200 OK
NOTIFY
200 OK
12
14
16
18
19
INVITE
200 OK
20
21
23
23
ACK
RTP
357
357
SIP Lite
o An abstracted view of the SIP protocol that provides a SIP
programming environment for developers
o API specification is primarily developed for the J2SE
platform to provide a rich object model that may be
suitable for midsize devices with more processing power
and memory than mobile handsets, i.e. PDAs and SIP
phones
o Defines a three-tier architecture, where the Listener exists
for a Dialog, a Call and a CallProvider - listen for incoming
messages, dialogs and calls respectively
o Define a single Message interface identified based on
Request and Response constants
o Defines the concept of a Call and Dialog interface within
which a Call may contain multiple Dialogs
o Specification designed specifically for User Agent
applications
358
358
359
359
Visited
Network
HSS
Home
Network
MGCF
SIP Servlet
JAIN SIP
P-CSCF
I-CSCF
JAIN SIP
S-CSCF
SIP Servlet
JAIN SIP
Application
Server
SIP Servlet
SIP Lite
Application
Server
SIP Servlet
Application
Server
MGW
SIP Lite
360
360
Questions ?
361
361