Status | ||||||
---|---|---|---|---|---|---|
|
Table of Contents |
---|
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:
...
MP3 (48 KHz, Mono, VBR)
...
AAC-LC (32 KHz, Mono, CBR)
...
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:
- Installing a Verba Single Server solution
- Installing a Verba Media Repository
- Installing a Verba Recording Server
Configuration
The system supports both Zoom Meeting and Zoom Phone archiving via the import service framework:
- Zoom Phone: for configuring Zoom Phone archiving, refer to Zoom Meeting and Phone
- Zoom Meeting: for configuring Zoom Meeting archiving, refer to Zoom Meeting and Phone
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
Status | ||||||
---|---|---|---|---|---|---|
|
Table of Contents |
---|
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.
- CDR reconciliation is not supported for breakout rooms.
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 | |
---|---|---|---|
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:
- Installing a Verba Single Server solution
- Installing a Verba Media Repository
- Installing a Verba Recording Server
Configuration
The system supports both Zoom Meeting and Zoom Phone archiving via the import service framework:
- Zoom Phone: for configuring Zoom Phone archiving, refer to Zoom Meeting and Phone
- Zoom Meeting: for configuring Zoom Meeting archiving, refer to Zoom Meeting and Phone
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 | |
---|---|---|---|---|
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 / 300; 1) * 4 |
/phone/call_logs |
...
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 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Phone | /phone/recordings/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 / 300; 1) * 4 | |||||||
Meeting | /archive_files https://marketplace.zoom.us/docs/api-reference/zoom-api/ phonegetphonerecordings | 20 60 req. / second | Import | Used in every policy scheduling, multiple times if call Meeting count is high. Safe estimate per policy run: max(Recorded calls since meetings since last run run / 300; 1) * 4 | /phone/call_logs|||||||
/metrics/meetings/{meetingId}/participants | phoneaccountcalllogs | 40 | 20 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 / 300; 1) * 4 | Meeting | /archive_filesintensive 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 all meetings in the whole tenant (not just for recorded meetings), might call multiple times in rare cases, safe estimate: total meeting * 2 | ||
/metrics/meetings https://marketplace.zoom.us/docs/api-reference/zoom-api/ | archivingdashboards/ | listarchivedfilesdashboardmeetings | 6020 req. / second | ImportDaily 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 : max(Recorded meetings since last run / 300; 1) * 4 | /metrics/meetings/{meetingId}/participants https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetingparticipants | 20 req. / secondBoth 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/metrics/meetings https://marketplace.zoom.us/docs/api-reference/zoom-api/dashboards/dashboardmeetings | 20 req. / secondCDR reconciliation | Used in every policy scheduling, multiple times if Meeting count is high. Safe estimate per policy run: max(Total meetings since last run / 300; 1) * 4/ 300; 1) * 4 |
Types of import that are subject to daily API limit:
- Zoom Phones: no
- Zoom Phones with CDR reconciliation: yes
- Zoom Meetings: yes
- Zoom Meetings with CDR reconciliation: yes
Some examples of how much volume of traffic a daily rate limit of 60 000 can safely handle when scheduling the import for every 5 minutes:
- Zoom Phones: no limit
- Zoom Phones with CDR reconciliation: 4.5 million calls daily
- Zoom Meetings: 30 000 meetings daily
- Zoom Meetings with CDR reconciliation:29 000 meetings daily
- Zoom Meetings and Zoom Phones: combined traffic of any amount of daily calls and 30 000 meetings
- Zoom Meetings and Zoom Phones both with CDR reconciliation: combined traffic of 2.2 million daily calls and 14 500 meeting
Zoom Meeting metadata
The system captures the following metadata specific to Zoom meetings.
...