MT 5.3 Queues

From Bicom Systems Wiki

PBXware Queue system allows you to receive more calls in your PBXware than your staff members are able to answer at the same time.


They will enable you to deal with your calls more efficiently and your customers will be held in a queue, listening music on hold and receiving information messages about aproximate wait time and/or their position in queue.

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

In Multi Tenant PBXware, only available Queue members are SIP Members, extensions added to the queue.

NOTE: Mobile applications and queue calls (5.3 update)

If there is a mobile application registered on an extension in the queue, when a call is received from the queue mobile applications will not be woken up via the push service.


This screen lists all system queues with the following details:

  • Name
Queue name
(ex. Patience)
  • Number
Queue network number
(ex. 1001)
  • 5.0.edit.png Edits the queue configuration
(ex. Click to edit queue configuration)
  • 5.0.delete.png Deletes a queue from the system
(ex. Click to delete a queue from the system)


By selecting the 'Search' Command, a search menu will be displayed. Searches can be done by Name and Number

  • Search:
Search phrase
(ex. Provide a search phrase here and hit enter to filter the records)
  • Name:
Should the search filter be applied to queue names
(ex. Check the box to search queue names)
(Check box)
  • Number:
Should the search filter be applied to queue numbers
(ex. Check the box to search queue numbers)
(Check box)

Add/Edit Queue

Clicking on 'Add/Edit' Queue will open standard options shown below

Add/Edit Queue
  • Queue Name:
Unique queue network name/identifier
(ex. Provide a unique queue identifier/name here)
  • Queue Number:
Unique network queue number
(ex. This number is to be dialed in order to access the queue)
  • Max Callers:
Maximum number of callers allowed to wait in a queue at the same time. This number should be set in accordance with the number of members answering the queue calls
(ex. If this field is set to 4, only 4 callers will be allowed to enter the queue. If caller number 5 tries to enter the queue he will be transferred to <%PRODUCT%> 'Redirect Extension' number).
  • Ring to Answer:
How many rings will be played to a caller before call enters the queue.
Set this value to 0 if you would like calls to hear Queue music on hold as soon as call is connected.
  • Queue members and agents:
This button opens up a screen in which you can add and manage queue members
(ex. Click on the button to manage queue members)


This section shows data about agents with the details explained below.

Queue Members and Agents

Pressing the Members and agents button list will open a new pop-up window where members and agents for this particular queue are shown.
Queue members and agents

To add a new member to the queue from this left panel list, select the check box for the queue agent or SIP member that you would like to add to the queue and press the 'Add Member' button. This will add the selected agent to the list.

Also, every table has the ability to search for members names, numbers, and type.

  • Select agents
A drop-down where you can select one or more Agents/Agents Groups/Extensions to add to the Queue Members list.
  • + button:
Press this button to add selected Agents/Agents Groups/Extensions to Queue Members list.

Furthermore, a table which shows queue members with the following details will show up:

  • Name
Queue member name
(e.g. Sales 1)
  • Number
The number of the queue member on the system
(e.g. 1001)
  • This value can be set per member so the system can decide which priority to use when sending calls to members.
(e.g.: Set values between 0 and 10 where 0 is the highest priority and 10 is the lowest priority. If the strategy is defined as 'ringall', then only those available members with the lowest priorities will ring).

NOTE: If an extension does not pick up, it will not automatically go to the next extension. It will keep ringing until it is picked up. It will only go to the next extension if the current extension is either busy or unavailable.

  • Type
Queue member type
(e.g.: Agent)
  • Search
Search queue members.
e.g. Provide a search phrase here to filter the records.
  • Move up
Move the queue member one place up on the list.
  • Move down
Move the queue member one place down on the list.
  • Remove member
Remove the member from the list.

Advanced Options


Queue General
  • Music On Hold:
Select MOH(Music On Hold) class name. All sound files belonging to this MOH class will be played to users in queue
(ex. User A enters the queue. After the greeting message is heard, all sound files belonging to selected MOH class are played in the background)
(Select box)
  • Call Group:
