In this section:
The SBC Edge is certified to offer Microsoft Teams Direct Routing services, and used to connect any Teams client to:
These instructions detail how to connect the SBC Edge for Enterprise's migration from Skype for Business (SfB) On Premises to Microsoft Phone System (Teams).
An enterprise may choose to deploy Teams Phone System services to clients using Skype for Business Server on-premises enterprise voice services. Two migrations scenarios exist:
All Skype for Business clients are homed to the On-Premises Skype for Business Server for voice services. No cloud-based VoIP services from Microsoft are used. A Ribbon SBC Edge device qualified for Skype for Business is deployed on the customer premises to support connectivity with the PSTN and legacy clients.
Enterprise Voice Network with Skype for Business Server On-Premises Services, Before Teams Direct Routing Migration
NOTE: The Ribbon SBC may be also deployed in an enterprise branch office and may feature a Skype for Business Survivable Branch Appliance (SBA) application (not shown).
Skype for Business clients are homed to the Cloud PBX for voice services. No CCE is deployed; the Skype for Business Server provides services analogous to those provided by the CCE. A Ribbon SBC Edge device qualified for Skype for Business and the Skype for Business Server (deployed on premises) to support connectivity with the PSTN and legacy clients.
Enterprise Voice Network with "Hybrid" Skype for Business Server On-Premises Services, Before Teams Direct Routing Migration
Following configuration, the Ribbon SBC Edge device offers certified Teams Phone System Direct Routing services to enterprise clients.
Enterprise Voice Network After Migration to Teams Direct Routing, Away From Skype for Business Server
These instructions assume the SBC Edge product (SBC SWe Lite, SBC 1000/2000) is installed and running. If the product is not installed, refer to the links below. Installation Requirements On KVM: Installing SBC SWe Lite on KVM HypervisorProduct Installation SBC SWe Lite SBC 1000 Installing the SBC 1000 Hardware SBC 2000
Consult the Microsoft documentation for detailed information on Direct Routing interface configuration guidelines, including the RFC standards and the syntax of SIP messages.
Ensure you are running the latest version of SBC software:
Requirements for configuring the SBC Edge in support of Teams Direct Routing include:
SBC Edge Requirements
Requirement | How it is Used |
---|---|
Public IP address of NAT device (must be Static)* Private IP address of the SBC | Required for SBC Behind the NAT deployment. |
Public IP address of SBC | Required for SBC with Public IP deployment. |
Public FQDN | The Public FQDN must point to the Public IP Address. |
*NAT translates a public IP address to a Private IP address.
For the SBC Edge to pair with Microsoft Teams, the SBC FQDN domain name must match a name registered in both the Domains and DomainUrlMap fields of the Tenant. Verify the correct domain name is configured for the Tenant as follows:
Users may be from any SIP domain registered for the tenant. For example, you can configure user user@SonusMS01.com with the SBC FQDN name sbc1.hybridvoice.org, as long as both names are registered for the tenant.
Domain Name Examples
Domain Name* | Use for SBC FQDN? | FQDN Names - Examples |
---|---|---|
SonusMS01.com | Valid names:
| |
hybridvoice.org | Valid names:
Non-Valid name: sbc1.europe.hybridvoice.org (requires registering domain name europe. hybridvoice.org in “Domains” first) |
*Do not use the *.onmicrosoft.com tenant for the domain name.
Configure Domain Names - Example
The Certificate must be issued by one of the supported certification authorities (CAs). Wildcard certificates are supported.
Refer to Microsoft documentation for the supported CAs.
Ribbon recommends the deployment of the SBC Edge product behind a firewall, within the DMZ, regardless of the assignment of a public IP to the SBC in question. Refer to SBC Edge Security Hardening Checklist for more information about the SBC and firewalls.
This section lists the ports, protocols and services for firewalls that are in the path of the SBC connecting to Teams Direct Routing.
These instructions configure the Tenant to connect (pair) the SBC to the Microsoft Direct Routing Interface.
Configure the Microsoft Phone system Voice routing. As part of this process, use the following command to create an Online PSTN Gateway that points to the SBC:
New-CsOnlinePSTNGateway -Fqdn <SBC FQDN> -SipSignallingPort <SBC SIP Port> -MaxConcurrentSessions <Max Concurrent Session which SBC capable handling> -Enabled $true
Configure the Teams usage for the user:
Get-CsOnlineUser -Identity user1@domain.com Grant-CsOnlineVoiceRoutingPolicy -PolicyName "GeneralVRP" -Identity user1@domain.com Grant-CsTeamsCallingPolicy -PolicyName AllowCalling -Identity user1@domain.com Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Identity user1@domain.com
For configuring TCP and TLS between the SBC Edge and Skype for Business server, there are two migration types:
See below for which migration applies to your network.
These instructions apply to enterprises with a Hybrid On-Premises for Skype for Business on-premises deployment.
Follow instructions posted below for basic Teams configuration (Step 5).
For a successful migration, if the SBC is deployed with a private FQDN into Skype for Business On-Premises, do not change the SBC Hostname and Domain. Use the Public FQDN on the new SIP profile only.
When you configure the SBC Edge for Microsoft Teams Direct Routing and use TLS between SfB and the SBC, do not configure the Node-Level Settings because SfB uses the SBC default FQDN.
When you create the SIP Profile for the SBC Edge for Microsoft Teams Direct Routing and use TLS between SfB and the SBC, SfB uses the SBC default FQDN. Since SfB uses the SBC default FQDN, set the FQDN in From Header and FQDN in Contact Header fields to Static and enter the public FQDN used for Microsoft Teams in the Static Host FQDN/IP field.
Follow instructions posted below for basic Teams configuration (Step 5).
If the SBC is deployed with a private FQDN in the Skype for Business Server, do not change the SBC Hostname and Domain. Use the Public FQDN on the new SIP profile only.
One TLS port can be attached to only one TLS profile. If your SfB deployment uses TLS 5061 as the Federated port, you must modify this Federated port to use a port other than 5061. To modify the Federated port, you must update the IP/PSTN Gateway's Listen Port of the SfB On-Premise topology and the Federated port of the SfB signaling group.
If you cannot modify your SfB On-Premise topology, you can modify the port that Microsoft Teams Direct Routing uses. Make sure you update the Firewall, ACL, and Federated port of the Teams Signaling Group and Online PSTN Gateway.
Configure a domain name owned by the enterprise through the basic SBC Edge configuration (see Step 5).
These instructions apply to enterprises with a Uniquely On-Premises for Skype for Business Server deployment.
Enable split domain. For details, refer to: Configure Hybrid connectivity between Skype for Business Server and Office 365.
Move On-Premises users to Skype Online. For details, refer to: Move users between On-Premises and Cloud.
Follow the process related to hybrid on premises deployments as described Migrations from Hybrid On-Premises Deployments.
These instructions assume the SBC Edge is installed and running, and is connected to the WebUI.
For the purposes of this documentation, the screens displayed are for an SBC 1000/2000; the interface configuration may vary slightly for the SBC SWe Lite. If configuration is not specified for a field, use the default value.
Access the WebUI. Refer to Logging into the SBC Edge.
The TLS profile defines the crypto parameters for the SIP protocol; it is used as the transport type for incoming and outgoing SIP trunks.
Configure a TLS profile as follows:
In the left navigation pane, go to Security > TLS Profiles.
Configure the parameters as shown below (example values are shown in the table; configure as per your network requirements). For details on field descriptions, refer to Creating and Modifying TLS Profiles.
Leave all other parameters as default.
Click OK.
TLS Configuration - Example Values
Parameter | Example Value |
---|---|
Description | Teams Direct Routing TLS |
TLS Protocol | TLS 1.2 Only |
Client Cipher List | Select at least one of the following Microsoft/Ribbon common cyphers must be configured:
|
Validate Client FQDN | Disabled |
TLS - Example
The Host Information and DNS configuration contains system information that is used by the SBC Edge, including host, domain, and NTP server information.
In the left navigation page, access System > Node-Level Settings. The Node-Level Settings page is displayed.
Configure the NTP and DNS Servers with network-specific data.
Leave all other parameters as default.
Click Apply.
TLS Configuration - Example Values
Parameter | Example Value |
---|---|
Host Name | aepsite6 |
Domain Name | SonusMS01.com |
Use NTP | Yes |
NTP Server | Specifies the FQDN, IPv4, or IPv6 address of the NTP server. If the host name is supplied, the SBC uses the DNS to connect to the NTP server. |
Use Primary DNS | Yes |
Primary Server IP | XXX.XXX.XX.XXX |
Node-level Settings - Example
The SBC Edge supports system-supported Logical Interfaces, which are used to hold the IP address for each Ethernet port. One of these logical interfaces is assigned an IP address for transporting the VoIP media packets (i.e., RTP, SRTP) and protocol packets (i.e, SIP, RTCP, TLS). In this example, Ethernet 1 is configured for transporting packets for the Microsoft Teams Direct Routing connection.
Ensure the IP Routing Table contains the same information as in the network topology.
In the left navigation pane, go to Node Interfaces > Logical Interfaces.
Configure the parameters as shown below (example values are shown in the table; configure as per your network requirements). For details on field descriptions, refer to Configuring and Modifying Logical Interfaces.
Click Apply.
Logical Interfaces Configuration - Example Values
Parameter | Example Value |
---|---|
Alias | To Microsoft Phone 5 |
Description | Interface to Interconnect with Microsoft Phone System |
Admin Interface | Enable |
IP Assign Method | Static |
Primary Address | <Public IP of your SBC> (in the example 192.168.211.80) |
Primary Netmask | <Mask of Public Interface of your SBC> (in the example 255.255.255.0) |
Logical Interfaces - Example
The SIP Profile controls how the SBC Edge communicates with SIP devices; the profile controls important characteristics such as: session timers, SIP header customization (including FQDN), SIP timers, MIME payloads, and option tags .A SIP Profile also defines which FQDN (Fully Qualified Domain Name) is used in the Contact Header and From Headers. For interconnecting with Microsoft System Direct Routing, two SIP Profiles are required:
Create Teams Direct Routing Profile
Create a SIP Profile for the Teams Direct Routing Profile as follows:
Click the (
) icon at the top of left corner and add a new SIP profile.Configure the parameters as shown below (example values are shown in the table; configure as per your network requirements). For details on field descriptions, refer to Creating and Modifying SIP Profiles.
Leave all other parameters as default.
Click OK.
SIP Profile Configuration - Example Values
Parameter | Example Value |
---|---|
Description | Teams Direct Routing Profile |
FQDN in From Header | SBC Edge FQDN |
FQDN In Contact Header | SBC FQDN NOTE: For Microsoft Teams, the Signaling Group facing the Teams server must be configured as SBC Edge FQDN or Static (if there is more than one signaling group connected to Teams Direct Routing). The FQDN in Contact Header should be the same FQDN used in Office 365 Tenant Online Gateway. If the IP Address of the SBC is configured in the Contact Header instead of the FQDN of the SBC, a Forbidden message is received. |
Origin Field Username | <FQDN of SBC> (in the example aepsite6.SonusMS01.com) |
SIP Profile - Example
Create SIP Trunk Profile
Create a SIP Profile for the SBC Edge's SIP Trunk as follows:
Click the (
) icon at the top of left corner and add a new SIP profile.Configure the parameters as shown below (example values are shown in the table; configure as per your network requirements). For details on field descriptions, refer to Creating and Modifying SIP Profiles.
Leave all other parameters as default.
Click OK.
SIP Profile Configuration - Example Values
Parameter | Example Value |
---|---|
Description | SIP Trunk Profile |
FQDN in From Header | Disable |
FQDN In Contact Header | Disable |
Origin Field Username | SBC |
SIP Profile - Example
The SDES-SRTP Profile defines the encryption mechanism used between the SBC and the Microsoft Teams Direct Routing interface; the Crypto Suite specifies the algorithm used to negotiate with a peer device.
Create a SDES-SRTP Profile as follows:
Configure the parameters as shown below. For details on field descriptions, refer to Creating and Modifying SIP Profiles.
Leave all other parameters as default.
Media Crypto Profile Configuration - Example Values
Parameter | Example Value |
---|---|
Description | Teams Direct Routing SRTP |
Operation Option | Required |
Crypto Suite | AES_CM_128_HMAC_SHA1_80 |
Media Crypto Profile - Example
The Media List contains one or more of Media Profiles, which the SBC Edge uses for call transmission. A Media Profile specifies the individual voice codecs the SBC Edge uses for voice compression, voice quality, and associated settings.
Create a Media List for Teams Direct Routing as follows:
Configure parameters as shown below. For details on field descriptions, refer to Creating and Modifying Media Lists.
Leave all other parameters as default.
Media List Configuration - Example Values
Parameter | Example Value |
---|---|
Description | Teams Direct Routing Media List |
Media Profiles List | In the Media Profiles List field, click Add/Edit. G711a and G711u are the default Media Profiles.
NOTE: See Microsoft documentation for the list of codecs supported by Microsoft. |
SDES-SRTP Profile | Teams Direct Routing SRTP. This profile was created in the previous step. |
Media List - Example
SIP server tables define the information for the SIP interfaces connected to the SBC Edge; a SIP Server Table is required to support the Microsoft Phone System. For interconnecting with Microsoft System Direct Routing, two SIP Profiles are required:
Create a Teams Direct Routing Server
Click the (
) icon at the top left corner and add a new SIP Server Table.Click OK.
Create SIP Server Table
The information you configure in the SIP Server table pairs the SBC Edge to the Microsoft Teams Direct Routing interface. Three entries in the SIP Server table offer server redundancy to ensure a server is always up and communicating. If a server is down or not communicating, the SBC Edge will automatically move to the next Server entry on the list.
Configure Teams Direct Routing Server entries as follows:
Repeat this configuration for two additional SIP Server entries, using the field entries below. For details on field descriptions, refer to Creating and Modifying Entries in SIP Server Tables.
SIP Server 1 Table - Example Values
Parameter | Value |
---|---|
Priority | 1 |
Host | sip.pstnhub.microsoft.com |
Port | 5061 |
Protocol | TLS |
TLS Profile | Teams Direct Routing TLS |
Monitor | SIP Options |
SIP Server 1 - Example Values
SIP Server 2 Table - Example Values
Parameter | Value |
---|---|
Priority | 2 |
Host | sip2.pstnhub.microsoft.com |
Port | 5061 |
Protocol | TLS |
TLS Profile | Teams Direct Routing TLS |
Monitor | SIP Options |
SIP Server 2 - Example Values
SIP Server 3 Table - Example Values
Parameter | Value |
---|---|
Priority | 3 |
Host | sip3.pstnhub.microsoft.com |
Port | 5061 |
Protocol | TLS |
TLS Profile | Microsoft Phone System |
Monitor | SIP Options |
SIP Server 3 - Example Values
Create a SIP Trunk Server
Click the (
) icon at the top left corner and add a new SIP Server Table.Click OK.
Create SIP Server Table
Configure a SIP Trunk Server entry as follows:
Leave the remaining fields as default. For details on field descriptions, refer to Creating and Modifying Entries in SIP Server Tables.
Click OK.
SIP Trunk Server - Example Values
Parameter | Value |
---|---|
Priority | 1 |
Host | Host FQDN for SBC |
Port | 5060 |
Protocol | UDP |
Monitor | None |
SIP Trunk Server - Example Values
This Transformation Table contains a list of call routes that include routing configuration for calls from Microsoft Teams and SIP Trunk. Two Transformation tables are required:
Calls From Microsoft Teams to SBC's SIP Trunk
This Transformation Table contains a list of call routes that include routing configuration for calls from Microsoft Teams to SBC's SIP Trunk.
Click the (
) icon at the top left corner to add a new Transformation Table.Click OK.
Create Transformation Table
In the left navigation panel, select the new table: Transformation > From Microsoft Teams: Passthrough.
Click the Create (
) icon.Click OK.
Transformation Entries - Example Values
Parameter | Value |
---|---|
Description | From Microsoft Teams: Passthrough |
Match Type | Mandatory (Must Match) |
Input Field | Type: Called Address/Number Value: (.*) |
Output Field | Type: Called Address Number Value: \1 |
Transformation Entry - Example
Transformation Table - Entry Added
Calls From SBC's SIP Trunk to Microsoft Teams
This Transformation Table contains a list of call routes that include routing configuration for calls from the SBC's SIP Trunk to Microsoft Teams.
Click the (
) icon at the top left corner to add a new Transformation Table.Click OK.
Create Transformation Table
In the left navigation panel, select the new table: Transformation > From SIP Trunk: Passthrough.
Click the Create (
) icon.Click OK.
Transformation Entries - Example Values
Parameter | Value |
---|---|
Description | From SIP Trunk: Passthrough |
Match Type | Mandatory (Must Match) |
Input Field | Type: Called Address/Number Value: (.*) |
Output Field | Type: Called Address Number Value: \1 |
Transformation Table Entry
Transformation Table - Entry Added
Signaling groups allow telephony channels to be grouped together for the purposes of routing and shared configuration. In the case of SIP, they specify protocol settings and link to server, media and mapping tables. For Teams Direct Routing, you configure the Signaling Group to designate routing information for calls between SBC Edge and the Microsoft Phone System. Two Signaling Groups are required:
For the Skype for Business to Microsoft Teams migration, do not configure the Listen Ports table of the Skype for Business signaling group with the same Listen Ports of the Microsoft Teams signaling group.
Calls From Microsoft Teams to SBC's SIP Trunk
From the Create Signaling Group drop down box, select SIP Signaling Group.
Click OK.
Signaling Group Configuration - Example Values
Parameter | Value |
---|---|
Description | From Microsoft Teams |
SIP Profile | Teams Direct Routing Profile |
Media List ID | Team Direct Routing List |
Signaling Media/Private IP | Ethernet 1 (example, choose the interface which faces Microsoft Teams Direct Routing) |
Listen Port | 5061 TLS |
Federated IP/FQDN | sip-all.pstnhub.microsoft.com |
SIP server table | Teams Direct Routing Server |
Load Balancing | Priority: Register All |
SIP Profile | Microsoft Phone System (from previous step) |
Call Routing Table | Default |
Outbound NAT Traversal* | Static NAT |
NAT Public IP* | IP Address (Only required if “Static NAT” is selected) |
Static NAT Inbound | Disabled (this field should not be configured for Non-Media Bypass Teams deployment) |
Signaling Group - Example
Calls from SBC's SIP Trunk to Microsoft Teams
From the Create Signaling Group drop down box, select SIP Signaling Group.
Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Signaling Group Configuration - Example Values
Parameter | Value |
---|---|
Description | From SIP Trunk |
SIP Profile | SIP Trunk |
Media List ID | SIP Trunk List |
Signaling Media/Source IP | Ethernet 2 (example, choose the interface which faces the SIP Trunk) |
Listen Port | 5060 UDP |
Federated IP/FQDN | IP Address |
SIP Server table | SIP Trunk Server |
Load Balancing | Round Robin |
SIP Profile | SIP Trunk |
Call Routing Table | Default |
Outbound NAT Traversal* | None |
NAT Public IP* | IP Address (Only required if “Static NAT” is selected) |
Static NAT Inbound | Disabled (this field should not be configured for Non-Media Bypass Teams deployment) |
*Outbound NAT Traversal and the NAT Public IP is required when the SBC is behind a NAT (the public IP address of the NAT device is required when the SBC has a Private IP).
Signaling Group - Example
Two Call Routing Tables for transporting calls between the SBC's SIP Trunk and Microsoft Teams are required:
From Microsoft Teams to SBC's SIP Trunk
This Call Routing Table routes calls from Microsoft Teams.
Click the (
) icon at the top left corner and add a new Call Routing Table.Create Call Routing Table
Configure the Description as From Microsoft Teams and click OK.
From the left navigation pane, click on the Call Routing > Call Routing table.
Select From Microsoft Teams (the entry you just created).
Configure the parameters as shown below. Leave all other parameters as default.
Click OK.
Call Routing Table Configuration - Example
Parameter | Value |
---|---|
Description | To SIP Trunk (Passthrough) |
Number/Name Transformation Table | From Microsoft Teams: Passthrough (select Transformation Table you created above) |
Destination Signaling Groups | Choose the Signaling Group of a local equipment. |
Call Routing Table - Example
From SBC's SIP Trunk to Microsoft Teams
This Call Routing Table routes calls from the SBC's SIP Trunk and sent to Microsoft Teams.
To add and configure a new Call Routing Table:
Click the (
) icon at the top of left corner and add a new Call Routing Table.Create Call Routing Table
Configure the Description as Microsoft Phone system and click OK.
From the left navigation pane, click on the Call Routing > Call Routing table.
Select From SIP Trunk (the entry you just created).
Configure the parameters as shown below. Leave all other parameters as default.
Click OK.
Call Routing Table Configuration - Example
Parameter | Value |
---|---|
Description | To Microsoft Teams (Passthrough) |
Number/Name Transformation Table | From SIP Trunk: Passthrough (select Transformation Table you created above) |
Destination Signaling Groups | Choose the Signaling Group for Microsoft Teams Direct Routing |
Call Routing Table - Example
The newly created Call Route must be associated to a Signaling Group as follows:
Associate Call Route to Signaling Group for Calls From Teams to SBC's SIP Trunk
Click OK.
Select Call Routing Table - Teams Direct Routing
Associate Call Route to Signaling Group for Calls from SBC's SIP Trunk to Teams
Click OK.
Select Call Routing Table - From SIP Trunk
For Media Bypass, the following is supported:
Before configuring Outbound NAT Traversal, obtain the Public IP address for your network (the Public IP address specified in the screen graphic is an example only); configuration for NAT is required only if deployment is behind NAT.
From the Create Signaling Group drop down box, select SIP Signaling Group.
Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Signaling Group Configuration - Example Values
Parameter | Value |
---|---|
RTCP Multiplexing | Enable |
ICE Support | Enabled |
ICE Mode | Lite |
Outbound NAT Traversal* | Static NAT |
NAT Public IP (Signaling/Media)* | Public Address for the NAT device assigned on the media port for your network |
Static NAT Inbound | Disabled (this field should not be configured for Media Bypass Teams deployment) |
*Outbound NAT Traversal and the NAT Public IP is required when the SBC is behind a NAT (the public IP address of the NAT device is required when the SBC has a Private IP).
The peer endpoint must support the a=rtcp-mux exchange in order for the RTP and RTCP ports to be multiplexed into one data port.
SIP Signaling Group - Example
Incoming and Outgoing Counters
Place a test call as follows: Access the WebUI. Refer to Logging into the SBC Edge. In the WebUI, click the Diagnostics tab. In the left navigation pane, click Test a Call. Configure the parameters as shown below. Click OK. Place a Test Call - Parameters Parameter Value Destination Number Number assigned to a Teams user. Origination/Calling Number Number assigned to a Local user. Call Routing Table The routing table that handles the call from Microsoft Teams. Test a Call - Configuration Place a Test Call - Example The test call is now complete. For troubleshooting steps, refer to Best Practice - Troubleshoot Issues with Microsoft Teams Direct Routing.