In this section:
The SBC Edge is certified to offer Microsoft Teams Direct Routing services; the SBC Edge can be used to connect any Teams client to:
These instructions detail how to configure the SBC Edge (SBC 1000/2000) to connect Microsoft Teams Direct Routing services deployed in an Enterprise network (On Premises) to an analog device via FXS port. The network diagram below displays the connection topology for Microsoft Teams Direct Routing deployed in an Enterprise network.
SBC Edge connects to Microsoft Teams Direct Routing Deployed in an Enterprise Network
These instructions assume the SBC Edge product (SBC 1000/2000) is installed and running. If the product is not installed, refer to the links below. Installation Requirements Product Installation 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 assume the SBC Edge is installed and running, and is connected to the WebUI.
Access the WebUI. Refer to Logging into the SBC Edge.
The Host Information and DNS configuration contains system information that is used by the SBC Edge, including host, domain, and NTP server information.
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 |
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.
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
For interconnecting with Microsoft System Direct Routing, the following profiles are required:
Create Teams Direct Routing Profile
The Teams Direct Routing profile is used for connecting the SBC Edge to Microsoft Teams.
Create the Teams Direct Routing Profile as follows:
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 FQDNNOTE: 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.NOTE: If you set this field to Static and you expect the port number of the Contact header in the outbound SIP messages, you must configure the Static Host FQDN/IP field with the Listen Port number of the SIP signaling group. |
Origin Field Username | <FQDN of SBC> (in the example aepsite6.SonusMS01.com) |
SIP Profile - Example
CAS Profiles control various aspects of loop start, DTMF, tone detection and other features associated with the variants of CAS calls. The Ribbon SBC 1000/2000 supports FXS, E&M and R2 signaling through CAS.
Click OK.
Analog Profile Entries - Example Values
Parameter | Value |
---|---|
Description | Analog Device |
Loop Start Type | Specifies the loop start method. This field is country-specific, and may need to be adjusted for your country. |
Disconnect Tone Generation | Specifies whether or not a disconnect tone is generated when a call is disconnected from the far end. This field is country-specific, and may need to be adjusted for your country. |
Analog Device 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:
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:
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.
|
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.
Create a Teams Direct Routing Server
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
This Transformation Table contains a list of call routes that include routing configuration for calls between Microsoft Teams and an Analog Device. Two Transformation tables are required:
Calls From Microsoft Teams to Analog Device
This Transformation Table contains a list of call routes that include routing configuration for calls from Microsoft Teams to an Analog Device.
Click OK.
Create Transformation Table
Click OK.
Transformation Entries - Example Values
Parameter | Value |
---|---|
Description | Extract Analog Device Extension Number |
Match Type | Optional (Match One) |
Input Field | Type: Called Address/Number Value: .*3(\d{3}) |
Output Field | Type: Called Address Number Value: \1 |
Transformation Entry - Example
Transformation Table - Entry Added
Calls From Analog Device to Microsoft Teams
This Transformation Table contains a list of call routes that include routing configuration for calls from the Analog Device to Microsoft Teams.
Click OK.
Create Transformation Table
Click OK.
Transformation Entries - Example Values
Parameter | Value |
---|---|
Description | Convert to Teams Client Number |
Match Type | Optional (Match One) |
Input Field | Type: Called Address/NumberValue: (.*) |
Output Field | Type: Called Address NumberValue: \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:
Calls From Microsoft Teams to Analog Device
Click OK.
Signaling Group Configuration - Example Values
Parameter | Value |
---|---|
Description | 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 Routing Table |
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 Analog Device to Microsoft Teams
Click OK.
Signaling Group Configuration - Example Values
Parameter | Value |
---|---|
Description | Analog Device |
CAS Signaling Profile | Select (FXS) Analog Device |
Caller ID Type | Country-specific |
Assigned Channels | Assign CAS channels. |
Call Routing Table | Default Routing Table |
Signaling Group - Example
Two Call Routing Tables for transporting calls between the SBC and Microsoft Teams are required:
From Microsoft Teams to Analog Device
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
Click OK.
Call Routing Table Configuration - Example
Parameter | Value |
---|---|
Description | From Microsoft Teams to Analog Device |
Number/Name Transformation Table | From Microsoft Teams to Analog (select Transformation Table you created above) |
Destination Signaling Groups | From Microsoft Teams |
Call Routing Table - Example
From Analog Device to Microsoft Teams
This Call Routing Table routes calls from the Analog Device 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
Click OK.
Call Routing Table Configuration - Example
Parameter | Value |
---|---|
Description | From Analog Device to Microsoft Teams |
Number/Name Transformation Table | From Analog Device to Microsoft Teams (select Transformation Table you created above) |
Destination Signaling Groups | From Analog Device |
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 Analog Device
Click OK.
Select Call Routing Table - Teams Direct Routing
Associate Call Route to Signaling Group for Calls from an Analog Device 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
For troubleshooting steps, refer to Best Practice - Troubleshoot Issues with Microsoft Teams Direct Routing.
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.