Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Session Initiation Protocol (SIP) Xiaotao Wu and Kundan Singh Columbia University October 24, 2002.

Similar presentations


Presentation on theme: "Introduction to Session Initiation Protocol (SIP) Xiaotao Wu and Kundan Singh Columbia University October 24, 2002."— Presentation transcript:

1 Introduction to Session Initiation Protocol (SIP) Xiaotao Wu and Kundan Singh {xiaotaow,kns10}@cs.columbia.edu Columbia University October 24, 2002

2 Oct 24,2002 Intro to SIP/Columbia Univ2 Agenda What is SIP? Basic call setup IM and presence Conferencing Services Unified messaging PSTN inter-working Columbia test-bed High level idea on how to build a SIP-based infrastructure

3 Oct 24,2002 Intro to SIP/Columbia Univ3 SIP is …, SIP is not … SIP = core protocol for establishing sessions in the Internet (peer-to-peer) Transports session description information from initiator (caller) to callee Allows change of parameters in mid-session Terminate session NOT for distribution of multimedia data NOT suitable for media gateway control

4 Oct 24,2002 Intro to SIP/Columbia Univ4 home.com office.com alice bob m2.home.com Basic call setup E-mail like identifier: Alice’s phone registers with home.com Registrar alice@home.com => alice@m2.home.com REGISTER home.com SIP/2.0 To: sip:alice@home.com Contact: sip:alice@m2.home.com …

5 Oct 24,2002 Intro to SIP/Columbia Univ5 home.com office.com alice bob m2.home.com Basic call setup E-mail like identifier: Alice’s phone registers with home.com Bob dials alice@home.com; Phone does DNS DNS lookup for sip.udp.home.com Resolve to pc4.home.com pc4.home.com

6 Oct 24,2002 Intro to SIP/Columbia Univ6 home.com office.com alice bob m2.home.com Basic call setup E-mail like identifier: Alice’s phone registers with home.com Bob dials alice@home.com; Phone does DNS Phone sends INVITE; acts as UAC pc4.home.com INVITE sip:alice@home.com … To: sip:alice@home.com From: “Bob” … c=IN IP4 128.59.19.60 m=audio 8000 RTP/AVP 0 5 8 User agent client

7 Oct 24,2002 Intro to SIP/Columbia Univ7 home.com office.com alice bob m2.home.com Basic call setup Phone sends INVITE; acts as UAC Server can proxy the call to current location pc4.home.com INVITE sip:alice@m2.home.com … To: sip:alice@home.com From: “Bob” … Proxy

8 Oct 24,2002 Intro to SIP/Columbia Univ8 home.com office.com alice bob m2.home.com Basic call setup Phone sends INVITE; acts as UAC Server can proxy the call to current location Alice’s phone rings; acts as a UAS pc4.home.com SIP/2.0 180 Ringing Proxy User agent server

9 Oct 24,2002 Intro to SIP/Columbia Univ9 home.com office.com alice bob m2.home.com Basic call setup Phone sends INVITE; acts as UAC Server can proxy the call to current location Alice’s phone rings; acts as a UAS When Alice picks up, call is accepted and bob’s phone sends ACK to complete the setup pc4.home.com SIP/2.0 200 OK … c=IN IP4 135.180.144.32 m=audio 9000 RTP/AVP 0 8

10 Oct 24,2002 Intro to SIP/Columbia Univ10 home.com office.com alice bob Basic call setup Encoded audio packets sent over RTP

11 Oct 24,2002 Intro to SIP/Columbia Univ11 home.com office.com alice bob Basic call setup Encoded audio packets sent over RTP When either party hangs up BYE is sent BYE sip:bob@office.com

12 Oct 24,2002 Intro to SIP/Columbia Univ12 Advanced scenario Bob (1) (2) (3) (4) (5) (6) (7) Alice (8) (9) (10) (11) (12) (13)

13 Oct 24,2002 Intro to SIP/Columbia Univ13 Highlights of SIP Addressing Naming sip:president@whitehouse.gov Contacts sip:bob@128.59.19.60:5060 More ;mobility=mobile Robustness Stateless proxy Security (authentication/encryption) Digest, TLS, …

