
Queues are a system feature designed to hold incoming calls in a queue until an available agent (extension) can respond. Unlike Ring Groups, which distribute calls to extensions based on a set strategy, Queues offer more advanced call management capabilities, allowing for greater flexibility in routing and prioritization of calls.
🟢 Example:
“All agents are currently assisting other callers. Please hold, and someone will be with you shortly.”
Add Queue

Basic
Queue Title: Assign a brief, descriptive name to this queue to help identify it.
Queue Number: Enter the number used to dial into the queue or transfer callers into the queue.
CID Name Prefix: Optionally, add a prefix to the Caller ID name for callers in this queue. For example, prefixing with “Sales:” would display a call from John Doe as “Sales: John Doe” on the agent’s extensions.
Autofill: When enabled, Asterisk will distribute calls to available agents one at a time, based on the selected ring strategy. If disabled, the system will hold calls until an agent becomes available, prioritizing the call at the front of the queue.
Ring Strategy: Define the ringing strategy for this queue. Available strategies include:
- Ring All: Rings all available agents simultaneously.
- Least Recent: Routes the call to the agent who has been idle the longest.
- Fewest Calls: Assigns the call to the agent with the fewest handled calls.
- Random: Distributes calls randomly among agents.
- Memory: Distributes calls sequentially, remembering the last agent the call was routed to.
- Round Robin: Distributes calls in a loop to available agents.
Skip Busy Agent: Enable this option to skip agents who are currently on another call, treating their line as busy. This ensures that calls are routed to available agents.
Join Announcement: Specify an announcement to be played to callers before they join the queue.
- Note: To add custom recordings, use the “System Prompts” menu.
Music On Hold Type: Choose the music or tone played to callers while they wait in the queue. Options include:
- Default: Plays the default music on hold for this queue.
- MOH Only: Plays the selected music on hold playlist for this queue.
- Agent Ringing: Plays a ringing tone instead of music on hold while the caller waits.
Agent Timeout (s): Define the number of seconds an agent’s phone will ring before the system considers the call as timed out. Customize this value if necessary.
Max Waiting Time (s): Set the maximum amount of time a caller can wait in the queue before being routed to the failover destination. Enter ‘0’ for unlimited wait time.
Retry (s): Specify the number of seconds to wait before retrying all agents in the queue.
Wrap Up Time (s): Determine the amount of time to wait after a successful call before routing another call to an available agent. The default value is 0 seconds.
Static Extensions: Select the agents (extensions) that are part of this queue.
Failover Destination: Define the destination for calls when they exceed the maximum wait time or cannot be answered within the designated parameters.

Caller Announcement
Periodic Announcement: Choose a prompt file to be played periodically to the caller while they are in the queue or on hold.
Repeat: Enable this option to activate the periodic announcement feature.
Repeat Timeout: Define the frequency (in seconds) at which the announcement will be played to the caller.

Capacity Options
Max Callers: Define the maximum number of callers that can wait in the queue at any given time. Set to “0” for unlimited callers.
Join Empty: This option determines whether new callers will be admitted to the queue when no agents are available. The available options include:
- Yes: Always allows the caller to join the queue.
- Strict: Allows callers to join the queue only if agents are available or currently ringing another call. If no agents can answer, the caller will not be admitted.
- Ultra Strict: Similar to “Strict,” but more stringent. A queue member must be available to answer immediately, meaning agents who are currently engaged or ringing for another call are considered unavailable.
- No: Callers will not be admitted if all agents are paused, in an invalid state, or have penalty values less than the
QUEUE_MAX_PENALTY
(if not defined in the FreePBX dialplan). - Loose: Similar to “No,” but callers will be admitted if paused agents are available to answer.
Leave When Empty: Determines whether callers should be exited from the queue when it appears no agents are available to take the call. The options include:
- Yes: Callers will exit the queue if all agents are paused, in an invalid state, or have penalty values less than the
QUEUE_MAX_PENALTY
. - Strict: Same as “Yes,” but more strict. If no agent can answer, the caller will leave the queue. If agents are engaged with other calls, the caller will remain in the queue.
- Ultra Strict: Similar to “Strict,” but more stringent. Callers will leave the queue if no agent is available to answer the call immediately, even if other agents are available but currently busy.
- Loose: Similar to “Yes,” but callers will remain in the queue if paused agents could potentially become available.
- No: Callers will never leave the queue until the maximum wait time has expired.