Protocol Support
Introduction
Openfire provides full support for the XMPP protocol defined by RFC 6120 and RFC 6121. In addition to full XMPP support, Openfire also provides support for numerous extensions to XMPP that are defined through the XEP process at xmpp.org. This document provides a summary of that protocol support and is updated for every Openfire release.
This document is broken down into the following sections:
Core XMPP Server Compliance Support
The core compliance level includes full support of the XMPP RFC's as well as the most common extensions. The table below details the level of support for the requirements set by XEP-0459: XMPP Compliance Suites 2022.
Feature | Specification | Core Server Supported | Advanced Server Supported |
---|---|---|---|
Core Features | RFC 6120: XMPP Core | ||
TLS | RFC 7590: TLS | ||
Direct TLS | XEP-0368: SRV records for XMPP over TLS | ||
Feature discovery | XEP-0030: Service Discovery | ||
Feature broadcasts | XEP-0115: Entity Capabilities | ||
Server Extensibility | XEP-0114: Jabber Component Protocol | ||
Event publishing | XEP-0163: Personal Eventing Protocol |
Web Compliance Support
The web compliance level includes all features from the core compliance category as well as all features in this suite.
Feature | Specification | Core Server Supported | Advanced Server Supported |
---|---|---|---|
Web Connection Mechanisms | RFC 7395: An Extensible Messaging and Presence Protocol (XMPP) Subprotocol for WebSocket | ||
Web Connection Mechanisms | XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH) | ||
Web Connection Mechanisms | XEP-0206: XMPP over BOSH [1] | ||
Connection Mechanism Discovery | XEP-0156: Discovering Alternative XMPP Connection Methods |
IM Compliance Support
The IM compliance level includes all features from the core compliance category as well as all features in this suite.
Feature | Specification | Core Server Supported | Advanced Server Supported |
---|---|---|---|
Core features | RFC 6121: XMPP IM | ||
The /me Command | XEP-0245: The /me Command (XEP-0245) | ||
User Avatars | XEP-0153: vCard-Based Avatars [2] | ||
User Avatars | XEP-0398: User Avatar to vCard-Based Avatars Conversion | ||
User Avatar Compatibility | XEP-0054: vcard-temp | ||
Outbound Message Synchronization | XEP-0280: Message Carbons | ||
User Blocking | XEP-0191: Blocking Command | ||
Group Chat | XEP-0045: Multi-User Chat | ||
Group Chat | XEP-0249: Direct MUC Invitations | ||
Advanced Group Chat | XEP-0048: Bookmark Storage [3] | ||
Advanced Group Chat | XEP-0313: Message Archive Management [4] | ||
Advanced Group Chat | XEP-0402: PEP Native Bookmarks | ||
Advanced Group Chat | XEP-0410: MUC Self-Ping (Schrödinger's Chat) | ||
Persistent Storage of Private Data via PubSub | XEP-0223: Best Practices for Persistent Storage of Private Data via Publish-Subscribe | ||
Private XML Storage | XEP-0049: Private XML Storage | ||
Stream Management | XEP-0198: Stream Management | ||
History Storage / Retrieval | XEP-0313: Message Archive Management [4] | ||
File Upload | XEP-0363: HTTP File Upload [5] |
Mobile Compliance Support
The mobile compliance level includes all features from the core compliance category as well as all features in this suite.
Feature | Specification | Core Server Supported | Advanced Server Supported |
---|---|---|---|
Stream Management | XEP-0198: Stream Management | ||
Client State Indication | XEP-0352: Client State Indication | ||
Third Party Push Notifications | XEP-0357: Push Notifications [6] |
List of other XEPs Supported
The table below lists all other XEPs supported by Openfire. XEPs that only require client-side support are omitted.
Specification |
---|
XEP-0004: Data Forms |
XEP-0011: Jabber Browsing [16] |
XEP-0012: Last Activity |
XEP-0013: Flexible Offline Message Retrieval |
XEP-0016: Privacy Lists |
XEP-0033: Extended Stanza Addressing |
XEP-0050: Ad-Hoc Commands |
XEP-0055: Jabber Search [7] |
XEP-0059: Result Set Management |
XEP-0060: Publish-Subscribe |
XEP-0065: SOCKS5 Bytestreams |
XEP-0077: In-Band Registration |
XEP-0078: Non-SASL Authentication [8] |
XEP-0082: XMPP Date and Time Profiles |
XEP-0086: Error Condition Mappings |
XEP-0090: Legacy Entity Time |
XEP-0091: Legacy Delayed Delivery |
XEP-0092: Software Version |
XEP-0094: Agent Information [17] |
XEP-0096: File Transfer |
XEP-0106: JID Escaping |
XEP-0126: Invisibility |
XEP-0128: Service Discovery Extensions [9] |
XEP-0133: Service Administration |
XEP-0136: Message Archiving [10] |
XEP-0138: Stream Compression |
XEP-0142: Workgroup Queues [11] |
XEP-0160: Best Practices for Handling Offline Messages |
XEP-0175: Best Practices for Use of SASL ANONYMOUS |
XEP-0178: Best Practices for Use of SASL EXTERNAL with Certificates |
XEP-0182: Service Discovery Extensions |
XEP-0191: Blocking Command |
XEP-0199: XMPP Ping |
XEP-0202: Entity Time |
XEP-0203: Delayed Delivery |
XEP-0215: External Service Discovery [12] |
XEP-0233: XMPP Server Registration for use with Kerberos V5 |
XEP-0227: Portable Import/Export Format for XMPP-IM Servers [13] |
XEP-0278: Jingle Nodes [14] |
XEP-0289: Federated MUC for Constrained Environments |
XEP-0321: Remote Roster Management [15] |
XEP-0359: Unique and Stable Stanza IDs |
XEP-0478: Stream Limits Advertisement |
Footnotes
- The implementation also follows the XMPP WebSocket subprotocol (RFC 7395) specification, which is a standard extension of the WebSocket protocol specification (RFC 6455).
- Support for XEP‑0153: vCard-Based Avatars is provided by the Avatar Resizer plugin.
- Support for XEP-0048: Bookmarks is provided by the Bookmarks plugin.
- Support for XEP-0313: Message Archive Management is provided by the Monitoring plugin.
- Support for XEP-0363: HTTP File Upload is provided by the HTTP File Upload plugin.
- Support for XEP-0357: Push Notifications is provided by the Push Notification plugin.
- Support for XEP-0055: Jabber Search is provided by the Search plugin.
- Support for XEP-0078: Non-SASL Authentication is provided by the Non-SASL Authentication plugin.
- Support for XEP-0128: Service Discovery Extensions is provided by the MUC Service Discovery Extensions plugin.
- Support for XEP-0136: Message Archiving is provided by the Monitoring plugin.
- Support for XEP-0142: Workgroup Queues is provided by the Fastpath plugin.
- Support for XEP-0215: External Service Discovery is provided by the External Service Discovery plugin.
- Support for XEP-0227: Portable Import/Export Format for XMPP-IM Servers is provided by the User Import/Export plugin.
- Support for XEP-0278: Jingle Nodes is provided by the Jingle Nodes plugin.
- Support for XEP-0321: Remote Roster Management is provided by the GoJara plugin.
- Support for XEP-0011: Jabber Browsing is provided by the Jabber Browsing plugin.
- Support for XEP-0094: Agent Information is provided by the Jabber Browsing plugin.