Руководство Разработчика для Cisco Cisco Computer Telephony Integration Option 9.0
Chapter 4 Building Your Application
Building Supervisor Applications
4-108
CTI OS Developer’s Guide for Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.1(1)
Upon successfully calling this method, the application will receive many events
since this method not only changes the state of the monitored call, but also
delivers a call to the supervisor which changes the supervisor’s state. When a
OnButtonEnablementChange event is received, be sure to check the monitored
flag. If the flag does not exist or exists and is set to false, apply the event to any
application specific logic or UI to control the supervisor’s state. This is illustrated
in SoftphoneForm.OnEvent(). Notice that this method discards any event that is
monitored.
since this method not only changes the state of the monitored call, but also
delivers a call to the supervisor which changes the supervisor’s state. When a
OnButtonEnablementChange event is received, be sure to check the monitored
flag. If the flag does not exist or exists and is set to false, apply the event to any
application specific logic or UI to control the supervisor’s state. This is illustrated
in SoftphoneForm.OnEvent(). Notice that this method discards any event that is
monitored.
One or more OnSupervisorButtonChange events will be received by the
application. These events notify the application that it is now possible to intercept
the agent’s call.
application. These events notify the application that it is now possible to intercept
the agent’s call.
The trickiest piece of handling the events that result from a successful call to
Agent.SuperviseCall() is handing the resulting Call and MonitoredCall events.
All CallEvents should be applied to whatever application specific object and/or
UI element is managing calls directly connected to the supervisor’s device
(SoftphoneForm in the combo desktop). All MonitoredCallEvents should be
applied to whatever application specific object and/or UI element is managing
calls connected to the supervisor’s team members/monitored agents
(SupervisorUIManager in the combo desktop).
Agent.SuperviseCall() is handing the resulting Call and MonitoredCall events.
All CallEvents should be applied to whatever application specific object and/or
UI element is managing calls directly connected to the supervisor’s device
(SoftphoneForm in the combo desktop). All MonitoredCallEvents should be
applied to whatever application specific object and/or UI element is managing
calls connected to the supervisor’s team members/monitored agents
(SupervisorUIManager in the combo desktop).
Calling SuperviseCall() with the SupervisoryAction set to barge-in, essentially
initiates a consultative conference between the caller, agent, and supervisor. This
means that whatever UI elements and/or objects that handle monitored calls has
to be able to handle the set of events that setup a consultative conference. In
general, this is not too difficult. The consultative call is joined to the conference
call by sending a MonitoredCallEndEvent to end the consultative call. Then a
MonitoredCallDataUpdateEvent is used to change the ID of the call to the
conference. The MonitoredCallEndEvent will take care of cleaning up the
consultative call. The trick is to check OnMonitoredCallDataUpdateEvents for
initiates a consultative conference between the caller, agent, and supervisor. This
means that whatever UI elements and/or objects that handle monitored calls has
to be able to handle the set of events that setup a consultative conference. In
general, this is not too difficult. The consultative call is joined to the conference
call by sending a MonitoredCallEndEvent to end the consultative call. Then a
MonitoredCallDataUpdateEvent is used to change the ID of the call to the
conference. The MonitoredCallEndEvent will take care of cleaning up the
consultative call. The trick is to check OnMonitoredCallDataUpdateEvents for
Key
Value
AgentReference
The UniqueObjectID of the currently
monitored agent
monitored agent
CallReference
The UniqueObjectID of the currently
monitored call
monitored call
SupervisoryAction
The value 3. For the .NET CIL, this is
SupervisoryAction.eSupervisorBargeIn
SupervisoryAction.eSupervisorBargeIn