CSS Stylesheet |
---|
h1, h2, {font-size: 18pt !important;}
h3 {font-size: 16pt !important;}
h4 {font-size: 14pt !important;}
h5 {font-size: 14pt !important;} |
CSS Stylesheet |
---|
.wiki-content h1 {
border-top: 1px solid rgb(145,150,153);
} |
Section |
---|
Column |
---|
|
Noprint |
---|
Add_workflow_for_appnotes |
---|
AUTH1 | UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cec00c5c, userName='null'} |
---|
JIRAIDAUTH | IOT-729 |
---|
REV6 | UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cd5909df, userName='null'} |
---|
REV4 | UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26c8a10148, userName='null'} |
---|
REV1 | UserResourceIdentifier{userKey=8a00a02355cd1c2f0155cd26cd870a2e, userName='null'} |
---|
|
|
|
|
Interoperable Vendors
Copyright
© 2023 Ribbon Communications Operating Company, Inc. © 2023 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.
Document Overview
This document outlines the configuration best practices for the Ribbon SBC Core (SBC 5K, 7K, SWe) when deployed with Zoom Phone Provider Exchange.
About Ribbon SBC Core
The SBC Core (SBC 5K, 7K, SWe) addresses the next-generation needs of SIP communications by delivering embedded media transcoding, robust security and advanced call routing in a high-performance, small form-factor device, enabling service providers and enterprises to quickly and securely enhance their network by implementing services like SIP Trunking, secure Unified Communications and Voice over IP (VoIP).
The SBC Core provides a reliable, scalable platform for IP interconnect to deliver security, session control, bandwidth management, advanced media services and integrated billing/reporting tools in an SBC appliance. This versatile series of SBCs can be deployed as peering SBCs, access SBCs or enterprise SBCs (eSBCs). The SBC product family is tested for interoperability and performance against various third-party products and call flow configurations in the customer networks.
Info |
---|
|
In the subsequent sections, SBC 5x10, 5400, 7000 and SWe are represented as SBC Core. |
About Zoom Phone Provider Exchange (PEX)
Zoom Phone Provider Exchange makes it easier for customers to choose their preferred PSTN provider partners and for partners to share their services with a rapidly expanding global customer base. It is an improved way to connect with cloud-peering partners, promote the discovery of new providers, and enable self-service of phone numbers from your selected partner.
This guide contains the following configuration sections:
Scope/Non-Goals
This document provides configuration best practices for deploying Ribbon's SBC Core with Zoom Phone Provider Exchange. Note that these are configuration best practices; each customer may have unique needs and networks. Ribbon recommends that customers work with network design and deployment engineers to establish the network design that best meets their requirements.
It is not the goal of this guide to provide detailed configurations that meet the requirements of every customer. Use this guide as a starting point to build the SBC configurations in consultation with network design and deployment engineers.
Audience
This is a technical document intended for telecommunications engineers to configure the Ribbon SBC.
To perform this interop, you need to:
- use the Graphical User Interface (GUI) or command line interface (CLI) of the Ribbon product,
- understand the basic concepts of TCP/UDP/TLS and IP/Routing.
- have SIP/RTP/SRTP to complete the configuration and for troubleshooting.
Info |
---|
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 applying the specifications and information in this guide. |
Pre-Requisites
The following aspects are required before proceeding with the interop:
- Ribbon SBC 5K /7K/SWe Core
- Ribbon SBC Core license
- A valid license from Ribbon is required to enable functionality on Ribbon SBCs. Each SBC license provides a base set of capabilities to enable and add additional features and capacity as required.
- Public IP Addresses
- Zoom Phone Provider Exchange Trunk
- A Zoom account is required.
- TLS Certificates for SBC 5K /7K/SWe Core
Anchor |
---|
| Product and device details |
---|
| Product and device details |
---|
|
Product and Device Details
The following equipment and software were used for the sample configuration provided:
Caption |
---|
|
| Equipment | Software Version |
---|
Ribbon Communications | Ribbon SBC 5K /7K/SWe Core
| V11.01.01R000 |
---|
Zoom | Zoom Desktop app
| 5.15.7 (20303) |
---|
Third-party Equipment | Zoiper | 5.6.1 |
---|
|
Info |
---|
|
The Ribbon SBC Core portfolio includes SBC 5x10, SBC 5400, SBC 7000 (appliance-based), and SBC SWe (virtualized platform). The software version applies to the Ribbon SBC Core portfolio; hence, this configuration guide is valid for all these devices. |
Anchor |
---|
| Network Topology Diagram |
---|
| Network Topology Diagram |
---|
|
Network Topology Diagram
This section covers the SBC Core deployment topology and the Interoperability Test Lab Topology.
SBC Core Deployment Topology
Caption |
---|
0 | Figure |
---|
1 | SBC Core Deployment Topology |
---|
|
|
Interoperability Test Lab Topology
The following lab topology diagram shows the connectivity between Zoom and Ribbon SBC Core.
Caption |
---|
0 | Figure |
---|
1 | Interoperability Test Lab Topology |
---|
|
|
Anchor |
---|
| Document Workflow |
---|
| Document Workflow |
---|
|
Document Workflow
The sections in this document follow the sequence below. The reader is advised to complete each section for the successful configuration.
Section A: SBC Core Configuration
The following SBC Core configurations are included in this section:
Network and Connectivity
Static Routes
TLS Configuration between Ribbon SBC Core and Zoom
SIP Message Manipulation
PSTN Leg Configuration
Zoom Leg Configuration
Anchor |
---|
| Network and Connectivity |
---|
| Network and Connectivity |
---|
|
Network and Connectivity
Ribbon SBC is as shown below:
Caption |
---|
|
|
Info |
---|
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 and 7K (appliance-based). For the SBC SWe (virtualized platform), the logical pkt0/pkt1 interfaces must be mapped to a physical port. |
Anchor |
---|
| Static Routes |
---|
| Static Routes |
---|
|
Static RoutesStatic 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 interface (single path access or default route).
Tip |
---|
|
- Configuring static routing is preferable for smaller networks with just one or two routes. This is often more efficient since a link is not being wasted by exchanging dynamic routing information.
- Static routing configurations are not required for networks with a LAN-side Gateway on Voice VLAN or Multi-Switch Edge Devices (MSEs) with Voice VLAN towards SBC Core.
|
Info |
---|
Add the static route once PSTN Leg and Zoom Leg configurations are done on the SBC. |
Static route towards PSTN
Code Block |
---|
set addressContext default staticRoute 0.0.0.0 0 10.54.X.X LIF1 PKT0_V4 preference 100
commit |
Static route towards Zoom
Code Block |
---|
set addressContext default staticRoute 162.12.X.X 24 115.110.X.X LIF2 PKT1_V4 preference 100
commit |
Anchor |
---|
| TLS Configuration between Ribbon SBC Core and Zoom |
---|
| TLS Configuration between Ribbon SBC Core and Zoom |
---|
|
TLS Configuration between Ribbon SBC Core and Zoom
Prerequisites:
- For TLS to work on the public side of the network, a Zoom-supported trusted CA (Certificate Authority) is needed. In this scenario, GoDaddy is used as a Trusted CA.
- Enable Zoom BYOC trunk with TLS/SRTP.
Generate a CSR with OpenSSL
Code Block |
---|
# 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. |
Generate Required Certificates
Import Public CA Root Certificate into the database.
Code Block |
---|
set system security pki certificate CA_ROOT_CERT type remote fileName root_cert.cer state enabled |
Import Public CA Certified SBC Server Certificate into the database.
Code Block |
---|
set system security pki certificate SBC_CERT filename sbc1_cert.p12 passPhrase <Password defined during CSR generation> state enabled type local |
Import Digicert Global Root Certificate G2 into the database.
Code Block |
---|
set system security pki certificate DIGI_ROOT_G2 fileName DigiCertGlobalRootG2.crt type remote state enabled |
Import Digicert Global Root Certificate G5 into the database.
Code Block |
---|
set system security pki certificate DIGI_ROOT_G5 fileName DigiCertTLSRSA4096RootG5.crt.pem type remote state enabled |
TLS Profile
A TLS Profile is required for the TLS handshake between SBC Core and Zoom. This profile defines cipher suites supported by SBC Core. Create the TLS profile as mentioned below:
Code Block |
---|
set profiles security tlsProfile TLS_PROF clientCertName SBC_CERT serverCertName SBC_CERT cipherSuite1 tls_ecdhe_rsa_with_aes_256_gcm_sha384 cipherSuite2 tls_ecdhe_rsa_with_aes_128_cbc_sha cipherSuite3 tls_ecdh_ecdsa_with_aes_256_gcm_sha384 authClient true allowedRoles clientandserver 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 Leg Configuration.
Code Block |
---|
set addressContext default zone ZOOM sipSigPort 7 state disabled mode outOfService
commit
set addressContext default zone ZOOM sipSigPort 7 tlsProfileName TLS_PROF
commit
set addressContext default zone ZOOM sipSigPort 7 state enabled mode inService
commit |
Anchor |
---|
| Local Ringback Tone Configuration |
---|
| Local Ringback Tone Configuration |
---|
|
Local Ringback Tone ConfigurationThis section contains the general SBC configurations.
Anchor |
---|
| DSP Resource Allocation |
---|
| DSP Resource Allocation |
---|
|
DSP Resource Allocation
This configuration only applies if the SBC has been deployed with (hardware) DSP resources. If it has not, executing this configuration step has no negative impact. Do not attempt transcoding so that the lack of compression resources will not impact the overall SBC configuration in this document.
Code Block |
---|
set system mediaProfile compression 75 tone 25
commit |
Note |
---|
This configuration is not required for the SBC SWe 7.2 release onwards. |
Local Ringback Tone (LRBT) Profile
Create a Local Ringback Tone (LRBT) profile attached to both PSTN and Zoom leg.
Enable Dynamic LRBT.
Code Block |
---|
set profiles media toneAndAnnouncementProfile LRBT_PROF
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone signalingTonePackageState enable
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone precedence lower
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone makeInbandToneAvailable enable
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags useThisLrbtForEgress enable
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags useThisLrbtForIngress enable
set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags dynamicLRBT enable
commit |
SIP Message ManipulationThe SIP Adaptor Profile object is the main construct for SIP Message Manipulation (SMM) functionality. A SIP Adaptor Profile is associated with a SIP Trunk Group or Zone to act upon SIP messages passing into or out of that group. A SIP Trunk Group can have two SIP Adaptor Profiles: an input adaptor profile for manipulating inbound messages, and an output adaptor profile for manipulating outbound messages. Similarly, a Zone can have two SIP Adaptor Profiles.
SIP Message Manipulation (SMM) allows you to modify SIP messages as the SBC Core processes them in both inbound and outbound directions. Using SMM criteria and actions, you define SMM rules within a SIP adaptor profile, which the SBC applies to SIP messages to modify their headers and parameters. When a message comes into or out of the SBC and a SIP adaptor profile uses, the message is evaluated based on the set of criteria in the profile. If the message meets the criteria, it is modified according to the actions defined in the profile.
Since a=maxptime:20 is not supported on Zoom Phone Provider Exchange, the SMM "Modify_maxptime" is used to modify the parameter to a=ptime:20.
Code Block |
---|
set profiles signaling sipAdaptorProfile Modify_maxptime state enabled
set profiles signaling sipAdaptorProfile Modify_maxptime advancedSMM disabled
set profiles signaling sipAdaptorProfile Modify_maxptime profileType messageManipulation
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 applyMatchHeader one
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 1 type message
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 1 message
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 1 message messageTypes all
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 type messageBody
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 messageBody
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 messageBody condition regex-match
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 messageBody regexp
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 messageBody regexp string a=maxptime:20
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 criterion 2 messageBody regexp numMatch match
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 type messageBody
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 operation regsub
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 from
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 from type value
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 from value a=ptime
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 to
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 to type messageBody
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 to messageBodyValue all
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 regexp
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 regexp string a=maxptime
set profiles signaling sipAdaptorProfile Modify_maxptime rule 1 action 1 regexp matchInstance all |
Anchor |
---|
| PSTN Leg Configuration |
---|
| PSTN Leg Configuration |
---|
|
PSTN Leg ConfigurationCreate profiles with a specific set of characteristics corresponding to PSTN. This includes the configuration of the following entities on the PSTN leg:
Codec Entry
Packet Service Profile
IP Signaling Profile
IP Interface Group
Zone
SIP Signaling Port
IP Peer
SIP Trunk Group
Routing Label
Call Routing
Anchor |
---|
| PSTN Codec Entry |
---|
| PSTN Codec Entry |
---|
|
Codec Entry
Codec entry allows you to specify the codec used for the call. Create the codec entry for G711Ulaw codec with packet size 20 and rfc2833 method for dtmf.
Code Block |
---|
set profiles media codecEntry G711ULAW codec g711
set profiles media codecEntry G711ULAW law ULaw
set profiles media codecEntry G711ULAW packetSize 20
set profiles media codecEntry G711ULAW dtmf relay rfc2833
commit |
Anchor |
---|
| PSTN Packet Service Profile |
---|
| PSTN Packet Service Profile |
---|
|
Packet Service Profile (PSP)Create a Packet Service Profile (PSP) for the PSTN leg. The PSP is attached to sipTrunkGroup, created later in this section.
Code Block |
---|
set profiles media packetServiceProfile PSTN_PSP codec codecEntry1 G711ULAW
set profiles media packetServiceProfile PSTN_PSP rtcpOptions rtcp enable
commit |
Anchor |
---|
| PSTN IP Signaling Profile |
---|
| PSTN IP Signaling Profile |
---|
|
IP Signaling Profile (IPSP)Create an IP Signaling Profile with appropriate signaling flags towards PSTN.
Code Block |
---|
set profiles signaling ipSignalingProfile PSTN_IPSP
set profiles signaling ipSignalingProfile PSTN_IPSP egressIpAttributes flags disable2806Compliance enable
commit |
Anchor |
---|
| PSTN IP Interface Group |
---|
| PSTN IP Interface Group |
---|
|
IP Interface GroupCreate an IP interface group.
Info |
---|
Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards PSTN (example pkt0 IP) and "Y" with its prefix length. Provide ceName used during an SBC deployment. Here the ceName is "ZOOM1". |
Code Block |
---|
set addressContext default ipInterfaceGroup LIF1 ipInterface PKT0_V4 ceName ZOOM1 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 state enabled
commit |
Zone
Create a Zone towards PSTN and specify the ID of the zone.
Info |
---|
This Zone groups the set of objects used for the communication towards PSTN. |
Code Block |
---|
set addressContext default zone PSTN id 2
commit |
Anchor |
---|
| PSTN SIP Signaling Port |
---|
| PSTN SIP Signaling Port |
---|
|
SIP Signaling PortSet 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.
Info |
---|
Replace "x.x.x.x" with SIP Signaling Port IP of SBC towards PSTN. |
Code Block |
---|
set addressContext default zone PSTN sipSigPort 3 ipInterfaceGroupName LIF1
set addressContext default zone PSTN sipSigPort 3 ipAddressV4 x.x.x.x
set addressContext default zone PSTN sipSigPort 3 portNumber 5060
set addressContext default zone PSTN sipSigPort 3 transportProtocolsAllowed sip-udp
set addressContext default zone PSTN sipSigPort 3 mode inService
set addressContext default zone PSTN sipSigPort 3 state enabled
commit |
IP PeerCreate an IP Peer with the signaling IP address of the PSTN (Service Provider) and assign it to the PSTN Zone.
Info |
---|
Replace "x.x.x.x" with the PSTN IP. |
Code Block |
---|
set addressContext default zone PSTN ipPeer PSTN_IPP ipAddress x.x.x.x
set addressContext default zone PSTN ipPeer PSTN_IPP ipPort 5060
commit |
Anchor |
---|
| PSTN SIP Trunk Group |
---|
| PSTN SIP Trunk Group |
---|
|
SIP Trunk Group
Create a SIP Trunk Group towards the PSTN and assign corresponding profiles like LRBT, PSP, and IPSP created in earlier steps.
Warning |
---|
You must configure Trunk Group names using capital letters. |
Code Block |
---|
set addressContext default zone PSTN sipTrunkGroup PSTN_TG media mediaIpInterfaceGroupName LIF1
set addressContext default zone PSTN sipTrunkGroup PSTN_TG mode inService state enabled
commit
set addressContext default zone PSTN sipTrunkGroup PSTN_TG policy signaling ipSignalingProfile PSTN_IPSP
set addressContext default zone PSTN sipTrunkGroup PSTN_TG policy media packetServiceProfile PSTN_PSP
set addressContext default zone PSTN sipTrunkGroup PSTN_TG policy media toneAndAnnouncementProfile LRBT_PROF
set addressContext default zone PSTN sipTrunkGroup PSTN_TG signaling messageManipulation inputAdapterProfile Modify_maxptime
set addressContext default zone PSTN sipTrunkGroup PSTN_TG signaling messageManipulation outputAdapterProfile Modify_maxptime
set addressContext default zone PSTN sipTrunkGroup PSTN_TG ingressIpPrefix 0.0.0.0 0
commit |
Anchor |
---|
| PSTN Routing Label |
---|
| PSTN Routing Label |
---|
|
Routing LabelCreate a Routing Label with a single Routing Label Route to bind the PSTN Trunk Group with the PSTN IP Peer.
Code Block |
---|
set global callRouting routingLabel PSTN_RL routingLabelRoute 1 trunkGroup PSTN_TG
set global callRouting routingLabel PSTN_RL routingLabelRoute 1 ipPeer PSTN_IPP
set global callRouting routingLabel PSTN_RL routingLabelRoute 1 inService inService
commit |
Anchor |
---|
| PSTN Call Routing |
---|
| PSTN Call Routing |
---|
|
Call Routing
This entry is used to route all the calls coming from PSTN towards ZOOM endpoints.
Info |
---|
Provide ceName used during an SBC deployment. "ZOOM1" is the ceName. |
Code Block |
---|
set global callRouting route trunkGroup PSTN_TG ZOOM1 standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel ZOOM_RL
commit |
Anchor |
---|
| Zoom Leg Configuration |
---|
| Zoom Leg Configuration |
---|
|
Zoom Leg Configuration
Create profiles with a specific set of characteristics corresponding to Zoom. This includes the configuration of the following entities on the Zoom leg:
Codec Entry
Packet Service Profile
IP Signaling Profile
IP Interface Group
Zone
SIP Signaling Port
IP Peer
SIP Trunk Group
Routing Label
Call Routing
Codec Entry
Codec entry allows you to specify the codec used for the call. Create the codec entry for G711Ulaw codec with packet size 20 and rfc2833 method for dtmf.
Code Block |
---|
set profiles media codecEntry G711_Zoom codec g711
set profiles media codecEntry G711_Zoom law ULaw
set profiles media codecEntry G711_Zoom packetSize 20
set profiles media codecEntry G711_Zoom dtmf relay rfc2833
commit |
Anchor |
---|
| Packet Service Profile |
---|
| Packet Service Profile |
---|
|
Packet Service Profile (PSP)Create a Packet Service Profile (PSP) for the Zoom leg. The PSP is attached to the sipTrunkGroup, created later in this section.
Since there is an SRTP between the SBC Core and Zoom, you must create a crypto suite profile.
Code Block |
---|
set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 cryptoSuite AES-CM-128-HMAC-SHA1-80 |
The Crypto Suite profile is attached to the ZOOM_PSP.
Code Block |
---|
set profiles media packetServiceProfile ZOOM_PSP codec codecEntry1 G711_Zoom
set profiles media packetServiceProfile ZOOM_PSP rtcpOptions rtcp enable
set profiles media packetServiceProfile ZOOM_PSP secureRtpRtcp cryptoSuiteProfile CRYPT_PROF
set profiles media packetServiceProfile ZOOM_PSP secureRtpRtcp flags allowFallback enable
set profiles media packetServiceProfile ZOOM_PSP secureRtpRtcp flags enableSrtp enable
commit |
Anchor |
---|
| IP Signaling Profile |
---|
| IP Signaling Profile |
---|
|
IP Signaling Profile (IPSP)Create an IP Signaling Profile with appropriate signaling flags towards Zoom.
Info |
---|
The SBC Core to Zoom transport type is TLS, enabling the same transport type in ZOOM_IPSP. |
Code Block |
---|
set profiles signaling ipSignalingProfile ZOOM_IPSP
set profiles signaling ipSignalingProfile ZOOM_IPSP egressIpAttributes flags disable2806Compliance enable
set profiles signaling ipSignalingProfile ZOOM_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP
set profiles signaling ipSignalingProfile ZOOM_IPSP egressIpAttributes transport type1 tlsOverTcp
commit |
Anchor |
---|
| IP Interface Group |
---|
| IP Interface Group |
---|
|
IP Interface GroupCreate an IP interface group.
Info |
---|
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". |
Code Block |
---|
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 |
Zone
Create a Zone towards Zoom and specify the ID of the zone.
Info |
---|
This Zone groups the set of objects used for communication towards Zoom. |
Code Block |
---|
set addressContext default zone ZOOM id 6
commit |
Anchor |
---|
| SIP Signaling Port |
---|
| SIP Signaling Port |
---|
|
SIP Signaling PortSet 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.
Info |
---|
Replace "x.x.x.x" with the SIP Signaling Port IP address of the SBC towards Zoom. |
Code Block |
---|
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 5060
set addressContext default zone ZOOM sipSigPort 7 tlsProfileName TLS_PROF
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 |
Warning |
---|
There are a few areas that result in a TLS negotiation issue. One area involves assigning the incorrect port. Ensure the following are accomplished: |
IP PeerCreate an IP Peer with the signaling IP address of ZOOM and assign it to ZOOM Zone.
Info |
---|
Replace "x.x.x.x" with the Zoom SIP signaling IP. |
Code Block |
---|
set addressContext default zone ZOOM ipPeer ZOOM_IPP ipAddress x.x.x.x
set addressContext default zone ZOOM ipPeer ZOOM_IPP ipPort 5060
commit |
Path Check Profile
Create a path check profile that attaches to the Zoom side.
Code Block |
---|
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 |
Anchor |
---|
| SIP Trunk Group |
---|
| SIP Trunk Group |
---|
|
SIP Trunk Group
Create a SIP Trunk Group towards ZOOM and assign corresponding profiles like LRBT, PSP, and IPSP created in earlier steps.
Warning |
---|
You must configure Trunk Group names using capital letters. |
Code Block |
---|
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 signaling ipSignalingProfile ZOOM_IPSP
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy media packetServiceProfile ZOOM_PSP
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG policy media toneAndAnnouncementProfile LRBT_PROF
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG signaling messageManipulation inputAdapterProfile Modify_maxptime
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG signaling messageManipulation outputAdapterProfile Modify_maxptime
set addressContext default zone ZOOM sipTrunkGroup ZOOM_TG ingressIpPrefix 0.0.0.0 0
commit |
Anchor |
---|
| Z Routing Label |
---|
| Z Routing Label |
---|
|
Routing LabelCreate a Routing Label with a single Routing Label Route to bind the ZOOM Trunk Group with the ZOOM IP Peer.
Code Block |
---|
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 |
Call RoutingThis entry is used to route all the calls coming from Zoom towards PSTN endpoints.
Info |
---|
Provide the ceName used during an SBC deployment. "ZOOM1" is the ceName. |
Code Block |
---|
set global callRouting route trunkGroup ZOOM_TG ZOOM1 standard Sonus_NULL 1 all all ALL none Sonus_NULL routingLabel PSTN_RL
commit |
Section B: Zoom Phone Provider Exchange Configuration
Prerequisites :
- Zoom Pro, Business or Enterprise account: This is a special type of Zoom account that has an outbound/inbound SIP trunk that peers between the Zoom Phone Cloud and the customer’s PSTN carrier connection.
- Customer's existing carrier/carrier equipment: Any carrier offering PSTN services and the carrier equipment can be a router/gateway or another SBC that supports SIP trunk connectivity. The carrier provides several DIDs to use as external numbers.
- Account owner or admin privileges.
- Zoom Phone licenses in the account.
- Trunk Registration: Zoom Phone Provider Exchange is a “static” trunk between two static IP endpoints; therefore, no trunk registration is done here.
Info |
---|
|
Ensure a Zoom Phone Provider Exchange SIP trunk is built between the Zoom and the Ribbon SBC Core deployed on a customer site. |
To set up the Zoom Phone Provider Exchange, refer to the link below:
https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0059430
Supplementary Services & Features Coverage
The following checklist depicts the services/features covered through the configuration defined in this Interop Guide.
Sr.No. | Supplementary Features/Services | Coverage |
---|
1 | Basic Registration over UDP, TCP & TLS | |
2 | Basic Call Setup | |
3 | Basic Call Termination | |
4 | Call Waiting | |
5 | DTMF | |
6 | Call Hold/Resume | |
7 | Call Transfer - Blind Transfer | |
8 | Call Transfer - Attended Transfer | |
9 | Call Forward | |
10 | Conference | |
11 | Long Duration Call | |
Legend
| Supported |
| Not Supported |
N/A | Not Applicable |
Support
For any support-related queries about this guide, please contact your local Ribbon representative or use the details below:
References
For detailed information about Ribbon products & solutions, please visit:
https://ribboncommunications.com/products
For detailed information about Zoom products & solutions, please visit:
https://zoom.us/
Conclusion
This Interoperability Guide describes a successful Ribbon SBC Core and Zoom Phone Provider Exchange configuration.
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 may be additional configuration changes required to suit the exact deployment environment.
© 2023 Ribbon Communications Operating Company, Inc. © 2023 ECI Telecom Ltd. All rights reserved.