fredag den 21. april 2017

CallerID control in Office365 CloudPBX

When using CloudPBX with PSTN Calling, you are able to control the number that is shown when a user is dialing out - when the PSTN Calling feature was in preview this was done with CsCallerIDPolicy's but they have been deprecated, and a shiny new set of CMD-LET's have been introduced in order to control this.

Meaning that 
Can no longer be used.

Instead this is how to do it.

If you want to have a look at your current policyes - NOTE: If you havent yet played with this only the default "global" policy wil be shown.
NOTE: This must be run in an online powershell against your SKYPE for Business online subscription.
If you need help to open such a shell please look here:

To view current policyes run

When creating new policyes you have the choice to either make a Servicenumber policy, which will show a Servicenumber for outgoing calls, this could be an Autoattendant or a Call Queue.
OR you could choose to make the policy show "anonymous" meaning NO CallerId is presented.

To create a policy for servicenumbers type:
New-CsCallingLineIdentity -Identity "US_Call_Queue" -CallingIdSubstitute "Service" -ServiceNumber "14255522020" -EnableUserOverride $False -Verbose

To create a policy for anonymous type:
New-CsCallingLineIdentity -Identity "CallerIDAnonymous -Description "anonymous policy" -CallingIDSubstitute Anonymous -EnableUserOverride $false

Note this:
  • Identity must be unique.
  • ServiceNumber must be a valid Service Number in the Skype for Business Online Telephone Number Inventory.
  • If CallerIdSubstitute is given as “Service”, then ServiceNumber cannot be empty

 For both types it is also possible to actually prevent incoming calls from showing callerID do this by adding
-BlockIncomingPstnCallerID $true

If you made a mistake, or later need to change your policy either remove them with


Or by using the SET cmd-let

Set-CsCallingLineIdentity -Identity "CallerIDAnonymous -BlockIncomingPstnCallerID $true 

Now finally - you want to make all this happen, meaning granting the policy to your users.
This is straightforward.

Grant-CsCallingLineIdentity -PolicyName Anonymous -Identity
Or by piping - so for instance.

Get-csonlineuser -Filter {LineURI -like “tel:+45*”}| Grant-CsCallingLineIdentity
-PolicyName Anonymous

AS always - HAPPY SKYPE'ing. :)

2 kommentarer:

Peter sagde ...

Is there anything like this for on premise Skype 4B?

We have the exact same situation with off-hours service team. Skype4B forwards incomming call to a cellphone, but sends the original callers ID. We would like to define our support number here, so that the service team member on watch, can see it's a service call.

Do you know of a way to accomplish this?

Greate blog btw. sagde ...

Hi Peter - yes you could accomplish this with custom routes with A-number suppresion and attached translation, so that only calls going out to your on-call staff will apply to that route.