Microsoft Teams Implementation Guide v1.0

 









Microsoft Teams Implementation Guide





Overview


This implementation guide describes how service providers can configure an interconnection between the Microsoft Phone System Direct Routing Interface and 46 Labs' Peeredge Orchestrator. 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 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 offers several features typically not found in traditional SBCs.

Earlier versions of our documentation referred to the 46 Labs SBC application as the Peeredge Switch. The Customer’s Peeredge Portal User Interface uses terminology such as Switch Location or Switch IP. These are references to the Peeredge SBC Location and IP Addresses.

Revision History

Version

Description of Changes

Date Revised

1.0

Initial version

8/24/2022













Table of Contents


About Microsoft Teams Direct Routing

Microsoft Teams Direct Routing allows the Peeredge SBC to connect to the Microsoft Phone System. After completing the instructions detailed in this document, Direct Routing enables you to:

  • Use virtually any PSTN Provider with Microsoft Phone System (including 46 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.

Note Additional information on the Microsoft 365 site can be found here.

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.

Microsoft 365 Tenant Requirements

Direct Routing requires a custom domain for each Office 365 tenant. For more information, click here.

Licensing Requirements

Direct Routing users must be assigned the following licenses in their Office 365 tenant:

  • Skype for Business Online (Plan 2)

  • Microsoft Phone System

These licenses are in an Office 365 E5. The Office 365 E3 license includes the Skype for Business Online (Plan 2) license, but a Microsoft Phone System add-on license must be assigned to each user with an Office 365 E3 license.

  • For more information about Microsoft licensing requirements, click here.

Domain Name Server (DNS) Requirements

DNS records for domains that resolve to your SBC must be created by your DNS Administrator. The following information will be necessary for any SBC you want to pair:

  • Public IP Address

  • Fully Qualified Domain Name (FQDN)

  • Public DNS entry

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 not already created and verified.

  • For more information about Microsoft SBC domain names, click here.

 

 

Domain Name

Usable for SBC FQDN?

FQDN Example Names

46ldev.com

Yes

Valid

  • dal-sbc1.46ldev.com

voice46.com

Yes

Valid

  • sbc1.voice46.com, loc1.voice46.com, asia.voice46.com

Non-valid

  • sbc1.asia.voice46.org

asia.voice46.com

Yes

Valid

  • sbc1.asia.voice46.org

*.onmicrosoft.com

No

*.onmicrosoft.com is not supported

  • Table note The IPs and domain names in this document are examples.

Public Trusted Certificate for the Peeredge SBC

The Peeredge SBC must have a public trust certificate when establishing a TLS connection between the Microsoft Teams SIP Proxy and the SBC. The certificate needs to have the SBC's FQDN in the subject, common name, or subject alternate name fields.

By design, the SBC Provisioning Portal does not include Certificate Management Functions. If the SBCs are deployed in the 46 Labs cloud, 46 Labs sets up and manages a Let's Encrypt certificate. If the Peeredge SBC is deployed outside the 46 Labs cloud or the client wants the SBC Certificate to be signed by a specific root Certificate Authority (CA), contact 46 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 Labs.

Configuring Microsoft 365 Tenant for Direct Routing

To configure the Microsoft 365 Tenant for a Peeredge SBC-Direct Routing connection, complete five high-level steps:

  1. Connect the SBC with the Phone System and validate the connection.

  2. Enable users for Direct Routing, voice, and voicemail.

  3. Configure call routing.

  4. Translate number to an alternate format (optional).

  5. Add a Dial Plan and assign it to a user.


Admins can complete some of these steps via the Microsoft Teams admin center. Admins can complete all configuration steps via PowerShell. This document provides examples of both methods. To use the PowerShell commands, you must install the Microsoft Teams PowerShell Module from the Windows PowerShell prompt and then sign in with your Azure credentials using the Connect-MicrosoftTeams command.

Note The Microsoft Teams PowerShell Module is not supported by PowerShell Core.

1. Connect the SBC with phone system and validate connection

Using the Microsoft Teams admin center

To add the Peeredge SBC to Direct Routing:

  1. Locate Voice in the Microsoft Teams Admin Center.

  2. Go to the Direct Routing page.

  3. Click Add under the SBC tab.

The SBC FQDN entered in the Add an FQDN for the SBC field must be an exact match with the SBC Certificate's Common Name (CN) or be included in the Subject Alternative Name (SAN). We recommend using 5061 as the SIP signaling port and enabling the Send SIP options, Forward call history, and Ring phone while trying to find the user. You may need to enable other settings based on your specific business requirements. If you plan to enable location-based routing or Bypass mode, we recommend that you fully test the SBC integration with these features disabled first.

Note The TLS connectivity status is Inactive and the SIP Options status is Warning until you configure the Peeredge SBC Origination Customer SIP Trunk Group. If you are want to see the status of these columns change to Active, jump ahead and complete Step 1 and Step 3 in the Peeredge SBC configuration section.


Using Windows PowerShell

To add a new Direct Routing SBC, use the New-CsOnlinePSTNGateway command. If you fail to include a mandatory parameter, the cmdlet prompts you to provide it, as in the example below.

 

  • To view the configuration of the existing SBCs, use the Get-CsOnlinePSTNGateway command.

 

  • To change the configuration of an existing SBC, use the Set-CsOnlinePSTNGateway command.

 

  • To delete an existing SBC, use the Remove-CsOnlinePSTNGateway command.

2. Enable users for Direct Routing, voice, and voicemail

To enable a Direct Routing user, the admin must:

  • make sure the user exists in your Microsoft 365 Tenant, and

  • assign the Skype for Business Online (Plan 2) and Microsoft Phone System licenses.

There are two options for adding a new user to Microsoft 365:


Must be configured for Teams Only mode

This requirement applies to Tenants that are still using Skype for Business. Direct Routing requires that the user's Coexistence mode be set to Teams Only. This setting ensures incoming calls land in the Teams client. See Upgrade strategies if this situation applies to your organization.

Must be homed online, enabled for enterprise voice, and assigned a phone number

Using the Microsoft Teams admin center:

  1. Go to Users -> Manage users.

  2. Select a user.

  3. Under Account General information, select Edit.

  4. Under Assign phone number, click the Phone number type drop-down menu and select Direct Routing.

  5. Enter an assigned phone number and a phone number extension, if applicable.

  6. Click Apply.

Using Windows PowerShell

If you are managing the user's phone number on-premises, make sure the user is Enterprise Voice enabled online by entering the following command:

  • Set-CsPhoneNumberAssignment -Identity "<User name>" -EnterpriseVoiceEnabled $true


If you are managing the user's phone number online, assign the phone number to the user by entering the following command in Teams PowerShell. The user is automatically Enterprise Voice enabled by the command:

  • Set-CsPhoneNumberAssignment -Identity "<User name>" -PhoneNumber <phone number> -PhoneNumberType DirectRouting


Before phone number assignment

After phone number assignment

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 pattern include:

  • 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.

 

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:

  1. Go to Voice -> Direct Routing.

  2. Select Manage PSTN usage records in the top right corner of the page.

  3. Click + Add and enter the name of the PSTN usage record.

  4. Repeat step 3 to add more records.

  5. Click Apply to finish.

Using Windows PowerShell

Use the following command to create a PSTN Usage:

  • Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="US and Canada"}


