Anchor | ||||
---|---|---|---|---|
|
Microsoft Teams Implementation Guide
Anchor | ||||
---|---|---|---|---|
|
...
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 that are not already created and verified.
...
To learn more about SBC certificates, refer to this Microsoft documentation.
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 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 | ||||
---|---|---|---|---|
|
...
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.
...
Anchor | ||||
---|---|---|---|---|
|
5. Add a
...
dial plan and assign to a user
A dial plan is a named set of normalization rules that translate dialed phone numbers by an individual user into an alternate format (typically E.164) for purposes of call authorization and voice routing.
A dial plan consists of one or more normalization rules that define how phone numbers expressed in various formats are translated to an alternate format. The same dial string may be interpreted and translated differently in different dial plans, so depending . Depending on which dial plan is assigned to a given user, the same dialed number may be translated and routed differently.
The example below will show 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 you your dial plan field.
Add an appropriate description (Tenant User Dial plan for US-based users).
Add an External dialing prefix (8). Legacy PBX were was often configured with 8 or 9 as an external dialing prefix to route the call to in an external line.
Set Optimized device dialing to on 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 the Save button.
Repeat steps 7 – 14 for any additional Normalization rules.
Click the Save button.
Assign the Dial Plan to a user.
Go to Voice -> Dial plans.
Highlight the Dial plan you want to assign.
Click the Assign button.
Search for the user to assign the Dial plan do and click the Add button.
Click the Apply button.
Related PowerShell commands
To view the Tenant Dial plans, use the Get-CsTenantDialPlan command.
To view a specific Normalization Rule in the Tenant Dial plan, use the (Get-CsTenantDialPlan "dial plan name").NormalizationRules[X] command (where X is the rule number).
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.
A SIP Trunk is a connection between a specific Peeredge SBC and a single SIP-enabled device. This device can be a PBX, an SBC, or any SIP-enabled gateway.
A Trunk Group is a group of one or more SIP Trunks with shared attributes and used for the same purpose. For example, a Termination Vendor SIP Trunk would be used to route outbound PSTN calls to several different SBCs belonging to the same vendor. Peeredge SBC Trunk Groups are unidirectional, and each . Each Trunk Group has a Direction attribute and a Relationship attribute. The Direction direction can be either Termination or Origination, and the Relationship can be either Customer or Vendor. This means there are four (4) possible Trunk Group types.
An Origination Customer Trunk Group is a Trunk Group trunk group from the Peeredge SBC to one or more Customer PBXs or SBCs. The purpose of this Trunk Group trunk group is to provide one or more communication paths (trunks) to reach the Microsoft SIP Proxy service.
An Origination Vendor Trunk Group is a Trunk Group trunk group from a Vendor to the Peeredge SBC. The purpose of this Trunk Group trunk group is to provide one or more communication paths (trunks) to reach a PSTN Provider, or Customer devices (Analog Gateways, other PBX systems, etc.)
A Termination Customer Trunk Group is a Trunk Group trunk group from a Customer PBX or SBC. The purpose of this Trunk Group trunk group is to authenticate the source IP Address of incoming SIP messages. Typically, the authentication is based on a specific IP Address, Source Port, and Protocol (UDP/TCP/TLS) or based on a SIP Registration. Specific to a Microsoft Teams deployments, any IP Address 52.112.0.0/14 and 52.120.0.0/14 can be used.
A Termination Vendor Trunk Group is a Trunk Group trunk group to Vendor (PSTN Provider or External Customer).
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.
A Route Plan contains the routing rules that indicate where the customers' traffic should go. Route plans are as assigned to Terminating Customer and Originating Customer Trunk Groups. Route Plans can not cannot be assigned to Terminating Vendor and Origination Vendor Trunk Groups.
A Rate deck is a simple table that shows a call destination and cost to complete. Rate decks can be assigned to any type of Trunk Grouptrunk group. There are five types of Rate rate decks.
A Prefix Jurisdiction (NPANXX) Rate Deck | |
A DID Rate Deck | |
A Toll-Free Rate Deck | |
A Dialed Rate Deck | |
An EEA Rate Deck |
For US-Based Customers
...
An Origination Customer Trunk Group is typically assigned a US & Canada DID rate deck and a US & Canada Toll-Free rate deck.
A Terminating Customer Trunk Group is typically assigned a US & Canada Prefix Jurisdiction (NPANXX) rate deck, a US & Canada Toll-Free rate deck, and an International Dialed rate deck.
An Origination Vendor Trunk Group is typically assigned a US & Canada DID rate deck and a US & Canada Toll-Free rate deck.
A Terminating Vendor Trunk Group is typically assigned a US & Canada Prefix Jurisdiction (NPANXX) rate deck, a US & Canada Toll-Free rate deck?? and an International Dialed rate deck.
Rate Decks decks can be implemented at the Relationship Level or Globally.
The examples in this document will show how to implement them rate decks at the Relationship Level.
Anchor | ||||
---|---|---|---|---|
|
Configuring the Peeredge SBC
This section describes the minimum configuration requirements to configure a Peeredge SBC to interconnect with the Microsoft Teams Direct Routing Interface.
The high-level steps for configuring the Peeredge SBC include:
Step 1. Create a Customer Relationship
Step 2. Create a Vendor (PSTN Provider) Relationship
Step 3. Create an Origination Customer Trunk Group
Step 4. Create a Termination Customer Trunk Group
Step 5. Create an Origination Vendor Trunk Group
Step 6. Create a Termination Vendor Trunk Group
Step 7. Create and assign Origination Customer Rate Decks
Step 8. Create and assign Termination Customer Rate Decks
Step 9. Create and assign Origination Vendor Rate Decks
Step 10. Create and assign Termination Vendor Rate Decks
Step 11. Create and assign an Origination Customer Routeplan
Step 12. Create and assign a Termination Customer Routeplan
...
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.
If the Relationships menu is collapsed, click on Relationships from the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships
Select the Customer Relationship you created in Step 1
Select the Trunk Groups menu (next to the Relationship Info menu)
Select the + Add Group button in the upper right window
Enter an appropriate name for the Trunk Group in the Name field. For example, From Teams
Select Termination from the drop-down selector in the Direction field
Select Customer from the drop-down selector 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.
...