Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
ON THIS PAGE

On this page

Table of Contents
minLevel1
maxLevel
3
2
outlinefalse
stylenone
typelist
printablefalse
note

📋 What’s about?

The queue groups feature is used when the supervisor decides to increase the priority of different queues and he can use this feature to set a priority to several queues globally.

🎬 Video Tutorial

(blue star) Requirements

Panel
bgColor#EAE6FF

Queues Groups feature has been developed on New Client Experience and has been updated to the latest interface starting with version 3.42.0.
On old installationinstallations, to use these this kind of featuresfeature, it's necessary to run the script below during the upgrade on the same machine you already use (in order to add rules to the proxy).
To update the NGINX configuration, run the following script (as root):

(warning) This script is only for all in one or standalone installations, if you have HA, DR, reverse proxy etc you need to contact our support team

curl -u 'public:bs4#)W]h8+VK),RV' --silent --location https://repository.xenialab.com/repository/provisioning/Scripts/motionV3_nginx_update_for_x_client | bash

This script has to be launched for all releases prior to 3.22.0 and If you installed the server before Thursday, July 27, 2023Consider that the script overwrites the NGINX configuration file and any , this script must be launched.

To avoid issues, we recommend launching the script while agents and users are not logged in to the system and consider that, by running it, a new NGINX configuration file will be installed while the old client configuration file will be saved as a backup at the path indicated in the script. Any custom changes made by the user will not be lostautomatically carried over.

🔑 Keywords

First of all, you need to know what is meant by:

  • Penalty: you can define Agent Penalty to set his priority in the queue (< penalty value means > priority in receiving interactions). Penalty make makes the algorithm understand the order in which agents are to be contacted.
    Agent1 with Penalty1 has priority on Agent2 with Penalty3

  • Priority: numeric value from 1 to 10 used to determine the assignment of incoming calls. In fact Queue Priority lets the system know to which queues the calls should be routed first. (> value means > priority in receiving interactions)

  • Timeout (that in this case works as add after): a numeric value representing the seconds after which agents in a certain voice queue are added to the list of agents available to handle incoming calls to a specific inbound route (e.g. at the beginning 0'' calls are assigned to Queue1, after 30'' timeout the system adds to the list also agents of Queue2)

  • Inbound Route configurable in XCALLY by associating a public phone number to make e.g. the contact center centre reachable by voice calls. It’s possible to add more Voice Queues (with a relative list of agents with skills to manage the customer) on a single route

Team1 (timeout 10''):
John → Penalty=2
Bill → Penalty=1
James → Penalty=3
Team2 (timeout 10''):
Peter → Penalty=2
Mark → Penalty=2
James → Penalty=1

Scenario

When a call arrives on Team1, the system contacts firstly Bill (lower penalty)➡️ after 10'' without answer, it calls John ➡️ after 10'' without answer it contacts James
If James works also on Team2 with Penalty=1 → James must answer on Team2 firstly and then on Team1.

If the supervisor reaches the required SLA on Team1 and not on Team2, he has to increase the priority at the inbound route level in order to pass calls to a certain team first (in this case Team2).
Therefore by giving priority to a queue at the inbound route level (in the case of ring all strategy), calls pass first from the indicated inbound route with higher priority.

To assign priority, the supervisor should enter on each queue. To simplify this operation, it’s possible to use Queue Groups.

Queue Groups configuration

⚙️ Configuration

Queue groups are the feature that allows to set setting a priority to several queues at the global level.

When calculating priority, the priorities of the different queues are added to the priority entered at the queue group level.

  • To create a new Queue Group, you can click on the Voice → Queue Groups option and choose +Add

Image Removed
  • On info tab, you can indicate Queue Group Name, while on Queues tab you can click on + button to enter which queues belong to:

Image Removed
Image Removed

Of each selected queue you can specify image (1)-20241105-100951.jpgImage Added
  • You need to indicate the Queue Group Name:

image-20241105-101207.pngImage Added
Note

Consider that Queue Group name must be unique, otherwise the system shows you an error

image-20240131-143519.pngImage Added
  • Then by clicking on 3 dots of the created queue group, you can edit it, associate queues, associate routes or delete

image-20241105-101252.pngImage Added
  • By selecting edit, you can change name or associate queues and routes directly from the topbar icons

