Internet Telephony Based On SIP
Internet Telephony Based On SIP
based on SIP
SMU - Dallas
April 28, May 1, 2000
Henry Sinnreich, MCI WorldCom
Alan Johnston, MCI WorldCom
Internet Multimedia
• Real Time Protocol (RTP) – media packets
• Real Time Control Protocol (RTCP) – monitor & report
• Session Announcement Protocol (SAP)
• Session Description Protocol (SDP)
• Session Initiation Protocol (SIP)
• Real Time Stream Protocol (RTSP) – play out control
• Synchronized Multimedia Integration Language (SMIL) –
mixes audio/video with text and graphics
2
Telephony on the Internet
may not be a stand-alone business, but part of IP services
“Dumb Network”
USER SW SW SW SW SW SW USER
UNI NNI NNI UNI
5
SIP vs. flavors of IPDC, SGSP, MGCP, MEGACO, H.248
(Internet Client-Server vs. Telco Master-Slave Protocols)
MCGP RG MCGP
PSTN PSTN
MG MG
IP ?
Internet
TR 303…
2. “Softswitch” a la IN 3. Residential GWY
•
phone to phone only •
breaks e-2-e control model
•
PSTN services •
no services integration
•
single vendor solution •
no choice of server and apps
•
“unequal access” is reinvented 6
IP Communications
Education
• Caller and called party
Games
preferences
Any quality
Better quality than 3.1 kHz
Most yet to be invented
8
SIP Philosophy
• Internet Standard
– IETF - http://www.ietf.org
• Reuse Internet addressing (URLs, DNS, proxies)
– Utilizes rich Internet feature set
• Reuse HTTP coding
– Text based
• Makes no assumptions about underlying protocol:
– TCP, UDP, X.25, frame, ATM, etc.
– Support of multicast
9
SIP Clients and Servers - 1
• SIP uses client/server architecture
• Elements:
– SIP User Agents (SIP Phones)
– SIP Servers (Proxy or Redirect - used to locate SIP
users or to forward messages.)
• Can be stateless or stateful
– SIP Gateways:
• To PSTN for telephony interworking
• To H.323 for IP Telephony interworking
• Client - originates message
• Server - responds to or forwards message
10
SIP Clients and Servers - 2
Logical SIP entities are:
• User Agents
– User Agent Client (UAC): Initiates SIP requests
– User Agent Server (UAS): Returns SIP responses
• Network Servers
– Registrar: Accepts REGISTER requests from clients
– Proxy: Decides next hop and forwards request
– Redirect: Sends address of next hop back to client
The different network server types may be collocated
11
SIP Addressing
Uses Internet URLs
– Uniform Resource Locators
– Supports both Internet and PSTN addresses
– General form is name@domain
– To complete a call, needs to be resolved down to User@Host
– Examples:
sip:[email protected]
sip:J.T. Kirk <[email protected]>
sip:[email protected];user=phone
sip:[email protected]
sip:[email protected];phone-context=VNET
12
SIP Session Setup Example
SIP SIP
User Agent User Agent
Client Server
INVITE sip:[email protected]
200 OK
ACK
Media Stream
BYE
200 OK
host.wcom.com sip.uunet.com
13
Proxy Server Example
INVITE sip:[email protected]
INVITE sip:[email protected]
200 OK
200 OK
ACK
Media Stream
BYE
200 OK
14
Redirect Server Example
SIP SIP
SIP
User Agent Redirect User Agent
Client Server Server
REGISTER [email protected]
200 OK
INVITE sip:[email protected]
200 OK
ACK
Media Stream
15
SIP Requests
SIP Requests (Messages) defined as:
– Method SP Request-URI SP SIP-Version CRLF (SP=Space,
CRLF=Carriage Return and Line Feed)
– Example: INVITE sip:[email protected] SIP/2.0
Method Description
ACK Message from client to indicate that a successful response to an INVITE has been received
CANCEL Cancels any pending requests. Usually sent to a Proxy Server to cancel searches
REGISTER Used by client to register a particular address with the SIP server
16
SIP Requests Example
}
From: Alan Johnston <sip:[email protected]> Uniquely
identify
To: Jean Luc Picard <sip:[email protected]> this
Call-ID: [email protected] session
CSeq: 1 INVITE request
–
Via: Shows route taken by request.
–
Call-ID: unique identifier generated by client.
–
CSeq: Command Sequence number
• generated by client
• Incremented for each successive request
17
SIP Requests Example
Typical SIP Request:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP host.wcom.com:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: sip:[email protected]
Subject: Where are you these days?
Content-Type: application/sdp
Content-Length: 124
v=0
o=ajohnston 5462346 332134 IN IP4 host.wcom.com
s=Let's Talk
t=0 0
c=IN IP4 10.64.1.1
m=audio 49170 RTP/AVP 0 3
18
SIP Responses
SIP Responses defined as (HTTP-style):
– SIP-Version SP Status-Code SP Reason-Phrase CRLF
(SP=Space, CRLF=Carriage Return and Line Feed)
– Example: SIP/2.0 404 Not Found
– First digit gives Class of response:
Description Examples
Required Headers:
SIP/2.0 200 OK
Via: SIP/2.0/UDP host.wcom.com:5060
From: Alan Johnston <sip:[email protected]>
To: Jean Luc Picard <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
v=0
o=picard 124333 67895 IN IP4 uunet.com
s=Engage!
t=0 0
c=IN IP4 11.234.2.1
m=audio 3456 RTP/AVP 0 21
Forking Proxy Example
SIP SIP SIP SIP
User Agent Proxy User Agent User Agent
Client INVITE Server Server 1 Server 2
sip:[email protected] INVITE S1
INVITE
C
100 Trying 404 Not Found
ACK S2
Fork
180 Ringing
180 Ringing
200 OK
200 OK
ACK
Media Stream
BYE
200 OK
Contact Alternative SIP URL for more Contact: W. Riker, Acting Captain <[email protected]>
direct message routing. Contact: [email protected]; expires=3600
m: [email protected]
Content-Length Octet count in message body. Content-Length: 285
23
SIP Headers - Continued
From Required field containing the originating SIP From: Dana Scully <sip:[email protected]>
URL. Can also include a display name. From: sip:[email protected];
tag=1234567
f: sip: [email protected]
Response-Key Contains PGP key for encrypted response Response-Key: pgp info…
expected.
Retry-After Indicates when the resource may be Retry-After: 3600
available. Can be a number of seconds or a Retry-After: Sat, 01 Jan 2000 00:01 GMT
date and time.
24
SIP Headers - Continued
25
Via Headers and Routing
• Via headers are used for routing SIP
messages
• Requests
– Request initiator puts address in Via header
– Servers check Via with sender’s address, then add
own address, then forward. (if different, add
“received” parameter)
• Responses
– Response initiator copies request Via headers.
– Servers check Via with own address, then forward
to next Via address
26
SIP Firewall Considerations
• Firewall Problem
– Can block SIP packets
– Can change IP addresses of packets
• TCP can be used instead of UDP
• Record-Route can be used:
– ensures Firewall proxy stays in path
• A Firewall proxy adds Record-Route header
– Clients and Servers copy Record-Route and put in
Route header for all messages
27
SIP Message Body
• Message body can be any protocol
• Most implementations:
– SDP - Session Description Protocol
– RFC 2327 4/98 by Handley and Jacobson
• http://www.ietf.org/rfc/rfc2327.txt
– Used to specify info about a multi-media session.
– SDP fields have a required order
– For RTP - Real Time Protocol Sessions:
• RTP Audio/Video Profile (RTP/AVP) payload descriptions
are often used
28
SDP Examples
SDP Example 1
v=0
o=ajohnston +1-613-555-1212 IN IP4
host.wcom.com
s=Let's Talk
Field Descripton
t=0 0
c=IN IP4 101.64.4.1 Version v=0
m=audio 49170 RTP/AVP 0 3 o=<username> <session id> <version>
Origin
<network type> <address type> <address>
v=0
o=alan +1-613-1212 IN host.wcom.com
s=SSE University Seminar - SIP
i=Audio, Listen only
u=http://sse.mcit.com/university/
[email protected]
p=+1-329-342-7360
c=IN IP4 10.64.5.246
b=CT:128
t=2876565 2876599
m=audio 3456 RTP/AVP 0 3
a=type:recvonly
30
Authentication & Encryption
• SIP supports a variety of approaches:
– end to end encryption
– hop by hop encryption
• Proxies can require authentication:
– Responds to INVITEs with 407 Proxy-
Authentication Required
– Client re-INVITEs with Proxy-Authorization
header.
• SIP Users can require authentication:
– Responds to INVITEs with 401 Unathorized
– Client re-INVITEs with Authorization header
31
SIP Encryption Example
q4aspdoCjh32a1@WoiLuaE6erIgnqD3erDg8aFs8od7idf@
hWjasGdg,ddgg+fdgf_ggEO;ALewAKFeJqAFSeDlkjhasdf
kj!aJsdfasdfKlfghgasdfasdfa|Gsdf>a!
sdasdf3w29451k45mser?
we5y;343.4kfj2ui2S8~&djGO4kP
%Hk#(Khujefjnjmbm.sd;da’l;12’;123=]aw;erwAo3529
ofgk
32
PSTN Features with SIP
Features implemented by SIP Phone
– Call answering: 200 OK sent
– Busy: 483 Busy Here sent
– Call rejection: 603 Declined sent
– Caller-ID: present in From header
– Hold: a re-INVITE is issued with IP Addr =0.0.0.0
– Selective Call Acceptance: using From,
Priority, and Subject headers
– Camp On: 181 Call Queued responses are
monitored until 200 OK is sent by the called party
– Call Waiting: Receiving alerts during a call
33
PSTN Features with SIP
4
Mobile 5 SIP Redirect
Host Server
SIP Proxy
Foreign Server Home
Network Network
3
7 1 2 6
1 INVITE
Corresponding Global: Wire and wireless
2 302 moved temporarily
Host No tunneling required
3, 4 INVITE No change to routing
5, 6 OK For fast hand-offs use:
7 Data • Use Cellular IP or
• Use DRCP
36
SIP Mobility
37
Mobile IP Communications
38
Presence, Instant Messaging and Voice
http://www.ietf.org/internet-drafts/draft-ietf-impp-model-03.txt
39
IP SIP Phones and Adaptors
Are Internet hosts
• Choice of application
• Choice of server 1
• IP appliance
Implementations
2
• 3Com (2)
• Cisco
• Columbia University
• Mediatrix (1)
3
• Nortel (3)
• Pingtel
40
SIP Summary
• SIP is:
– Relatively easy to implement
– Gaining vendor and carrier acceptance
– Very flexible in service creation
– Extensible and scaleable
– Appearing in products right now
• SIP is not:
– Going to make PSTN interworking easy
– Going to solve all IP Telephony issues (QoS)
41
References
Papers on IP Telephony
http://www.cs.columbia.edu/~hgs/sip/papers.html
42
Relevant IETF Working Groups
http://ietf.org/html.charters/wg-dir.html