Anonymous calls in Teams

When a caller dials out from Teams or Skype for Business Online with Phone System in Office 365 their Caller ID will be their phone number assigned to them. The Caller ID will be shown to the other part that gets the call (callee) from the caller. If you work in a call center, hospital or other sensitive environments you might not want to present your phone number when dialing out and then you can set calls as anonymous for those users. This does not work for Skype For Business server, there is other options for On-Premises users.

Start with connecting to Skype for Business Online Powershell, use the connect-office365 module. When connected you have to create a the Calling Line Identity with New-CsCallingLineIdentity. Start with checking if you have any existing Calling Line Identities in your tenant by running Get-CsCallingLineIdentity.

Global CLI is default for all users

Get-CsCallingLineIdentity should show the Global setting that is the default setting assigned to all users. Next we should create a policy that sets outbound calls to Anonymous for users, to do that we use the New-CsCallingLineIdentity.

New-CsCallingLineIdentity -Identity Anonymous -Description "Anonymous policy" -CallingIDSubstitute Anonymous -EnableUserOverride $false

As the last step we have to grant the policy we created to a user.

Grant-CsCallingLineIdentity -Identity "user@lync.se" -PolicyName Anonymous

Since I’m using a Direct Route connection for this test I can check the syslog from the SBC to see how the INVITE looks like and here we can see that FROM: is now anonymous instead of the phone number assigned to the user. Users can still receive calls on their phone number, this only affects outbound calls.

Show service number as Caller ID

You can also show another phone number in the Call ID. The procedure is the same as when you set anonymous as Caller ID. The requirement for the phone number you want to use as Caller ID is that it have to be a service number assigned to your tenant in Office 365 Phone System.

Use New-CsCallingLineIdentiy to create the new identity, this time set CallingIdSubstitute to “Service” and ServiceNumber to a number that you selected from your service number list (should be a Call Queue or Auto Attendant so that someone answers if the callee calls back).

New-CsCallingLineIdentity -Identity "Main number" -CallingIdSubstitute "Service" -ServiceNumber "+46313xxxxx" -EnableUserOverride $false -Verbose

Then assign the new policy to a user with Grant-CsCallingLineIdentity.

After a couple of minutes waiting time when I dial out and I check the SBC I can see that the INVITE is now changed so the FROM field is showing the new number and the Caller ID is changed.

Using Teams Admin Center

In August 2019 Jeff Brown posted on Twitter that you can manage Caller ID policies from Teams Admin Center.

Linus Cansby

Consultant work at UClarity, based in Göteborg, Sweden. Been working with Exchange, LCS, OCS, Lync, Skype, Teams and related stuff for a while. Mostly writing tips and news after getting questions from customers.

You may also like...

3 Responses

  1. Emilio says:

    Linus, do you know if there is a global setting to implement to have this feature working ?
    I’ve done the same commands you suggest to have Anonymous calling ID but my Teams users still dial out with their LineURI ID.
    My SBC (I also work in Direct Routing) doesn’t get the sip:anonymous@anonymous.invalid FROM like your example.
    Any suggestions ?
    Thanks very much, Emilio

    • Linus Cansby says:

      The only global setting I know is the global policy so if you don’t assign a policy to a user it will use the Global policy.

  2. Muhammad Idham Habibie says:

    Hi Linus,
    Thank you very much for your sharing.

    I just wondering if I’m using Direct Routing solution with Ribbon SBC.
    I knew from this solution it only uses the Calling Plan, but is that possible to configure with Direct Routing as well?

    Thanks
    Best Regards
    M Idham Habibie

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.