Configuring the Verba Microsoft Teams Bot and Unified Call Recorder Services

Configuring the Verba Microsoft Teams Bot and Unified Call Recorder Services

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

It is recommended to co-locate the Verba Microsoft Teams Bot service and the Verba Unified Call Recorder service on the same Azure virtual machine.

The registration consists of the following steps:

Enabling the services

Step 1 - Log in to the Verba web interface and go to System \ Servers menu.

Step 2 - Select your Recording (Bot) Server from the list, then click on the Service Activation tab.

Step 3 - Activate the Verba Microsoft Teams Bot Service and the Verba Unified Call Recorder Service by clicking on the 

 icon.

Configuring the Verba Microsoft Teams Bot service

Step 4 - Click on the Change Configuration Settings tab.

Step 5 - Expand the Microsoft Teams Bot node.

Step 6 - Under General, provide a regex pattern at the Internal Tenant IDs, Numbers Pattern setting. This pattern should cover all the internal numbers and domains.

Step 7 - Under General / Recorder Connection, configure the authentication credentials for the connections with the recording service. Define the Authentication User and Authentication Passwords values. These credentials will be used later when configuring the connections in the recorder service.

Step 8 - Under Microsoft Teams, configure the following settings (see configuration reference for more details):

Setting Name

Description

Setting Name

Description

Bot Service DNS Name

The FQDN of the virtual machine

Bot Service Public CName

The CNAME DNS entry created for the server

Service Certificate

The thumbprint of the publicly signed certificate used previously for binding the ports

Bot Application ID

The App ID of the bot (see related step at Registering the Microsoft Teams Bot in Azure)

Bot Application Secret

The secret created for the bot (see related step at Registering the Microsoft Teams Bot in Azure)

Microsoft Teams Tenant ID

The ID of the Azure tenant where the bot was created (see related step at Registering the Microsoft Teams Bot in Azure)

Query Hosting Tenant's Azure AD

Defines if the bot service will query the Azure Active Directory for User Principal Names (UPN)

Public IP Address

The public IP address of the virtual machine

Configuring the Verba Unified Call Recorder service

Step 9 - Expand the Unified Call Recorder \ Media Recorder \ Microsoft Teams node.

Step 10 - At the Teams Bot Servers setting, click on the 

 icon to add a new connection.

Step 11 - In the right panel, provide the username and password configured in the Verba Microsoft Teams Bot Service above for the connections. At the Host setting, select the Verba Recording (Bot) server from the dropdown menu. Set the Port to 10501.

Step 12 - Click on the Save button at the bottom. You will see the bot connection added to the configuration.

Step 13 - Save the changes by clicking on the 

 icon.

Step 14 - A notification banner will appear on the top. Click on the click here link, so you will be redirected to the Configuration Tasks tab. Click on the Execute button in order to execute the changes.

Starting the services

Step 15 - Click on the Service Control tab.

Step 16 - Start the Verba Microsoft Teams Bot Service and the Verba Unified Call Recorder Service by clicking on the 

 icon.

 

Updating the Server Certificate for Microsoft Teams Bot

Manual binding of certificates

Prior to v9.5.3.5973 (2020 June) certificates had to be manually bound to HTTPS ports. While this does not affect normal operation, during the renewal process the old binding must be removed, otherwise, the old certificate will be used.

The service automatically binds and unbinds the certificate, in order to check if the certificate is manually bound follow these steps:

Step 1 - Log in to the Verba Bot virtual machine in Azure, and open an administrator command prompt.

Step 2 -Stop the Verba Microsoft Teams service and Verba System Monitor service

Step 3 - Run the following command in the command prompt, replace the ip_address part with the public IP address of the server

show sslcert ipport=ip_address

The binding can be deleted by following these steps:

Step 1 - Log in to the Verba Bot virtual machine in Azure, and open an administrator command prompt.

Step 2 -Stop the Verba Microsoft Teams service and Verba System Monitor service

Step 3 - Remove the bound certificate to the TCP ports 9440 and 10100 with the following command. Replace the ip_address part with the public IP address of the server

netsh http delete sslcert ipport=ip_address:port

Configuration reference

 

Setting Name

Description

 

Setting Name

Description

General/Recorder Connection

Recording Director Listening Port

The TCP/TLS port where the bot service is listening for the Recording Director connections from the Verba Unified Call Recorder Service

Media Recorder Listening Port

The TCP/TLS port where the bot service is listening for the Media Recorder connections from the Verba Unified Call Recorder Service.

Authentication User

Username for authenticating with the Verba Unified Call Recorder Service.

Authentication Password

Password for authenticating with the Verba Unified Call Recorder Service.

General

Internal Tenant IDs, Numbers Pattern

A regular expression that defines the internal Microsoft Teams tenant IDs or phone numbers to identify the direction of the recorded calls properly.

E.g.:

^(b6fd8d51-3271-4896-bb8b-4d7390b51784|f4552cc7-3685-4ffb-bf68-79bb0ab4b007|[1-4]\d{4})$

