Configuring Microsoft Teams Chat and Channel Archiving
In order to complete the steps below, you must have a System Administrator role in Verba.
Architecture
The following diagrams show the connections in a highly available Microsoft Teams chat and channel archiving environment when using the Webhook/DLP API (left), and Export API (right).
When there are multiple Recording Servers, and there is load-balancing between them, then the value of these settings will be different.
Number of Receiving Queues Owned by Director Role = Total Active Recording Server cores * 2 or Number of Receiving Queues Owned by Director Role = Number of Processing Queues Owned by Recorder Role setting * number of recorders
The "Number of Processing Queues Owned by Recorder Role" setting also has to be the same on all Recording Servers (Media Recorder). But instead of the total active cores, this setting is always equal to the number of CPU cores of the individual Recording Servers (Media Recorders) multiplied by two.
Number of Processing Queues Owned by Recorder Role = Individual Recording Server cores * 2
For example, if there are two Recording Servers with 4 CPU cores each, then the "Number of Processing Queues Owned by Recorder Role" setting will be 8 on each servers (Media Recorders), and the "Number of Receiving Queues Owned by Director Role" setting will be 16 on each servers (Recording Directors).
If there are three Recording Servers with 4 CPU cores each, and one of them is standby (N+1), then the numbers will be the same. The "Number of Processing Queues Owned by Recorder Role" setting will be 8 on each server (Media Recorder), and the "Number of Receiving Queues Owned by Director Role" setting will be 16 on each server (Recording Director).
Configuration
Prerequisites
Assigning a Public IP Address (Webhook/DLP API only)
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 load-balancer.
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:
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]\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 separate network location accessible from all servers.
Assigning Certificates (Webhook/DLP API only, optional)
For the connection encryption certificate, both publicly signed and locally generated certificate works. 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 an asterisk in the SAN is accepted. The private key of the certificate has to be exportable.
Configuring Microsoft Teams chat and channel archiving with Webhook/DLP API
The configuration steps for the Webhook/DLP API can be found here:
Configuring Microsoft Teams chat and channel archiving with Export API
The configuration steps for the Export API can be found here:
Configuring Separated Recording Director and Media Recorder roles
Separating the Recording Director and Media Recorder roles is not recommended.
In the case of the Webhook/DLP API, it is possible to separate the Recording Server roles.
The following configuration steps need 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
Configuring multi tenant Microsoft Teams chat and channel archiving
To configure Microsoft Teams chat and channel archiving in a multi tenant system:
Configuring multi tenant Microsoft chat and channel archiving
Adding users for chat and channel archiving
Chat archiving
When using either the DLP/Webhook or the Export API-based integrations, in order to enable chat archiving for specific users, create the users and the extensions in VFC. This can also be done using Active Directory Synchronization.
The extensions must:
- Be of User/Agent ID type.
- Match the Azure AD Object ID of the users (not the User Principal Name or email address).
Channel archiving
Using the DLP/Webhook integration
To enable channel archiving for specific users using the DLP/Webhook integration, create the users and the extensions in VFC. This can also be done using Active Directory Synchronization.
The extensions must:
- Be of User/Agent ID type.
- Match the Azure AD Object ID of the users (not the User Principal Name or email address).
Using the Export API integration
Due to limitations in the Microsoft Export API, channel archiving using the Export API can only be enabled on a Microsoft Teams team-level (group in Azure AD), not on a user-level. To enable this functionality, add the teams to VFC as recorded extensions.
The extensions must:
- Be of Team type.
- Match the Azure AD Object ID of the team/group.
You can also import teams using Active Directory Synchronization, under Users / Import Teams / Channels.
If configuring channel archiving using the Export API in a multi-tenant environment, you must add the Tenant ID of the Microsoft Teams tenant to any environments for which you configure channel archiving under System / Environments.