Download as pdf or txt
Download as pdf or txt
You are on page 1of 154

SBC Core

Teams Solution Guide


Software Release: 8.2
Document Revision: 01.03
Published: 2 June 2021

https://ribboncommunications.com 5550-08741

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 1
Copyright
© 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-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.

Disclaimer and Restrictions


The publication is for information purposes only and is subject to change without notice. This publication does not constitute a commitment on the part of
Ribbon. While reasonable efforts have been made in the preparation of this publication to assure its accuracy, Ribbon assumes no liability resulting from
technical or editorial errors or omissions, or for any damages whatsoever resulting from the furnishing, performance, or use of the information contained
herein. Ribbon reserves the right to make changes to this publication and to Ribbon products without notice in its sole discretion. This publication is not
meant to define any interfaces between Ribbon products and any third-party hardware or software products.

Warranties
THIS INFORMATION IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO
EVENT SHALL RIBBON BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR PERFORMANCE OF THIS INFORMATION, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Compliance with Applicable Laws and Export Control Laws


The information in this publication is subject to all applicable U.S. federal, state, and local laws. The customer use, distribution, and transfer of any
technical information shall be in compliance with all applicable export and import laws and regulations. All Ribbon products and publications are
commercial in nature; and the use, duplication, or disclosure by the United States Government is subject to the restrictions set forth in DFARS 252.227-
7013 and FAR 52.227-19.

Trademarks
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.

UNCONTROLLED COPY: The original content is stored in an electronic database and is “write protected”; it may be altered only by authorized persons.
While copies may be printed, it is not recommended. Viewing of the original content electronically ensures access to the current content. Any hardcopies
taken must be regarded as uncontrolled copies.

For access to the technical documentation, log in through Ribbon Support Services website at
https://ribboncommunications.com/services/support-services/technical-documentation

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 2
1. SBC 8.2 - MS Teams Solution Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 SBC 8.2 - Introduction to SBC Core and MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 SBC 8.2 - Configure SBC for MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 SBC 8.2 - Common SBC Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 SBC 8.2 - Configure SBC Towards MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.3 SBC 8.2 - Configure SBC for TLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.4 SBC 8.2 - Configure SBC Towards PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.2.5 SBC 8.2 - Configure SBC for MS Teams Media Bypass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.2.6 SBC 8.2 - Enable Remote PSX Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.3 SBC 8.2 - Configure ERE for MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.4 SBC 8.2 - Configure PSX for MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.4.1 SBC 8.2 - Basic PSX Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.4.2 SBC 8.2 - Configure PSX Towards MS Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.4.3 SBC 8.2 - Configure PSX Towards PSTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
1.4.4 SBC 8.2 - Configure PSX for Call Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.5 SBC 8.2.x - Configure Call Admission Control for Multi-tenant Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.5.1 SBC 8.2.x - Common CAC Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.5.2 SBC 8.2.x - Configure ERE for CAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.5.3 SBC 8.2.x - Configure PSX for CAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
1.6 SBC 8.2 - Configure Call Admission Control Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
1.6.1 SBC 8.2 - Common CAC Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
1.6.2 SBC 8.2 - Configure ERE for CAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.6.3 SBC 8.2 - Configure PSX for CAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
1.7 SBC 8.2 - Configure MS Teams and SBC for Emergency Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
1.8 SBC 8.2 - Configure Local Media Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
1.9 SBC 8.2.x - Configure SBC Behind NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
1.10 SBC 8.2.x - Configure SBC for Surrogate Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1.11 SBC 8.2 - Basic Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
1.12 SBC 8.2 - Execute a Test Call To Validate Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
1.13 About the MS Teams Easy Configuration Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.14 Appendix A - Changes in SBC 8.2 - MS Teams Solution Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 3
SBC 8.2 - MS Teams Solution Guide
Note: Content in this document applies to both SBC Core Versions 8.2 and 9.2.

In this section:

Table of Contents:
Tips for Guide Navigation

Click here for a PDF version of this document.

Microsoft Teams® (referred to as MS Teams in this guide) is a proprietary product of Microsoft Corporation.

Ribbon SBC Core® (referred to as SBC Core in this guide) is a proprietary product of Ribbon Communications (referred to as Ribbon in this
guide).

Ribbon performs Microsoft Technology Adoption Program (TAP) testing between Microsoft Teams® and the SBC Core (SBC 5110/5210
/5400, SBC 7000, SBC SWe).

The SBC Core supports using MS Teams only for the purposes described in this guide.

Caution
When you upgrade to SBC 8.2.x releases or later, review the latest MS Teams configuration details in this guide and update the
existing configuration as required.

Note
Unless otherwise mentioned, all information provided in this guide are applicable for SBC 8.2.2 and SBC 9.0.0. In appropriate sections,
notes are given to indicate applicability of instructions based on the SBC version.

Tip
Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

This guide describes the best practices to configure the SBC Core to work with MS Teams Direct Routing.

Table of Contents:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 4
SBC 8.2 - Introduction to SBC Core and MS Teams
SBC 8.2 - Configure SBC for MS Teams
SBC 8.2 - Common SBC Configuration
SBC 8.2 - Configure SBC Towards MS Teams
SBC 8.2 - Configure SBC for TLS
SBC 8.2 - Configure SBC Towards PSTN
SBC 8.2 - Configure SBC for MS Teams Media Bypass
SBC 8.2 - Enable Remote PSX Server
SBC 8.2 - Configure ERE for MS Teams
SBC 8.2 - Configure PSX for MS Teams
SBC 8.2 - Basic PSX Configuration
SBC 8.2 - Configure PSX Towards MS Teams
SBC 8.2 - Configure PSX Towards PSTN
SBC 8.2 - Configure PSX for Call Routing
SBC 8.2.x - Configure Call Admission Control for Multi-tenant Deployment
SBC 8.2.x - Common CAC Configuration
SBC 8.2.x - Configure ERE for CAC
SBC 8.2.x - Configure PSX for CAC
SBC 8.2 - Configure Call Admission Control Profile
SBC 8.2 - Common CAC Configuration
SBC 8.2 - Configure ERE for CAC
SBC 8.2 - Configure PSX for CAC
SBC 8.2 - Configure MS Teams and SBC for Emergency Calls
SBC 8.2 - Configure Local Media Optimization
SBC 8.2.x - Configure SBC Behind NAT
SBC 8.2.x - Configure SBC for Surrogate Registration
SBC 8.2 - Basic Troubleshooting
SBC 8.2 - Execute a Test Call To Validate Configurations
About the MS Teams Easy Configuration Wizard
Appendix A - Changes in SBC 8.2 - MS Teams Solution Guide

Tips for Guide Navigation


You can use the guide for several possible deployment scenarios. To understand the structure of the guide and the relevance of different
sections for the intended configuration/architecture, see the table below.

Note
Execute the sections and the articles within a section sequentially.

If a section/article is optional, you may skip it. However, if you implement a section/article, it is mandatory to follow the sequence.

Figure 1: Tips for Guide Navigation

Section Mandatory Description


(M) /

Optional
(O)

SBC 8.2 - Introduction to M This section introduces MS Teams Direct Routing and Ribbon SBC Core, and
SBC Core and MS Teams describes the prerequisites for configuration.

After completing this section, refer to SBC 8.2 - Configure SBC for MS Teams.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 5
SBC 8.2 - Configure SBC M This section contains articles on the SBC configuration for MS Teams deployment
for MS Teams with a Carrier Trunk. The articles in this section describes the basics that are
essential for further configuration of routing mechanisms.
SBC 8.2 - Common
SBC Configuration After completing this section:
SBC 8.2 - Configure
SBC Towards MS If you use ERE or Advanced ERE for routing, refer to the section SBC 8.2 -
Teams Configure ERE for MS Teams.
SBC 8.2 - Configure If you use PSX for routing, refer to the section SBC 8.2 - Configure PSX for
SBC for TLS MS Teams.
SBC 8.2 - Configure
SBC Towards PSTN Note:
SBC 8.2 - Configure
SBC for MS Teams The article SBC 8.2 - Enable Remote PSX Server in this section is
Media Bypass OPTIONAL; refer to it only if you use PSX for routing.
SBC 8.2 - Enable
Remote PSX Server

All the subsequent sections are OPTIONAL; refer to a section only if it is relevant to your deployment scenario.
However, Ribbon recommends some of the optional sections.

SBC 8.2 - Configure ERE O This section describes configuring the SBC for basic ERE or Advanced ERE
for MS Teams routing.

Skip this section if you use PSX for routing.

After completing this section:

(OPTIONAL) If you implement Call Admission Control, complete the basic


configuration for CAC, followed by ERE configuration for CAC.
(OPTIONAL) If you configure SBC for emergency calls, refer to SBC 8.2 -
Configure MS Teams and SBC for Emergency Calls.
(OPTIONAL) If you configure Local Media Optimization as part of MS Teams
Direct Routing, refer to SBC 8.2 - Configure Local Media Optimization.

SBC 8.2 - Configure PSX O This section describes the PSX configuration for deploying the SBC with MS
for MS Teams Teams.

SBC 8.2 - Basic Skip this section if you use ERE or Advanced ERE for routing.
PSX Configuration
SBC 8.2 - Configure After completing this section:
PSX Towards MS
Teams (OPTIONAL) If you implement Call Admission Control, complete the basic
SBC 8.2 - Configure configuration for CAC, followed by PSX configuration for CAC.
PSX Towards PSTN (OPTIONAL) If you configure SBC for emergency calls, refer to SBC 8.2 -
SBC 8.2 - Configure Configure MS Teams and SBC for Emergency Calls.
PSX for Call Routing (OPTIONAL) If you configure Local Media Optimization as part of MS Teams
Direct Routing, refer to SBC 8.2 - Configure Local Media Optimization.

Note:

Before starting with the configurations described in this section, ensure that
you enabled the remote PSX server.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 6
SBC 8.2.x - Configure O Use this section to implement a Call Admission Control (CAC) profile to enable
Call Admission Control each SIP registered or static endpoint to contain individualized limits on the
for Multi-tenant number of active calls, bandwidth size, call rates, over-subscription amounts, and
Deployment burst sizes.

SBC 8.2.x - If you do not implement CAC, skip this section.


Common CAC
Configuration After completing this section:
SBC 8.2.x -
Configure ERE for (OPTIONAL) If you configure SBC for emergency calls, refer to SBC 8.2 -
CAC Configure MS Teams and SBC for Emergency Calls.
SBC 8.2.x - (OPTIONAL) If you configure Local Media Optimization as part of MS Teams
Configure PSX for Direct Routing (recommended), refer to SBC 8.2 - Configure Local Media
CAC Optimization.

Note:

Applicable only for SBC 8.2.2, 9.0.0, and later releases.


After completing the configurations in the article SBC 8.2.x - Common CAC
Configuration:
If you use ERE or Advanced ERE for routing, configure ERE for CAC.
If you use PSX for routing, configure PSX for CAC.

SBC 8.2 - Configure Call O Use this section to implement a Call Admission Control (CAC) profile to enable
Admission Control Profile each SIP registered or static endpoint to contain individualized limits on the
number of active calls, bandwidth size, call rates, over-subscription amounts, and
SBC 8.2 - Common burst sizes.
CAC Configuration
SBC 8.2 - Configure If you do not implement CAC, skip this section.
ERE for CAC
SBC 8.2 - Configure After completing this section:
PSX for CAC
(OPTIONAL) If you configure SBC for emergency calls, refer to SBC 8.2 -
Configure MS Teams and SBC for Emergency Calls.
(OPTIONAL) If you configure Local Media Optimization as part of MS Teams
Direct Routing (recommended), refer to SBC 8.2 - Configure Local Media
Optimization.

Note:

This section is applicable only for SBC 8.2.0. If you are using SBC 8.2.2,
9.0.0, or later, refer to SBC 8.2.x - Configure Call Admission Control for Multi-
tenant Deployment.
After completing the configurations in the article SBC 8.2 - Common CAC
Configuration:
If you use ERE or Advanced ERE for routing, configure ERE for CAC.
If you use PSX for routing, configure PSX for CAC.

SBC 8.2 - Configure MS O Use this section to configure the SBC and MS Teams systems for emergency calls.
Teams and SBC for
Emergency Calls After completing this section, refer to SBC 8.2 - Configure Local Media Optimization.

SBC 8.2 - Configure O Use this section to configure Local Media Optimization as part of MS Teams Direct
Local Media Optimization Routing.

After completing this section, refer to SBC 8.2 - Execute a Test Call To Validate
Configurations.

SBC 8.2.x - Configure O Use this section only if you are deploy the SBC behind NAT.
SBC Behind NAT
Note: Applicable only for SBC 8.2.2, 9.0.0, and later releases.

SBC 8.2.x - Configure O Use this section only if you configure the SBC for Surrogate Registration.
SBC for Surrogate
Registration Note: Applicable only for SBC 8.2.2, 9.0.0, and later releases.

SBC 8.2 - Basic O Use this section to troubleshoot basic problems in the SBC and MS Teams
Troubleshooting systems. For more help with complicated issues, contact Ribbon.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 7
SBC 8.2 - Execute a Test O Use this section to execute a basic call using the SBC and MS Teams. This step
Call To Validate ensures that all the configurations are correct, and the system is working as
Configurations Recommend expected.
ed

About the MS Teams O Use this section to automatically configure the SBC and the MS Teams for single-
Easy Configuration tenant (enterprise) and multi-tenant deployment.
Wizard
Note: Automation tool available in SBC 8.2.2, 9.0.0, and later releases.

Appendix A - Changes in O Use this section to compare the changes made in this guide, with respect to it's pre
SBC 8.2 - MS Teams vious version. This section is helpful if you upgrade from SBC 7.2 to SBC 8.2.
Solution Guide

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 8
SBC 8.2 - Introduction to SBC Core and MS Teams
In this section:

About Teams Direct Routing


About Ribbon SBC Core
Validated Ribbon SBC Version
Network Architecture
Ribbon SBC Prerequisites
Reference Configuration
Equipment and Software
Infrastructure Prerequisites
MS Teams Deployment Overview

This article introduces MS Teams Direct Routing and Ribbon SBC Core, and describes the prerequisites for configuration.

About Teams Direct Routing


MS Teams Direct Routing allows connecting SBC Core, or a customer-provided SBC, to a Microsoft Phone System. You can connect the SBC to
almost any telephony trunk, or connect it with third-party PSTN equipment.

About Ribbon SBC Core


Ribbon's Session Border Controllers (SBCs) provide robust security, simplified interoperability, advanced session management, and carrier-grade
reliability for enterprises and service providers. Ribbon's SBCs offer powerful deployment flexibility that meets or exceeds the demanding levels
of security and service quality for applications such as SIP trunking, Unified Communications, Network-Network Interconnection, VoLTE, VoWiFi,
and RCS.

The Ribbon SBC Core supports MS Teams on the SBC 5110/5210/5400, SBC 7000, as well as the SBC SWe on KVM and VMware.

Validated Ribbon SBC Version


Microsoft successfully conducted validation tests with Ribbon SBC Core versions 6.2, 7.2, and 8.2. Other firmware versions may run successfully;
however, Microsoft did not test such versions. For an updated list, refer to the page on Microsoft's website - https://docs.microsoft.com
/en-us/microsoftteams/direct-routing-border-controllers.

Network Architecture
Ribbon SBC Prerequisites
Before starting configuration, ensure that the following prerequisites are fulfilled:

To enable direct routing, a Microsoft Phone System license is installed in MS Teams. For more information on Microsoft's licensing
requirements, refer to https://docs.microsoft.com/en-us/microsoftteams/direct-routing-plan#licensing-and-
other-requirements.
Signaling Encryption and Media Encryption licenses are installed on the SBC.
For multi-tenant MS Teams deployment, Advance ERE or PSX Access licenses are installed on the SBC. Basic ERE is sufficient for
single-tenant MS Teams deployment. For allocating DSP resources with licenses, or playing ring back tones without DSP licenses, refer
to the sections "Configure DSP Resource Allocation" and "Configure Ring Back Tone (without DSP)" respectively in the page SBC
8.2 - Common SBC Configuration.

Figure 2: SBC Licensing for MS Teams

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 9
Reference Configuration
The following illustration describes the network architecture used for this guide.

Figure 3: SBC - MS Teams - Carrier Trunk and CAC

The SBC performs a failover to another Office 365 site when the primary data center site is down. Currently, Microsoft Office 365 uses the
following sites.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 10
sip.pstnhub.microsoft.com
sip2.pstnhub.microsoft.com
sip3.pstnhub.microsoft.com

The following figure illustrates the configuration.

Figure 4: Site Failover Architecture

Equipment and Software


The configuration examples in this solution guide use the following equipment, elements, and software:

Table 1: Requirements

Product Equipment Software Version

Ribbon Elements Ribbon SBC V08.02.00-R002


5400 V03.21.00-R000
BMC V01.18.00
BIOS V07.02.00-R002
ConnexIP OS V08.02.00-R002
RibbonDB V08.02.00-R002
EMA V08.02.00-R002
SBC V11.02.01-R001
PSX

Third-party Equipment Microsoft Teams v.2020.3.7.1 i.ASEA.8

Teams Client 1.3.00.4461

Administration and Debugging Tools Wireshark 2.4.4

Infrastructure Prerequisites
For information on infrastructure prerequisites, refer to the section "Infrastructure requirements" of Microsoft's document https://docs.
microsoft.com/en-us/microsoftteams/direct-routing-plan.

