Are you tired of pesky telemarketers calling you while you are trying to work but don’t know of a way to block that number from calling you? Well… you’re in luck because as of this week Microsoft has added the ability to block inbound calls from the PSTN. According to the Microsoft docs article, “This feature allows a tenant global list of number patterns to be defined so that the caller ID of every incoming PSTN call to the tenant can be checked against the list for a match. If a match is made, an incoming call is rejected.” However, there are a few caveats to this new feature:
- This will only work on inbound calls that originate from the PSTN
- This only works on a tenant global basis (not on a per user basis). So if you want to block a caller, you better make sure no one wants to receive calls from that number.
- This feature is not yet available for Direct Routing.
You may be wondering what the pesky telemarketer hears on their end. Well the easiest answer to this question is, it depends….
Microsoft states that, “Blocked callers may experience slightly different behaviors when they have been blocked. The behavior will be based on how the blocked caller’s carrier handles the notification that the call is not allowed to be successfully completed. Examples may include a carrier message stating the call cannot be completed as dialed, or simply dropping the call.”
How do I block inbound calls?
This is done by your Skype for Business administrator through PowerShell (sorry no GUI interface). These number block patterns will be defined as regular expression patterns. The order of the expressions is irrelevant, the first pattern matched in the list will result in the inbound call being blocked.
Note: A new number or pattern added or removed in the blocked callers list may take up to 24 hours to for the pattern to become active.
What commands in PowerShell will I need to use?
According to Microsoft, “InboundBlockedNumberPattern Number patterns are managed via the CsInboundBlockedNumberPattern commands New, Get, Set, and Remove.”
You can manage those patterns with the following cmdlets:
- Get-CsInboundBlockedNumberPattern Returns a list of all blocked number patterns added to the tenant list including Name, Description, Enabled (True/False), and Pattern for each.
- New-CsInboundBlockedNumberPattern Adds a blocked number pattern to the tenant list.
- Remove-CsInboundBlockedNumberPattern Removes a blocked number pattern from the tenant list.
- Set-CsInboundBlockedNumberPattern Modifies one or more parameters of a blocked number pattern in the tenant list.
- TenantBlockedCallingNumbers The viewing and activation of the entire call blocking feature is managed via the CsTenantBlockingCallingNumbers commands Get and Set.
- Get-CsTenantBlockedCallingNumbers Returns the parameters for the global blocked number list including Enabled (True/False). There is a single global tenant policy that cannot be modified manually other than to turn the feature completely on/off.
- Set-CsTenantBlockedCallingNumbers Allows modifying the global tenant blocked calls to be turned on/off at the tenant level.
For some examples on Blocking, Allowing, and Viewing All Number Patterns please refer to the docs article here. As mentioned earlier, all expressions the pattern matching for blocking numbers is done via Regular Expressions (regex). So if you need to brush up on your regex, I’d recommend checking out this blog, or if you’re lazy and just want a tool to do all the work for you, you can always check out Ken Lasko’s cool Skype for Business Optimizer tool. Now that you have all the tools at your disposal, you can abolish those annoying telemarketers once and for all!