First draft based on XEP-0412. Non-editorial Changes:
++ The &XSF; defines protocol suites for the purpose of compliance testing + and software certification. + This document specifies compliance levels for XMPP clients and servers; it + is hoped that this document will advance the state of the art, and provide + guidance and eventual certification to XMPP client and server authors. +
++ This document defines Categories based on + typical use cases (Core, Web, IM, Mobile) and Levels + (Core, Advanced) based on functionality in the respective category. +
++ Unless explicitly noted, support for the listed specifications is REQUIRED + for compliance purposes. + A feature is considered supported if all comma separated feature providers + listed in the "Providers" column are implemented (unless otherwise noted). +
+Feature | +Core Server | +Core Client | +Advanced Server | +Advanced Client | +Providers | +
---|---|---|---|---|---|
Core features | +✓ | +✓ | +✓ | +✓ | +&rfc6120; |
+
TLS | +✓ | +✓ | +✓ | +✓ | +&rfc7590; | +
Direct TLS | +✕ | +✕ | +✓ |
+ ✓ | +&xep0368; | +
Feature discovery | +✓ | +✓ | +✓ | +✓ | +&xep0030; | +
Feature broadcasts | +✕ | +✓ | +✓ | +✓ | +&xep0115; | +
Server Extensibility | +✓ | +N/A | +✓ | +N/A | +&xep0114; | +
Event publishing | +✕ | +✕ | +✓&pubsubjid; | +✓ | +&xep0163; | +
+ To be considered XMPP web compliant, all features from the core + compliance category must be met, as well as all features in this suite. +
+Feature | +Core Server | +Core Client | +Advanced Server | +Advanced Client | +Providers | +
---|---|---|---|---|---|
Web Connection Mechanisms | +✓&component; | +✓&onlyone; | +✓&component; | +✓&onlyone; | +&rfc7395;, &xep0206; (See also: &xep0124;) | +
+ To be considered XMPP IM compliant, all features from the core + compliance category must be met, as well as all features in this suite. +
+Feature | +Core Server | +Core Client | +Advanced Server | +Advanced Client | +Providers | +
---|---|---|---|---|---|
Core features | +✓ | +✓ | +✓ | +✓ | +&rfc6121; | +
User Avatars | +N/A | +✕ | +N/A | +✓&nocli; | +&xep0084; | +
User Avatar Compatibility | +✕ | +✕ | +✓ | +✓&nocli; | +&xep0398;, &xep0153; | +
vcard-temp | +✓ | +✓ | +✓ | +✓ | +&xep0054; | +
Outbound Message Synchronization | +✓ | +✓ | +✓ | +✓ | +&xep0280; | +
User Blocking | +✕ | +✕ | +✓ | +✓ | +&xep0191; | +
Group Chat | +✓&component; | +✓&usecases; | +✓&component; | +✓&usecases; | +&xep0045; |
+
Advanced Group Chat | +✕ | +✕ | +✓&component; | +✓ | +&xep0048;, &xep0313; |
+
Persistent Storage of Private Data via PubSub | +✕ | +✕ | +✓&component; | +✓ | +&xep0223; | +
Private XML Storage | +✕ | +✕ | +✓&component; | +✓ | +&xep0049; | +
Session Resumption | +✕ | +✕ | +✓ | +✓ | +&xep0198; | +
Stanza Acknowledgements | +✕ | +✕ | +✓ | +✓ | +&xep0198; | +
Message Acknowledgements | +N/A | +✕ | +N/A | +✓ | +&xep0184; | +
History Storage / Retrieval | +✕ | +✕ | +✓ | +✓ | +&xep0313; | +
Chat States | +N/A | +✕ | +N/A | +✓ | +&xep0085; | +
Message Correction | +N/A | +✕ | +N/A | +✓ | +&xep0308; | +
+ To be considered XMPP mobile compliant, all features from the core + compliance category must be met, as well as all features in this suite. +
+Feature | +Core Server | +Core Client | +Advanced Server | +Advanced Client | +Providers | +
---|---|---|---|---|---|
Session Resumption | +✓ | +✓ | +✓ | +✓ | +&xep0198; | +
Stanza Acknowledgements | +✓ | +✓ | +✓ | +✓ | +&xep0198; | +
Client State Indication | +✓ | +✓ | +✓ | +✓ | +&xep0352; | +
Third Party Push Notifications | +✕ | +✕ | +✓&component; | +✓ | +&xep0357; | +
This section outlines the protocol specifications that will become + relevant fot developers in the future, but are not ready for production + yet. THIS IS A VERY ROUGH TEMPORARY LIST MEANT FOR DISCUSSION!
++ Some of the protocol specifications referenced herein have their own + dependencies; developers need to consult the relevant specifications for + further information. +
++ This document introduces no additional security considerations above and + beyond those defined in the documents on which it depends. +
+This document requires no interaction with &IANA;.
+This document requires no interaction with the ®ISTRAR;.
++ The author would like to thank Guus der Kinderen, Dele Olajide, Marc + Laporte, Dave Cridland, Daniel Gultsch, Florian Schmaus, Tobias Markmann, + and Jonas Schäfer for their suggestions. +
+