Cisco Cisco Computer Telephony Integration OS 8.5 开发者指南
4-97
CTI OS Developer’s Guide for Cisco ICM/IPCC Enterprise & Hosted Editions Release 7.0(0)
Chapter 4 Building Your Application
Building Supervisor Applications
“UniqueObjectID” (Enum_CtiOs.CTIOS_UNIQUEOBJECTID) field of the
NewAgentTeamMember event as the key (first parameter to this method). This
method will return an Agent object. Check the properties of the Agent object for
the field “AgentFlags” (Enum_CtiOs.CTIOS_AGENTFLAGS). If the field exists
with the TeamConfigFlag.AGENT_FLAG_PRIMARY_SUPERVISOR (0x01) bit
set, the agent is a primary supervisor and should not be added to the grid.
NewAgentTeamMember event as the key (first parameter to this method). This
method will return an Agent object. Check the properties of the Agent object for
the field “AgentFlags” (Enum_CtiOs.CTIOS_AGENTFLAGS). If the field exists
with the TeamConfigFlag.AGENT_FLAG_PRIMARY_SUPERVISOR (0x01) bit
set, the agent is a primary supervisor and should not be added to the grid.
It is possible for an agent to be a team’s supervisor while not being a member of
the team. Some supervisor applications, including the combo desktop, may not
want to add this type of supervisor to the agent select grid. This is tricky because
supervisors that are not part of the team will generate
MonitoredAgentStateEvents. The agent select grid normally updates when the
MonitoredAgentStateEvent is received. In order to prevent this, supervisors who
are not members of the team that they are supervising will need to be marked as
such. This information can be used to avoid updates when a
MonitoredAgentStateEvent is received for a supervisor that is not part of the
team. In order to accomplish this, the application leverages the following.
the team. Some supervisor applications, including the combo desktop, may not
want to add this type of supervisor to the agent select grid. This is tricky because
supervisors that are not part of the team will generate
MonitoredAgentStateEvents. The agent select grid normally updates when the
MonitoredAgentStateEvent is received. In order to prevent this, supervisors who
are not members of the team that they are supervising will need to be marked as
such. This information can be used to avoid updates when a
MonitoredAgentStateEvent is received for a supervisor that is not part of the
team. In order to accomplish this, the application leverages the following.
1.
NewAgentTeamMember events will not be received for supervisors that are
not part of the team.
not part of the team.
2.
The CIL keeps a cache of all the agents and supervisors that it knows about.
Agents in this cache have properties that can be modified by applications built
on top of the CIL.
Agents in this cache have properties that can be modified by applications built
on top of the CIL.
Knowing this, the application will mark every agent that is included in a
NewAgentTeamMember event as a member of this supervisor's team. When
MonitoredAgentStateEvents are received, the agent select grid will only update
when the agent that is represented by the event is marked as a member of the team.
In short, any agent that does not send a NewAgentTeamMember event to the CIL
will not be displayed in the agent select grid. This is illustrated in the
SupervisorUIManager.ProcessMonitoredAgentStateChange() method.
NewAgentTeamMember event as a member of this supervisor's team. When
MonitoredAgentStateEvents are received, the agent select grid will only update
when the agent that is represented by the event is marked as a member of the team.
In short, any agent that does not send a NewAgentTeamMember event to the CIL
will not be displayed in the agent select grid. This is illustrated in the
SupervisorUIManager.ProcessMonitoredAgentStateChange() method.
MonitoredAgentStateEvent
MonitoredAgentStateEvents are sent when an agent in the supervisor’s team
changes state. Supervisor applications, like the CTIOS Toolkit Combo Desktop
use this event to update structures that store the supervisor’s team (the agent team
grid). This event is processed similar to NewAgentTeamMember. However, there
is one subtle difference. Instead of using the Arguments object carried with the
event, the application should use the arguments associated with the agent object
cached by the CIL. This is done to correctly handle skill group membership
changes state. Supervisor applications, like the CTIOS Toolkit Combo Desktop
use this event to update structures that store the supervisor’s team (the agent team
grid). This event is processed similar to NewAgentTeamMember. However, there
is one subtle difference. Instead of using the Arguments object carried with the
event, the application should use the arguments associated with the agent object
cached by the CIL. This is done to correctly handle skill group membership