My Demo 365: Teams Phone – Shared Calling – PAYG Edition

Hey friends, welcome back to my little world. This is a slight deviation from my typical focus on Teams Devices. I want to talk about a newly GA’d feature called Shared Calling for Teams Phone. I am particularly excited about this one as it’s been top-of-mind for many of us for years. I’ll copy/paste a little bit from our Learn Article above:

If you have users who aren’t heavy users of the Public Switched Telephone Network (PSTN), they might not need a dedicated assigned phone number. Instead, for these users, you should consider Shared Calling as a simpler, easier-to-implement phone solution for your organization. Shared Calling greatly simplifies phone number management for some users. Shared Calling also reduces costs for your organization because you don’t need a dedicated phone number for every user.

This is why I’m excited about it. If you’ve been managing Phone Systems like me for decades, especially legacy PBX, the concept is a no-brainer. You have plastic phones on desks, they don’t have dedicated phone numbers, they are just expected to work. Would you want to walk up to a water fountain, press the button and water not come out? Would you want to flip a light switch and the light not come on? Why would you want to deploy a Phone System and not have *every* phone be able to make phone calls? There has been some level of friction here with Teams Phone and Shared Calling removes that for the vast majority of use cases. Let’s walk through it a bit in my usual top-down style. When we’re done, I’ll provide a set of links at the bottom of this article for your continued learning on the subject.

1 – Assign Teams Phone licenses and enable users for voice
This one is fairly straight forward. You want to make sure the “end users” that will take advantage of Shared Calling have a Teams Phone license. This can be a bundled license like with E5, or a Teams Phone Standard standalone license, or even a device license including Teams Phone – like Shared Device License or Teams Room Pro. In this demo, I’ll be using Irvin and Isaiah:

Great, they have licenses. Now I need to enable them for voice. I’ll do this via PowerShell using the cmdlet set-CsPhoneNumberAssignment. Here’s a screen shot with the before, during, and after.

Great. Users are licensed and enabled for voice.

2 – Assign number to resource account for inbound/outbound calling
This is the heart of the matter. There is a resource account – either a net-new or existing – that needs to have a phone number assigned. This resource account can be Teams Phone powered by either Calling Plans (Pay As You Go only), Operator Connect, or Direct Routing. For this blog, I’ll focus on PAYG Calling Plans + Communication credits. I have another post on Operator Connect if you want to read that. Visually, this looks like this with the Resource Account at the center and powering the Shared Calling experience.

For this example, I’ll use the +1-502-509-2977 Phone Number. This Phone number is a Microsoft provided number for Voice App (Resource Account) usage.

I create a new Resource Account via Teams Admin Center -> Voice -> Resource Accounts

I license that new account for the Resource Account license in the M365 Admin Center

Now I can see the license and I need to assign the phone number

Right check. Moving on.

3 – Associate resource account with Auto Attendant for inbound calling
This one is really fielder’s choice. If your Shared Calling scenario doesn’t require inbound calling, then, this is optional. But, if you *do* want to provide inbound calling reach to the Shared Calling enabled users, an AA is a great way to handle that. In my case, I have a simple AA with no operator, and 24×7 availability

and then I enable “dial by name” to search the directory to reach users

And I associate the Resource Account from step #2

4 – Assign a location to the resource account for emergency calling
In Teams Admin Center -> Locations – Emergency addresses, I already have setup my home office in Crestwood, Kentucky where I live

This next part is a little tricky via PowerShell. First I need to get the “location ID” of the Crestwood Office above via the Get-CsOnlineLisLocation PowerShell cmdlet. Then need to assign that location ID to the Phone Number for the resource account in #2 and #3 above via the Set-CsPhoneNumberAssignment cmdlet.

First of all, let’s “get it”

Now that’s “set it”

And validate that it has applied

