Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xmpp

1,249 views

Published on

Extensible Messaging and Presence Protocol

Published in: Internet
  • Be the first to comment

Xmpp

  1. 1. Mahdi Ataeyan Extensible Messaging and Presence Protocol http://www.ataeyan.com
  2. 2. Open standard
  3. 3. Why XMPP? ● HTTP API ● http polling ● real time ● Channel encryption ● Authentication ● Presence ● Contact lists (roster) ● Multi-party messaging (room configuration, in-room voting) ● Notifications (one-to-many) ● Service discovery (features support entity)
  4. 4. usage ● near real-time, instant messaging ● Group chat ● publish-subscribe systems ● signalling for VoIP, video, file transfer ● Multi user Gaming ● Internet of Things m2m communication ● social networking services
  5. 5. usage ● System control, alerts, notifications ● Geolocation ● Middleware and cloud computing ● Intelligent workflows ● Real-time collaboration ● Data syndication ● Voice over IP ● Identity services
  6. 6. Service A Service B DB XMPP server Web server XMPP server DB Web server XMPP S2S HTTP HTTP
  7. 7. Internet of things
  8. 8. Federation
  9. 9. client Client to server Server
  10. 10. client C2S client client client C2S C2S C2S Server
  11. 11. Server Server Server to Server Server
  12. 12. Server Server Server Internet
  13. 13. username@domain.com/resource
  14. 14. XMPP messages ● Message ● i.q. or identification query ● Presence
  15. 15. jingle ● Jingle is an extension to the XMPP ● adds P2P session control (signaling) for multimedia interactions such as in VoIP or videoconferencing communications ● designed by Google and the XMPP Standards Foundation ● The multimedia streams are delivered using the Real-time Transport Protocol (RTP). ● NAT traversal is assisted using Interactive Connectivity Establishment (ICE).
  16. 16. NAT Traversal ● Universal Plug and Play (UpnP) ● Simple Traversal of UDP through Network Address Translators (STUN) ● Application Layer Gateway (ALG) ● Manual Settings ● Tunneling ● Proxy Server
  17. 17. DNS SRV
  18. 18. Push-Server push
  19. 19. Pull coding-client pull
  20. 20. Http Polling HTTP long-polling Http Streaming WebSockets Uni-directional Bi-direcitonal
  21. 21. BOSH Bidirectional-streams Over Synchronous HTTP
  22. 22. Pub-sub

×