Use the Get-CSOnlinePSTNUsage command to view the PSTN Usages.

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:

  1. Go to Voice -> Direct Routing.

  2. Click the Voice routes button.

  3. Click the Add button.

  4. Add the name Non-Emergency Test in the voice route in the Add a name for your voice route field.

  5. Make sure the Priority is 1.

  6. Make sure the Dialed number pattern is ^933$.

  7. Click the Add SBCs button and select your Peeredge SBCs and then click Apply.

  8. Click the ADD PSTN usage button and select the US-Emergency PSTN Usage and then click Apply.

  9. Click Save.

  10. 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.



Using Windows PowerShell

New-CsOnlineVoiceRoute -Identity "voice route name" -NumberPattern "regex pattern" -OnlinePstnGatewayList sbc1-fqdn, sbc2-fqdn -Priority 1 -OnlinePstnUsages "PSTN Usage."

To edit an existing voice route, use the Set-CsOnlineVoiceRoute command:

  • Set-CsOnlineVoiceRoute -id "voice route name" -NumberPattern "regex pattern" -OnlinePstnGatewayList sbc1-fqdn

To remove an existing voice route, use the Remove- CsOnlineVoiceRoute command:

  • Remove- CsOnlineVoiceRoute -Identity "voice route name"


To view the existing voice routes, use the Get-CsOnlineVoiceRoute command.

