COI (Chat Over IMAP)¶
Enabling the plugins¶
COI is only configured at backends, and needs no changes in proxies or directors.
Webpush needs to be added to global mail_plugins
and COI plugin needs to be
added to mail_plugins
of imap and lmtp protocols separately as follows:
mail_plugins = $mail_plugins notify push_notification webpush
protocol imap {
mail_plugins = $mail_plugins imap_coi
}
protocol lmtp {
mail_plugins = $mail_plugins lmtp_coi
}
COI uses imap metadata for configuration, so mail_attribute_dict
has to
be configured, for example:
mail_attribute_dict = file:%h/dovecot-attributes
Webpush configuration¶
Note
The actual pushes are not implemented yet, nothing is sent by the plugin.
Webpush imap capability needs to be enabled manually:
imap_capability = +WEBPUSH
Webpush plugin can be configured with the plugin settings:
webpush_subscription_expire
sets how fast subscriptions have to be validatedwebpush_subscription_limit
sets how many subscriptions a user can have simultaneouslywebpush_vapid_curve
sets which EC curve is used for VAPID keys. Supported values areprime256v1
,secp384r1
andsecp521r1
.
The defaults are:
plugin {
push_notification_driver = webpush
webpush_subscription_expire = 5 min
webpush_subscription_limit = 10
webpush_vapid_curve = prime256v1
}
COI configuration¶
The only COI plugin setting is coi_mailbox_root
. It configures where the
plugin creates Chat and Contacts folders. The default is:
plugin {
coi_mailbox_root = COI
}