Table of Contents

XMPP

Prosody is an XMPP server. But what exactly is XMPP?

The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, which powers a wide range of applications including instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data.
- - xmpp.org

Ok… what?? 8-O

XMPP is a network protocol, a "language" that is used by machines to communicate with each other. It is based on XML, which allows the protocol to be extended for a wide variety of purposes.

The most widespread use of XMPP is for instant messaging (IM). There are many XMPP servers on the internet, all linked up with each other. This IM network is also known as 'Jabber', the name of the original project that started it all back in 1999. The original Jabber service is still running, though on different software nowadays.

The specification for XMPP is open to all developers, and any developer is free to add XMPP support to their software. This means there is lots of XMPP-enabled software available, much of it free and open-source like Prosody.

Unlike the original IM networks, XMPP does not require people to be using the same IM service to chat to each other. If someone on jabber.org wants to add someone using gmail.com to their contact list (called a 'roster' in XMPP), the servers automatically connect with each other. This is pretty much how email works underneath too (though XMPP is more geared towards realtime exchange of short messages, and has built-in protection against address forgery).

Further reading

There is lots of information on XMPP's gory details. You shouldn't need to know anything much that isn't already in Prosody's documentation, as apart from the basics here, only developers really need to dig deeper.

 
doc/xmpp.txt · Last modified: 2012/05/11 17:50 by Matthew Wild