Create the voice routing policy

Using the Microsoft Teams admin center:

  1. Go to Voice -> Voice routing policies.

  2. Click the + Add button.

  3. Add the policy name in the Add a name for your voice routing policy field.

  4. Add an appropriate description.

  5. Add one or more PSTN usages.

  6. Click Save.

  7. Repeat steps 2 – 6 for each voice routing policy.

Using Windows PowerShell

To create a new voice routing policy, use the New-CsOnlineVoiceRoutingPolicy command.

  • New-CsOnlineVoiceRoutingPolicy "policy name" -OnlinePstnUsages "PSTN Usage"


To edit an existing voice routing policy, use the Set-CsOnlineVoiceRoutingPolicy command:

  • Set-CsOnlineVoiceRoutingPolicy -Identity "policy name" -OnlinePstnUsages @{Add|Remove="PSTN Usage"}

To delete an existing voice route policy, use the Remove-CsOnlineVoiceRoutingPolicy "policy name" command.


To view a list of existing voice routing policies, use the Get-CsOnlineVoiceRoutingPolicy command.

Assign the voice routing policy to a user

Using the Microsoft Teams admin center:

  1. Go to Voice -> Voice routing policies.

  2. Highlight the voice policy you want to assign.

  3. Click the Assign button.

  4. In the Manage user search box, search for the user and click add when found.

  5. Click Apply.


Using Windows PowerShell

To assign a voice routing policy to a user, use the Grant-CsOnlineVoiceRoutingPolicy command:

  • Grant-CsOnlineVoiceRoutingPolicy -Identity "User's UPN or SIP Address" -PolicyName "policy name"


To remove a voice routing policy for a user, use the Remove-CsOnlineVoiceRoutingPolicy command:

  • Remove-CsOnlineVoiceRoutingPolicy -Identity "User's UPN or SIP Address" -PolicyName "policy name"

4. Translate number to an alternate format

Based on your unique business requirements, you may want to change the number for outbound and/or inbound calls based on the patterns they created to ensure interoperability with Session Border Controllers (SBCs).

You can use the Number Translation Rules policy to translate numbers for the following:

Inbound calls

  • Calls from a PSTN endpoint (caller) to a Teams client (callee).

Outbound calls

  • Calls from a Teams client (caller) to a PSTN endpoint (callee).

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.

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.

The normalization rules define how phone numbers are expressed in various formats and translated to an alternate format. The same dial string may be interpreted and translated differently in different dial plans. Depending on which dial plan is assigned to a given user, the same dialed number may be translated and routed differently.

The example below shows how to add a typical US dial plan.

Using the Microsoft Teams admin center:

  1. Go to Voice -> Dial plans.

  2. Click the +Add button to add a Tenant dial plan.

  3. Add the dial plan name (US DP) in the Add a name for your dial plan field.

  4. Add an appropriate description (Tenant User Dial plan for US-based users).

  5. 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.

  6. Set Optimized device dialing to ON if you configured an External dialing prefix.

  7. Click the Add button under Normalization rules to open the Add new rule pane.

  8. Enter a rule name (Non-Emergency Test Call) in the Name field.

  9. Add an appropriate description.

  10. Select an appropriate Rule creation mode (Advanced).

  11. Enter a dial pattern to match (^(911)$) in the If condition.

  12. Enter the translation/number manipulation ($1) in the Then do this field.

  13. 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."

  14. Click Save.

  15. Repeat steps 7 – 14 to add Normalization rules.

  16. Click Save.

