SlideShare a Scribd company logo
1 of 9
Download to read offline
XMPP Protocol
 
The Extensible Messaging and Presence Protocol
Tehran Linux User Group
Hamidreza Soleimani
September 01, 2014
What is it
It is
- eXtensible
- Messaging & Presence
- Protocol
It is not
- Binary Protocol
- General Purpose
- Server or Daemon
And also
- Open Protocol
- Application Layer
- XML Based
- Asynchronous
- Long Lived Connection
History
1998 Jabber Protocol Was Invented
By Jeremie Miller to scratch his itch
1999 First Release of JabberD
2000 Open-Source Community and Jabber
Many open-source clients were developed
Its Java and Perl library were developed
Details of its wire protocol was documented
JabberD version 1.0 was released
2004 IETF and Jabber
XMPP Protocol published [RFC 3290-1]
2005 Google and XMPP
GTalk launched over XMPP
2008 Cisco and XMPP
Jabber Inc. was acquired by Cisco Co.
2010 Facebook and XMPP
Facebook opened up XMPP interface for its chat
2011 Modified XMPP by IETF
[RFC 6120-1]
Primitives
XMPP
Server
XMPP
Client
XML
XMPP
Client
XML
me@tehlug.im/pidgin
XML
XML
you@tehlug.im/psitehlug.im
<presence
from=”me@tehlug.im/pidgin”
to=”tehlug.im”/>
<iq type=”get”>
<query xmlns=”jabber:iq:roster”/>
</iq>
<message
from=”me@tehlug.im/pidgin”
to=”you@tehlug.im”>
<body>Hello dude!</body>
</message>
[ ... ]
<presence
from=”me@tuhlug.im/pidgin”
to=”tehlug.im”
type=”unavailable”/>
XMLStream
Stanza
Usage
Group Chat
VOIP
Whats app
Gtalk
Nimbuzz
Instant
Messaging
GamingChesspark Collaboration
VM
Management
ArchipelGeo-location
Cisco WebEx
Vehicle
Tracking
vs. HTTP
XMPP
Server
XMPP
Server
XMPP
Client
XMPP
Client
HTTP
Server
HTTP
Server
HTTP
Client
HTTP
Client
XMPP
Asynchronous
Federated
Limited Purpose
HTTP
Synchronous
Unfederated
General Purpose
vs.
Transports
TCP
Transmission Control
Protocol
BOSH
Bidirectional stream Over
Synchronous HTTP
WebSocket
Long Lived Connection
Over HTTP
Client(Pidgin/WhatsApp)
Server(Ejabberd,Tigase)
Open TCP Connection
Open XML Stream
Preferably Negotiate TLS
Authenticate by SASL
Exchange XML Packets
Close XML Stream
Close TCP Connection
Client(Firefox/Chrome)
Server(Ejabberd,Tigase)
Open by HTTP Request
Send XML Stanza
... Keep Alive ...
Get XML Stanza
Client(Firefox/Chrome)
Server(Ejabberd,Tigase)
Open by HTTP Request
Upgrade to WebSocket
WebSocket Handshake
Open XML Stream
Exchange XML Frames
Close XML Stream
Close WS Connection
... Keep Alive ...
Send XML Stanza
... Keep Alive ...
DIRECT
P2P
Offer session & parameters
Initiator ResponderXMPP Server
- Application Type: RTP / Stub / ibb
- Media Codec: Speex / G.711 / H.264
- Transport Method:
- Streaming: ibb / S4b
- datagram: raw-UDP / ICE-UDP Accept session & parameters
TURN
Server
STUN
Server
TURN
Server
STUN
Server
NAT
Get/Send public IP:Port
Get/Send relay IP:Port
Get/Send relay IP:Port
Get/Send public IP:Port
STUN
P2P
TURN
RELAY
Sym.NAT
NATSym.NAT
ICE Signaling Channel
Media Exchange Channel
XMPP Signaling Channel
STUN: Session Traversal Utilities for NAT
TURN: Traversal Using Relay around NAT
ICE: Interactive Communication Establishment
Jingle
Terminate session Terminate session
Question?
Hamidreza-s.github.com

More Related Content

What's hot

Connection( less & oriented)
Connection( less & oriented)Connection( less & oriented)
Connection( less & oriented)
ymghorpade
 

What's hot (20)

TCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet ProtocolTCP/IP – Transmission Control Protocol/ Internet Protocol
TCP/IP – Transmission Control Protocol/ Internet Protocol
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
Introduction to Application layer
Introduction to Application layerIntroduction to Application layer
Introduction to Application layer
 
Application layer protocols
Application layer protocolsApplication layer protocols
Application layer protocols
 
web communication protocols in IoT
web communication protocols in IoTweb communication protocols in IoT
web communication protocols in IoT
 
6lowpan
6lowpan6lowpan
6lowpan
 
Ppt 3 - IOT logic design
Ppt   3 - IOT logic designPpt   3 - IOT logic design
Ppt 3 - IOT logic design
 