As a quick reference, the above article includes the following topics:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 11
Session Border Controller (SBC)
Telephony trunks connected to the SBC
Office 365 tenant
User registrar
Domains
Public IP address for the SBC
Fully Qualified Domain Name (FQDN) for the SBC
Public DNS entry for the SBC
Public trusted certificate for the SBC
Connection points for Direct Routing
Firewall IP addresses and ports for Direct Routing media
Media Transport Profile
Firewall IP addresses and ports for Microsoft Teams media

References:

Microsoft – For a list of Ribbon SBC products supported for MS Teams, refer to the following page on Microsoft's website - https://do
cs.microsoft.com/en-us/microsoftteams/direct-routing-border-controllers.
Ribbon – For more information, refer to the following page on Ribbon's website - https://ribboncommunications.com
/solutions/enterprise-solutions/microsoft-solutions.

MS Teams Deployment Overview


The following table describes the available routing options, based on the SBC with MS Teams deployment scenario:

Table 2: Deployment Scenarion and Routing Options

Deployment Scenario Routing Options

Single-tenant deployments
Basic ERE
Advanced ERE (A-ERE)
PSX

Multi-tenant deployments
Advanced ERE (A-ERE)
PSX

Tip
Ribbon recommends using Basic ERE only for single-tenant deployments, and A-ERE or PSX for scalable multi-tenant MS Teams
configuration.

Note
To handle traffic for all MS Teams tenants configured on the SBC, this configuration uses a single IP Trunk Group, referred to as a
Carrier Trunk, between MS Teams and the SBC.

To enforce CAC on a per-tenant basis, configure dummy trunk groups for each tenant.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 12
SBC 8.2 - Configure SBC for MS Teams
This section contains articles on the SBC configuration for MS Teams deployment with a Carrier Trunk. The articles in this section describes the
basics that are essential for further configuration of routing mechanisms.

The following articles describe the SBC configuration applicable to ERE and PSX routing:

SBC 8.2 - Common SBC Configuration


SBC 8.2 - Configure SBC Towards MS Teams
SBC 8.2 - Configure SBC for TLS
SBC 8.2 - Configure SBC Towards PSTN
SBC 8.2 - Configure SBC for MS Teams Media Bypass
SBC 8.2 - Enable Remote PSX Server

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 13
SBC 8.2 - Common SBC Configuration
In this article:

Configure RTCP for Media


Configure SIP Domain
Configure DSP Resource Allocation
Configure Ring Back Tone (without DSP)
Configure Path Check Profile

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the basic SBC configuration that creates the foundation for subsequent steps described in the rest of the articles of this
section.

Configure RTCP for Media


To configure the RTCP for media, execute the following commands:

1. Configure the report interval:

% set system media mediaRtcpControl senderReportInterval 5


% commit

2. Disable the sendBYEPacket:

% set system media mediaRtcpControl sendBYEPacket disabled


% commit

Configure SIP Domain


1. Configure the global SIP Domain Name:

Note
The SBC performs a failover to another Office 365 site when the primary data center site is down. Currently, Microsoft Office
365 uses the following sites.

sip.pstnhub.microsoft.com
sip2.pstnhub.microsoft.com
sip3.pstnhub.microsoft.com

This could be a gcc- or dod-based domain if using that functionality.

% set global sipDomain SIP.PSTNHUB.MICROSOFT.COM


% set global sipDomain SIP2.PSTNHUB.MICROSOFT.COM
% set global sipDomain SIP3.PSTNHUB.MICROSOFT.COM
% commit

2. Configure the FQDN for the SBC (example - abc.example.com):

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 14
2.

% set global sipDomain ABC.EXAMPLE.COM


% commit

Configure DSP Resource Allocation


Note

This configuration is OPTIONAL; execute this step only if you deploy the SBC with hardware DSP resources.
For SWe/Cloud deployments, if you are using SBC Core v7.2 or later, this configuration is not required.

Configure the compression and tone for the media profile:

% set system mediaProfile compression 75 tone 25


% commit

Caution
Executing this step on a SBC without DSP resources does not have any negative impact.

However, DO NOT attempt transcoding, so that the lack of compression resources does not affect the SBC configuration and
performance.

Configure Ring Back Tone (without DSP)


You can configure Ring back tones to play on certain codecs, even though DSP cards/licenses are not available.

% set profiles media toneCodecEntry g711u codec g711 law ULaw


% commit

% set profiles media toneAsAnnouncementProfile toneType defRing codecType g711u segmentId 20001
% commit

Configure Path Check Profile


Create and attach a Path Check Profile to the Teams side:

% set profiles services pathCheckProfile TEAMS_OPTIONS protocol sipOptions sendInterval 20 replyTimeoutCount 1


recoveryCount 1
% commit

% set profiles services pathCheckProfile TEAMS_OPTIONS transportPreference preference1 tls-tcp


% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 15
SBC 8.2 - Configure SBC Towards MS Teams
In this article:

Configure SMM to Modify Options Message


Configure IP Interface Group
Configure Zone
Configure an IP Peer
Configure SIP Signaling Port
Configure DNS Group
Configure IP Static Route
Configure SIP Trunk Group
Configure SMM Profiles Towards MS Teams
Outbound
Outbound for Multi-tenant
Outbound for Single-tenant
Inbound Multi-tenant
Attach SMM Profiles

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the steps for configuring the connectivity between the SBC and MS Teams.

Configure SMM to Modify Options Message


Note
This set of configuration does not apply to SBC 8.2.2, 9.0.0, and later releases.

Microsoft Teams require the SBC's FQDN in the 'From:' and 'Contact:' header. In the SMM configuration given below, replace:

"user_input1" with the SBC's FQDN


"user_input2" with sipSigPort number plus one. For example, if you configure sipSigPort as 5060, then 'user_input2' is 5061.

Use the SMM commands below to create the following rule:

Rules 1: Modifies the "Contact" header value with the user-provided FQDN.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 16
% set profiles signaling sipAdaptorProfile Modify_Options state enabled
% set profiles signaling sipAdaptorProfile Modify_Options advancedSMM disabled
% set profiles signaling sipAdaptorProfile Modify_Options profileType messageManipulation
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 applyMatchHeader one
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message messageTypes response
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message methodTypes options
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 1 message statusCode 200
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header name Contact
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 type header
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 operation regsub
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from type value
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 from value "<sip:user_input1:
user_input2;transport=tls>"
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to type header
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 to value Contact
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp string .*
% set profiles signaling sipAdaptorProfile Modify_Options rule 1 action 1 regexp matchInstance all
% commit

Configure IP Interface Group


Create an IP Interface Group.

Tip

Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards MS Teams. For example, use the IP address of
pkt1.
Replace "y" with the prefix length of the packet interface (pkt) IP address towards MS Teams.

% set addressContext default ipInterfaceGroup LIF2 ipInterface PKT1_V4 ceName IOTPTFY06 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

Configure Zone
This Zone groups the set of objects used to communicate to MS Teams.

Configure the domain name (for example, customers.interopdomain.com) and attach it to the appropriate zone.

% set addressContext default zone TEAMS_ZONE id 4


% set addressContext default zone TEAMS_ZONE domainName customers.interopdomain.com
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 17
Note
If you are using SBC 8.2.0, execute the following command before commiting:

% set addressContext default zone TEAMS_ZONE messageManipulation outputAdapterProfile


Modify_Options

Configure an IP Peer
Create an IP Peer for all three sites configured as global SIP Domain names, and attach it to the Path Check Profile.

% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER1 policy sip fqdn sip.pstnhub.microsoft.com
fqdnPort 5060
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 policy sip fqdn sip2.pstnhub.microsoft.com
fqdnPort 5060
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 policy sip fqdn sip3.pstnhub.microsoft.com
fqdnPort 5060
% commit

% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER1 pathCheck profile TEAMS_OPTIONS
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER1 pathCheck profile TEAMS_OPTIONS hostName sip.
pstnhub.microsoft.com hostPort 5060 state enabled
% commit

% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 pathCheck profile TEAMS_OPTIONS
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER2 pathCheck profile TEAMS_OPTIONS hostName sip2.
pstnhub.microsoft.com hostPort 5060 state enabled
% commit

% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 pathCheck profile TEAMS_OPTIONS
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_PEER3 pathCheck profile TEAMS_OPTIONS hostName sip3.
pstnhub.microsoft.com hostPort 5060 state enabled
% commit

Note
For TLS, the SBC increments the port number of the IP Peer by one while sending out any call. Configure a port less than the port on
which the remote peer listens. This is applicable only for TLS protocol.

Configure SIP Signaling Port


Define the SIP Signaling port, which is a logical address permanently bound to a specific zone, that sends and receives SIP call signaling packets.

Note
The Ribbon SBC Core listens to two ports:

the port defined under SIP Signaling Port for TCP and UDP, and
the port for TLS to receive incoming traffic.

Tip
Replace "x.x.x.x" with SIP Signaling Port IP address towards MS Teams.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 18
% set addressContext default zone TEAMS_ZONE id 4 sipSigPort 4 ipInterfaceGroupName LIF2 ipAddressV4 x.x.x.x
portNumber 5060 transportProtocolsAllowed sip-tls-tcp
% set addressContext default zone TEAMS_ZONE id 4 sipSigPort 4 state enabled mode inService
% commit

Configure DNS Group


Create DNS objects for DNS resolution within a particular zone. Use the interface with public connectivity.

% set addressContext default dnsGroup EXT_DNS


% set addressContext default dnsGroup EXT_DNS type ip interface LIF2 server DNS2 ipAddress 8.8.8.8 state enabled
% set addressContext default zone TEAMS_ZONE dnsGroup EXT_DNS
% commit

Configure IP Static Route


Create a default route for the destination IP to enter the network through a particular interface.

Tip
Replace "X.X.X.X" with destination IP, "Y" with the prefix length and "Z.Z.Z.Z" with the PKT1 gateway IP address.

% set addressContext default staticRoute X.X.X.X Y Z.Z.Z.Z LIF2 PKT1_V4 preference 100
% commit

Configure SIP Trunk Group


Create a SIP Trunk Group for the Teams side.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Configure ingressIpPrefix with the value "52.112.0.0 14" only on the SBC's inbound Trunk Group.

Do not provision any ingressIpPrefix attributes for outbound (egress only) SBC Trunk Groups.

The Teams SIP Proxy server does not support the UPDATE method and requires a Re-INVITE. The Teams SIP Proxy Server only supports a
new RFC for call hold, which is "a=inactive".

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services dnsSupportType a-only
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media sdpAttributesSelectiveRelay enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG ingressIpPrefix 52.112.0.0 14
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled
% commit

Configure SMM Profiles Towards MS Teams


Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 19
Configure SMM Profiles Towards MS Teams
Outbound
Outbound for Multi-tenant
The SMM commands below serve the following purpose:

Rule 1: Stores the "From" header hostname and stores it in a variable (var1).
Rule 2 and 3: Replaces the current value of Contact header and PPI with variable (var1).
Rule 4-7: Used mainly for handling transfer scenario in a multi-tenant deployment. It populates the correct tenant information from the
"Ribbon" parameter and adds it in "Contact" and "PPI" headers.

Note
Attach this profile to each outbound TG.

% set profiles signaling sipAdaptorProfile HeaderModifications state enabled


% set profiles signaling sipAdaptorProfile HeaderModifications advancedSMM disabled
% set profiles signaling sipAdaptorProfile HeaderModifications profileType messageManipulation

% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 applyMatchHeader one


% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header name From
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 operation store
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 headerInfo fieldValue
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from value From
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to variableScopeValue local
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 operation regpredel
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 to variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp string @.*>
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 2 regexp matchInstance all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 operation regdel
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 to variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp string "(;user=phone>)|>"
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 3 regexp matchInstance all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 operation append
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from type value
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 from value :
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 4 to variableScopeValue local

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 20
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 applyMatchHeader one
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header name Contact
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 operation regsub
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 headerInfo fieldValue
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to value Contact
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp string @.*:
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 regexp matchInstance all

% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 applyMatchHeader one


% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header name P-Preferred-
Identity
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 operation regsub
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 headerInfo fieldValue
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from variableValue var1
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to value P-Preferred-Identity
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp string @.*:
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 regexp matchInstance all

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 21
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header name Request-Line
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter name Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 operation store
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from value Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 operation delete
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from value Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to value Ribbon

% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 type message


% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header name From
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to tokenValue urihostname

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 22
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header name Contact
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to tokenValue urihostname

% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 type message


% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header name P-Preferred-
Identity
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to tokenValue urihostname

% commit

Outbound for Single-tenant

Note
Configurations in this section are applicable only to single-tenant deployments using Basic ERE. However, when using Advanced ERE
or PSX in case of single tenant deployments, the SMM rules mentioned below are recommended, as it removes the necessity to set
the tenant name via DM/PM rules in PSX or Advanced ERE.

The SMM rules below are created to serve the following purpose:

Rule 1-3: Adding tenant FQDN (in this case A.abc.example.com) to "From", "Contact" and "PPI" header hostname and store it in a
variable (var1).
Rule 4-7: Used mainly for handling transfer scenario in a multi-tenant deployment. It populates the correct tenant information from
"Ribbon" parameter and adds it in "Contact" and "PPI" headers.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 23
% set profiles signaling sipAdaptorProfile HeaderModifications state enabled
% set profiles signaling sipAdaptorProfile HeaderModifications advancedSMM disabled
% set profiles signaling sipAdaptorProfile HeaderModifications profileType messageManipulation

% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 applyMatchHeader one


% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header name From
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from type value
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 from value A.abc.example.com
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 1 action 1 to tokenValue urihostname

% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 applyMatchHeader one


% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header name P-Preferred-
Identity
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from type value
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 from value A.abc.example.com
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 2 action 1 to tokenValue urihostname

% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 type message


% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message messageTypes
requestAll
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header name Contact
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from type value
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 from value A.abc.example.com
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 3 action 1 to tokenValue urihostname

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 24
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header name Request-Line
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 criterion 3 parameter name Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 operation store
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 from value Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 1 to variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 operation delete
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 paramType uri
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 from value Ribbon
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to type parameter
% set profiles signaling sipAdaptorProfile HeaderModifications rule 4 action 2 to value Ribbon

% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 type message


% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header name From
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 5 action 1 to tokenValue urihostname

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 25
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header name Contact
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 6 action 1 to tokenValue urihostname

% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 type message


% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 type header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header name P-Preferred-
Identity
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable condition exist
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 criterion 3 variable variableID var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 operation modify
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from type variable
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 from variableValue var2
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to type token
% set profiles signaling sipAdaptorProfile HeaderModifications rule 7 action 1 to tokenValue urihostname

% commit

Inbound Multi-tenant
The SMM rules below are created to serve the following purpose:

Rule 1: Stores a urihostname value of "To" header and stores it in a variable.


Rule 2: Creates a dummy parameter in the "refer-to" header with name "Ribbon" and stores the variable.

Note
Assign this profile on each MS Teams trunk group.

Note
The REFER SMM is not required if using single tenant setup and single tenant HeaderModifications SMM.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 26
% set profiles signaling sipAdaptorProfile REFER state enabled
% set profiles signaling sipAdaptorProfile REFER advancedSMM disabled
% set profiles signaling sipAdaptorProfile REFER profileType messageManipulation

% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 type message


% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message methodTypes refer
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header name To
% set profiles signaling sipAdaptorProfile REFER rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 type token
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 operation store
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from type token
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 from tokenValue urihostname
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to type variable
% set profiles signaling sipAdaptorProfile REFER rule 1 action 1 to variableValue var1

% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 type message


% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message methodTypes refer
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 type header
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header name Refer-To
% set profiles signaling sipAdaptorProfile REFER rule 2 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 type parameter
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 operation add
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 paramType uri
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from type variable
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 from variableValue var1
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to type parameter
% set profiles signaling sipAdaptorProfile REFER rule 2 action 1 to value Ribbon

% commit

Attach SMM Profiles


% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation
inputAdapterProfile REFER
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation
outputAdapterProfile HeaderModifications
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation
smmProfileExecution fixedOrder
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 27
SBC 8.2 - Configure SBC for TLS
In this article:

Generate a CSR with OpenSSL


Generate Required Certificates
Attach TLS Profile to SIP Signaling Port

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes configuring the SBC for TLS to deploy with MS Teams.

Tip
Before executing the steps below, ensure the following:

You installed OpenSSL on your local machine.


OpenSSL is available from the command prompt or terminal application.

Generate a CSR with OpenSSL


To generate a Certificate Signing Request (CSR) and key file for a Subject Alternative Name (SAN) certificate with multiple subject alternate
names, execute the steps below.

1. Create an OpenSSL configuration file (text file) on the local computer, and edit the following fields:

Note
In this example, the name of the configuration file is "req.conf".

The "req_extensions" puts the subject alternative names in a CSR. Ribbon recommends using the "x509_extensions"
when creating an actual certificate file.

Ensure that there are no whitespace characters at the end of the lines.

Note
You are not required to enter a password or passphrase. This optional field is for applying additional security to your key pair.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 28
[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

2. To create a CSR and a new key file, execute the following command:

openssl req -new -out company_san.csr -newkey rsa:2048 -nodes -sha256 -keyout csrkey.key -config req.conf

3. To verify the CSR, execute the following command:

openssl req -text -noout -verify -in company_san.csr

4. Obtain a signed certificate from a Certificate Authority (CA) in the .crt format, which is convertible to other formats using OpenSSL.

Most CAs provide two or more certificates – one for the SBC certificate, and the others for the CA root and intermediate certificates.

Ribbon recommends using Baltimore's Root Certificate (http://certificate.fyicenter.com


/319_Root_CA_Baltimore_CyberTrust_Root_CyberTrust_Baltimore_IE.html). It is available in the .pem format.

