Difference between revisions of "Call Queues"

From Kolmisoft Wiki
Jump to navigationJump to search
(Created page with '=Description= Call queue is a feature that allows an unlimited number of callers to wait for an available sales representative or for resources to become accessible to assist th…')
 
 
(23 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<!---This functionality is available from MOR X4--->
=Description=
=Description=


Line 11: Line 12:
*Announcements for members and callers
*Announcements for members and callers


Queues are defined in queues.conf or in dynamic realtime. The latter allow storing queue configuration in a database so that changes are immediately available for new callers without the need for an explicit reload.
*'''Agents''' are the people (or person) that answer call(s) that have been placed into a specific Queue. An agent logs in indicating that s/he is now ready to take calls. Asterisk transfers an inbound call to a queue, which is then in turn transfered to an available agent.
*'''Members''' are those channels that are active answering the Queue. It can be agents or normal channels, like "sip/snom23"
<br><br>
=Usage=
=Usage=
In order to use Call Queues, [[PBX Functions Addon | PBX Addon]] has to be active. With PBX Addon active Call Queues are available for Admin, Reseller PRO and Accountant with a Manage PBX functions permission and can be found in '''ADDONS –> PBX functions –> Call Queues.'''
<br>


==Queue Options==
==Queue Options==
Line 22: Line 20:
'''Queue Name''' – name of Queue.<br>
'''Queue Name''' – name of Queue.<br>
'''Assigned DID(s)''' – quantity of DIDs, which are assigned to current Queue.<br>
'''Assigned DID(s)''' – quantity of DIDs, which are assigned to current Queue.<br>
'''Extention''' – a short number by which this queue can be reached; must be unique in the system.<br>
'''PBX Pool''' –  default PBX Pool is set Global, matching Extensions are not allowed in same PBX Pool.<br>
'''Server''' – allows to choose server in multiple servers system.<br>
'''Extension''' – a short number by which this queue can be reached; must be unique in the pbx pool.<br>
'''Server''' – allows to choose server in multiple servers system. Server id on which server queue application will be executed <br>
'''Ring Strategies''' – Calls are distributed among the members handling a queue with one of several strategies:<br>
'''Ring Strategies''' – Calls are distributed among the members handling a queue with one of several strategies:<br>
*ringall: ring all available channels until one answers (default)
*ringall: ring all available channels until one answers (default)
*roundrobin: take turns ringing each available interface (deprecated in 1.4, use rrmemory)
*roundrobin: take turns ringing each available interface
*leastrecent: ring interface which was least recently called by this queue
*leastrecent: ring interface which was least recently called by this queue
*fewestcalls: ring the one with fewest completed calls from this queue
*fewestcalls: ring the one with fewest completed calls from this queue
*random: ring random interface
*random: ring random interface
*rrmemory: round robin with memory, remember where we left off last ring pass<br>
*rrmemory: round robin with memory, remember where we left off last ring pass
'''Queue Weight''' –<br>
(rrmemory remembers which queue member was tried last, and continues for subsequent calls from where it left off, rather than starting again from the top of the queue)
'''Autofill''' –<br>
*linear: rings members in the order specified, always starting at the beginning of the list
'''Skip Busy Agents''' –<br>
*wrandom: rings a random member, but uses the members’ penalties as a weight.
'''Fail Over Actions''' –<br>
*rrorder: same as rrmemory, except the queue member order from configuration is preserved<br>
 
'''Queue Weight''' – for comparing with other queues, higher weights get first shot at available channels when the same channel is included in more than one queue.<br>
'''Autofill''' – makes sure that when the waiting callers are connecting with available members in a parallel fashion until there are no more available members or no more waiting callers.<br>
'''Fail Over Actions''' – set action what to do after Queue <br>
*Hangup
*Hangup
*Transfer to Extension
*Transfer to Extension
Line 40: Line 43:
*Transfer to Device <br>
*Transfer to Device <br>
<br><br>
<br><br>
==Agent Options==
==Agent Options==


'''CID Name Prefix''' –<br>
'''CID Name Prefix''' – The CID Name Prefix is used to prefix the caller ID of callers in the queue with the value entered in this field. This is often used when agents are members of
'''Report Hold Time''' –<br>
multiple queues so that they know which department a person has called(for example, a CID may be prefixed with "Sales" or "Tech Support"). <br>
'''Agent Announcement''' –<br>
'''Report Hold Time''' – If you wish to report the caller's hold time to the member before they are connected to the caller, set this to yes.<br>
'''Agent Delay''' –<br>
'''Agent Announcement''' – An announcement announce may be specified which is played for the member as soon as they answer a call, typically to indicate to them which queue this call  hould be answered as, so that agents or members who are listening to more than one queue can differentiated how they should engage the customer <br>
'''Agent Timeout''' –<br>
'''Agent Delay''' – If you wish to have a delay before the member is connected to the caller (or before the member hears any announcement messages), set this to the number of seconds to delay. <br>
'''Retry''' –<br>
'''Agent Timeout''' – This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable. <br>
'''Wrap-Up-Time''' –<br>
'''Retry''' – How long do we wait before trying all the members again?<br>
'''Allow hangup by''' –<br>
'''Wrap-Up-Time''' – After a successful call, how long to wait before sending a potentially free member another call (default is 0, or no delay) <br>
'''Allow hangup by *''' – allow callee to hang up by pressing <br>
<br><br>
<br><br>
==Static Agents==
==Static Agents==
Line 65: Line 70:


'''NOTE''' that if extension 200 does not pick up it will not automatically go to extension 201. It will keep ringing 200 until they pick up. It will only go to the next extension if the current extension is either busy or unavailable.
'''NOTE''' that if extension 200 does not pick up it will not automatically go to extension 201. It will keep ringing 200 until they pick up. It will only go to the next extension if the current extension is either busy or unavailable.
<br><br>
==Show log to Users==
Users defined here will be able to see Log of this Queue under their account.
Click '''Add new User''' to add User.
<br><br>
<br><br>
==Caller Options==
==Caller Options==


'''Max Callers''' –<br>
'''Max Callers''' – Maximum number of people waiting in the queue (0 for unlimited) <br>
'''Join Announcement''' –<br>
'''Join Announcement''' – The Join Announcement drop-down menu is used to select a sound file to be played back to the caller before they are dropped into the queue. This file must be pre-recorded or uploaded to the system. This announcement is optional, but will usually state that the caller is being placed into a queue, and that their call will be answered in priority sequence. <br>
'''Ringing instead of MOH''' –<br>
'''Ringing instead of MOH''' – ring instead of playing MOH. <br>
'''Music On Hold Class''' –<br>
'''Music On Hold Class''' – Musicclass sets which music applies for this particular call queue.<br>
'''Ring at once when Agent is ringing''' –<br>
'''Ring at once when Agent is ringing''' – stops MOH and rings once an agent is ringing (Asterisk Trunk)<br>
'''Join Empty''' –<br>
'''Join Empty''' – This setting controls whether callers can join a queue with no members.<br>
'''Leave When Empty''' –<br>
*paused - a member is not considered available if he is paused
'''Allow hangup by''' –<br>
*penalty - a member is not considered available if his penalty is less than QUEUE_MAX_PENALTY
'''IVR Brake-Out Menu''' –<br>
*inuse - a member is not considered available if he is currently on a call
'''Max Wait Time''' –<br>
*ringing - a member is not considered available if his phone is currently ringing
*unavailable - This applies mainly to Agent channels. If the agent is a member of the queue but has not logged in, then do not consider the member to be available
*invalid - Do not consider a member to be available if he has an "invalid" device state. This generally is caused by an error condition in the member's channel driver.
*unknown - Do not consider a member to be available if we are unable to determine the member's current device state.
*wrapup - A member is not considered available if he is currently in his wrapuptime after taking a call.
'''Leave When Empty''' – if you wish to remove callers from the queue when new callers cannot join, set this setting to one of the same choices for 'Join Empty' described above.<br>
'''Allow hangup by *''' – allow caller to hang up by pressing *  <br>
'''IVR Brake-Out Menu''' – A context may be specified, in which if the user types a SINGLE digit extension while they are in the queue, they will be taken out of the queue and sent to that extension in this context. <br>
'''Max Wait Time''' – 'timeout' sets the time in seconds that a call will wait in the queue before it is routed to the next priority in the dialplan. It defaults to 300 seconds (5 minutes). <br>
<br><br>
<br><br>
==Caller Announcements==
==Caller Announcements==


'''Repeat Frequency''' –<br>
'''Repeat Frequency''' – How often to announce queue position and/or estimated holdtime to caller <br>
'''Min. Announce Frequency''' –<br>
'''Min. Announce Frequency''' – The absolute minimum time between the start of each queue position and/or estimated holdtime announcement This is useful for avoiding constant announcements when the caller's queue position is changing frequently (see announce-frequency) <br>
'''Announce Position''' –<br>
'''Announce Position''' – Queue position announce? Valid values are "yes," "no," "limit," or "more." If set to "no," then the caller's position will never be announced. If "yes," then the caller's position in the queue will be announced to the caller. If set to "more," then if the number of callers is more than the number specified by the announce-position-limit option, then the caller will hear that there are more than that many callers waiting (i.e. if a caller number 6 is in a queue with the announce-position-limit set to 5, then that caller will hear that there are more than 5 callers waiting). If set to "limit," then only callers within the limit specified by announce-position-limit will have their position announced. <br>
'''Announce Hold Time''' –<br>
If you have specified "limit" or it "more" for the announce-position option, then the following value is what is used to determine what announcement to play to waiting callers. If you have set the announce-position option to anything else, then this will have no bearing on queue operation<br>
'''Round Seconds''' –<br>
'''Announce Hold Time''' – Should we include estimated hold time in position announcements? Either yes, no, or only once. Hold time will be announced as the estimated time, or "less than 2 minutes" when appropriate.<br>
'''Round Seconds''' – What's the rounding time for the seconds? If this is non-zero, then we announce the seconds as well as the minutes rounded to this value.<br>
'''Announce Position Before Join''' - If set to Yes, Queue position will be announced before joining the queue.
<br><br>
<br><br>
==Periodic Announcements==
==Periodic Announcements==


'''Repeat Frequency''' –<br>
This block allows a message like "Thank you for holding, your call is important to us." to be played at regular intervals while a caller is in the queue.
'''Random''' –<br>
 
'''Relative''' –<br>
'''Repeat Frequency''' – How often to make any periodic announcement (see periodic-announce) <br>
'''Anouncment''' –<br>
'''Random''' – Should the periodic announcements be played in a random order? Default is no. <br>
'''Relative''' – If set to yes, the periodic announcment frequency will be timed from the end of each announcment rather than from the start of each announcment. This defaults to off.
<br>
'''Announcment''' – sound message<br>
<br><br>
<br><br>
==Vizualization==
==Vizualization==


[[Image:queue_visualization.png]]
<br><br>
<br><br>
=From Reseller/Reseller PRO=
=From Reseller/Reseller PRO=


Reseller/Reseller PRO is not able to use Queue functionality.
Only Reseller PRO is able to use Queue functionality.<br>
<br>
Reseller is not able to use Queue functionality.
<br><br>
<br><br>
=From Accountant=
=From Accountant=


Accountant can manage Admins Queues if there are set  '''Mange Queues''' permission in [[Accountant permissions]].
Accountant can manage Admins Queues if there are set  '''Mange Queues''' permission in [[Accountant permissions]].
<br><br>
= Not supported additional functionality =
* Dynamic Agents (users who can login/logout to/from queue)
* Queue usage statistics
Such functionality is not planned, because MOR is not proper solution for Call Center environment with high-load. Queues in MOR are mainly for small office use.
This can change due to high-demand from our Clients.
<br><br>
= See also =
* [[How to configure hunt-me/follow-me functionality]]
* [[Queue Log]]

Latest revision as of 07:20, 7 January 2021

Description

Call queue is a feature that allows an unlimited number of callers to wait for an available sales representative or for resources to become accessible to assist them. This allows you to provide each customer with the same quality service. In addition, it ensures your customers won’t end up in voicemail.

Queues consist of

  • Incoming calls being placed in the queue
  • Members that answer the queue (extensions or users that login as agents)
  • A strategy for how to handle the queue and divide calls between members
  • Music played while waiting in the queue
  • Announcements for members and callers

Usage

In order to use Call Queues, PBX Addon has to be active. With PBX Addon active Call Queues are available for Admin, Reseller PRO and Accountant with a Manage PBX functions permission and can be found in ADDONS –> PBX functions –> Call Queues.

Queue Options

Queue Name – name of Queue.
Assigned DID(s) – quantity of DIDs, which are assigned to current Queue.
PBX Pool – default PBX Pool is set Global, matching Extensions are not allowed in same PBX Pool.
Extension – a short number by which this queue can be reached; must be unique in the pbx pool.
Server – allows to choose server in multiple servers system. Server id on which server queue application will be executed
Ring Strategies – Calls are distributed among the members handling a queue with one of several strategies:

  • ringall: ring all available channels until one answers (default)
  • roundrobin: take turns ringing each available interface
  • leastrecent: ring interface which was least recently called by this queue
  • fewestcalls: ring the one with fewest completed calls from this queue
  • random: ring random interface
  • rrmemory: round robin with memory, remember where we left off last ring pass

(rrmemory remembers which queue member was tried last, and continues for subsequent calls from where it left off, rather than starting again from the top of the queue)

  • linear: rings members in the order specified, always starting at the beginning of the list
  • wrandom: rings a random member, but uses the members’ penalties as a weight.
  • rrorder: same as rrmemory, except the queue member order from configuration is preserved

Queue Weight – for comparing with other queues, higher weights get first shot at available channels when the same channel is included in more than one queue.
Autofill – makes sure that when the waiting callers are connecting with available members in a parallel fashion until there are no more available members or no more waiting callers.
Fail Over Actions – set action what to do after Queue

  • Hangup
  • Transfer to Extension
  • Transfer to DID
  • Transfer to Device



Agent Options

CID Name Prefix – The CID Name Prefix is used to prefix the caller ID of callers in the queue with the value entered in this field. This is often used when agents are members of multiple queues so that they know which department a person has called(for example, a CID may be prefixed with "Sales" or "Tech Support").
Report Hold Time – If you wish to report the caller's hold time to the member before they are connected to the caller, set this to yes.
Agent Announcement – An announcement announce may be specified which is played for the member as soon as they answer a call, typically to indicate to them which queue this call hould be answered as, so that agents or members who are listening to more than one queue can differentiated how they should engage the customer
Agent Delay – If you wish to have a delay before the member is connected to the caller (or before the member hears any announcement messages), set this to the number of seconds to delay.
Agent Timeout – This timeout specifies the amount of time to try ringing a member's phone before considering the member to be unavailable.
Retry – How long do we wait before trying all the members again?
Wrap-Up-Time – After a successful call, how long to wait before sending a potentially free member another call (default is 0, or no delay)
Allow hangup by * – allow callee to hang up by pressing


Static Agents

To add Static Agent click on Add new Static Agent link and choose Device and Penalty.

Penalties

Queue members can be defined as having a penalty - e.g. member => SIP/200,1 member => SIP/201,2 member => SIP/202,3 member => SIP/203,2 If the strategy is defined as 'ringall', then only those available members with the lowest priorities will ring. In the example above, if 200 is not busy, then only 200 will ring. If 200 is busy, then only 201 and 203 will ring. If 200, 201 and 203 are busy, then 202 will ring.

NOTE that if extension 200 does not pick up it will not automatically go to extension 201. It will keep ringing 200 until they pick up. It will only go to the next extension if the current extension is either busy or unavailable.

Show log to Users

Users defined here will be able to see Log of this Queue under their account.

Click Add new User to add User.

Caller Options

Max Callers – Maximum number of people waiting in the queue (0 for unlimited)
Join Announcement – The Join Announcement drop-down menu is used to select a sound file to be played back to the caller before they are dropped into the queue. This file must be pre-recorded or uploaded to the system. This announcement is optional, but will usually state that the caller is being placed into a queue, and that their call will be answered in priority sequence.
Ringing instead of MOH – ring instead of playing MOH.
Music On Hold Class – Musicclass sets which music applies for this particular call queue.
Ring at once when Agent is ringing – stops MOH and rings once an agent is ringing (Asterisk Trunk)
Join Empty – This setting controls whether callers can join a queue with no members.

  • paused - a member is not considered available if he is paused
  • penalty - a member is not considered available if his penalty is less than QUEUE_MAX_PENALTY
  • inuse - a member is not considered available if he is currently on a call
  • ringing - a member is not considered available if his phone is currently ringing
  • unavailable - This applies mainly to Agent channels. If the agent is a member of the queue but has not logged in, then do not consider the member to be available
  • invalid - Do not consider a member to be available if he has an "invalid" device state. This generally is caused by an error condition in the member's channel driver.
  • unknown - Do not consider a member to be available if we are unable to determine the member's current device state.
  • wrapup - A member is not considered available if he is currently in his wrapuptime after taking a call.

Leave When Empty – if you wish to remove callers from the queue when new callers cannot join, set this setting to one of the same choices for 'Join Empty' described above.
Allow hangup by * – allow caller to hang up by pressing *
IVR Brake-Out Menu – A context may be specified, in which if the user types a SINGLE digit extension while they are in the queue, they will be taken out of the queue and sent to that extension in this context.
Max Wait Time – 'timeout' sets the time in seconds that a call will wait in the queue before it is routed to the next priority in the dialplan. It defaults to 300 seconds (5 minutes).


Caller Announcements

Repeat Frequency – How often to announce queue position and/or estimated holdtime to caller
Min. Announce Frequency – The absolute minimum time between the start of each queue position and/or estimated holdtime announcement This is useful for avoiding constant announcements when the caller's queue position is changing frequently (see announce-frequency)
Announce Position – Queue position announce? Valid values are "yes," "no," "limit," or "more." If set to "no," then the caller's position will never be announced. If "yes," then the caller's position in the queue will be announced to the caller. If set to "more," then if the number of callers is more than the number specified by the announce-position-limit option, then the caller will hear that there are more than that many callers waiting (i.e. if a caller number 6 is in a queue with the announce-position-limit set to 5, then that caller will hear that there are more than 5 callers waiting). If set to "limit," then only callers within the limit specified by announce-position-limit will have their position announced.
If you have specified "limit" or it "more" for the announce-position option, then the following value is what is used to determine what announcement to play to waiting callers. If you have set the announce-position option to anything else, then this will have no bearing on queue operation
Announce Hold Time – Should we include estimated hold time in position announcements? Either yes, no, or only once. Hold time will be announced as the estimated time, or "less than 2 minutes" when appropriate.
Round Seconds – What's the rounding time for the seconds? If this is non-zero, then we announce the seconds as well as the minutes rounded to this value.
Announce Position Before Join - If set to Yes, Queue position will be announced before joining the queue.

Periodic Announcements

This block allows a message like "Thank you for holding, your call is important to us." to be played at regular intervals while a caller is in the queue.

Repeat Frequency – How often to make any periodic announcement (see periodic-announce)
Random – Should the periodic announcements be played in a random order? Default is no.
Relative – If set to yes, the periodic announcment frequency will be timed from the end of each announcment rather than from the start of each announcment. This defaults to off.
Announcment – sound message


Vizualization

Queue visualization.png

From Reseller/Reseller PRO

Only Reseller PRO is able to use Queue functionality.

Reseller is not able to use Queue functionality.

From Accountant

Accountant can manage Admins Queues if there are set Mange Queues permission in Accountant permissions.




Not supported additional functionality

  • Dynamic Agents (users who can login/logout to/from queue)
  • Queue usage statistics

Such functionality is not planned, because MOR is not proper solution for Call Center environment with high-load. Queues in MOR are mainly for small office use.

This can change due to high-demand from our Clients.




See also