Presentation is loading. Please wait.

Presentation is loading. Please wait.

SIP Fundimentals IAP 2008 VoIP Series Dennis Baron January 15, 2008.

Similar presentations


Presentation on theme: "SIP Fundimentals IAP 2008 VoIP Series Dennis Baron January 15, 2008."— Presentation transcript:

1 SIP Fundimentals IAP 2008 VoIP Series Dennis Baron January 15, 2008

2 Outline What is SIP SIP system components SIP messages and responses
SIP call flows SDP basics/CODECs IS&T Services Questions and answers

3 What’s SIP IETF Standard defined by RFC 3261
“The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants.” Can be used for voice, video, instant messaging, gaming, etc., etc., etc. Uses URIs for addressing – single communications identity for for instant messaging for voice and video Username replaced by numbers for telephone applications

4 Where’s SIP Application Transport Network Physical/Data Link Ethernet
TCP UDP RTSP SIP SDP codecs RTP DNS(SRV)

5 SIP Components User Agents Server types Gateways
Clients – Make requests Servers – Accept requests Server types Redirect Server Proxy Server Registrar Server Location Server Gateways

6 SIP Trapezoid DNS Server Location Server Terminating User Agent
Outbound Proxy Originating User Agent DNS SIP RTP Registrar Inbound Proxy

7 SIP Triangle ? DNS Server Location Server Terminating User Agent
Originating User Agent DNS SIP RTP Registrar Inbound Proxy

8 Back-to-Back User Agent
SIP Peer to Peer ! Terminating User Agent Originating User Agent SIP RTP Back-to-Back User Agent Terminating User Agent Originating User Agent RTP SIP B2BUA

9 SIP Methods INVITE Requests a session ACK Final response to the INVITE
OPTIONS Ask for server capabilities CANCEL Cancels a pending request BYE Terminates a session REGISTER Sends user’s address to server

10 SIP Responses 1XX Provisional 100 Trying 2XX Successful 200 OK
3XX Redirection 302 Moved Temporarily 4XX Client Error 404 Not Found 5XX Server Error 504 Server Time-out 6XX Global Failure 603 Decline

11 SIP Flows - Basic RTP User A User B INVITE: sip:18.10.0.79
“Calls” 180 - Ringing Rings 200 - OK Answers ACK RTP Talking BYE Hangs up 200 - OK

12 SIP INVITE INVITE joeuser.mit.edu SIP/2.0
From: "Dennis To: sip:joeuser.mit.edu Call-Id: Cseq: 1 INVITE Contact: "Dennis Content-Type: application/sdp Content-Length: 304 Accept-Language: en Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Date: Thu, 30 Sep :28:42 GMT Via: SIP/2.0/UDP

13 Session Description Protocol
IETF RFC 2327 “SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation.” SDP includes: The type of media (video, audio, etc.) The transport protocol (RTP/UDP/IP, H.320, etc.) The format of the media (H.264 video, MPEG video, etc.) Information to receive those media (addresses, ports, formats and so on)

14 SDP v=0 o=Pingtel 5 5 IN IP4 18.10.0.79 s=phone-call
c=IN IP t=0 0 m=audio 8766 RTP/AVP a=rtpmap:96 eg711u/8000/1 a=rtpmap:97 eg711a/8000/1 a=rtpmap:0 pcmu/8000/1 a=rtpmap:8 pcma/8000/1 a=rtpmap:18 g729/8000/1 a=fmtp:18 annexb=no a=rtpmap:98 telephone-event/8000/1

15 CODECs Audio Video G.711 G.729 H.264 H.263 8kHz sampling rate 64kbps
Voice Activity Detection Video H.264 MPEG-4 H.263

16 SIP Flows - Registration
User B MIT.EDU Registrar MIT.EDU Location REGISTER: 401 - Unauthorized REGISTER: (add credentials) Contact 200 - OK

17 SIP REGISTER REGISTER sip:mit.edu SIP/2.0
From: "Dennis To: "Dennis Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 5 REGISTER Contact: "Dennis Expires: 3600 Date: Thu, 30 Sep :46:53 GMT Accept-Language: en Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Content-Length: 0 Via: SIP/2.0/UDP

18 SIP REGISTER – 401 Response
SIP/ Unauthorized From: "Dennis To: "Dennis Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 5 REGISTER Via: SIP/2.0/UDP Www-Authenticate: Digest realm="mit.edu", nonce="f b8ae841b9b0ae8a92dcf0b ", opaque="reg:change4" Date: Thu, 30 Sep :46:56 GMT Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, REGISTER, NOTIFY, SUBSCRIBE, INFO User-Agent: Pingtel/2.2.0 (Linux) Accept-Language: en Supported: sip-cc-01, timer Content-Length: 0

19 SIP REGISTER with Credentials
REGISTER sip:mit.edu SIP/2.0 From: "Dennis To: "Dennis Call-Id: 9ce902bd23b070ae0108b225b94ac7fa Cseq: 6 REGISTER Contact: "Dennis Expires: 3600 Date: Thu, 30 Sep :46:53 GMT Accept-Language: en Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Content-Length: 0 Authorization: DIGEST REALM="mit.edu", NONCE="f b8ae841b9b0ae8a92dcf0b ", URI="sip:mit.edu", RESPONSE="ae064221a50668eaad1ff2741fa8df7d", OPAQUE="reg:change4" Via: SIP/2.0/UDP