Convert it to the .cer format using the following openssl command:

openssl x509 -outform der -in Baltimore_cert.pem -out Baltimore_cert.cer

Note
In the above example, the certificate is generated with the below command using a ".cer" extension; however, opesssl also
accepts the ".der" extension.

Note
MS Teams peers GCC DoD environment (sip.pstnhub.dod.teams.microsoft.us) and GCC High environment (sip.pstnhub.gov.
teams.microsoft.us) are signed by Digicert. To download the intermediate (DigiCert SHA2 Secure Server CA) and root (
DigiCert Global Root CA) certificates, refer to https://www.digicert.com/digicert-root-certificates.htm.

5. Convert the certificates into SBC-readable formats. Ensure that the SBC certificate is in .pem or .p12 format, and the root certificate is
in .cer or .der formats.
a. For the SBC certificate, convert .crt to .pem using the following command:

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

b. After generating the sbc_cert.pem file, convert it to .p12 format using following command:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 29
b.

Note
Before executing the command below, download the file /opt/sonus/external/csrkey.key from the SBC, and
place it in the directory of the local machine from which you are executing the openssl commands.

openssl pkcs12 -export -out sbc1_cert.p12 -in sbc_cert.pem -inkey /opt/sonus/external/csrkey.key

c. For the CA's root and intermediate certificates, convert .crt to .cer using the following command:

openssl x509 -in root_cert.crt -out root_cert.cer -outform DER

6. Upload the converted certificates to the SBC directory: /opt/sonus/external.

Generate Required Certificates


Execute the following steps in the SBC:

1. Create Crypto Suite Profile.

% set profiles security cryptoSuiteProfile CRYPT_PROF entry 1 cryptoSuite AES-CM-128-HMAC-SHA1-80

2. Import the Public CA Root Certificate into the database.

% set system security pki certificate CA_ROOT_CERT type remote fileName root_cert.cer state enabled

3. Import Baltimore/DigiCert Certificate to the database.

% set system security pki certificate BALTIMORE_CERT type remote fileName Baltimore_cert.cer state
enabled

Note
Use similar command to generate the intermediate certificate.

4. Import Public CA Certified SBC Server Certificate to the database.

% set system security pki certificate SBC_CERT filename sbc1_cert.p12 passPhrase <Password defined
during CSR generation> state enabled type local

5. Create a TLS Profile.

% 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 true
allowedRoles clientandserver acceptableCertValidationErrors invalidPurpose
% set profiles security tlsProfile TLS_PROF v1_1 enable
% set profiles security tlsProfile TLS_PROF v1_0 disable
% set profiles security tlsProfile TLS_PROF v1_2 enable
% commit

Attach TLS Profile to SIP Signaling Port


To attach the TLS Profile to the SIP Signaling Port, execute the following commands:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 30
% set addressContext default zone Teams_ZONE sipSigPort 4 state disabled mode outOfService
% commit

% set addressContext default zone Teams_ZONE sipSigPort 4 tlsProfileName TLS_PROF


% commit

% set addressContext default zone Teams_ZONE sipSigPort 4 state enabled mode inService
% commit

Caution
A few scenarios result in a TLS negotiation issue, such as assigning an incorrect port.

To avoid negotiation issues, verify/configure the following:

MS Teams listens on port number 5061 (default setting).


Configure port number 5060 on MS Teams' IP-Peer, as the SBC increments the port by 1 when the transport protocol is TLS.
For tenant's SBC configuration on MS Teams, use the same port number that is configured under the SBC's SIP Signaling
Port.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 31
SBC 8.2 - Configure SBC Towards PSTN
In this article:

Configure IP Interface Group


Configure Zone
Configure SIP Signaling Port
Configure IP Static Route
Configure SIP Trunk Group

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes configuring the SBC towards PSTN for deployment with MS Teams.

Configure IP Interface Group


Create an IP interface group.

Tip
In the example below:

Replace "x.x.x.x" with the SBC's packet interface (pkt) IP address towards PSTN (for example, pkt0 IP address), and "y"
with its prefix length.
Provide the ceName used during SBC deployment.

% set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 ceName IOTPTFY06 portName pkt0
% set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 ipAddress x.x.x.x prefix Y
% set addressContext default ipInterfaceGroup LIF1 ipInterface PKT1_V4 mode inService state enabled
% commit

Configure Zone
Create a Zone to group the set of objects to communicate to the PSTN.

% set addressContext default zone PSTN_ZONE id 2


% commit

Configure SIP Signaling Port


Create a SIP Signaling port, which is the logical address permanently bound to a specific zone, to send and receive SIP call signaling packets.

Tip
Replace "x.x.x.x" with the SBC's pkt0 IP address.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 32
% set addressContext default zone PSTN_ZONE id 2 sipSigPort 1 ipInterfaceGroupName LIF1 ipAddressV4 x.x.x.x
portNumber 5060 transportProtocolsAllowed sip-tcp,sip-udp,sip-tls-tcp
% set addressContext default zone PSTN_ZONE id 2 sipSigPort 1 mode inService state enabled
% commit

Configure IP Static Route


Create a default route for the destination IP to traverse the network through a particular interface.

Tip
Replace "X.X.X.X" with destination IP, "Y" with the prefix length, and "Z.Z.Z.Z" with the PKT0 gateway IP address.

% set addressContext default staticRoute X.X.X.X Y Z.Z.Z.Z LIF1 PKT0_V4 preference 100
% commit

Configure SIP Trunk Group


Create a SIP Trunk Group towards the PSTN side. For ingressIpPrefix, replace "X.X.X.X" with the IP address that you want to allow from
the PSTN side, and "Y" with its prefix length.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG media mediaIpInterfaceGroupName LIF1
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling methods notify allow
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling rel100Support enabled
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling relayNonInviteRequest enabled
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG signaling honorMaddrParam enabled
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG services dnsSupportType a-only
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG ingressIpPrefix X.X.X.X Y
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService state enabled
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 33
SBC 8.2 - Configure SBC for MS Teams Media Bypass

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Note
To support Media Bypass on Teams, the SBC must support Ice and Rtcp-mux.

Enable this parameter across all TEAMs TGs.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services natTraversal iceSupport iceWebrtc
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 34
SBC 8.2 - Enable Remote PSX Server

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Note
This article is OPTIONAL; skip this article if you use basic ERE or Advanced ERE for call routing.

Use the following command to disable the local PSX server, and then enable the remote PSX server.

% set system policyServer localServer "PSX_LOCAL_SERVER" state "disabled" mode "outOfService"


% commit
% set system policyServer remoteServer "RBBNMSPSX" ipAddress "172.16.106.149" state "enabled" mode "active"
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 35
SBC 8.2 - Configure ERE for MS Teams
In this article:

LRBT Profile
Codec Entry
Element Routing Priority
DM/PM Criteria
DM/PM Rule
Packet Service Profile (PSP)
Media Bypass - RTCP-Mux Configuration
IP Signaling Profile
SIP Trunk Group towards Teams
Routing Label for Teams
Packet Service Profile towards PSTN
IP Signaling Profile (IPSP) towards PSTN
SIP Trunk Group towards PSTN
IP Peer towards PSTN
Routing Label towards PSTN
Call Routing
Standard Route 1
Standard Route 2
Standard Route 3
Username Routing

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Note
This article is OPTIONAL; skip this article if you use external PSX for routing.

For implementing CAC with ERE routing, refer to SBC 8.2 - Configure Call Admission Control Profile (for SBC 8.2.0 users).

This article describes configuring the SBC for basic ERE or Advanced ERE routing.

LRBT Profile
1. Create a Local Ring Back Tone (LRBT) profile that is attached to the Teams side and the PSTN side.
2. If DSP cards/licenses are not available, set the flag announcementBasedTones to enable. Ensure that you execute the configuration
described in the section "Ring Back Tone (without DSP)" of the page SBC 8.2 - Common SBC Configuration.
3. Enable Dynamic LRBT.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 36
% set profiles media toneAndAnnouncementProfile LRBT_PROF
% commit

% set profiles media toneAndAnnouncementProfile LRBT_PROF localRingBackTone flags announcementBasedTones enable


% commit

% 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

Codec Entry
Create a Codec Entry with the supported codec and packet size of 20.

Note
As Teams supports comfort noise, use G711SS-DEFAULT in the Packet Service Profile.

% set profiles media codecEntry G711SS-DEFAULT dtmf relay rfc2833


% set profiles media codecEntry G711SS-DEFAULT packetSize 20
% commit

Note
To play RBT without DSP cards/licenses, use G711U instead of using the Silence Suppression codec.

Element Routing Priority


Create an Element Routing Priority profile by assigning the highest priority to the 'Entity Type' Trunk Group for all required Call Types.

% set profiles callRouting elementRoutingPriority TEAMS entry _private 1 entityType none


% set profiles callRouting elementRoutingPriority TEAMS entry nationalOperator 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry localOperator 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry nationalType 1 entityType trunkGroup
% set profiles callRouting elementRoutingPriority TEAMS entry nationalType 2 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry internationalType 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry internationalOperator 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry longDistanceOperator 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry ipVpnService 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry test 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry transit 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry otherCarrierChosen 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry carrierCutThrough 1 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry userName 1 entityType trunkGroup
% set profiles callRouting elementRoutingPriority TEAMS entry userName 2 entityType none
% set profiles callRouting elementRoutingPriority TEAMS entry mobile 1 entityType none
% commit

DM/PM Criteria
Note
Configurations in this section apply only to Advanced ERE deployments. Skip this section if you are using single-tenant deployment
using basic ERE.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 37
Create the DM/PM Criteria based on the tenant's number prefix. In the following example, the "TEAMS_TENANT_A" profile is created to match
the called number "2414445".

% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A criteriaType digit


% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitType calledNumber
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A parameterPresenceCheck exists
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria egressFlag value send
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria egressFlag operation ignore
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value
startDigitPosition 0
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value numberOfDigits 7
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch value matchValue
2414445
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria digitMatch operation equals
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria natureOfAddress value 950
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria natureOfAddress operation ignore
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberingPlanIndicator value data
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberingPlanIndicator operation
ignore
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberLength value 0
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria numberLength operation ignore
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria presentationMatch value none
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria presentationMatch operation
ignore
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria screeningMatch value none
% set profiles digitParameterHandling dmPmCriteria TEAMS_TENET_A digitCriteria screeningMatch operation ignore
% commit

Note
Repeat this criterion for all prefix types.

DM/PM Rule
Note
Configurations in this section apply only to Advanced ERE deployments. Skip this section if you are using single-tenant deployment
using basic ERE.

Create a DM/PM rule, and attach the Criteria created under DM/PM Criteria. If the value matches, the SBC puts the tenant's FQDN in the "From"
header ("A.abc.example.com", in this case).

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 38
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 criteria TEAMS_TENET_A
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 ruleType uri
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation uriType
callingUri
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
uriParameterManipulation userParameter none
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
uriParameterManipulation scheme none
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
uriParameterManipulation username none
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
uriParameterManipulation presentation none
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation startCharacterPosition 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation numberOfCharacters 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation userinfoLength noInput
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation replacement type constant
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation replacement characterString callingNumber
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation replacement startCharacterPosition 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation replacement numberOfCharacters 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
userInfoManipulation replacement value ""
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation portNumber noChange
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation startCharacterPosition 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation numberOfCharacters 64
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation replacement type constant
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation replacement characterString none
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation replacement startCharacterPosition 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation replacement numberOfCharacters 0
% set profiles digitParameterHandling dmPmRule TEAMS_TENET_A_MOD subRule 0 uriParameterManipulation
hostPortManipulation replacement value A.abc.example.com
% commit

Note
Repeat this rule for all required tenants by increasing the "subRule <id>".

Packet Service Profile (PSP)


Create a Packet Service Profile (PSP) for the Teams side. The PSP is specified within the SIP Trunk Group configuration.

% set profiles media packetServiceProfile TEAMS_PSP


% set profiles media packetServiceProfile TEAMS_PSP codec codecEntry1 G711SS-DEFAULT
% set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcp enable terminationForPassthrough enable
% set profiles media packetServiceProfile TEAMS_PSP preferredRtpPayloadTypeForDtmfRelay 101
% set profiles media packetServiceProfile TEAMS_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13
heartbeat enable
% set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags enableSrtp enable
% set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp flags allowFallback enable
% set profiles media packetServiceProfile TEAMS_PSP secureRtpRtcp cryptoSuiteProfile DEFAULT
% commit

Media Bypass - RTCP-Mux Configuration

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 39
% set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcp enable
% commit
% set profiles media packetServiceProfile TEAMS_PSP rtcpOptions rtcpMux enable
% commit

IP Signaling Profile
Create an IP Signaling Profile (IPSP) for the Teams side. The IPSP is specified within the SIP trunk group configuration.

% set profiles signaling ipSignalingProfile TEAMS_IPSP ipProtocolType sipOnly


% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags includeReasonHeader enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags
includeTransportTypeInContactHeader enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags routeUsingRecvdFqdn enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags sendPtimeInSdp enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags sendRtcpPortInSdp enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags storePChargingVector enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags publishIPInHoldSDP enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes relayFlags statusCode4xx6xx enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags
minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags
relayDataPathModeChangeFromOtherCallLeg enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes optionTagInRequireHeader
suppressReplaceTag enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes numberGlobalizationProfile DEFAULT_IP
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes flags disable2806Compliance enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName
useIpSignalingPeerDomainInRequestUri enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName useSipDomainInPAIHeader
enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName
useSipDomainNameInFromField enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes domainName
useZoneLevelDomainNameInContact enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy transparency disable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy privacyInformation
pPreferredId
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags includePrivacy enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags privacyRequiredByProxy
disable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes privacy flags msLyncPrivacySupport
enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes redirect flags
forceRequeryForRedirection enable
% set profiles signaling ipSignalingProfile TEAMS_IPSP egressIpAttributes transport type1 tlsOverTcp
% set profiles signaling ipSignalingProfile TEAMS_IPSP ingressIpAttributes flags sendSdpIn200OkIf18xReliable
enable
% commit

SIP Trunk Group towards Teams


Configure the SIP Trunk Group with additional configurations like LRBT, ERP, DM/PM Rule, PSP, and IPSP created in the previous steps.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Note
For Single Tenant deployment using basic ERE, skip the configuration of "digitParameterHandling egressDmPmRule" in the
example below.

This configuration applies only to Advanced ERE routing.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 40
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy tgIPVersionPreference both-ipv4-and-
ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling numberingPlan
NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy media packetServiceProfile TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled
% commit

Routing Label for Teams


Add Routing Labels for Teams Trunk Groups. IP Peers are defined in SBC 8.2 - Common SBC Configuration.

% set global callRouting routingLabel TEAMS_RL overflowNumber ""


% set global callRouting routingLabel TEAMS_RL overflowNOA none
% set global callRouting routingLabel TEAMS_RL overflowNPI none
% set global callRouting routingLabel TEAMS_RL routePrioritizationType sequence
% set global callRouting routingLabel TEAMS_RL action routes
% set global callRouting routingLabel TEAMS_RL numRoutesPerCall 10

% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 routeType trunkGroup


% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 trunkGroup TEAMS_TG
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 ipPeer TEAMS_PEER1
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 proportion 0
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 cost 1000000
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 inService inService
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 1 testing normal

% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 routeType trunkGroup


% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 trunkGroup TEAMS_TG
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 ipPeer TEAMS_PEER2
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 proportion 0
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 cost 1000000
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 inService inService
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 2 testing normal

% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 routeType trunkGroup


% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 trunkGroup TEAMS_TG
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 ipPeer TEAMS_PEER3
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 proportion 0
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 cost 1000000
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 inService inService
% set global callRouting routingLabel TEAMS_RL routingLabelRoute 3 testing normal

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 41
% commit

Packet Service Profile towards PSTN


Create a Packet Service Profile for PSTN, and attach it to the PSTN Trunk Group.

% set profiles media packetServiceProfile PSTN_PSP rtcpOptions rtcp disable


% set profiles media packetServiceProfile PSTN_PSP peerAbsenceAction none
% set profiles media packetServiceProfile PSTN_PSP silenceInsertionDescriptor g711SidRtpPayloadType 13
% set profiles media packetServiceProfile PSTN_PSP silenceInsertionDescriptor heartbeat enable
% set profiles media packetServiceProfile PSTN_PSP aal1PayloadSize 47
% set profiles media packetServiceProfile PSTN_PSP codec codecEntry1 G711SS-DEFAULT
% set profiles media packetServiceProfile PSTN_PSP packetToPacketControl transcode conditional
% set profiles media packetServiceProfile PSTN_PSP packetToPacketControl codecsAllowedForTranscoding thisLeg ""
% set profiles media packetServiceProfile PSTN_PSP packetToPacketControl codecsAllowedForTranscoding otherLeg ""
% set profiles media packetServiceProfile PSTN_PSP flags digitDetectSendEnabled disable
% set profiles media packetServiceProfile PSTN_PSP flags useDirectMedia disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags allowFallback disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags enableSrtp disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags resetROCOnKeyChange disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags resetEncDecROCOnDecKeyChange disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags updateCryptoKeysOnModify disable
% set profiles media packetServiceProfile PSTN_PSP secureRtpRtcp flags allowPassthru disable
% set profiles media packetServiceProfile PSTN_PSP preferredRtpPayloadTypeForDtmfRelay 101
% set profiles media packetServiceProfile PSTN_PSP honorRemotePrecedence disable
% set profiles media packetServiceProfile PSTN_PSP sendRoutePSPPrecedence disable
% commit