Assign the Dial plan to a user

  1. Go to Voice -> Dial plans.

  2. Highlight the Dial plan you want to assign.

  3. Click Assign.

  4. Search for the user.

  5. Click the Add button.

  6. Click Apply.


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.


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. Each Trunk Group has a Direction attribute and a Relationship attribute. The 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 from the Peeredge SBC to one or more Customer PBXs or SBCs. The purpose of this 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 from a Vendor to the Peeredge SBC. The purpose of this 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 from a Customer PBX or SBC. The purpose of this 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 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 assigned to Terminating Customer and Originating Customer Trunk Groups. Route Plans cannot be assigned to Terminating Vendor and Origination Vendor Trunk Groups.

A Rate deck is a table that shows a call destination and cost to complete. Rate decks can be assigned to any type of trunk group. There are five types of 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 can be implemented at the Relationship Level or Globally.

The examples in this document show how to implement rate decks at the Relationship Level.

Configuring the Peeredge SBC

This section describes the minimum requirements needed to configure a Peeredge SBC interconnection 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

Step 1. Create a Customer Relationship

  1. Login to your Peeredge SBC Portal.

  2. 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.

  3. Click the + Add Relationship button in the top right.

  4. Add the Customer (or meaningful) name in the Relationship Name field.

  5. Leave the Send trunk group notification checked.

  6. Fill in the optional fields.

  7. Add a company logo (optional).

  8. When complete, click the Add Relationship button.

9. Scroll through the Relationships list and click the new Relationship name.

10. Go to the Relationship Contacts section of the Relationship Info page and click + Add Contact.

11. Under Contact Type, select NOC (Network Operations Center).

12. Add a contact name and email address.

13. Add the contacts' primary phone number. (optional)

14. Click the Add Contact button.



Video Demo

Step 2. Create a Vendor Relationship

To create a Vendor Relationship for each vendor (PSTN provider or external customer), follow steps 1 through 7 from Step 1 above (Create a Customer Relationship).

Step 3. Create an Origination Customer Trunk Group

  1. 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.

  2. Select the Customer Relationship you created in Step 1.

  3. Click the Trunk Groups menu tab (next to the Relationship Info menu).

  4. Click the + Add Group button in the top right corner.

  5. Enter an appropriate name for the Trunk Group in the Name field. For example, To Teams.

  6. Select Origination on the drop-down menu in the Direction field,

  7. Select Customer on the drop-down menu in the Relationship field.

  8. Set the Max PDD to 10 seconds (or another appropriate value).

  9. Set the B-Timer to 4 seconds (or another appropriate value).

  10. Enable these options: Send E.164, Send PAI, Trunk Monitoring, Preserve Caller ID, Ignore Privacy Header, and Early Media.

  11. Click Create.

Setting ports and protocols

Now that you have created the Trunk Group and filled in the fields on the Trunk Group Info page:

  1. 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.

  2. Verify the Trunk type is set to IP.

  3. In the IP Address field, enter the MS Team SIP Proxy FQDN sip3.pstnhub.microsoft.com.

  4. In the Port field, enter 5061.

  5. In the Protocol field, select TLS 1.2 on the drop-down menu.

6. Click the Location field drop-down and select the first available location (e.g. dal1).

7. Click the Zones field drop-down and select the appropriate zone (e.g. default).

8. Click the Switch IP field drop-down and select Switch IP.

9. Enter the value 3 in the Failover field.

10. Click the Add Trunk button.

11. Repeat steps 2-10 using sip2.pstnhub.microsoft.com in the IP Address field and 2 in the Failover field. All other fields remain the same.

12. Repeat steps 2-10 using sip.pstnhub.microsoft.com in the IP Address field and 1 in the Failover field. All other fields remain the same.

13. Verify or set the Hunting distribution to Failover.

14. Verify the Status of the trunks is set to enabled.

Media Handling

Trunks are initially displayed in the order they are created, with the newest Trunk displayed on top. Click a column name to sort column data.

  1. Repeat steps 2-14 (above) for every SBC location that you see in the Location field drop-down.

  2. Click Media Handling in the top center of the window.

  3. Enable Anchor media and check Enable Secure RTP.

  4. Click the Save & Close button.