This regular expression considers two tenants (b6fd8d51-3271-4896-bb8b-4d7390b51784, f4552cc7-3685-4ffb-bf68-79bb0ab4b007) and every 5 digit numbers that is starting with 1 to 4 as internal.

For more information, see Conversation direction detection using internal domain and number patterns.

Record Non-configured Extensions

Defines if the bot service has to record non-configured extensions.

Compress RAW audio to G.711

Defines if the bot service transcodes the original PCM audio stream to G.711 before sending the data to the recorder.

Bidirectional/Stereo Recording

Defines if the bot service subscribes for unmixed audio stream in the Microsoft Teams call. Note: The unmixed audio has to be whitelisted on the Microsoft Teams side.

Number of Recorded Video Participants

Defines how many video streams are recorded per call, including the video streams of the recorded user.

Preferred Video Resolution

The video resolution used when the bot subscribes to the video streams of the participants. Microsoft Teams streams the video up to the resolution requested during the subscription. The resolution can be lower based on network conditions/capacity.

Preferred Screen Share Resolution

The video resolution used when the bot subscribes to the screen share streams of the participants. Microsoft Teams streams the video up to the resolution requested during the subscription. The resolution can be lower based on network conditions/capacity.

Separated Screen Share Record

Defines if a separated record is created for the screen share modality. The separate call includes the audio stream too.

Start Recording After Recorded User Joined

Defines if the bot waits for the join event of the recorded user before it starts recording a meeting. This setting is only applied for meetings, for P2P and PSTN calls, the bot always waits for the recorded user join event.

If the configuration is set to 'Yes', the bot will start the recording when it identifies the recorded user on the incoming roster updates. Also, the bot will start streaming media to the recorder after the recorded user is identified in the meeting.

If the configuration is set to 'No', the bot will trigger recording after it processed the first participant of the first roster update. The service will also stream every media packet to the recorder without waiting for the recorded user to join.

Block Calls when Recording Server Unavailable

If there is no available recorder, the bot will not join the call. If the Microsoft Teams recording policy is in strict mode then it will prevent the establishment of the call. If the bot cannot fail-over to another recorder mid-call, the bot will leave the call.

Number of Tries to Find a New Recorder for an Ongoing Call

Defines the number of tries after a recorder disconnects from the bot service, and the bot service tries to replace the recorder with another online Unified Call Recorder service/server.

Interval between Tries to Find a New Recorder for an Ongoing Call

Defines the interval between tries when a recorder disconnects from the bot service, and the bot service tries to replace the recorder with another online Unified Call Recorder service/server.

Microsoft Teams

Bot Service DNS Name

The FQDN of the virtual machine hosting the bot service.

Bot Service Public CNAME

CNAME entry on the public trusted domain which points to the public IP (ILPIP) of the virtual machine hosting the bot service.

Service Certificate

The thumbprint or the file path of the public domain's certificate. If the certificate in the WCS, it has to have an exportable private key. Only CSP certificates are supported (CNG/KSP certificates are not supported!)

Service Certificate Key File

The key file if the certificate is files based.

Service Certificate Key File Password

Password for the key file

Bot Application ID

The Application ID generated during the bot registration. Format: GUID

Bot Application Secret

The Application secret generated during the bot registration.

Bot Application Authentication Certificate

The authentication certificate uploaded on the Certificates and Secrets page of the Azure AD App registration. If configured the application secret is ignored.

Authentication Certificate Key File

The key file if the certificate is files based

Authentication Certificate Key File Password

Password for the key file

Microsoft Teams Tenant ID

The ID of the Microsoft Teams Tenant where the bot is hosted. Format: GUID

Query Hosting Tenant's Azure AD

Defines if the bot will query the Azure Active Directory of the tenant for additional user information such as User Principal Name.

Public IP Address

The public IP address assigned to the virtual machine hosting the bot service.

Bot Service Port

HTTPS port where the bot is listening for call invites from Microsoft Teams.

Call Control Port

HTTPS port where the bot is listening for call control messages from Microsoft Teams.

Media Control Port

HTTPS port used by the Microsoft Media SDK for media control messages.

Media Port Range Begin

Beginning of the UDP port range for the media streams.

Media Port Range End

End of the UDP port range for the media stream.

Recording Notification

Global notification setting, if turned off, the user settings won't be taken into account.

Bot Grouping

Turns on Microsoft Teams Bot Grouping capability. If enabled, the bot service answers the call with the configured bot group capacity. Based on the capacity, Microsoft Teams will invite the recording bot for the recorded meeting once per configured number of capacity if the recorded users share the same compliance recording policy.

When the bot grouping is enabled, the following features are not supported for the user handled by the bot grouping:

  • Video/ Screen Share recording

  • Controlled recording

  • Never record (recording mode)

  • record only if external user is participating

  • record video only for external participants

  • record only scheduled meeting

Bot Group Participant Capacity

Defines the capacity of the bot grouping feature

Advanced

Microsoft API Endpoint

Base URL of the Microsoft Graph API. All API messages from the bot are sent to the URL.