Cisco Cisco Computer Telephony Integration OS 8.5 개발자 가이드
4-68
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(3)
Chapter 4 Building Your Application
Building Supervisor Applications
In the following section, string keys are used as keys to method calls. This is for the sake of readability.
A developer writing an application can use either string or integer based keys.
A developer writing an application can use either string or integer based keys.
General Flow
The general flow of a supervisor application is as follows.
1.
Request the supervisor’s teams.
2.
Start monitoring the supervisor’s team.
3.
Select a team member and start monitoring the selected team member’s activity.
4.
Perform supervisory actions on the currently monitored call.
These steps illustrate the layers of a supervisor application. First, the application gets the team. Once the
team is retrieved, the supervisor application can monitor agents. This generates more events/information
allowing the supervisor application to monitor agent calls.
team is retrieved, the supervisor application can monitor agents. This generates more events/information
allowing the supervisor application to monitor agent calls.
Monitored and Unmonitored Events
When writing a supervisor application, developers is confronted with two types of events: monitored
events and unmonitored events.
events and unmonitored events.
Unmonitored events are received for agent, call, and button enablement events associated with the
supervisor. Monitored events are received to notify the supervisor of agent, call, and button enablement
events corresponding to an agent or call that is currently monitored by the supervisor. These events carry
a field named
supervisor. Monitored events are received to notify the supervisor of agent, call, and button enablement
events corresponding to an agent or call that is currently monitored by the supervisor. These events carry
a field named
CTIOS_ISMONITORED
. This field is set to true.
For example, if a supervisor changes state to ready, the supervisor receives an AgentStateEvent. If a
supervisor is monitoring an agent and the monitored agent changes state, the supervisor receives an
OnMonitoredAgentState event. Call events behave in a similar manner. When the supervisor puts a call
on hold, the supervisor receives an OnCallHeld event. When the supervisor is monitoring an agent and
that agent puts a call on hold, the supervisor receives an OnMonitoredCallHeld event.
supervisor is monitoring an agent and the monitored agent changes state, the supervisor receives an
OnMonitoredAgentState event. Call events behave in a similar manner. When the supervisor puts a call
on hold, the supervisor receives an OnCallHeld event. When the supervisor is monitoring an agent and
that agent puts a call on hold, the supervisor receives an OnMonitoredCallHeld event.
Button enablement events behave differently. When the supervisor is monitoring agents on the
supervisor’s team, the agent receives OnButtonEnablementChange events for the monitored agent. It is
important for the application not to apply these events to elements of the application that control the
supervisor’s or any of the supervisor’s calls state. For example, if a monitored agent changes state to
ready, the supervisor receives a ButtonEnablementChange event. The supervisor should not apply this
event since the event does not apply to the supervisor’s state.
supervisor’s team, the agent receives OnButtonEnablementChange events for the monitored agent. It is
important for the application not to apply these events to elements of the application that control the
supervisor’s or any of the supervisor’s calls state. For example, if a monitored agent changes state to
ready, the supervisor receives a ButtonEnablementChange event. The supervisor should not apply this
event since the event does not apply to the supervisor’s state.
To determine if an event is monitored, check the payload of the event for the “Monitored” field. If the
field exists and is set to true, the event is a monitored event.
field exists and is set to true, the event is a monitored event.
Requesting and Monitoring the Supervisor’s Teams
This section discusses steps 1 and 2 in the flow of a supervisor application. The methods and events listed
below are used to request and monitor the team.
below are used to request and monitor the team.
Methods Called:
Agent.RequestAgentList(Arguments args)
Agent.StartMonitoringAgentTeams(Arguments args)
Agent.StartMonitoringAgentTeams(Arguments args)
Events Processed: