Minimize Downtime when Porting Numbers to Microsoft Teams Calling Plans

Discover a clever workaround for minimizing downtime during number porting to Microsoft Teams Calling Plans. Learn how an unassigned number routing rule can keep your essential services uninterrupted, even when you forgot to change the usage of your most important numbers to service numbers.

Number porting can sometimes be a tedious process but Microsoft actually does a really good job with their Porting Wizard in the Microsoft Teams Admin Center (TAC). I recently had to port a lot of numbers from a previous carrier to Microsoft. As you may know, there are two main types for numbers with Calling Plans and Operator Connect: Subscriber and Service numbers. Subscriber numbers can be assigned to users and Service numbers are for use with voice apps (auto attendants and call queues) or dedicated conference bridges. By default, all numbers are created in your tenant as Subscriber numbers but you will be able to change the usage to Service for specific numbers during the port order creation process.

Usages of numbers can only be changed during the initial creation of the port request.

When you’re porting hundreds of numbers, it’s easy to forget or overlook an important number that should have been labelled as Service but unfortunately, was missed. Once the port order has been submitted, there’s no way of changing the usage anymore until the numbers have been fully ported to your tenant. I confirmed this with Microsoft through a PSTN Service Desk support request. At this point, your only two options are to either cancel the port order request and start over or accept that you can only change the usage after the numbers have been ported. Since cancelling and starting over will mean that there will be an unwelcome delay of at least a couple of days, that’s not really a viable option in most cases. Today, I’m going to show you a very easy workaround how you can make sure that your auto attendant or call queue will still be reachable by their phone number as soon as the port order has completed.

User = Subscriber / Conference, Voice app = Service


When a number gets created as a Subscriber number, you won’t be able to assign it to an auto attendant or a call queue. But you can still create the resource account that’s linked to the voice app in advance. All you need to do to ensure that the voice app is reachable via it’s phone number is to create a temporary routing rule. To do so, navigate to Voice\Phone numbers in TAC and switch to Routing rules. Click + Add to create a new rule. Give the rule a name and fill out the description. Then choose Single number and enter your number. Under Routing options choose Voice application and select your auto attendant or call queue from the list. If you already have other rules, set the Evaluation order to a value that’s not already in use. If you don’t already have other rules with a lower evaluation order and which use regular expressions which could also match your number, it doesn’t really matter what you set this value to.

Unassigned routing rule for the number that was accidentally left on User instead of Voice app.

It’s very important that you don’t assign this number to any user. The rule is only effective for unassigned numbers. Usually, it takes a couple of hours until these rules become effective but if you do it at least one day before the porting date, you should be fine. Of course you could also set up a temporary user and forward all calls to that user to your voice app but that requires more work and more importantly a paid license.

If somebody calls that number before you were able to change the usage to Service and assign it to the voice app, the calls will show as unassigned_in in the PSTN usage report in TAC. However, the calls will be routed to the voice app you specified in your routing rule without any issues. Service numbers can receive a lot more concurrent calls than subscriber numbers can. However, I made some tests and was able to establish 10 concurrent calls to a call queue where each call was routed through an unassigned routing rule.

In any case, I recommend to change the usage and assign the number to a resource account as quickly as possible. Using a routing rule is only a temporary workaround.

Once the numbers have been ported, you can go to Voice\Phone numbers in TAC again and search for the number in question. Sometimes you can change the usage directly from TAC. If you don’t see that option, create a new support request at the PSTN service desk. They’re usually quite fast and will change the usage within a couple of hours after creating the request.

When you receive confirmation from Microsoft that the usage has been changed, you can assign the number to the resource account of the voice app directly and delete the routing rule. As soon as the number is assigned to the resource account, the unassigned routing rule will not match anymore. This little workaround will allow you to keep the downtime to a minimum. In fact, you won’t have any downtime except the time it takes your old carrier to switch the routing to Microsoft.


The only caveat you have to consider is when you want to use that number as an outgoing caller ID. Since you can’t assign it to a resource account before the usage was switched to Service, you won’t be able to configure it as caller ID for call queues or to a Caller ID policy. If you can live with the fact that you can’t use the number as outgoing caller ID for a couple of hours, there’s really no reason to panic and cancel the port request because you forgot to change the usage of some numbers.

Closing Words

To me that was a gentle reminder that mistakes can happen to all of us. But as always, I tried to keep a clear head and look for a solution and most importantly share it with the awesome Teams community so all of you can take advantage of this knowledge as well.

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Hosted on GitHub Pages
Built with Hugo
Theme Stack designed by Jimmy