Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 490
   
4-24
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
How to Set the Connection Mode
After the session is created, you must specify the connection mode for the session. You must use one of 
two modes:
Agent mode
Monitor mode
Setting the Connection Mode in the OnConnection() Event Handler
To ensure that you only try to set the connection mode on valid connections, place the code to set the 
connection mode within the OnConnection() event handler. The OnConnection() event is generated by 
a successful Connect() method.
Caution
The application contains logic within the OnConnection() event handler to ensure it attempts to set 
the connection mode only during the initial connection, and not in an OnConnection() event due to 
failover.
When to Use Agent Mode
You use Agent mode for connections when the client application must log in and control a specific agent. 
When in Agent mode, the connection also receives call events for calls on that agent’s instrument, as 
well as system events.
How to Select Agent Mode
To select Agent mode for the connection, in the OnConnection() event:
Step 1
Set properties for the agent.
Note
The properties required for the agent depend on the type of ACD you use. The following 
example demonstrates the required properties for Unified CC users.
Step 2
Set the agent for the Session object to that Agent object.
Note
In the Java CIL only: If the SetAgent() method is called on a session in which the current 
agent is different than the agent parameter in the SetAgent() method, the Java CIL 
automatically calls the Disconnect() method on the current session instance, generating an 
OnCloseConnection() event, then attempts to reconnect, generating an OnConnection() 
event. Then the new agent is set as the current agent.
The following example, which assumes the Session object has been created and connected to the CTI 
OS Server, demonstrates this task in 
Java:
void OnConnection(Arguments rArgs) {
   /* 1. Create and agent and set the required properties. */
   Agent agent = new Agent();
   agent.SetValue(CtiOs_IKeywordIDs.CTIOS_AGENTID, "275");