Step 4. Create a Termination Customer Trunk Group

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.

  1. 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.

  2. Select the Customer Relationship you created in Step 1.

  3. Select the Trunk Groups menu tab (next to the Relationship Info menu).

  4. Click the + Add Group button in the top right window.

  5. Enter an appropriate name for the Trunk Group in the Name field. For example, From Teams.

  6. Select Termination on the drop-down menu in the Direction field.

  7. Select Customer on the drop-down menu in the Relationship field.

  8. Set the Max PDD to 10 seconds or another appropriate value.

  9. Set the STIR/SHAKEN Treatment to No Treatment.

  10. Verify the ANI Normalization and Normalize sipcodes attributes are enabled.

  11. Click Create.

Adding a trunk

Now that you have created the Trunk Group and filled in the fields on the Trunk Group Info page:

  1. Click Trunks in the top center of the window.

  2. Verify the Trunk type is set to IP.

  3. In the IP Address field, enter 52.112.0.0.

  4. 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.

  5. In the Protocol field, select TLS 1.2 on the drop-down menu.

  6. From the Location field drop-down, select the first available location (e.g. dal1).

  7. From the Zones field drop-down, select the appropriate zone (e.g. default).

  8. From the Switch IP field drop-down, select the Switch IP.

  9. Click the Add Trunk button.

  10. Repeat steps 2-9 using 52.120.0.0 in the IP Address field.

  11. Verify the Status of the trunks is set to enabled.

  12. Repeat steps 2-11 for every other SBC location (e.g. ash1) in the Location field.

 

 

Media Handling

Now that you have completed the Trunk page:

  1. Click Media Handling in the top center of the window.

  2. Enable Anchor media and check Enable Secure RTP.

  3. Click the Save & Close button.

Step 5. Create an Origination Vendor Trunk Group

If the Relationships menu is collapsed, click Relationships from the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships

  1. Select the Vendor Relationship you created in Step 2.

  2. Select the Trunk Groups menu tab (next to the Relationship Info menu).

  3. Select the + Add Group button in the upper right window.

  4. Enter an appropriate name for the Trunk Group in the Name field. For example, From PSTN.

  5. Select Origination from the drop-down selector in the Direction field.

  6. Select Vendor from the drop-down selector in the Relationship field.

  7. Set the Max PDD to 10 seconds or another appropriate value.

  8. Set the STIR/SHAKEN Treatment to No Treatment.

  9. Verify Caller ID override type is set to Off.

  10. Verify the ANI Normalization attribute is enabled.

  11. Click Create.

Adding a trunk

Now that you have created the Trunk Group and filled out the Trunk Group Info page, move to the Trunks page:

  1. Click Trunks in the top center of the window.

  2. Verify the Trunk type is set to IP.

  3. In the IP Address field, enter the vendor's SBC IP address.

  4. In the Port field, enter the vendor's SBC IP Port.

  5. In the Protocol field, select the appropriate protocol from the drop-down menu.

  6. From the Location field drop-down, select the first available location (e.g. dal1).

  7. From the Zones field drop-down, select the appropriate zone (e.g. default).

  8. From the Switch IP field drop-down, select the Switch IP.

  9. Click the Add Trunk button.

  10. Repeat steps 2-9 to add a trunk for each of the vendor's SBCs

  11. Repeat steps 2-10 for every other SBC deployed location (e.g. ash1) shown in the Location drop-down menu.

Media Handling

Now that you have completed the Trunk page, move to the Media Handling page:

  1. Click Media Handling in the upper center of the window.

  2. Enable Anchor media. If the Protocol was TLS 1.2 then also check Enable Secure RTP

  3. Click the Save & Close button.

Step 6. Create a Termination Vendor Trunk Group

  1. 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

  2. Select the Vendor Relationship you created in Step 2.

  3. Select the Trunk Groups menu tab (next to the Relationship Info menu).

  4. Select the + Add Group button in the upper right window.

  5. Enter an appropriate name for the Trunk Group in the Name field. For example, To PSTN.

  6. Select Termination from the drop-down selector in the Direction field.

  7. Select Vendor from the drop-down selector in the Relationship field.

  8. Set the Max PDD to 10 seconds or another appropriate value.

  9. Set the B-Timer to 4 seconds or another appropriate value.

  10. Enable the Send E.164, Send PAI, Preserve Caller ID, Ignore Privacy Header, and Early Media options.

  11. Click the Create button.

