Mercurial > prosody-modules
view mod_ping_muc/README.md @ 5929:c094eabdb30f
mod_ping_muc: Describe the client facing protocol (from XEP-0045)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 11 Jul 2024 15:14:33 +0200 |
parents | 0772facc786f |
children | d60e04d3996e |
line wrap: on
line source
--- summary: Yet another MUC reliability module rockspec: dependencies: - mod_track_muc_joins labels: - Stage-Alpha ... This module reacts to [server-to-server][doc:s2s] connections closing by performing [XEP-0410: MUC Self-Ping] from the server side to check if users are still connected to MUCs they have joined according [mod_track_muc_joins]. If it can't be confirmed that the user is still joined then their client devices are notified about this allowing them to re-join. # Installing ``` prosodyctl install mod_ping_muc ``` # Configuring No configuration. Enable as a regular module in [`modules_enabled`][doc:modules_enabled] globally or under a `VirtualHost`: ```lua modules_enabled = { -- other modules etc "track_muc_joins", "ping_muc", } ``` # Client facing protocol If the module determines that the client has dropped out a MUC, it sends it [a stanza to indicate this](https://xmpp.org/extensions/xep-0045.html#service-error-kick): ``` xml <presence type="unavailable" id="random123" from="room@muc.host/nickname" to="user@example.net/resource"> <x xmlns="http://jabber.org/protocol/muc#user"> <item affiliation="none" role="none"> <reason>Connection to remote server lost</reason> </item> <status code="110"/> <status code="330"/> </x> </presence> ``` The `reason` message may vary. Upon receiving this, the client may attempt to [rejoin](https://xmpp.org/extensions/xep-0045.html#enter). # Compatibility Requires Prosody 0.12.x or trunk