Lably
Skip to content

XMPP

Communications protocol for message-oriented middleware

  • 14 min read
  • 7 chapters

Related on Lably

Through Voice over IP, Game and Email

Unlike most commercial instant messaging protocols, XMPP is defined in an open standard in the application layer. The architecture of the XMPP network is similar to email; anyone can run their own XMPP server and there is no central master server. This federated open system approach allows users to interoperate with others on any server using a Jabber identifier (JID) user account, similar to an email address. XMPP implementations can be developed using any software license and many server, client, and library implementations are distributed as free and open-source software. Numerous freeware and commercial software implementations also exist.

Originally developed by the open-source community, the protocols were formalized as an approved instant messaging standard in 2004 and have been continuously developed with new extensions and features. Various XMPP client software are available on both desktop and mobile platforms and devices – by 2003 the protocol was used by over ten million people worldwide on the network, according to the XMPP Standards Foundation.

Federated Instant Messaging

Although the protocol has other uses, the primary application is Federated Instant Messaging, to deliver a standard Instant Messaging and Presence Protocol, outlined below.

A client Alice ("[email protected]") has a message for some other user, Beth ("[email protected]"), and uses XMPP to convey this to the example.com server. If Beth is online, the server delivers the message instantly, otherwise it will be held for delivery later. If Beth is offline, this status is visible to Alice.

If the message is for a user on another server, Charles ("charles@example.net"), then the example.com server connects using XMPP to pass the message to the example.net server. The message is then similarly delivered or held, and Alice is informed of the status.

Following the initial message delivery, the end clients are in a "chat" and each party is subsequently informed of changes to the other's status.

Client-to-Server XMPP and Server-to-Server XMPP

The XMPP client communicates with the server over a TLS-encrypted TCP stream on port 5222. XMPP servers communicate with each other over a TLS-encrypted TCP stream on port 5269.

Sign in to keep reading

6 more chapters are free with a Lably account.

More in Computing and communication

Source and licence. Adapted from the Wikipedia article “XMPP” (this version, 2026-10-04) by its contributors, shared under CC BY-SA 4.0. Lablypedia has left out its tables, references and most pictures, and linked it to other Lablypedia articles.