Cisco Cisco Computer Telephony Integration Option 9.0 Developer's Guide
4-70
CTI OS Developer’s Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted
Release 7.5(1)
Chapter 4 Building Your Application
Building Supervisor Applications
The following diagram illustrates the flow of messages between the application and CTIOS Server when
the supervisor application requests its team and then requests to monitor the team. Since logging in a
supervisor is the same as logging in an agent, this diagram picks up at the first AgentStateEvent after the
agent has logged in.
the supervisor application requests its team and then requests to monitor the team. Since logging in a
supervisor is the same as logging in an agent, this diagram picks up at the first AgentStateEvent after the
agent has logged in.
Figure 4-7
Message Flow between the Application and the CTI OS Server
The requests leading up to and including Agent.StartMonitoringAgent() is in
CTIObject.StartMonitoringAgent(). When writing a supervisor application, the developer should call
Agent.RequestAgentTeamList() and Agent.StartMonitoringAllAgentTeams(). The developer should
call these methods once the supervisor has logged in. In the CTIOS Toolkit Combo Desktop, this is done
when processing the eAgentStateEvent in the SupervisorUIManager class’ ProcessAgentStateEvent()
method. SupervisorUIManager checks to see that the current agent is a supervisor. If so and if
CTIObject.StartMonitoringTeams() has not already been called, CTIObject.StartMonitoringTeams() is
called. CTIObject.StartMonitoringTeams() then calls Agent.RequestAgentTeamList() and
Agent.StartMonitoringAllAgentTeams().
CTIObject.StartMonitoringAgent(). When writing a supervisor application, the developer should call
Agent.RequestAgentTeamList() and Agent.StartMonitoringAllAgentTeams(). The developer should
call these methods once the supervisor has logged in. In the CTIOS Toolkit Combo Desktop, this is done
when processing the eAgentStateEvent in the SupervisorUIManager class’ ProcessAgentStateEvent()
method. SupervisorUIManager checks to see that the current agent is a supervisor. If so and if
CTIObject.StartMonitoringTeams() has not already been called, CTIObject.StartMonitoringTeams() is
called. CTIObject.StartMonitoringTeams() then calls Agent.RequestAgentTeamList() and
Agent.StartMonitoringAllAgentTeams().
If these requests are successful, the desktop will begin receiving OnNewAgentTeamMember,
OnMonitoredAgentStateChange, and MonitoredAgentInfoEvent events. The next sections describe how
to handle each of these events.
OnMonitoredAgentStateChange, and MonitoredAgentInfoEvent events. The next sections describe how
to handle each of these events.
OnNewAgentTeamMember
OnNewAgentTeamMember events should be processed as follows.
The OnNewAgentTeamMember event is received for two possible reasons. They are as follows.
1.
After the application calls Agent.RequestAgentTeamList(), OnNewAgentTeamMember events are
sent for each member of the supervisor’s team.
sent for each member of the supervisor’s team.