3. Creating and Assigning Your Compliance Policy

The first section of this document will guide you through configuring your MS Teams environment to send recordings to the NexLog Teams Recording Service. The MS Teams administrator will use the PowerShell program built into any Windows computer to execute commands to tell your Teams environment to record. The commands will require specific information for your recording service to be entered. It is suggested that the commands with your specific information be constructed in a text file before being copy/pasted into PowerShell. If you are unsure about the commands to run, then please provide a text file with your commands to Eventide Communications Support.

3.1. Create the Application Instance

The NexLog Teams Recording Service requires the creation of an Application Instance in order for it to join and record calls.

The following information is variable to your deployment and is either provided by Eventide Communications or decided by your organization:

User Principal Name

A new service account that is used to identify the compliance policy. It will be formatted like example_name@contoso.com.

Example: eventide_teams_recording_service@contoso.com

Display Name

The displayed name for the Application Instance. We recommend “NexLog Teams Recording Service”.

Application ID

Eventide Communications will provide the Application ID of the NexLog Teams Recording Service

Open PowerShell as Administrator on any Windows computer connected to the internet, and run the following commands. When prompted for authentication, login with your Microsoft Domain admin credentials.

Import-Module MicrosoftTeams
Connect-MicrosoftTeams

New-CsOnlineApplicationInstance -UserPrincipalName <User Principal Name> -DisplayName '<Display Name>' -ApplicationId <Application ID>

The command will display an output with the Application Instance. Take note of the ApplicationId and the ObjectId. If the command failed, please stop, and take action to correct the error. Contact Eventide Communications Support for more details.

3.2. Create a Compliance Policy

Compliance policies allow the NexLog Teams Recording Service to automatically join and record Teams calls with users that have the compliance policy.

The following information will be required to create the Compliance Policy:

Policy Description

User-readable description of the recording policy. This could be something like, “Record security phone lines”.

Policy Identity

The visible name of the policy being created. This name should not contain spaces. (Example, ‘recording-security-phones’)

Object Id

This is the Object Id returned in the previous step, where the Application Instance was created.

Continue your PowerShell session and run the following commands:

New-CsTeamsComplianceRecordingPolicy -Enabled $true -Description "<Policy Description>" <Policy Identity>
Set-CsTeamsComplianceRecordingPolicy -Identity <Policy Identity> -ComplianceRecordingApplications ` @(New-CsTeamsComplianceRecordingApplication -Parent <Policy Identity> -Id <Object Id>)
Set-CSTeamsComplianceRecordingPolicy -Identity <Policy Identity> -DisableComplianceRecordingAudioNotificationForCalls $true

After 30-60 seconds, the policy should show up.

To verify your policy was created correctly:

Get-CsTeamsComplianceRecordingPolicy <Policy Identity>

For additional configuration, please visit the Microsoft Documentation on Set-CsTeamsComplianceRecordingPolicy.

Set-CsTeamsComplianceRecordingPolicy Documentation

3.3. Assign the Compliance Policy

In this step, users and/or groups will be added to the policy created above.

You should identify the users and groups required for recording under the Microsoft 365 Admin center → Users → Active Users page.

Here you can also create a user group to be recorded and then assign the group to the policy.

See Microsoft’s knowledgebase for more information about creating policies in Azure for users and groups.

The following information will be required to assign the Compliance Policy

Policy Identity

The name of the policy as defined in the previous step.

User to be recorded

A user to be recorded.

Group to be recorded

A group to be recorded.

Run the following command in PowerShell for each user you wish to record:

Grant-CsTeamsComplianceRecordingPolicy -Identity <User to be recorded> -PolicyName <Policy Identity>

Run the following command in PowerShell for each group you wish to record:

Grant-CsTeamsComplianceRecordingPolicy -Group <Group to be recorded> -PolicyName <Policy Identity>

To verify your policy was assigned correctly:

Get-CsOnlineUser <user or group under policy> | ft sipaddress, tenantid, TeamsComplianceRecordingPolicy

3.4. Configure and Sync the Recording Application

To configure the recording application, we need to gather variable information by running a command.

In PowerShell, please run:

Get-CsTeamsComplianceRecordingApplication

Take note of Identity as it is needed in the next command.

Identity

Taken from the result of the previous command.

The format will be: Tag:recording_policy_name/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

In PowerShell, please run:

Set-CsTeamsComplianceRecordingApplication -RequiredBeforeMeetingJoin $false -RequiredDuringMeeting $false -RequiredBeforeCallEstablishment $false -RequiredDuringCall $false -Identity <Identity>

To verify the above command, please run:

Get-CsTeamsComplianceRecordingApplication

Note

Please note that the parameters in the previous command are now false.

Now that the recording application is configured, we can sync the application registration from the Eventide Tenant to the created Application Instance

Sync-CsOnlineApplicationInstance -ObjectId <Object Id> -ApplicationId <Application Id>