LLMpediaThe first transparent, open encyclopedia generated by LLMs

Extensible Messaging and Presence Protocol

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: WhatsApp Hop 4
Expansion Funnel Raw 69 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted69
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol
Original Author: Raja SANDHU for XMPP Standards Foundation.Edited by Ludovic BOC · MIT · source
NameExtensible Messaging and Presence Protocol
DeveloperIETF
Introduced0 1999
Based onJabber
Osi layerApplication layer
Ports5222, 5269
RfcsRFC 3920, RFC 3921, RFC 6120, RFC 6121, RFC 6122, RFC 7590

Extensible Messaging and Presence Protocol. It is an open-standard communications protocol for instant messaging, presence information, and contact list maintenance. Designed within the IETF as an alternative to closed services like AIM and ICQ, it forms the core of a decentralized federated network similar to email. The protocol's architecture enables real-time exchange of structured data between any two network endpoints, supporting a wide range of applications beyond chat.

Overview

The protocol operates on a client–server model where a user's client connects to a server on their domain, analogous to SMTP for email. This server then negotiates with other servers, such as those operated by Google or Facebook, to exchange messages across the federation. Core functionality includes one-to-one messaging, multi-user chat rooms, and broadcasting presence information like "online" or "away." Its design emphasizes extensibility through XML namespaces, allowing for features like voice over IP and file transfer. The decentralized nature prevents any single entity, unlike Microsoft with MSN Messenger, from controlling the entire network.

Technical details

Communication occurs over TCP connections, traditionally on ports 5222 for client-to-server and 5269 for server-to-server traffic, though TLS encryption is now mandated. The fundamental unit of data is an XML stream, containing structured fragments called "stanzas." The three primary stanza types are `` for push alerts, `` for status broadcasts, and `` (Info/Query) for structured request-response interactions, similar to HTTP. Servers route stanzas based on a structured addressing scheme using a JID (Jabber ID), which resembles an email address with a user, domain, and optional resource. Core protocols are defined in a series of RFCs, including RFC 6120.

History and standardization

The technology originated from the open-source Jabber project created by Jeremie Miller in 1999, developed to counter proprietary networks like Yahoo! Messenger. The IETF formed the XMPP Working Group to formalize the core protocols, which were first published as RFC 3920 and RFC 3921 in 2004. These were superseded by an updated specification suite (RFC 6120, RFC 6121, RFC 6122) in 2011. Major internet companies, including Google with Google Talk and Facebook with its chat service, historically adopted the protocol for federation. The XMPP Standards Foundation (now the XSF) maintains extensions published as XEPs (XMPP Extension Protocols).

Implementations and usage

Numerous server implementations exist, such as the open-source Ejabberd (written in Erlang), Prosody in Lua, and Openfire in Java. Popular clients include Gajim, Conversations for Android, and Monal for iOS. While large public services like Google Talk have deprecated their federation, the protocol remains vital in specific sectors. It is used for internal messaging within organizations, IoT device communication (e.g., in smart home systems), and as a backbone for gaming services like those from Sony on the PlayStation Network. The United States Department of Defense has also utilized it in systems like the Joint Battle Command-Platform.

Security and extensions

Mandatory use of TLS for channel encryption and SASL for authentication is required by the core RFC 6120. For end-to-end encryption, the OMEMO protocol, based on the Signal Protocol and standardized as XEP-0384, is widely implemented in clients like Conversations. Other critical extensions include XEP-0280 for message carbons (synchronization across devices), XEP-0313 for message archiving, and XEP-0363 for HTTP-based file transfer. The XSF's standardization process ensures interoperability for these enhancements across different software from projects like the Ignite Realtime community.

Category:Application layer protocols Category:Instant messaging protocols Category:IETF standards Category:XML-based standards