QMS High Availability and ShoreTel TAPI/Wave

QMS High Availability functionality allows for two Call Recording Services to be linked together, such that should the primary Call Recording Service become unavailable, the secondary Call Recording Service will take over the recording of phone calls. In most other PBX integrations, when both Call Recording servers are up and running, each Call Recording Service makes its own copy of a recorded call. In a ShoreTel TAPI/Wave environment, however, only one Route Point connection can exist for any call. The result of this is only one Call Recording Service will make recording for any given call.

To handle this situation with a minimum of calls to the ShoreTel Remote Server, the Call Recording servers will have a rudimentary communication between them in the form of basic UDP heartbeat messages. The Primary Call Recording server will send a heartbeat message at a defined interval of time to the Secondary Call Recording server, indicating the Primary is available and making recordings. If the Secondary Call Recording server does not receive a heartbeat within that time interval, it will assume the Primary is down, and take over call recording duties. If there is a situation where the Primary is actually still up and running, and a network problem or other reason kept the Secondary from receiving the heartbeat, the Primary will make the recording, and the recording attempt by the Secondary will fail because another Route Point (the Primary’s) is already recording the call.

There are a few extra configuration settings that need to be added to the CallRecordingService.exe.config file for a High-Availability setup. These configuration settings are described in the Configuration File Settings section below.