Microsoft Teams voice, video and screen share recording

Microsoft Teams voice, video and screen share recording

Deploying Microsoft Teams voice, video, and screen share recording

The following section contains all the necessary steps for setting up a Microsoft Teams recording infrastructure.

Server sizing

According to Microsoft requirements, the Microsoft Teams Bot service must run on an Azure Virtual Machine. Requirements for the Recording Server role, which will host the Verba Microsoft Teams Bot service and the Unified Call Recorder service are:

  • ILPIP (Instance Level Public IP Address) for the Recording Servers
    Private IP addresses are not recommended by Microsoft, due to potential performance limitations caused by the Azure NAT, although will work

  • For resilient and/or high volume configurations, multiple virtual machines (running the Recording Server role) have to be deployed. In order to distribute the load across multiple Verba Microsoft Teams Bot services, an Azure Application Gateway has to be deployed in front of the VMs.
    https://docs.microsoft.com/en-us/azure/application-gateway/overview

Due to performance limitations in the Microsoft Local Media SDK, the Recording Server sizing for Microsoft Teams recording is different from other integrations. The following table summarizes the server sizing for Microsoft Teams recording:

Modality

per vCPU

Modality

per vCPU

Voice

50

Voice and Screen & Application Share

Up to x1 1080p stream / call

30

Voice and Video

Up to x4 360p video streams / call

15

The values indicate the number of maximum simultaneous calls for the specified modalities per vCPU.

Testing was done with mixed audio on Azure D3v2 (4 cores), D4v2 (8 cores), and D5v2 (16 cores) virtual machines.

For requirements for other components and server roles, see Server sizing and requirements

In the case of big meetings (20+ participants) where all participants or a large portion of the participants are recorded, the above numbers might become inaccurate. We are experiencing performance issues and the VFC Microsoft Teams Bot Service slowing down on processing incoming call data e.g.: call invites and participant data. Using the Bot Grouping feature can lower the chance of performance issues, but the above sizing guide doesn’t include bot grouping.

A new sizing guide is in progress which will include bot grouping and an upcoming Graph API feature called ‘Delta Roster’ which will lower the size of the incoming data.

For further information contact us.

Load-balancing and Failover

Large deployments may require multiple VMs and other Azure components.

For the failover and load-balancing options for voice, video, and screen/application window share recording, see: 

Microsoft Teams Recording Failover and Load-balancing Design

Preparation

The Microsoft Teams integration requires additional prerequisites and configuration on Azure and O365, see Configuring Microsoft Teams Recording for more information.

Make sure that all the required prerequisites are installed on each server prior to the installation.

For guidance on configuring the necessary firewall port, visit Firewall configuration for Microsoft Teams recording deployments

Installation

The following articles contain all the steps for installing the various server roles:

Configuration

For the configuration guide for voice / video / screen share recording, see Configuring Microsoft Teams Recording.

Microsoft Teams metadata for voice, video, and screen & application share recordings

The system captures the following metadata specific to Microsoft Teams voice/video/screen recordings.

Metadata Field

Description

Template

Available

Metadata Field

Description

Template

Available

Start Date

Start date of the conversation

Standard

Yes

Start Time

Start time on the conversation

Standard

Yes

End Date

End date of the conversation

Standard

Yes

End Time

End time of the conversation

Standard

Yes

Duration

Length of the conversation

Standard

Yes

User

Name of the recorded user

Standard

Yes

From

Phone number, Button name, User name

Standard

Yes

From Info

User / contact name

Standard

Yes

To

Phone number, Button name, User name

Standard

Yes

To Info

User / contact name

Standard

Yes

Direction

Direction of the call from the system perspective requires configuring internal number/domain patterns

Standard

Yes

Direction (User)

Direction of the call from the recorded user perspective

Standard

Yes

From (Verba)

Name of the Verba user associated with the calling party

Standard

Yes

To (Verba)

Name of the Verba user associated with the called party

Standard

Yes

Location

Hostname of the recording server

Standard

Yes

End Cause

Normal, Hold, Transfer, Conference, Device Change, From Terminated, To Terminated

Standard

Yes

Audio Codec

Audio codec of the recorded streams

Standard

Yes

Video codec

Video codec of the recorded streams

Standard

Yes

Platform Call ID

Unique conversation identifier received from the recorded platform

Standard

Yes

Silence Ratio

Ratio of silence in the conversation

Standard

Yes

Talkover Ratio

Talkover ratio of the conversation

Standard

Yes

Longest Silence

Length of the longest silence present in the conversation

Standard

Yes

User ID / Agent ID

Microsoft Entra (formerly Azure AD) Object ID for the recorded user

Standard

Yes

From Device

Device ID of the calling party

Standard

No

To Device

Device ID of the called party

Standard

No

Dialed Number

Original dialed number

Standard

No

From IP

Defaults to 127.0.0.1 as the IP address of the devices are not available

Standard

Yes

To IP

Defaults to 127.0.0.1 as the IP address of the devices are not available

Standard

Yes

From Proxy IP

IP address of the proxy server associated with the caller party

Standard

No

To Proxy IP

IP address of the proxy server associated with the called party

Standard

No

Source Platform

Microsoft Teams

Standard

Yes

Conversation Type

Voice, Video, Screen Share

Standard

Yes

Forward Reason

Forward reason for the conversation (e.g. forwarded, transferred, team call, delegated, etc.) 

Standard

No

Recording failed

Indicates if the recording has failed and the metadata was imported during CDR reconciliation

Standard

No

Media Length

Length of the media file related to the conversation in hh:mm:ss format

Standard

Yes

Media Error

Shows the media processing errors during recording

Standard

Yes

Voice Quality

Overall voice quality check score for the conversation

Standard

Yes

Record Type

Standard

Standard

Yes

2N Source

In case of duplicate (2N) recording, records are marked as primary or secondary

Standard

No

Meeting Subject

The subject of the recorded meeting

Microsoft Teams

Yes

Meeting Organizer ID

Microsoft Entra (formerly Azure AD) Object ID of the recorded meeting organizer

Microsoft Teams

Yes

Meeting Organizer Name

Name of the recorded meeting organizer

Microsoft Teams

Yes

Compliance Policy

Name of the compliance policy configured in Microsoft Teams for the recorded user which triggered the recording of the call or meeting

Microsoft Teams

Yes