AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP...

39
AG Projects SIP e SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP

Transcript of AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP...

Page 1: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

PRESENCE AND IM USING SIP

SIP beyond VoIP

Page 2: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

“Presence, the dial tone of the 21-st century”Henry Sinnreich, “The Godfather” of SIP

Page 3: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

3

ADRIAN GEORGESCU

Founder and CEO of AG ProjectsCo-chair of ISOC SIP WG in the NetherlandsManagement board member of OpenSIPS Software Foundation

Page 4: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

4

AG PROJECTS CORE BUSINESS

Delivery and Support of Scalable Turnkey SIP InfrastructuresSince 2002

Page 5: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

5

PROJECTS WE ARE INVOLVED WITH

OpenSIPSOpenXCAPMSRP RelayCDRToolMediaProxySIP SIMPLE client SDKBlink

Page 6: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

6

WHY THIS IS RELEVANT

All successful rich communications clients to date implement IM and Presence as a main built-in feature even if VoIP is the money generating service.

When all money has been made from proprietary solutions for real-time communications, a global solution based on universally accepted standards will emerge to absorb the demand for Presence and IM

Page 7: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

7

IETF

The standards for real-time communications are being forged by Internet Engineering Task Force

Page 8: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

8

IETF SIP SIMPLE WORKING GROUP

SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) IETF WG produces interoperable standards for SIP, Instant Messaging and Presence

Page 9: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

9

SIP SIMPLE STANDARDS

MSRP Protocol and its Relay extensionSUBSCRIBE, NOTIFY and PUBLISH SIP methodsXCAP Protocol for storage of end-user documents

Page 10: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

10

MSRP PROTOCOL

Message Session Relay Protocol (MSRP) is a protocol for transmitting a series of related instant messages in the context of a session. Message sessions are treated like any other media stream when set up via a rendezvous or session creation protocol such as the Session Initiation Protocol (SIP). MSRP Sessions are defined in RFC 4975 and RFC 4976.

Page 11: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

11

MSRP PROPERTIES

Is reliable by using TCP transport and secure by using TLSEnd-to-end delivery confirmation for each messageWorks sequential, suitable for chat sessionsNo limit for data size, allows chunkingBuilt-in NAT traversal capability

Page 12: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

12

SESSION DESCRIPTION FOR INSTANT MESSAGING

Content-Type: application/sdpContent-Length: 303

v=0o=- 3492769359 3492769359 IN IP4 192.168.1.6s=Blink 0.19.9 (MacOSX)c=IN IP4 192.168.1.6t=0 0m=message 2855 TCP/TLS/MSRP *a=path:msrps://192.168.1.6:2855/b2d10bb428210c0ec686;tcpa=accept-types:message/cpim text/* application/im-iscomposing+xmla=accept-wrapped-types:*a=setup:active

Page 13: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

SESSION DESCRIPTION FOR FILE TRANSFER

Content-Type: application/sdpContent-Length: 408

v=0o=- 3492769611 3492769611 IN IP4 192.168.1.6s=Blink 0.19.9 (MacOSX)c=IN IP4 192.168.1.6t=0 0m=message 2855 TCP/TLS/MSRP *a=path:msrps://192.168.1.6:2855/b0bd19070755245df628;tcpa=sendonlya=accept-types:*a=accept-wrapped-types:*a=setup:activea=file-selector:name:"About Stacks.pdf" type:com.adobe.pdf size:466028 hash:sha1:83:D4:BB:70:67:FE:D7:04:89:99:2F:14:40:F3:40:46:93:88:0B:33

Page 14: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

14

MSRP METHODS

AUTH – To reserve a session in a MSRP relaySEND – To send messages (or chunks of them)REPORT – For end-to-end delivery confirmation

Page 15: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

MSRP AUTH METHOD

