LLMpediaThe first transparent, open encyclopedia generated by LLMs

XMPP

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
Expansion Funnel Raw 57 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted57
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
XMPP
NameExtensible Messaging and Presence Protocol
DeveloperIETF
Based onXML
Osi layerApplication layer

XMPP. The Extensible Messaging and Presence Protocol is an open, XML-based communication protocol standardized by the Internet Engineering Task Force (IETF). Originally developed for near-real-time messaging, presence, and contact list maintenance, its extensible architecture has enabled its use in a wide variety of applications beyond instant messaging. The core protocols are defined in a series of Request for Comments (RFC) documents, and a large ecosystem of extensions is managed by the XMPP Standards Foundation.

Overview

The protocol provides a framework for streaming XML elements between any two network endpoints, enabling the structured exchange of data. Its primary application has been in building instant messaging systems, providing core functionality analogous to services like AIM or ICQ, but within a federated, decentralized model similar to email. A key architectural feature is its use of a client–server model where clients do not communicate directly but through intermediary servers, which can interconnect to form a global network. This design allows for robust security, identity management, and interoperability between different service providers and software implementations.

Technical details

Communication occurs over long-lived Transmission Control Protocol (TCP) connections, traditionally on port 5222 for client-to-server and 5269 for server-to-server links, though Transport Layer Security (TLS) is mandated for encryption. The fundamental unit of data is an XML stanza, with three primary types: ``, ``, and `` (Info/Query). Each entity on the network, such as a user or a service, is addressed by a unique Jabber ID (JID), structured like an email address (e.g., user@example.com). The protocol natively supports in-band binary data transfer through SOCKS5 Bytestreams or via the IETF-standardized Jingle extension for peer-to-peer multimedia sessions.

History and development

The technology originated in 1999 as the Jabber protocol, an open-source alternative to the closed instant messaging services prevalent at the time, created by Jeremie Miller. The core protocols were formalized and submitted to the IETF, leading to the publication of the foundational RFCs 3920 and 3921 in 2004. In 2011, these were refined and replaced by RFC 6120, RFC 6121, and RFC 7622, which remain the core specifications. Stewardship of the protocol and its extensions moved from the original Jabber Software Foundation to the XMPP Standards Foundation, which continues to manage the extension process through XEP documents.

Standards and extensions

The core interoperability standards are maintained as IETF RFCs, ensuring a stable foundation. Innovation and new functionality are driven by XMPP Extension Protocols (XEPs), published by the XMPP Standards Foundation. Notable extensions include XEP-0045 for multi-user chat rooms, XEP-0060 for publish-subscribe, XEP-0115 for entity capabilities, and XEP-0166 for Jingle, which enables voice and video calls. Other significant XEPs provide enhancements for security, such as Off-the-Record Messaging, file transfer, and bridging to other networks like IRC or SIP.

Software and clients

A diverse range of server, client, and library software exists across all major platforms. Popular server implementations include the Java-based Openfire, the Erlang-based Ejabberd, and Prosody, written in Lua. For end-users, multi-protocol clients like Pidgin and Adium have historically supported the network, while dedicated clients such as Conversations (for Android), Monal (for iOS), and Gajim (for Windows and Linux) are widely used. Libraries for protocol integration are available for nearly every programming language, including Smack for Java and stanza.io for JavaScript.

Use cases and deployment

Beyond personal messaging, the protocol is deployed for a variety of real-time communication needs. It serves as a backbone for chat features in major platforms like Google Talk (historically) and Facebook Messenger (in its initial implementation). It is used for internal collaboration within organizations, for Internet of Things (IoT) device communication and control, and in gaming for real-time interaction, as seen in parts of the PlayStation Network. Its federated nature makes it a cornerstone of the decentralized Fediverse, with applications in secure messaging, social networking, and news syndication.

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