Anchor | ||||
---|---|---|---|---|
|
Microsoft Teams Implementation Guide
Anchor | ||||
---|---|---|---|---|
|
...
This implementation guide describes how service providers can configure an interconnection between the Microsoft Phone System Direct Routing Interface and 46 Labs' Peeredge OrchestratorsOrchestrator. Microsoft documentation describes many configuration requirements specific to the Microsoft Teams environment. This implementation guide includes references to that Microsoft Teams documentation where appropriate.
The Service Provider Peeredge Orchestrator is an appliance which that can be deployed on the customer premise, hosted in the 46 Labs Cloud, or deployed as a virtual machine on customer-provided bare metal or a VMware ESXi host. The Orchestrator contains the Peeredge SBC application.
Throughout this guide, we use the name Peeredge SBC when referring to the 46 Labs software application running in the Peeredge Orchestrator. This naming convention helps readers distinguish our product from other Microsoft-approved SBCs supported by Direct Routing. The Peeredge SBC platform offers several features typically not found in traditional SBCs.
...
Use virtually any PSTN Provider with Microsoft Phone System (including 46Labs46 Labs' ECO Carrier Platform).
Configure interoperability between customer-owned telephony equipment, such as a third-party private branch exchange (PBX), analog devices, and the Microsoft Phone System.
...
Before starting the implementation, make sure you have access to an active instance of the Peeredge SBC. The 46 LABS Labs team can deploy the Peeredge SBC to the client's preferred environment (i.e. 46 LABS Labs data center, on-premise, or in a third-party data center) after the client purchases a Peeredge SBC license.
For more prerequisite details, see Microsoft's document for Plan Direct Routing.
Anchor | ||||
---|---|---|---|---|
|
...
Direct Routing requires a custom domain for each Office 365 tenant. For more information, click here.
Anchor | ||||
---|---|---|---|---|
|
...
The domain names for SBCs must be in the list of domain names registered in the "Domains" section under Settings of the Microsoft 365 admin center menu. The domain of a tenant must be activated and have a Healthy status. Go to the admin dashboard to add domains not already created and verified.
...
By design, the SBC Provisioning Portal does not include Certificate Management Functions. If the SBCs are deployed in the 46 LABS Labs cloud, 46 LABS Labs sets up and manages a Let's Encrypt certificate. If the Peeredge SBC is deployed outside the 46 LABS Labs cloud or the client wants the SBC Certificate to be signed by a specific root Certificate Authority (CA), contact 46 LABS Labs and request a Certificate Signing Request (CSR).
Once you have the CSR, submit the certificate to a Microsoft-approved root certificate authority. Return the signed certificate and any CA intermediate certificates to 46 LABSLabs.
To learn more about SBC certificates, refer to this Microsoft documentation.
Anchor | ||||
---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
1. Connect the SBC with
...
phone system and validate connection
Using the Microsoft Teams admin center
To add the Peeredge SBC to Direct Routing:
...
Must be configured for Teams Only mode
...
Must be homed online, enabled for enterprise voice, and assigned a phone number
Using the Microsoft Teams admin center:
Go to Users -> Manage users.
Select a user.
Under Account General information, select Edit.
Under Assign phone number, click the Phone number type drop-down menu and select Direct Routing.
Enter an assigned phone number and a phone number extension, if applicable.
Click Apply.
...
Anchor | ||||
---|---|---|---|---|
|
3. Configure call routing
Call routing has the following elements:
Call routing policy
Also called a Voice Routing policy. A container for PSTN usages, which can be assigned to a user or to multiple users. Sample Call routing policy names include:
US Only
US Global
Germany Only
Germany Global
Internal
PSTN usages
A container for voice routes and PSTN usages, which can be shared in different voice routing policies. Sample PSTN usage names include:
US-Emergency
US-LD
US-INTL
Company-Internal
Voice routes
A number pattern and set of online PSTN gateways for calls where the calling number matches the pattern. In the examples below, the Internal voice routes represent routes to company-managed third-party PBXs used by employees that have not yet migrated to MS Teams. Sample Voice route names and their associated dialed number patterninclude:
US Emergency ^933$
US LD e164 ^+1[2-9]\d{2}[2-9]\d{6}$
US INTL e164 ^+[2-9]\d+$
Reston Internal ^+170355512\d{2}$
Chicago Internal ^+13125556[43]\d{2}$
Online PSTN gateway
This is a pointer to the Peeredge SBC that also stores the configuration which is applied when a call is placed through the SBC, such as forward P-Asserted-Identity (PAI) or Preferred Codecs. The pointer can be added to voice routes.
Two examples (from Microsoft) of voice routing policies in a call flow.
Anchor | ||||
---|---|---|---|---|
|
...
In the following example, we create four PSTN usage records. We suggest admins use easy-to-understand names representing the types of calls a user is allowed to dial. Using the Microsoft Teams admin center:
Go to Voice -> Direct Routing.
Select Manage PSTN usage records in the top right corner of the page.
Click + Add and enter the name of the PSTN usage record.
Repeat step 3 to add more records.
Click Apply to finish.
...
In the following example, we create four voice routes. The dial number patterns are in the form of a regular expression (regex). You can validate your regex patterns.
Using the Microsoft Teams admin center:
Go to Voice -> Direct Routing.
Click the Voice routes button.
Click the Add button.
Add the name Non-Emergency Test in the voice route in the Add a name for your voice route field.
Make sure the Priority is 1.
Make sure the Dialed number pattern is ^933$.
Click the Add SBCs button and select your Peeredge SBCs and then click Apply.
Click the ADD PSTN usage button and select the US-Emergency PSTN Usage and then click Apply.
Click Save.
Repeat steps 3 – 9 for any other voice routes using an appropriate priority and PSTN Usage. When overlapping dialed number patterns exist, give the more specific pattern higher priority.
...
Create the voice routing policy
Using the Microsoft Teams admin center:
Go to Voice -> Voice routing policies.
Click the + Add button.
Add the policy name in the Add a name for your voice routing policy field.
Add an appropriate description.
Add one or more PSTN usages.
Click Save.
Repeat steps 2 – 6 for each voice routing policy.
...
Assign the voice routing policy to a user
Using the Microsoft Teams admin center:
Go to Voice -> Voice routing policies.
Highlight the voice policy you want to assign.
Click the Assign button.
In the Manage user search box, search for the user and click add when found.
Click Apply.
...
The example below shows how to add a typical US dial plan.
Using the Microsoft Teams admin center:
Go to Voice -> Dial plans.
Click the +Add button to add a Tenant dial plan.
Add the dial plan name (US DP) in the Add a name for your dial plan field.
Add an appropriate description (Tenant User Dial plan for US-based users).
Add an External dialing prefix (8). Legacy PBX was often configured with 8 or 9 as an external dialing prefix to route the call to an external line.
Set Optimized device dialing to ON if you configured an External dialing prefix.
Click the Add button under Normalization rules to open the Add new rule pane.
Enter a rule name (Non-Emergency Test Call) in the Name field.
Add an appropriate description.
Select an appropriate Rule creation mode (Advanced).
Enter a dial pattern to match (^(911)$) in the If condition.
Enter the translation/number manipulation ($1) in the Then do this field.
Optionally, enter a number in the test this rule field to validate the rule. A validated test results in, "The translated number is an E.164 phone number."
Click Save.
Repeat steps 7 – 14 to add Normalization rules.
Click Save.
...
When the Peeredge SBC receives a call from a Termination Customer Trunk Group, it always routes the call (based on the assigned route plan) to a Termination Vendor Trunk Group.
When the Peeredge SBC receives a call from an Origination Vendor Trunk Group (inbound call leg), it always matches it to an Origination Customer Trunk Group (outbound call leg) based on the called party number in the Request URI.
...
Click Trunks in the upper center of the window. The top section of the Trunks page allows you to define the attributes of a new trunk or edit the values of an existing trunk. The bottom section of the page lists the trunks in this group.
Verify the Trunk type is set to IP.
In the IP Address field, enter the MS Team SIP Proxy FQDN sip3.pstnhub.microsoft.com.
In the Port field, enter 5061.
In the Protocol field, select TLS 1.2 on the drop-down menu.
Info |
---|
Note The 46 LABS Labs Provisioning Team populates the Location, Zones, and Switch IP fields when the team deploys your Peeredge SBCsSBC. |
Adding a trunk
Click the Location field drop-down and select the first available location (e.g. dal1).
Click the Zones field drop-down and select the appropriate zone (e.g. default).
Click the Switch IP field drop-down and select Switch IP.
Enter the value 3 in the Failover field.
Click the Add Trunk button.
Repeat steps 13 -21 using sip2.pstnhub.microsoft.com in the IP Address field and 2 in the Failover field. All other fields remain the same.
Repeat steps 13 -21 using sip.pstnhub.microsoft.com in the IP Address field and 1 in the Failover field. All other fields remain the same.
Verify or set the Hunting distribution to Failover.
Verify the Status of the trunks is set to enabled.
...
The Microsoft SIP Proxy FQDNs and IP addresses used SIP signaling (and related firewall information) with Microsoft Teams Direct Routing are defined in this section of the Microsoft documentation.
Go to the Tree View in the left panel and click Relationships if the menu is collapsed. If the Tree View is expanded, click All.
Select the Customer Relationship you created in Step 1.
Select the Trunk Groups menu tab (next to the Relationship Info menu).
Click the + Add Group button in the top right window.
Enter an appropriate name for the Trunk Group in the Name field. For example, From Teams.
Select Termination on the drop-down menu in the Direction field.
Select Customer on the drop-down menu in the Relationship field.
Set the Max PDD to 10 seconds or another appropriate value.
Set the STIR/SHAKEN Treatment to No Treatment.
Verify the ANI Normalization and Normalize sipcodes attributes are enabled.
Click Create.
...
Click Trunks in the top center of the window.
Verify the Trunk type is set to IP.
In the IP Address field, enter 52.112.0.0.
In the Port field, enter 1. This field identifies the source port that the Microsoft SIP Proxy will be using. Since TCP/TLS connections use random ephemeral ports as the source port, the value of 1 represents any source port.
In the Protocol field, select TLS 1.2 on the drop-down menu.
From the Location field drop-down, select the first available location (e.g. dal1).
From the Zones field drop-down, select the appropriate zone (e.g. default).
From the Switch IP field drop-down, select the Switch IP.
Click the Add Trunk button.
Repeat steps 13 - 20 using 52.120.0.0 in the IP Address field.
Verify the Status of the trunks is set to enabled.
Repeat steps 13 - 22 for every other SBC location (e.g. ash1) in the Location field.
Info |
---|
Note The Peeredge Switch SBC considers the 52.112.0.0 and the 52.120.0.0 subnets as having a /14 prefix. |
...
If the TLS connectivity status shows Active, then the Microsoft SIP Proxy has successfully established a TLS connection to the Peeredge SBC.
If the TLS connectivity status shows Inactive, then the Microsoft SIP Proxy cannot establish a TLS connection to the Peeredge SBC.
Verify the FQDN spelling is correct.
Verity the FQDN is resolvable by a Public DNS server , and the IP address is correct.
...
At this point, the best option is to contact 46 LABS support to help troubleshoot why the TLS handshake is failing.
SIP 401 Unauthorized Response from the Peeredge SBC
...
The Peeredge SBC uses the Termination Customer and Origination Vendor Trunk Groups to verify the source of all inbound SIP messages. Specific to a Microsoft Teams deployment, the Termination Customer Trunk Group must have the 52.112.0.0 and the 52.120.0.0 entries configured for Port 1 and the TLS 1.2 Protocol for each SBC.
...