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 ”
IMPP Model Presence Service(1) Presence Service PRESENTITY WATCHER SUBSCRIBER FETCHER POLLER 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
IMPP Model Presence Service(3) Presentity Presentity UA Watcher Subscriber Fetcher Presence Service Principal Presence Protocol
IMPP Model Presence Service(4) PRESENTITY PRESENTITY UA Presence Service Presence Protocol Principal WATCHER WATCHER UA
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) Sender Sender UA Instant Inbox Instant Messaging Service Principal Instant Messaging Protocol
IMPP Model Instant Messaging(3) Sender Sender UA Instant Inbox Instant Messaging Service Principal Instant Messaging Protocol Inbox UA 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 to get further notifications
SIP for presence Workflow WATCHER SERVER PUA SUBSCRIBE 200 OK NOTIFY 200 OK UPDATE PRESENCE NOTIFY 200 OK
SIP for presence: subscription (1) SUBSCRIBE SIP/2.0 Via: SIP/2.0/TCP watcherhost.example.com;branch=z9hG4bKnashds7 To: From: ;tag=xfg9 Call-ID: CSeq: SUBSCRIBE Max-Forwards: 70 Event: presence Accept: application/cpim-pidf+xml Contact: Expires: 600 Content-Length: 0
SIP for presence: subscription (2) SIP/ OK Via: SIP/2.0/TCP watcherhost.example.com;branch=z9hG4bKnashds7;received= To: ;tag=ffd2 From: ;tag=xfg9 Call-ID: CSeq: SUBSCRIBE
SIP for presence: notification (1) NOTIFY SIP/2.0 Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From: ;tag=ffd2 To: ;tag=xfg9 Call-ID: 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/ OK Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk;received= From: ;tag=ffd2 To: ;tag=xfg9 Call-ID: CSeq: 8775 NOTIFY Content-Length: 0
Example: SIP for presence Time SIP client of subscriber SIP front- end (PA) Client back-end NOTIFY Auth ? Ok I’m online 200 OK SUBSCRIBE 200 OK I’m away NOTIFY 200 OK
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 <presence xmlns="urn:ietf:params:cpimpresence:" open
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/2.0 Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From: ;tag=ffd2 To: ;tag=xfg9 Call-ID: Max-Forwards: 70 CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18 Watson, come here. SIP/ Accepted Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk From: ;tag=ffd2 To: ;tag=xfg9 Call-ID: Max-Forwards: 70 CSeq: 1 MESSAGE Content-Length: 0
Conclusion Who Will Win (XMPP and SIMPLE)? SIP security more difficult than or web Try to re-use existing mechanisms: IPsec and TLS Digest authentication S/MIME for end-to-end HTTP EAP?
Q & A