in Leipzig, Germany ¡ In Slovakia since 2006 ¡ Working for Slovak Telekom since 2007 ¡ Post-grad studies at Slovak University of Technology since 2007 ¡ Worked extensively with SIP/XMPP based presence and their possible integration
the presentation of Remko Tronçon et. al.: “XMPP 101” ¡ http://el-tramo.be/blog/xmpp-101-fosdem/ ¡ Thank you for making your talk publicly available! ¡ The book “XMPP – The Definitive Guide” is excellent material by the authors of the XMPP standards. ¡ Yes, I bought it myself.
presence and instant messaging ¡ This model defines ¡ Presence service ¡ Instant messaging service ¡ Generic presence data model ¡ Requirements for instant messaging and presence (IMPP) systems are also described
are defined for delivering services ¡ Implementations are done by basic protocol and particular IMPP extension ¡ Base protocol ¡ SIP (RFC 3261) ¡ XMPP Core (RFC 3920) ¡ IMPP extension ¡ SIMPLE (RFC 3265) ¡ XMPP IM (RFC 3921)
has anyone chatted with the following services? ¡ Google ¡ Facebook ¡ Cisco ¡ WhatsApp ¡ identi.ca ¡ Apple ¡ All are based on or use XMPP to some extend* * Some use a modification of the protocol.
¡ Purely XML based protocol (for streaming XML) ¡ Comparison: SIP is based on HTTP ¡ Information is shared using a continuous XML stream transported over TCP ¡ SASL (Simple Authentication and Security Layer) and TLS (Transport Layer Security) used to secure stream ¡ Based on a few RFCs and extended by many XEPs ¡ XMPP Extension Protocol ¡ Comparison: SIP extended only through RFCs
and domain ¡ [email protected] ¡ Full JID includes particular resource ¡ [email protected]/psi ¡ Jabber ID (JID) ¡ user@domain/resource ¡ DNS is used for service discovery ¡ SRV ¡ A
XMPP servers ¡ SRV lookup ¡ A/AAAA lookup ¡ SRV look-up indicates the domain and port the service listens on ¡ _xmpp-server._tcp.gmail.com. 900 IN SRV 5 0 5269 xmpp-server.l.google.com. ¡ _xmpp-client._tcp.gmail.com. 900 IN SRV 5 0 5222 xmpp.l.google.com ¡ A/AAAA to find the IP address of the domain name ¡ xmpp-server.l.google.com. 300 IN A 173.194.70.125
to server (c2s) and server to server (s2s) communications ¡ c2s: Port 5222 ¡ s2s: Port 5269 ¡ Same principle for s2s as for c2s ¡ Discovery ¡ XML streams ¡ No intermediate servers for federation (unlike E-mail) ¡ Similar security mechanisms (SASL, TLS)
session setup, no media transport ¡ Negotiate content ¡ Negotiate protocol (UDP, TCP) ¡ Streaming protocol (e.g. RTP) used to transport media ¡ Similar complexity as in SIP ¡ Different protocol/ports ¡ NAT traversal
¡ An alternative approach to “SIP/SIMPLE vs. XMPP” and “Telco presence” ¡ Start point: current deployments ¡ Telephony: SIP ¡ IM/Presence: XMPP ¡ Requirements ¡ Use standard protocols (to re-use clients) ¡ Customers can keep current accounts in both worlds
to each infrastructure ¡ Enhanced SIP proxy that can extract call state information ¡ SIP call states must be converted to XMPP presence information ¡ XMPP as main IM/P protocol
up ¡ Programming libraries ¡ Clients, server – many open-source ¡ XMPP quite “under the radar” for now ¡ SIP gained a lot of attention w/ IMS, RCS-e, etc. in Telco ¡ Web 2.0 accelerated use of HTTP, esp. REST ¡ XMPP used, but not as “advocated” ¡ The Internet contains extensive material on XMPP ¡ This lecture was only an introduction! ¡ I hope it stimulated some ideas for future projects and helped in understanding communications a bit better.
XMPP: The Definitive Guide. Peter Saint-Andre et.al. 3. XMPP 101. Remko Tronçon http://www.slideshare.net/remko.troncon/xmpp-101 4. Several own publications 5. Graphics from Google Images, Open Clipart If you feel content where you hold the copyright is displayed within these slides and you do not like it, miss a link/reference, or want me to remove it altogether please let me know.