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.12.1, 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 differently

  • The 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 be forwarded from the Internet to the Carbonio VideoServer and Proxy Nodes, according to the following table:

    Port

    Protocol

    To Node

    Service

    20000-40000

    UDP

    Carbonio VideoServer

    Client connections for the audio and video streams

    5222

    TCP

    Proxy

    Message Dispatcher

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.

    1. Install the database components on the Database Node: please follow the instructions to Section Database Components of Work Stream Collaboration (Chats) remembering to bootstrap the Message Dispatcher and the Work Stream Collaboration (Chats) databases

    2. Install package carbonio-ws-collaboration-ui on the Proxy Node

    3. Install package carbonio-message-broker on the Mesh and Directory Node

    4. Install 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 service-discover-agent
# dnf install carbonio-message-dispatcher \
  carbonio-ws-collaboration 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-dispatcher \
carbonio-ws-collaboration 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 will install as an agent, that connects and communicates with the server. The configuration for the agent is created by launching command

# service-discover setup-wizard

This command will:

  • ask for the IP address and netmask of the current Node

  • ask for the Carbonio Mesh secret, which is stored in file /var/lib/service-discover/password on the Directory Leader Node (i.e., the node on which the Mesh server is installed)

    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.

Pending setups#

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.

The command will ask for the password stored in the /var/lib/service-discover/password on the Directory Leader Node (i.e., the node on which the Mesh server is installed).

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

Enable Work Stream Collaboration (Chats)#

Work Stream Collaboration (Chats) can be enabled from the Carbonio Admin Panel at account or COS level: please refer to Sections Account / Configuration and Features, respectively.

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.

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