Generated by DeepSeek V3.2| Extensible Messaging and Presence Protocol | |
|---|---|
![]() | |
| Name | Extensible Messaging and Presence Protocol |
| Developer | IETF |
| Introduced | 0 1999 |
| Based on | Jabber |
| Osi layer | Application layer |
| Ports | 5222, 5269 |
| Rfcs | RFC 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.
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.
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 `
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).
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.
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