Top 5 Reasons The Microsoft Teams Dialpad Doesn’t Appear


You’ve assigned all the correct licenses for Microsoft Teams to enable enterprise voice. But for some reason, the Teams dialpad doesn’t appear for the user.

In this article we are going to explore some of the top 5 reasons why this might occur and how you can fix them.

What does the Dialpad enable users to do?

The dialpad in Microsoft Teams is an essential app that enables users to make outbound calls to the external telephone network. Without the dialpad, users can in some cases receive incoming calls, but will not be able to enter a number to dial outbound.

The dialpad is only enabled for Microsoft Teams Phone System users. These users will require the Microsoft Teams Phone System License assigned to them. This is available as an add-on to F1, F3, E1 and E3 licenses and inclusive of E5. Once assigned and the required number and voice routes assigned, the user should be enabled for the Teams dialpad.

However, for whatever reason the dialpad is not showing for the user. What next?

1. Replication Time

This is the number 1 reason why the Teams dialpad doesn’t appear. It is logical to assume that once an IT Admin has completed the required steps to assign a phone number to a user in Teams that this feature should be enabled for the user. In Skype for Business Server, this used to occur within 15-minutes after all.

With Microsoft Teams this is not the case. From the moment the IT Admin completes their tasks, several backend routines are triggered to enable this feature culminating in a policy update to the user’s Teams client.

The entire process can take several hours and this is largely due to the fact that the user’s Teams client stores a cache on their local machine that is only refreshed every so often. Microsoft state that any changes applied by the IT Admin can take up to 24 hours before the user has benefit of them. In fact, Microsoft support will not perform any troubleshooting until at least 24 hours have expired since the change.

So what can you do?

There are a couple of tricks that you can try in order to speed this process up.

  1. Ask the user to sign in to Teams using Microsoft Edge or Google Chrome browser with a cleared browser cache. The client is web loaded and any changes usually appear quicker with the web client than the desktop client
  2. Clear the desktop cache for the Teams client for the user and relaunch the client. This will force the desktop client to pull down a fresh copy of all the user’s configuration. If all the back-end tasks have completed, the client should show the dialpad.

If neither of these options work, the problem could still be replication of back-end tasks and you will need to wait a little longer. Or the problem could be something else.

2. User Account Misconfiguration

If the problem is not replication, then the next possible reason could be down to a user account misconfiguration. Sometimes assigning the user a phone number, especially using the Teams Admin Center fails to change the ‘EnterpriseVoiceEnabled’ attribute boolean flag from FALSE (default) to TRUE.

This attribute is a very important one that controls the show / hiding of the Teams dialpad and it must be set to TRUE.

Unfortunately, there is no way to check or set this attribute using the Teams Admin Center. The only way is using the Teams PowerShell Module.

To check a user’s attribute, run the following command

Get-CsOnlineUser -Identity | Select EnterpriseVoiceEnabled
Check user is EV Enabled for Teams

If this parameter is set to FALSE. Change it using the following command

Set-CsPhoneNumberAssignment -Identity -EnterpriseVoiceEnabled $true

Once set you will need to wait again to see if the change has fixed the issue. You may have to perform the clearing of the client cache.

3. Incorrect Calling Policy Assigned

Another common reason is when a user has been promoted to PSTN calling from a restricted state. Sometimes it is easy to forget that user based policies can also affect the dialpad’s visibility.

Check that the user’s Calling Policy is not set to restrict ‘Private Calls’ and ‘Web PSTN Calling’

Calling Policy for Microsoft Teams

You can check this against the user using the Teams Admin Center. Simply find the user in question in Users >> Manage Users, click on their name and then the Policies tab. Under the Assigned Policies column, check the calling policy assigned.

If the policy is restrictive, click on Edit next to the Assigned Policies title and change the calling policy for the user to another policy that has the correct settings enabled.

Again, after this change, you will need to wait up to 24 hours for the policy to become effective on the user’s client.

4. Unsupported Browser

A less common reason for the Teams dialpad not to appear is when a user is using Microsoft Teams in browser mode.

Currently, Microsoft Teams Calling is only supported in browser mode for the following web browsers

  1. Microsoft Edge
  2. Google Chrome

Any other browser, Safari and Firefox for example are not supported for PSTN calling and therefore the dialpad will not show in these browsers.

A full list of limitations and supported features can be found here.

It goes without saying to ask the user to use a supported browser or install the desktop client if possible.

5. Missing Voice Route in Global Routing Policy

This is a very niche cause for the Teams dialpad not appearing for a user. If this is the problem, it will be affecting all users and not individual ones.

This affects all voice users, Direct Routing, Calling Plans and Operator Connect users.

When your Teams tenant is created, Microsoft create some default settings. In the Online Voice Routing Policies, a Global policy is created. This global policy is in effect for all users, regardless of PSTN connectivity type.

Within this policy there should be a default PSTN Usage record added that contains a single voice route.

If this is missing, then the Teams Dialpad will not appear for any voice enabled user regardless of the steps you’ve already tried in this blog.

Why would it be missing? In very rare cases it could have been a bug at the tenant creation time, but more likely to have been manually deleted by a Global Administrator at an earlier time.

Fortunately, it can be created fairly easily within the Teams Admin Center.

First, go to Voice >> Direct Routing >> Manage PSTN Usage Records

Add a usage record called ‘Global‘ and press Apply

Next, click on the Voice Routes tab and click Add to add a new route to the routing table

Name the route LocalRoute and add the dialled number pattern to be ^(\d{2})$ – this is usually safe to use. We do not want to use any pattern that could be a legitimate number to call. This is purely to create a default route for the Global policy. Then add the Global PSTN Usage Policy you created to the route.

You do not need to add an SBC to the route. Press Save

Lastly, go back to your Voice Routing Policies >> Global Policy and edit it. Add the Global PSTN Usage to it that you created and press Apply.

Once applied, again you will need to wait a few hours for the changes to take effect. However, once replicated, this should finally solve the issue of the missing Teams dialpad for you.

If you are a Callroute customer, we take care of this for you by automatically checking that this route exists and if not, we create it as part of our provisioning solution.