SIP, Presence and Instant Messaging
Session Initiation Protocol (SIP) Developed in mmusic Group in IETF Proposed standard RFC2543, February 1999 Work began 1995 Part of Internet Multimedia Conferencing Suite Main Functions Invite users to sessions Find the user’s current location, match with their capabilities and preferences in order to deliver invitation Carry opaque session descriptions Modification of sessions Termination of sessions
Protocol Components User Agent User Agent Client (UAC) End systems Send SIP requests User Agent Server (UAS) Listens for call requests Prompts user or executes program to determine response User Agent UAC + UAS Redirect Server “Network” server; redirects users to try other server Proxy Server “Network Server” Proxies request to another server Can “fork” request to multiple servers, creating a search tree Registrar receives registrations regarding current user locations
SIP Architecture Request Response Media SIP Redirect Server 1 2 3 4 5 6 7 8 9 10 11 12 SIP Client SIP Redirect Server SIP Proxy (User Agent Server) Location Service 13 14
SIP Message Syntax Many header fields from http Payload contains a media description SDP - Session Description Protocol INVITE sip:esumner@dynamicsoft.com SIP/2.0 From: J. Rosenberg <sip:jdrosen@dynamicsoft.com> Subject: That pay increase To: Eric Sumner <sip:esumner@dynamicsoft.com> Via: SIP/2.0/UDP pc13.dynamicsoft.com Call-ID: 1997234505.56.78@122.3.44.12 Content-type: application/sdp CSeq: 4711 INVITE Content-Length: 187 v=0 o=jdrosen 53655765 2353687637 IN IP4 122.3.44.12 s= e=jdrosen@dynamicsoft.com c=IN IP4 122.3.44.12 t=0 0 m=audio 3456 RTP/AVP 0
SIP Benefits Integration with IP Applications Scalability MIME URIs DNS Scalability Stateless operation SRV usage Multi-hop networks Session Independence Usable for interactive games, chat, voice, video Recoverability State stored in messages Re-opening of TCP connections Extension Management Adding headers Adding methods Adding bodies Require and Proxy-Require Interoperability New Services! Integration with IM, presence, email, web
What Does Presence Have to Do With SIP? How to Deliver Presence Need a network that can identify users independent of location Need a way to forward subscription requests to server handling that user Need a way for user to tell server its location and other presence data Need a network which can forward notifications to subscribers Needs to scale Needs to deliver messages in real time What Does a SIP Network Do? Identifies users independent of location Forwards requests (INVITE or otherwise) to server handling user REGISTER allows network to tell server its location and other information [later] Can forward messages back to originators in reverse direction Scales Delivers messages in real time (call setup delays)
SIP Already Provides Publication Capability REGISTER is a Publication Message for Locations Allows for SIP and Other URL Types Multiple Entities Can Publish for the Same Address SIP Caller Preferences Extension Allows for Attributes for Locations Mobile, landline Home, business Preferences Audio, video - MIME capability Registrar Registrar
SIP Extension for Presence REGISTER SUBSCRIBE NOTIFY Presence Agent + Proxy/Registrar = Presence Server Proxy Subscriber Presentity New Entity: Presence Agent Purely logical entity Knows presence state of user Receives SUBSCRIBE requests Generates NOTIFY requests Co-located with proxy/registrar or User Agent Basic Operation Subscriber send SUBSCRIBE Routed to PA using normal SIP PA authorizes subscriber Acceptance contains presence state NOTIFY sent when state changes Routed using SIP Record-Route
Features of SIP For Presence Extension End Users Can Perform Notifications Scalability Presence Agent Function Can Migrate Network provides service when user is offline When user is online, subscriptions migrate to user Authorization is orthogonal Multiple Entities Can Generate Presence Information for One Presentity Mobile phone, PDA, laptop and desktop PC Traditional SIP Proxies Route SUBSCRIBE and NOTIFY Presence Data is Orthogonal
SIP Extension for Instant Messaging Operation of Extension Messages carried in SIP messages New method - MESSAGE Routed to recipient using normal SIP techniques Simple extension Features Any MIME data can be sent TCP for large messages Routed by existing proxies and registrars Possible to have a different client for IM and communications
Advantages of Using SIP for Presence and IM Unifies Major Communications Services Voice/video IM Presence Shared Databases Shared Proxies Shared Servers
Advantages of Using SIP For Presence and IM Reduces Management Costs One infrastructure instead of two One NOC instead of two One set of managers instead of two Enables New Combined Services Combined services integrate voice, video, IM, presence, web amd email These new services will be a “killer app” for communications on the Internet Delivery of combined services is greatly simplified by alignment of presence and communication signaling protocols
Information Resource Jonathan Rosenberg +1.973.952.5000 jdrosen@dynamicsoft.com