Friday 12 October 2018

Direct Routing with Microsoft Teams

From Microsoft Ignite 2018, the call routing algorithm used by Microsoft Teams that permits coexistence of Calling Plans and Direct Routing within the same tenant. This is especially useful for global migration to Teams in which some regions may not have calling plan availability. 

In most cases however, calling plans will prove an expensive option as each user enabled for Teams Phone System must also have a Calling Plan subscription if they intend to route PSTN calls via Microsoft. It’s a 1-1 mapping of users to licenses although all minutes, both national and international, are pooled across the tenant. 

For all but the smallest organisations Direct Routing will be the better commercial decision permitting businesses to scale their voice channels against the current / projected busy hour usage. This is typically a 1-10 mapping of channels to users and with a SIP provider that offers bundled minutes it’s around four times lower monthly cost than Microsoft Calling plans.

For some organisations Direct Routing can be consumed from a carrier directly without need for on premise infrastructure and “as a service.” For others, Direct Routing offers an opportunity to integrate with existing on premise systems to facilitate a phased migration rather than direct cutover or for permanent coexistence with existing on premise communication services.

To evaluate the benefits of Teams PSTN calling in a small POC type project it's simple to add Direct Routing to an existing O365 tenant and on premise SBC. The steps below outline the process for the Office 365 side.

Initiate a PowerShell session and connect to the MSOL Service.
Step 1:  Pair SBC to O365
New-CsOnlinePSTNGateway -FQDN GW1.contoso.com -SipSignalingPort 5061 MaxConcurrentSessions 10 -Enabled $true

(Configure –Enabled $false to drain the gateway for maintenance and conclusion of POC. This will prevent new active calls from being routed to this gateway.)

Step 2: Add a new PSTN Usage
Set-CsOnlinePSTNUsage -Identity Global -Usage @{Add=”UK”}

Step 3: Create a Voice Route
New-CsOnlineVoiceRoute -Identity “UK” -NumberPattern “^\+\d+” -OnlinePSTNGatewayList GW1.contoso.com -OnlinePstnUsages “UK

Step 4: Create Voice Routing Policy
New-CsOnlineVoiceRoutingPolicy “UK” -OnlinePstnUsages “UK”

Step 5: Assign Voice Routing Policy to Test User
Grant-CsOnlineVoiceRoutingPolicy -Identity “test.user” -PolicyName “UK”

Step 6: Enable Test User for Teams Phone System and Azure Voicemail
Set-CsUser -Identity test.user@contoso.com -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+4412345678

Once complete log in as the test user and check Teams now shows the calls icon within the sidebar of the client. 

The SBC side of the configuration will vary depending upon the vendor. All leading manufacturers maintain detailed guides on their websites but be aware of the guidance below:

DNS
  • Ensure the SBC can resolve Sip.pstnhub.microsoft.com – global primary Azure DC, Sip2.pstnhub.microsoft.com – Secondary Azure DC priority region, Sip3.pstnhub.microsoft.com – Tertiary Azure DC priority region.
  • Create a Public DNS A record for the Direct Routing Trunk FQDN and public IP.

Certificates
  • SIP Trunks for Teams must use secure TLS so a new public certificate may be required for the SBC with the FQDN of the SBC.
  • Deploy the Cyber Baltimore Trusted Root Certificate for Microsoft Phone System to the SBC. Make sure to add sip-all.pstnhub.microsoft.com to the Federated IP/FQDN list.

No comments:

Post a Comment