web connectivity in IoT
web connectivity in IoTweb connectivity in IoT
web connectivity in IoT
 
The constrained application protocol (CoAP)
The constrained application protocol (CoAP)The constrained application protocol (CoAP)
The constrained application protocol (CoAP)
 
LoRaWAN in Depth
LoRaWAN in DepthLoRaWAN in Depth
LoRaWAN in Depth
 
6LoWPAN
6LoWPAN 6LoWPAN
6LoWPAN
 
Introduction to MQTT
Introduction to MQTTIntroduction to MQTT
Introduction to MQTT
 
Ipv6
Ipv6Ipv6
Ipv6
 
What Is User Datagram Protocol?
What Is User Datagram Protocol?What Is User Datagram Protocol?
What Is User Datagram Protocol?
 
Snmp
SnmpSnmp
Snmp
 
message communication protocols in IoT
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoT
 
Real World Applications of MQTT
Real World Applications of MQTTReal World Applications of MQTT
Real World Applications of MQTT
 
Application Layer Protocols for the IoT
Application Layer Protocols for the IoTApplication Layer Protocols for the IoT
Application Layer Protocols for the IoT
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
Connection( less & oriented)
Connection( less & oriented)Connection( less & oriented)
Connection( less & oriented)
 

Viewers also liked

How to configure Instant Messaging (IM) at ringEmail?
How to configure Instant Messaging (IM) at ringEmail?How to configure Instant Messaging (IM) at ringEmail?
How to configure Instant Messaging (IM) at ringEmail?
Clearhub Pte Ltd
 

Viewers also liked (20)

XMPP In Real Time
XMPP In Real TimeXMPP In Real Time
XMPP In Real Time
 
XMPP 101
XMPP 101XMPP 101
XMPP 101
 
The Real Time Web with XMPP
The Real Time Web with XMPPThe Real Time Web with XMPP
The Real Time Web with XMPP
 
XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008XMPP Intro 1101 - 2008
XMPP Intro 1101 - 2008
 
WTF is XMPP?
WTF is XMPP?WTF is XMPP?
WTF is XMPP?
 
Real life XMPP Instant Messaging
Real life XMPP Instant MessagingReal life XMPP Instant Messaging
Real life XMPP Instant Messaging
 
Nanomsg - Scalable Networking Library
Nanomsg - Scalable Networking LibraryNanomsg - Scalable Networking Library
Nanomsg - Scalable Networking Library
 
Understanding the Internet of Things Protocols
Understanding the Internet of Things ProtocolsUnderstanding the Internet of Things Protocols
Understanding the Internet of Things Protocols
 
Communication Service Evolution
Communication Service EvolutionCommunication Service Evolution
Communication Service Evolution
 
How to configure Instant Messaging (IM) at ringEmail?
How to configure Instant Messaging (IM) at ringEmail?How to configure Instant Messaging (IM) at ringEmail?
How to configure Instant Messaging (IM) at ringEmail?
 
Applying event driven architecture to mobile computing
Applying event driven architecture to mobile computingApplying event driven architecture to mobile computing
Applying event driven architecture to mobile computing
 
Communicatio Skills
Communicatio  Skills Communicatio  Skills
Communicatio Skills
 
Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” b...
Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” b...Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” b...
Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” b...
 
Open Source XMPP for Cloud Services
Open Source XMPP for Cloud ServicesOpen Source XMPP for Cloud Services
Open Source XMPP for Cloud Services
 
Switch to Python 3…now…immediately
Switch to Python 3…now…immediatelySwitch to Python 3…now…immediately
Switch to Python 3…now…immediately
 
XMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol StudyXMPP Technical Overview + Jingle Protocol Study
XMPP Technical Overview + Jingle Protocol Study
 
Beyond REST? Building data services with XMPP
Beyond REST? Building data services with XMPPBeyond REST? Building data services with XMPP
Beyond REST? Building data services with XMPP
 
Nat traversal in WebRTC context
Nat traversal in WebRTC contextNat traversal in WebRTC context
Nat traversal in WebRTC context
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
IoT transport protocols
IoT transport protocolsIoT transport protocols
IoT transport protocols
 

Similar to What is XMPP Protocol

InternetWorking With TCP\IP
InternetWorking With TCP\IPInternetWorking With TCP\IP
InternetWorking With TCP\IP
hunghanamhus
 
InternetWorking With TCP\IP
InternetWorking With TCP\IPInternetWorking With TCP\IP
InternetWorking With TCP\IP
hunghanamhus
 
Internet Technology
Internet TechnologyInternet Technology
Internet Technology
home
 
PLNOG 6: Julian Curtis - IPv6 Overview
PLNOG 6: Julian Curtis - IPv6 Overview PLNOG 6: Julian Curtis - IPv6 Overview
PLNOG 6: Julian Curtis - IPv6 Overview
PROIDEA
 

Similar to What is XMPP Protocol (20)

SPADE: Agents based on XMPP
SPADE: Agents based on XMPPSPADE: Agents based on XMPP
SPADE: Agents based on XMPP
 
