In this section:
Overview
The
- A PSTN trunk, whether based on TDM (e.g. PRI, BRI, etc.), CAS, or SIP
- 3rd-party, non-Teams-certified SIP/TDM based PBXs, analog devices, and SIP clients
These instructions detail how to configure the
Step 1: Install Unable to show "metadata-from": No such page "_space_variables"
These instructions assume the
Step 2: Review Prerequisites for Microsoft Teams Direct Routing
Consult the Microsoft documentation for detailed information on Direct Routing interface configuration guidelines, including the RFC standards and the syntax of SIP messages.
SBC Edge Software
Ensure you are running the latest version of SBC software:
- To locate the SBC Edge software current running, refer to: Viewing the Software Version and Hardware ID.
- To download and upgrade a new version of SBC Edge software, refer to: Installing and Commissioning the SBC Edge Portfolio.
Obtain IP Address and FQDN
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.
Domain Name
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:
- On the Microsoft Teams Tenant side, execute Get-CsTenant.
- Review the output.
- Verify that the Domain Name configured is listed in the Domains and DomainUrlMap attributes for the Tenant. If the Domain Name is incorrect or missing, the SBC will not pair with Microsoft Teams.
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: | |
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
Obtain Certificate
Public Certificate
The Certificate must be issued by one of the supported certification authorities (CAs). Wildcard certificates are supported.
Refer to Microsoft documentation for certificate information.
Refer to CCADB Documentation for the comprehensive list of supported CAs.
- Refer to Domain Name for certificate formats.
Configure and Generate Certificates on the SBC
Firewall Rules
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 Portfolio 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.
Basic Firewall Rules for All Call Flows
Firewall Rules for the SBC with Media Bypass
Step 3: Configure Unable to show "metadata-from": No such page "_space_variables" for Microsoft Teams Direct Routing to Support Analog Devices
These instructions assume the SBC Edge is installed and running, and is connected to the WebUI.
Access the SBC Edge WebUI
Access the WebUI. Refer to Logging into the SBC Edge.
Configure Host Information and DNS
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 WebUI, click the Settings tab.
- 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 ValuesParameter 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
Configure Logical Interface
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.
- In the WebUI, click the Settings tab.
- 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.
- Leave all other parameters as default.
Click Apply.
Logical Interfaces Configuration - Example ValuesParameter 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
Create Profiles
For interconnecting with Microsoft System Direct Routing, the following profiles are required:
- Teams Direct Routing Profile (SIP)
- Analog Device Profile
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:
- In the WebUI, click the Settings tab.
- In the left navigation page, access SIP > SIP Profiles.
- Click Add 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 ValuesParameter 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. 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
Create Analog Device Profile
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.
- In the WebUI, click the Settings tab.
- In the left navigation pane, go to CAS > CAS Signaling Profiles.
- From the Create CAS Profile drop down box, select FXS Profile.
- Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Analog Profile Entries - Example ValuesParameter 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
Create SDES-SRTP Profile
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:
- In the WebUI, click the Settings tab.
- In the left navigation page, access Media > SDES-SRTP.
- Click Add at the top left corner and add a new SDES-SRTP Profile.
- 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 ValuesParameter Example Value Description Teams Direct Routing SRTP Operation Option Required Crypto Suite AES_CM_128_HMAC_SHA1_80 Media Crypto Profile - Example
Create Media List
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:
- In the WebUI, click the Settings tab.
- In the left navigation page, access Media > Media List.
- Click Add at the top left corner and add a new Media List.
- 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 ValuesParameter 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. - G711a
- G711u
SDES-SRTP Profile Teams Direct Routing SRTP. This profile was created in the previous step. Media List - Example
Configure a SIP Server Table
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
- In the WebUI, click the Settings tab.
- In the left navigation page, access SIP > SIP Server Tables
- Click Add at the top left corner and add a new SIP Server Table.
- For Description, enter Teams Direct Routing Server.
Click OK.
Configure Entries in the Teams Direct Routing Server
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:
- In the WebUI, click the Settings tab.
- In the left navigation page, access SIP > SIP Server Tables.
- Select the name of the table created in the previous step.
- From the Create SIP Server drop down list, select IP/FQDN.
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 ValuesParameter 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 ValuesSIP 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 ValuesParameter 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 Transformation Tables and Entries
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:
- For Calls from Microsoft Teams to Analog Device
- For Calls from Analog Device to Microsoft Teams
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.
- In the WebUI, click the Settings tab.
- In the left navigation page, access Call Routing > Transformation
- Click Add at the top left corner to add a new Transformation Table.
- For Description, enter From Microsoft Teams to Analog Device
Click OK.
- In the left navigation panel, select the new table: Transformation > From Microsoft Teams to Analog Device
- Click Create.
- Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Transformation Entries - Example ValuesParameter 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 - ExampleTransformation 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.
- In the WebUI, click the Settings tab.
- In the left navigation page, access Call Routing> Transformation
- Click Add at the top left corner to add a new Transformation Table.
- For Description, enter From Analog Device to Microsoft Teams
Click OK.
- In the left navigation panel, select the new table: Transformation > From Analog Device to Microsoft Teams
- Click Create.
- Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Transformation Entries - Example ValuesParameter 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 EntryTransformation Table - Entry Added
Create Signaling Groups
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:
- Signaling Group - Calls from Microsoft Teams to Analog Device
- Signaling Group - Calls from Analog Device to Microsoft Teams
Calls From Microsoft Teams to Analog Device
- In the WebUI, click the Settings tab.
- In the left navigation page, access Signaling Groups
- 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 ValuesParameter 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) *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
Calls from Analog Device to Microsoft Teams
- In the WebUI, click the Settings tab.
- In the left navigation page, access Signaling Groups
- From the Create Signaling Group drop down box, select CAS Signaling Group.
- Configure the parameters as shown below. Leave the default values for all other parameters.
Click OK.
Signaling Group Configuration - Example ValuesParameter 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
Create Call Routing Tables
Two Call Routing Tables for transporting calls between the SBC and Microsoft Teams are required:
- Call Route - Calls from Microsoft Teams to Analog Device
- Call Route - Calls from Analog Device to Microsoft Teams
From Microsoft Teams to Analog Device
This Call Routing Table routes calls from Microsoft Teams.
- In the WebUI, click the Settings tab.
- In the left navigation page, access Call Routing Table.
Click Add at the top left corner and add a new 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).
- Click Add.
- Configure the parameters as shown below. Leave all other parameters as default.
Click OK.
Call Routing Table Configuration - ExampleParameter 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:
- In the WebUI, click the Settings tab.
- In the left navigation page, access Call Routing Table.
Click Add at the top of left corner and add a new 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 Analog Device (the entry you just created).
- Click Add.
- Configure the parameters as shown below. Leave all other parameters as default.
Click OK.
Call Routing Table Configuration - ExampleParameter 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
Update Signaling Groups for Call Route
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
- In the WebUI, click the Settings tab.
- In the left navigation page, access Signaling Groups > Teams Direct Routing.
- From the Call Routing Drop down list, select From Microsoft Teams.
Click OK.
Associate Call Route to Signaling Group for Calls from an Analog Device to Teams
- In the WebUI, click the Settings tab.
- In the left navigation page, access Signaling Groups > From Analog Device.
- From the Call Routing Drop down list, select From Analog Device.
Click OK.
Step 4: Configure Unable to show "metadata-from": No such page "_space_variables" when Microsoft Teams is in Media Bypass Mode and Non-Media Bypass Mode
For Media Bypass, the following is supported:
- Deployment on a Public IP address
- Deployment behind NAT
Configure Signaling Group
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.
- In the WebUI, click the Settings tab.
- In the left navigation page, access Signaling Groups
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 ValuesParameter
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 *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
Step 5: Confirm Unable to show "metadata-from": No such page "_space_variables" Links to Microsoft Teams
For troubleshooting steps, refer to Best Practice - Troubleshoot Issues with Microsoft Teams Direct Routing.
Step 6: Place a Test Call
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. The test call is now complete. For troubleshooting steps, refer to Best Practice - Troubleshoot Issues with Microsoft Teams Direct Routing.