Successfully reported this slideshow.

Instant Messaging with Jabber/XMPP

15,993 views

Published on

Talk given at Central PA Linux User Group, January 2008.

Published in: Technology
  • Be the first to comment

Instant Messaging with Jabber/XMPP

  1. 1. Instant Messaging with Jabber/XMPP John P. Mulligan @ CPLUG January 8, 2008
  2. 2. a little history
  3. 3. Proprietary Protocols
  4. 4. Proprietary Protocols ICQ (1996)
  5. 5. Proprietary Protocols ICQ (1996) AOL IM (1997)
  6. 6. Proprietary Protocols ICQ (1996) AOL IM (1997) Yahoo! Messenger (1998)
  7. 7. Proprietary Protocols ICQ (1996) AOL IM (1997) Yahoo! Messenger (1998) MSN (1999)
  8. 8. Lame.
  9. 9. Lame. • Can only talk to users on the same system
  10. 10. Lame. • Can only talk to users on the same system • Centralized, authoritative server
  11. 11. Lame. • Can only talk to users on the same system • Centralized, authoritative server • No choice of client software
  12. 12. Lame. • Can only talk to users on the same system • Centralized, authoritative server • No choice of client software • Not nearly enough XML
  13. 13. Jeremie Miller and Jabber “...a couple of friends were playing around with a little Perl script that would send messages back and forth between ICQ and AIM -- two clients could connect to it and it would rewrite messages. So I thought, ‘Well heck, it isn't that hard to write an instant messaging system.’”
  14. 14. XMPP IETF formalizes Jabber as the Extensible Messaging and Presence Protocol (XMPP) RFC 3920 / RFC 3921 (2004)
  15. 15. Google Talk Combination VoIP and IM application using XMPP (2005)
  16. 16. three years later...
  17. 17. What are people using? Millions of Active Users Source: Wikipedia article on Instant Messaging, retrieved January 4, 2008. So who knows if any of it is true.
  18. 18. What are people using? Millions of Active Users Source: Wikipedia article on Instant Messaging, retrieved January 4, 2008. So who knows if any of it is true.
  19. 19. Extensible Messaging and Presence Protocol (XMPP)
  20. 20. XMPP Features
  21. 21. XMPP Features • Decentralized
  22. 22. XMPP Features • Decentralized • Open standards
  23. 23. XMPP Features • Decentralized • Open standards • Security
  24. 24. XMPP Features • Decentralized • Open standards • Security • Flexibility
  25. 25. XMPP Features • Decentralized • Open standards • Security • Flexibility • Has more XML
  26. 26. Decentralization • No central, authoritative server • Anyone can run a server • Communication is server to server • Unique Jabber ID (JID) for each user • Log in from multiple locations (Resources)
  27. 27. XMPP Messaging Client Client alice@example.com bob@jabber.org Server Server jabber.org jabber.org
  28. 28. Jabber/XMPP Software
  29. 29. XMPP Clients • Google Talk • iChat • Pidgin (formerly Gaim) • Psi
  30. 30. XMPP Servers • ejabberd (Erlang) • jabberd2 (C) • Openfire (Java) • Sun Java System IM (Java)
  31. 31. Ignite Realtime • Openfire Java-based cross-platform XMPP server • Spark Cross-platform XMPP client • Smack API Java XMPP client library • XIFF API Flash XMPP client library
  32. 32. Openfire • Cross-platform (Java) • Database independent • Web based admin • File transfers and group chats • Gateways to other IM networks
  33. 33. Extend with Plug-ins • MotD • Broadcast messages • Content filtering • Presence through HTTP • Asterisk and SIP management
  34. 34. Administration Console
  35. 35. Administration Console
  36. 36. Administration Console
  37. 37. Administration Console
  38. 38. Administration Console
  39. 39. Administration Console
  40. 40. Openfire Enterprise • Reporting • Advanced VoIP • Browser based IM client • Client control • Archiving • Customer chat
  41. 41. XMPP and IRC • Multi-protocol clients (e.g. Pidgin) • Application plug-ins (irssi-xmpp) • Bitlbee
  42. 42. XMPP and IRC ircd AIM irssi Openfire Google Bitlbee Talk
  43. 43. So what?
  44. 44. Jabber rocks. • No more reliance on a single company • Talk to anyone on any IM system • You can run a private IM system • Open, secure, extensible
  45. 45. Openfire rocks. • XMPP server with lots of features • Open source version is free • Amazingly simple to install • Slick web-based admin console • Scalable, secure, stable
  46. 46. Instant Messaging with Jabber/XMPP
  47. 47. Links and References • The Messenger: An Interview with Jabber’s Creator, Jeremie Miller (2001) http://www.linux-mag.com/id/902?r=s • Wikipedia “XMPP” Article http://en.wikipedia.org/wiki/XMPP • Ignite Realtime (Openfire) http://www.igniterealtime.org/
  48. 48. Links and References • Jive Software (Openfire) http://www.jivesoftware.com/ • Psi (XMPP Client) http://psi-im.org/ • Bitlbee (IRC to IM Gateway) http://www.bitlbee.org/ • Thinkhole Labs (Presentation Slides) http://thinkhole.org/gallery/v/slides/

×