Queues
What is a Voice Queue?
A voice queue is a way to route incoming calls to a group of agents.
Callers waiting in the queue can hear an announcement, informing them of their waiting time and their position in the queue.
You must have admin role or user role with voice queues permission to be able to manage voice queues in XCALLY Motion. Note that a user can only see the voice queues assigned to him/herself
The Voice Queues section
You can find the Voice Queues section under the Voice menu.
Create a Voice Queue
To create an Queue click the New button
Enter the Queue's details:
- Name;
- Strategy;
- Description (optional)
Queue Strategy defines how incoming calls are divided between agents in a queue. You can set one of the following strategies:
- Ringall: ring all agents until one answers
- RRMemory (Round Robin Memory): ring the agent succeeding the agent contacted during last call
- Least recent: ring the agent which was least recently called by this queue
- Fewest calls: ring the agent who has recently answered to the minimum number of calls in the queue
- Random: randomly routes calls to agents
- Linear: ring agents according to the order they are listed in the configuration file
- Weight random: randomly routes calls to agents but uses the agent’s penalty as a weight.
After the voice queue is created, you can view the queue in the list of voice queues. You can edit the queue, add agents to a queue or add a team to a queue.
Edit/Modify a Voice Queue
To edit a voice queue find the queue from the voice queue list (you can use the search box on the top-right of the page to filter) and click on the three dots button to make the available commands appear:
When you edit a Voice Queue you can insert all the configuration parameters in three tabs:
Settings
In the Queue General Settings form you can edit and modify the following queue parameters:
- Strategy: choose among the proposed list the proper strategy (see above for the list of them)
- Timeout: how long (in seconds) the devices receiving calls from this queue must ring (Default value=15)
- Maximum Length: insert here the maximum number of callers allowed to wait in the queue (0=unlimited)
- Retry: insert here the time in seconds to wait before passing a call to another agent, after a previous agent timeout expiration (Default=2)
- Wrapup Time: set here the time in seconds a queue member must be unavailable after completing a call (default=0)
- Weight: insert here a value to associate to the queue weight, in case an Agent belongs to several queues (default=0)
- Join when empty: leave the default value "yes" if you want a caller is passed to a queue even if no member is available to answer (otherwise insert "no")
- Leave when empty: insert "yes" if you want the callers are moved from the queue if no member is available to take the call (otherwise leave the default value "no")
- Music on Hold: click on this field to choose one of the available sounds to be played to the caller while waiting to be connected to a queue member
- Announce to Agent: click on this field to choose one of the available sounds to be played to the agent just before answering the call
- Description
Announcements
If you want to play announcements to callers waiting in your Queue just go to the Announcement tab (for example, you might want to announce the caller’s position in the queue, the average wait time, or make periodic announcements, for instance thanking your callers for waiting):
It’s important to tune the values that control when these announcements are played to the callers, because announcing their position, thanking them for waiting, and telling them the average hold time too often may annoy them!
Please note that while the announcements play the call is not routed to the Agent!
Advanced
In the Advanced Section you can set the Queue Parameters:
- After Call Work (default=NO): if you select this feature the Agents will be set on pause after handling a call on the queue (the pause duration must be inserted in the field displayed)
- Auto Pause: set this value to YES if you want to pause the member who fail to answer a call; this will work on all queues the Agent is member of (Default=NO)
- Ring in Use: enables/disables delivering a call to the Agents already engaged in a conversation
- Member Delay: here you can specify the number of seconds to add as a delay before the call is passed to the Agent
- Timeout Restart: if yes, this resets the timeout for an agent to answer when either a BUSY or CONGESTION status is received from the channel
- Recording Format: specify here the file format to use when recording (choose a value from the list). If the value is inactive, calls will not be recorded
About the Recording Format
Please consider that the recording file size depends on its format. For example, recording one minute conversation will issue a file approximately of the following size:
- WAV: 944 KB
- WAV49: 97 KB
- GSM: 98 KB
- Context: Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, the digit will be matched in the context specified and, if it is found, the dialplan execution will continue there
- Set Interface Variables: If set to yes, just prior to the caller being connected with a queue agent some variables will be set
Interface Variables
If this value set to yes, just prior to the caller being bridged with a queue member some variables will be set (see Asterisk docs for more information):
MEMBERINTERFACE is the interface name (eg. Agent/1234),
MEMBERNAME is the member name (eg. Joe Soap),
MEMBERCALLS is the number of calls that interface has taken,
MEMBERLASTCALL is the last time the member took a call,
MEMBERPENALTY is the penalty of the member,
MEMBERDYNAMIC indicates if a member is dynamic or not,
MEMBERREALTIME indicates if a member is realtime or not
- Set Queue Variables: if this value is set to yes, just prior to the caller being bridged with a queue member and just prior to the caller leaving the queue some variables will be set (see Asterisk wiki for more information)
Queue Variables
QUEUEHOLDTIME callers hold time,
QUEUEORIGINALPOS original position of the caller in the queue
- Set Queue Entry Variables: if set to yes, just prior to the caller being bridged with a queue member some variables will be set (see Asterisk wiki for more information)
Queue Entry Variables
QUEUENAME name of the queue,
QUEUEMAX maximum number of calls allowed,
QUEUESTRATEGY the strategy of the queue,
QUEUECALLS number of calls currently in the queue,
QUEUEHOLDTIME current average hold time,
QUEUECOMPLETED number of completed calls for the queue,
QUEUEABANDONED number of abandoned calls,
QUEUESRVLEVEL queue service level,
QUEUESRVLEVELPERF current service level performance
- Service Level: Second settings for service level (default=0, no SL). Used for service level statistics (calls answered within service level time frame)
- Mandatory Disposition (default=NO): if you select this feature the Agents will be forced to dispose the interactions managed before closing them. Insert in the field displayed the automatic pause status the Agents will be set during this operation (this field is mandatory, choose a value from the list of those available):
Add Agent/Team to a Voice Queue
Administrator or user with the right permission must add an agent or a team to a queue to enable them handle calls in the queue. You can also define the Agent Penalty to set his priority in the queue (low penalty value means high priority in receiving interactions).
To add an agent to a voice queue:
- use the quick menu command associated to the queue itself:
- find the queue from the voice queue list (you can use the search box on the top-right of the page to filter) and use the Add Agent button :
Now on pop-up screen, search the agent you want to add to the queue and click on it:
If you want to change the penalty (default is 0), set the penalty and then add the agent to the queue: the Agents with a higher penalty will receive the call notification only if those with lower penalty refuse to accept the call.
You can add more than one agent or click on to add all agents to the queue.
Remember all changes are automatically effective!
When you add an Agent to a Queue, the Agent-Queue association is immediately applied if the Agent is currently logged to XCALLY Motion and remains until the Administrator changes it.
However, if the Agent is already logged and is managing a call in a Queue and the Administrator removes the association with the same queue, the new configuration doesn't affect it and the current conversation can be managed as always (the changes only apply to the next queue calls, which will not be notified to the Agent).
The same realtime Agent-Queue association can be done from the Realtime section: remember that the button will switch you to realtime environment automatically!
To add all the members of a Team to the queue at once and to enable them to handle calls in the queue:
- use the quick menu command associated to the queue itself:
- find the queue from the voice queue list (you can use the search box on the top-right of the page to filter) and click the Add Team button :
On pop-up screen, use the search box to find the team you want to add to the queue and click on it.
Use the search box to find the team you want to add to the queue and click on it.
You can add more than one team or click on to add all teams to the queue.
You can also define the Agent Penalty that would be applied to all agents in the team in this queue.
Penalty sets agent’s priority in the queue (low penalty value means high priority)
Remember all changes are automatically effective!
When you add a Team to a Queue, the Team-Queue association is immediately applied to the Agents belonging to the Team that are currently logged to XCALLY Motion: it remains active until the Administrator changes it.
However, if a Team Agent is already logged and is managing a call in a Queue and the Administrator removes the association between the Team members and the same queue, the new configuration doesn't affect it and the current conversation can be managed as always (the changes only apply to the next queue calls, which will not be notified to the Team Agents).
Whenever a new agent is added to a team already associated with a queue, this agent is added to the queue automatically.