Supporting and configuring specific XMPP Extensions in ejabberd
XMPP extensions support can be implemented in different ways in ejabberd. We have several cases:
- The extension must be implemented as a core feature of ejabberd. In that case, it may be supported as default and / or have configuration options in ejabberd config files.
- The extension can be optional and implemented as a module.
- The extension may additionally need to be enabled on the client stream to use it (For example MAM or stream management).
This section is here to help you understand how they are implemented XEP by XEP in ejabberd. We intend to explain what you can do in case you want to support a given XEP or if you want to make sure a specific Extension is disabled.
XEP-0004: Data Forms
This extension is a general design principle for forms in XMPP. The principles are applied by all services, components and modules inside ejabberd.
Enabling / Disabling
As it is a general specification, it is used as default and cannot be disabled.
XEP-0012: Last Activity
Main ejabberd module: mod_last.erl
This extension is optional. It allows the server to send back information about when the user disconnected their last session.
It also allows to query the uptime of an ejabberd server.
mod_last configuration in
modules section of the
It is enabled by default in ejabberd configuration template.
mod_last is not defined or is commented out in ejabberd
No side effect.
XEP-0013: Flexible Offline Message Retrieval
Main ejabberd module: mod_offline.erl
This extension is active on server if
mod_offline module is enabled on ejabberd.
However, it is not used by client automatically. Flexible offline message retrieval is enabled in the following cases:
- client send request to retrieve number of messages prior to sending its initial presence: Requesting Number of Messages
- client send request to retrieve messages headers prior to sending its initial presence: Requesting Message Headers
- client send all messages retrieval request prior to sending its initial presence: Retrieving All Messages
mod_offline configuration in
modules section of the
It is enabled and can be used by client if mod_offline is enabled. This is a module enabled by default in default ejabberd configuration file template.
mod_offline is not defined or is commented out in
Side effect: It will disable all offline messages storage.