Adding a trunk

Now that you have created the Trunk Group and filled out the Trunk Group Info page, move to the Trunks page:

  1. Click Trunks in the upper center of the window.

  2. Verify the Trunk type is set to IP.

  3. In the IP Address field, enter the vendor's SBC IP address.

  4. In the Port field, enter the vendor's SBC IP Port.

  5. In the Protocol field, select the appropriate protocol from the drop-down menu.

  6. From the Location field, drop-down select the first available location (e.g. dal1).

  7. From the Zones field drop-down, select the appropriate zone (e.g. default).

  8. From the Switch IP field drop-down, select the Switch IP.

  9. Click the Add Trunk button.

  10. Repeat steps 2-9 to add a trunk for each of the vendor's SBCs.

  11. Repeat steps 2-10 for every other SBC deployed location (e.g. ash1) shown in the Location drop-down menu.

Media Handling

Now that you have completed the Trunk page, move to the Media Handling page:

  1. Click Media Handling in the upper center of the window.

  2. Enable Anchor media. If the Protocol was TLS 1.2, then also check Enable Secure RTP.

  3. Click the Save & Close button.

Step 7. Create and assign Origination Customer Rate Decks

Name (example)

Location

Direction

Relationship

Deck Type

Teams-US-OC-DID

US & Canada

Origination

Customer

DID

Teams-US-OC-TF

US & Canada

Origination

Customer

Toll-Free

  1. If the Relationships menu is collapsed, click Relationships from the Tree View in the left panel to view All existing Relationships. If it is expanded, click All immediately under Relationships

  2. Select the Customer Relationship you created in Step 1.

  3. Select the Rating menu tab.

  4. Click the + Add Rate Deck button in the top right corner.

  5. Enter an appropriate name for the Rate Deck in the Name field. See the above table.

  6. Select the appropriate Location, Direction, Relationship, and Deck Type. See table.

  7. Click the Add Rating button.

  • Once the Rate Deck is added, the window changes to allow you to upload a CSV file. You can download a sample CSV file by selecting Download Sample.

8. Click Upload document or drag a CSV file onto the window.

9. Match the column headers in the CSV file to the appropriate fields.

10. Optionally change the Effective Date or add an Expiration Date for the Rate Deck.

11. Click Save & Upload.

12. Repeat steps 4-12 for the US & Canada Origination Customer Toll-Free Rate Deck.

Assigning rate decks

There are two ways to assign the Rate Decks to the Origination Customer Trunk Group.

  • From the Trunk Groups window in the Customer Relationship, click the vertical ellipsis at the far left of the Origination Customer Trunk Group and then click Assign Rate Deck. Select a rate deck on the drop-down menus and then click Assign.

  • The second method is to click the three dots at the far left of the Rate Deck Name in the Rating window and then click Assign To Trunk Group. Select a rate deck on the drop-down menu and then click Assign.

Step 8. Create and assign Termination Customer Rate Decks

Name (example)

Location

Direction

Relationship

Deck Type

Teams-US-TC-PJ-LRN

US & Canada

Termination

Customer

PJ (NPANXX)

Teams-US-TC-TF

US & Canada

Termination

Customer

Toll-Free

Teams-US-TC-D

US & Canada

Termination

Customer

