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 
Get-CsCallerIdPolicy 
New-CsCallerIdPolicy 
Set-CsCallerIdPolicy 
Grant-CsCallerIdPolicy 
Remove-cscalleridpolicy
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: https://technet.microsoft.com/en-us/library/dn362795(v=ocs.15).aspx

To view current policyes run
Get-CSCallingLineIdentity

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

Remove-CSCallinglineIdentity

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 test.user@contoso.com
Or by piping - so for instance.

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

AS always - HAPPY SKYPE'ing. :)