IP Signaling Profile (IPSP) towards PSTN


Create an IP Signaling Profile for the Teams side. The IPSP is specified within the SIP Trunk Group configuration.

% set profiles signaling ipSignalingProfile PSTN_IPSP ipProtocolType sipOnly


% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags includeReasonHeader enable
% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags
includeTransportTypeInContactHeader enable
% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags
minimizeRelayingOfMediaChangesFromOtherCallLegAll enable
% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags
relayDataPathModeChangeFromOtherCallLeg enable
% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags sendPtimeInSdp enable
% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags lockDownPreferredCodec enable
% set profiles signaling ipSignalingProfile PSTN_IPSP egressIpAttributes flags disable2806Compliance enable
% commit

SIP Trunk Group towards PSTN


Configure the SIP Trunk Group with additional configurations like LRBT, ERP, DM/PM Rule, PSP, and IPSP created in the previous steps.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 42
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode outOfService state disabled
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy carrier 0000
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy country 1
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy localizationVariant northAmerica
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy tgIPVersionPreference both-ipv4-and-
ipv6
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy digitParameterHandling numberingPlan
NANP_ACCESS
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy media packetServiceProfile PSTN_PSP
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy services classOfService DEFAULT_IP
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy signaling ipSignalingProfile PSTN_IPSP
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG policy featureControlProfile DEFAULT_IP
% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG mode inService state enabled
% commit

IP Peer towards PSTN


Create an IP Peer towards PSTN.

% set addressContext default zone PSTN_ZONE ipPeer PSTN_IPP ipAddress x.x.x.x ipPort yyyy
% commit

Routing Label towards PSTN


Create a Routing Label with a single Routing Label Route to bind the PSTN Trunk Group with the PSTN IP Peer.

% set global callRouting routingLabel PSTN_RL routingLabelRoute 1 trunkGroup PSTN_TG ipPeer PSTN_IPP inService
inService
% commit

Call Routing
Note
When call transfer is initiated by MS Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams
entity from which it received the REFER.

MS Teams, in-turn, initiates a new call towards the referred entity.

For this purpose, Standard Route 3 and Username routing entities are configured.

Standard Route 1
Use this entry to allow the SBC to route all calls coming from MS Teams towards PSTN endpoints (irrespective of digits or FQDN).

% set global callRouting route trunkGroup TEAMS_TG <sbcname> standard Sonus_NULL 1 all all ALL none Sonus_NULL
routingLabel PSTN_RL
% commit

Standard Route 2
Use this entry to allow the SBC to route all calls coming from PSTN endpoints towards different MS Teams tenant Trunk Groups, based on the
called digits.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 43
% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL
% commit

Standard Route 3
Use this entry to allow the SBC to route all calls towards the MS Teams after receiving REFER from theMS Teams, for a call transfer towards
PSTN.

% set global callRouting route trunkGroup TEAMS_TG <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL
% commit

Username Routing
Use this entry to allow the SBC to route all calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.

% set global callRouting route trunkGroup TEAMS_TG <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 44
SBC 8.2 - Configure PSX for MS Teams
Note
Only use this section to use the PSX for routing. Execute the steps described in the article SBC 8.2 - Enable Remote PSX Server.

For ERE routing, refer to SBC 8.2 - Configure ERE for MS Teams.

This section describes the PSX configuration for deploying the SBC with MS Teams.

The articles in this section are as follows:

SBC 8.2 - Basic PSX Configuration


SBC 8.2 - Configure PSX Towards MS Teams
SBC 8.2 - Configure PSX Towards PSTN
SBC 8.2 - Configure PSX for Call Routing

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 45
SBC 8.2 - Basic PSX Configuration
In this article:

Configure a Gateway
Configure Element Routing Priority
Configure Tone and Announcement Profile

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes basic PSX configuration to route calls using an external PSX, when the SBC is deployed with MS Teams.

Configure a Gateway
1. Configure a gateway with the SBC name and the management IP address.

Figure 5: Gateway Configuration - 1

2. From the Gateway configuration UI, enter the name of gateway that is configured in the SBC.

Figure 6: Gateway Configuration - 2

Figure 7: Gateway Configuration - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 46
Configure Element Routing Priority
Assign the highest priority to the 'Entity Type' Trunk Group for all required Call Types.

Figure 8: Element Routing Priority

Configure Tone and Announcement Profile


If DSP cards/licenses are not available, set the flag Announcement Based Tones to Enable. Ensure that you execute the configuration
described in the section "Ring Back Tone (without DSP)" of the page SBC 8.2 - Common SBC Configuration.

Figure 9: Tone and Announcement Profile

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 47
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 48
SBC 8.2 - Configure PSX Towards MS Teams
In this article:

Configure IP Signaling Profile (IPSP)


Configure DM/PM Criteria
Configure DM/PM Rule
Configure IP Peers
Configure Crypto Suite Profile
Configure Packet Service Profile
Configure Packet Service Profile ID Group
Configure SIP Domain
Configure SIP Trunk Group
Configure Routing Label

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the PSX configuration towards MS Teams.

Configure IP Signaling Profile (IPSP)

Figure 10: IPSP - 1

Figure 11: IPSP - 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 49
Figure 12: IPSP - 3

Figure 13: IPSP - 4

Figure 14: IPSP - 5

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 50
Figure 15: IPSP - 6

Figure 16: IPSP - 7

Figure 17: IPSP - 8

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 51
Figure 18: IPSP - 9

Figure 19: IPSP - 10

Figure 20: IPSP - 11

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 52
Figure 21: IPSP - 12

Configure DM/PM Criteria


Note
Skip this entry for Single Tenant deployments.

Note
Repeat this criteria for all of the required number ranges that identify specific tenants.

Figure 22: DM/PM Criteria

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 53
Configure DM/PM Rule
Note
Skip this entry for Single Tenant deployments.

Add the tenant information under the Replacement value. For example, "A.customers.interopdomain.com"

Note
Repeat this for each tenant values by matching different criteria. If the value matches, the PSX places the tenant's FQDN in the
"From" header ("A.customers.interopdomain.com", in this example).

Figure 23: DM/PM Rule - 1

Figure 24: DM/PM Rule - 2

Configure IP Peers
Create IP Peers, as defined in the "Configure an IP Peer" section of the page SBC 8.2 - Configure SBC Towards MS Teams.

Figure 25: IP Peer - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 54
Figure 26: IP Peer - 2

Figure 27: IP Peer - 3

Configure Crypto Suite Profile

Figure 28: Crypto Suite Profile

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 55
Configure Packet Service Profile

Figure 29: Packet Service Profile - 1

Figure 30: Packet Service Profile - 2

Figure 31: Packet Service Profile - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 56
Note
Enable RTCP-MUX for media bypass scenarios.

Figure 32: Packet Service Profile - 4

Note
Set Payload type Silence Insertion Descriptor to "13".

Figure 33: Packet Service Profile - 5

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 57
Configure Packet Service Profile ID Group

Figure 34: Packet Service Profile ID Group

Configure SIP Domain

Figure 35: SIP Domain

Configure SIP Trunk Group


Warning
Mandatory! You must capitalize SIP Trunk Group names.

Figure 36: Trunk Group - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 58
Figure 37: Trunk Group - 2

Figure 38: Trunk Group - 3

Note
Do not configure "Out DM/PM Rule" with "TEAMS_TENANT_MOD" for Single Tenant deployments.

Figure 39: Trunk Group - 4

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 59
Figure 40: Trunk Group - 5

Figure 41: Trunk Group - 6

Configure Routing Label

Figure 42: Routing Label - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 60
Figure 43: Routing Label - 2

Figure 44: Routing Label - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 61
Note
For redundancy, create different IP Peers, as defined in the "IP Peer" section of this article.

Figure 45: Routing Label - 4

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 62
SBC 8.2 - Configure PSX Towards PSTN
In this article:

Configure IP Signaling Profile


Configure Packet Service Profile
Configure Packet Service Profile ID Group
Configure Tone and Announcement Profile
Configure an IP Peer
Configure SIP Trunk Group
Configure Routing Label

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the PSX configuration towards PSTN, for deployment with the SBC and MS Teams.

Configure IP Signaling Profile


Create an IP Signaling Profile (IPSP) for the PSTN side.

Figure 46: PSX - PSTN - IPSP - 1

Figure 47: PSX - PSTN - IPSP - 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 63
Figure 48: PSX - PSTN - IPSP - 3

Figure 49: PSX - PSTN - IPSP - 4

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 64
Figure 50: PSX - PSTN - IPSP - 5

Figure 51: PSX - PSTN - IPSP - 6

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 65
Figure 52: PSX - PSTN - IPSP - 7

Figure 53: PSX - PSTN - IPSP - 8

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 66
Configure Packet Service Profile

Figure 54: PSX - PSTN - Packet Service Profile - 1

Note
Transcoding is "Conditional" or "Only", depending on the requirement.

Figure 55: PSX - PSTN - Packet Service Profile - 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 67
Figure 56: PSX - PSTN - Packet Service Profile - 3

Configure Packet Service Profile ID Group

Figure 57: PSX - PSTN - Packet Service Profile ID Group

Configure Tone and Announcement Profile

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 68
If DSP cards/licenses are not available, enable the flag Announcement Based Tones. Ensure that you execute the configuration described in
the section "Configure Ring Back Tone (without DSP)" of the page SBC 8.2 - Common SBC Configuration.

Figure 58: PSX - PSTN - Tone and Announcement Profile

Configure an IP Peer

Figure 59: PSX - PSTN - IP Peer

Configure SIP Trunk Group


Create a Trunk Group towards PSTN side.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Figure 60: PSX - PSTN - Trunk Group - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 69
Figure 61: PSX - PSTN - Trunk Group - 2

Figure 62: PSX - PSTN - Trunk Group - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 70
Configure Routing Label
Create a Routing Label.

Figure 63: PSX - PSTN - Routing Label - 1

Figure 64: PSX - PSTN - Routing Label - 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 71
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 72
SBC 8.2 - Configure PSX for Call Routing
In this article:

Configure Standard Route 1


Configure Standard Route 2
Configure Standard Route 3
Configure Username Routing

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes configuring the PSX for call routing when deployed with the SBC and MS Teams. For ERE routing, refer to SBC 8.2 -
Configure ERE for MS Teams.

Note
When MS Teams initiates a call transfer (as per Teams' recommendation), the SBC sends the INVITE back to the same Teams entity
from which it received the REFER. Teams, in-turn, initiates a new call towards the referred entity.

To accommodate this behavior, configure the Standard Route 3 and Username routing entities.

Configure Standard Route 1


Enter this standard route to allow the PSX to route all the calls coming from Teams towards PSTN end points (irrespective of digits or FQDN).

Figure 65: Standard Route 1 towards PSTN

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 73
Configure Standard Route 2
Enter this standard route to allow the PSX to route calls coming from PSTN end points towards different Teams tenant Trunk Groups based on
the called digits.

Figure 66: Standard Route 2 towards MS Teams

Configure Standard Route 3


Enter this standard route to allow the PSX to route all calls towards the Teams after receiving REFER from the Teams for a call transfer towards
PSTN.

Figure 67: Standard Route 3 towards MS Teams

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 74
Configure Username Routing
Enter Username Routing to allow the PSX to route all call transfers towards Teams after receiving a REFER from Teams.

Figure 68: Username Routing towards MS Teams

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 75
SBC 8.2.x - Configure Call Admission Control for Multi-tenant
Deployment

Note
These instructions are applicable for SBC 8.2.2, 9.0.0, and later.

If you are using earlier versions such as SBC 8.2.0, refer to SBC 8.2 - Configure Call Admission Control Profile.

Note
This section is OPTIONAL; skip this section if you do not implement Call Admission Control for each tenant in a multi-tenant deployment.
For troubleshooting the SBC deployment with MS Teams, refer to SBC 8.2 - Basic Troubleshooting.

Use this section to implement a Call Admission Control (CAC) profile to enable each SIP registered or static endpoint to contain individualized limits
on the number of active calls, bandwidth size, call rates, over-subscription amounts, and burst sizes.

Note
This configuration assumes a single incoming trunk from MS Teams to the SBC, that receives all traffic for all tenants.

To implement CAC limits for each tenant, create dummy trunk groups for each tenant. When the SBC receives a call from Teams based on tenant
information, the SBC assigns the call to the tenant's dummy trunk group based on SMM CACSUPERTG defined under Inbound Profile. These
dummy trunk groups include the CAC profiles configured for enforcing desired CAC limits per tenant.

The articles in this subsection are as follows:

SBC 8.2.x - Common CAC Configuration


SBC 8.2.x - Configure ERE for CAC
SBC 8.2.x - Configure PSX for CAC

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 76
SBC 8.2.x - Common CAC Configuration
In this article:

Configure SIP Trunk Groups


Configure Trunk Group for Tenant A
Configure Trunk Groups for Tenant B
Configure Trunk Groups for Tenant C
Create SIP Parameter Based Action Profile
Configure SMM Profiles Towards MS Teams
Configure Inbound Profile
Attach SMM Profile

Note
These instructions are applicable for SBC 8.2.2, 9.0.0, and later.

If you are using earlier versions such as SBC 8.2.0, refer to SBC 8.2 - Configure Call Admission Control Profile.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the CAC configuration steps that are common for ERE and PSX routing.

Configure SIP Trunk Groups


Configure the SIP Trunk Groups for each tenant to enforce tenant-level CAC towards MS TEAMS. In the example below, trunk groups (TG) are
configured for tenants A, B, and C.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Warning
Do not add ingress IP Prefix to any of the trunk groups.

Note
Based on the requirement, adjust CAC limits for each tenant.

Configure Trunk Group for Tenant A

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 77
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A services dnsSupportType a-only
% commit

Configure Trunk Groups for Tenant B

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 78
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B services dnsSupportType a-only
% commit

Configure Trunk Groups for Tenant C

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 79
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C services dnsSupportType a-only
% commit

Create SIP Parameter Based Action Profile


Create SIP Parameter Based Action Profile that associate the tenants to the dummy trunk groups created above, when the criteria matches in the
SMM CACSUPERTG.

Entry 1: Stores TEAMS_TG_A as the trunk group when the TO header matches the regex - a.customers.interopdomain.com.
Entry 2: Stores TEAMS_TG_B as the trunk group when the TO header matches the regex - b.customers.interopdomain.com.
Entry 3: Stores TEAMS_TG_C as the trunk group when the TO header matches the regex - c.customers.interopdomain.com.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 80
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG action selectTG
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG operation storeIpTg
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 1 matchType full
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 1 param a.customers.interopdomain.com
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 1 trunkGroupName TEAMS_TG_A
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 2 matchType full
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 2 param b.customers.interopdomain.com
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 3 trunkGroupName TEAMS_TG_B
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 3 matchType full
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 3 param c.customers.interopdomain.com
% set profiles signaling sipParamBasedActionProfile STOREDOMAINTOTG entry 3 trunkGroupName TEAMS_TG_C
% commit

Configure SMM Profiles Towards MS Teams


Configure Inbound Profile
Create the SMM rules below to accomplish the following:

Rule 1: Stores the value to the profile based on the domain name in the received TO header.

Note
Attach this profile to only the Inbound TG.

% set profiles signaling sipAdaptorProfile CACSUPERTG state enabled


% set profiles signaling sipAdaptorProfile CACSUPERTG advancedSMM disabled
% set profiles signaling sipAdaptorProfile CACSUPERTG profileType messageManipulation
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 1 message messageTypes all
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 1 message methodTypes invite
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 2 header name TO
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 type token
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 operation storeSipParam
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 from type token
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 from tokenValue urihostname
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 1 to variableValue var1
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 type variable
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 operation storeProfileName
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 from
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 from type value
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 from value STOREDOMAINTOTG
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 to
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTG rule 1 action 2 to variableValue var2
% commit

Attach SMM Profile


To attach the SMM Profile, execute the following commands:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 81
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation
inputAdapterProfile CACSUPERTG
% commit

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling messageManipulation


inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling messageManipulation


inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling messageManipulation


inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 82
SBC 8.2.x - Configure ERE for CAC
In this article:

Configure SIP Trunk Groups


Configure Trunk Groups for Tenant A
Configure Trunk Groups for Tenant B
Configure Trunk Groups for Tenant C
Configure Routing Labels
Configure Call Routing
Configure Standard Route 1
Configure Standard Route 2
Configure Standard Route 3
Configure Username Routing

Note
These instructions are applicable for SBC 8.2.2, 9.0.0, and later.

If you are using earlier versions such as SBC 8.2.0, refer to SBC 8.2 - Configure Call Admission Control Profile.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes CAC implementation for ERE routing.

Configure SIP Trunk Groups


Note
Ensure that the SIP Trunk Groups are configured with prerequisite configuration steps like LRBT, ERP, DM/PM Rule, Packet Service
Profile, and IP Signaling Profile. For more information, refer to SBC 8.2 - Configure ERE for MS Teams.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Configure Trunk Groups for Tenant A


To configure trunk group for tenant A, execute the following commands:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 83
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService state enabled
% commit

Configure Trunk Groups for Tenant B


To configure trunk group for tenant B, execute the following commands:

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService state enabled
% commit

Configure Trunk Groups for Tenant C


To configure trunk group for tenant C, execute the following commands:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 84
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService state enabled
% commit

Configure Routing Labels


Create separate routing levels towards each tenant.

Note
For site redundancy, attach different IP-peers on each trunk group, as defined under the heading "Routing Label for Teams" in the
page SBC 8.2 - Configure ERE for MS Teams.

% set global callRouting routingLabel TEAMS_RL_A overflowNumber ""


% set global callRouting routingLabel TEAMS_RL_A overflowNOA none
% set global callRouting routingLabel TEAMS_RL_A overflowNPI none
% set global callRouting routingLabel TEAMS_RL_A routePrioritizationType sequence
% set global callRouting routingLabel TEAMS_RL_A action routes
% set global callRouting routingLabel TEAMS_RL_A numRoutesPerCall 10
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 trunkGroup TEAMS_TG_A
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 ipPeer TEAMS_PEER1
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 proportion 0
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 cost 1000000
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 inService inService
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 testing normal
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 trunkGroup TEAMS_TG_A
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 ipPeer TEAMS_PEER2
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 proportion 0
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 cost 1000000
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 inService inService
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 2 testing normal
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 trunkGroup TEAMS_TG_A
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 ipPeer TEAMS_PEER3
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 proportion 0
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 cost 1000000
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 inService inService
% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 3 testing normal
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 85
% set global callRouting routingLabel TEAMS_RL_B overflowNumber ""
% set global callRouting routingLabel TEAMS_RL_B overflowNOA none
% set global callRouting routingLabel TEAMS_RL_B overflowNPI none
% set global callRouting routingLabel TEAMS_RL_B routePrioritizationType sequence
% set global callRouting routingLabel TEAMS_RL_B action routes
% set global callRouting routingLabel TEAMS_RL_B numRoutesPerCall 10
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 trunkGroup TEAMS_TG_B
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 ipPeer TEAMS_PEER1
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 proportion 0
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 cost 1000000
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 inService inService
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 testing normal
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 trunkGroup TEAMS_TG_B
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 ipPeer TEAMS_PEER2
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 proportion 0
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 cost 1000000
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 inService inService
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 2 testing normal
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 trunkGroup TEAMS_TG_B
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 ipPeer TEAMS_PEER3
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 proportion 0
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 cost 1000000
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 inService inService
% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 3 testing normal
% commit

% set global callRouting routingLabel TEAMS_RL_C overflowNumber ""


% set global callRouting routingLabel TEAMS_RL_C overflowNOA none
% set global callRouting routingLabel TEAMS_RL_C overflowNPI none
% set global callRouting routingLabel TEAMS_RL_C routePrioritizationType sequence
% set global callRouting routingLabel TEAMS_RL_C action routes
% set global callRouting routingLabel TEAMS_RL_C numRoutesPerCall 10
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 trunkGroup TEAMS_TG_C
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 ipPeer TEAMS_PEER1
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 proportion 0
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 cost 1000000
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 inService inService
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 testing normal
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 trunkGroup TEAMS_TG_C
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 ipPeer TEAMS_PEER2
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 proportion 0
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 cost 1000000
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 inService inService
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 2 testing normal
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 routeType trunkGroup
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 trunkGroup TEAMS_TG_C
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 ipPeer TEAMS_PEER3
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 proportion 0
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 cost 1000000
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 inService inService
% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 3 testing normal
% commit

Configure Call Routing


Note
When a call transfer is initiated by Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams
entity from which it received the REFER. Teams, in-turn, initiates a new call towards the referred entity. For this purpose, the Standard
Route 3 and Username routing entities are configured.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 86
Configure Standard Route 1
Use this configuration to route all calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

Configure Standard Route 2


Use this configuration to route all calls coming from PSTN endpoints towards different Teams tenant Trunk Groups based on called digits.

% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_A
% commit

% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414446 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_B
% commit

% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414447 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_C
% commit

Configure Standard Route 3


Use this configuration to route all calls towards the Teams, after receiving REFER from the Teams for a call transfer towards PSTN.

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
% commit

% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
% commit

Configure Username Routing


Use this configuration to route all calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 87
% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 88
SBC 8.2.x - Configure PSX for CAC
In this article:

Configure SIP Trunk Groups


Configure Routing Labels
Configure Call Routing
Configure Standard Route 1
Configure Standard Route 2
Configure Standard Route 3
Configure Username Route

Note
These instructions are applicable for SBC 8.2.2, 9.0.0, and later.

If you are using earlier versions such as SBC 8.2.0, refer to SBC 8.2 - Configure Call Admission Control Profile.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the CAC implementation for PSX routing.

Configure SIP Trunk Groups


Warning
Mandatory! You must capitalize SIP Trunk Group names.

Note
The next six figures illustrate creation of trunk group for tenant A.

Figure 69: CAC - PSX - Tenant A - Trunk Group - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 89
Figure 70: CAC - PSX - Tenant A - Trunk Group - 2

Figure 71: CAC - PSX - Tenant A - Trunk Group - 3

Figure 72: CAC - PSX - Tenant A - Trunk Group - 4

Figure 73: CAC - PSX - Tenant A - Trunk Group - 5

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 90
Figure 74: CAC - PSX - Tenant A - Trunk Group - 6

Note
The next two figures illustrate the first step for creation of outbound trunk groups for tenants B and C.

After the first steps, repeat steps 2 - 6 of tenant A (shown above) for each of tenant B and C.

Figure 75: CAC - PSX - Tenant B - Trunk Group - 1

Figure 76: CAC - PSX - Tenant B - Trunk Group - 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 91
Configure Routing Labels
The figures below illustrate the steps to create routing labels for tenant A. The routing label for A is named TEAMS_RL_A.

Similarly, create routing labels for each tenants B (TEAMS_RL_B) and C (TEAMS_RL_C).

Ensure that values for the fields are similar.

Figure 77: CAC - PSX - Tenant A - Routing Label - 1

Figure 78: CAC - PSX - Tenant A - Routing Label - 2

Note
Associate multiple IP-Peers for each Trunk Group/ Gateway entity, as defined under the section Routing Label of SBC 8.2 - Configure
PSX Towards MS Teams.

Figure 79: CAC - PSX - Tenant A - Routing Label - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 92
Figure 80: All Routes - Tenant A

Figure 81: All Routes - Tenant B

Figure 82: All Routes - Tenant C

Configure Call Routing

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 93
The following figures illustrate creation of standard routes and username route for tenant A, when CAC is implemented.

Similarly, create standard routes and username route for each tenant B and C.

Ensure that the values of the fields shown in the figures are similar.

Note
Name the trunk groups for B and C as TEAMS_TG_B and TEAMS_TG_C respectively.

Configure Standard Route 1


The PSX uses this entry to route all the calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).

