Documente Academic
Documente Profesional
Documente Cultură
SIP Tutorial
Introduction to SIP
Henry Sinnreich
Alan Johnston
8/30/2002
SIP Overview
8/30/2002
RTSP
8/30/2002
INVITE
ACK
OPTIONS
CANCEL
BYE
REGISTER
1xx
2xx
3xx
4xx
5xx
6xx
Informational
Final
Redirection
Client Error
Server Error
Global Failure
sip:henry@127.24.45.4 or sip:henry@cube43.lab.wcom.com
8/30/2002
Related Protocols
SDP Session Description Protocol
8/30/2002
SIP Trapezoid
DNS Server
Location
Server
DNS
SIP
Outbound
Proxy Server
Inbound
Proxy Server
SIP
SIP
Media (RTP)
User Agent A
8/30/2002
User Agent B
SIP Trapezoid
DNS Server
Location
Server
DNS
SIP
Inbound
Proxy Server
Outbound
Proxy Server
SIP
SIP
Capable of sending
and receiving SIP
requests.
End Devices:
Media (RTP)
User Agent A
8/30/2002
User Agent B
SIP phone
PC/laptop with
SIP Client
PDA
mobile phone
PSTN Gateways
are a type of User
Agent
9
SIP Trapezoid
DNS Server
Location
Server
DNS
SIP
Inbound
Proxy Server
Outbound
Proxy Server
SIP
SIP
Forward or proxy
requests on behalf of
User Agents
Route requests
Consult databases:
Types:
Media (RTP)
User Agent A
DNS
Location Server
User Agent B
Stateless
Transaction Stateful
Call Stateful
10
SIP Trapezoid
DNS Server
Location
Server
DNS
SIP
Inbound
Proxy Server
Outbound
Proxy Server
SIP
Location Server
Database of locations of
SIP User Agents
Queried by Proxies in
routing
Updated by User Agents
by Registration
SIP
DNS Server
Media (RTP)
User Agent A
8/30/2002
User Agent B
3. DNS Query:
wcom.com?
4. Response: 1.2.3.4
Inbound
Proxy Server
Outbound
Proxy Server
1. INVITE
Contact: A
SDP A
User Agent A
8/30/2002
Location
Server
2. 100 Trying
User Agent B
(Not Signed In)
3. DNS Query:
wcom.com?
Outbound
Proxy Server
Location
Server
4. Response: 7. LS Query: B?
1.2.3.4
5. INVITE
Contact: A
SDP
8. Response: Not
Signed In
Inbound
Proxy Server
6. 100 Trying
1. INVITE
Contact: A
SDP
User Agent A
8/30/2002
2. 100 Trying
5. Outbound Proxy
sends INVITE to
Inbound Proxy
Server.
6. Inbound Proxy sends
100 Trying
response.
7. Inbound Proxy
consults Location
Server.
8. Location Server
responds with Not
Signed In.
User Agent B
(Not Signed In)
13
3. DNS Query:
wcom.com?
Outbound
Proxy Server
1. INVITE
Contact: A
SDP A
2. 100 Trying
Location
Server
4. Response: 7. LS Query: B?
1.2.3.4
8. Response:
Not Signed
In
5. INVITE
Contact: A
SDP A
Inbound
Proxy Server
6. 100 Trying
9. 480 Temporarily Unavailable
10. ACK
User Agent A
8/30/2002
User Agent B
(Not Signed In)
14
Presence
Server
3. SUBSCRIBE
2. SUBSCRIBE
Outbound
Proxy Server
1. SUBSCRIBE
User Agent A
8/30/2002
5. 200 OK
4. 200 OK
Inbound
Proxy Server
6. 200 OK
User Agent B
(Not Signed In)
1. A wants to be informed
when B signs on, so sends
a SUBSCRIBE
2. Outbound Proxy forwards to
Inbound Proxy
3. Inbound Proxy forwards to
Bs Presence Server
4. Presence Server authorizes
subscription by sending a
200 OK.
5. & 6. 200 OK proxied back
to A.
15
Presence
Server
7. NOTIFY
<Not Signed In>
8. NOTIFY
<Not Signed In>
Outbound
Proxy Server
9. NOTIFY
<Not
Signed
In>
User Agent A
8/30/2002
11. 200 OK
12. 200 OK
Inbound
Proxy Server
10. 200 OK
User Agent B
(Not Signed In)
16
Location
Server
2. Update database:
B = B@2.3.4.5
3. OK
Outbound
Proxy Server
Outbound
Proxy Server
1. REGISTER
Contact: B@2.3.4.5
User Agent A
8/30/2002
4. 200 OK
User Agent B
17
Presence
Server
13. NOTIFY
<Signed In>
Outbound
Proxy Server
15. NOTIFY
<Signed In>
User Agent A
8/30/2002
14. NOTIFY
<Signed In>
17. 200 OK
18. 200 OK
Inbound
Proxy Server
16. 200 OK
User Agent B
18
Location
Server
3. LS Query: B?
Outbound
Proxy Server
2. MESSAGE
<Can You
Talk Now?>
4.
1. A sends an Instant
Message to B saying
Response:
Can you talk now? in
sip:B@2.3.4.5
a MESSAGE request.
Inbound
Proxy Server
7. 200 OK
1. MESSAGE
<Can You
Talk Now?>
User Agent A
8/30/2002
8. 200 OK
5. MESSAGE
<Can You
Talk Now?>
6. 200 OK
User Agent B
19
5. LS Query: A?
Inbound
Proxy Server
7. MESSAGE
<Sure.>
User Agent A
8/30/2002
DNS Server
1. B sends an Instant
Message to A saying
Sure. in a MESSAGE
6. Response:
2. DNS Query:
3. Response: 5.6.7.8
sent to As AOR URI.
sip:A@4.5.3.2
mci.com?
2. & 3. DNS Server is queried.
4. Outbound Proxy forwards
4. MESSAGE
MESSAGE to Inbound
<Sure.>
Outbound
Server.
Proxy Server
9. 200 OK
5. & 6. Location Server is
queried.
10. 200 OK
8. 200 OK
7. Inbound Proxy forwards to
1. MESSAGE
<Sure.>
A.
8. User Agent A responds
with 200 OK.
9. & 10. 200 OK is proxied
back to B.
User Agent B
20
Location
Server
5. LS Query: B
Outbound
Proxy Server
3. INVITE
Contact: A
SDP A
6. Response:
sip:B@2.3.4.5
Inbound
Proxy Server
4. 100 Trying
1. INVITE
Contact: A
SDP A
User Agent A
8/30/2002
2. 100 Trying
7. INVITE
Contact: A
SDP A
User Agent B
1. to 5. A retries INVITE to B
which routes through two
Proxy Servers.
6. Location Server responds
with the FQDN SIP URI of
Bs SIP Phone.
7. Inbound Proxy Server
forwards INVITE to Bs
SIP Phone.
21
Location
Server
9. 180 Ringing
Inbound
Proxy Server
Outbound
Proxy Server
12. 200 OK
Contact: B
SDP B
13. 200 OK
Contact: B
8. 180 Ringing
SDP B
11. 200 OK
Contact: B
SDP B
14. ACK
Media (RTP)
User Agent A
8/30/2002
User Agent B
22
CISCO
8/30/2002
Pingtel
SMU
Microsoft
SIP Tutorial
Portrait
1. POTS Connectivity
PC to phone
2. IP Communications
Presence
Text messaging (IM)
Voice, telephony
Video
3. Data Collaboration
Whiteboard
Application sharing
FTP
Snom AG
Mitel
23
8/30/2002
24
SIP Forum
http://www.sipforum.vom
SIP Center
http://www.sipcenter.com
Books
n
SIP: Understanding the Session Initiation Protocol, Alan B. Johnston, Artech House,
2001.
Internet Communications Using SIP by Henry Sinnreich and Alan B. Johnston,
Wiley, 2001.
SIP Demystified by Gonzalo Camarillo, McGraw-Hill, 2001.
8/30/2002
25
Attachment:
8/30/2002
26
8/30/2002
27
Via headers show the path the request has taken in the
SIP network
n
28
8/30/2002
29
All requests and responses in this call will use this same
Dialog information.
Call-ID is unique identifier usually composed of
n
8/30/2002
30
8/30/2002
31
8/30/2002
32
8/30/2002
33
8/30/2002
34
End of Session #4
EETS 8393 TC 725-N
Dr. Baker
E-Mail Address: hbaker@engr.smu.edu
Videotape/DVD Problems: vthelp@engr.smu.edu
8/30/2002
35