14 Oct 24,2002 Intro to SIP/Columbia Univ14 Advanced services Fits in basic SIP model or defined as extensions presence, instant messaging, caller preference, callee capabilities,... Integration of web, email, IM Programmability of services. SIP-CGI, CPL, SIP-servlet SIP conferencing

15 Oct 24,2002 Intro to SIP/Columbia Univ15 Presence and instant messaging General event notification method for Internet presence, conferencing, device control Presence extensions SUBSCRIBE to request notifications NOTIFY when event occurs Instant messaging MESSAGE with text body

16 Oct 24,2002 Intro to SIP/Columbia Univ16 SIP Conferencing Different conference models (centralized, distributed) Basic task: join/leave conference Dial in, Refer dial in Dial out, Refer dial out REFER INVITE REFER INVITE server

17 Oct 24,2002 Intro to SIP/Columbia Univ17 Conference control Conference control (SIP + SOAP) Access control Pre-authorized to join Consult a user with appropriate privileges to join Different privileges (chair, floor chair) Floor control safe and mutually exclusive access to shared resource audio channel (right to talk; typically, one) video (limited by bandwidth, screen) pointer and input focus for whiteboard and shared applications (one, but also multiple pointers)

18 Oct 24,2002 Intro to SIP/Columbia Univ18 Conference state notification SUBSCRIBE to conference, receive NOTIFY State Participant : active, departed, booted, failed dialog state, floor state Media sending: received-by-all, muted receiving: receiving-all, anchor-only active departed

19 Oct 24,2002 Intro to SIP/Columbia Univ19 SIP Services Common gateway interface (CGI) Call processing language (CPL) SIP servlet Make call when boss is online … Enter your authentication PIN for billing… B2BUA Double ringing sound when boss calls… Endpoint Forward to office phone during day, and home phone during evening… Proxy/registrar Endpoint Endpoint service markup language (ESML) Use finger for locating user…

20 Oct 24,2002 Intro to SIP/Columbia Univ20 Endpoint call control Today’s endpoint Processing ability Graphical rendering Storage capacity SIP promotes end system services Two SIP UAs can talk to each other directly. Service-related information is explicitly contained in SIP headers. The simplicity of SIP makes it easier for end system to perform services.

21 Oct 24,2002 Intro to SIP/Columbia Univ21 Endpoint Service Markup Language (ESML) Language for endpoint service creation Direct user interaction, direct media control Handle converged information, e.g., call, presence, email Example: when buddy is online, make a call <esml name="online_call" require="generic presence ui"> <alert sound=“ring.au" text="Calling …" />

22 Oct 24,2002 Intro to SIP/Columbia Univ22 SIP CGI Programming language independent Maintains state via an opaque token For SIP proxies and endpoints: call routing controlling forking call rejection call modification (Priority, Call-Info) RFC 3050 Priority.pl SIP_FROM SIP_TO stdin CGI-PROXY-REQUEST stdout

