Wildfire Protocol Support

A major goal of the Wildfire project is to provide full support for the XMPP specifications defined by RFC 3920 and RFC 3921. In addition to full XMPP support, Wildfire also provides support for numerous extensions to XMPP that are defined through the JEP process at Jabber.org. This document provides a summary of that protocol support and is updated for every Wildfire release.

This document is broken down into the following sections:


Basic IM Protocol Suite Support

The basic suite 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 JEP-0073: Basic IM Protocol Suite.

Specification Supported
RFC 3920: XMPP Core Yes
RFC 3921: XMPP IM Yes/No (see below)
JEP-0030: Service Discovery Yes
JEP-0077: In-Band Registration Yes
JEP-0078: Non-SASL Authentication Yes
JEP-0086: Error Condition Mappings Yes

Intermediate IM Protocol Suite Support

The intermediate suite includes the full basic suite as well as more advanced features in common use by XMPP clients. The table below details the level of support for the requirements set by JEP-0117: Intermediate IM Protocol Suite.

Specification Supported
JEP-0073: Basic IM Protocol Suite No
JEP-0004: Data Forms Yes
JEP-0020: Feature Negotiation No
JEP-0045: Multi-User Chat Yes
JEP-0047: In-Band Bytestreams Yes
JEP-0065: SOCKS5 Bytestreams No
JEP-0071: XHTML-IM Yes [1]
JEP-0096: File Transfer No
JEP-0115: Entity Capabilities Yes [2]

List of JEPs Supported

The table below lists all JEPs supported by Wildfire and indicates which JEPs are part of the Basic or Intermediate Protocol Suites listed above. JEPs that only require client-side support are omitted.

Specification Suite
JEP-0004: Data Forms Intermediate
JEP-0012: Last Activity -
JEP-0013: Flexible Offline Message Retrieval -
JEP-0030: Service Discovery Basic
JEP-0033: Extended Stanza Addressing -
JEP-0045: Multi-User Chat Intermediate
JEP-0049: Private XML Storage -
JEP-0050: Ad-Hoc Commands -
JEP-0054: vcard-temp -
JEP-0055: Jabber Search [3] -
JEP-0077: In-Band Registration Basic
JEP-0078: Non-SASL Authentication Basic
JEP-0086: Error Condition Mappings Basic
JEP-0090: Entity Time -
JEP-0091: Delayed Delivery -
JEP-0092: Software Version -
JEP-0114: Jabber Component Protocol -
JEP-0128: Service Discovery Extensions -
JEP-0138: Stream Compression -

Notes on RFC 3921: XMPP IM

Wildfire has full support for the XMPP IM specification (RFC 3921), except for the item listed below:


Footnotes

[1] Some requirements of JEP-0117: Intermediate IM Protocol Suite do not pertain to servers.
[2] The entity capabilities JEP is primarily for clients to implement. However, Wildfire does not support an optional server extensions defined by the JEP.
[3] Support for JEP-0055: Jabber Search is provided by the Search plugin.