Guest

Cisco Finesse

Finesse Supervisor Monitor and Barge-In Feature Causes Third-Party Apps to Reload or Go Blank

Document ID: 116391

Updated: Jul 26, 2013

Contributed by Anuj Bhatia, Cisco TAC Engineer.

   Print

Introduction

This document describes how to address a problem seen on third-party apps in a Cisco Finesse agent's browser when a supervisor monitors or barges into the call.

Problem

With the introduction of the monitor and barge-in feature in Finesee Release 9.1(1), agents who use third-party gadgets might see their gadgets go blank or reload when a supervisor monitors or barges into their call.

The issue was reproduced in this manner:

  1. Integrated Finesse with the Screenpop gadget. This gadget checks the information present in the Expanded Call Context (ECC) callVariable1 field and uses it in the Bing search engine.
  2. As seen in this screenshot, when the agent answers a call the gadget displays the Bing search engine page with the results of the data present in Call Variable 1.

  3. The supervisor sees the agent in a Talking state and chooses the "Start Monitoring" option.

  4. When the monitoring starts, the third-party Screenpop gadget in the agent's browser disappears.

    The reason the gadget reloads or goes blank is that the gadget sees the SUPERVISOR_MONITOR call type as a completely new call event. This interrupts the gadget. This example from the supervisor client log (see the bolded section) shows the dialog event with a CallType of SUPERVISOR_MONITOR and no allowed action for agent.

    <data>
     <dialog>
      <associatedDialogUri></associatedDialogUri>
    <fromAddress>1001</fromAddress>
    <id>16784324</id>
    <mediaProperties>
       <DNIS>1004</DNIS>
       <callType>SUPERVISOR_MONITOR</callType>
       <callvariables>
       <CallVariable>
          <name>callVariable1</name>
         <value></value>
       </CallVariable>
       <CallVariable>
         <name>callVariable2</name>
         <value></value>
      </CallVariable>
         <dialedNumber>1004</dialedNumber>
         </mediaProperties>
         <mediaType>Voice</mediaType>
         <participants>
      <Participant>
          <actions>
          <action>UPDATE_CALL_DATA</action>
          <action>DROP</action>
          </actions>
          <mediaAddress>1001</mediaAddress>
          <mediaAddressType>AGENT_DEVICE</mediaAddressType>
          <state>INITIATED</state>
          <stateCause>OTHER</stateCause>
      </Participant>
       <Participant >
       <actions/>
           <mediaAddress>1004</mediaAddress>
           <mediaAddressType>AGENT_DEVICE</mediaAddressType>
           <state>ALERTING</state>
          <stateCause></stateCause>
        </Participant>
        </participants>
      <state>ALERTING</state>
      <toAddress>1004</toAddress>
       <uri>/finesse/api/Dialog/16784324</uri>
      </dialog>
    </data>

Solution

In order to fix this problem, revise the third-party gadget JS file so that it ignores the SUPERVISOR_MONITOR call event. A a snippet of a fix is shown here:

_smCallType = "SUPERVISOR_MONITOR";
...
//If my call is SM type and the agent is the one monitored , just remove
the calls and return.
if ((callType === _smCallType) && (fromExt !== _cfg.extension)) {

_removeCall(callRow);
_gadgetAdjustHeight();

return callRow;}
Updated: Jul 26, 2013
Document ID: 116391