Transcript SIP for Instant Messaging and Presence Leveraging
SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)
Reporter : Allen
Outline
Introduction IMPP Model SIP for presence SIP for instant messaging Conclusion
Introduction
WHAT IS PRESENCE?
Also known as presence information, conveys the ability and willingness of a user to communicate across a set of devices WHAT IS Instant Message?
“ Real-time email ”
IMPP Model Presence Service(1) Presence Service FETCHER Simply requests the current value of some PRESENTITY’s presence information from the presence service POLLER A special kind of FETCHER is one that fetches information on a regular basis SUBSCRIBR Requests notification from the presence service of change in some PRESENTITY’s presence information WATCHER FETCHER POLLER SUBSCRIBER PRESENTITY WATCHER
IMPP Model Presence Service(3) Presence Service Presence Protocol Presentity Presentity UA Watcher • • Subscriber Fetcher Principal
IMPP Model Presence Service(4) Presence Service Presence Protocol PRESENTITY PRESENTITY UA WATCHER WATCHER UA Principal Principal
IMPP Model Instant Messaging(1) Sender provides instant messages to Instant Messaging Service Instant Inbox receives instant messages from Instant Messaging Service Instant Messaging Service Sender Instant Inbox
IMPP Model Instant Messaging(2) Instant Messaging Service Sender Instant Messaging Protocol Instant Inbox Sender UA Principal
IMPP Model Instant Messaging(3) Instant Messaging Service Sender Instant Messaging Protocol Instant Inbox Sender UA Inbox UA Principal Principal
SIP for presence(1)
two new methods:
SUBSCRIBE
,
NOTIFY
Presence Agent
(PA) accepts subscriptions for presence notifications and sends these on state changes PA mostly co-located with SIP User Agent But can also be with SIP registrar or separate PA receives SUBSCRIBE request and gets authorization from target if authorized, a positive response gets back (i.e. 200 OK ) target changes state PA sends changed state as presence information (in body) via NOTIFY request to subscribers
SIP for presence(2)
subscription to a PA (Presentity) expires as indicated by the
Expires
: header subscriber has to
re SUBSCRIBE
notifications to get further
WATCHER SIP for presence Workflow SERVER SUBSCRIBE 200 OK NOTIFY 200 OK UPDATE PRESENCE PUA NOTIFY 200 OK
SIP for presence: subscription (1) SUBSCRIBE sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP watcherhost.example.com;branch=z9hG4bKnashds7 To:
CSeq: 17766 SUBSCRIBE Max-Forwards: 70 Event: presence Accept: application/cpim-pidf+xml Contact:
SIP for presence: subscription (2) SIP/2.0 200 OK Via: SIP/2.0/TCP watcherhost.example.com;branch=z9hG4bKnashds7;received=192.0.
2.1
To:
CSeq: 17766 SUBSCRIBE
SIP for presence: notification (1) NOTIFY sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From:
Event: presence Subscription-State: active;expires=599 Max-Forwards: 70 CSeq: 8775 NOTIFY Contact: sip:server.example.com
Content-Type: application/cpim-pidf+xml Content-Length: ..
[PIDF Document]
SIP for presence: notification (2) SIP/2.0 200 OK Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk;received=192.0.2.2
From:
CSeq: 8775 NOTIFY Content-Length: 0
Example: SIP for presence
Time SIP client of subscriber SUBSCRIBE 200 OK NOTIFY 200 OK NOTIFY 200 OK Auth ?
SIP front end (PA) Ok I’m online Client back-end I’m away
IMPP interworking : XML data formats IMPP and SIMPLE working group have defined protocol-neutral data formats in XML for presence information (PIDF) watcher information buddy lists configuration (XCAP)
Example: PIDF for presence
SIP for instant messaging
new method:
MESSAGE
SIP client (sender) issues MESSAGE request instant message is send in request body reception of instant message is indicated by SIP response subsequent messages can use same Call-ID (for threading) Time MESSAGE 202 Accepted SIP client (sender) SIP client (Instant Inbox)
SIP for instant messaging
MESSAGE sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From:
Max-Forwards: 70 CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18 Watson, come here .
SIP/2.0 202 Accepted Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From:
Max-Forwards: 70 CSeq: 1 MESSAGE Content-Length: 0
Conclusion
Who Will Win (XMPP and SIMPLE)?
SIP security more difficult than email or web Try to re-use existing mechanisms: IPsec and TLS Digest authentication S/MIME for end-to-end HTTP EAP?