20 “Calls” dbaron @MIT.EDU
SIP Flows – Via Proxy User A MIT.EDU Proxy User B INVITE: “Calls” 100 - Trying 180 - Ringing Rings 200 - OK Answers ACK Talking RTP BYE Hangs up 200 - OK

21 “Calls” joeuser @MIT.EDU
SIP Flows – Via Gateway User A MIT.EDU Proxy Gateway 38400 INVITE: “Calls” INVITE: 100 - Trying 180 - Ringing Rings 200 - OK Answers ACK Talking RTP BYE Hangs up 200 - OK

22 SIP INVITE with Record-Route
INVITE SIP/2.0 Record-Route: <sip: :5080;lr;a;t=2c41;s=b07e28aa8f94660e a44b9ed50> From: \"Dennis To: Call-Id: Cseq: 1 INVITE Contact: \"Dennis Content-Type: application/sdp Content-Length: 304 Accept-Language: en Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE Supported: sip-cc, sip-cc-01, timer, replaces User-Agent: Pingtel/ (WinNT) Date: Thu, 30 Sep :44:30 GMT Via: SIP/2.0/UDP :5080;branch=z9hG4bK2cf12c563cec06fd1849ff799d069cc0 Via: SIP/2.0/UDP ;branch=z9hG4bKd26e44dfdc d9d32a143a7f4d8 Via: SIP/2.0/UDP Max-Forwards: 17

23 SIP Standards Just a sampling of IETF standards work…
IETF RFCs RFC3261 Core SIP specification – obsoletes RFC2543 RFC2327 SDP – Session Description Protocol RFC1889 RTP - Real-time Transport Protocol RFC2326 RTSP - Real-Time Streaming Protocol RFC3262 SIP PRACK method – reliability for 1XX messages RFC3263 Locating SIP servers – SRV and NAPTR RFC3264 Offer/answer model for SDP use with SIP

24 SIP Standards (cont.) RFC3265 SIP event notification – SUBSCRIBE and NOTIFY RFC3266 IPv6 support in SDP RFC3311 SIP UPDATE method – eg. changing media RFC3325 Asserted identity in trusted networks RFC3361 Locating outbound SIP proxy with DHCP RFC3428 SIP extensions for Instant Messaging RFC3515 SIP REFER method – eg. call transfer RFC4474 Authenticated Identity Management SIMPLE IM/Presence -

25 IS&T Services MITvoip Desktop VoIP telephones to replace traditional 5ESS telephones New voice mail system Web interface for user control Transition over 2 to 2.5 years Personal SIP accounts Bring your own devices/software Limited support

26 Soft and Hard SIP Clients
“Hard phones” “Soft phones”

27 Asterisk Open source phone system
Runs on Linux, Mac OS X, OpenBSD, FreeBSD and Solaris Supports SIP (and other VoIP protocols) Cisco SCCP, H.323, IAX Highly customizable Hardware telephone interfaces available MIT applications Shuttletrack IVR Media Lab Owl Project SIPB VoIP Scripts?

28 IAP VoIP Series SIP Fundimentals Dennis Baron Tue Jan 15, 01-02:30pm, 4-149 Personal SIP Account Workshop Dennis Baron Tue Jan 22, 01-02:30pm, 4-231 Build, Test, and Deploy VoIP Applications with Asterisk and other Open-Source Applications Elliot Eichen Tue Jan 29, 01-02:30pm, 4-231

29 Questions?

30 Abstract Until the 1990s, if you wanted to make telephone hardware do your bidding you had to do it at the level of signal processing, EE, and physical-layer analog protocols. Now MIT and the rest of the world are switching to Voice- over-IP, based on RFC-documented protocols on the familiar IETF stack, and the opportunity is opening for software hackers to work their magic on the oldest extant medium in telecommunications. A SIPB project in the scripts tradition aiming to provide infrastructure for members of the MIT community to serve up their own innovations, is still in the early stages and welcoming new participants. This cluedump will give a technical grounding in the architecture of the protocols governing voice-over-IP and in their implementation at MIT.

31 Outline What’s changed What is SIP MIT VoIP services
Questions and answers

32 What’s Changed We used to send data over phone calls – remember modems? A number defined who you were – and where you were The Phone Company defined the services – and we used what they wanted to sell us Intelligent networks – dumb phones

33 Why SIP Core protocol used for VoIP Except Skype! Used by
Vonage, AT&T, and other VoIP service providers Free service providers – eg. Free World Dialup Second Life MIT Open peering SIP.edu ISN

34 Personal SIP Accounts in Detail
Uses your MIT SIP communications identity One account per person Allows you to use your own hardware or software for placing and receiving Internet calls Assigns a traditional telephone number for receiving calls Web interface for customizing your account “Experimental” service aimed at early technology adopters Not intended as a replacement for other telephone services IS&T support limited to activating accounts and web page No support at this time for clients

35 Personal SIP Support Model
Self service account activation IS&T Documentation SIP Users at MIT Wiki Your contributions to the wiki are supported and encouraged! SIP Users Forum Not currently active – may replace with newer technology

36 What’s Changed Plenty of bandwidth – broadband to the home
Voice (and video) are just another data stream Everybody can be anywhere – it’s the Internet Get a phone number from anywhere (optional) Anybody can provide services If you don’t like what they’re selling build your own Anything can be an Internet phone Your laptop, your mobile phone, your …


Download ppt "SIP Fundimentals IAP 2008 VoIP Series Dennis Baron January 15, 2008."

Similar presentations


Ads by Google