Missed call notification when the call is blocked by CallerIDBlock MSPL Script

After deploying the CallerIDBlock script, some users mentioned that they received a Missed Call Notification in their mailbox.

During our troubleshooting process, we found out that this was happening because the priority of the CallerIDBlock was low:

Get-CsServerApplication | ft -AutoSize
https://docs.microsoft.com/powershell/module/skype/Get-CsServerApplication

In this example, the CallerIDBlock has priority 12, while DefaultRouting has 8. The Missed Call Notification is generated by the DefaultRouting, which means that if we want to disable the Missed Call Notification for the blocked number, we need to change CallerIDBlock priority to 8. By doing so, it will run before the DefaultRouting:

Set-CsServerApplication -Identity Service:Registrar:festd2013.gears.lab/CallerIDBlock -Priority 8

We can check if the priority was changed by running again:

Get-CsServerApplication | ft -AutoSize

Since an error event is logged when the priority is changed, we need to restart the services on all Front Ends:

Log Name: Lync Server
Source: LS Inbound Routing
Date: 31/03/2016 13:14:03
Event ID: 45038
Task Category: (1037)
Level: Error
Keywords: Classic
User: N/A
Computer: FESTD2013.gears.lab
Description:
Failed to start Call Notification Queuing Engine.

Failed to start Call Notification Queuing Engine. Exception Message: Object reference not set to an instance of an object..
Cause: Unexpected failure.
Resolution:
Try to re-start the service. If problem persists, contact product support.

After the services restart, everything will go back to normal and we won’t get any Missed Call Notification for blocked numbers.