Supported XMPP Features

Table of Contents

XEP-0012 Last Activity

This extension needs client support.

XEP-0016 Privacy Lists

MAXS Transport XMPP tries to configure a privacy list that only allows stanzas from JIDs that have the subscription attribute 'both' and messages with the subscription attribute 'to'. All other stanzas are rejected.

This prevents a potential DOS vector, where an attacker sends a massive amount of stanzas to the device running MAXS. While we believe that no remote exploit would be possible, it still could negatively affect battery lifetime and other aspects of the user experience.

This extension needs server support

XEP-0030 Service Discovery

Allows XMPP entities to discover information about other entities.

This extension needs server and client support.

XEP-0033 Extended Stanza Addressing

If a stanza has to be sent to multiple entities, MAXS Transport XMPP tries to make use of Extended Stanza Addressing, so that instead of sending the same stanza multiple times, it is only send once addressed to multiple XMPP entities.

This extension needs server support.

XEP-0047 In-Band Bytestreams

MAXS Transport XMPP uses In-Band Bytestreams as fallback method for file transfers.

This extension needs client support.

XEP-0065 SOCKS5 Bytestreams

MAXS Transport XMPP uses SOCKS5 Bytestreams as primary, NAT resistant, method for XMPP file transfer.

This extension needs client support. Other XMPP entities, such as servers, may also support SI File Transfer, for increased reliability. This extension needs server and client support.

XEP-0071 XHTML-IM

MAXS Transport XMPP will automatically detect if the involved XMPP entities support XHTML-IM and add the XHTML-IM body to messages if supported.

This extension needs clients support.

XEP-0077 In-Band Registration

MAXS Transport XMPP allows you to conveniently register an XMPP account from within the application on servers supporting it.

This extension needs server support.

XEP-0092 Software Version

MAXS Transport XMPP will report it's version including the git revision and built date when queried by a master JID for it. Furthermore the returned information will also include the used Android version and API Level and the Smack (the used XMPP library) version, git revision and built date.

XEP-0095 Stream Initiation

This extension needs client support.

XEP-0096 SI File Transfer

Used for the file transfer feature of Project MAXS. Note that XEP-0069, XEP-0047 and XEP-0065 based XMPP file transfers are per default not encrypted.

This extension needs client support. Other XMPP entities, such as servers, may also support SI File Transfer, for increased reliability.

XEP-0115 Entity Capabilities

Entity Capabilities provides a mechanism for caching, and hence eliding, the disco#info requests needed to negotiate optional features. It therefore lowers power consumption when used.

This extension needs clients supporting it. Other XMPP entities, such as servers, may also use Entity Capabilities.

XEP-0138 Stream Compression

MAXS Transport XMPP will try to use stream compression if configured and available. Experiments show that stream compression will increase battery lifetime for mobile devices because of the reduced radio usage. More information can be found in XEP-0286.

This extension needs server supporting it.

XEP-0184 Message Delivery Receipts

Tip: Get Gajim 0.16 and set positive_184_acks to true in Gajim's "Advanced Configuration Editor" to get the most out of XEP-0184 :)

This extension needs clients supporting it.

XEP-0198 Stream Management

XMPP Stream Management enables fast resumption of the XMPP Connection in case there is a sudden disconnect (e.g. Wifi ↔ GSM switch). Using MAXS with enabled Stream Mangement on XMPP services that support this feature will improve the connection reliablitiy somewhat.

XEP-0199 XMPP Ping

MAXS Transport XMPP sends periodically XMPP pings to the user's server in order to test the XMPP connection.

Validate