© 2021 Ribbon Communications Operating Company, Inc. © 2021 ECI Telecom Ltd. All rights reserved. The compilation (meaning the collection, arrangement and assembly) of all content on this site is protected by U.S. and international copyright laws and treaty provisions and may not be used, copied, reproduced, modified, published, uploaded, posted, transmitted or distributed in any way, without prior written consent of Ribbon Communications Inc.
The trademarks, logos, service marks, trade names, and trade dress (“look and feel”) on this website, including without limitation the RIBBON and RIBBON logo marks, are protected by applicable US and foreign trademark rights and other proprietary rights and are the property of Ribbon Communications Operating Company, Inc. or its affiliates. Any third-party trademarks, logos, service marks, trade names and trade dress may be the property of their respective owners. Any uses of the trademarks, logos, service marks, trade names, and trade dress without the prior written consent of Ribbon Communications Operating Company, Inc., its affiliates, or the third parties that own the proprietary rights, are expressly prohibited.
This document outlines the configuration best practices for the Ribbon solution covering the Ribbon SBC Core (SBC 5K, 7K, SWe) when deployed as a proxy between native Zoom Client and Zoom Cloud.
A Session Border Controller (SBC) is a network element deployed to protect SIP-based Voice over Internet Protocol (VoIP) networks. Early deployments of SBCs were focused on the borders between two service provider networks in a peering environment. This role has now expanded to include significant deployments between a service provider's access network and a backbone network to provide service to residential and/or enterprise customers. The interoperability compliance testing focuses on verifying inbound and outbound call flows when Ribbon SBC 5K/7K/SWe is deployed as a proxy between native Zoom Client and Zoom Cloud.
Ribbon SBC 5K/7K/SWe is deployed on the customer site in order to meet the following customer requirements:
The interoperability compliance testing focuses on verifying inbound and outbound call flows between Ribbon SBC Core & Zoom Cloud.
This guide contains the following configuration sections:
Captures the Zoom configuration.
All basic calls, along with the supplementary features like call hold, call transfer, and conference can be tested with configurations from Section A and Section B.
Advanced supplementary features can be configured on Zoom as mentioned in Supplementary Services Configuration on Zoom. These cover:
Auto Receptionist
Call Flip
Shared Line Appearance (SLA) or Call Delegation
Shared Line Group (SLG)
SBC 5x10, 5400, 7000 and SWe are represented as SBC Core in the subsequent sections.
It is not the goal of this guide to provide detailed configurations that will meet the requirements of every customer. Use this guide as a starting point and build the ATA configurations in consultation with network design and deployment engineers.
This is a technical document intended for telecommunications engineers with the purpose of configuring both the Ribbon SBCs and the third-party product.
To perform this interop, you need
This configuration guide is offered as a convenience to Ribbon customers. The specifications and information regarding the product in this guide are subject to change without notice. All statements, information, and recommendations in this guide are believed to be accurate but are presented without warranty of any kind, express or implied, and are provided “AS IS”. Users must take full responsibility for the application of the specifications and information in this guide.
The following aspects are required before proceeding with the interop:
The sample configuration in this document uses the following equipment and software:
Requirements
Equipment | Software Version | |
---|---|---|
Ribbon Communications | Ribbon SBC Core | V10.00.00-R001 |
Zoom | Zoom Desktop app | 5.8.6 (2048) |
Zoom Mobile app | 5.9.1 (3642) |
This section covers the Ribbon EdgeMarc deployment topology and the Interoperability Test Lab Topology.
Ribbon SBC Core Deployment Topology
The following lab topology diagram shows connectivity between Zoom Client and Zoom server with SBC Core as a proxy.
SBC Core as a proxy in Access network
SBC Core as a proxy between Zoom Client and PSTN
The following SBC Core configurations are included in this section:
Ribbon SBC is as shown below:
Ribbon SBC
Mgmt is an RJ45 port and is the management interface of the SBC.
Media 0/Media1 depicted as pkt0/pkt1 are RJ45 ports. Media 0 and Media 1 are used in the current deployment and the same interfaces can be used in SBC Core 5K , 7K (appliance based).
For the SBC SWe (virtualized platform), the logical pkt0/pkt1 interfaces must be mapped to a physical port.
Static routes are used to create communication to remote networks. In a production environment, static routes are mainly configured for routing from a specific network to a network that can only be accessed through one point or one interface (single path access or default route).
Add the static route once Zoom Client Leg and Zoom Server Leg configurations are done on the SBC.
set addressContext default staticRoute 0.0.0.0 0 10.54.X.X LIF1 PKT0_V4 preference 100 commit
set addressContext default staticRoute 0.0.0.0 0 115.110.X.X LIF2 PKT1_V4 preference 100 commit
Prerequisites:
Generate a CSR with OpenSSL
# To create a Certificate Signing Request (CSR) and key file for a Subject Alternative Name (SAN) certificate with multiple subject alternate names, complete the following procedure: Create an OpenSSL configuration file (text file) on the local computer by editing the fields to the company requirements. Note 1: In the example used in this article the configuration file is req.conf. Note 2: req_extensions will put the subject alternative names in a CSR, whereas x509_extensions would be used when creating an actual certificate file. [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = VA L = SomeCity O = MyCompany OU = MyDivision CN = www.company.com [v3_req] keyUsage = keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = www.company.com DNS.2 = company.com DNS.3 = www.company.net DNS.4 = company.net Make sure there are no whitespaces at the end of the lines. #Run the following commands to create the Certificate Signing Request (CSR) and a new Key file: openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout company_san.key.temp -config req.conf #Run the following command to verify the Certificate Signing Request: openssl req -text -noout -verify -in company_san.csr # After receiving the CSR with above information, provide it to CA (Certificate Authority). You will then receive the proper CA signed certificate in .crt format that is convertable into other formats using openssl. # By default, you should receive two or more certificates from CA (depanding upon your CA). One is the SBC certificate, and other is CA's root and intermediate certificate. # Upload the certificates to the SBC at /opt/sonus/external and convert them into SBC-readable format, i.e. SBC certificate is in .pem or .p12 format and root certificate is in .cer or .der. #Converting .crt to .pem USING OPENSSL for SBC certificate. openssl x509 -in sbc_cert.crt -out sbc_cert.der -outform DER openssl x509 -in sbc_cert.der -inform DER -out sbc_cert.pem -outform PEM #After generating sbc_cert.pem file, convert it to .p12 format using below command and the location of the certificate key. openssl pkcs12 -export -out sbc1_cert.p12 -in sbc_cert.pem -inkey /opt/sonus/company_san.key.temp #CONVERTING CRT to CER USING OPENSSL for CA's root and intermediate certificate. openssl x509 -in root_cert.crt -out root_cert.cer -outform DER After converting all these certificates upload them on SBC at /opt/sonus/external location.
#Import Public CA Root Certificate into database. set system security pki certificate CA_ROOT_CERT type remote fileName root_cert.cer state enabled #Import Public CA Certified SBC Server Certificate into database. set system security pki certificate SBC_CERT filename sbc1_cert.p12 passPhrase <Password defined during CSR generation> state enabled type local
A TLS Profile is required for the TLS handshake between Zoom Client and SBC Core. This profile defines cipher suites supported by SBC Core. Create the TLS profile as mentioned below:
set profiles security tlsProfile TLS_PROF clientCertName SBC_CERT serverCertName SBC_CERT cipherSuite1 tls_ecdhe_rsa_with_aes_256_cbc_sha384 cipherSuite2 tls_ecdhe_rsa_with_aes_128_cbc_sha authClient false allowedRoles server acceptableCertValidationErrors invalidPurpose set profiles security tlsProfile TLS_PROF v1_0 disable set profiles security tlsProfile TLS_PROF v1_1 enable set profiles security tlsProfile TLS_PROF v1_2 enable commit
Attach the TLS Profile to the SIP Signaling Port that will be created later in Zoom Client Leg Configuration.
#Import Public CA Root Certificate into database. set system security pki certificate CA_ROOT_CERT_EXT type remote fileName root_cert_ext.cer state enabled #Import Public CA Certified SBC Server Certificate into database. set system security pki certificate SBC_CERT_EXT filename sbc1_cert_ext.p12 passPhrase <Password defined during CSR generation> state enabled type local
A TLS Profile is required for the TLS handshake between SBC Core and Zoom Server. This profile defines cipher suites supported by SBC Core. Create the TLS profile as mentioned below:
set profiles security tlsProfile ZOOM_TLS_PROF clientCertName SBC_CERT_EXT serverCertName SBC_CERT_EXT cipherSuite1 tls_ecdhe_rsa_with_aes_256_cbc_sha384 cipherSuite2 tls_ecdhe_rsa_with_aes_128_cbc_sha cipherSuite3 rsa-with-aes-256-cbc-sha-256 authClient true allowedRoles clientandserver acceptableCertValidationErrors invalidPurpose set profiles security tlsProfile ZOOM_TLS_PROF v1_0 disable set profiles security tlsProfile ZOOM_TLS_PROF v1_1 enable set profiles security tlsProfile ZOOM_TLS_PROF v1_2 enable commit
Attach the TLS Profile to the SIP Signaling Port that will be created later in Zoom Server Leg Configuration.
This section covers the SBC Generic configuration like Element Routing Priority, Prefix Profile, E164 Profile, Codec Entry and Packet Service Profile.
set profiles callRouting elementRoutingPriority ZOOM_ERP entry _private 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry nationalOperator 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry localOperator 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry nationalType 1 entityType trunkGroup set profiles callRouting elementRoutingPriority ZOOM_ERP entry nationalType 2 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry internationalType 1 entityType trunkGroup set profiles callRouting elementRoutingPriority ZOOM_ERP entry internationalType 2 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry internationalOperator 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry longDistanceOperator 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry ipVpnService 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry test 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry transit 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry otherCarrierChosen 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry carrierCutThrough 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry userName 1 entityType none set profiles callRouting elementRoutingPriority ZOOM_ERP entry mobile 1 entityType none commit
Prefix Profiles contain multiple matching pattern definitions used to determine the call type, nature of address, Prefix Profile indicator, and other attributes associated with the specified matching patterns.
set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 digitType verticalServiceCode set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry * 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry + 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 0 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 1 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 2 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 3 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 4 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 5 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 6 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 7 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 8 0 1 31 determineArea disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 callType nationalType set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 digitType national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 natureOfAddress national set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 numberingPlanIndicator none set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 numberLeadingPrefixDigits 1 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 numberLeadingPrefixDigitsToStrip 0 set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 applyDmRule disable set profiles digitParameterHandling prefixProfile ZOOM_PXPF entry 9 0 1 31 determineArea disable commit
set profiles signaling E164Profile ZOOM_E164 sonusE164ProfCharStar allow set profiles signaling E164Profile ZOOM_E164 sonusE164ProfCharHash allow commit
Codec entry allows you to specify the codec used for the call. Create the codec entry for Opus codec with packet size 20 and rfc2833 method for dtmf.
set profiles media codecEntry Opus_2833 codec opus set profiles media codecEntry Opus_2833 packetSize 20 set profiles media codecEntry Opus_2833 preferredRtpPayloadType 96 set profiles media codecEntry Opus_2833 dtmf relay rfc2833 commit
Create a Packet Service Profile (PSP) common for both the legs. The PSP is attached to sipTrunkGroup created later in this section.
Since there is SRTP between Zoom Client and Zoom server, crypto suite profile need to be created as follows:
set profiles security cryptoSuiteProfile SRTP_ZOOM entry 1 cryptoSuite AEAD_AES_256_GCM set profiles security cryptoSuiteProfile SRTP_ZOOM entry 2 cryptoSuite AES-CM-128-HMAC-SHA1-32 set profiles security cryptoSuiteProfile SRTP_ZOOM entry 3 cryptoSuite AES_256_CM_HMAC_SHA1_80 set profiles security cryptoSuiteProfile SRTP_ZOOM entry 4 cryptoSuite AES_256_CM_HMAC_SHA1_32 commit
The Crypto Suite profile is attached to the ZOOM_SRTP_PSP.
set profiles media packetServiceProfile ZOOM_SRTP_PSP dataCalls packetSize 20 set profiles media packetServiceProfile ZOOM_SRTP_PSP rtcpOptions rtcp enable set profiles media packetServiceProfile ZOOM_SRTP_PSP codec codecEntry1 Opus_2833 set profiles media packetServiceProfile ZOOM_SRTP_PSP packetToPacketControl transcode transcoderFreeTransparency set profiles media packetServiceProfile ZOOM_SRTP_PSP secureRtpRtcp cryptoSuiteProfile SRTP_ZOOM set profiles media packetServiceProfile ZOOM_SRTP_PSP secureRtpRtcp flags allowFallback enable set profiles media packetServiceProfile ZOOM_SRTP_PSP secureRtpRtcp flags enableSrtp enable commit
Create profiles with a specific set of characteristics corresponding to Zoom Client. This includes configuration of the following entities on Zoom Client leg:
Create an IP Signaling Profile with appropriate signaling flags towards Zoom Client Leg.
set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags disableHostTranslation enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags disableMediaLockDown enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags endToEndBye enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags relayDataPathModeChangeFromOtherCallLeg enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags reQueryPsxOnRegisterRefresh enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes flags storePChargingVector enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags dialogEventPackage enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags info enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags notify enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags refer enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes relayFlags updateWithoutSdp enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags authcodeHeaders enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags mwiBody enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags sipBody enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags sipfragBody enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags unknownBody enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags unknownHeader enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags warningHeader enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags userAgentHeader enable set profiles signaling ipSignalingProfile CLIENT_IPSP commonIpAttributes transparencyFlags serverHeader enable set profiles signaling ipSignalingProfile CLIENT_IPSP egressIpAttributes flags disable2806Compliance enable set profiles signaling ipSignalingProfile CLIENT_IPSP egressIpAttributes flags sameCallIdForRequiredAuthorization enable set profiles signaling ipSignalingProfile CLIENT_IPSP egressIpAttributes privacy privacyInformation pAssertedId set profiles signaling ipSignalingProfile CLIENT_IPSP egressIpAttributes privacy flags includePrivacy enable set profiles signaling ipSignalingProfile CLIENT_IPSP egressIpAttributes sipHeadersAndParameters flags endToEndAck enable commit
Create an IP interface group.
Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards Zoom Client (example pkt0 IP), and "Y" with its prefix length. Provide ceName used during an SBC deployment.
Here, the ceName is "ZOOM1".
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ceName ZOOM1 portName pkt0 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 portName pkt0 set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ipAddress x.x.x.x prefix Y set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 mode inService set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 state enabled commit
Create Zone towards Zoom Client and specify the ID of the zone.
This Zone groups the set of objects used for the communication towards Zoom Client.
set addressContext default zone ACCESS id 2 commit
Set the SIP Signaling port, which is a logical address used to send and receive SIP call signaling packets and is permanently bound to a specific zone.
Replace "x.x.x.x" with SIP Signaling Port IP of SBC towards Zoom Client.
set addressContext default zone ACCESS sipSigPort 3 ipInterfaceGroupName LIF1 set addressContext default zone ACCESS sipSigPort 3 ipAddressV4 x.x.x.x set addressContext default zone ACCESS sipSigPort 3 portNumber 5090 set addressContext default zone ACCESS sipSigPort 3 mode inService set addressContext default zone ACCESS sipSigPort 3 state enabled commit set addressContext default zone ACCESS sipSigPort 3 tlsProfileName TLS_PROF set addressContext default zone ACCESS sipSigPort 3 transportProtocolsAllowed sip-tls-tcp commit
Attached the TLS Profile created earlier TLS_PROF.
Create a transparency profile as follows:
set profiles services transparencyProfile CLIENT_TP state enabled set profiles services transparencyProfile CLIENT_TP sipHeader to ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader all set profiles services transparencyProfile CLIENT_TP sipHeader via ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader From ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader path ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader allow ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader route ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader min-se ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader contact ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader expires ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader require ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader supported ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader request-uri ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader record-route ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader serviceroute ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader proxy-Require ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipHeader session-expires ignoreTransparency yes set profiles services transparencyProfile CLIENT_TP sipMessageBody all commit
Create a SIP Trunk Group towards the Zoom Client and assign corresponding profiles like PSP, IPSP created in earlier steps.
You must configure Trunk Group names using capital letters.
set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG media mediaIpInterfaceGroupName LIF1 set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG mode inService state enabled commit set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy digitParameterHandling numberingPlan ZOOM_DIAL set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy callRouting elementRoutingPriority ZOOM_ERP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy media packetServiceProfile ZOOM_SRTP_PSP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy services classOfService DEFAULT_IP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy signaling ipSignalingProfile CLIENT_IPSP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG policy featureControlProfile DEFAULT_IP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG signaling registration requireRegistration required set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG signaling transportPreference preference1 tls-tcp set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG signaling E164Profiles e164LocalProfile ZOOM_E164 set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG services natTraversal qualifiedPrefix 192.168.0.0 16 set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG services natTraversal signalingNat enabled set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG services natTraversal mediaNat enabled set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG services transparencyProfile CLIENT_TP set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG media mediaIpInterfaceGroupName LIF1 set addressContext default zone ACCESS sipTrunkGroup ACCESS_TG ingressIpPrefix 0.0.0.0 0 commit
Create profiles with a specific set of characteristics corresponding to Zoom. This includes configuration of the following entities on Zoom leg:
Create an IP Signaling Profile with appropriate signaling flags towards Zoom.
set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP ipProtocolType sipOnly set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags disableHostTranslation enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags disableMediaLockDown enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags endToEndBye enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags includeTransportTypeInContactHeader enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags minimizeRelayingOfMediaChangesFromOtherCallLegAll enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags relayDataPathModeChangeFromOtherCallLeg enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags reQueryPsxOnRegisterRefresh enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes flags storePChargingVector enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags dialogEventPackage enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags info enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags notify enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags options enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags refer enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags statusCode3xx enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags thirdPartyBodies enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags publish enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes relayFlags updateWithoutSdp enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes transparencyFlags authcodeHeaders enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP commonIpAttributes transparencyFlags mwiBody enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP egressIpAttributes flags disable2806Compliance enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP egressIpAttributes flags sameCallIdForRequiredAuthorization enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP egressIpAttributes privacy privacyInformation pPreferredId set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP egressIpAttributes privacy flags includePrivacy enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP egressIpAttributes sipHeadersAndParameters flags endToEndAck enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP ingressIpAttributes flags sendSdpInSubsequent18x enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP ingressIpAttributes flags suppress183For3xxRedirectResponse enable set profiles signaling ipSignalingProfile ZOOM_PUB_IPSP ingressIpAttributes flags suppress183WithoutSdp enable commit
Create an IP interface group.
Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards ZOOM (example pkt1 IP), and "Y" with its prefix length. Provide the ceName used during an SBC deployment.
Here, the ceName is "ZOOM1".
set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ceName ZOOM1 portName pkt1 set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ipAddress x.x.x.x prefix Y set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 mode inService state enabled commit
Create a Zone towards Zoom and specify the ID of the zone.
This Zone groups the set of objects used for communication towards Zoom.
set addressContext default zone ZOOM id 6 set addressContext default zone ZOOM remoteDeviceType appServer commit
Set the SIP Signaling port, which is a logical address used to send and receive SIP call signaling packets and is permanently bound to a specific zone.
Replace "x.x.x.x" with the SIP Signaling Port IP address of the SBC towards Zoom.
set addressContext default zone ZOOM sipSigPort 7 ipInterfaceGroupName LIF2 set addressContext default zone ZOOM sipSigPort 7 ipAddressV4 x.x.x.x set addressContext default zone ZOOM sipSigPort 7 portNumber 5090 set addressContext default zone ZOOM sipSigPort 7 tlsProfileName ZOOM_TLSPROF set addressContext default zone ZOOM sipSigPort 7 transportProtocolsAllowed sip-tls-tcp set addressContext default zone ZOOM sipSigPort 7 mode inService set addressContext default zone ZOOM sipSigPort 7 state enabled commit
Attached the TLS Profile created earlier ZOOM_TLS_PROF.
There are a few areas that result in a TLS negotiation issue. One area involves assigning the incorrect port. Ensure the following are accomplished:
Zoom listens on port number 5091 (default setting).
Configure port number 5090 on Zoom IP-Peer since Ribbon SBC Core increments the port by 1 when the transport protocol is TLS.
Create an IP Peer with the signaling IP address of ZOOM and assign it to ZOOM Zone.
Replace "x.x.x.x" with the Zoom SIP signaling IP.
set addressContext default zone ZOOM ipPeer ZOOM_IPP ipAddress x.x.x.x set addressContext default zone ZOOM ipPeer ZOOM_IPP ipPort 5090 commit
Path Check Profile
Create a path check profile that attaches to the Zoom side.
set profiles services pathCheckProfile ZOOM_OPTIONS protocol sipOptions sendInterval 20 replyTimeoutCount 1 recoveryCount 1 set profiles services pathCheckProfile ZOOM_OPTIONS transportPreference preference1 tls-tcp commit
Create a transparency profile as follows:
set profiles services transparencyProfile ZOOM_TP state enabled set profiles services transparencyProfile ZOOM_TP sipHeader all set profiles services transparencyProfile ZOOM_TP sipHeader via ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader From ignoreTransparency no set profiles services transparencyProfile ZOOM_TP sipHeader allow ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader route ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader min-se ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader contact ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader expires ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader require ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader supported ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader record-route ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader serviceroute ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader proxy-Require ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipHeader session-expires ignoreTransparency yes set profiles services transparencyProfile ZOOM_TP sipMessageBody all commit
Create a SIP Trunk Group towards ZOOM and assign corresponding profiles like PSP, IPSP that were created in earlier steps.
You must configure Trunk Group names using capital letters.
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG media mediaIpInterfaceGroupName LIF2 set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG mode inService state enabled commit set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy digitParameterHandling numberingPlan ZOOM_DIAL set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy callRouting elementRoutingPriority ZOOM_ERP set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy media packetServiceProfile ZOOM_SRTP_PSP set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy services classOfService DEFAULT_IP set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy signaling ipSignalingProfile ZOOM_PUB_IPSP set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG signaling transportPreference preference1 tls-tcp set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG signaling E164Profiles e164LocalProfile ZOOM_E164 set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG services natTraversal mediaNat disabled set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG services transparencyProfile ZOOM_TP set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG ingressIpPrefix 0.0.0.0 0 commit
Create a Routing Label with a single Routing Label Route to bind the ZOOM Trunk Group with the ZOOM IP Peer.
set global callRouting routingLabel ZOOM_RL routingLabelRoute 1 trunkGroup ZOOM_TG set global callRouting routingLabel ZOOM_RL routingLabelRoute 1 ipPeer ZOOM_IPP set global callRouting routingLabel ZOOM_RL routingLabelRoute 1 inService inService commit
This entry is used to route all the calls coming from Zoom Client towards ZOOM server.
Provide ceName used during an SBC deployment. "ZOOM1" is the ceName.
set global callRouting route trunkGroup ACCESS_TG ZOOM1 standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel ZOOM_RL commit
Login to Zoom Go account Web portal at https://go.zoom.us/.
This section describes the following Zoom configurations:
Add the SBC FQDN (Internal) and Port as shown below, Save and Apply the configuration.
Add External Number
SBC FQDN "zoom.customers.interopdomain.com" should resolve to private IP and the entry for the same should be done in public DNS.
Anonymous Call - *67 is a feature access code to enable Anonymous call. Zoom app shows the following notification when dialed *67
"Caller ID blocking is not guaranteed to be effective in all countries or regions".
To create new Zoom User, refer to the following link:
https://support.zoom.us/hc/en-us/articles/201363183-Managing-users
Zoom supports multiple supplementary services. To configure different supplementary services in Zoom, refer to the following links:
The following checklist depicts the set of services/features covered through the configuration defined in this Interop Guide.
Sr. No. | Supplementary Features/Services | Coverage |
---|---|---|
1 | Basic Registration over TLS | |
2 | Basic Call Setup | |
3 | Basic Call Termination | |
4 | Auto Receptionist (Auto Attendant) | |
5 | Call Hold/Resume | |
6 | Call Transfer - Blind (Cold transfer) | |
7 | Call Transfer - Consult (Warm transfer) | |
8 | Conference | |
9 | Call Queue | |
10 | Shared Line Group (SLG) | |
11 | Shared Line Appearance (SLA) or Call Delegation | |
12 | Call Recording | |
13 | Group Call Pickup | |
14 | Call Park |
Legend
Supported | |
Not Supported | |
N/A | Not Applicable |
For any support related queries about this guide, contact your local Ribbon representative, or use the details below:
For detailed information about Ribbon products & solutions, go to :
https://ribboncommunications.com/products
For information about Zoom products & solutions, go to:
This Interoperability Guide describes successful configuration covering Zoom interop with Ribbon SBC Core.
All features and capabilities tested are detailed within this document - any limitations, notes or observations are also recorded in order to provide the reader with an accurate understanding of what has been covered, and what has not.
Configuration guidance is provided to enable the reader to replicate the same base setup - there maybe additional configuration changes required to suit the exact deployment environment.
© 2021 Ribbon Communications Operating Company, Inc. © 2021 ECI Telecom Ltd. All rights reserved.