23 Oct 24,2002 Intro to SIP/Columbia Univ23 SIP CGI contd. Block *@anonymous.com: if (defined $ENV{SIP_FROM} && $ENV{SIP_FROM} =~ "sip:*@anonymous.com") { print "SIP/2.0 600 I can't talk right now\n\n"; } Make calls from boss as urgent: if (defined $ENV{SIP_FROM} && $ENV{SIP_FROM} =~ /sip:boss@mycompany.com/) { foreach $reg (get_regs()) { print "CGI-PROXY-REQUEST $reg SIP/2.0\n"; print "Priority: urgent\n\n"; }

24 Oct 24,2002 Intro to SIP/Columbia Univ24 CPL XML-based; interpreted Control Restricted to branching and subroutines no variables, no loops structured tree describing actions performed on call setup event Event incoming and outgoing events Switch address, language, time, priority Action Proxy, redirect, reject (busy) Graphical tools Protocol-independent SIP, H.323 Extensions CPL for presence Logging Email Call not match match actions

25 Oct 24,2002 Intro to SIP/Columbia Univ25 CPL contd. <time dtstart="20020830T140000Z" dtend="20020830T150000Z">

26 Oct 24,2002 Intro to SIP/Columbia Univ26 SIP servlet Java-based Runs in SIP server Receives SIP objects and processes them public class RejectServlet extends SipServletAdapter { public boolean doInvite(SipRequest req) { SipResponse res = req.createResponse(); res.setStatus(603); res.send(); return true; }

27 Oct 24,2002 Intro to SIP/Columbia Univ27 Unified messaging Answering machine and voice mail Centralized vs. distributed Existing protocols RTSP, SIP, E-mail Integration with other services E-mail, web, video, fax, instant messaging and presence

28 Oct 24,2002 Intro to SIP/Columbia Univ28 Voicemail Design alternatives: Your phone redirects the call to voice mail after 10 seconds The SIP proxy is configured to forward the call to voicemail if busy or no response Voice mail server pretends as another phone but delays the “pick up” by 10 seconds Advanced: Integration with E-mail, VPIM Multimedia mail Issues Call reclaiming Retrieval and deletion: Web interface, media server (rtsp://…), SIP (sip:…), PSTN (press 1 to listen…)

29 Oct 24,2002 Intro to SIP/Columbia Univ29 VoiceXML End user PSTN Voice gateway Web server Service logic (CGI, servlet, JSP) Voice and telephony functions VoiceXML browser End user VXML HTML Internet IVR platform Voice and telephony functions (ASR, TTS, DTMF) Service logic (application specific) SipVXML Gateway

30 Oct 24,2002 Intro to SIP/Columbia Univ30 VoiceXML contd. Enter your Id: Your ID, please. Telephony, speech synthesis or audio output, user input and grammar, program flow, variable and properties, error handling, …

31 Oct 24,2002 Intro to SIP/Columbia Univ31 VoiceXML contd. Unified messaging access Email by phone Event notification and scheduling Audio volume control for conference Advanced conference control

32 Oct 24,2002 Intro to SIP/Columbia Univ32 PSTN interworking Translating audio (PCMU/PCMA) Translating signaling (PRI/T1,ISUP) Overlap signaling Advanced features in SIP are lost in PSTN Translating identifiers (phone number) Determining transition points Telephone network SIP/PSTN gateway SIP serverIP endpoint Telephone subscriber +1 212 9397063 sip:bob@home.com

33 Oct 24,2002 Intro to SIP/Columbia Univ33 PSTN to IP Gateway knows the SIP server ENUM DNS +1 212 9397042 => 2.4.0.7.9.3.9.2.1.2.1.e164.arpa => sip:hgs@cs.columbia.edu Suitable for relatively “static” contacts

34 Oct 24,2002 Intro to SIP/Columbia Univ34 IP to PSTN Static mapping 1-212-939xxxx => @itgw1.cs.columbia.edu ITGW information is dynamic: Overlapping networks Multiple providers Load balancing TRIP Route advertisement Can be implemented in outbound proxy Suitable for current hierarchical network +1 @service.mci.com at 4¢/min +1212 @nyc.gw.com at 1¢/min +1212939 @itgw1.columbia.edu free

35 Oct 24,2002 Intro to SIP/Columbia Univ35 Columbia SIP servers (CINEMA) Internal Telephone Extn: 7040 SIP/PSTN Gateway Department PBX Web based configuration Web server Telephone switch SQL database sipd: 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 siph323: SIP-H.323 translator Local/long distance 1-212-5551212

36 Oct 24,2002 Intro to SIP/Columbia Univ36 Columbia SIP user agent (sipc) Media Audio, video, text, white board Screen sharing Shared web browsing Advanced Presence, instant messaging Programmable call handling Conference control Emergency notification and handling Device control

37 Oct 24,2002 Intro to SIP/Columbia Univ37 SIP beyond telephony DO sip:lamp@cs.columbia.edu SIP/2.0 ….. turn lamp on serial port lamp X10 device

38 Oct 24,2002 Intro to SIP/Columbia Univ38 Summary SIP based IP telephony infrastructure Basic call Registration Addressing Proxy Advanced services Instant messaging Presence Conferencing Programmability Voice/video mail Interactive voice response PSTN interworking SIP: http://www.cs.columbia.edu/sip Servers: http://www.cs.columbia.edu/IRT/cinema Client: http://www.cs.columbia.edu/IRT/sipc


Download ppt "Introduction to Session Initiation Protocol (SIP) Xiaotao Wu and Kundan Singh Columbia University October 24, 2002."

Similar presentations


Ads by Google