Dialed

 

  1. If the Relationships menu is collapsed, click Relationships from the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All under Relationships.

  2. Select the Customer Relationship you created in Step 1.

  3. Click the Rating menu tab.

  4. Click the + Add Rate Deck button in the upper right window.

  5. Enter an appropriate name for the Rate Deck in the Name field. See the above table.

  6. Select the appropriate Location, Direction, Relationship, and Deck Type. See table for the Prefix Jurisdiction (NPANXX) Deck Type select LRN for the Rate by field.

  7. Uncheck the Requires Confirmation field.

  8. Click the Add Rating button.

  9. Once you add a Rate Deck, the window changes to allow you to upload a CSV file. You can also download a sample CSV file by selecting Download Sample.

  10. Click Upload document or drag the CSV file onto the window.

  11. Match the column headers in the CSV file to the appropriate fields.

  12. Optionally change the Effective Date or add an Expiration Date for the Rate Deck.

  13. Click Save & Upload.

  14. Repeat steps 4-13 for the other US & Canada Termination Customer Toll-Free Rate Decks.

  15. Use one of the two ways to assign Rate Decks to the Termination Customer Trunk Group.


The Rating table in the Customer Relationship, when finished, should look something like this.


The Trunk Group table in the Customer Relationship, when finished, should look something like this.

Step 9. Create and assign Origination Vendor Rate Decks

Name (example)

Location

Direction

Relationship

Deck Type

Teams-US-OV-DID

US & Canada

Origination

Vendor

DID

Teams-US-OV-TF

US & Canada

Origination

Vendor

Toll-Free

 

  1. If the Relationships menu is collapsed, click Relationships from the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships

  2. Select the Vendor Relationship you created in Step 2.

  3. Click the Rating menu tab.

  4. Select the + Add Rate Deck button in the upper right window.

  5. Enter an appropriate name for the Rate Deck in the Name field. See table.

  6. Select the appropriate Location, Direction, Relationship, and Deck Type. See the above table.

  7. Click the Add Rating button. Once you add a Rate Deck, the window changes to allow you to upload a CSV file. You can also download a sample CSV file by selecting Download Sample.

  8. Click Upload document or drag the CSV file onto the window.

  9. Match the column headers in the CSV file to the appropriate fields.

  10. Optionally change the Effective Date or add an Expiration Date for the Rate Deck.

  11. Click Save & Upload.

  12. Repeat Steps 4-11 for the US & Canada Origination Vendor Toll-Free Rate Deck.

  13. Use one of the two ways to assign Rate Decks to the Origination Vendor Trunk Group.

Step 10. Create and assign Termination Vendor Rate Decks

Name (example)

Location

Direction

Relationship

Deck Type

PTSN-US-TV-PJ-LRN

US & Canada

Termination

Vendor

PJ (NPANXX)

PTSN-INTL-TV-D

US & Canada

Termination

Vendor

Dialed

 

  1. If the Relationships menu is collapsed, click Relationships on the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships

  2. Select the Vendor Relationship you created in Step 2.

  3. Click the Rating menu tab.

  4. Click the + Add Rate Deck button in the top right window.

  5. Enter an appropriate name for the Rate Deck in the Name field. See table.

  6. Select the appropriate Location, Direction, Relationship, and Deck Type. See table. For the Prefix Jurisdiction (NPANXX) Deck Type, select LRN for the Rate by field.

  7. Uncheck the Requires Confirmation field.

  8. Click the Add Rating button. After you add a Rate Deck, the window changes to allow you to upload a CSV file. You can also download a sample CSV file by selecting Download Sample.

  9. Click Upload document or drag the CSV file onto the window.

  10. Match the column headers in the CSV file to the appropriate fields.

  11. Optionally change the Effective Date or add an Expiration Date for the Rate Deck

  12. Click Save & Upload.

  13. Repeat steps 4-12 for the other US & Canada Termination Vendor Dialed Rate Deck.

  14. Use one of the two ways to assign Rate Decks to the Termination Vendor Trunk Group.


The Rating table in the Vendor Relationship, when finished, should look something like this.


The Trunk Group table in the Vendor Relationship, when finished, will be something like this.

 

Step 11. Create and assign an Origination Customer Routeplan

  1. If the Relationships menu is collapsed, click Relationships in the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships

  2. Select the Customer Relationship you created in Step 1.

  3. Click the Routing menu tab.

  4. Click the + Add Routeplan button in the Origination section.

  5. Add an appropriate name in the Routeplan Name field (e.g. To Teams RP).

  6. Click the Create Button.

  7. Select the Numbering Page.

  8. To add one Telephone number at a time, click the + Add Number button.

  9. Enter the e.164 number (less the + symbol) in the Number field.

  10. Select the appropriate Number Type (e.g. DID).

  11. For DID Number, select the Customer Tier (e.g. 1) and the Vendor Tier (e.g. 1).

  12. Click the Add Number button.

