Cisco Cisco Computer Telephony Integration OS 8.5 Developer's Guide

Page of 490
   
4-78
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(3)
Chapter 4      Building Your Application
Building Supervisor Applications
To monitor a call, the supervisor calls the Agent.StartMonitoringCall() method. The target of the call is 
the current agent (Agent object representing the supervisor). StartMonitoringCall() takes an Arguments 
object with the CallReference key set to the UniqueObjectID of the call to be monitored. This is 
illustrated in the CTIObject.StartMonitoringCall()method.
Barging into Calls
The following sequence diagram illustrates a request to barge into an agent’s call. In this sequence 
diagram, the supervisor application is divided into four components to illustrate the different events that 
affect the different pieces of a supervisor application.
Figure 4-9
Sequence Diagram for Barging into an Agent’s Call
Once Agent.StartMonitoringCall() is called for a specific call, the application begins receiving 
SupervisorButtonChange events. When a call is being monitored, the SupervisorButtonChange event 
can carry a bitmask indicating that the call can be barged into. To barge-in on a call, the application calls 
the Agent.SuperviseCall() method. The target of the SuperviseCall() method is the current agent (the 
agent object that represents the supervisor). The parameter to the method is an Arguments object with 
the following key/value pairs:
Table 4-11
Agent.StartMonitoringCall Parameter
When successfully calling this method, the application receives many events since this method not only 
changes the state of the monitored call, but also delivers a call to the supervisor which changes the 
supervisor’s state. When an OnButtonEnablementChange event is received, be sure to check the 
Key
Value
AgentReference
The UniqueObjectID of the currently monitored agent
CallReference
The UniqueObjectID of the currently monitored call
SupervisoryAction
The value 3. For the .NET CIL, this is 
SupervisoryAction.eSupervisorBargeIn