Zoom

Zoom

Available in version 9.6.13 or later

Overview

The Zoom integration enables you to archive recorded Zoom Meetings and Zoom Phone calls into the system. The recording takes place within the Zoom platform, and the audio and video from completed meetings and calls are downloaded from Zoom and then ingested into the system using the Zoom Meeting and/or Zoom Phone import sources.

Supported features

The Zoom integration provides the following features:

  • Archiving Zoom Meetings and Zoom Phones recordings for configured users

  • Integration with public Zoom APIs: https://marketplace.zoom.us/docs/api-reference/introduction

  • Support for voice, video, and screen & application share modalities

  • Unaltered download and import of media files (MP3, M4A, MP4)

  • Import of meeting and phone call metadata

  • CDR reconciliation with Zoom call/meeting logs to identify not recorded or archived calls

  • Configurable query intervals through import policy schedule

  • Multi-tenant support, the ability to configure any number of Zoom tenants as separate import sources in any environment/tenant

  • Support for forward proxy based configurations

Known limitations and considerations

The Zoom integration has the following known limitations currently:

  • Meetings chat archiving is not supported

  • Webinars are not supported

  • Video files for Meeting recordings might not match the time interval defined by the join and leave events of the recorded users. The Zoom recording process currently starts when the first recorded user joins and ends when the meeting ends. The recording system creates CDRs for each recorded user based on their join/leave events but will link the full video files to these records. Audio files are created individually for each recorded participant (individual recording has to be enabled on the Zoom side) and are not affected by this limitation.

  • The APIs published by Zoom are tenant/account level APIs (not user level), which means that the API response will include information about recordings for all configured users in the tenant. The system filters the response based on the configured users and does not attempt to download recordings for users not configured in the system. When multiple systems are deployed to allow data segregation, this approach introduces some overhead as unnecessary data is downloaded (and discarded).

  • Due to Zoom API rate limits and lack of filtering for specific users, large tenants might unable to use the CDR reconciliation feature for Zoom Meetings, because the process requires to call resource-intensive APIs for every meeting in the tenant.

  • Meetings hosted by external users (users outside of the customer tenant/account) can only be archived with limitations. The participant information is limited to the recorded users in the customer tenant, no external participants or non-recorded internal participants will be stored.

  • Meeting recordings always include an MP4 video file (in addition to the M4A audio file) even if no camera was used or screens sharing was not enabled. The video contains a black screen with the name of the users in the center. When the recorded user is configured for voice-only recording/archiving, the system only imports the M4A audio file. If the recorded user is configured for video and/or screen share recording, the system imports the MP4 file as well and sets the modality to Screen & Application Share (regardless if video and screen share was used).

  • Redundant deployments are supported but multiple servers will run independently and attempt to import the same recordings and multiplicate the Zoom API usage. The system will eventually import only one copy of the same call and meeting. For the same reasons, load balancing is not recommended, while supported.

  • The Zoom Phone API does not support Archiving time for filtering which introduces an overhead in querying the data and the system has to query the same time interval multiple times.

  • The reconciliation process for Zoom Phones only queries records where the recording_id is set. 

Version support

Switch Name & Model

Zoom Meetings

Zoom Phone

Supported Versions

Contact Zoom

Supported Endpoint / DeviceTypes

All

Deploying Zoom recording

The following section contains the necessary steps for setting up a Zoom recording infrastructure.

Server sizing

Allocating the appropriate resources to the different servers is crucial. For guidance, see Server sizing and requirements

For storage sizing, see the table below showing the information available for media files created by the Zoom platform:

 

File Format

Codec

Size

 

File Format

Codec

Size

Zoom Phone

MP3

MP3 (48 KHz, Mono, VBR)

40-75 Kbps

Zoom Meeting Audio

M4A

AAC-LC (32 KHz, Mono, CBR)

128 Kbps

Zoom Meeting Audio + Video + Screen Share

MP4

AAC-LC (32 KHz, Mono, CBR)

H.264 AVC

Audio: 128 Kbps

Video: entirely depends on the screen resolution, the content shared, and the variable bitrate control in Zoom. It is recommended to make test calls with the usual content and length and use it as a baseline for the calculations.

 

