QMS High Availability and Forked Audio

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. Because of the interactions between CUCM, the TSP, and the QMS server, some extra additions and configurations will be required on CUCM.

On the CUCM side, a unique SIP Trunk, SIP Trunk Security Profile, and Application User must be defined for each QMS server in the High Availability cluster. The Destination Ports of the SIP Trunks must also be unique for each QMS server. Even though each QMS server will have its own unique components defined in CUCM, CUCM will only use one SIP Trunk at a time to send the forked audio to the QMS cluster. This means that only one node in the QMS cluster will receive audio for a given call. The other piece in CUCM that needs to be configured is a Route List, which contains the two SIP Trunks. When a call comes in, CUCM will try to establish a connection with the TSP assigned to the first SIP Trunk in the Route List. If a connection can’t be made, CUCM will try to make a connection with the second SIP Trunk in the Route List. Therefore, by configuring the primary Call Recording Service’s TSP to connect to CUCM via the first SIP Trunk, and setting the secondary Call Recording Service’s TSP to connect to CUCM via the second SIP Trunk, the High Availability setup is complete.

Due to the fact that CUCM will only use one SIP Trunk to send the forked audio to the QMS cluster, there is a limitation inherent to QMS High Availability in a Cisco Forked Audio environment. If a call is being recorded on the primary Call Recording Server, and the primary Call Recording Server goes down, that recording will be terminated at that point. CUCM will not know if a Call Recording Server goes offline, therefore it will not know to switch to the second SIP Trunk for sending the forked audio for that call. The next call CUCM handles will have its forked audio sent to the second SIP Trunk to be recorded by the secondary Call Recording Service, because CUCM will not be able to establish a connection to the TSP on the primary Call Recording Service.

PBX Configuration

  1. Log into the CUCM Administration site as a user with admin-level privileges.

  2. Follow step 3 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to create a SIP Trunk Security Profile for the primary SIP Trunk.

    1. The default Incoming Port is 5060. If this port is already being used, enter in a new value, otherwise accept the default value.

  3. Follow step 3 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to create a SIP Trunk Security Profile for the secondary SIP Trunk.

    1. The default Incoming Port is 5060. The Incoming Port must be unique, so change the Incoming Port to something other than 5060. The default port for a secured SIP Trunk is 5061, so to avoid confusion, enter a port above 5061.

    2. Click Save.

  4. Follow step 5 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to create a primary SIP Trunk.

    1. Set the Destination Port in the SIP Information section to the Incoming Port value set in step 2 above.

  5. Follow step 5 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to create a secondary SIP Trunk.

    1. Set the Destination Port in the SIP Information section to the Incoming Port value set in step 3 above.

  6. Create a Route Group.

    1. Click the Call Routing menu, then click Route/Hunt, and finally click on Route Group.

    2. Click Add New.

    3. Enter in a Route Group Name.

    4. Select Top Down from the Distribution Algorithm drop-down list.

    5. In the Available Devices list in the Route Group Member Information section, select the primary SIP Trunk created in step 4 above.

    6. Click Add to Route Group.

    7. In the Available Devices list in the Route Group Member Information section, select the secondary SIP Trunk created in step 5 above.

    8. Click Add to Route Group.

    9. Click Save.

  7. Create a Route List.

    1. Click the Call Routing menu, then click Route/Hunt, and finally click on Route List.

    2. Click Add New.

    3. Enter a Name and Description for the Route List.

    4. Select the appropriate Cisco Unified Communications Manager Group from the drop-down list.

    5. Check the Enable this Route List checkbox.

    6. Click the Add Route Group button in the Route List Member Information section.

      1. The Route List Detail Configuration view is displayed.

      2. Select the Route Group created in step 6 above from the Route Group drop-down list.

      3. Click Save to return to the Route List Configuration view.

    7. Click Save on the Route List Configuration view.

    8. Click Apply Config.

  8. Create a Route Pattern

    1. Click the Call Routing menu, then click Route/Hunt, and finally click on Route Pattern.

    2. Click Add New.

    3. Enter a unique Route Pattern.

    4. Select a Route Partition and enter a Description, if necessary.

    5. Select the Route List created in step 7 above in the Gateway/Route List drop-down.

    6. For the Route Option, select the Route this pattern radio button.

    7. Set all other values as necessary.

    8. Click Save.

  9. Follow step 4 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to create a Recording Profile.

    1. Enter in the Route Pattern created in step 8 above as the Destination Address.

  10. Follow step 6 under PBX Configuration in the Forked Audio – IP Phone-based Recording section above to configure IP phones to use the Recording Profile created in step 9 above.

QMS Configuration

  1. Follow the steps outlined in the QMS High Availability guide to configure the High Availability cluster nodes.

  2. Once the initial High Availability configuration is completed, the secondary Call Recording Server needs to have the following setting updated.

    1. On the secondary Call Recording Server, open the CallRecordingService.exe.config file located in the QMS installation folder.

    2. In the <Recording /> section, add key ForkedAudioSIPPort. The key name is case-sensitive.

    3. Set the value of ForkedAudioSIPPort to the value of the Incoming Port specified for the secondary SIP Trunk Security Profile in step 3 under the PBX Configuration section above. An example config file could look like this:

      <Recording ServiceID="93490d53-83f4-45b3-b3bd-72a64fd6085d" LastConversionTime="01/08/2016 13:06:21" ForkedAudioSIPPort="5062" />
  3. If the default Incoming Port value for the primary SIP Trunk Security Profile was set to a value other than 5060 in step 2 under the PBX Configuration section, repeat step 2 in this section on the primary Call Recording Service