Set the call group which the queue belongs to.
  • RTP Delay [sec]:
Delay time in seconds inserted before the queue greeting message is played. This solves the 'half-played' file problem. Keep this value between 1-3
(ex. User A enters the queue and hears '..r call is first in line...' and wonders what was that.. what did the voice say!? Set this field to 1 so that 1 second pause is added before the message is played. Now, when user A enters the queue he will hear 'Your call is first in line...').
  • Replace Caller ID:
Replace the caller id with the custom value
(ex. Type 'Lobby - %CALLERID%' to display the caller id information as 'Lobby - 5552879' where 5552879 is the actual number calling in)
  • Language:
Define custom language for all sound files played by the queue
(ex. To play Spanish sound files to all users waiting in the queue, type 'es' here. NOTE: PBXware MT comes with English sound files by default. To install sound files in other languages, please see ' Settings: Protocols: Sip: Language' for more information)
  • Queue URL:
Send the following URL to agents softphone, if it supports that option, and the softphone can open that URL so agent can see callers additional info if available. This option must be supported by softphone for it to be used.
(ex. Additional info on Queue URL field can be obtained here)
  • Custom ring tone:
Ring agent phones with custom ringtone set here
(ex. <Simple-2>)
  • Custom sounds folder:
When Queue Callback is turned on, you will be able to add custom queue sounds that will be played in that case.
Create a new folder for these sounds in
and put your custom queue sounds here.
Sounds should be named as follows:
  • queue-youarenext - Your call is first in line and will be answered by the next available representative)
  • queue-thereare - You are currently caller number
  • queue-callswaiting - Waiting to speak with a representative
  • queue-holdtime - The estimated call time is currently
  • queue-minutes - Minutes
  • queue-seconds - Seconds
  • queue-lessthan - Less than
  • queue-thankyou - Thank you for your patience
  • queue-periodic-announce - All of our representatives are currently busy. Please stay on the line and your call will be answered by the next available representative
  • Detect caller early hangup
Set this feature to No to pass abandoned calls to queue and still have these in statistics or set it to Yes if abandoned call during greeting should be detected and not routed to queue and shown in Statistics.
(ex. Yes, No, N/A)
(Option button)

Operation Times

Set the queues open/closed times. Depending on the time when call is received, the call can be redirected to different PBXware MT destinations

Operation Times
  • Operation Times:
Enable operation times
(ex. Yes, No, Inherit)
(Option buttons)

The Inherit option will allow administrators to simply put the Higher Level Operation Times settings back into effect if deemed necessary. Previously, when Operation Times were set, it could be either turned on or off, but it could not be reset to use the Operation Times rules set on the higher level (Server or Tenant).

  • Default Destination
PBXware MT extension all calls are redirected to during the closed time hours
(ex. 1000)
  • Greeting:
Greeting sound file played to callers during the closed times
(ex. greeting-***)
(Select box)

Description of destinations follows in this priority order:

  • Custom Destinations: Redirects all calls received during set hours to the PBXware MT extension provided here
  • Open dates: Sets the working hours during which DID is to redirect calls as set in DID Add/Edit window. If any call is received during the hours not set here, 'Custom Destination' are checked, and if they do not apply, the call is redirected to 'Default Destination' (Closed dates)
  • Closed dates: Sets the specific date/s when all calls are redirected to the 'Default Destination'. If the 'Destination' field in the Closed dates is set, calls will not go to the 'Default Destination' but to this number.

Redirect Extension

Aditional Settings
  • Redirect Extension:
Max callers redirect extension number
(ex. If queue 2000 accepts a maximum of 4 users waiting at the same time, any new user that enters queue 2000 will be redirected to the extension number provided here)
  • Redirect to Voice Mail:
Choose whether the redirect extension is a voicemail
(ex. Yes, No, N/A)
(Option buttons)

Queue Timers

  • Queue Ring Timeout:
Number of seconds during which the members will be rung, after which the Position Announcement will be played to the caller, if it is enabled
(ex. Members extensions are ringing for 10 seconds. After that time, Position Announcement is played to caller and then Agent(s) are rung again).
  • Prioritize Queue Timeout
