170 likes | 197 Views
IMPS – Instant Messaging and Presence Using SIP. Steve Donovan Architect. Why Standardize IMPP. Wouldn’t It Be Nice If I Could Send an IM to Users of Joe’s IM Service, Yahoo, MSN, AOL and Every Other IM Service Provider From a Single Client Application?
E N D
IMPS – Instant Messaging and Presence Using SIP Steve Donovan Architect
Why Standardize IMPP • Wouldn’t It Be Nice If I Could Send an IM to Users of Joe’s IM Service, Yahoo, MSN, AOL and Every Other IM Service Provider From a Single Client Application? • Wouldn’t It Be Nice If I Could Put a Single Presence Identity on My Business Card That Would Work for All of My Customers? • Wouldn’t It Be Nice to Have the Same Level of Innovation Using IMPP As We Have With Web Services?
Why SIP for IMPP • Converged Services • Service logic for screening, forwarding and other services apply directly to voice, video, IM and presence. • Existing SIP implementations can easily be extended to support presence and instant messaging. • Reduces Service Provider Operational Overhead Through • Resource sharing • Reduced operational costs • Reduced Equipment costs • Reduced Training costs • Presence is a Natural Extension to SIP Communications • Registration is really publication of presence information • SIP’s location server is the basis of a Presence Server • MIME support means SIP can easily carry presence data and IM text
Presence Clients IMPS Architecture Presence Server (Optional) Proxy Server(s) (Optional) Presence Clients
Aspects of IMPP • Publication • Bob tells his server (service provider) his status • Bob’s service provider can supply Bob’s status even when he is offline • Bob is not online but can be reached at 972-555-1234 • Subscription - “I Want to Know when Bob Is Online” • Authorization - Server asks Bob if I am authorized to know Bob’s status • Notification - Bob is now online • Messaging - “Hi Bob!”
Presence Server Subscription – Server Based Notification Alice wants to know Bob’s status Note: Bob has not yet authorized Alice 2 - Subscribe 3 - 202 Accepted Alice 1 - Subscribe Where’s Bob? 4 - 202 Accepted Proxy Server(s) Subscribe sip:bob@dynamicsoft.com From: sip:alice@alices-place.com To: sip:bob@dynamicsoft.com Contact: sip:alice@alices-place.com
Presence Server Publication – Server Based Notification Bob publishes his status with his presence server 2 - REGISTER 3 - 200 OK Bob Alice 1 - REGISTER 4 - 200 OK Proxy Server(s) REGISTER sip:dynamicsoft.com From: sip:bob@dynamicsoft.com To: sip:bob@dynamicsoft.com Contact: sip:bob@bobs-place.com;method=QAUTH ---- Contact: sip:bob@bob-place.com;method=MESSAGE;description=open “I’m online”
Presence Server Authorization – Server Based Notification The presence server asks Bob if Alice is authorized to see his status. Bob says yes. 1 - QAUTH 4 - 200 OK Bob Alice 2 - QAUTH 3 - 200 OK Proxy Server(s) QAUTH sip:bob@bobs-place.com From: sip:alice@alices-place.com To: sip:bob@bobs-place.com
Presence Server Notification – Server Based Notification The presence server notifies Alice of Bob’s status 1 - NOTIFY 4 - 200 OK Bob Alice 2 - NOTIFY 3 - 200 OK Proxy Server(s) NOTIFY sip:alice@alices-place.com From: sip:bob@dynamicsoft.com To: sip:alice@alices-place.com ----- Contact: sip:bob@bob-place.com;method=MESSAGE;description=open “I’m online”
Presence Server Messaging Bob Alice 1 - Message 2 - Message 4 - 200 OK 3 - 200 OK Proxy Server(s) MESSAGE sip:bob@bobs-place.com From: sip:alice@alices-place.com To: sip:bob@bobs-place.com “Hi Bob!”
IMPS Internet Drafts • SIP Extensions for Presence http://search.ietf.org/internet-drafts/draft-rosenberg-impp-presence-00.txt • SIP Extensions for Instant Messaging http://search.ietf.org/internet-drafts/draft-rosenberg-impp-im-00.txt • SIP Extensions for Presence Authorization http://search.ietf.org/internet-drafts/draft-rosenberg-impp-qauth-00.txt
IMPS Internet Drafts • A Data Format for Presence Using XML http://search.ietf.org/internet-drafts/draft-rosenberg-impp-pidf-00.txt • A Lightweight Presence Information Format (LPIDF) http://search.ietf.org/internet-drafts/draft-rosenberg-impp-lpidf-00.txt • An XML Format for Presence Buddy Lists http://search.ietf.org/internet-drafts/draft-rosenberg-impp-buddylist-00.txt • An XML Format for Watcher Information http://search.ietf.org/internet-drafts/draft-rosenberg-impp-watcherinfo-00.txt
Other Related IETF Documents • A Common Profile for Instant Messaging (CPIM) http://search.ietf.org/internet-drafts/draft-mrose-impp-common-00.txt • A Framework for Moving IMPP Forward http://search.ietf.org/internet-drafts/draft-rosenberg-impp-differences-00.txt • Event Notification in SIP http://search.ietf.org/internet-drafts/draft-roach-sip-subscribe-notify-00.txt • SIP Caller Preferences and Callee Capabilities http://search.ietf.org/internet-drafts/draft-ietf-sip-callerprefs-02.txt
About dynamicsoft • Industry Leader in Internet Voice-IP Infrastructure Software • Leaders of Standards work • Co-Author of Session Initiation Protocol • Chairs, IETF SIP Working Group • Chair, IETF IPTEL Working Group • Contributing authors to many IETF documents for VoIP • SIP Forum Board of Directors • International SoftSwitch Consortium • Software Solutions Include • Embeddable SIP User Agents in Java and C++ • Proxy and Location Servers • Application Server
Next-Generation Services can be Deployed Using dynamicsoft Products • dynamicsoft SIP User Agent The engine of next generation communication appliances and clients • dynamicsoft SIP Proxy Server The intelligent router of next generation communication messages • dynamicsoft SIP Location Server Makes users known to the network and each other • dynamicsoft Application Server The heart of next generation service creation and deployment
Information Resource • Steve Donovan • sdonovan@dynamicsoft.com • +1 972.365.0074