Siebel Universal Queuing Administration Guide > Installing and Running Siebel Universal Queuing > Configuring Sequential Assignment >

Event and Command Definitions for Sequential Assignment


The implementation of the second option for sequential assignment, described in Using Sequential Assignment as Defined in File callrouteA.def, is mostly handled through the Siebel Communications Server configuration. The communications definitions file callrouteA.def, from which event and command definitions can be imported, includes definitions that support sequential assignment.

For more information about importing configuration data from a file such as callrouteA.def, refer to Siebel Communications Server Administration Guide.

In order to use the second option for sequential assignment, you may need to change, or verify, your communications configuration. Selected communications events and commands in the communications definition file callrouteA.def are described in this section. It is important to understand how these definitions work so that you can modify them to meet your needs.

When the file callrouteA.def is prepared appropriately for your needs, you import the events and commands from this file into your communications configuration. (Alternatively, you may choose to use multichannelA.def, which supports Siebel Universal Queuing for the email channel—not the voice channel—but does not include event and command definitions that support sequential assignment.)

For more information about working with .def files, about communications events and commands, and about special events mentioned in this section, refer to Siebel Communications Server Administration Guide.

If you will import definitions from callrouteA.def and do not want to enable the second option for sequential assignment, do both of the following before you import definitions from the file:

  • Uncomment the lines in "section A" of the file (thereby enabling the channel-specific child buttons for the Change Ready State toolbar button)
  • Comment out the lines in "section B" of the file (thereby disabling the sequential assignment events and commands)

NOTE:  When you are using the second method of implementing sequential assignment, but you do not want to route work items of all channels to all agents, then you must handle this in a special manner. For each applicable agent, you must change the simultaneous sessions setting to 0 for a channel to be dropped, as described in Simultaneous Sessions. In addition, however, you must move all such agents to a separate communications configuration, which should support sequential assignment but should not support the dropped channel.

Example Events and Commands for Blocking and Unblocking Channels

The following example event and command definitions (from "section B" of callrouteA.def) support the second option for sequential assignment. These events and commands are for blocking and unblocking other applicable channels after an email work item has been started or released. Events and commands for blocking and unblocking other channels when the current work item is voice are also included in "section B" of callrouteA.def file.

NOTE:  In the case of an email work item, blocking of other channels occurs when the work item has actually been started, based on the @PreWorkItemStartedEvent special event. In the case of a voice work item, however, the special event @PreIndicateNewWorkItemEvent is employed; blocking of other channels occurs whether or not the voice call has been answered.

The following event definitions are for blocking all other channels (that is, voice) after an email work item has been started.

[EventHandler:PreWorkItemStartedEvent_Email]
DeviceEvent = "@PreWorkItemStartedEvent"
Response = "PreWorkItemStartedEvent_Email"
Filter.ChannelType = "Email"
Order = "1"

[EventResponse:PreWorkItemStartedEvent_Email]
Command = "BlockAllUQChannel_Except_Email"

The following command definitions are for blocking all other channels (that is, voice) after an email work item has been started.

[Command:BlockAllUQChannel_Except_Email]
Hidden = "TRUE"
ExecuteAll = "TRUE"
SubCommand_2 = "CallUQAgentBusy_Voice"

[Command:CallUQAgentBusy_Voice]
Hidden = "TRUE"
DeviceCommand = "@UQBlockAgentChannel"
FilterSpec = "[$GetCommandStatus(@UQAgentChangeReadyState(Voice))] = 'Enabled' OR [$GetCommandStatus(@UQAgentChangeReadyState(Voice))] = 'Checked'"
CmdData = "CallUQAgentBusy_Voice"

[CmdData:CallUQAgentBusy_Voice]
Param.MediaType = "Voice"

The following event definitions are for unblocking all other channels (that is, voice) after an email work item has been released.

[EventHandler:WorkItemReleasedEvent_Email]
DeviceEvent = "@PreWorkItemReleasedEvent"
Response = "WorkItemReleasedEvent_Email"
FilterSpec = "[$GetWorkItemAttr(WorkItemID, IsRevoked)] = 'FALSE'"
Filter.ChannelType = "Email"
Order = "1"

[EventResponse:WorkItemReleasedEvent_Email]
Command = "UnBlockAllUQChannel_Except_Email"

The following command definitions are for unblocking all other channels (that is, voice) after an email work item has been released.

[Command:UnBlockAllUQChannel_Except_Email]
Hidden = "TRUE"
ExecuteAll = "TRUE"
SubCommand_2 = "CallUQAgentAvailable_Voice"

[Command:CallUQAgentAvailable_Voice]
Hidden = "TRUE"
DeviceCommand = "@UQUnBlockAgentChannel"
FilterSpec = "[$GetCommandStatus(@UQAgentChangeReadyState(Voice))] = 'Enabled' OR [$GetCommandStatus(@UQAgentChangeReadyState(Voice))] = 'Checked'"
CmdData = "CallUQAgentAvailable_Voice"

[CmdData:CallUQAgentAvailable_Voice]
Param.MediaType = "Voice"

Siebel Universal Queuing Administration Guide