Figure 83: PSX - CAC - Tenant A - Standard Route 1

Configure Standard Route 2


The PSX uses this entry to route the calls coming from PSTN end points towards different Teams tenant TGs based on called digits.

Figure 84: PSX - CAC - Tenant A - Standard Route 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 94
Configure Standard Route 3
The PSX uses this entry to route all the calls towards the Teams, after receiving REFER from the Teams for a call transfer towards PSTN.

Note
If multiple domain names are used, create this standard route for all domains.

Figure 85: PSX - CAC - Tenant A - Standard Route 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 95
Configure Username Route
The PSX uses this entry to route all the calls towards the Teams, after receiving REFER from the Teams for a call transfer towards TEAMS.

Note
If multiple domain names are used, create this username route for all domains.

Figure 86: PSX - CAC - Tenant A - Username Route

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 96
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 97
SBC 8.2 - Configure Call Admission Control Profile
Note
This section is OPTIONAL; skip this section if you do not implement Call Admission Control. For troubleshooting the SBC deployment with
MS Teams, refer to SBC 8.2 - Basic Troubleshooting.

Use this section to implement a Call Admission Control (CAC) profile to enable each SIP registered or static endpoint to contain individualized limits
on the number of active calls, bandwidth size, call rates, over-subscription amounts, and burst sizes.

Note
This configuration assumes a single incoming trunk from MS Teams to the SBC, that receives all traffic for all tenants.

To implement CAC limits for each tenant, create dummy TGs for each tenant. When the SBC receives a call from Teams based on tenant
information, the SBC assigns the call to the tenant's dummy TG based on SMM CACSUPERTGREFER defined under Inbound Profile2. These
dummy TGs include the CAC profiles configured for enforcing desired CAC limits per tenant.

The articles in this subsection are as follows:

SBC 8.2 - Common CAC Configuration


SBC 8.2 - Configure ERE for CAC
SBC 8.2 - Configure PSX for CAC

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 98
SBC 8.2 - Common CAC Configuration
In this article:

Configure SIP Trunk Groups


Configure Trunk Group for Tenant A
Configure Trunk Groups for Tenant B
Configure Trunk Groups for Tenant C
Configure SMM Profiles Towards MS Teams
Configure Inbound Profile2
Attach SMM Profile

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the CAC configuration steps that are common for ERE and PSX routing.

Configure SIP Trunk Groups


Configure the SIP Trunk Groups for each tenant to enforce tenant-level CAC towards MS TEAMS. In the example below, trunk groups (TG) are
configured for tenants A, B, and C.

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Configure Trunk Group for Tenant A

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 99
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A services dnsSupportType a-only
% commit

Configure Trunk Groups for Tenant B

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 100
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B services dnsSupportType a-only
% commit

Configure Trunk Groups for Tenant C

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 101
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C state enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C media mediaIpInterfaceGroupName LIF2
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimit 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthVideoThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac callLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac bandwidthLimitThreshold 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac registrationLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac estimatedChildRegistrations 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac subscriptionLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac tcpMediaLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac ingress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callRateMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callBurstMax 5
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress registerBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress callLimit unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress emergencyOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress extendedEmergencyIpLimit 0
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress subscribeBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqRateMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress otherReqBurstMax unlimited
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C cac egress hpcOversubscription 10
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling methods update reject
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling rel100Support enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling relayNonInviteRequest enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling honorMaddrParam enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C services dnsSupportType a-only
% commit

Configure SMM Profiles Towards MS Teams


Configure Inbound Profile2
Create the SMM rules below to accomplish the following:

Rule 1: Store a urihostname value of "To" header in a variable.


Rule 2: Create a dummy parameter in the "refer-to" header with the name "Ribbon", and store the variable. This is useful for a call
transfer scenario in a multi-tenant deployment.
Rule 3: Set the Max-Forward value to "0" so the SBC responds back with a "200 OK" to the OPTIONS.
Rule 4: Store TEAMS_A_TG as the trunk group when the TO header matches the regex - a.customers.interopdomain.com.
Rule 5: Store TEAMS_B_TG as the trunk group when the TO header matches the regex - b.customers.interopdomain.com.
Rule 6: Store TEAMS_C_TG as the trunk group when the TO header matches the regex - c.customers.interopdomain.com.

MS Teams sends the Privacy header in the INVITE request if the "Forward P-Asserted-Identity (PAI)" option is enabled - the SBC sends the call
as an Anonymous call towards the PSTN. To overcome this, configure Rule 7 and Rule 8.

Rule 7: Copies the URI username present in the From header to var2 if the value is not equal to Anonymous.
Rule 8: Deletes the Privacy header if var2 is present.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 102
Note
Perform the folowing steps:

Replace the "criterion 3 token regexp string" with the required tenant information.
Create separate rules for each tenant.
Attach this profile to only the Inbound TG.

% set profiles signaling sipAdaptorProfile CACSUPERTGREFER state enabled


% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message methodTypes refer
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header name To
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 type token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 operation store
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from type token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 from tokenValue urihostname
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 1 action 1 to variableValue var1
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message methodTypes refer
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 1 message condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header name Refer-To
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 type parameter
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 operation add
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 paramType uri
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 from variableValue var1
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to type parameter
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 2 action 1 to value Ribbon
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 applyMatchHeader one
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message messageTypes request
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 1 message methodTypes options
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header name Max-Forwards
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 operation modify
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 headerInfo headerValue
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from type value
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 from value 0
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 3 action 1 to value Max-Forwards
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 applyMatchHeader one
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 1 message messageTypes requestAll
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 103
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header name TO
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 type token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token condition regex-match
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token tokenType urihostname
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token regexp
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 criterion 3 token regexp string a.customers.
interopdomain.com
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 operation storeIpTg
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from type value
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 from value TEAMS_A_TG
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to variableValue var2
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 4 action 1 to variableScopeValue local
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 applyMatchHeader one
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 1 message messageTypes requestAll
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header name TO
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 type token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token condition regex-match
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token tokenType urihostname
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token regexp
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 criterion 3 token regexp string b.customers.
interopdomain.com
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 operation storeIpTg
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from type value
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 from value TEAMS_B_TG
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to variableValue var3
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 5 action 1 to variableScopeValue local
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 applyMatchHeader one
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 type message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 message
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 1 message messageTypes requestAll
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 type header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header name TO
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 2 header hdrInstance all
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 type token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token condition regex-match
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token tokenType urihostname
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token regexp
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 criterion 3 token regexp string c.customers.
interopdomain.com
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 operation storeIpTg
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from type value
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 from value TEAMS_C_TG
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to type variable
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to variableValue var3
% set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 6 action 1 to variableScopeValue local
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 104
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 applyMatchHeader one
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 1 type message
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 1 message
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 2 type header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 2 header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 2 header name from
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 3 type token
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 3 token
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 3 token condition not-equal-to
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 3 token tokenType uriusername
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 criterion 3 token value Anonymous
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 type token
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 operation store
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 from
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 from type token
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 from tokenValue uriusername
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 to
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 to type variable
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 to variableValue var2
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 7 action 1 to variableScopeValue local
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 applyMatchHeader one
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 1 type message
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 1 message
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 1 message messageTypes request
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 1 message methodTypes invite
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 2 type header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 2 header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 2 header name Privacy
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 2 header condition exist
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 2 header hdrInstance all
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 3 type variable
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 3 variable
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 3 variable condition exist
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 criterion 3 variable variableID var2
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 action 1 type header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 action 1 operation delete
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 action 1 to
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 action 1 to type header
set profiles signaling sipAdaptorProfile CACSUPERTGREFER rule 8 action 1 to value Privacy
% commit

Attach SMM Profile


To attach the SMM Profile, execute the following commands:

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation


inputAdapterProfile CACSUPERTGREFER
% commit

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A signaling messageManipulation


inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B signaling messageManipulation


inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 105
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C signaling messageManipulation
inputAdapterProfile REFER outputAdapterProfile HeaderModifications
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 106
SBC 8.2 - Configure ERE for CAC
In this article:

Configure SIP Trunk Groups


Configure Trunk Groups for Tenant A
Configure Trunk Groups for Tenant B
Configure Trunk Groups for Tenant C
Configure Routing Labels
Configure Call Routing
Configure Standard Route 1
Configure Standard Route 2
Configure Standard Route 3
Configure Username Routing

This article describes CAC implementation for ERE routing.

Configure SIP Trunk Groups


Note
Ensure that the SIP Trunk Groups are configured with prerequisite configuration steps like LRBT, ERP, DM/PM Rule, Packet Service
Profile, and IP Signaling Profile. For more information, refer to SBC 8.2 - Configure ERE for MS Teams.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Configure Trunk Groups for Tenant A


To configure trunk group for tenant A, execute the following commands:

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_A mode inService state enabled
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 107
Configure Trunk Groups for Tenant B
To configure trunk group for tenant B, execute the following commands:

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_B mode inService state enabled
% commit

Configure Trunk Groups for Tenant C


To configure trunk group for tenant C, execute the following commands:

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy carrier 0000
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy country 1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy localizationVariant northAmerica
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy tgIPVersionPreference both-ipv4-
and-ipv6
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy preferredIdentity disable
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling
numberingPlan NANP_ACCESS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy callRouting elementRoutingPriority
TEAMS
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media packetServiceProfile
TEAMS_PSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy media toneAndAnnouncementProfile
LRBT_PROF
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy services classOfService DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy signaling ipSignalingProfile
TEAMS_IPSP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy featureControlProfile DEFAULT_IP
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy digitParameterHandling
egressDmPmRule TEAMS_TENET_A_MOD
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C policy sipDomain SIP.PSTNHUB.MICROSOFT.COM
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG_C mode inService state enabled
% commit

Configure Routing Labels


Create separate routing levels towards each tenant.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 108
Note
For site redundancy, attach different IP-peers on each trunk group, as defined under the heading "Routing Label for Teams" in the
page SBC 8.2 - Configure ERE for MS Teams.

% set global callRouting routingLabel TEAMS_RL_A routingLabelRoute 1 trunkGroup TEAMS_TG_A ipPeer TEAMS_PEER
inService inService
% commit

% set global callRouting routingLabel TEAMS_RL_B routingLabelRoute 1 trunkGroup TEAMS_TG_B ipPeer TEAMS_PEER
inService inService
% commit

% set global callRouting routingLabel TEAMS_RL_C routingLabelRoute 1 trunkGroup TEAMS_TG_C ipPeer TEAMS_PEER
inService inService
% commit

Configure Call Routing


Note
When a call transfer is initiated by Teams (as per the Teams recommendation), the SBC sends the INVITE back to the same Teams
entity from which it received the REFER. Teams, in-turn, initiates a new call towards the referred entity. For this purpose, the Standard
Route 3 and Username routing entities are configured.

Configure Standard Route 1


Use this configuration to route all calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL 1 all all ALL none
Sonus_NULL routingLabel PSTN_RL
% commit