SENDING:2010-09-07 10:18:03.789769: 192.168.1.6:65310 --> 81.23.228.146:2855MSRP cecb7a09dd77a505 AUTHTo-Path: msrps://ag-projects.com;tcpFrom-Path: msrps://192.168.1.6:65310/60089caac481a5898a73;tcpAuthorization: Digest username="31208005169", nonce="KDiJ6dUltB241YpjU1XEKTEyODM4NDc0ODMuNTg3OjgwLjEwMS45Ni4yMA==", realm="ag-projects.com", qop="auth", cnonce="5546b6f72043768381e0f9c2af95ba2a", nc="00000001", opaque="c1e58368ebe508df8d84b94e71f9b8de", response="79546d58ae501c977c5f4ce74bb4fdfc"

-------cecb7a09dd77a505$

RECEIVED:2010-09-07 10:18:04.007928: 192.168.1.6:65310 <-- 81.23.228.146:2855MSRP cecb7a09dd77a505 200 OKTo-Path: msrps://192.168.1.6:65310/60089caac481a5898a73;tcpFrom-Path: msrps://ag-projects.com;tcpAuthentication-Info: cnonce="5546b6f72043768381e0f9c2af95ba2a", nc=00000001, rspauth="d96211e21bbe0d489c3e3a1c215794f3", qop=authUse-Path: msrps://node03.dns-hosting.info:2855/KDiJ6dUltB241YpjU1XEKTEyODM4NDc0ODMuNTg3OjgwLjEwMS45Ni4yMA==;tcpExpires: 600

-------cecb7a09dd77a505$

Page 16: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

MSRP SEND METHOD

RECEIVED:2010-09-07 10:18:05.902297: 192.168.1.6:65310 <-- 81.23.228.146:2855MSRP OC26za431IPezi3SfKpgNIpt SENDTo-Path: msrps://192.168.1.6:65310/60089caac481a5898a73;tcp://node03.dns-hosting.info:2855/KDiJ6dUltB241YpjU1XEKTEyODM4NDc0ODMuNTg3OjgwLjEwMS45Ni4yMA==;tcp msrps://81.23.228.139:2856/a80a757b57acee5bcd69;tcpByte-Range: 1-240/240Message-ID: 837fda182d73143eContent-Type: message/cpim

To: Adrian Georgescu [email protected]: [email protected]: 2010-09-07T08:18:05.413052Content-Type: text/plain

Welcome to the room, Adrian Georgescu. You are the only participant in the room

-------OC26za431IPezi3SfKpgNIpt$

SENDING:2010-09-07 10:18:05.904703: 192.168.1.6:65310 --> 81.23.228.146:2855MSRP OC26za431IPezi3SfKpgNIpt 200 OKTo-Path: msrps://node03.dns-hosting.info:2855/KDiJ6dUltB241YpjU1XEKTEyODM4NDc0ODMuNTg3OjgwLjEwMS45Ni4yMA==;tcpFrom-Path: msrps://192.168.1.6:65310/60089caac481a5898a73;tcp

-------OC26za431IPezi3SfKpgNIpt$

Page 17: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

17

IM ARCHITECTURE

SIP Client that implements MSRP protocolSIP Server, a standard SIP ProxyMSRP Relay for NAT traversal

Page 18: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

18

IM ArchitectureA standard SIP Proxy is used in combination with a MSRP Relay. The receiving end-point reserves a TCP port on the publicly reachable relay and offers it in its 200 OK answer to the calling end-point.

Page 19: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

19

XCAP PROTOCOL

XCAP protocol (RFC 4825) allows a client to read, write, and modify application configuration data stored in XML format on a server by using HTTP protocol. An XCAP server is used to store data like buddy lists and presence policy in combination with a SIP Presence server to provide a complete SIP SIMPLE server solution.

Page 20: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

20

XCAP DOCUMENTS

Presence Rules – stores policy shared with the Presence AgentResource Lists – stores contact names and SIP addressesRLS Services – stores contacts to which server can subscribeIcon – stores user photo and makes it available for subscribersPIDF Manipulation – stores presence information when off-line