Preparation

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

Installation

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

Configuration

The system supports both Zoom Meeting and Zoom Phone archiving via the import service framework:

Zoom API rate limits

The Zoom API enforces certain limitations on the number of requests sent by an application. These rate limits can limit the number of meetings or phone calls that are imported or reconciled by the system on a daily basis. When an API limit is reached, the Zoom platform will block any subsequent API request for the API category which exceeded the published rate limit. The system will need to wait until the rate limits are reset (at 00:00 UTC every day).

For more information, see https://marketplace.zoom.us/docs/api-reference/rate-limits.

The following table explains the current rate limits and provides guidance on how to estimate the API usage to avoid reaching the API limits. If you are planning to deploy the integration for a large tenant/account and you believe that the rate limits will be reached, please contact Zoom about further options.

 

API

Zoom API Limit (Business+)

Usage

Estimation

 

API

Zoom API Limit (Business+)

Usage

Estimation

Phone

/phone/recordings

https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/getphonerecordings

20 req. / second

Import

Used in every policy scheduling, multiple times if call count is high. Safe estimate per policy run: max(Recorded calls since last run / 500; 1) * 4

 

/phone/call_logs

https://marketplace.zoom.us/docs/api-reference/zoom-api/phone/accountcalllogs

40 req. / second

Daily limit of 60,000 requests/day shared by heavy & resource-intensive APIs.

CDR reconciliation

Used in every policy scheduling, multiple times if call count is high. Safe estimate: max(Total calls since last run / 500; 1) * 4

Meeting

/archive_files

https://marketplace.zoom.us/docs/api-reference/zoom-api/archiving/listarchivedfiles

60 req. / second

Import

Used in every policy scheduling, multiple times if Meeting count is high. Safe estimate per policy run: max(Recorded meetings since last run / 500; 1) * 4

 

/metrics/meetings/{meetingId}/participants

https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetingparticipants

20 req. / min.

Daily limit of 60,000 requests/day shared by heavy & resource-intensive APIs.

Both import and CDR reconciliation

Import: Used once per archived meeting on Zoom side, might call multiple times in rare cases, safe estimate: archived meeting * 2

Reconciliation: Used once per total meetings in the whole tenant, might call multiple times in rare cases, safe estimate: total meeting * 2

 

/metrics/meetings

https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetings

20 req. / min.

Daily limit of 60,000 requests/day shared by heavy & resource-intensive APIs.

CDR reconciliation

Used in every policy scheduling, multiple times if Meeting count is high. Safe estimate per policy run: max(Total meetings since last run / 500; 1) * 4

Zoom Meeting metadata

The system captures the following metadata specific to Zoom meetings. 

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

Recorded User ID

Standard

Yes

From Info

Recorded user display name

Standard

Yes

To

Conference

Standard

Yes

To Info

Meeting topic

Standard

Yes

Direction

Conference

Standard

Yes

Direction (User)

Outgoing

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

No

Audio Codec

Audio codec of the recorded streams

Standard

No

Video codec

Video codec of the recorded streams

Standard

No

Platform Call ID

Unique conversation identifier received from the recorded platform

Standard

Yes

Silence Ratio

Ratio of silence in the conversation

Standard

No

Talkover Ratio

Talkover ratio of the conversation

Standard

No

Longest Silence

Length of the longest silence present in the conversation

Standard

No

User ID / Agent ID

Recorded Zoom user ID

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

IP address associated with the calling party

Standard

No

To IP

IP address associated with the called party

Standard

No

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

Zoom Meeting

Standard

Yes

Conversation Type

Voice, Video, Screen & Application Share

If the recorded user is configured for video and/or screen share recording, the system sets the modality to Screen & Application Share (regardless if video and screen share was used).

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

Yes

Media Length

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

Standard

No

Media Error

Shows the media processing errors during recording

Standard

No

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

 

Zoom Phone metadata

The system captures the following metadata specific to Zoom Phone 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 of the calling party

Standard

Yes

From Info

Display name of the calling party

Standard

Yes

To

Phone number of the called party

Standard