+ All Categories
Home > Documents > XMPP - Extensible Real-Time Services

XMPP - Extensible Real-Time Services

Date post: 15-Jan-2016
Category:
Upload: xuxa
View: 41 times
Download: 0 times
Share this document with a friend
Description:
- PowerPoint PPT Presentation
23
“” 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
Transcript
Page 1: XMPP - Extensible Real-Time Services

“” 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

Page 2: XMPP - Extensible Real-Time Services

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!

Page 3: XMPP - Extensible Real-Time Services

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

Page 4: XMPP - Extensible Real-Time Services

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

Page 5: XMPP - Extensible Real-Time Services

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'>

Page 6: XMPP - Extensible Real-Time Services

6 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

[…]

Page 7: XMPP - Extensible Real-Time Services

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

Page 8: XMPP - Extensible Real-Time Services

8 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

<presence/>

initial presence I’m now available

Page 9: XMPP - Extensible Real-Time Services

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

Page 10: XMPP - Extensible Real-Time Services

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>

Page 11: XMPP - Extensible Real-Time Services

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>

Page 12: XMPP - Extensible Real-Time Services

12 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

9

Page 13: XMPP - Extensible Real-Time Services

13 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

Page 14: XMPP - Extensible Real-Time Services

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

Page 15: XMPP - Extensible Real-Time Services

15 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

Page 16: XMPP - Extensible Real-Time Services

16 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

session vs. session initiation

Page 17: XMPP - Extensible Real-Time Services

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

Page 18: XMPP - Extensible Real-Time Services

18 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

near future potential IETF meetings

real-time protocol for Internet

Page 19: XMPP - Extensible Real-Time Services

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)

Page 20: XMPP - Extensible Real-Time Services

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.

Page 21: XMPP - Extensible Real-Time Services

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

Page 22: XMPP - Extensible Real-Time Services

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

Page 23: XMPP - Extensible Real-Time Services

23 © Nokia Siemens Networks XMPP / Matti Vesterinen / 11.1.2008Public presentation

Questions & Answers

?


Recommended