Skip to content
Presence & ProtocolAn independent guide to Jabber and XMPP
A network operator’s desk at night, a wall of patch cables and a terminal showing a stream of short messages.

An independent guide to Jabber and XMPP

One address, one stream, one open standard

Jabber grew up in 1999 as an XML streaming protocol, went to the IETF in 2002 and became XMPP. This site explains what survived, what changed and what still works, from the RFCs rather than from memory.

Edition 2026 · Protocol · History · Servers · Clients · Standards

01-05The five layers of the guide

Five ways into the same protocol, from the shape of a stanza to the process that turns an idea into a published extension.

  1. A printed protocol specification open on a desk, passages underlined in pencil.

    01

    Protocol

    Message, presence and IQ: three stanzas carry everything else.

  2. A stack of early-2000s printed mailing-list threads and conference notes on a table.

    02

    History

    What happened, in what order, with the dates the XSF publishes itself.

  3. A small rack-mounted server in a home office, status lights on, network cable plugged in.

    03

    Servers

    Federation is the whole point; it is also the part people get wrong.

  4. A phone and a laptop side by side on a wooden desk, both showing a plain chat window.

    04

    Clients

    Two clients on the same network can behave like two different products.

  5. A whiteboard covered in a numbered process diagram, marker still in hand.

    05

    Standards

    A number is not a promise: the status line next to it is.

THE INDEXEvery essay, by date

Everything the guide has published, newest first, with the date it was written.

  1. Three brass letter slots of different sizes set into a dark painted wall, photographed straight on.

    · Protocol

    Message, presence and IQ: the three stanzas

    Everything an XMPP client does is built from three XML elements. Knowing which one carries what explains most of the rest.

  2. A green painted front door seen close up, with a brass letter slot, a bell push and a worn handle.

    · Protocol

    How a JID is built, and what breaks it

    An XMPP address looks like an email address and is not one. The differences are written down, and they matter.

  3. A hand ticking names on a printed contact list, several rows already marked, desk lamp lit.

    · Protocol

    Presence, rosters and the subscription dance

    Presence is not a status message. It is a routing decision the server makes on your behalf, from a list you own.

  4. A long paper timeline taped across a wall, years written in marker, notes clipped along its length.

    · History

    From jabberd to the XMPP RFCs: a timeline

    Not quite six years separate a personal announcement from an IETF Proposed Standard. Each step is dated, and each one changed something.

  5. A brass rubber stamp and its ink pad on a leather desk blotter, lit from one side.

    · History

    Who owns the name Jabber

    Two names, two owners, one network. The confusion is old, documented, and easy to clear up.

  6. Three small servers lined up on a workbench, each with a different handwritten label taped on.

    · Servers

    ejabberd, Prosody, Openfire: how they differ

    All three speak the same protocol. Choosing between them is a question of what you are willing to operate.

  7. A terminal window on a dark screen showing a short list of DNS lookup results, keyboard in shot.

    · Servers

    The DNS records a federated server needs

    Most federation failures are DNS failures. The records are short, the rules are written down, and the order matters.

  8. Two patch cables crossing on a grey panel, connectors in focus, port numbers printed beneath.

    · Servers

    Encryption on the wire: c2s, s2s and TLS

    A message crosses at least two connections. They are secured separately, and only one of them is under your control.

  9. A closed laptop on a kitchen table beside a mug and a pair of reading glasses in morning light.

    · Clients

    What to check before you install a client

    Two clients on the same account can behave like two different products. The difference is a short list of extensions.

  10. A phone face down on a table next to a battery pack and a short charging cable, evening light.

    · Clients

    Why mobile XMPP is harder than desktop

    The protocol assumes a connection that stays open. A phone assumes the opposite. Everything else follows from that.

  11. A marker pen resting on the empty tray of a blank whiteboard in a quiet, well lit meeting room.

    · Standards

    How a XEP becomes a standard

    The number on an extension tells you nothing. The status line above it tells you almost everything.

  12. An empty meeting room with chairs pulled around a table and a screen showing a blank chat window.

    · Standards

    MUC and MIX: two answers to group chat

    Group chat was bolted on twice, twenty years apart, and the second attempt starts from a different idea of who a member is.

  13. Two identical brass keys on a dark cloth, one slightly out of focus behind the other.

    · Standards

    OMEMO and end to end encryption

    Transport encryption protects the hops. End to end encryption protects the message. They are not the same promise.

  1. A long roll of continuous paper feeding out of a teleprinter onto a wooden floor, seen from above.

    The reference page: message, presence and IQ

    Three stanza types carry everything else on an XMPP stream. Every other essay on the site comes back to this page, because every feature is built from these three shapes.

    Layer 01 · Protocol

Presence & Protocol is written by a small editorial desk, not by the XMPP Standards Foundation and not by the owner of the Jabber trademark; how we work and what we check is set out on the about page. If you read one thing first, read the reference page on the three stanza types, then come back to the protocol layer for addressing and presence.