
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
Specification
Implementation
ejabberd core
Comment
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
Specification
Implementation
Main ejabberd module: mod_last.erl
Comment
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.
Enabling
Add mod_last
configuration in modules
section of the
configuration file.
It is enabled by default in ejabberd configuration template.
Disabling
Make sure mod_last
is not defined or is commented out in ejabberd
config modules
section.
No side effect.
Module documentation
XEP-0013: Flexible Offline Message Retrieval
Specification
XEP-0013: Flexible Offline Message Retrieval
Implementation
Main ejabberd module: mod_offline.erl
Comment
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
Enabling
Add mod_offline
configuration in modules
section of the
configuration file.
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.
Disabling
Make sure mod_offline
is not defined or is commented out in
ejabberd config modules
section.
Side effect: It will disable all offline messages storage.