Video Server & Video Recording (WSC)#

Before installing this Role on the Carbonio infrastructure, make sure that you installed the Mailstore & Provisioning, which is a requirement for this Role.

Note

This Role can not be installed on the same Node as Video Server & Video Recording.

Install Packages#

This Role consists of Video Server (WSC) and Video Recording. You need to install the latter only if you plan to record video meetings, otherwise you can install Video Server without Video Recording. For this reason we split this Role’s installation in two parts.

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.

Video Server
# apt install carbonio-videoserver-advanced service-discover-agent
# dnf install carbonio-videoserver-advanced service-discover-agent

During the installation of the packages, you need to insert the IP public address (i.e., the one that will accept incoming connections to the Carbonio VideoServer) on which the Carbonio VideoServer is installed.

Video Recording
# apt install carbonio-videoserver-recorder
# dnf install carbonio-videoserver-recorder

The following manual command is required if the Video Recorder is installed at a later point. Make sure to use the same FQDN (videoserver.example.com) and secret (A_SECRET_PASSWORD) used to configure the Carbonio VideoServer.

Hint

A_SECRET_PASSWORD is saved as the value of api_secret in file /etc/janus/janus.jcfg (e.g., example api_secret = "+xpghXktjPGGRIs7Y7ryoeBvW9ReS8RQ").

zextras$ carbonio chats video-server update-servlet videoserver.example.com:8188 8090

You can then enable the Video Recorder on a user, COS, or global level, please refer to section Configure Carbonio VideoServer Recording for directions.

The recorded sessions will be stored in directory /var/lib/videorecorder/ on the Node which features the Mailstore & Provisioning Role, because the ability to record requires a Node which features that Role. Make sure that the directory has sufficient free space, otherwise recorded videos can not be stored.

Hint

You can mount on that location a dedicated disk or partition and keep it monitored for space usage.

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

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.

Complete installation#

After the pending-setups command has completed, you need to carry out these tasks.

  1. Execute, as the root user the script that enables the correct routing to the Carbonio VideoServer. You need to provide the Carbonio Mesh credentials

    # carbonio-videoserver-routing
    
  2. make sure that the Video Server’s IP address is present in the configuration file /etc/janus/janus.jcfg and add it if missing: find the variable nat_1_1_mapping and add it, for example: nat_1_1_mapping = "93.184.216.34"

  3. restart the service

    # systemctl restart carbonio-videoserver
    

Troubleshooting#

Broker & Video Server Check#

To make sure that videoserver and message broker are connected successfully, check that in the carbonio-videoserver logs (journalctl -u carbonio-videoserver) you find the line:

RabbitMQEventHandler: Connected successfullySetup of RabbitMQ event
handler completed