I am configuring a Prosody server for use with mobile clients supporting OMEMO. I've picked Conversations as a reference client since I'm familiar with it. What Prosody modules do I need to install to support it?
Asked
Active
Viewed 9,819 times
1 Answers
13
Conversations provides a list of XEPs requiring server-side support, reproduced below with links to the corresponding Prosody 0.9.x modules.
For encrypted group chat (OMEMO support), you strictly need only mod_pep
and mod_roster
. The other modules account for additional functionality in an OMEMO context (e.g. sharing files) and environments (e.g. mobile clients, client behind a firewall).
- XEP-0065: mod_proxy65
- XEP-0163: mod_pep (core)
- XEP-0191: mod_blocking
- XEP-0198: mod_smacks
- XEP-0237: mod_roster (core)
- XEP-0280: mod_carbons
- XEP-0313: mod_mam (1:1 chat only, for MUC support see Prosody 0.10 notes below)
- XEP-0352: mod_csi
- XEP-0363: mod_http_upload
- XEP-0357: mod_cloud_notify (optional, only required for push notifications)
Notes:
- mod_proxy65 should ideally point to an alternate DNS record for the same server
- mod_blocking requires mod_privacy
- mod_csi doesn't define rules for XEP-0352 - additional modules are required for these definitions, they are listed on the mod_csi page
- mod_http_upload requires mod_http and others
Prosody 0.10 notes:
- mod_blocking will be replaced by mod_blocklist
- mod_carbons will become a core module
- mod_mam only supports 1:1 chats, Conversations will mark your MUCs as "XEP-0313: MAM unavailable". To support groups, you need mod_mam_muc. But according to the module page (as of March 2017) this works only on trunk (and partially on 0.10)
References:
lofidevops
- 1,275
- 3
- 13
- 23
-
1You missed "cloud_notify" (XEP_0357), which is required for Coversations. – Mirko Jun 30 '17 at 07:55
-
3One issue to bear in mind is that [mod_pep data is currently not persistent](https://prosody.im/issues/issue/485), which may result in [an inability to send messages to an offline participant after a server restart](https://github.com/omemo/gajim-omemo/issues/152), because the necessary keys are not present. Work on the relevant issue was "started" in April 2017, but code to implement persistence has not yet been committed, and at this time it seems it may not get into 0.10. – GreenReaper Jul 22 '17 at 21:14