Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide

Page of 490
   
4-59
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(3)
Chapter 4      Building Your Application
Enabling Silent Monitor in Your Application
args.SetValue(Enum_CtiOs.CTIOS_AGENTREFERENCE, monAgentID) ;
args.SetValue(Enum_CtiOs.CTIOS_AGENTCALLREFERENCE, monCallID) ;
args.SetValue(
Enum_CtiOs.CTIOS_SUPERVISORYACTION, 
SupervisoryAction.eSupervisorMonitor) ;
CilError ret = curAgent.SuperviseCall(args) ;
Determining if the Current Agent is Being Silently Monitored
If an application needs to determine if the current agent is being silently monitored, then compare the 
current agent unique object id against the silent monitor target agent unique id carried in the 
SilentMonitorStartedEvent.
Code Sample for Determining if the Current Agent is the Target of a Silent Monitor Call
Note
The parameter args carries the payload of an OnSilentMonitorStartedEvent
.
public
 
bool
 IsCurrentAgentTargetAgent(Arguments args)
{
bool
 isTarget = 
false
 ;
if
 ( m_ctiSession != 
null
 )
{
Agent rAgent = m_ctiSession.GetCurrentAgent() ;
if
 ( rAgent != 
null
 )
{
     
string
 curAgentUID ;
                 rAgent.GetValueString(Enum_CtiOs.CTIOS_UNIQUEOBJECTID, 
                                       
out
 curAgentUID) ;
if
 ( curAgentUID != 
null
 )
{
  
string
 targetAgentUID ;               
                                args.GetValueString(
Enum_CtiOs.CTIOS_SILENTMONITOR_TARGET_AGENTUID, 
                        
out
 targetAgentUID) ;
if
 ( targetAgentUID != 
null
 )
{
isTarget = curAgentUID == targetAgentUID; 
}
}
}
}
return
 isTarget ;
}
Ending a CCM Based Silent Monitor Request
CCM based silent monitoring is stopped using the SuperviseCall method associated with the supervisor's 
Agent object. To stop silent monitor, set the SupervisoryAction parameter to eSupervisorClear. Set the 
AgentReference parameter to the unique object ID of the agent currently silent monitored. Set the