Page 21: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

21

XCAP DOCUMENTS USAGE

Correlating buddy lists with policy information is tough enoughGetting it right is the most complex part building a SIP clientOMA has defined how XCAP is used for Presence (yet more convoluted)Implementation complexity an order of magnitude higher than a VoIP call

Page 22: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

22

SIP METHODS

PUBLISH – SIP Extension for Event state Publication RFC3903SUBSCRIBE/NOTIFY – SIP Event Notification RFC 3265Event packages – Presence, Winfo, Xcap-diff

Page 23: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

23

PUBLISH METHOD

PUBLISH sip:[email protected] SIP/2.0From: "Adrian Georgescu" <sip:[email protected]>;tag=n0Raw3qnutevy50ST68jskiQlFUH9tjRTo: "Adrian Georgescu" <sip:[email protected]>Call-ID: CXP.qcaQG.LYO1bY0gN-JH1u4hEBuy49Event: presenceExpires: 600Content-Type: application/pidf+xmlUser-Agent: Blink 0.20.0 (MacOSX)Content-Length: 745<?xml version='1.0' encoding='UTF-8'?><presence xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model” entity="[email protected]"> <tuple id="lkqpmdpo"> <status> <basic>closed</basic> </status> <contact priority="0.0">sip:[email protected]</contact> <timestamp>2010-09-09T11:52:28+02:00</timestamp> </tuple> <dm:person id="exnktxob"><dm:timestamp>2010-09-09T11:52:07+02:00</dm:timestamp> </dm:person> <dm:device id="erquznkp"> <dm:note xml:lang="en">Powered by Blink 0.20.0 (MacOSX)</dm:note></dm:device></presence>

Page 24: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

24

SUBSCRIBE METHOD

SUBSCRIBE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 192.168.1.6:60131;rport;branch=z9hG4bKPjzeIfWP8Qwt7cexqnCTioMIif.PM3ZvmlFrom: "Adrian Georgescu" <sip:[email protected]>;tag=XZCBBfCUGLzVyQxyT4kbb8ToymHlXDFmTo: <sip:[email protected]>Contact: <sip:[email protected]:60131>Call-ID: nfJWHU.kiCqywvL6Qr5oWcFukyTgQ4CxCSeq: 11717 SUBSCRIBEEvent: presenceExpires: 600Accept: application/pidf+xmlUser-Agent: Blink 0.20.0 (MacOSX)Content-Length: 0

Page 25: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

25

NOTIFY METHOD

NOTIFY sip:[email protected]:64137 SIP/2.0Record-Route: <sip:81.23.228.129;lr;ftag=10.11250.1284027705.1140>To: <sip:[email protected]>;tag=w.dx-9ELRfE366bsqHmI.FpU4TbcTxvVFrom: <sip:[email protected]>;tag=10.11250.1284027705.1140CSeq: 1 NOTIFYCall-ID: Vb5aZkC5K5G3nQUZZJLQQd.19NXrnQgdContent-Length: 1288User-Agent: OpenSIPS (1.4.5-tls (i386/linux))Event: presenceContact: <sip:[email protected]>Subscription-State: active;expires=600Content-Type: application/pidf+xml<?xml version="1.0" encoding="UTF-8"?><entity="[email protected]">…</presence>

Page 26: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

26

PRESENCE ARCHITECTURE

SIP Client that implements Presence methods and XCAPSIP Server that implements a Presence AgentXCAP Server for document storage (policy and buddy lists)

Page 27: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

27

Presence ArchitectureA Presence Agent together with an XCAP server aggregates the presence information for all SIP devices that belong to a certain SIP address and allows subscriptions to this information based on end-user policy.

Page 28: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

28

Presence AggregationMultiple devices can publish partial presence document aggregated by the Presence Agent

Page 29: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

29