5 – If you’re using a resource account with Calling Plans, assign the additional PAYG/Credits
I could have done this in step #2 above, but, I chose not to to call this out. If you’re using Operator Connect or Direct Routing based numbers to power your resource account, you don’t need anything for the resource account except the Teams Phone Resource Account licensing. But, this blog is around Calling Plans, so I need to have a Pay-As-You-Go Calling Plan and fund it with a PAYG subscription or Communication Credits. I have the NCE – new commerce experience with my tenant, so, I need to use Communication Credits.

6 – Create a voice routing policy without PSTN usages
Shared Calling users must not have assigned voice routing policy with PSTN usages. So, unless your Global Voice Routing policy has empty PSTN usages, you’ll want to setup a new voice routing policy and assign this to Shared Calling users.

I created a SharedVRP-Empty policy via Teams Admin Center -> Voice -> Voice routing policies

and then assigned it to Irvin & Isaiah

7 – Enable emergency calling for users
Shared Calling takes Emergency Calling into account. You can read up more detail in our existing Emergency calling details. You aren’t *required* to define emergency numbers for a Shared Calling policy. If you don’t define a set of emergency numbers, when an emergency call is made, the number associated with the resource account in the Shared Calling policy is used.

8 – Create the Shared Calling Policy
Currently this is only configured via PowerShell (TPM Module 5.6 or greater). This will come to Teams Admin Center, but for now, it’s PowerShell only.

To configure and manage Shared Calling policies, you’ll use the following Teams PowerShell cmdlets:

To create the Shared Calling Policy you use the object ID of the Resource Account – not the UPN. So, in the example below I call that out with the “.identity” method

Note: I didn’t include emergency numbers when I created this – see #7 above. If I wanted to, I could. Any emergency numbers I add must be the same *type* (Calling Plan, Operator Connect, Direct Routing) of phone numbers as the resource account. You can have different types of resource accounts with different PSTN types. But, within each Shared Calling Policy + Resource Account pair, all phone numbers must be of the same type.

9 – Assign the Shared Calling Policy to users
We’re at the end. We’ll simply “grant” the policy. Again, this is PowerShell only for now just like #8 above. You can see the before, during, and after below.

Prove it monkeyboy!
Sure, let’s prove it works… This is Irvin’s phone

Let’s get the dialpad and call my mobile:

When the call comes to my mobile it looks like this

that looks right – notice the CallerID – +1-502-509-2977 – that was the phone number associated with the Resource Account powering Shared Calling.

Awesome.

Let’s hang up and wrap this up but first an important note: you *may* need to assign a CallerID Policy to make sure the outbound caller ID is properly reflected. AFAIK this is only a Direct Routing requirement. I haven’t had to do this for PAYG or Operator Connect powered Shared Calling scenarios.

Resources for further learning
Now that we’re at the end, let’s highlight some useful resources for your continued learning.

Phone System documentation for Shared Calling

Plan for Shared Calling – Microsoft Teams | Microsoft Learn 
Configure Shared Calling – Microsoft Teams | Microsoft Learn 
Shared Calling scenario – Microsoft Teams | Microsoft Learn 

TPM PS cmdlet documentation

New-CsTeamsSharedCallingRoutingPolicy 
Get-CsTeamsSharedCallingRoutingPolicy 
Remove-CsTeamsSharedCallingRoutingPolicy 
Set-CsTeamsSharedCallingRoutingPolicy 
Grant-CsTeamsSharedCallingRoutingPolicy 

YouTube – from Shervin Shaffie who is a Microsoft Principal Technical Specialist

Shervin Shaffie (Principal TS) Walkthrough

We made it. You did it. We’re done. I’d love to hear any comments about this and if you find this useful or if this doesn’t *yet* fit a scenario you have where you need to provide Teams Phone to users without dedicated phone numbers. This looks compelling for most. Tell me what you think.

1 thought on “My Demo 365: Teams Phone – Shared Calling – PAYG Edition

Comments are closed.