How to enable Skype for business front end server in Draining state (maintenance mode).

Note Added in Core 6.1

Introduction McuDrainingStateMonitoring

With this feature enabled, the ucc monitors if a front-end server is in draining state (maintenance mode). When one of the front-end servers in the pool is set into draining state, the cached conferences on the front-end pool will be cleaned up. When using the command to enable draining state on the front-end server that process will wait until active calls are finished and those conferences will not be cached. New calls will immediately be setup on the remaining front-end servers in the pool.


Enable the feature in the ucc config file.

  1. Open your ucc config file and expand the line <UnifiedContactCenters> to

    <UnifiedContactCenters alwaysModifyCas="true" enableMcuDrainingStateMonitoring="true">

    <UnifiedContactCenter Name="ucc_name">




  2. Restart the ucc.

  3. The logfile will show this line

    2018-01-17 11:35:16,932 [52] m1 WARN - m1 McuDrainingStateMonitor: '' failed to read. Permission denied.

  4. Add the service account to the performance log users on all front ends in the pool in computermanagement

  5. The logfile will display this

    2018-01-17 11:35:35,395 [8] ucc_rtm INFO - ucc_rtm McuDrainingState: enable conference caching.


Monitor Active conferences in the front end server and monitor Draining state per server

  1. Go to one of the front ends servers and go to the performance monitor. Add these values for each front end server.

    VALUE="\LS:AVMCU - MCU Health And Performance\AVMCU - MCU Draining State"

    VALUE="\LS:AVMCU – Operations\AVMCU – Number of Conferences"

  2. When you start the failover on the first server it will show value 1 for draining state. The number of conferences on all servers will become 0.


Actual failover

  1. Connect to the front end server that you want to put in maintenance mode.

  2. Disable the interceptorThe Interceptor is a service installed on the Skype for Business Front End(s). It monitors all the calls passing over it. When a call is going to or coming from an Agent it will come into action. By intercepting that call and redirecting it to Anywhere365, it lets you manage the direct inbound and outbound dialogues of the contact center agents. service manually.

  3. Open PowerShell as administrator on the front end server and use the following command.

    Invoke-CsComputerFailOver -ComputerName <Front End Server to be patched>

  4. The ucc log will show this in the logfiles.

    2018-01-17 11:42:17,009 [5] ucc_rtm WARN - ucc_rtm McuDrainingState: disable conference caching. Servers in drain mode:

    2018-01-17 1:42:17,016 [5] ucc_rtm INFO - ucc_name UccConference: cancelling conference, usages: 1

  5. Call traffic will continue on other front end servers.



  1. If maintenance is over you can use the failback command.

    Invoke-CsComputerFailBack -ComputerName <Front End Server to be patched>

  2. Enable the interceptor service manually.