Your SlideShare is downloading. ×
Instant Messaging with
     Jabber/XMPP
     John P. Mulligan @ CPLUG
           January 8, 2008
a little history
Proprietary Protocols
Proprietary Protocols
       ICQ (1996)
Proprietary Protocols
       ICQ (1996)
      AOL IM (1997)
Proprietary Protocols
         ICQ (1996)
       AOL IM (1997)
   Yahoo! Messenger (1998)
Proprietary Protocols
         ICQ (1996)
       AOL IM (1997)
   Yahoo! Messenger (1998)
         MSN (1999)
Lame.
Lame.

• Can only talk to users on the same system
Lame.

• Can only talk to users on the same system
• Centralized, authoritative server
Lame.

• Can only talk to users on the same system
• Centralized, authoritative server
• No choice of client software
Lame.

• Can only talk to users on the same system
• Centralized, authoritative server
• No choice of client software
• No...
Jeremie Miller
    and Jabber
 “...a couple of friends were playing
 around with a little Perl script that
would send mess...
XMPP
IETF formalizes Jabber as the
  Extensible Messaging and
 Presence Protocol (XMPP)
   RFC 3920 / RFC 3921

          ...
Google Talk
Combination VoIP and IM
 application using XMPP

        (2005)
three years later...
What are people using?
                                     Millions of Active Users




  Source: Wikipedia article on In...
What are people using?
                                     Millions of Active Users




  Source: Wikipedia article on In...
Extensible Messaging
and Presence Protocol
       (XMPP)
XMPP Features
XMPP Features

• Decentralized
XMPP Features

• Decentralized
• Open standards
XMPP Features

• Decentralized
• Open standards
• Security
XMPP Features

• Decentralized
• Open standards
• Security
• Flexibility
XMPP Features

• Decentralized
• Open standards
• Security
• Flexibility
• Has more XML
Decentralization

• No central, authoritative server
• Anyone can run a server
• Communication is server to server
• Uniqu...
XMPP Messaging
    Client            Client
alice@example.com   bob@jabber.org




   Server             Server
    jabber...
Jabber/XMPP
  Software
XMPP Clients

• Google Talk
• iChat
• Pidgin (formerly Gaim)
• Psi
XMPP Servers

• ejabberd (Erlang)
• jabberd2 (C)
• Openfire (Java)
• Sun Java System IM (Java)
Ignite Realtime
• Openfire
  Java-based cross-platform XMPP server


• Spark
  Cross-platform XMPP client


• Smack API
  J...
Openfire

• Cross-platform (Java)
• Database independent
• Web based admin
• File transfers and group chats
• Gateways to o...
Extend with Plug-ins

• MotD
• Broadcast messages
• Content filtering
• Presence through HTTP
• Asterisk and SIP management
Administration Console
Administration Console
Administration Console
Administration Console
Administration Console
Administration Console
Openfire Enterprise
• Reporting
• Advanced VoIP
• Browser based IM client
• Client control
• Archiving
• Customer chat
XMPP and IRC

• Multi-protocol clients (e.g. Pidgin)
• Application plug-ins (irssi-xmpp)
• Bitlbee
XMPP and IRC
           ircd                AIM



irssi               Openfire


                              Google
    ...
So what?
Jabber rocks.

• No more reliance on a single company
• Talk to anyone on any IM system
• You can run a private IM system
...
Openfire rocks.

• XMPP server with lots of features
• Open source version is free
• Amazingly simple to install
• Slick we...
Instant Messaging with
     Jabber/XMPP
Links and References

• The Messenger: An Interview with Jabber’s
  Creator, Jeremie Miller (2001)
  http://www.linux-mag....
Links and References
• Jive Software (Openfire)
  http://www.jivesoftware.com/


• Psi (XMPP Client)
  http://psi-im.org/

...
Upcoming SlideShare
Loading in...5
×

Instant Messaging with Jabber/XMPP

13,698

Published on

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

Published in: Technology
0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
13,698
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

Transcript of "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/

×