Now that we have installed Teams with Microsoft Business Phone System for clients (and passed the Teams exam) we want to share some thoughts on the product.  We’ve been doing VoIP phone systems since Cisco CallManager 3 back in 2003 when it still looked like Selsius CallManager.  Over the years we’ve been certified for and installed CUCM, Nortel BCM, Cisco CallManager Express, Asterisk, Adtran SBC & 7100, Sangoma, 3CX and a few of the current SaaS phone systems.  Since we aren’t new to telephone systems, our impressions of Teams will be guided by our experience in telephony!

For a business looking to migrate from a legacy on-premise PBX with voice lines or circuits, there will be a lot to like.  The Teams client can be installed everywhere (Windows, Mac, Android, IOS) and it’s familiar for those already using Teams for chat.  Breaking away from old systems with ports and telephone lines is a huge step forward.  The deep integration into the Microsoft 365 stack is a big bonus.  User accounts and groups are all integrated, as are the integrations into Sharepoint/Onedrive and the rest of Office applications.

For those that are already on a more modern phone system, the change to Teams may leave you wanting.  The PBX features are shallow when compared to other cloud and on-promise VoIP systems.  There are flexibility challenges as well, which means that for some feature changes you will be at the mercy of Microsoft support to wait on your change request.  The Teams certified phones have some odd user interface functionality that make it feel less like a phone and more like a chat device.

Phone Numbers

Teams already allows the ability to call other Teams users, but it can’t connect to the public switched telephone network (PSTN) without adding an extra layer of service.  There are options to bridge an on-premise or cloud based telephone service provider (or SBC) into Teams, but the simplest way to get dial-tone in Teams is to port the business phone numbers to Microsoft.  I was very impressed with how easy it was to port numbers in to Teams.  After filling out a short form and uploading a letter of authorization (LoA) Microsoft was able to schedule the port about a week after I submitted the form.

New numbers can also be ordered directly from the Teams Management Console and they will be ready to go in minutes.  Ordering new numbers was a source of frustration though because I could not find any numbers inside our area code or the surrounding areas codes in a 250 mile radius.  I spoke to Microsoft support about this and they told me that if I couldn’t find local numbers to send an email to PTN@microsoft.com and they could manually pull in local numbers within 5 business days.

Phone System Features

The Teams client supports basic call handling functionality like hold, transfer, conference, etc.  Beyond these, there are a few advanced features — but even these are shallow in functionality.

Call Queues are simple, but suitable enough for small business needs.  Notably missing features are “Wrap up time”, per queue holiday settings, call back requests, and manager options.  Real-time reporting and wallboards are not available either, which means it’s not possible for managers to monitor their agents and callers during live calls.

Teams Auto Attendants meet most needs for small organizations.  An excellent feature is the “Type in a greeting message” feature.  This feature will read whatever is typed to the caller.  The quality of the voice is excellent and it’s hard to distinguish that a computer is saying the words!

Ironically, the IVR with was poor at accurately detecting what we said when testing the speech to text inputs.

Call parking is available, but the phones are not configurable to create visible park slots.  There is no intercom or auto-answer settings on the Yealink MP54 phones that we’ve used.  I believe there are some phones that will support auto-answer and if that’s the case, then a paging hack could be put together where overhead paging is required.

Besides having few features, another negative experience is the expertise required to make queues and auto-attendants work. A Teams resource account must first be created and that account must have a Microsoft 365 Phone System – Virtual User license applied to it.  Then the account must be associated to the queue or auto attendant.  If these need to be reachable via a public number, then a service number must be applied.

What’s a service number?  In Teams there are two types of numbers, a User Number (which are applied to users) and a Service Number.  A User Number only allows a couple of simultaneous calls, whereas a Service Number can handle many simultaneous calls.  If you have unused User Numbers they can be converted, but it requires an email to PTN@microsoft.com and they will change it (in my experience it takes about 3 hours).  The entire concept confusing and feels unnecessary.  Microsoft should eliminate the distinction between number types and just change the behavior of a number depending on if it’s assigned to a user or queue/auto attendant!

Licensing and Cost

If your business is already using Microsoft 365 for Office or email, then it’s very easy to add the Microsoft 365 Business Voice license to each of your users (currently $20/mo).  That license will entitle your account to phone numbers for each user as well as 3,000 domestic minutes per month (that are pooled together for all licenses).

If you are not already using Microsoft 365, then your business will first need to determine which license to purchase for your staff and then additionally the Microsoft 365 Business Voice license ($20/mo) needs to be added.

For common area phones like break rooms, waiting areas, conference rooms, etc there is an $8/mo Common Area Phone license that will be needed plus the Microsoft 365 Business Voice license ($20/mo).

Other Thoughts

As an admin of the system, there isn’t a way to see at glance all the active calls or who is on the phone.  Teams shortcomings in real-time data however are overcome by it’s post-call details.  An individual users’ call history can be found under their respective Meetings &Call tab.  If you drill into each call there are excellent details and quality metrics that will assist an admin in determining the cause of any poor call quality that might occur.

Another frustrating item that I encountered frequently is that search in the Teams Admin Center is poor.  Searching a list of users or input field only searches the beginning of the string.  This made things difficult if I didn’t know someone’s first name, or if I didn’t know the exact name of an auto attendant.  This sort of polish is expected in Microsoft 365 apps, especially when the behavior is different than other admin centers.

The good news is that Microsoft has make a lot of progress in their apps since I last looked at the phone system functionality a few years ago.  Their momentum is slow however and I feel that it will take years before they are closer to the competition in terms of raw PBX functionality.  My recommendation is that if you aren’t already on Microsoft 365, look at alternative phone systems.  But if you have a small business and are using Micsrosoft 365 already then it could meet your needs.  I’d recommend first piloting the voice features of Teams with a few users to see if it’s a good fit for your team.

Good luck, and let me know if there are any questions!


The Good

  1. For organizations that are already committed to the Microsoft 365 ecosystem, moving numbers into Microsoft centralizes voice into familiar admin consoles and existing user directory.
  2. If your staff is already using Teams for chat and meetings, they’ll be familiar with the Teams client and have it installed.
  3. The call history and analytics are easy to navigate and provide very useful details.
  4. Type to speech for auto attendants and queues is an excellent feature.


The Bad

  1. Number have types – Service and User.  These can not be changed within the admin center and require Microsoft’s intervention.
  2. No more private extension numbers.  This will be confusing for organization migrating from 3 or 4 digit extensions that aren’t tied to DIDs.
  3. The Teams for IP phone UI is confusing – it defaults to speed dials when dialing digits instead of starting a new call.
  4. Search in the Teams Admin Console is frustrating.
  5. No live dashboards or statistics.
  6. Overall the features are shallow when compared to other VoIP solutions.  There may be some things that can’t be done in Teams that were possible on your old phone system.