Compliance tests

RFC 6121: Roster Versioning

Provides a way to send roster changes efficiently from servers by associating a version with roster and sending only the changed parts of roster

XEP-0215: External Service Discovery (STUN)

Checks if the server provides a STUN server

XEP-0215: External Service Discovery (TURN)

Checks if the server provides a TURN server

XEP-0153: vCard-Based Avatar (MUC)

MUC Avatars

XEP-0045: Multi-User Chat

Provides a way for multiple users to create a room and chat with each other.

XEP-0065: SOCKS5 Bytestreams (Proxy)

Provides a generic protocol for streaming binary data between any two entities on an XMPP network. It establishes an out-of-band bytestream between any two XMPP users which can be direct(peer-to-peer) or mediated.

XEP-0115: Entity Capabilities

Provides a robust, scalable way for exchanging information about capabilities supported by an entity. It caches the results determined with the help of XEP-0030 for improved network efficiency.

XEP-0160: Best Practices for Handling Offline Messages

Checks if the server follows the best practices for Jabber/XMPP servers in handling messages sent to recipients who are offline.

XEP-0163: Personal Eventing Protocol

Allows users to send updates or events to all the contacts present in their roster. It is also used for avatars and enabling OMEMO encryption

XEP-0191: Blocking Command

Provides an easy to implement method to block communications with selected users.

XEP-0198: Stream Management

Improves network reliability by adding support for resuming terminated streams and adding the ability to know if a stream has been received by peer.

XEP-0280: Message Carbons

Provides a way for all clients of a user to be engaged in a conversation by carbon-copying outbound messages to all resources.

XEP-0313: Message Archive Management

Provides a protocol to query and control an archive of messages stored on a server. It is used to synchronise conversation history seamlessly between multiple clients, record conversations that take place on clients that do not support local history storage, etc.

XEP-0313: Message Archive Management (Multi-User Chat)

Provides a protocol to query and control an archive of messages of a multi user chat stored on a server. It is used to synchronise conversation history seamlessly between multiple clients, record conversations that take place on clients that do not support local history storage, etc. for a MUC

XEP-0352: Client State Indication

Allows a client to indicate its active/inactive state. This reduces bandwidth and resources required by optimising the traffic accordingly

XEP-0357: Push Notifications

Defines a way for an XMPP servers to deliver information for use in push notifications to mobile and other devices.

XEP-0363: HTTP File Upload

Provides a protocol for transferring files between entities by uploading the file to an HTTP server.

XEP-0368: SRV records for XMPP over TLS

Provides users a virtually zero overhead way to bypass restrictive firewalls that only allow HTTP over port 80 and HTTPS over port 443. For servers, it allows multiple services to run on the same port.

XEP-0384: OMEMO Encryption

Provides a protocol for secure multi-client end-to-end encryption.

XEP-0398: User Avatar to vCard-Based Avatars Conversion

Converts between vCard and PEP based avatars

Informational tests

XEP-0157: Contact Addresses for XMPP Services (Abuse)

Checks if the server has a contact for reporting spam/abuse.

XEP-0077: In-Band Registration

Provides a protocol for registration of users directly through XMPP (in-band) or to discover a website on which users can register (out-of-band).

XEP-0156: Discovering Alternative XMPP Connection Methods (HTTP)

Allows web clients to discover connections methods

XEP-0280: Message Carbons - Recommended Rules

Modern rules for which messages should be carbon-copied

XEP-0313: Message Archive Management (extended usage)

Provides extended query support for MAM including before-id, after-id, and archive metadata.

XEP-0363: HTTP File Upload (CORS Headers)

Provides a protocol for transferring files between entities by uploading the file to an HTTP server.

XEP-0402: PEP Native Bookmarks

Converts between PrivateXML, legacy PEP, and native PEP bookmarks