System information
Controlling Queue Members with Dialplan Logic
In a call center staffed by live agents, it is most common to have the agents themselves
log in and log out at the start and end of their shifts (or whenever they go for lunch, or
to the bathroom, or are otherwise not available to the queue).
To enable this, we will make use of the following dialplan applications:
• AddQueueMember()
• RemoveQueueMember()
While logged into a queue, it may be that an agent needs to put herself into a state
where she is temporarily unavailable to take calls. The following applications will allow
this:
• PauseQueueMember()
• UnpauseQueueMember()
It may be easier to think of these applications in the following manner: the add and
remove applications are used to log in and log out, and the pause/unpause pair are used
for short periods of agent unavailability. The difference is simply that pause/unpause
set the member as unavailable/available without actually removing them from the
queue. This is mostly useful for reporting purposes (if a member is paused, the queue
supervisor can see that she is logged into the queue, but simply not available to take
calls at that moment). If you’re not sure which one to use, we recommend that the
agents use add/remove whenever they are not going to be available to take calls.
Using Pause and Unpause
The use of pause and unpause is a matter of preference. In some environments, these
options may be used for all activities during the day that render an agent unavailable
(such as during the lunch hour and when performing work that is not queue-related).
In most call centers, however, if an agent is not beside his phone and ready to take a
call at that moment, he should not be logged in at all, even if he is only going to be away
from his desk for a few minutes (such as for a bathroom break).
Some supervisors like to use the add/remove and pause/unpause settings as a sort of
punch clock, so that they can track when their staff arrive for work and leave at the end
of the day, and how long they spend at their desks and on breaks. We do not feel this
is a sound practice, as the purpose of these applications is to inform the queue as to
agent availability, not to enable tracking of employees’ activities.
An important thing to note here relates to the joinempty setting in queues.conf, which
was discussed earlier. If an agent is paused, he is considered as logged into the queue.
Let’s say it is near the end of the day, and one agent put himself into pause a few hours
earlier to work on a project. All the other agents have logged out and gone home. A call
comes in. The queue will note that an agent is logged into the queue, and will therefore
queue the call, even though the reality is that there are no people actually staffing that
queue at that time. This caller may end up holding in an unstaffed queue indefinitely.
268 | Chapter 13: Automatic Call Distribution (ACD) Queues