session initialization protocol (sip) presented by: lei luo computer & information science...
Post on 23-Dec-2015
214 Views
Preview:
TRANSCRIPT
Session Initialization Protocol (SIP)
Presented by: Lei Luo
Computer & Information Science DepartmentUniversity of Delaware
Nov. 18, 2004
Some slides are borrowed from Dorgham Sisalem’s SIP Tutorial
2
What Is SIP?
Phone Network
Alice
Alice’s Home Station
Bob
3
What is SIP?
A signaling protocol Set up Modify Multimedia Sessions Tear down Request/deliver presence and Instant messages
Enable Internet endpoints Discover one another Agree on a characterization of a session
4
What is NOT SIP?
Not a transport protocolNot a media transmission protocolNot a QoS Reservation ProtocolNot an integrated communications system
5
Internet Multimedia Protocol Stack
Source: Henning Schulzrinne,http://www.cs.columbia.edu/~hgs/internet/
SCTP
6
What can SIP Do?
User LocationUser AvailabilityUser CapabilitySession SetupSession Management
7
What Else Can SIP Do?
Request/deliver presence information and instant message sessions: Publish and upload presence information Request delivery of presence information Notify presence and other events Transport instant messages
8
Tesla Marconi
INVITE
180 Ringing
200 OK
ACK
Media Session
BYE
200 OK
Simple SIP session establishment exampleSimple SIP session establishment example
9
AliceProxy Server
Bob
INVITE
180 Ringing
200 OK
ACK
Media Session
BYE
200 OK
INVITE
180 Ringing
200 OK
SIP call example with proxy serverSIP call example with proxy server
10
Alice Registrar Server
REGISTERContact: sip:alice@128.175.13.16
200 OK
SIP registration exampleSIP registration example
11
SUBSCRIBE
200 OK
NOTIFY
200 OK
…
NOTIFY
200 OK
MESSAGE
200 OK
MESSAGE
200 OK
SIP presence and instant message exampleSIP presence and instant message example
12
How does SIP Work?
Based on HTTP-like request/response modelText-based protocolUse the UTF-8 charsetSIP message
A request from a client to a server A response from a server to a client
13
SIP User Agent (UA)
SIP-enabled end-devices Maintain states on calls
Local and remote tags Call-ID Local and remote CSeq header fields
Contain client (UAC) & server applications (UAS) Must support SDP for media description
14
SIP User Agent Examples
Cisco Siemens
MIC
15
Presence Agent
SIP devices Receive subscription requests Generate state notifications
Collect presence informationNeed to authenticate a subscription request
16
SIP Gateway
A special type of UA Interface a SIP network to a non-SIP network
Terminate the signaling pathMay or may not terminate the media pathSupport much more users than normal UA
17
SIP Networks with Gateways
InternalTelephoneExtn: 7040
SIP/PSTN Gateway
Department PBX
Web based configuration
Web server
Telephoneswitch
SQLdatabase
Proxy, redirect, registrar server
Extn: 7134
xiaotaow@cs NetMeeting
H.323
rtspd: media server
sipum: Unified messaging
Quicktime
RTSP clients
RTSP
Extn: 7136
713x
Single machine
SNMP(Network Management)
sipconf: Conference server
SIP/H.323 Gateway
Local/long distance1-212-5551212
Borrowed from Xiaotao Wu’s slides (Columbia University, 2002)
18
SIP Servers SIP Workhorses
Logical Entities Accept SIP requests Respond to requests
Types of Servers Proxy Server Redirect Server Registration Server
19
SIP Message Format
Generic-message= Start-line
*message-header
CRLF
[ message-body ]
Start-line= Request-Line / Status-Line
Request-Line = Method SP Request-URI SP SIP-Version CRLF
Status-Line = SIP-Version SP Status-Code SP Reason-Phase CRLF
SP – blank space
20
SIP Methods Sets
Basic Methods INVITE REGISTER BYE ACK CANCEL OPTIONS
Extended Methods REFER SUBSCRIBE NOTIFY MESSAGE etc.
21
SIP Response Codes
Consistent with/extend HTTP/1.1 response codes 1xx – Informational 2xx – Success 3xx – Redirection 4xx – Client error 5xx – Server failure 6xx – Global Failure
600 – Busy Everywhere 603 – Decline 604 – Does Not Exist Anywhere etc.
Borrowed from HTTP
Created for SIP
22
SIP Registration Server
Alice Registrar ServerSIP/2.0 200 OKVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19To: Alice <sip:alice@eecis.udel.edu>From: Alice <sip:alice@eecis.udel.edu>;tag=3431Call-ID: 23@128.175.13.50CSeq: 1 REGISTERContact: <sip:alice@128.175.13.50>;expires=3600Content-Length: 0
REGISTER sip:registrar.udel.eduVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19Max-Forwards: 70To: Alice <sip:alice@eecis.udel.edu>From: Alice <sip:alice@eecis.udel.edu>;tag=3431Call-ID: 23@128.175.13.50CSeq: 1 REGISTERContact: sip:alice@128.175.13.50Content-Length: 0
23
SIP Proxy Server
Alice Bob
Outbound proxy server
Inbound proxy server
Location server
DNS server
Media (RTP)
INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>
INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP proxy.yahoo.com:5060; branch=z9hG4bKtiop3Via: SIP/2.0/UDP proxy.udel.com:5060; branch=z9hG4bK83842.1Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>100 Trying
100 Trying
180 Ringing
180 Ringing
180 Ringing
200 OK
200 OK
200 OK
ACKBYE
200 OK
INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP proxy.udel.com:5060; branch=z9hG4bK83842.1Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>
SIP Trapezoid
24
SIP Proxy Server
INVITE Bob
Alice
Bob’s voicemail
Bob’s Phone
INVITE Bob
486 Busy Here
INVITE Bob
Proxy servers can make flexible “routing decisions” to decide where to send a request.
25
SIP Proxy Server
INVITE Bob
Alice
Bob’s Cell PhoneINVITE Bob
INVITE Bob
Bob’s Office Phone
INVITE Bob
Bob’s Home Phone
In parallel search, a proxy issues several requests to possible user locations upon receiving an incoming request.
200 OK
200 OKCANCEL
CANCEL
26
SIP Redirect Server
INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>
Alice
Bob
Redirect Server
SIP/2.0 302 Moved TemporarilyVia: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>;tag=64From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: sip:alice@200.201.202.203ACK
INVITE sip:bob@200.201.202.203 SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=13473Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>
27
That’s It!
We have learned a lot about SIP!!
Did we really learn a lot of stuff about SIP?
No Way!!!
Then what are we gonna do?
28
Key References
J. Rosenberg, SIP: Session Initialization Protocol, RFC 3261, 2002
A. Johnston, SIP: Understanding the Session Initialization Protocol, 2nd edition
J. Kuthan and D. Sisalem, SIP Tutorial http://iptel.org/sip/
SIP web site: http://www.cs.columbia.edu/sip/
Questions?
top related