In This Article


Overview

This article covers some troubleshooting steps and guidance for submitting a support case with Microsoft.


Teams User Provisioning Delays

Due to high demand for Microsoft Teams, Microsoft has stated that it can take up to 24 hours to provision a new user account with Microsoft Teams.  This 24 hours starts when you assign a license that includes Microsoft Teams.

NOTE

To check the setup status of a user account, search for the user on this page in the M365 admin center:

https://admin.microsoft.com/Adminportal/Home#/teamsprovisioning


Teams Phone License Assignment

Before provisioning a Teams user for direct routing, you need to assign the Teams Phone Standard license to the user account.  After assigning the Teams Phone Standard license it can take up to 24 hours for the license assignment to sync and light up the features in Teams.  Therefore, we recommend you assign all licenses to a user account 24 hours before provisioning it for Teams direct routing.

You can check the status of a Teams Phone Standard license assignment by running the below PowerShell code in the PowerShell ISE or VSCode.

NOTE

Make sure you sign into the MS Teams services and enter the user's UPN on line 2 before running the code.


# Enter the user's UPN
$UPN = "username@domain.com"

# Get the user's Teams Properties
$TeamsUser = Get-CsOnlineUser $UPN

# Output the status of the Teams Phone license assignment
Write-Host
Write-Host "Display Name        : $($TeamsUser.DisplayName)"
Write-Host "User Principal Name : $($TeamsUser.UserPrincipalName)"
Write-Host "Feature Types       : $($TeamsUser.FeatureTypes -join ', ')"

If ($TeamsUser.FeatureTypes -contains "PhoneSystem") { 
    Write-Host "Phone System Status : " -NoNewLine
    Write-Host "ENABLED" -ForegroundColor Green
}
ElseIf ($TeamsUser.FeatureTypes -notcontains "PhoneSystem") { 
    Write-Host "Phone System Status : " -NoNewLine
    Write-Host "NOT ENABLED" -ForegroundColor Yellow
}
Else { 
    Write-Host "Phone System Status : " -NoNewLine
    Write-Host "UNKNOWN" -ForegroundColor Yellow 
}
  


Assigning a Phone Number Fails

This occurs when another user account is already assigned the same phone number.  If you remove the Teams Phone licenses from a user account instead of deprovisioning the user account, you will not be able to re-assign the old user's phone number. 

To fix this you have two choices:

You can use the below PowerShell to search for a Teams user account by phone number.

# Enter the phone number with the country code.
$PhoneNumber = "16105551234"

# Search for the phone number. If nothing is returned, the number cannot be found.
$FilterString = 'LineUri -eq "{0}"' -f $PhoneNumber
Get-CsOnlineUser -Filter $FilterString | FL DisplayName,UserPrincipalName,LineUri


A Checklist of Configuration Items

When troubleshooting a user's direct routing configuration, you should check the following items:

  • The user is assigned a subscription that includes Microsoft Teams, and the Teams Phone add-on license
  • The user's coexistence mode is set to Teams Only
  • The user's calling policy allows private calling
  • The user's caller ID policy is not set to Anonymous
  • The user is assigned to an XTIUM voice routing policy
  • The user is assigned the XTIUM dial plan

Coexistence Mode

It's very important to make sure the Teams user account is set to the Teams Only coexistence mode.  If your users are not using Skype for Business, then you should set all users to the Teams Only coexistence mode at the organization level.  You can check a user's coexistence mode in the Users section of the Teams admin center or by using PowerShell commands.

TIP

Refer to the Teams Direct Routing Planning & Prerequisites article for more info on the Teams Only coexistence mode.

Teams Calling Policy

One of the configuration items in a Teams Calling Policy is to control whether a Teams user can make private calls.  You should make sure the Teams user is assigned to a Calling Policy that allows private calling.  You can check a user's policy assignment in the Users section of the Teams admin center, and you can check a calling policy's settings in the Voice section of the Teams admin center.

TIP

Refer to the Teams Direct Routing Planning & Prerequisites article for more info on Calling Policies.

Teams Caller ID Policy

The Caller ID Policy that is assigned to a direct routing user must not be set to Anonymous The XTIUM voice infrastructure cannot accept a call from a Teams user when their caller ID policy is set to Anonymous.  The policy must be set to User's Number.

TIP

Refer to the Teams Direct Routing Planning & Prerequisites article for more info on Caller ID Policies.

Teams Voice Routing Policy

The voice routing policy is used to determine how a call is routed to/from a Microsoft Teams client.  If the user is assigned the Global voice routing policy, or a policy that does not route the call to the XTIUM voice infrastructure, the call will fail. 

You can check a user's policy assignment in the Users section of the Teams admin center, and you can check the XTIUM voice routing policies in the Voice section of the Teams admin center.

Teams Dial Plan

The Teams dial plan is used by Microsoft to determine how a call is routed based on the number dialed.  The XTIUM direct routing configuration creates a dial plan that routes any number dialed to our voice infrastructure for interpretation. 

If the user is not assigned to the XTIUM dial plan, they will experience issues when dialing numbers that are not 10 digits (in the US).  You can check a user's dial plan assignment in the Users section of the Teams admin center, and you can edit the dial plan in the Voice section.


Submitting a Support Case with Microsoft

If you suspect issues with call routing, you should only submit a case with Microsoft after the XTIUM support team has confirmed that your issue is not related to call routing within our voice infrastructure.  You can also open a case with Microsoft due to provisioning delays.

If applicable, the XTIUM support team can submit a case with Microsoft on your behalf. 

Regardless, when submitting a support case with Microsoft be prepared to provide the following:

  • If the dial pad is not showing, a screenshot of the missing dial pad from the desktop client and the web client.
  • The Teams client app diagnostic log file from a known working user, and the diagnostic log file for the user that's not working.
  • The output of the following PowerShell command for a known working user, and the same output for the user that's not working.
Get-CsOnlineUser -Identity username@domain.com | FL
  • The output of the following PowerShell commands, which gives them information about the direct routing configuration.
Get-CsOnlinePSTNGateway
Get-CsOnlinePstnUsages
Get-CsOnlineVoiceRoute
Get-CsOnlineVoiceRoutingPolicy
Get-CsTeamsCallingPolicy


NOTE

If the Microsoft support team requests information about the PSTN Gateways (SBCs), let them know that you are using a carrier's SBC as defined in this Microsoft article and that you have already performed troubleshooting steps to rule out any issues with the carrier's SBCs.