Video Server & Video Recording#

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 (WSC).

Install Packages#

This Role consists of Video Server 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.

The Video Server Role requires that the Mailstore & Provisioning be already installed, because you need to execute a command on the Node hosting that Role to configure the Video Server.

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 service-discover-agent
# dnf install carbonio-videoserver 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.

After the installation, make sure that the 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"

Configure the Carbonio VideoServer

During the installation, a command similar to the one below is displayed. Copy it and execute on the Node on which the Mailstore & Provisioning is installed.

zextras$ carbonio chats video-server add videoserver.example.com port 8188 \
secret A_SECRET_PASSWORD

Replace example.com with the actual domain name or IP, 8188 the port associated with the Carbonio VideoServer, respectively, and A_SECRET_PASSWORD with the value of the variable api_secret in file /etc/janus/janus.jcfg on the Node installing the Video Server Role, for example:

api_secret = "+xpghXktjPGGRIs7Y7ryoeBvW9ReS8RQ"

Finally, enable and start the service with the commands

# systemctl enable videoserver.service
# systemctl start  videoserver.service
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.

A recorded session is temporary stored in directory /var/lib/videoserver/ on the Node featuring the Carbonio VideoServer Role: make sure that this directory has sufficient free space, otherwise recorded videos can not be stored. As soon as the recording session terminates, the file will be processed and moved to the Node featuring the Mailstore & Provisioning.

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 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).

Advanced Configuration#

You can configure some advanced settings of the Carbonio VideoServer, including codecs, audio settings, and more from the CLI: please refer to section Carbonio VideoServer.

Enable Chats#

Chats is disabled by default, you can enable it by running a few CLI commands that you can find in section Enable Chats.