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?
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_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)
- 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)