Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide

Page of 640
 
Chapter 4      Building Your Application
Building Supervisor Applications
4-96
CTI OS Developer’s Guide for Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)
If these requests are successful, the desktop will begin receiving 
NewAgentTeamMember, MonitoredAgentStateEvent, and 
MonitoredAgentInfoEvent events.  The next sections describe how to handle each 
of these events.
NewAgentTeamMember
NewAgentTeamMember events should be processed as follows. 
The NewAgentTeamMember event is received for two possible reasons.  They are 
as follows.
1.
After the application calls Agent.RequestAgentTeamList(), 
NewAgentTeamMember events are sent for each member of the supervisor’s 
team.
2.
An agent has been added or removed from the supervisor’s team.
To address point 2 above, the field “ConfigOperation” in the payload of the 
NewAgentTeamMember event must be examined.  If this flag does not exist or 
exists and is set to TeamConfigFlag.CONFIG_OPERATION_ADDAGENT (1), 
the agent should be added to the grid.  If the flag exists and is not set to 
TeamConfigFlag.CONFIG_OPERATION_ADDAGENT, the agent should be 
removed from the grid.
In supervisor applications, use the value in the UniqueObjectID field of the event 
to uniquely reference/track each agent in the supervisor’s team.  This ID uniquely 
identifies each agent cached on the CIL.
NewAgentTeamMember Events and Supervisors
Note
Since the supervisor is considered part of the team, an NewAgentTeamMember 
event is sent for the supervisor logged into the application.  If the developer does 
not want to include the supervisor in the agent team grid, compare the current 
agent ID to the ID of the agent carried in the NewAgentTeamMember event.  If 
the values are equal, do not add the supervisor to the grid.
If the developer does not want to add primary supervisors to the grid, retrieve the 
Agent object stored in the CIL using the Session.GetObjectFromObjectID() 
method.  When calling Session.GetObjectFromObjectID(), set the value in the