mod_csi Client State Indication

This module implements the CSI protocol that allows clients to report their active/inactive state to the server using XEP-0352.

This state may be used by other modules, for example to allow traffic optimisation for mobile devices.

Compatible modules

This section lists some modules that use the information provided by mod_csi.

Traffic optimisation

For optimising traffic please consider one of the below options. Enabling multiple traffic optimisation modules may cause problems.


This module tries to prevent waking up inactive devices by delaying unimportant data for as long as possible. It does not drop or modify the traffic in any way, which makes it a fairly safe module.

Occasionally it may not identify some important stanzas, such as some kinds of encrypted messages, causing them to be delayed. For known issues please see #1250.

mod_battery_saver (community)

This community module takes a similar approach to mod_csi_simple but has many additional rules, and integration with mod_cloud_notify and mod_smacks from the community repository.

If you are using mod_cloud_notify, consider using this module instead of mod_csi_simple.

mod_throttle_presence, mod_throttle_chatstates (community)

These are experimental modules that go a step further and actually discard certain kinds of stanzas that they decide are unnecessary to deliver to inactive clients. This may technically be against the XMPP specification, and have the potential to cause bugs. However they are being used by some people successfully, and may actually reduce overall bandwidth usage for mobile devices.