The XMPP Standards Foundation (XSF) recognizes the following protocols either as comprising the Extensible Messaging and Presence Protocol (XMPP) published by the Internet Engineering Task Force (IETF) or as being official XMPP extensions published by the XSF.
1.0 Base XMPP Protocols
The following are the base protocols that define the Extensible Messaging and Presence Protocol as specified in RFC 6120 and RFC 6121. These protocols were originally developed within the Jabber developer community in 1999 (“XMPP 0.9″), formalized by the IETF’s XMPP Working Group in 2003 and 2004, and updated by the XMPP WG in 2009 and 2010, resulting in definition of XMPP 1.0.
- Jabber Client
- Jabber Server
- Presence and IM Session Establishment
- Resource Binding
- Simple Authentication and Security Layer
- S/MIME Encryption
- Stanza Errors
- Stream Errors
- Transport Layer Security
- XML Streams
2.0 XMPP Extensions
Since mid-2001, the XMPP Standards Foundation (formerly the Jabber Software Foundation) has documented and managed the Jabber/XMPP protocols through an open standards process focused on the discussion and advancement of XMPP Extension Protocols (XEPs). Such specifications define XMPP extensions and must not be considered part of XMPP, which is all and only the core specifications produced by the IETF.
Note: The following lists do not include standards-track XEPs that are Deferred, Deprecated, Experimental, Obsolete, Rejected, or Retracted, nor XEPs that are Historical or Informational.
2.1 Final XMPP Extensions
The following XEPs have advanced to a status of Final within the XSF’s standards process. The protocols defined in these specifications may be considered stable technologies for the purposes of implementation and deployment.
- Chat State Notifications
- Data Forms
- Delayed Delivery
- Entity Time
- In-Band Registration
- Jabber-RPC
- Last Activity
- Serverless Messaging
- Service Discovery
- Stream Compression
- XMPP Ping
2.2 Draft XMPP Extensions
The following XEPs have advanced to a status of Draft within the XSF’s standards process. Implementations are encouraged and the protocols are appropriate for deployment in production systems, but it is possible that some changes to the protocols will be made before they become Final Standards.
- Ad-Hoc Commands
- Advanced Message Processing
- Bidirectional-streams Over Synchronous HTTP (BOSH)
- Bookmarks
- Data Forms Layout
- Data Forms Validation
- Entity Capabilities
- Feature Negotiation
- File Transfer
- Flexible Offline Message Retrieval
- In-Band Bytestreams
- JID Escaping
- Message Receipts
- Multi-User Chat
- Out of Band Data
- Personal Eventing via Pubsub
- Privacy Lists
- Publish-Subscribe
- Publishing Stream Initiation Requests
- Result Set Management
- Roster Item Exchange
- Service Discovery
- Stanza Headers and Internet Metadata
- SOAP Over XMPP
- Software Version
- Stanza Session Negotiation
- Stream Initiation
- User Activity
- User Location
- User Mood
- User Nickname
- User Tune
- Verifying HTTP Requests via XMPP
- XHTML-IM
- XMPP Over BOSH
In addition to the foregoing protocols, the XMPP Standards Foundation has informationally defined various best practices related to XMPP, has historically documented several protocols that are in wide use within the Jabber/XMPP community, and regularly considers numerous experimental technologies for advancement to Draft and then Final. However, such informational, historical, and experimental specifications are not officially recognized by the XSF as part of the XMPP protocol stack.

