“” How much richer would it be if the network could extract more useful 'state' information about the device and/or user, especially if it is enriched with embedded sensors... "phone on charge", "user is on a Bluetooth headset", "battery low", "at location xyz", "moving in a way that looks like it's on train", "in a darkened room" and so on.... . “”
Dean Bubley 2008
2 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
XMPP - Extensible Real-Time ServicesResearch Seminar for Dept. Communications and Networking (TKK)Matti Vesterinen11.1.2008
Note: Slide notes contain more info!
3 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
agenda
Protocol basics
History, standardisation
& current implementations
Extensible Messaging and Presence Protocol
Near future
Potential
Other protocols
Q&A
4 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
XML stream
<stream>
<presence> <show/> </presence>
<message to='foo'> <body/> </message>
<iq to='bar'> <query/> </iq>
[ ... ]
</stream>
stanza
5 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
open stream
<?xml version='1.0'?> <stream:stream from='[email protected]' to='example.com' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
Client initiates
a stream to server
Server response
<?xml version='1.0'?><stream:stream from='example.com' id='++TR84Sm6A3hnt3Q065SnAbbk3Y=' to='[email protected]' version='1.0' xml:lang='en' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams'>
6 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
[…]
7 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
close stream
</stream:stream> </stream:stream>
Either entity may close the stream
Other entity will reply
8 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
<presence/>
initial presence I’m now available
9 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
presence
<presence> <show>away</show></presence>
<presence from='[email protected]/balcony' to='[email protected]'> <show>away</show></presence>
Client updates presence to away
Contact receives the
update
10 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
iq:roster
<iq from='[email protected]/balcony' type='get‘ id='roster_1'> <query xmlns='jabber:iq:roster'/></iq>
Client queries for roster
Server returns user’s roster
<iq to='[email protected]/balcony‘ type='result' id='roster_1'> <query xmlns='jabber:iq:roster'> <item jid='[email protected]‘ name='Romeo' subscription='both'> <group>Friends</group> </item> <item jid='[email protected]' name='Mercutio' subscription='from'/> </query></iq>
11 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
<message from='[email protected]/balcony' to='[email protected]' type='chat' xml:lang='en'> <body>How do you do ?</body></message>
12 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
9
13 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
14 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
not just presence & IM
“” There are mission-critical XMPP deployments at most Wall Street banks, numerous major corporations, high-profile agencies of the U.S. federal government, and countless universities and small businesses worldwide. And the percentage of those organizations participating in the process of standardizing XMPP extensions continues to grow significantly, including contributions regarding voice and video integration from Google and on real-time language translation from the U.S. Department of Defense. “”
Peter Saint-Andre, January 2007
15 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
16 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
session vs. session initiation
17 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
extensibility – scalability
Protocol
XMPP Extension Protocols (XEPs):
publish-subscribe, multi-user chat, chat rooms, multimedia sessions (Jingle), link-local messaging, …
Services
Server components
Service discovery
Servers
Clustering a common solution but not part of XMPP
Server components help as well
18 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
near future potential IETF meetings
real-time protocol for Internet
19 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
potential in mobile / Internet
XMPP is a protocol that can deliver what Dean Bubley descriped in his 2008 prediction (1st slide)
Contextual data fits well with Publish-Subscribe
Android, mobile platform, has XMPP support
Any kind of messages between devices
Part of Google APIs and services (fixed to Google)
20 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
enablers
Open, standard protocol
Code libraries for your favorite language
Open source projects
Clients
Servers
Server components
Code libraries
Security
TLS, SASL, SPIM prevention, TCP stream, etc.
21 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
other protocols
SIP/SIMPLEVoice drives SIP developmentImplementation getting difficult due to enormous number of specificationsBandwidth inefficientNATs and firewall troubles (UDP, message based)Proxy functionality (does not exist in XMPP)
Proprietary protocolsFast development for specific needsNeed gateways to interconnectOne initial idea behind XMPP was to offer transparent comunication to other IM systems
22 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
conclusions
Open and standard protocol
Strong commitment to interoperability
Implementations drive standardisation
A lot of available extensions while easy to extend as needed
One client – server XML stream
TCP; http bindings available
Transfer any smallish content over IP
in real-time using XMPP
23 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation
Questions & Answers
?
Top Related