Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 490
   
4-25
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(3)
Chapter 4      Building Your Application
Connecting to the CTI OS Server
   agent.SetValue(CtiOs_IKeywordIDs.CTIOS_PERIPHERALID, "5002");
   /* 2. Set the session's agent */
   int returnValue = session.SetAgent(agent);
}
When successful, the SetAgent() method generates the following events:
OnQueryAgentStateConf()
OnSetAgentModeConf()
OnSnapshotDeviceConf(), if the agent is already logged in
OnSnapshotCallConf(), if there is a call and the agent is already logged in
OnCTIOSFailureEvent() 
When to Use Monitor Mode
Use Monitor Mode for applications that need to receive all events that CTI OS Server publishes or a 
specified subset of those events. Monitor Mode applications may receive events for calls, multiple 
agents, or statistics. The session receives specific events based on the event filter specified when setting 
the session to Monitor Mode.
Caution
Monitor Mode, as the name implies, is intended for use in applications that passively listen to CTI OS 
server events. Monitor Mode is not intended for use in applications that actively control the state of calls 
or agents. Such applications include but are not limited to the following:
- Applications that log in agents and change their state
- Applications that make or receive calls and change their state
- Applications that silently monitor agents
Caution
When a Monitor Mode session is initialized, the CTI OS Server performs a CPU intensive sequence 
of operations to provide the application with a snapshot of the state of the system. A large number of 
Monitor Mode applications connecting to CTI OS server at the same time, such as in a fail-over 
scenario, can cause significant performance degradation on CTI OS Server. Therefore, minimize the 
number of Monitor Mode applications connecting to CTI OS Server to two (2).
Warning
Note that you can only use the button enablement feature in agent mode sessions and is not intended 
for Monitor Mode applications.
Monitor Mode Filters
Overview
To set a connection to Monitor Mode, you must create a filter that specifies which events to monitor over 
that connection. The filter is a String; that String is the value for the 
CtiOs_IKeywordIDs.CTIOS_FILTER key in an Arguments instance. That Arguments instance is the 
argument for the SetMessageFilter() method.