Configure Standard Route 2


Use this configuration to route all calls coming from PSTN endpoints towards different Teams tenant Trunk Groups based on called digits.

% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414445 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_A
% commit

% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414446 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_B
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 109
% set global callRouting route none Sonus_NULL Sonus_NULL standard 2414447 1 all all ALL none Sonus_NULL
routingLabel TEAMS_RL_C
% commit

Configure Standard Route 3


Use this configuration to route all calls towards the Teams, after receiving REFER from the Teams for a call transfer towards PSTN.

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
% commit

% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> standard Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
% commit

Configure Username Routing


Use this configuration to route all calls towards the Teams after receiving REFER from the Teams for a call transfer towards TEAMS.

% set global callRouting route trunkGroup TEAMS_TG_A <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_A
% commit

% set global callRouting route trunkGroup TEAMS_TG_B <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_B
% commit

% set global callRouting route trunkGroup TEAMS_TG_C <sbcname> username Sonus_NULL Sonus_NULL all all ALL none
SIP.PSTNHUB.MICROSOFT.COM routingLabel TEAMS_RL_C
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 110
SBC 8.2 - Configure PSX for CAC
In this article:

Configure SIP Trunk Groups


Configure Routing Labels
Configure Call Routing
Configure Standard Route 1
Configure Standard Route 2
Configure Standard Route 3
Configure Username Route

Note
These instructions are applicable only for SBC 8.2.0.

If you are using versions such as SBC 8.2.2, 9.0.0, and later, skip to SBC 8.2.x - Configure Call Admission Control for Multi-tenant
Deployment.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

This article describes the CAC implementation for PSX routing.

Configure SIP Trunk Groups


Warning
Mandatory! You must capitalize SIP Trunk Group names.

Note
The next six figures illustrate creation of trunk group for tenant A.

Figure 87: CAC - PSX - Tenant A - Trunk Group - 1

Figure 88: CAC - PSX - Tenant A - Trunk Group - 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 111
Figure 89: CAC - PSX - Tenant A - Trunk Group - 3

Figure 90: CAC - PSX - Tenant A - Trunk Group - 4

Figure 91: CAC - PSX - Tenant A - Trunk Group - 5

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 112
Figure 92: CAC - PSX - Tenant A - Trunk Group - 6

Note
The next two figures illustrate the first step for creation of outbound trunk groups for tenants B and C.

After the first steps, repeat steps 2 - 6 of tenant A (shown above) for each of tenant B and C.

Figure 93: CAC - PSX - Tenant B - Trunk Group - 1

Figure 94: CAC - PSX - Tenant B - Trunk Group - 1

Configure Routing Labels


The figures below illustrate the steps to create routing labels for tenant A.The routing label for A is named TEAMS_RL_A.

Similarly, create routing labels for each tenants B (TEAMS_RL_B) and C (TEAMS_RL_C).

Ensure that values for the fields are similar.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 113
Figure 95: CAC - PSX - Tenant A - Routing Label - 1

Figure 96: CAC - PSX - Tenant A - Routing Label - 2

Note
Associate multiple IP-Peers for each Trunk Group/ Gateway entity, as defined under Routing Label.

Figure 97: CAC - PSX - Tenant A - Routing Label - 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 114
Figure 98: All Routes - Tenant A

Figure 99: All Routes - Tenant B

Figure 100: All Routes - Tenant C

Configure Call Routing

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 115
The following figures illustrate creation of standard routes and username route for tenant A, when CAC is implemented.

Similarly, create standard routes and username route for each tenant B and C.

Ensure that the values of the fields shown in the figures are similar.

Note
Name the trunk groups for B and C as TEAMS_TG_B and TEAMS_TG_C respectively.

Configure Standard Route 1


The PSX uses this entry to route all the calls coming from Teams towards PSTN endpoints (irrespective of digits or FQDN).

Figure 101: PSX - CAC - Tenant A - Standard Route 1

Configure Standard Route 2


The PSX uses this entry to route the calls coming from PSTN end points towards different Teams tenant TGs based on called digits.

Figure 102: PSX - CAC - Tenant A - Standard Route 2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 116
Configure Standard Route 3
The PSX uses this entry to route all the calls towards the Teams, after receiving REFER from the Teams for a call transfer towards PSTN.

Note
If multiple domain names are used, create this standard route for all domains.

Figure 103: PSX - CAC - Tenant A - Standard Route 3

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 117
Configure Username Route
The PSX uses this entry to route all the calls towards the Teams, after receiving REFER from the Teams for a call transfer towards TEAMS.

Note
If multiple domain names are used, create this username route for all domains.

Figure 104: PSX - CAC - Tenant A - Username Route

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 118
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 119
SBC 8.2 - Configure MS Teams and SBC for Emergency Calls
In this article:

Apply SMM to Remove the "+" Character


Configure Transparency Profile
Configure Emergency Profile
Configure Emergency Calls Over Trunk Limit
Add Profiles to Trunk Groups

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Note
This article is OPTIONAL; skip this article if you do not require emergency calls on the SBC and MS Teams systems.

Microsoft Teams supports emergency calling and location-based emergency calling (for supported service provider and country).

To provide location details, additional configuration is required for each location and client in the MS Teams portal.

Refer to the following links to configure Microsoft Teams:

https://docs.microsoft.com/en-us/microsoftteams/what-are-emergency-locations-addresses-and-call-
routing
https://docs.microsoft.com/en-us/microsoftteams/configure-dynamic-emergency-calling
https://docs.microsoft.com/en-us/microsoftteams/direct-routing-configure#configure-voice-routing

Caution
MS Teams send emergency calls with a "+", which the SBC may treat as international number, whereby the call may fail.

To avoid call failure, apply an SMM to remove the "+" character from the Request line of the INVITE.

Apply SMM to Remove the "+" Character


Tip
The example below is a sample SMM configuration. If necessary, modify the SMM to align with the other SMM configurations provided
in this guide.

% set profiles signaling sipAdaptorProfile REMOVE_PLUS profileType messageManipulation


% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 applyMatchHeader one
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 type message
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 message
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 1 message messageTypes all
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 type header
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header name request-line
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header condition exist
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 2 header hdrInstance all

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 120
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 type token
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token condition has-value
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token tokenType uriusername
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 criterion 3 token value +911
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 type token
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 operation regdel
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to type token
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 to tokenValue uriusername
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp string [+]
% set profiles signaling sipAdaptorProfile REMOVE_PLUS rule 1 action 1 regexp matchInstance one
% set profiles signaling sipAdaptorProfile REMOVE_PLUS advancedSMM disabled
% set profiles signaling sipAdaptorProfile REMOVE_PLUS state enabled
% commit

Configure Transparency Profile


Configure the Transparency Profile for emergency calls.

% set profiles services transparencyProfile E911_Trans_Prof sipHeader Priority ignoreTransparency no


% set profiles services transparencyProfile E911_Trans_Prof sipHeader GEOLOCATION ignoreTransparency no
% set profiles services transparencyProfile E911_Trans_Prof sipMessageBody all
% set profiles services transparencyProfile E911_Trans_Prof sipMessageBody application/sdp
% set profiles services transparencyProfile E911_Trans_Prof sipMessageBody multipart/mixed
% set profiles services transparencyProfile E911_Trans_Prof state enabled
% commit

Configure Emergency Profile


Configure the Emergency Profile.

% set profiles services emergencyCallProfile EmergCall-1 prefix 911


% commit

Configure Emergency Calls Over Trunk Limit


The following configuration ensures that emergency calls are handled successfully when the SBC's trunk limit is full.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG cac ingress extendedEmergencyIpLimit 10
% commit

Add Profiles to Trunk Groups


Add the configured Transparency Profile and the Emergency Profile to SIP Trunk Groups.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services emergencyCallProfile EmergCall-1
% commit

% set addressContext default zone PSTN_ZONE sipTrunkGroup PSTN_TG services transparencyProfile


E911_Trans_Profcommit
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 121
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 122
SBC 8.2 - Configure Local Media Optimization
In this section:

Overview
Reference Network Architecture
Call Flows
Configure SIP Trunk Group towards Teams

Overview
As part of MS Teams Direct Routing, Local Media Optimization enables you to keep media localized to your network. Such optimization helps
avoid quality issues, toll charges, and possible security concerns.

The SBC supports Local Media Optimization with the PSTN connected to a hub, as summarized below:

The SBC trunk group for the MS Teams side can have two media IP interface groups, configured using the following parameters:

mediaIpInterfaceGroupName – To configure the primary interface group, use internal/private media interface address.
mediaIpSecondaryInterfaceGroupName – To configure the secondary interface group, use external/public media interface
address.
The media interface addresses (primary/secondary) used for a call are based on the new headers: X-MS-MediaPath, and X-MS-
UserLocation.
For calls that have media anchored on the SBC, the SBC selects media interface using either public (external) or private (internal)
interface address, based on the X-MS header contents received from MS Teams.
A call can start with primary (internal) media interface address in the Signaling SDP, but change to using secondary media interface
address, if the SBC receives appropriate indications in the X-MS headers from MS Teams.

Reference Network Architecture


Using the SBC's capability of relaying media using internal IP addresses, the MS Teams user and the SBC can exchange media over internal
network. For example, you can use WAN connection for media exchange, and avoid the internet. This approach often results in a better voice
quality and lower latency.

Figure 105: MS Teams - SBC - Local Media Optimization

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 123
Call Flows
The following images illustrate the ingress and egress call flows, based on the content of the header X-MS-UserLocation.

Figure 106: Call Flow - Ingress - X-MS-UserLocation: Internal

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 124
Figure 107: Call Flow - Ingress - X-MS-UserLocation: External

Figure 108: Call Flow - Egress - X-MS-UserLocation: Internal

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 125
Figure 109: Call Flow - Egress - X-MS-UserLocation: External

Configure SIP Trunk Group towards Teams


Warning
Mandatory! You must capitalize SIP Trunk Group names.

Create a SIP Trunk Group for the Teams side.

Configure LIF1 as the internal IP.


Configure LIF2 as the external IP.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode outOfService state disabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media mediaIpInterfaceGroupName LIF1
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG media mediaIpSecondaryInterfaceGroupName
LIF2

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 126
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG mode inService state enabled
% commit

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 127
SBC 8.2.x - Configure SBC Behind NAT
In this section:

Overview
Reference Architecture
Configure SIP Trunk Group Towards MS Teams
Inbound Profile
Outbound Profile

Note
This section is applicable for SBC 8.2.2, 9.0.0, or later releases. If you are using older versions of the SBC and want to use this
feature, consider upgrading to a version that supports it.

This section is OPTIONAL; skip it if you are not deploying the SBC behind NAT.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Overview
Due to regulatory reasons in some countries, the MS Teams deployment in those countries mandates support for Microsoft Direct Routing only in
media-bypass mode. In such situations, the media cannot egress out of the defined Telecom Operator SDCA/Circle, and the operator does not
expose the WAN side of these SBCs directly to the Public IP. The SBCs are deployed in DMZ, the WAN interface on a private IP and behind
a NAT'ed (network address translated) device.

For such deployment scenarios, configure additional SMMs as given in the following section. The additional SMMs cover both Media bypass and
Media non-bypass modes to convert the public IP to private IP, and vice versa.

Reference Architecture

Figure 110: Reference Architecture - SBC Behind NAT

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 128
Configure SIP Trunk Group Towards MS Teams

Warning
Mandatory! You must capitalize SIP Trunk Group names.

Add following additional configuration to the SIP Trunk Group towards the Teams side.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services natTraversal signalingNat enabled
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG services natTraversal mediaNat enabled
% commit

Note
Do not enable mediaNat in the case of Media Bypass, where ICE support is already enabled.

Inbound Profile
Add the following additional rule to the existing REFER SMM:

Rule 3: Replaces the Public IP of the SBC with the Private IP.

Note
In the example below, replace the <Private_IP> and <Public_IP> with actual IP addresses.

% set profiles signaling sipAdaptorProfile REFER rule 3 applyMatchHeader one


% set profiles signaling sipAdaptorProfile REFER rule 3 applyMatchHdrRange undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 type message
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 129
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message messageTypes all
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message methodTypes undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 1 message condition undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 type messageBody
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 messageBody
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 messageBody condition exist
% set profiles signaling sipAdaptorProfile REFER rule 3 criterion 2 messageBody messageBodyType all
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 type messageBody
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 operation regsub
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 headerInfo undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 headerPosition undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 paramType undefined
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from type value
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 from value <Private_IP>
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to type messageBody
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 to messageBodyValue all
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 regexp
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 regexp string <Public_IP>
% set profiles signaling sipAdaptorProfile REFER rule 3 action 1 regexp matchInstance all
% commit

Outbound Profile
Add the following additional rule to the existing HeaderModifications SMM:

Rule 8: Replaces the Private IP of the SBC with the Public IP.

Note
In the example below, replace the <Private_IP> and <Public_IP> with actual IP addresses.

% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 applyMatchHeader one


% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 applyMatchHdrRange undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 type message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message messageTypes all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message methodTypes undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 criterion 1 message condition undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 type messageBody
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 operation regsub
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 headerInfo undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 headerPosition undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 paramType undefined
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from type value
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 from value <Public_IP>
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to type messageBody
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 to messageBodyValue all
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp string <Private_IP>
% set profiles signaling sipAdaptorProfile HeaderModifications rule 8 action 1 regexp matchInstance all
% commit

Continue to one of the following pages:

SBC 8.2.x - Configure SBC for Surrogate Registration

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 130
SBC 8.2 - Basic Troubleshooting

SBC 8.2 - Execute a Test Call To Validate Configurations

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 131
SBC 8.2.x - Configure SBC for Surrogate Registration
In this section:

Overview
Create Surrogate Registration Profile
Create IP Peer
Configure IP Signaling Profile
Configure IP Signaling Peer Group
Configure SIP Trunk Group
Configure Routing
Routing Label
Route

Note
This section is applicable for SBC 8.2.2, 9.0.0, or later releases. If you are using older versions of the SBC and want to use this
feature, consider upgrading to a version that supports it.

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Overview
MS Teams end points does not support Registration. However, the SBC can perform surrogate registration with any Application Servers for the
MS Teams end points. The following section describes the additional configurations required to support surrogate registration.

Create Surrogate Registration Profile


Ensure that Address of Records (AOR) User Name (aorUserName) is available in the Application Server.

% set profiles services surrogateRegistrationProfile SURROGATEPROF aorUserName 2413332686 aorAuthUserName


2413332686
% set profiles services surrogateRegistrationProfile SURROGATEPROF aorUserName 2413332686 aorAuthPassword
Sonus@123
% set profiles services surrogateRegistrationProfile SURROGATEPROF aorUserName 2413332686 aorState enabled
% commit

Create IP Peer
Ensure the following:

The first IP Peer is a dummy peer; it is required to send credentials for the challenge associated with the REGISTER request.
The second IP Peer is an actual MS Teams Peer IP address. Note that MS Teams Domain name is not supported in this case.
AS_IPP is the IP Peer towards Application Server.
Replace <example.net> with the actual domain name of the Application Server.

% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP ipAddress 1.1.1.1


% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP policy description ""

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 132
% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP policy sip fqdn ""
% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP policy sip fqdnPort 0
% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP authentication intChallengeResponse enabled
% set addressContext default zone TEAMS_ZONE ipPeer DUMMY_IPP authentication incInternalCredentials enabled
% commit

% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP ipAddress 52.114.14.70


% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP policy description ""
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP policy sip fqdn ""
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP policy sip fqdnPort 0
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP surrogateRegistration regAuthPassword <passwd>
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP surrogateRegistration state enabled
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP surrogateRegistration sendCredentials
challengeForAnyMessageAndInDialogRequests
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP surrogateRegistration surrRegProfile SURROGATEPROF
% set addressContext default zone TEAMS_ZONE ipPeer TEAMS_IPP surrogateRegistration hostPart example.net
% commit

% set addressContext default zone PSTN_ZONE dnsGroup EXT_DNS ipPeer AS_IPP policy sip fqdn example.net fqdnPort
5060
% commit

Configure IP Signaling Profile


Update both PSTN and Teams IPSP with the following additional configuration:

% set profiles signaling ipSignalingProfile TEAMS_IPSP commonIpAttributes flags usePsxRouteforRegisteredInvite


enable
% commit

% set profiles signaling ipSignalingProfile PSTN_IPSP commonIpAttributes flags usePsxRouteforRegisteredInvite


enable
% commit

Configure IP Signaling Peer Group


Create the IP Signaling Peer Group and attach it to the MS Teams trunk group.

% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP description ""


% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP sendAllIpAddressAndFQDN disable
% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP ipSignalingPeerGroupData 1 serviceStatus inService
% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP ipSignalingPeerGroupData 1 ipAddress 52.114.14.70
% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP ipSignalingPeerGroupData 1 ipPort 5060
% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP ipSignalingPeerGroupData 1 fqdn ""
% set profiles ipSignalingPeerGroup TEAMS_PEERGROUP ipSignalingPeerGroupData 1 fqdnPort 0
% commit

Configure SIP Trunk Group


Warning
Mandatory! You must capitalize SIP Trunk Group names.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 133
% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG policy ipSignalingPeerGroup TEAMS_PEERGROUP
% commit

