Imagicle Advanced Queuing is the enhanced call queuing and distribution application that allows effective management of incoming calls without the need of expensive and complex call center systems. It allows accepting and managing high volumes of incoming traffic, keeping the calls in queues and playing music while waiting for an operator to become available.
Advanced Queuing is the perfect product for inbound telephony services: front-end operators, help desks, assistants. Advanced Queuing is mainly focused on:
- Providing a comfortable waiting treatment to the external and internal callers
- Optimizing calls dispatching and the operators work, raising the daily volume of managed calls
- Providing enhanced reports to monitor and tune the company incoming calls treatment
The web interface enables the administrator to design in a few steps either simple queuing services or more complex scenarios, including calendar schedules, backup routing, overflow treatments, leveraging the wide set of available features and the flexibility of the application.
Imagicle Advanced Queuing is a voice application leveraging its internal SIP stack. Incoming calls are accepted, answered and kept in queue by the application that applies the scheduled treatments and replay the configured voice prompt/music to the callers.
Once an agent/target becomes available, the application transfers the call to the target, so that the voice resource is freed and a direct call between the caller and the agent is managed by the Calling Platform.
Basically, Advanced Queuing interacts with Calling Platform in two ways:
A SIP trunk to carry on voice calls to/from Advanced Queuing
A CTI link (provided by a TAPI Service Provider) used to monitor the agents phone activity.
The image below is a high level representation of the application architecture and interactions.
Incoming calls are routed by your Calling Platform to the waiting queues depending on the called number (DNIS). In the case you need more complex rules, including interactive menu choices by the end user, you can leverage Auto Attendant in front of Advanced Queuing, for example to provide a service or a language pre-selection.
An incoming queue is an entry point for incoming calls that need to be dispatched to one or more agents. Calls enter the queue and are dispatched to the first available agent or are held in queue while agents are busy.
Calls are managed in a FIFO fashion (first in, first out).
While waiting in queue, music on hold and other optional voice prompts are played to the callers.
Each queue is mainly associated to:
- A unique mnemonic name to identify the queue
- A unique telephone number (DNIS), that is the number to be called to enter the queue.
- A set of destination targets (agents or phone numbers) configured to answer the incoming calls.
- A set of programmed behaviours, based on time/calendar schedule and exceptions.
- A set of voice prompts.
- A login telephony number that agents can dial to login/logout themselves in the queue.
- A priority level in the range 1-10
Basically, the usual call flow that is applied when the queue is in service is the following:
Welcome Message => Waiting Music (loop) and optional wait voice prompts => Transfer to the agent
The priority level is considered when an agent is serving multiple queues: calls in higher priority queues will be served first by the system.
Treatments and behaviours
A treatment is an action that can be applied to the incoming call in a particular time interval or in a specific situation. Available treatments include:
Enqueue: the call is put in queue waiting for an available agent. An optional configurable welcome message can be provided.
Drop: the call is dropped by Advanced Queuing, usually applied when the call is out of service. An optional configurable voice message can be provided before hang up.
Transfer-to: forwards the call to another phone number (maybe another queue, a mobile number, a backup hunt group, etc.). An optional configurable voice message can be provided before transferring the call.
A behaviour is basically a time interval or a particular situation that triggers a specific treatment on the incoming call. Following behaviours can be defined for each queue, they are listed in the increasing priority order they do apply:
Default behaviour: this behaviour and the related treatment are applied out of any configured schedule. For example this can be used to set the queue out of service out of the scheduled days/time intervals.
Ordinary weekly schedule: the weekly schedule that applies to the queue. Administrators can program treatments over the week specifying which treatments to apply in each configured time interval.
Holidays and special events: these are scheduled exceptions that override the weekly ordinary schedule (for example the Christmas day or a special opening on Sunday).
Particular scenarios: particular situation that trigger specific treatments, regardless of the programmed schedule. For example, particular treatments can be defined if no agents are available when the call arrives or if there is an overflow in the waiting queue.
Programming the queue means defining the possible behaviours with the associated treatments and voice prompts.
Imagicle Advanced Queuing dispatch queued calls to the first available destination target. Two kinds of destination targets can be configured for each queue:
Agents: an agent is an UC Suite user associated to his/her primary extension. The agent needs to login the queue in order to receive calls.
Simple destination numbers: a destination number is basically a phone number reachable by Advanced Queuing, for example an extension, an hunt group pilot, a voicemail pilot, an external phone number. Login is not required by this kind of targets in order to receive calls from the queue.
In both cases, Advanced Queuing tries to monitor the target phone number by the CTI/TAPI link, in order to optimise the call distribution and save the conversation times for reporting scopes. Advanced Queuing monitors the target phone and tries to transfer the call to a target when it sees it idle (not busy). Targets that cannot be monitored by TAPI (for example external numbers and a generic answering group) are engaged by the Advanced Queuing in a best-effort way, that is attempting to call them even if they are busy, eventually retrying later. Also notice, that some distribution algorithms don't work properly if one or more targets are not CTI-monitored (see the dedicated section for details).
Agents can login/logout in one of the following ways:
- Calling the login phone number of the queue from the agent extension: a simple responder will answer playing the actual status (logged in/logged out) of the agent on that queue
- Using the login/logout web page, in the UC Suite web portal
- Using the Attendant Console client (if available and licensed)
Calls distribution algorithms
Advanced Queuing dispatches calls to the available targets using a distribution algorithm, that can be defined by the administrator specifically for each queue. This algorithms instructs the Advanced Queuing on how choosing the next agent do dispatch the next call in queue.
Destination targets are grouped into escalation levels. An escalation level is a group associated to a progressive number that is considered by some of the available algorithms in the case of no-answer escalation. Such algorithms try to engage an available target starting from the first escalation level; if nobody answers the call in the current escalation level, the algorithm raises to the next escalation level group, searching for another available target. Algorithms involving escalation levels also can have sub-selection variants, that are different policies used to choose the first agent when considering raising in the higher escalation level.,
Following, a table representing the available algorithms and their sub-selection variants, with the description of how they work. Please, notice how some algorithms require that all target phones are CTI-monitored (TAPI) to make them working properly. If one or more phones are not monitored, the call distribution of such algorithms may be different from the expected one.
Please note that the algorithms never take into account how much time the agent was logged into the system. If needed, they calculate the time the agent spent on a call.
|Algorithm type||Considers Escalation level||Requires CTI monitoring||Description||Sub-selections policies|
|Priority||Yes||Yes||Selects the available agent starting from the first escalation level. Escalates to next levels only when all agents in previous levels are not available or busy. This algorithm can be used to manage skill levels, balancing the load inside the skill group.||
|Sequential||Yes||no||Scans for an available agents/targets starting from the first level. If a call is not answered by the current level, it escalates to the next level (no-answer escalation).If the call is not answered by the next escalation level, it loops back to the first agent group.||
|Round Robin||No||No||Always selects the available agent with the oldest engagement. Escalation level and position in the group are not considered by this algorithm, that is focused only to load-balancing.||- None -|
|Idle Time||No||Yes||Selects the available agent that is idle for the longest time. Escalation level and position in the group are not considered by this algorithm, that is focused on the load-balancing.||- None -|
|Broadcast||No||No||All agents/destination phones are made ringing at the same time, the first of them answering will take in charge the call. Priority level is not considered by this algorithm.||- None -|
|On Demand ("pull")||No||No||This algorithm does not push the call to agents. By using their Attendant console, they can manually pick and answer a call from the waiting queue. The call remains in the queue until it is picked up by an agent or the maximum waiting time is over.||- None -|
When a call is queued, Advanced Queuing evaluates a set of conditions in order to understand which is the right treatment to apply to the call.
Basically, it has to check if it has available resources (licensed channels) to manage the new call, understand the treatment scheduled for the current date/time and check if particular scenarios occur (overflow, no agents available, etc.).
The following schema depicts the decision tree that is evaluated by Advanced Queuing when a new call arrives to a queue number and the possible treatments that could be applied.
Once a call is enqueued for an agent, it can be:
- SERVED: answered by an agent
- ABANDONED: disconnected by the caller while waiting
- TERMINATED: dropped by the system because of time out (maximum waiting time)
Imagicle Contact Manager integration
Imagicle Advanced Queuing can lookup caller numbers into Contact Manager public directories content. If a match is found, two additional features are available:
- If the matched contact belongs to a directory marked as VIP, the call is managed by Advanced Queuing with higher priority respect to the other regular calls;
- Advanced Queuing can show the caller name on Attendant Console, when receiving a call from a contact whose number is available in a Contact Manager Directory.
Both these features will be available only if Contact Manager is licensed on the same machine.
Technical note: since Advanced Queuing performs an anonymous query on Contact Manager directories, only the contacts stored in Public directories will be considered.
This article was:
Thank you for your feedback!
|Administration Guide||Configuration Task List|