Openfire
OpenfireOpenfire
Openfire
 
Jingle
JingleJingle
Jingle
 
Nktalk Case Study
Nktalk Case StudyNktalk Case Study
Nktalk Case Study
 
XMPP, HTTP and UPnP
XMPP, HTTP and UPnPXMPP, HTTP and UPnP
XMPP, HTTP and UPnP
 
A vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF MeetupA vision for ejabberd - ejabberd SF Meetup
A vision for ejabberd - ejabberd SF Meetup
 
Jitsi
JitsiJitsi
Jitsi
 
Silc
SilcSilc
Silc
 
InternetWorking With TCP\IP
InternetWorking With TCP\IPInternetWorking With TCP\IP
InternetWorking With TCP\IP
 
InternetWorking With TCP\IP
InternetWorking With TCP\IPInternetWorking With TCP\IP
InternetWorking With TCP\IP
 
The April Agent Platform
The April Agent PlatformThe April Agent Platform
The April Agent Platform
 
Tcp ip tutorial
Tcp ip tutorialTcp ip tutorial
Tcp ip tutorial
 
Ryu SDN Framework
Ryu SDN FrameworkRyu SDN Framework
Ryu SDN Framework
 
Xmpp and java
Xmpp and javaXmpp and java
Xmpp and java
 
Application layer and protocols of application layer
Application layer and protocols of application layerApplication layer and protocols of application layer
Application layer and protocols of application layer
 
Internet Technology
Internet TechnologyInternet Technology
Internet Technology
 
Mdx ietf foss_2018 (cyberstorm.mu)
Mdx ietf foss_2018 (cyberstorm.mu)Mdx ietf foss_2018 (cyberstorm.mu)
Mdx ietf foss_2018 (cyberstorm.mu)
 
PLNOG 6: Julian Curtis - IPv6 Overview
PLNOG 6: Julian Curtis - IPv6 Overview PLNOG 6: Julian Curtis - IPv6 Overview
PLNOG 6: Julian Curtis - IPv6 Overview
 
Presentation12
Presentation12Presentation12
Presentation12
 
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
 

More from Hamidreza Soleimani

More from Hamidreza Soleimani (12)

Principles of Engineering Management | Hamidreza Soleimani | Diginext Academy
Principles of Engineering Management | Hamidreza Soleimani | Diginext AcademyPrinciples of Engineering Management | Hamidreza Soleimani | Diginext Academy
Principles of Engineering Management | Hamidreza Soleimani | Diginext Academy
 
Architecting Scalable Platforms in Erlang/OTP | Hamidreza Soleimani | Diginex...
Architecting Scalable Platforms in Erlang/OTP | Hamidreza Soleimani | Diginex...Architecting Scalable Platforms in Erlang/OTP | Hamidreza Soleimani | Diginex...
Architecting Scalable Platforms in Erlang/OTP | Hamidreza Soleimani | Diginex...
 
How to Scale Your Engineering Team | Hamidreza Soleimani | Diginext Academy
How to Scale Your Engineering Team | Hamidreza Soleimani | Diginext AcademyHow to Scale Your Engineering Team | Hamidreza Soleimani | Diginext Academy
How to Scale Your Engineering Team | Hamidreza Soleimani | Diginext Academy
 
The World works in Parallel | Hamidreza Soleimani | Diginext Academy
The World works in Parallel | Hamidreza Soleimani | Diginext AcademyThe World works in Parallel | Hamidreza Soleimani | Diginext Academy
The World works in Parallel | Hamidreza Soleimani | Diginext Academy
 
Technology Companies Development Story
Technology Companies Development StoryTechnology Companies Development Story
Technology Companies Development Story
 
Do Reinvent the Wheel - Nov 2021 - DigiNext.pdf
Do Reinvent the Wheel - Nov 2021 - DigiNext.pdfDo Reinvent the Wheel - Nov 2021 - DigiNext.pdf
Do Reinvent the Wheel - Nov 2021 - DigiNext.pdf
 
BEAM (Erlang VM) as a Soft Real-time Platform
BEAM (Erlang VM) as a Soft Real-time PlatformBEAM (Erlang VM) as a Soft Real-time Platform
BEAM (Erlang VM) as a Soft Real-time Platform
 
Event Driven Architecture Concepts in Web Technologies - Part 2
Event Driven Architecture Concepts in Web Technologies - Part 2Event Driven Architecture Concepts in Web Technologies - Part 2
Event Driven Architecture Concepts in Web Technologies - Part 2
 
Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1Event Driven Architecture Concepts in Web Technologies - Part 1
Event Driven Architecture Concepts in Web Technologies - Part 1
 
Nodejs Applications in Production
Nodejs Applications in ProductionNodejs Applications in Production
Nodejs Applications in Production
 
Practical Look at Erlang
Practical Look at ErlangPractical Look at Erlang
Practical Look at Erlang
 
Create Your Own Language
Create Your Own LanguageCreate Your Own Language
Create Your Own Language
 

Recently uploaded

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 

What is XMPP Protocol