Work Stream Collaboration (Chats)#
Carbonio Work Stream Collaboration (Chats) Role is a multi-layered software that adds the video meeting and recording functionalities to Carbonio.
This Role can currently be installed only manually, so please read Sections Limitations and Requirements below.
If you plan to install this Role in an existing Carbonio infrastructure, please read carefully Section Installation.
Limitations#
In the current release 24.9.0, the following limitation apply to the installation of the Work Stream Collaboration (Chats) Role
It must be installed manually, there is no Ansible support for the installation
It can not be installed on the same Node as Carbonio VideoServer
Data from the legacy Chats module can not be exported to new Work Stream Collaboration (Chats) Role
Requirements#
The Work Stream Collaboration (Chats) Role is quite complex in terms of both internal architecture and installation, therefore it requires to pay some attention while installing it:
All commands and all file editing activities must be executed as the
root
user, unless noted differentlyThe
carbonio-user-management
package must be installed in the Carbonio infrastructure (it is part on the Proxy Role)Carbonio Work Stream Collaboration (Chats) requires that some ports, which are listed in Firewall Ports, be forwarded on this and on the Proxy Nodes
Installation#
The directions in the reminder of this page apply to a new installation of Carbonio. If you already have an existing Carbonio infrastructure, the procedure is very similar, but you have to take into account the following points:
The Carbonio VideoServer or Chats modules may be already installed within the infrastructure, but you can keep them: the Work Stream Collaboration (Chats) does not share any component with them
-
There is a Preparation phase that requires to install some package on other Nodes before starting the Work Stream Collaboration (Chats) installation.
Install the database components on the Database Node: please follow the instructions to Section Database Components of Work Stream Collaboration (Chats)
Install package
carbonio-ws-collaboration-ui
on the Proxy NodeInstall package
carbonio-broker
on the Mesh and Directory NodeInstall the Video Server & Video Recording (WSC) Role on a dedicated Node or in any Node that does not feature Video Server & Video Recording, because they are not compatible
Now, depending on how you plan to install Work Stream Collaboration (Chats), the procedure slightly changes.
If you plan to install Work Stream Collaboration (Chats) on a dedicated Node, make sure that you install Video Server & Video Recording (WSC) on another dedicated Node, then follow the installation procedure as it described below, starting from the next section, Install Packages.
If you plan to install Work Stream Collaboration (Chats) on an existing Node, then skip Sections Bootstrap Carbonio and Join Carbonio Mesh.
Install Packages#
This section presents the procedure to install and configure all the packages and the Node on which to install them. Please remember to read section Requirements above before starting the actual package installation.
Warning
In case you install this Role on a Node which already
features the Mesh and Directory Role, make sure you do not
install the service-discover-agent
package.
# apt install postgresql-client carbonio-message-dispatcher \
carbonio-ws-collaboration carbonio-notification-push \
carbonio-push-connector service-discover-agent
# dnf install carbonio-message-dispatcher \
carbonio-ws-collaboration carbonio-notification-push \
carbonio-push-connector service-discover-agent
Install PostgreSQL repository
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Install PostgreSQL client
# dnf -y install postgresql16
# dnf install carbonio-message-broker \
carbonio-message-dispatcher carbonio-ws-collaboration \
carbonio-videoserver-advanced carbonio-videorecorder \
carbonio-notification-push carbonio-push-connector \
service-discover-agent
Install PostgreSQL repository
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Install PostgreSQL client
# dnf -y install postgresql16
Bootstrap Carbonio#
Execute:
# carbonio-bootstrap
The bootstrap command will execute a number of tasks and will set up the node. At the end, you will be prompted with a menu and, if you already configured all, you only need to click y for confirmation.
On RHEL 9 only, restart the node to ensure that Carbonio service
management come under the control of systemd
:
# reboot
During the process, you need to provide these values, which you can retrieve from the first Mesh and Directory node.
Ldap master host
is the FQDN of the first Mesh and Directory Node, (example: ldap-mstr.example.com)Ldap Admin password
is obtained from the first Mesh and Directory Node (ldap-admin-password)
Join Carbonio Mesh#
Carbonio Mesh is required to allow communication between Carbonio and its components. The configuration is interactively generated by command
# service-discover setup-wizard
This command will:
ask for the IP address and netmask
-
ask for the Carbonio Mesh secret, which is used for setups, management, and to access the administration GUI. See section Carbonio Mesh Administration Interface for more information.
This password will be denoted as MESH_SECRET throughout the documentation.
Hint
We suggest to use a robust password which is at least 16 characters long, including at least one of lowercase and uppercase letters, numbers, special characters and store it in a password manager.
In case the password is lost or the credential file becomes corrupted and unusable, you can reset them using the procedure detailed in section Carbonio Mesh Credentials.
store the setup in file
/etc/zextras/service-discover/cluster-credentials.tar.gpg
To complete Carbonio Mesh installation, run
# pending-setups -a
Hint
The secret is stored in file
/var/lib/service-discover/password
, which is accessible
only by the root
user.
Dispatcher DB Migration#
Initialise the message dispatcher
# PGPASSWORD=$DB_ADM_PWD carbonio-message-dispatcher-migration \
carbonio_adm 127.78.0.10 20000
Restart the service
# systemctl restart carbonio-message-dispatcher
Configuration#
If you want to enable mobile notification, you need to configure mobile notifications and Push Notifications according to the directions given below.
The following lines must be added to file
/etc/carbonio/message-dispatcher/mongooseim.toml
to properly
allow notication push:
[outgoing_pools.http.http_pool.connection]
host = "http://127.78.0.10:20001"
request_timeout = 5000
[modules.mod_event_pusher.http]
[[modules.mod_event_pusher.http.handlers]]
pool_name = "http_pool"
path = "/notifications"
Then, restart the service.
# systemctl restart carbonio-message-dispatcher
This service requires two files that will be provided by the Zextras Sales representative. They must be saved on the Work Stream Collaboration (Chats) Node as follows:
file service-account-file.json must be saved under directory
/etc/carbonio/notification-push/android
file wscassets/auth-key.p8 must be saved under directory
/etc/carbonio/notification-push/ios
Next, configure them using the following commands
# consul kv put -token-file="/etc/carbonio/notification-push/service-discover/token" \
"carbonio-notification-push/apns/team-id" "X95YE8AZMB"
# consul kv put -token-file="/etc/carbonio/notification-push/service-discover/token" \
"carbonio-notification-push/apns/key-id" "DN8BH5LMKG"
# consul kv put -token-file="/etc/carbonio/notification-push/service-discover/token" \
"carbonio-notification-push/apns/topic" "com.zextras.chats"
Enable Work Stream Collaboration (Chats)#
You need to allow each user to use Work Stream Collaboration (Chats), either from the Carbonio Admin Panel
or running from the CLI the following command as the zextras
user,
replacing the e-mail address with the one of the user.
zextras$ carbonio prov ma john@example.com default carbonioFeatureChatsEnabled TRUE
To let Carbonio pick up the change, restartg the service
# systemctl restart carbonio-ws-collaboration
Hint
If the Work Stream Collaboration (Chats) installation is successful, you can optimise some values according to the guidelines that you can find in section WSC Optimisations.
Troubleshooting & Checks#
WSC Status Check#
The following command will output a detailed status of Work Stream Collaboration (Chats) and of all its dependencies.
# curl -v http://127.78.0.4:10000/health | jq