Migrating Phone Systems to Teams

Teams dialpad

A sometimes difficult & time consuming process

A new client tasked us with migrating their VoIP system to Microsoft 365. Their current provider was costing them significantly more than they had anticipated, and the reduced cost of Teams phones along with the integration with their new Cloud office suite was appealing. At about $20 per user they would be saving hundreds of dollars per month.

Adding licenses, assigning phone numbers to users, setting up auto-attendants are all handled in the Teams Admin Portal and are somewhat straight forward. What has prolonged the effort is the porting process.

While this is also performed in the Portal, we ran into an issue with the client’s Billing Telephone Number (BTN) at their current provider. At first, it was an error on the ‘losing carrier’ side where they provided incorrect BTNs. Each port request to Microsoft takes a week, so with each submittal we had to wait to receive a rejection of the request. When we finally received the correct BTN we were unable to create the port order because it contained non-numeric characters. The Teams form requires a valid E.164 phone number so we had to find alternative ways to get the port request approved. This has now lasted over three months due to Microsoft’s Teams workload and the nearly one week response time to each request, so in order to prove out the process and ‘eat our own dog food’, we decided to port our system to Teams .

Our ports went a bit smoother, but we still ran into an issue. Our existing provider sourced their numbers from multiple vendors, requiring us to submit several port requests, one for each provider of the numbers. From there, though, it went much more smoothly.

An important thing to be aware of when porting numbers is you are given a choice of how the numbers will be assigned. Numbers to be assigned to auto-attendants or conference lines need to be properly identified during the port or you will have to request Microsoft to change them post-port. There is currently no way to change these in the portal.

Once the port request is approved you should see the numbers available in the Teams site so you can assign them before the port is complete. Assigning numbers to users is a simple task, but you will have to create an emergency location first for 911 routing.


If you are using the auto-attendant feature, you will need at least two licenses. The first is the Microsoft 365 Business Voice (per user) license, which at $20 gives you the Domestic Calling Plan ($12) and the Phone System license ($8). The second is the Microsoft 365 Phone System – Virtual User license, which is free (currently). This license will be assigned to the auto-attendant resource you create.

At these prices, we were able to reduce our phone system spend by nearly 60% while keeping all the features of our previous system and having better integration into our Office suite. While the losing carrier also provided soft phones, we still see Teams as saving the cost of phones for new hires since the app provided did not meet the needs of our business. While the Teams app provides everything you need, some users may want to continue to use a desk phone, and Microsoft provides a list of compatible devices on their site.

Auto Attendant

Auto attendants and call queues are created as Resource Accounts where you can apply the free Virtual User License, allowing you to create office hour, after hour, and holiday call flows, upload an audio file for greeting or use text to speech, and route calls based on menu options for the call flows you define. The configuration is quite simple and each menu option can route to an operator, an individual, a voicemail, or an external phone number.

Each user license also provides an Audio Conference number for virtual meetings, eliminating the need for third party alternatives, however we are continuing to use Zoom for conference calls with clients not currently using the full MS Office suite of products and will likely continue to do so until Teams Voice services are in more wide-spread use.


After several months, three port requests in the Teams portal, and weeks of back and forth emails from the losing provider and Microsoft, where do we stand? Microsoft was finally able to challenge the rejected port request from the losing provider and approved the port one week out. We’re keeping our fingers crossed that this is the end of the ordeal, the numbers will be ported, and we’ll quickly get them assigned to end users and auto-attendants. While this one port gave us some issues, we are now much better positioned to port new requests and ensure a quick and easy migration from your VoIP provider to Teams.

For more information about Microsoft 365 licenses and Teams Voice, please contact us through this form or call us at 919-551-8175 to hear our Teams text-to-speech auto-attendant.