Configuring Microsoft Teams Chat Recording

In order to complete the steps below, you must have System Administrator role in Verba. 

The registration consists of the following steps:

Recording architecture

 The following diagram shows the connections in a highly available Microsoft Teams IM recording environment.

File queue setup for failover and load-balancing

In a highly available environment, only one of the Recording Director servers is writing into the file queues at once, depending on which one receives the events from the Application Gateway. The "Number of Receiving Queues Owned by Director Role" setting has to be the same on all Recording Director servers. This setting has to be the same as the total Media Recorder cores (without redundancy) multiplied by two.

In the Media Recorder configuration, the "Number of Processing Queues Owned by Recorder Role" setting has to be specified, and it has to be the same on all the Media Recorder servers. When there is no load-balancing (1+1 servers), then the "Number of Processing Queues Owned by Recorder Role" configuration will be equal to the total number of file queues. When load-balancing is being used (N+1), the file queues have to be distributed between the (active or N) Media Recorders, so the "Number of Processing Queues Owned by Recorder Role" configuration will be the quantity of the file queues divided by the quantity of the (active or N) recorders.

In the case of N+1 setup, an extra Media Recorder has to be added. When a Media Recorder (N) is started, it will pick up X queues depending on its "Number of Processing Queues Owned by Recorder Role" configuration. When the last Media Recorder (+1) is starting up, all the file queues will be taken already, so the last recorder will be the standby recorder. If a Media Recorder goes down, the standby recorder picks up its queues, and becomes an active recorder. When the Media Recorder comes back, it will be the new standby recorder.

Highly available setup with load-balancing:

Highly available setup without load-balancing:

Configuration

Prerequisites

Assigning a Public IP Address

For a single non-HA setup, the Recording Server (Recording Director) needs to have a public IP address. In the case of a highly-available setup, the public IP address has to be assigned to the loal-balacer.

Creating an App Registration in Azure

Before configuring the Verba Recording Server(s) for Microsoft Teams Chat recording, an App Registration has to be created in Azure. For the configuration steps, see: 

Registering an App for Mirosoft Teams Chat Recording in Azure

Creating the File Queue folder

A root folder has to be created for the processing queues. In the case of a single-recorder setup, this folder can be created on the local disk of the server (recommended path: [APPLICAION_FOLDER]\media\processing_queue). In the case of a HA setup, the processing queue folder cannot be created on the local disk of the Recording Server. Instead, it has to be created on a seperate network location accessible from all servers.

Assigning Certificates

publicly signed certificate is required. Only CSP certificates are supported (CNG/KSP certificates are not supported). The SAN configuration of the certificate must include the public address of the Recording Server, or the load-balancer in the case of multiple Recording Servers. Using asterisk in the SAN is accepted. The private key of the certificate has to be exportable.

Configuring a single-recorder setup

The configrauin steps of the single-recorder setup can be found here:

 Configuring the Verba Unified IM Recorder Service for Microsoft Teams Chat Recording

Configuring a highly-available setup

The following configuration steps needs to be done when the Recording Director and the Media Recorder roles are separated:

Step 1 - Configuring the Verba Unified IM Recorder Service on the Recording Director Servers

Step 2 - Configuring the Verba Unified IM Recorder Service on the Media Recorder Servers

Co-located Recording Directors and Media Recorders in a highly available setup

Alternatively, the Recording Director and the Media Recorder servers can be co-located. In this case, do the single-recorder setup for each servers, but use the file queues on the network location instead of creating them on the local disks, and use the common certificate for the Teams connections.