Anchor | ||||
---|---|---|---|---|
|
Microsoft Teams Implementation Guide
Anchor | ||||
---|---|---|---|---|
|
Overview
This implementation guide describes how service providers can configure an interconnection between the Microsoft Phone System Direct Routing Interface and 46 LABS' Peeredge Session Border Controllers (SBCs). Microsoft documentation describes many configuration requirements specific to the Microsoft Teams environment. This implementation guide includes references to that documentation where appropriate.
...
Version | Description of Changes | Date Revised |
1.0 | Initial version | 8/24/2022 |
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Table of Contents
Page Tree | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Info |
---|
Note Additional information on the Microsoft 365 site can be found here. |
Anchor | ||||
---|---|---|---|---|
|
Prerequisites
Before starting the implementation, make sure you have access to an active instance of the Peeredge SBC. The 46 LABS team can deploy the Peeredge SBC to the client's preferred environment (i.e. 46 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 | ||||
---|---|---|---|---|
|
...
For more information about Microsoft licensing requirements, click here.
Anchor | ||||
---|---|---|---|---|
|
Domain Name Server (DNS) Requirements
...
Public IP Address
Fully Qualified Domain Name (FQDN)
Public DNS entry
Anchor | ||||
---|---|---|---|---|
|
SBC Domain Names
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 that are not already created and verified.
...
Table note The IPs and domain names in this document are used as examples.
Anchor | ||||
---|---|---|---|---|
|
Public Trusted Certificate for the Peeredge SBC
...
To learn more about SBC certificates, refer to this Microsoft documentation.
Anchor | ||||
---|---|---|---|---|
|
Configuring Microsoft 365 Tenant for Direct Routing
...
Info |
---|
Note The Microsoft Teams PowerShell Module is not supported by PowerShell Core. |
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:
...
To delete an existing SBC, use the Remove-CsOnlinePSTNGateway command.
...
Anchor | ||||
---|---|---|---|---|
|
2. Enable users for Direct Routing, voice, and voicemail
...
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.
...
After Phone Number Assignment
...
Anchor | ||||
---|---|---|---|---|
|
3. Configure call routing
Call routing is made up of 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 | ||||
---|---|---|---|---|
|
Create the PTSN usages
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.
...
Use the Get-CSOnlinePSTNUsage command to view the PSTN Usages.
...
Anchor | ||||
---|---|---|---|---|
|
Create the voice routes
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.
...
To view the existing voice routes, use the Get-CsOnlineVoiceRoute command.
...
Anchor | ||||
---|---|---|---|---|
|
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.
...
To view a list of existing voice routing policies, use the Get-CsOnlineVoiceRoutingPolicy command.
...
Anchor | ||||
---|---|---|---|---|
|
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.
...
Remove-CsOnlineVoiceRoutingPolicy -Identity "User's UPN or SIP Address" -PolicyName "policy name"
Anchor | ||||
---|---|---|---|---|
|
4. Translate number to an alternate format
...
These policies are applied at the SBC level. You can assign multiple translation rules to an SBC, which are applied in the order they appear in your PowerShell list. You can also change the order of the rules in the policy. There is no specific requirement to configure Number Translation Rules to interoperate with the Peeredge SBC. Consult Microsoft online documentation if your business requires the use of Number Translation Rules.
Anchor | ||||
---|---|---|---|---|
|
5. Add a dial plan and assign to a user
...
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.
...
To view a User's Effective (the service-scoped and the tenant-scoped) Dial plan, use the Get-CsEffectiveTenantDialPlan command.
Info |
---|
Note The US service-scoped dial plan includes a translation of 988 to the national US Suicide Provention Hotline +18002738255. |
...
Anchor | ||||
---|---|---|---|---|
|
Peeredge SBC Terminology
A Relationship is a top-level container used to group related items. Related items include Trunk Groups, Capacity Groups, Rate decks, Route plans, Balances, Invoices, Agents, Triggers, and E911-related configurations. There is typically one Relationship for each Customer and one Relationship for each Vendor.
...
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 on All.
Select the Customer Relationship you created in Step 1.
Select the Trunk Groups menu (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 the Create button.
...