Caller ID is important for your business.
Teams Calling (also known as Teams Phone) can be a little limited in how it handles caller ID. If a user has a direct dial number (DDI) assigned to them, all their outbound calls will automatically show that number. But if a user doesn’t have a DDI because you’re using an Auto Attendant, Queue, or a receptionist to route calls to them, Teams will send their outgoing calls out showing “Anonymous” without a number attached.
At best, this isn’t the best look for your business, and at worst, Australian carriers might reject these calls for not presenting an accurate caller ID.
Note: Australian carriers are likely to reject any calls that don’t present an accurate local number as its caller ID, due to measures to prevent spam and scam calls. This also means that special numbers (such as 1300 and 1800) can’t be used for outbound calls. While New Zealand hasn’t introduced measures like this at this point, It is possible that the industry might follow suit.
How do we get around this?
The simplest option for many Teams Calling customers is to let Lightwire handle this for you. Our Voice Engineers can configure our platform to mask any calls that come to us as an “anonymous” caller with the number of your choice. Most of the time, this would be your primary number.
But what happens if you have multiple locations or different teams that need to have their calls show a different outgoing number? This is where Caller ID Policies come in. Teams can be configured with one or more of these to handle the caller ID masking according to your needs. The numbers you’re using will need to be assigned to a resource account on your tenancy already.
With Lightwire’s Teams Phone Direct Routing service you’ll need to set this up using Powershell. Open Powershell and connect to your Teams tenancy (using Connect-MicrosoftTeams):
Step 1: Create a new policy
You can change the “identity” to any name if you require multiple policies (for example to differentiate between locations). The description can be set as required as well.
New-CsCallingLineIdentity -Identity MaskOutbound -Description "Mask outbound calls with the reception DDI"
Step 2: Set a variable to retrieve details from the required resource account
The variable name ($ResourceAccount1 in the below example) can be modified per your requirements. Ensure that you replace email@example.com with the UPN of the resource account you’re wanting to mask with.
$ResourceAccount1 = Get-CsOnlineApplicationInstance -Identity firstname.lastname@example.org
Step 3: Create the calling policy
Create the calling policy, ensuring that the Identity is the one set up in step 1 above, and you use the variable set in step 2
Set-CsCallingLineIdentity -Identity MaskOutbound -CallingIDSubstitute resource -ResourceAccount $ResourceAccount1.ObjectId
To assign the policy to users use the below command, ensuring that email@example.com is updated to reflect the user’s account details, and the PolicyName is set to the desired name:
Grant-CsCallingLineIdentity -Identity firstname.lastname@example.org -PolicyName MaskOutbound
Otherwise, you’re able to update the policy for each user in the Microsoft Teams admin center under Users > Manage users, selecting View Policies, clicking Edit, and selecting the desired policy under Caller ID Policy.
Are you configuring Teams Calling? Download the full Lightwire configuration guide.
In other news: Microsoft is depreciating older versions of the MicrosoftTeams Powershell module. We’ve tested version 4.2.0 of the module and updated our documentation to reflect some of the new commands available. To make sure you’re not caught out when you need to make changes, please open a Powershell terminal with Administrator rights today, and run: Update-Module MicrosoftTeams -RequiredVersion 4.2.0