Internet Telephony Based On SIP
Internet Telephony Based On SIP
Internet Telephony 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
SG
PCM
MG
MGCP
Public IP Backbone Goes everywhere End-to-end control Consistent for all services DNS mobility Messaging SIP Web Directory RTP Security QoS Media services Sessions Telephony
Better than PSTN features New & fast service creation Internet (rapid) scalability Mobility Dynamic user preferences End-to-end control Service selection Feature control Mid-call control features Pre-call Mid-call
4
USER
Internet
R R
USER
Dumb Network
Services supported by interfaces and central controllers
ITU Intelligent Network Control: POTS, ISDN, BISDN, FR, ATM, H.323, MEGACO/H.248, GSM
Central Control
SW
NNI
Central Control
Central Control
SW NNI SW UNI
USER
UNI
SW
SW
SW
USER
5
SIP vs. flavors of IPDC, SGSP, MGCP, MEGACO, H.248 (Internet Client-Server vs. Telco Master-Slave Protocols) CAS, Q.931, SS7 GC MCGP MG SIP, H.323
PSTN
Legend CG: gateway Controller MG: Media Gateway
Internet
RTP
PCM
1. IP Telephony Gateway
GC MCGP Internet
IP
2. Softswitch a la IN
TR 303
phone to phone only PSTN services single vendor solution
3. Residential GWY
breaks e-2-e control model no services integration no choice of server and apps unequal access is reinvented
IP Communications
Complete integration of all services under full user control Web-like: PSTN/PBX-like: Presence POTS Voice and text chat AIN CS-1, CS-2 Messaging PBX & Centrex Voice, data, video User has control of: Multiparty All addressable devices Conferencing Caller and called party Education Games preferences Any quality Better quality than 3.1 kHz Most yet to be invented Mixt Internet-PSTN: ClicknConnect, ICW, unified messaging
7
Development of SIP
MMUSIC - Multiparty Multimedia Session Control Working Group SIP developed by Handley, Schulzrinne, Schooler, and Rosenberg
Assigned RFC 2543 in 3/99 Internet Multimedia Conferencing Architecture. H.323 used for IP Telephony since 1994 Problems: No new services, addressing, features Concerns: scalability, extensibility
SIP Philosophy
Internet Standard
IETF - http://www.ietf.org Utilizes rich Internet feature set Text based TCP, UDP, X.25, frame, ATM, etc. Support of multicast
SIP User Agents (SIP Phones) SIP Servers (Proxy or Redirect - used to locate SIP users or to forward messages.)
Can be stateless or stateful To PSTN for telephony interworking To H.323 for IP Telephony interworking
SIP Gateways:
User Agents
User Agent Client (UAC): Initiates SIP requests User Agent Server (UAS): Returns SIP responses Registrar: Accepts REGISTER requests from clients Proxy: Decides next hop and forwards request Redirect: Sends address of next hop back to client
Network Servers
11
SIP Addressing
Uses Internet URLs
Uniform Resource Locators
INVITE sip:[email protected]
13
INVITE sip:[email protected]
200 OK
200 OK
ACK
Media Stream
BYE 200 OK
host.wcom.com
server.wcom.com
sip.uunet.com
14
ACK
RS
2
C
INVITE sip:[email protected]
UAS
Media Stream
host.wcom.com server.wcom.com sip.uunet.com
15
SIP Requests
SIP Requests (Messages) defined as:
Method SP Request-URI SP SIP-Version CRLF
CRLF=Carriage Return and Line Feed) (SP=Space,
INVITE ACK
Message from client to indicate that a successful response to an INVITE has been received
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
Via: Shows route taken by request. Call-ID: unique identifier generated by client. CSeq: Command Sequence number
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 1xx 2xx 3xx 4xx 5xx 6xx Informational Request received, continuing to process request. Success Action was successfully received, understood and accepted. Redirection Further action needs to be taken in order to complete the request. Client Error Request contains bad syntax or cannot be fulfilled at this server. Server Error Server failed to fulfill an apparently valid request. Global Failure Request is invalid at any server. Examples 180 Ringing 181 Call is Being Forwarded 200 OK 300 Multiple Choices 302 Moved Temporarily 401 Unauthorized 408 Request Timeout 503 Service Unavailable 505 Version Not Suported 600 Busy Everywhere 603 Decline
19
Via, From, To, Call-ID, and CSeq are copied exactly from Request. To and From are NOT swapped!
20
21
S1 C S2
Fork
180 Ringing
host.wcom.com
proxy.wcom.com
sip.mci.com
sip.uunet.com
22
Contact: W. Riker, Acting Captain <[email protected]> Contact: [email protected]; expires=3600 m: [email protected] Content-Length: 285 Content-Type: application/sdp c: application/h.323 CSeq: 1 INVITE CSeq: 1000 INVITE CSeq: 4325 BYE CSeq: 1 REGISTER Encryption: pgp info Expires: 60 Expires: Thu, 07 Jan 1999 17:00 CST
Encryption Expires
23
Max-Forwards Count decremented by each server forwarding the message. When goes to zero, server sends a 483 Too Many Hops response. Priority Can specify message priority
Record-Route Added to a request by a proxy that needs to be in the path of future messages. Require Indicates options necessary for the session.
Priority: normal Priority: emergency Record Route: sip.mci.com Require: local.telephony Response-Key: pgp info
Retry-After: 3600 Indicates when the resource may be available. Can be a number of seconds or a Retry-After: Sat, 01 Jan 2000 00:01 GMT date and time.
24
To: Fox Mulder Required field containing the recipient SIP URL. May <sip:[email protected]> To: sip:[email protected]; contain a display name. tag=314 t: sip:[email protected]; tag=52 Unsupported: tcap.telephony Lists features not supported by server. Via: SIP/2.0/UDP sip.mfs.com Via: SIP/2.0/TCP uunet.com v: SIP/2.0/UDP 192.168.1.1 Contains a code and text to Warning: 331 Unicast not available warn about a problem Used to show the path taken by the request.
25
Request initiator puts address in Via header Servers check Via with senders 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
Firewall Problem
ensures Firewall proxy stays in path Clients and Servers copy Record-Route and put in Route header for all messages
27
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:
28
SDP Examples
SDP Example 1
v=0 o=ajohnston +1-613-555-1212 IN IP4 host.wcom.com s=Let's Talk Field t=0 0 Version c=IN IP4 101.64.4.1 m=audio 49170 RTP/AVP 0 3
Origin
Descripton v=0 o=<username> <session id> <version> <network type> <address type> <address> s=<session name> t=<start time> <stop time> c=<network type> <address type> <connection address> m=<media> <port> <transport> <media format list>
SDP Example 2
v=0 o=picard 124333 67895 IN IP4 uunet.com s=Engage! t=0 0 c=IN IP4 101.234.2.1 m=audio 3456 RTP/AVP 0
29
30
end to end encryption hop by hop encryption Responds to INVITEs with 407 ProxyAuthentication Required Client re-INVITEs with Proxy-Authorization header. Responds to INVITEs with 401 Unathorized Client re-INVITEs with Authorization header
31
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
Foreign Network 7
Home Network
6 Global: Wire and wireless No tunneling required No change to routing For fast hand-offs use: Use Cellular IP or Use DRCP
36
1 INVITE
Corresponding Host
3, 4 INVITE
5, 6 OK 7 Data
Mid-call mobility
MH can find SIP server via multicast REGISTER MH acquires IP address via DHCP MH updates home SIP server
MH->CH: New INVITE with Contact and updated SDP Re-registers with home registrar
Mobile IP Communications
Mobile IP Requirements Transparency above L2: Evolution of Wireless Mobility
Mobility
LAN-MAN:
Cellular IP
38
http://www.ietf.org/internet-drafts/draft-ietf-impp-model-03.txt
39
Choice of server
IP appliance Implementations
3Com (2)
Cisco
Columbia University
Mediatrix (1)
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
Book on Internetworking Multimedia by Jon Crowcroft, Mark Handley, Ian Wakeman, UCL Press, 1999 by Morgan Kaufman (USA) and Taylor Francis (UK) RFC 2543: SIP: Session Initiation Protocol ftp://ftp.isi.edu/in-notes/rfc2543.txt
Audio/Video Transport (avt) - RTP Differentiated Services (diffserv) QoS in backbone IP Telephony (iptel) CPL, GW location, TRIP Integrated Services (intserv) end-to-end QoS Media Gateway Control (megaco) IP telephony gateways Multiparty Multimedia Session Control (mmusic) SIP, SDP, conferencing PSTN and Internet Internetworking (pint) mixt services Resource Reservation Setup Protocol (rsvp) Service in the PSTN/IN Requesting InTernet Service (spirits) Session Initiation Protocol (sip) signaling for call setup Signaling Transport (sigtran) PSTN signaling over IP Telephone Number Mapping (enum) surprises ! Instant Messaging and Presence Protocol (impp)
This large work effort may cause the complete re-engineering of communication systems and services
43