Used to control the priority of the two possible timeout options specified for a queue. Queue Ring Timeout field has a timeout value that can be specified to control the absolute time a caller can be in the queue. The timeout value in queues.conf controls the amount of time (along with retry) to ring a member for. Sometime these values conflict, so you can control which value takes precedence. The default N/A setting will use Queue Ring Timeout value, same as setting this to Yes. No will override Queue Ring Timeout field and use the value from queues.conf.
Options: Yes, No, N/A
Queue Timers
  • Max Wait Seconds:
Maximum time a caller can wait in a queue. Once this time is exceeded caller will be redirected to 'Max Wait Destination' number.
(ex. User A is waiting 5 minutes already in the queue. If this field is set to 300(300s = 5min), A will be redirected to 'Max Wait Destination')
  • Max Wait Destination:
This option works along with the 'Max Wait Seconds' field. Provide the destination to which caller will be redirected once time set under 'Max Wait Seconds' exceeds.
(ex. User A is waiting 5 minutes already in the queue. If 'Max Wait Seconds' field is set to 300(300s = 5min), A will be redirected to this destination)
  • Is Voicemail:
Set whether the max wait destination is pointing to voicemail.

Empty Queue

Empty Queue
  • Join Empty
Set whether a caller can join a queue if no agent is logged in or unavailable
It is recommended to set this option to 'No'. Do not allow user to enter the queue if the call will not be answered by anyone. Following options are available:
  • Yes - Join queue if no agents or only unavailable agents are in the queue
  • No - Do not join queue if no agents available
  • Leave when empty
When there are no agents inside a queue, callers will leave it depending on the setting
  • No - This option is disabled
  • Yes - If you wish to remove callers from the queue if there are no agents present
  • Empty Destination:
When queue doesn't have any agent logged in, redirect callers to following destination
(ex. 7001)
  • Is Voicemail:
Set whether the empty destination extension is pointing to voicemail.


  • Greeting:
Select a greeting file to play to all callers waiting in a queue.
(ex. Record a custom sound greeting file (e.g. 'All our representatives are busy...') and select that file. This file will be played to all callers once they enter the queue).
(Select box)
NOTE: File name has to be in the following format 'queue-greeting-$NAME.gsm'
  • Wait Seconds:
Delay time in seconds inserted before playing the greeting message. This delay is useful when users do not hear the beginning of the greeting message. Keep this value between 1-3 seconds.
(ex. John enters the sales queue, but cannot hear the beginning of a greeting sound file file (e.g. ..ur representatives are busy...). Set this option to 1. This will insert one second of silence before the greeting file is played and should fix the partial sound file error. Now, all callers entering the queue should hear the full greeting message (e.g. All our representatives are busy...))

Position Announcements

Position Announcements

There are two types of position announcements: 'Hold Time' (Tells the queue position) and 'Periodic Announcements' (Plays custom message)

  • Announce Hold-Time:
Enable callers waiting in a queue to hear the hold-time announcements.
(ex. Setting this option to 'Yes' will enable the hold-time announcements. A single caller waiting in a queue would hear a 'Your call is now first in line and will be answered by the next available representative. Thank you for your patience' message).
(Option buttons)
  • Announce Frequency:
How often to play the hold-time announcement message (time in seconds).
(ex. If this field is set to 30, a single caller waiting in queue will hear 'Your call is now first in line and will be answered by the next available representative. Thank you for your patience' message every 30 seconds).
NOTE: If you set this option to '0', the announce message will not be played.
  • Min. Announce Frequency
The minimum number of seconds between position announcements. Default value is 15 seconds.
  • Announce Round Seconds:
This feature rounds announcement minutes and seconds to specific format.
  • Periodic Announce:
Select the sound file that is played periodically to callers waiting in a queue.
(ex. Record a message 'Hang in there buddy!' and set it as a periodic announcement. This message will be played to callers every 'Periodic Announce Frequency' seconds)
(Select box)
NOTE: File name has to be in the following format 'periodic-announce-$NAME.gsm'
  • Periodic Announce Frequency:
