sip for instant messaging and presence leveraging extensions (simple) reporter : allen

Post on 22-Dec-2015

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 ModelPresence Service(1)

Presence Service

PRESENTITY WATCHER

WATCHER

SUBSCRIBERFETCHER

POLLER

FETCHERSimply requests the current value of some PRESENTITY’s presence information from the presence service

POLLERA special kind of FETCHER is one that fetches information on a regular basis

SUBSCRIBRRequests notification from the presence service of change in some PRESENTITY’s presence information

IMPP ModelPresence Service(3)

Presentity

Presentity UA

Watcher

• Subscriber• Fetcher

Presence Service

Principal

Presence Protocol

IMPP ModelPresence Service(4)

PRESENTITY

PRESENTITY UA

Presence Service

Presence Protocol

PrincipalPrincipal

WATCHER

WATCHER UA

IMPP ModelInstant 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 ModelInstant Messaging(2)

Sender

Sender UA

Instant Inbox

Instant Messaging Service

Principal

Instant MessagingProtocol

IMPP ModelInstant Messaging(3)

Sender

Sender UA

Instant Inbox

Instant Messaging Service

Principal

Instant MessagingProtocol

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:resource@example.com SIP/2.0

Via: SIP/2.0/TCP watcherhost.example.com;branch=z9hG4bKnashds7

To: <sip:resource@example.com>

From: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@watcherhost.example.com

CSeq: 17766 SUBSCRIBE

Max-Forwards: 70

Event: presence

Accept: application/cpim-pidf+xml

Contact: <sip:user@watcherhost.example.com>

Expires: 600

Content-Length: 0

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: <sip:resource@example.com>;tag=ffd2

From: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@watcherhost.example.com

CSeq: 17766 SUBSCRIBE

SIP for presence: notification (1)

NOTIFY sip:user@watcherhost.example.com SIP/2.0

Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk

From: <sip:resource@example.com>;tag=ffd2

To: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@watcherhost.example.com

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: <sip:resource@example.com>;tag=ffd2

To: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@watcherhost.example.com

CSeq: 8775 NOTIFY

Content-Length: 0

Example: SIP for presenceTime

SIP clientofsubscriber

SIPfront-end(PA)

Clientback-end

NOTIFY

Auth ?

Ok

I’m online

200 OK

SUBSCRIBE

200 OK

I’m awayNOTIFY

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:" entity=“pres:hubert@example.com"> <tuple id=“im"> <status> <basic>open</basic> </status> <contact priority="2"> im:hubert@example.com </contact> </tuple> </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 messagingMESSAGE sip:user@inbox.example.com SIP/2.0

Via: SIP/2.0/TCP server.example.com;branch=z9hG4bKnk

From: <sip:resource@example.com>;tag=ffd2

To: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@sender.example.com

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: <sip:resource@example.com>;tag=ffd2

To: <sip:user@example.com>;tag=xfg9

Call-ID: 2010@sender.example.com

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?

Q & A

top related