Configure Routing
Routing Label
% set global callRouting routingLabel AS_RL overflowNumber ""
% set global callRouting routingLabel AS_RL overflowNOA none
% set global callRouting routingLabel AS_RL overflowNPI none
% set global callRouting routingLabel AS_RL routePrioritizationType sequence
% set global callRouting routingLabel AS_RL action routes
% set global callRouting routingLabel AS_RL numRoutesPerCall 10
% set global callRouting routingLabel AS_RL routingLabelRoute 1 routeType trunkGroup
% set global callRouting routingLabel AS_RL routingLabelRoute 1 trunkGroup PSTN_TG
% set global callRouting routingLabel AS_RL routingLabelRoute 1 ipPeer AS_IPP
% set global callRouting routingLabel AS_RL routingLabelRoute 1 proportion 0
% set global callRouting routingLabel AS_RL routingLabelRoute 1 cost 1000000
% set global callRouting routingLabel AS_RL routingLabelRoute 1 inService inService
% set global callRouting routingLabel AS_RL routingLabelRoute 1 testing normal
% commit

Route
% set global callRouting route trunkGroup TEAMS_TG TEAMS standard Sonus_NULL Sonus_NULL all all ALL none
Sonus_NULL routingLabel AS_RL
% commit

Continue to on of the following pages:

SBC 8.2 - Basic Troubleshooting

SBC 8.2 - Execute a Test Call To Validate Configurations

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 134
SBC 8.2 - Basic Troubleshooting
In this article:

Certificate Exchange

Tip
The configuration steps described in this article are examples.

Ribbon recommends referring to the SBC and PSX product documentation for detailed information on the commands, parameters, and
flags used in the configuration examples of this guide.

Execute the steps in the same order as described in this article.

Certificate Exchange
If TLS negotiation fails during a certificate exchange, try the following actions to resolve the issue:

Install/re-install the root and all intermediate certificates provided by your CA on the SBC.
Ensure that SBC's FQDN configured on the Teams side is identical to the one on SBC's certificate.
Wildcard certificate exchange – Ensure the correct number of spaces exist before the domain name. For example, a wild card certificate
generated for "*.example.com" is not valid for "*.customers.example.com". Refer to the article SBC 8.2 - Configure SBC for TLS
for a details on SBC-supported certificate format.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 135
SBC 8.2 - Execute a Test Call To Validate Configurations
After completing all configurations, execute the following test calls to ensure a two-way voice path is established:

1. A call from MS Teams to PSTN


2. A call from PSTN to MS Teams

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 136
About the MS Teams Easy Configuration Wizard

In this section:

Overview
Prerequisites
Limitations
Reference Architecture
Steps to Generate Configuration Using Easy Configuration Wizard
Common Steps
Enterprise Deployment Using ERE
Enterprise Deployment Using PSX
Multi-tenant Deployment Using ERE
Multi-tenant Deployment Using PSX
Create and Delete a Tenant
Create a Tenant
Delete a Tenant
Appendix - Teams Side
Configuration Parameters for MS Teams Side - User Inputs
Configuration Parameters for MS Teams Side - Final Configuration
ERE Based Deployments
PSX Based Deployments
Appendix - PSTN Side
Configuration Parameters for PSTN Side - User Inputs
Configuration Parameters for PSTN Side - Final Configuration
ERE Based Deployments
PSX Based Deployments

Overview
This section describes the process of using the MS Teams Easy Configuration Wizard to configure the SBC Core (SWe/5xx0/5400/7000) for a
single/multi-tenant deployment, using a single Trunk Group towards MS Teams.

Note
The wizard is available in the following SBC versions:

08.02.02
09.00.00

If you are using an older SBC version and want to use the wizard, consider upgrading to one of the specified releases or later.

Note
The wizard configures only the SBC. If your deployment uses a PSX for routing, you must configure the PSX manually. For more
information, refer to SBC 8.2 - Configure PSX for MS Teams.

Prerequisites
Before you start configuration using the wizard, ensure the following:

The SBC has all the required licenses.


For multi-tenant deployments, the SBC must have the Advanced ERE license, or use PSX for routing.
The packet interfaces of the SBC, such as pkt0 and pkt1, are configured.
All the required TLS certificates are generated and placed under the directory /opt/sonus/external.
The wizard assumes that DSPs are available on the SBC. If you are not using DSPs and playing tones as announcements, follow the
manual instructions in the following pages after running the wizard:
Configure Ring Back Tone (without DSP)
Configure ERE for MS Teams - LRBT Profile

Limitations

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 137
Limitations
Currently, the Easy Configuration Wizard tool has the following limitations:

The tool supports only IPv4.


It generates configuration only for multi/single tenant deployment, using single Trunk Group towards MS Teams
It does not support Super trunk group with CAC. For example, such a scenario is not supported: Multiple trunk groups (one trunk group
per tenant) from the SBC to MS Teams, and one super trunk group from MS Teams to the SBC.

Reference Architecture
The following figure illustrates the connectivity between the third-party and the Ribbon SBC Core:

Figure 111: Reference Architecture

Steps to Generate Configuration Using Easy Configuration Wizard


Common Steps
To generate complete configuration using the Eazy Configuration Wizard, perform the following steps that are common for all deployment modes:

1. Log on to the SBC CLI and execute the following command:

> generateTeamsConfig

2. Select the deployment model from the options. For example, to select Enterprise Deployment (the first option), enter 1:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------- WELCOME TO TEAMS EAZY CONFIG WIZARD ---------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Generate SBC Config CLI's For,

1. Enterprise Deployment
2. Multi Tenant Deployment
3. Multi Tenant Deployment With CAC Suppport
4. Exit
Enter your option[]: 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 138
Note
Enterprise deployment implies that you configure the SBC and MS Teams for using with a single tenant, which is often the
case when you deploy for an enterprise.

In case of Multi-tenant deployment, you can configure the SBC and MS Teams for handling multiple tenants simultaneously.
This model is useful if you serve multiple customers using your own infrastructure.

Note
Do not select option 3. Multi Tenant Deployment With CAC Support. Currently, Ribbon does not support that
option, but plans to support it in the future releases.

3. When prompted, confirm your selection.

You have selected the option to generate config CLI for "Enterprise Deployment", do you want to continue
[Y/N]? y

4. Select routing engine for deployment from the options shown in the screen.

Select the routing engine you are using for deployment,

1. Embedded Routing Engine(ERE)


2. Policy Server(PSX)
3. Return to main screen
4. Exit

Enter your option[]: 1

Note
To proceed further, see the sections below based on your selections in Step 2 and 4:

Enterprise Deployment Using ERE


Enterprise Deployment Using PSX
Multi-tenant Deployment Using ERE
Multi-tenant Deployment Using PSX

Enterprise Deployment Using ERE


Note
Follow this section only if you selected the following options in the Common Steps:

Step 2: Option 1. Enterprise Deployment


Step 4: Option 1. Embedded Routing Engine (ERE)

For enterprise deployment using ERE, perform the following steps:

1. After your selections in Step 2 and Step 4 of the Common Steps, confirm the message about Prerequisites:

Prerequisites: Before proceeding further please make sure that,


1. All the required licenses are applied to SBC
2. SBC packet interfaces (pkt0, pkt1 etc.) are configured
3. All the required TLS certificates are generated and put under the directory '/opt/sonus
/external'

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 139
4. Make sure that required DSP cards are installed (applicable only for hardware SBC)

Press 'Y' to proceed or 'N' to exit[Y/N]: y

2. Provide the values for the configuration parameters related to the MS Teams side. For detailed information, refer to Configuration
Parameters for MS Teams Side - User Inputs.

3. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for MS Teams Side - Final Configuration.

4. Provide the values for the configuration parameters related to the PSTN side. For detailed information, refer to Configuration Parameters
for PSTN Side - User Inputs.

5. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for PSTN Side - Final Configuration.

6. After you enter/edit all the required inputs, the tool processes user inputs and generates the final configuration CLI file. Complete the
configuration process of the SBC by executing the following command:

> source teamsConfig.cli

Enterprise Deployment Using PSX


Note
Follow this section only if you selected the following options in the Common Steps:

Step 2: Option 1. Enterprise Deployment


Step 4: Option 2. Policy Server (PSX)

Note
The wizard configures only the SBC. If your deployment uses a PSX for routing, you must configure the PSX manually. For more
information, refer to SBC 8.2 - Configure PSX for MS Teams.

For enterprise deployment using PSX, perform the following steps:

1. After your selections in Step 2 and Step 4 of the Common Steps, confirm the message about Prerequisites:

Prerequisites: Before proceeding further please make sure that,


1. All the required licenses are applied to SBC
2. SBC packet interfaces (pkt0, pkt1 etc.) are configured
3. All the required TLS certificates are generated and put under the directory '/opt/sonus
/external'
4. Make sure that required DSP cards are installed (applicable only for hardware SBC)

*********************************************************************************************************
*********
+
+
+ Important Note: Whenever you enter trunk group name as input, make sure that trunkgroup name should be
same as +
+ present in
PSX. +
+
+
*********************************************************************************************************
*********

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 140
Press 'Y' to proceed or 'N' to exit[Y/N]: y

2. Provide the values for the configuration parameters related to the MS Teams side. For detailed information, refer to Configuration
Parameters for MS Teams Side - User Inputs.

3. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for MS Teams Side - Final Configuration.

4. Provide the values for the configuration parameters related to the PSTN side. For detailed information, refer to Configuration Parameters
for PSTN Side - User Inputs.

5. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for PSTN Side - Final Configuration.

6. After you enter/edit all the required inputs, the tool processes user inputs and generates the final configuration CLI file. Complete the
configuration process of the SBC by executing the following command:

> source teamsConfig.cli

7. Configure Path Check Profile.


8. Configure an IP Peer and attach the Path Check Profile created in the previous step.

Multi-tenant Deployment Using ERE


Note
Follow this section only if you selected the following options in the Common Steps:

Step 2: Option 2. Multi Tenant Deployment


Step 4: Option 1. Embedded Routing Engine (ERE)

For multi-tenant deployment using ERE, perform the following steps:

1. After your selections in Step 2 and Step 4 of the Common Steps, enter 1 (as shown below). This generates a complete Teams specific
configuration for both MS Teams side and PSTN side.

At this step, do not select the second or third option. You can select those options only after generating complete
configuration by selecting the first option.

To create a tenant (option 2) or delete a tenant (option 3), see the section Create and Delete a Tenant.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------- WELCOME TO TEAMS EAZY CONFIG WIZARD ---------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. Generate complete Teams specific configuration


2. Create tenant (This option can be used only after configuring SBC using 1st option)
3. Delete tenant (This option can be used only after configuring SBC using 1st option)

Enter your option[1/2/3]: 1

2. Confirm the message about Prerequisites:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 141
2.

Prerequisites: Before proceeding further please make sure that,


1. All the required licenses are applied to SBC
2. SBC packet interfaces (pkt0, pkt1 etc.) are configured
3. All the required TLS certificates are generated and put under the directory '/opt/sonus
/external'
4. Make sure that required DSP cards are installed (applicable only for hardware SBC)

Press 'Y' to proceed or 'N' to exit[Y/N]: y

3. Enter FQDN for tenant, followed by phone number prefix for the tenant. For multiple tenants, you can enter FQDNs separated by single
whitespace character. Accordingly, you must enter phone number prefix for each of the tenants, as shown in the snippet below.

Enter tenant FQDN, for multiple tenants enter FQDN with space separated[]: A.customers.interopdomain.com
B.customers.interopdomain.com

Enter phone number prefix for tenant 'A.customers.interopdomain.com', for multiple prefix enter numbers
with space separated[]: 241333 241444

Enter phone number prefix for tenant 'B.customers.interopdomain.com', for multiple prefix enter numbers
with space separated[]: 251666 251777

You can provide multiple phone number prefixes for each tenant, by separating the prefixes using single whitespace character.

4. Provide the values for the configuration parameters related to the MS Teams side. For detailed information, refer to Configuration
Parameters for MS Teams Side - User Inputs.

5. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for MS Teams Side - Final Configuration.

6. Provide the values for the configuration parameters related to the PSTN side. For detailed information, refer to Configuration Parameters
for PSTN Side - User Inputs.

7. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for PSTN Side - Final Configuration.

8. After you enter/edit all the required inputs, the tool processes user inputs and generates the final configuration CLI file. Complete the
configuration process of the SBC by executing the following command:

> source teamsConfig.cli

Multi-tenant Deployment Using PSX


Note
Follow this section only if you selected the following options in the Common Steps:

Step 2: Option 2. Multi Tenant Deployment


Step 4: Option 2. Policy Server (PSX)

Note
The wizard configures only the SBC. If your deployment uses a PSX for routing, you must configure the PSX manually. For more
information, refer to SBC 8.2 - Configure PSX for MS Teams.

For multi-tenant deployment using PSX, perform the following steps:

1. After your selections in Step 2 and Step 4 of the Common Steps, confirm the message about Prerequisites:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 142
1.

Prerequisites: Before proceeding further please make sure that,


1. All the required licenses are applied to SBC
2. SBC packet interfaces (pkt0, pkt1 etc.) are configured
3. All the required TLS certificates are generated and put under the directory '/opt/sonus
/external'
4. Make sure that required DSP cards are installed (applicable only for hardware SBC)

*********************************************************************************************************
*********
+
+
+ Important Note: Whenever you enter trunk group name as input, make sure that trunkgroup name should be
same as +
+ present in
PSX. +
+
+
*********************************************************************************************************
*********

Press 'Y' to proceed or 'N' to exit[Y/N]: y

2. Provide the values for the configuration parameters related to the MS Teams side. For detailed information, refer to Configuration
Parameters for MS Teams Side - User Inputs.

3. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for MS Teams Side - Final Configuration.

4. Provide the values for the configuration parameters related to the PSTN side. For detailed information, refer to Configuration Parameters
for PSTN Side - User Inputs.

5. The final set of configuration parameters (combination of user inputs and default values for some parameters) is displayed for
confirmation. You can confirm the final configuration, edit it, or discard it. For detailed information on those parameters, refer to the
section Configuration Parameters for PSTN Side - Final Configuration.

6. After you enter/edit all the required inputs, the tool processes user inputs and generates the final configuration CLI file. Complete the
configuration process of the SBC by executing the following command:

> source teamsConfig.cli

7. Configure Path Check Profile.


8. Configure an IP Peer and attach the Path Check Profile created in the previous step.

Create and Delete a Tenant

Create a Tenant
Note
Follow this section only if you have completed all the steps in the section Multi-tenant Deployment Using ERE. As explained in Ste
p 1 of the section, you can create a tenant only after you have generated complete Teams specific configuration for both MS Teams
side and PSTN side.

To create a tenant, perform the following steps:

1.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 143
1. Complete the Common Steps In particular, select the following while executing the Common steps:
Step 2: Option 2. Multi Tenant Deployment
Step 4: Option 1. Embedded Routing Engine (ERE)

2. Enter option 2, as shown below:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------- WELCOME TO TEAMS EAZY CONFIG WIZARD ---------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. Generate complete Teams specific configuration


2. Create tenant (This option can be used only after configuring SBC using 1st option)
3. Delete tenant (This option can be used only after configuring SBC using 1st option)

Enter your option[1/2/3]: 2

3. Enter FQDN for tenant that you want to create, followed by phone number prefix for the tenant. For multiple tenants, you can enter
FQDNs separated by a single whitespace character. Accordingly, you must enter phone number prefix for each of the tenants, as shown
below:

Enter tenant FQDN, for multiple tenants enter FQDN with space separated[]: C.customers.interopdomain.com
D.customers.interopdomain.com

Enter phone number prefix for tenant 'C.customers.interopdomain.com', for multiple prefix enter numbers
with space separated[]: 271444 271666

Enter phone number prefix for tenant 'D.customers.interopdomain.com', for multiple prefix enter numbers
with space separated[]: 291555 291888

You can provide multiple phone number prefixes for each tenant, by separating the prefixes using single whitespace character.

4. Enter the same username and password you used to log on to the SBC:

Enter user name : admin

Enter password to login to CLI :

Delete a Tenant
Note
Follow this section only if you have completed all the steps in the section Multi-tenant Deployment Using ERE. As explained in Ste
p 1 of the section, you can delete a tenant only after you have generated complete Teams specific configuration for both MS Teams
side and PSTN side.

To delete a tenant, perform the following steps:

1. Complete the Common Steps In particular, select the following while executing the Common steps:
Step 2: Option 2. Multi Tenant Deployment
Step 4: Option 1. Embedded Routing Engine (ERE)

2. Enter option 3, as shown below:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------- WELCOME TO TEAMS EAZY CONFIG WIZARD ---------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. Generate complete Teams specific configuration


2. Create tenant (This option can be used only after configuring SBC using 1st option)
3. Delete tenant (This option can be used only after configuring SBC using 1st option)

Enter your option[1/2/3]: 3

3. Enter FQDN for tenant that you want to delete, and confirm the delete prompt as shown below:

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 144
3.

Enter tenant FQDN, for multiple tenants enter FQDN with space separated[]: C.customers.interopdomain.com
D.customers.interopdomain.com

Are you sure that you want to delete tenant "C.customers.interopdomain.com D.customers.interopdomain.
com" [Y/N]? y

4. Enter the same username and password you used to log on to the SBC:

Enter user name : admin

Enter password to login to CLI :

Appendix - Teams Side


Configuration Parameters for MS Teams Side - User Inputs
Note
In the snippet below, the following input prompt is applicable only for deployment models using PSX, and not for deployment models
using ERE:

Enter the name of trunk group(for Teams), it should be same as in PSX : TEAMS_TG

You can find it at the last line of the snippet. The prompt is not displayed for ERE based deployments.

Enter user name : admin

Enter country code : 1

Enter SBC packet interface name connected to Microsoft Teams [pkt0, pkt1, pkt2, pkt3] : pkt1