Time interval in seconds at which the periodic message is to be played.
(ex. If this field is set to 30, all callers waiting in queue will hear the 'Periodic Announce' message every 30 seconds, as long as they stay in the queue).
  • First Periodic Announce Delay
The minimum number of seconds between position announcements. Default value is 15 seconds.


  • Static Members login
This option defines whether Extensions set as Static Members have to log in to become active Queue members. If set to 'No', Extensions added as Static Members of the Queue automatically become active Queue members without the need to log in.
(E.g. Yes/No)
(Options button)
NOTE: In case a user sets this option to 'Yes' and has multiple devices registered for that Extension when using Static Members, only one device will ring.
  • Disable Member Enhanced Services
When set to 'Yes', features in Extensions' Enhanced Services used by Queue members and Callback agents will be avoided when a Queue call is passed to them.
In case an Extension used by a Queue member has 'Call Forwarding' enabled, this service will be overridden and the call would be connected to the Queue member instead of being forwarded to the set number.
NOTE: Dynamic agents with the Login feature set to 'Yes' will never have Enhanced Services rules applied to their calls, regardless of what option is selected for the 'Disable Member Enhanced Services' feature. This is expected behavior and cannot be altered.
(E.g. Yes, No)
(Option buttons)
  • Ring Strategy
Set the way calls are transferred to Queue members answering the calls.
Available options:
  • ringall - Ring all available Members until one of them answers (default)
  • linear - When used with Static Members, the Members will be rung in the order they are configured in the GUI.
  • leastrecent - Rings the interface that least recently received a call. This can work in a Queue, where there are many calls of roughly the same duration. It does not work if an agent has been on a call for an hour, and their colleagues all got their last calls 30 minutes ago, because the agent who just finished the 60-minute call will get the next one.
  • fewestcalls - Rings the interface that has completed the fewest calls in this Queue. Please note that this can be unfair if calls are not always of the same duration. An agent could handle three calls of 15 minutes each and his/her colleague had four 5-second calls; the agent who handled three calls will get the next one.
  • random - Rings a random interface. This can work very well and ended up being very fair in terms of evenly distributing calls among agents.
  • rrmemory - Round robin with memory. rrmemory should pick up at the last interface it was at when the last call came into the Queue.
  • rrordered - Same as rrmemory, except the Queue member order from the GUI file is preserved, so the interfaces will ring in the order specified in the GUI.
  • wrandom - Rings a random interface, but uses the member's penalty as a weight when calculating their metric. A member with a penalty of 0 will have a metric somewhere between 0 and 1000, a member with a penalty of 1 will have a metric between 0 and 2000, and a member with a penalty of 2 will have a metric between 0 and 3000. Please note that, if using this strategy, the member penalty is not the same as when using other Queue strategies. It is only used as a weight for calculating metric.