Watcher Info EventWatcher info event is used for monitoring external parties that subscribed to our own presence. Based on this list we can build a policy that is uploaded into the Presence Agent using XCAP protocol.

Page 30: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

30

RLS Services extension to Presence EventSubscription to RLS services lowers the SIP traffic on the last mile. The SIP client subscribes to only one SIP URI that is expanded by the RLS server into a list. The server sends back consolidated NOTIFY messages.

Page 31: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

31

XCAP Diff EventMultiple clients can automatically synchronize their buddy lists and presence policy by subscribing to this Event. When an XCAP document is changed by one device, the others get notified and can fetch it again.

Page 32: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

32

SUBSCRIBE FOR XCAP-DIFF

SUBSCRIBE sip:[email protected] SIP/2.0.From: "saghul" <sip:[email protected]>;tag=h6tFH0DxVSRkiHqCUUPpOe2aATsVqX7e.To: "saghul" <sip:[email protected]>;tag=10.7209.1285498978.2.Contact: <sip:abejidnv%[email protected]:53806>.Call-ID: wnIA-6Qe1hiB3cxUN06JzxQRKjUe3UCT.CSeq: 9073 SUBSCRIBE.Event: xcap-diff.User-Agent: Blink 0.1.4 (Linux).Content-Type: application/resource-lists+xml.Content-Length: 615.

<?xml version='1.0' encoding='UTF-8'?><rl:resource-lists xmlns:rl="urn:ietf:params:xml:ns:resource-lists" xmlns:agp-rl="urn:ag-projects:xml:ns:resource-lists"><rl:list><rl:entry uri="org.openxcap.dialog-rules/users/sip%3Asaghul_test%40sip2sip.info/index"/><rl:entry uri="pidf-manipulation/users/sip%3Asaghul_test%40sip2sip.info/index"/><rl:entry uri="org.openmobilealliance.pres-rules/users/sip%3Asaghul_test%40sip2sip.info/index"/><rl:entry uri="resource-lists/users/sip%3Asaghul_test%40sip2sip.info/index"/><rl:entry uri="rls-services/users/sip%3Asaghul_test%40sip2sip.info/index"/></rl:list></rl:resource-lists>

Page 33: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

33

AVAILABLE SIP SIMPLE SOFTWARE

OpenSIPS – SIP Presence AgentOpenXCAP – XCAP Policy ServerMSRP Relay – NAT Traversal for IM and File Transfer based on MSRPSIP SIMPLE client SDK – Client SDK for all the aboveBlink – A GUI client built on top of SIP SIMPLE client SDK

Page 34: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

34

OPENSIPS

The Presence Agent is the most important architectural componentOriginally developed in OpenSER, now present in all SER variantsSoftware currently developed and supported by Voice System S.R.L.Home site: http://opensips.org

Page 35: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

35

OPENXCAP

XCAP server integrated with OpenSIPS Presence AgentDeveloped and supported by AG Projectshttp://openxcap.org

Page 36: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

36

MSRP RELAY

NAT Traversal solution integrated with OpenSIPSDeveloped and supported by AG Projectshttp://msrprelay.org

Page 37: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

37

SIP SIMPLE CLIENT SDK

SIP SIMPLE client SDK is a Software Development Kit for development of Real Time Applications based on SIP and related protocols for media transport like Presence, Audio and Instant Messaging (IM). Other media types can be easily added by using an extensible high-level API.

Developed and supported by AG Projectshttp://sipsimpleclient.com

Page 38: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

38

SIP SIMPLE CLIENT SDK - CLI

sip-subscribe-presencesip-subscribe-rlssip-subscribe-xcap-diffsip-subscribe-winfosip-publish-presencexcap-pres-rulesxcap-rls-services

Page 39: AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP beyond VoIP.

AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts

39

BLINK

A state of the art, easy to use SIP client built on top ofSIP SIMPLE client SDK. Currently available for Mac, Linux and Windows.

Developed and supported by AG Projectshttp://icanblink.com