Enter default gateway IP towards Microsoft Teams : 115.110.170.192

Enter your SBC domain name : rbbn.sbc.com

Enter root certificate name [should be in '.crt' format] : ROOT.crt

Enter SBC certificate name [should be in '.crt' format] : SBC.crt

Enter CSR key file name [should be in '.key' format] : CSR.key

Enter certificate pass phrase :

Enter Microsoft/Baltimore certificate name [should be in '.pem' format] : MSFT.pem

Do you want to configure external DNS (y/n) : y

Enter external DNS IP : 8.8.8.8

Enter SBC SIP signaling IP for Teams : 115.110.170.210

Enter the same name of address context used while configuring packet interfaces : default

### INFORMATIVE COMMENT: The prompt below is displayed only for PSX based deployment models. ###
Enter the name of trunk group(for Teams), it should be same as in PSX : TEAMS_TG

Table 3: User Inputs - Teams Side Configuration

User Input Description

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 145
user name Username you used to log on to the SBC CLI.

country code Country code where the SBC is located. You may provide it with or without the '+' sign.

SBC packet interface Based on your SBC, enter any one of the following packet interfaces: pkt0, pk1, pk2, and pk
name connected to t3.
Microsoft Teams

default gateway IP Gateway IP towards MS Teams.


towards Microsoft Teams

SBC domain name The FQDN of the SBC.

root certificate name Public CA Root Certificate in '.crt' format.

SBC certificate name Public CA Certified SBC Server Certificate in '.crt' format.

CSR key file name Private key in '.key' format.

certificate pass phrase Pass phrase (password) used while generating the CSR key.

Microsoft/Baltimore Baltimore's Root Certificate which is downloadable from the URL http://certificate.
certificate name fyicenter.com
/319_Root_CA_Baltimore_CyberTrust_Root_CyberTrust_Baltimore_IE.html.
Ensure that the certificate is in '.pem' format.

configure external DNS Enter 'y' or 'n'. If you select 'n', the SBC expects you to configure it manually. For manual
(y/n) configuration details, refer to DNS Group - CLI.

external DNS IP If you opted for 'Y' in the previous step (configure external DNS (y/n)), provide the
DNS IP.

SBC SIP signaling IP The Signalling IP (for Teams) permanently bound to a specific zone which is used to send
for Teams and receive SIP call signaling packets.

name of address The name of the address context used while configuring SBC packet interfaces.
context used while
configuring packet
interfaces

name of trunk group The name of the Trunk Group used for MS Teams. Ensure that it is same as configured in the
(for Teams) PSX.

NOTE: This parameter, and the associated input prompt (last line in the snippet above), is
applies only to deployment models using PSX, and not to deployment models using ERE.
For ERE based deployments, the parameter is not displayed.

Configuration Parameters for MS Teams Side - Final Configuration


Note
In the snippet below, not all the parameters are displayed for each deployment scenario. For information on the applicability of
parameters based on deployment scenario, see Compatibility Matrix - Final Configuration Parameters for MS Teams Side.

ERE Based Deployments


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+************ USER INPUT DATA FOR TEAMS SIDE CONFIGURATION ************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

### INFORMATIVE COMMENT - The first parameter, "Tenants FQDN", is applicable only for Multi-tenant Deployment
Using ERE ###
1. Tenants FQDN ---------------------------------: A.customers.interopdomain.com, B.customers.interopdomain.
com
2. User name ------------------------------------: admin
3. Country code ---------------------------------: 1

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 146
4. Packet interface name ------------------------: pkt1
5. Gateway IP -----------------------------------: 115.110.170.192
6. SBC domain name ------------------------------: rbbn.sbc.com
7. Configure DNS flag ---------------------------: y
8. DNS IP ---------------------------------------: 8.8.8.8
9. SIP signaling IP -----------------------------: 115.110.170.210
10. SIP signaling port ---------------------------: 5060
11. SIP signaling port ID ------------------------: 104
12. Teams FQDN's ---------------------------------: sip.pstnhub.microsoft.com sip2.pstnhub.microsoft.com sip3.
pstnhub.microsoft.com
13. Ingress prefix for Teams TG ------------------: 52.0.0.0
14. Ingress prefix length for Teams TG -----------: 8
15. Root certificate -----------------------------: ROOT.crt
16. SBC certificate ------------------------------: SBC.crt
17. CSR key file name ----------------------------: CSR.key
18. Certificate pass phrase ----------------------: *********
19. Microsoft certificate ------------------------: MSFT.pem
20. Address context name -------------------------: default
21. Zone ID --------------------------------------: 100
22. Zone name ------------------------------------: TEAMS_ZONE
23. LRBT profile name ----------------------------: TEAMS_LRBT_PROF
24. Path check profile name ----------------------: TEAMS_PATH_CHECK_PROF
25. Packet service profile(PSP) name -------------: TEAMS_PSP
26. IP signaling profile(IPSP) name --------------: TEAMS_IPSP
27. IP peer names --------------------------------: TEAMS_SIP_PSTNHUB TEAMS_SIP2_PSTNHUB TEAMS_SIP3_PSTNHUB
28. DNS group ------------------------------------: EXT_DNS_GRP
29. DNS Server Name ------------------------------: EXT_DNS
30. SIP trunk group ------------------------------: TEAMS_TG
31. Routing label --------------------------------: TEAMS_RL
32. TLS profile name -----------------------------: TEAMS_TLS_PROF
33. Crypto profile name --------------------------: CRYPT_PROF
34. Root certificate profile name ----------------: CA_ROOT_CERT
35. Microsoft certificate profile name -----------: MS_CERT
36. SBC certificate profile name -----------------: SBC_CERT
*******************************************************************

Config files will be generated using above details. Press 'Y' to proceed, 'E' to edit or 'N' to exit[Y/E/N]: y

PSX Based Deployments


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+************ USER INPUT DATA FOR TEAMS SIDE CONFIGURATION ************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. User name ------------------------------------: admin
2. Packet interface name ------------------------: pkt1
3. Gateway IP -----------------------------------: 115.110.170.192
4. SBC domain name ------------------------------: sbc.rbbn.com
5. Configure DNS flag ---------------------------: y
6. DNS IP ---------------------------------------: 8.8.8.8
7. SIP signaling IP -----------------------------: 115.110.170.210
8. SIP signaling port ---------------------------: 5060
9. SIP signaling port ID ------------------------: 104
10. Ingress prefix for Teams TG ------------------: 52.0.0.0
11. Ingress prefix length for Teams TG -----------: 8
12. Root certificate -----------------------------: ROOT.crt
13. SBC certificate ------------------------------: SBC.crt
14. CSR key file name ----------------------------: CSR.key
15. Certificate pass phrase ----------------------: *********
16. Microsoft certificate ------------------------: MSFT.pem
17. Address context name -------------------------: default
18. Zone ID --------------------------------------: 100
19. Zone name ------------------------------------: TEAMS_ZONE
20. DNS group ------------------------------------: EXT_DNS_GRP
21. DNS Server Name ------------------------------: EXT_DNS
22. Teams trunk group name -----------------------: TEAMS_TG
23. TLS profile name -----------------------------: TEAMS_TLS_PROF
24. Crypto profile name --------------------------: CRYPT_PROF
25. Root certificate profile name ----------------: CA_ROOT_CERT
26. Microsoft certificate profile name -----------: BALTIMORE_CERT

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 147
27. SBC certificate profile name -----------------: SBC_CERT
*******************************************************************

Config files will be generated using above details. Press 'Y' to proceed, 'E' to edit or 'N' to exit[Y/E/N]: y

Legends

= Applicable
= Not Applicable

Table 4: Compatibility Matrix - Final Configuration Parameters for MS Teams Side

Displayed for:

Configuration Parameter Enterprise Enterprise Multi Tenant Muti


Tenant
Deployment Deployment Deployment
Deployment
using using using
using
ERE PSX ERE
PSX

Tenants FQDN

User name

Country code

Packet interface name

Gateway IP

SBC domain name

Configure DNS flag

DNS IP

SIP signaling IP

SIP signaling port

SIP signaling port ID

Teams FQDN's

Ingress prefix for Teams TG

Ingress prefix length for Teams TG

Root certificate

SBC certificate

CSR key file name

Certificate pass phrase

Microsoft certificate

Address context name

Zone ID

Zone name

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 148
LRBT profile name

Path check profile name

Packet service profile(PSP) name

IP signaling profile(IPSP) name

IP peer names

DNS group

DNS Server Name

SIP trunk group

Routing label

Teams trunk group name

TLS profile name

Crypto profile name

Root certificate profile name

Microsoft certificate profile name

SBC certificate profile name

Appendix - PSTN Side


Configuration Parameters for PSTN Side - User Inputs
Note
In the snippet below:

The following input prompt is applicable only for ERE based deployments:
Enter PSTN peer IP/FQDN : 172.16.108.110
You can find it at the third line of the snippet below. The prompt is not displayed for ERE based deployments.

The following input prompt is applicable only for PSX based deployments:
Enter the name of trunk group(for Teams), it should be same as in PSX : TEAMS_TG
You can find it at the last line of the snippet below. The prompt is not displayed for ERE based deployments.

Enter SBC packet interface name connected to PSTN [pkt0, pkt1, pkt2, pkt3] : pkt0

Enter default gateway IP towards PSTN : 10.54.20.1

### INFORMATIVE COMMENT: The prompt below is displayed only for ERE based deployment models. ###
Enter PSTN peer IP/FQDN : 172.16.108.110

Enter SBC SIP signaling IP for PSTN : 10.54.20.54

### INFORMATIVE COMMENT: The prompt below is displayed only for PSX based deployment models. ###
Enter the name of trunk group (for PSTN), it should be same as in PSX : PSTN_TG

Table 5: User Inputs - PSTN Side Configuration

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 149
User Input Description

SBC packet The SBC packet interface name connected to PSTN. Based on the SBC, enter any one of pkt0, pkt1
interface name , pkt2, and pkt3.
connected to PSTN

default gateway The default Gateway IP towards PSTN.


IP towards PSTN

PSTN peer IP/FQDN The SIP Signalling IP of PSTN peer to which the SBC sends SIP call signaling packets.

NOTE: This parameter, and the associated input prompt (last line in the snippet above), is applies only
to deployment models using ERE, and not to deployment models using PSX. For PSX based
deployments, the parameter is not displayed.

SBC SIP The SBC SIP signalling IP (for PSTN) permanently bound to a specific zone which is used to send
signaling IP for and receive SIP call signaling packets.
PSTN

name of trunk The name of the Trunk Group used for MS Teams. Ensure that it is same as configured in the PSX.
group(for Teams)
NOTE: This parameter, and the associated input prompt (last line in the snippet above), is applies only
to deployment models using PSX, and not to deployment models using ERE. For ERE based
deployments, the parameter is not displayed.

Configuration Parameters for PSTN Side - Final Configuration


Note
In the snippet below, not all the parameters are displayed for each deployment scenario. For information on the applicability of
parameters based on deployment scenario, see Compatibility Matrix - Final Configuration Parameters for PSTN Side.

ERE Based Deployments


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+********** USER INPUT DATA FOR PSTN SIDE CONFIGURATION ***********
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. Packet interface name ------------------------: pkt0
2. Gateway IP -----------------------------------: 10.54.20.1
3. SIP signaling IP -----------------------------: 10.54.20.54
4. SIP signaling port ---------------------------: 5060
5. SIP signaling port ID ------------------------: 102
6. Ingress prefix for PSTN TG -------------------: 0.0.0.0
7. Ingress prefix length for PSTN TG ------------: 0
8. Zone ID --------------------------------------: 101
9. Zone name ------------------------------------: PSTN_ZONE
10. Packet service profile(PSP) name -------------: PSTN_PSP
11. IP signaling profile(IPSP) name --------------: PSTN_IPSP
12. Peer Name ------------------------------------: PSTN_PEER
13. Peer IP --------------------------------------: 172.16.108.110
14. Peer Port ------------------------------------: 5060
15. SIP trunk group ------------------------------: PSTN_TG
16. Routing label --------------------------------: PSNT_RL
*******************************************************************

Config files will be generated using above details. Press 'Y' to proceed, 'E' to edit or 'N' to exit[Y/E/N]: y

PSX Based Deployments


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+********** USER INPUT DATA FOR PSTN SIDE CONFIGURATION ***********
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. Packet interface name ------------------------: pkt0
2. Gateway IP -----------------------------------: 10.54.20.1
3. SIP signaling IP -----------------------------: 10.54.20.40
4. SIP signaling port ---------------------------: 5060

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 150
5. SIP signaling port ID ------------------------: 102
6. Ingress prefix for PSTN TG -------------------: 0.0.0.0
7. Ingress prefix length for PSTN TG ------------: 0
8. Zone ID --------------------------------------: 101
9. Zone name ------------------------------------: PSTN_ZONE
10. SIP trunk group ------------------------------: PSTN_TG
*******************************************************************

Config files will be generated using above details. Press 'Y' to proceed, 'E' to edit or 'N' to exit[Y/E/N]: y

Legends

= Applicable
= Not Applicable

Table 6: Compatibility Matrix - Final Configuration Parameters for PSTN Side

Displayed for:

Configuration Parameter Enterprise Enterprise Multi Tenant Muti


Tenant
Deployment Deployment Deployment
Deployment
using using using
using
ERE PSX ERE
PSX

Packet interface name

Gateway IP

SIP signaling IP

SIP signaling port

SIP signaling port ID

Ingress prefix for PSTN TG

Ingress prefix length for PSTN TG

Zone ID

Zone name

Packet service profile(PSP) name

IP signaling profile(IPSP) name

Peer Name

Peer IP

Peer Port

SIP trunk group

Routing label

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 151
Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 152
Appendix A - Changes in SBC 8.2 - MS Teams Solution Guide
In this article:

Summary of Revisions

Note
This article describes the revisions in SBC 8.2 - MS Teams Solution Guide with respect to MS Teams Solution Guide.

If you are a new user of SBC 8.2, refer to SBC 8.2 - MS Teams Solution Guide.

If you upgrade from SBC 7.2 to SBC 8.2 - the configurations for SBC 7.2 (and MS Teams) works for SBC 8.2. However, to take
advantage of the new features introduced in SBC 8.2, Ribbon strongly recommends using the SBC 8.2 version of the MS Teams
Solution Guide.

Summary of Revisions
With respect to MS Teams Solution Guide, the following changes are made to this guide:

In the page Configure SBC Towards MS Teams:


The SBC 8.2.0 natively implements functionality to populate domain information in messages towards MS Teams. The
enhancement results in the following redundant SMM related configuration:

The section Configure SMM to Modify Options Message is the first set of configuration in the page. in that section,
the following changes are made:
You need to replace only "user_input1" and "user_input2"; there is no need for "user_input3" in the
configuration.
There is only Rule 1 in the SMM configuration; Rule 2 and Rule 3 are no longer required.
Under the section Configure SMM Profiles Towards MS Teams:

For "Outbound for Multi-tenant" and "Outbound for Single-tenant", the number of modify headers SMM is
reduced, as native support is available for the following in SBC 8.2:

Rule 8 -10: Addresses the addition of lifetime parameter in the crypto line for all the requests and
responses.
Rule 11: Adds the USER-AGENT header to all the Request messages.
Rule 12: Adds the SERVER header to all the Response messages.
Rule 13: Adds transport=tls in the 200 OK response to the Invite with replaces in a CallQ scenario.
For "Inbound", the "Rule 3: Makes the Max-Forward value 0 so that the SBC responds back with 200 OK to the
OPTIONS." is no longer required.
In the section Attach SMM Profiles, the following configuration change is required due to the support for executing SMM at both
a trunk group and zone level.

% set addressContext default zone TEAMS_ZONE sipTrunkGroup TEAMS_TG signaling messageManipulation


smmProfileExecution fixedOrder

For details of the revised configuration, refer to SBC 8.2 - Configure SBC Towards MS Teams.

The page SBC 8.2 - Configure Local Media Optimization is added.

The section SBC 8.2.x - Configure Call Admission Control for Multi-tenant Deployment is added.

Note
Refer to the above pages only if you are using SBC 8.2.2, 9.0.0, and later releases.

If you are using SBC 8.2.0, continue referring to SBC 8.2 - Configure Call Admission Control Profile.

The page SBC 8.2.x - Configure SBC Behind NAT (applicable to SBC 8.2.2, 9.0.0, and later releases) is added. It describes the
necessary configuration for deploying the SBC behind NAT.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 153
The page SBC 8.2.x - Configure SBC for Surrogate Registration (applicable to SBC 8.2.2, 9.0.0, and later releases) is added. It
describes the necessary configuration for the surrogate registration functionality of the SBC for single tenant deployments.

The page About the MS Teams Easy Configuration Wizard (applicable to SBC 8.2.2, 9.0.0, and later releases) is added - it explains
how to use the Easy Configuration Wizard tool to automatically generate SBC configuration for various MS Teams deployment scenarios.

Note
For SBC 8.2 or later versions, configuring downstreamForkingSupport on MS Teams and PSTN trunk groups is not
necessary.

In the page SBC 8.2 - Configure SBC Towards PSTN (under SBC 8.2 - Configure SBC for MS Teams), the section Configure SMM
Profile towards PSTN is removed - the SBC 8.2.x natively supports the related configuration, making the manual configuration
redundant.

Copyright © 2020-2021 Ribbon Communications Operating Company, Inc. (''Ribbon''). © 2020-2021 ECI Telecom Ltd. Page 154

You might also like