Overview
This article describes the configuration sequence to set up Direct Routing for MS Teams.
Solution
Microsoft Phone System Direct Routing service enables tenants to use their telephony carrier for Public Switched Telephone Network (PSTN) connectivity.
AT&T API Marketplace and Microsoft 365 Admin Center Configuration
To use AT&T API Marketplace as Microsoft Phone System Direct Routing telephony carrier, you must complete the following:
-
Register the AT&T API Marketplace carrier subdomain name in your tenant
-
Enable users for Direct Routing Service
Note: Both of the following procedures require a Global Administrator role and a functional FQDN of the subdomain for your tenant.
Register the AT&T API Marketplace subdomain name in your tenant
Note: The following procedures require a Global Administrator role and a functional FQDN of the subdomain for your tenant. Follow these steps to view the domain.
- Log in to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Select No. of users, then click Confirm order.
- Select the Outbound tab. In the Regional selection section, view the subdomain as Carrier subdomain.
- Example value: k9jnefg5bbv7ugfs.sbc1.cul.kandy.io
Add AT&T API Marketplace subdomain name in your tenant under Microsoft admin center
- Log in to Microsoft 365 admin center, dashboard appears.
- In the Microsoft 365 admin center, under Settings, click Domains, click Add domain.
-
In the Domain name box, type the FQDN of the subdomain for your tenant.
- Example value: k9jnefg5bbv7ugfs.sbc1.cul.kandy.io
- Click Use this domain.
- FQDN should be verified. Select Add a TXT record instead.
- Click Continue, and note the TXT value field generated to verify the domain name.
- Example value: MS=ms90335797
Add domain verification TXT value into AT&T API marketplace portal
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Outbound tab, enter the TXT value copied at step 5 into Carrier subdomain verification box and click Save changes.
Verify subdomain name on Microsoft 365 admin center
-
Return to Microsoft 365 admin center and click Verify.
- On the next page, click More options, select I’ll add the DNS records myself and click Continue.
- On the Add DNS records page, clear all options and click Continue.
- Click Done on the Domain setup is complete page.
- Ensure that the status is Healthy.
Activate the subdomain name
To complete the subdomain registration, create a test user having the FQDN portion of the SIP address matching the created subdomain.
- Example value: test@k9jnefg5bbv7ugfs.sbc1.cul.kandy.io
To achieve this:
- Log in to Microsoft 365 admin center, dashboard appears.
- In the Microsoft 365 admin center, under Users, click Active users.
- Click Add a user, then provide any Username and Display name, select the mapping carrier subdomain as domain field.
- Provide a Password for this user and click Next.
- Assign Office 365 E3 or E5 license to this user, then click Next.
- Click Next on Optional settings, then click Finish adding and Close.
Configure AT&T API Marketplace users and phone numbers in your tenant
Create a user on AT&T API Marketplace
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Users tab, then click Add user.
- Provide user details and click Continue.
- Provide user address and click Continue.
- Verify the user details and click Continue, observe Success and click OK.
- Observe Phone number required status under Teams status for the user.
Buy a number on AT&T API Marketplace
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Phone numbers tab, then click Get phone number.
- Search available phone numbers by providing criteria, then click Search.
- From the results, select the phone numbers and click Get numbers.
- Observe order details and click Confirm order, observe Success and click OK.
Assign a number to a user on AT&T API Marketplace
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Phone numbers tab, select the phone number and click Assign number.
- Search the target user, select the user from search results then click Continue.
- Confirm assignment and click Continue, observe Success and click OK.
Assign package to a user on AT&T API Marketplace
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Users tab, observe Package required status under Teams status for the user.
- Select the user then click Assign package.
- Search the MS Teams Direct Routing Trial package, select the package from results then click Continue.
- Confirm assignment details and click Continue, observe Success and click OK.
- Observe Ready for Teams status under Teams status for the user.
Microsoft Teams PowerShell Configuration
Connect to remote PowerShell
- Ensure that following are installed to your local system:
- Skype for Business Online, Windows PowerShell Module
- The latest supported Visual C++ downloads
- Windows Management Framework 5.1
- Run PowerShell as Administrator.
-
Set execution policy and confirm Execution Policy Change by typing "Y" and pressing enter:
Set-ExecutionPolicy
RemoteSigned
-
(Only required for first time connection) Import SkypeOnlineConnector module:
Import
-Module
SkypeOnlineConnector
-
Create a new session object, which prompts to enter password of provided admin user on the browser window (and if enabled on your tenant, provide Multi-Factor Authentication grant):
$session
=New
-CsOnlineSession
-UserName
"<Admin user name>"
Example:
$session
=New
-CsOnlineSession
-UserName
admin@company.biz
-
Connect remote tenant:
Import
-PSSession
$session
Configure voice routing
You must configure routing mechanism on Microsoft Phone System to enable calls routed to AT&T API Marketplace SBC based on called number pattern. Carrier subdomain is the domain that has been added into your tenant, and carrier subdomain prefix the first part of that FQDN.
Follow these steps:
- Connect to remote PowerShell.
-
Create PSTN usage, enter the command:
Set
-CsOnlinePstnUsage
-Identity
Global
-Usage
@{Add=
"To_ATTAPIMarketplaceSBC_<carrier subdomain prefix>"
}
Example:
Set
-CsOnlinePstnUsage
-Identity
Global
-Usage
@{Add=
"To_ATTAPIMarketplaceSBC_k9jnefg5bbv7ugfs"
}
-
Verify created PSTN usage, enter the command:
Get
-CsOnlinePstnUsage
Returns a list of names:
Identity: Global
Usage: {To_ATTAPIMarketplaceSBC_k9jnefg5bbv7ugfs,...}
-
Create Voice Route, enter the command:
New
-CsOnlineVoiceRoute
-Identity
"To_Gateway_1_<carrier subdomain prefix>"
-NumberPattern
"^\+1(\d{10})$"
-OnlinePstnGatewayList
<carrier subdomain>
-Priority
1
-OnlinePstnUsages
"To_ATTAPIMarketplaceSBC_<carrier subdomain prefix>"
Calls initiated to E.164 formatted continental US phone numbers are routed to AT&T API Marketplace SBC.
Example:
New
-CsOnlineVoiceRoute
-Identity
"To_Gateway_1_k9jnefg5bbv7ugfs"
-NumberPattern
"^\+1(\d{10})$"
-OnlinePstnGatewayList
k9jnefg5bbv7ugfs.sbc1.cul.kandy.io
-Priority
1
-OnlinePstnUsages
"To_ATTAPIMarketplaceSBC_k9jnefg5bbv7ugfs"
If you encounter an error response indicating OnlinePSTNUsage can not be found, wait for 15-30 minutes to get sync is completed and try again.
-
Verify created Voice Route, enter the command:
Get
-CsOnlineVoiceRoute
-Identity
To_Gateway_1_k9jnefg5bbv7ugfs
Returns the object as example:
Identity : To_Gateway_1
Priority : 1
Description :
NumberPattern : ^\+1(\d{10})$
OnlinePstnUsages : {To_ATTAPIMarketplaceSBC_k9jnefg5bbv7ugfs}
OnlinePstnGatewayList : {k9jnefg5bbv7ugfs.sbc1.cul.kandy.io}
Name : To_Gateway_1_k9jnefg5bbv7ugfs
-
Create Voice Routing Policy, enter command:
New
-CsOnlineVoiceRoutingPolicy
"Voice_Route_Policy1_<carrier subdomain prefix>"
-OnlinePstnUsages
"To_ATTAPIMarketplaceSBC_<carrier subdomain prefix>"
Example:
New
-CsOnlineVoiceRoutingPolicy
"Voice_Route_Policy1_k9jnefg5bbv7ugfs"
-OnlinePstnUsages
"To_ATTAPIMarketplaceSBC_k9jnefg5bbv7ugfs"
Enable users for Direct Routing Service
Create a user in Office 365 and assign the license
User creation in Office 365 is out of scope of this document. Please refer to related Office 365 documentation.
The following licenses must be assigned to the user to enable Direct Routing service:
- Office 365 Enterprise E3 (including SfB Plan2, Exchange Plan2, and Teams) + Phone System
- Office 365 Enterprise E5 (including SfB Plan2, Exchange Plan2, Teams, and Phone System)
Ensure that the user is homed in Skype for Business Online
Direct Routing requires the user to be homed in Skype for Business Online. To verify:
- Connect to remote PowerShell.
-
Enter the command:
Get
-CsOnlineUser
-Identity
"<User name>"
|
fl
RegistrarPool
Example:
Get
-CsOnlineUser
-Identity
"john.doe@company.biz"
|
fl
RegistrarPool
- Verify it has a value in the infra.lync.com domain.
- Repeat the procedure for all users required for Direct Routing service.
Configure the phone number and enable enterprise voice and voicemail
Find the phone number assigned to the user on AT&T API Marketplace customer portal:
- Login to AT&T API Marketplace. The Overview page appears.
- Click Resources and select the associated Direct Routing for Microsoft Teams - Order now.
- Click on Users tab.
- Email Address and Phone number columns show the <user name> - <E.164 phone number> mapping.
Example mapping: john.doe@company.biz : +1 201-999-8877
To configure phone number and enable voicemail:
- Connect to remote PowerShell.
-
Enter the command:
Set
-CsUser
-Identity
"<User name>"
-EnterpriseVoiceEnabled
$true
-HostedVoiceMail
$true
-OnPremLineURI
tel:<E.164 phone number>
Example:
Set
-CsUser
-Identity
"john.doe@company.biz"
-OnPremLineURI
tel:+12019998877
-EnterpriseVoiceEnabled
$true
-HostedVoiceMail
$true
Phone number configured in E.164 format.
- Repeat the procedure for all users required for Direct Routing service.
Grant voice routing policy
-
Grant Voice Routing Policy to a user, enter command:
Grant
-CsOnlineVoiceRoutingPolicy
-Identity
"john.doe@company.biz"
-PolicyName
"Voice_Route_Policy1_<carrier subdomain prefix>”
Example:
Grant
-CsOnlineVoiceRoutingPolicy
-Identity
"john.doe@company.biz"
-PolicyName
"Voice_Route_Policy1_k9jnefg5bbv7ugfs”
Repeat the step for all users required for Direct Routing service.
-
Verify Voice Routing Policy granted to a user, enter command:
Get
-CsOnlineUser
"john.doe@company.biz"
|
select
OnlineVoiceRoutingPolicy
Should return:
OnlineVoiceRoutingPolicy
---------------------
Voice_Route_Policy1_k9jnefg5bbv7ugfs
Grant Teams policies
-
Enable calling policy with the Teams user, enter command:
Grant
-CsTeamsCallingPolicy
-PolicyName
Allowcalling
-Identity
"<User name>"
Example:
Grant
-CsTeamsCallingPolicy
-PolicyName
Allowcalling
-Identity
"john.doe@company.biz"
Repeat the step for all users required for Direct Routing service.
-
(Optional) Setting Teams upgrade policy as UpgradeToTeams upgrades users to Teams and prevents chat, calling, and meeting scheduling in Skype for Business. If user does not see dial pad on Teams client even though all the steps above are completed, this command can be used to get sync is completed.
To enable Teams upgrade policy with the Teams user, enter command:
Grant
-CsTeamsUpgradePolicy
-PolicyName
UpgradeToTeams
-Identity
"<User name>"
Example:
Grant
-CsTeamsUpgradePolicy
-PolicyName
UpgradeToTeams
-Identity
"john.doe@company.biz"
Repeat the step for all users required for Direct Routing service.
Alternatively, if it is desired to grant UpgradeToTeams policy for all Teams users under the tenant, following command can be run:
Grant
-CsTeamsUpgradePolicy
-PolicyName
UpgradeToTeams
-Global
Verification
After finishing the procedures above, you can try inbound and outbound Teams calls.
- Log in to Microsoft Teams client either via an application or through a supported browser.
- Navigate to Calls side tab.
- Observe user's assigned phone number and dial pad. There can be delays on Microsoft Teams to show these fields, so please wait if they do not appear right away after finishing the configuration above.
- Either initiate an outbound call or have an incoming call received.
<supportagent>
Related Articles
</supportagent>
Comments
0 comments
Please sign in to leave a comment.