Uploading a file

  1. To upload a range of telephone numbers, click the Upload Number button.

  2. You can download a sample CSV file by clicking Download Sample.

  3. Select the appropriate Upload option.

  4. Either drag the CSV file into the drop box or click Upload document to select the CSV file.

  5. Click the Upload button.

Step 12. Create and assign a Termination Customer Routeplan

  1. If the Relationships menu is collapsed, click Relationships on the Tree View in the left panel to view All existing Relationships. If it is expanded, click on All immediately under Relationships

  2. Click the Customer Relationship you created in Step 1.

  3. Click the Routing menu tab.

  4. Click the + Add Routeplan button in the Termination section.

  5. Add an appropriate name in the Routeplan Name field (e.g. To PSTN RP).

  6. Set the Profit Protection to Off.

  7. Click the Create Button.

  8. Select the Routing Rules Page.

  9. Click the + Add Rule button.

  10. Add an appropriate name in the Rule Name field (e.g. Route to PSTN).

  11. In the Vendor Considers section, check the desired Trunk Group from the list.

  12. Click Add Routing Rule.


Troubleshooting

The Dialpad is missing in the Teams client

  • The Dialpad should be visible in the Calls --> Phone window in the Teams Client.


 

  • Check to see if the Teams User is assigned Skype for Business Online (Plan 2) license and the Microsoft Phone System.

  • Check to see if the Teams User has been assigned a Telephone number.

  • Check to see if the Teams User has been assigned a Voice Routing Policy.

TLS Handshake and Certificate Issues

From the Team admin center, select Voice  Direct Routing and verify the SBCs tab is displayed.

 

  • 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 Warning, then the certificate will expire with 30 days. This is typically not an issue with Let’s Encrypt signed certificates as they will auto renew 10 days before the certificate expiration date.

  • 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.

CDR Diagnostic Report


The CDR Diagnostic Report contains call detail records for every call between any Customer Relationship Trunk Group and any Vendor Relationship Trunk Group.

  1. Termination filters All CDRs from Termination Customer Trunk Group (ingress call leg) to a Termination Vendor (egress call leg) (e.g. PSTN Outbound Calls).

  2. CDR Export Download exported CDRs.

  3. Origination filters All CDRs from an Origination Vendor Trunk Group (ingress call leg) to an Origination Customer (egress call leg) (e.g. PSTN Inbound Calls).

  4. Live Calls Display all calls in progress. Optionally, select and kill individual calls.

  5. The Time Filter This drop-down offers several command time frames to filter on.

  6. The Date/Time selector Defines Defines a specific start date and time and end date and time.

  7. All will display CDRs Based on the selected direction (Termination/Origination) and selected dime filters.

  8. Completed Further filter the CDRs to just those with the 2xx Release Code.

  9. Failed Further filter the CDRs to those with a 4xx/5xx/6xx Release Code.

  10. The Table Columns button Select columns to display and arrange display order.

  11. Filter button Refine your filter to specific Customer Trunk Groups, Vendor Trunk Groups, Minimum and Maximum call durations, a specific ANI, Dialed Number, SIP Call ID, or Cause Code.

  12. Displays the CDRs that match the filter criteria. The Search box allows you to further filter on any text string within this set of CDRs.

  13. Export Initiate an export task and create a CSV file containing all CDRs that match your filter criteria. Use the CDR Export to download the CDRs once they are generated.

  14. Lookup LRN/Spam – This button can be used to lookup an LRN associated to a specific DNIS or to check is a specific DNIS is in the Spam database.


If you click the vertical ellipsis to the right of an individual CDR, the portal presents three options.

  1. View the Call Path.

  2. Download a trace file (which can be viewed in Wireshark or an application that can view pcap files.

  3. Download this specific CDR record.



    Below is an example of a Live Call window.