image-20241105-101937.pngImage Added
  • By clicking on Associate queues, you can select the different queues that you want to associate (also filtering by name with search field), with relative priority and timeout

Image Removed

It’s also possible to select multiple queues simultaneously with multiselect option

Image Removedimage-20241105-101628.pngImage Added
  • Finally, by choosing Associate Routes, you can view all internal/inbound routes associated to the specific queue group (so it is a display-only modal):

image-20241105-102224.pngImage Added

  • So when a route will be associated to this queue group, based on the set timeout, the system will call agents in the queue to be executed + agents in the queues previously contacted without reply. (E.g. system calls before Agents in Support Queue → after 1510'' without reply it calls Agents in Sales Queue + Agents in Support Queue)

Image Removedimage-20241105-102538.pngImage Added

If two agents (one belonging to Support and one belonging to Sales) are available at the same time, the call is received by the agent belonging to the queue with higher priority.

Configure Route with Queue Group Application

  • After creating Queue Group, you can configure route (inbound or internal). The same queue group can be associated to different routes.
    On Dialplan Actions, you can add Queue Group Application

Image Removedimage-20240110-150452.pngImage Added

Application Queues Group requires:

  • Queue Group to consider (by choosing it from the dropdown menu)

  • Global Priority: priority associated to the group associated with the route. By default, queue priorities are applied, but if you indicate global priority at queue group level, it works like a “multiplier” for queues that belong to it. (value from 1 to 10 - default 0)
    If supervisor notices that fewer calls are coming in on a route, he can decide to increase group priority → with same queues and same agents, route with the higher global priority receives calls first

  • Options: you can insert Asterisk options (for more details you can explore Dial - Asterisk Documentation)

  • Music On Hold from the list of audios, which will be reproduced to the caller (default none)

  • Timeout: it works like timeout of normal queues: when it expires, system switches to next application inserted in dialplan (default 300 - required field)

  • flag (true/false) Answer (default true)

(lightbulb) Example of Global Priority

Scenario

You create 2 Queue Groups QG1 and QG2, associated to relative queues:


Queue Group QG1, related to 3 queues:
- Support1 [Agent1, Agent2] : Priority 3 - calls executed at sec 0''
- Support2 [Agent3, Agent4] : Priority 2 - calls executed at sec 10''
- Support3 [Agent5, Agent6] : Priority 2 - calls executed at sec 20''
You create an inbound route on phone 0111234 and on action flow you insert Queue Group application, choosing the option QG1 ⤵️
The 3 queues will be contacted with indicated timeout, starting from Support1
→ Sec. 0'' = Support1 with Agent1, Agent2
→ Sec. 10'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4
→ Sec. 20'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4 + Support3 with Agent5, Agent6
Queue Group QG2, related to 3 queues:
- Support1 [Agent1, Agent2] : Priority 3 - calls executed at sec 0''
- Support2 [Agent3, Agent4] : Priority 2- calls executed at sec 10''
- Support3 [Agent5, Agent6] : Priority 2 - calls executed at sec 20''
You create an inbound route on phone 021234 and on action flow:
You insert Queue Group application, choosing the option QG2 ⤵️
The 3 queues will be contacted with indicated timeout, starting from Support1
→ Sec. 0'' = Support1 with Agent1, Agent2
→ Sec. 10'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4
→ Sec. 20'' = Support1 with Agent1, Agent2 + Support2 with Agent3, Agent4 + Support3 with Agent5, Agent6

If supervisor notices that fewer calls are coming in on 021234 route, he can decide to increase group priority of QG2, soroute with the higher global priority receives calls first(and queue group priority works like a “multiplier” for queues below which sums queue priority+global priority).

👥 Agent’s priority for simultaneous presence on multiple queues

Moreover, you can work on Agents priority:

Scenario
If you have agent James entered at the same time on 2 different queues (of 2 different queue groups) and you want to give priority to a Support3 Queue, you can enter the agent penalty, indicating it is lower on the priority queue:

  • James with Penalty 1 on Queue Support3

  • James with Penalty 3 on Queue Sales3

In this way James will receive calls firstly on Queue Support3

(blue star) Related topics

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@957
maxCheckboxfalse
showSpacefalse
sortmodified
typepage
reversetrue
labelswebrtc agent asterisk
cqllabel in ( "queues" , "routes" ) and type = "page" and space = "XM"