(E.g. linear)
(Select box)
Ring Group Example
NOTE: In order to ensure the system's stability and prevent any potential issues from causing the malfunction, the default number of Queue Members and Agents that may be dialed in a single Queue is set to 9. This number limitation is applied when the 'ringall' Ring Strategy is set.
Therefore, if there are more than 9 Members and Agents in a Queue with the 'ringall' Ring Strategy, upon saving the settings for that Queue, a warning message with the following information should appear: "Due to limitations of ringall strategy, only the first 9 members will be called".
Ring Group - Warning Message
(E.g. A user creates a Queue with 12 Members and Agents as shown in the screenshot and sets the Ring Strategy to 'ringall'. When s(he) tries to save the settings, a warning message appears as shown in the screenshot. A user is able to save the Queue which has 12 Members and Agents, however, only 9 of them will be dialed in a random manner. The warning message doesn't appear, if there are 9 Members/Agents or less.)
  • Autofill
Defines whether callers should be served one by one or in a parallel fashion.
(E.g. With this option turned 'Off', even if there are five agents available, the calls will not be transferred to them until the first caller waiting in a Queue is connected to an agent. When the first caller gets served, the second caller gets served and all others keep waiting. It is recommended to always keep this feature turned 'On' so that the callers can be served in order.)
(Option buttons)
  • Ring Agents in Use
Defines whether agents in use should be called when a new caller comes into the Queue.
(E.g. If the agent is already in an active conversation, with this option set to 'Yes', the Agent extension will ring when a new caller enters the Queue.)
(Option buttons)
  • Member Delay (sec)
This field is the same as RTP Delay, only this option is set for the agent answering the Queue calls. Before the call is transferred, the custom Queue information can be played to an agent so that the agent knows from which Queue the call is coming. This solves the 'half-played' file problem. Please keep this value between 1-3.
(E.g. Agent X is to answer the call coming from the Queue. If 'Queue Announce' is set to play the custom sound file ('This call comes from the Lobby Queue') but only '...s call comes...' is heard, a user should set this field to 1 so that 1 second pause is added before the message is played, which would result in the entire message being played 'This call comes from...')
  • Retry All Timeout
Time interval in seconds. Defines how long to wait before trying to reach the Queue agent again.
(E.g. If agent Smith cannot answer the incoming Queue call and hangs up the ringing line, the call will not be transferred back to his Extension for the time in seconds provided in this field).
  • Timeout Restart
If this option is set to 'Yes' and a BUSY or CONGESTION signal is received on the line, the agent's timeout for answering will be reset. This can be useful with agents that have permission to cancel a call with a reject.
(E.g. A call enters the Queue and is transferred to Agent X. Agent X has a Polycom phone (for example) and sends a BUSY signal by hitting the 'Reject' key. This will reset the internal timer. The call will be transferred to other Queue agent(s). The original agent will not be contacted until all other agents are tried and the call does not get answered by any of them).
(Option buttons)
  • Wrap-up Time (sec)
After a successful call, this will determine how long to wait (time interval in seconds) before sending a new call to a potentially free agent/member.
(E.g. 4)

Agents Announce

Agents Announcements
  • Agent Announce
Select pre-recorded message that will be played to the agent before the call is connected.
NOTE: In order to be displayed in the drop down list, sound file must have 'agent-announce-' prefix.
  • Report Holdtime
Set this option to yes to inform the agent for how long caller was in queue before the call was connected.

CRM Features

  • New Lead URL:
New Lead URL
If incoming call CallerID is unknown, it will be transferred to URL entered in New Lead URL field.


  • Record Queue Calls:
Once this feature is activated, all queue calls will be recorded in the desired sound format.
(ex. John enters the 'Sales' queue and is transferred to 'Queue Agent Smith'. Their entire conversation is recorded and available for review from 'Reports').
(Option buttons)

Incoming Options

Incoming Options
  • Incoming Options Set the advanced queue call options.
Available options:
  • t - allow the called user to transfer the calling user
  • T - allow the calling user to transfer the call
  • H - allow the caller to hang up by pressing *
  • n - no retries on the timeout; will exit queues and go to the next step
  • r - ring instead of playing MOH
  • C - avoid missed calls in ringall strategy
  • w - Instant Recording with Monitor
  • x - Instant Recording with MixMonitor
  • Ring ('r') timeout
When 'r' is selected as Incoming Options and this timeout is used, queue will first ring entered number of seconds after which MOH will start
(ex. 10)

Dial Options:

  • t - Allow the called user to transfer the call by hitting #
  • T - Allow the calling user to transfer the call by hitting #
  • r - Generate a ringing tone for the calling party, passing no audio from the called channel(s) until one answers. Use with care and don't insert this by default into all of your dial statements as you are killing call progress information for the user. Really, you almost certainly do not want to use this. Asterisk will generate ring tones automatically where it is appropriate to do so. 'r' makes it go the next step and additionally generate ring tones where it is probably not appropriate to do so.
  • R - Indicate ringing to the calling party when the called party indicates ringing, pass no audio until answered. This is available only if you are using kapejod's bristuff.
  • m - Provide Music on Hold to the calling party until the called channel answers. This is mutually exclusive with option 'r', obviously. Use m(class) to specify a class for the music on hold.
  • o - Restore the Asterisk v1.0 Caller ID behavior (send the original caller's ID) in Asterisk v1.2 (default: send this extension's number)
  • j - Asterisk 1.2 and later: Jump to priority n+101 if all of the requested channels were busy (just like behaviour in Asterisk 1.0.x)
  • M (x) - Executes the macro (x) upon connect of the call (i.e. when the called party answers)
  • h - Allow the called party to hang up by dialing *
  • H - Allow the caller to hang up by dialing *
  • C - Reset the CDR (Call Detail Record) for this call. This is like using the NoCDR command
  • P (x) - Use the Privacy Manager, using x as the database (x is optional)
  • g - When the called party hangs up, exit to execute more commands in the current context.
  • G (context^exten^pri) - If the call is answered, transfer both parties to the specified priority; however it seems the calling party is transferred to priority x, and the called party to priority x+1
  • A (x) - Play an announcement (x.gsm) to the called party.
  • S (n) - Hang up the call n seconds AFTER the called party picks up.
  • d: - This flag trumps the 'H' flag and intercepts any dtmf while waiting for the call to be answered and returns that value on the spot. This allows you to dial a 1-digit exit extension while waiting for the call to be answered - see also RetryDial
  • D (digits) - After the called party answers, send digits as a DTMF stream, then connect the call to the originating channel.
  • L (x[:y][:z]) - Limit the call to 'x' ms, warning when 'y' ms are left, repeated every 'z' ms) Only 'x' is required, 'y' and 'z' are optional. The following special variables are optional for limit calls: (pasted from app_dial.c)
    • + LIMIT_PLAYAUDIO_CALLER - yes|no (default yes) - Play sounds to the caller.
    • + LIMIT_PLAYAUDIO_CALLEE - yes|no - Play sounds to the called party.
    • + LIMIT_TIMEOUT_FILE - File to play when time is up.
    • + LIMIT_CONNECT_FILE - File to play when the call begins.
    • + LIMIT_WARNING_FILE - File to play as a warning if 'y' is defined. If LIMIT_WARNING_FILE is not defined, then the default behavior is to announce ('You have [XX minutes] YY seconds').
  • f - forces callerid to be set as the extension of the line making/redirecting the outgoing call. For example, some PSTNs don't allow Caller IDs from other extensions than the ones that are assigned to you.
  • w - Allow the called user to start recording after pressing *1 or what defined in features.conf, requires Set(DYNAMIC_FEATURES=automon)
  • W - Allow the calling user to start recording after pressing *1 or what defined in features.conf, requires Set(DYNAMIC_FEATURES=automon)
  • x - Allow the called user to start recording the conversation to disk via MixMonitor.
  • X - Allow the calling user to start recording the conversation to disk via MixMonitor.

Exit Digit

Exit Digit
  • Use Exit Digit
Should users be able to exit the queue by dialing a single digit and be automatically redirected to a preset PBXware destination.
John enters the sales queue. A greeting message explains that the user may quit the queue by pressing the digit defined under the 'Exit Digit' option, and be transferred directly to the operator or some other destination (set under the 'Destination' option).
(Options buttons)
  • Exit Digit
Define the exit digit here. Once this digit is dialed by the user waiting in queue, it will transfer the call directly to 'Extension' destination
John enters the sales queue. The greeting message explains that the user may quit the queue by pressing the digit defined here (e.g. 9) and is transferred directly to the operator or some other destination (set under the 'Destination' option).
  • Destination
Local PBXware destination number that is dialed once the 'Exit Digit' is dialed.
(ex. John enters the sales queue. The greeting message explains that the user may quit the queue by pressing the digit defined under the 'Exit Digit' option, and be transferred directly to the PBXware destination defined here).
  • Is voicemail:
Set whether the exit digit destination is pointing to voicemail.

Queue settings

Queue settings

Log Queue Call Attempts

Enable/Disable logging of queue call attempts.
(Option buttons)

Next -> 10. Voicemail