AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP...
-
Upload
emily-palmer -
Category
Documents
-
view
223 -
download
1
Transcript of AG Projects SIP SIMPLE IM and Presence The SIP Infrastructure Experts PRESENCE AND IM USING SIP SIP...
AG Projects SIP SIMPLE IM and PresenceThe 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
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
AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts
4
AG PROJECTS CORE BUSINESS
Delivery and Support of Scalable Turnkey SIP InfrastructuresSince 2002
AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts
5
PROJECTS WE ARE INVOLVED WITH
OpenSIPSOpenXCAPMSRP RelayCDRToolMediaProxySIP SIMPLE client SDKBlink
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
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
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
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
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.
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
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
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
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
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$
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$
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
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.
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.
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
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
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
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>
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
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>
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)
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.
AG Projects SIP SIMPLE IM and PresenceThe SIP Infrastructure Experts
28
Presence AggregationMultiple devices can publish partial presence document aggregated by the Presence Agent
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.
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.
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.
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>
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
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
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
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
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
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
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