Queues maxlen


in documentation of queues.conf I see

maxlen - with this option we define the maximum number of calls which could wait in the queue. (0 is for unlimited).

is possible set queues = 0 (max call waiting in queue = zero)?, maxlen=1 is minimal size for queues?

that makes no sense: when a call arrives and joins the queue, the queue length is immediately equal to 1. if the max length were really zero, then no call could join the queue and be processed i.e. you would be disabling the queue.

What are you trying to do with it? As mudslide said, setting the max number of calls to 0 would effectively disable the queue.

There are ways to “disable” the queue without specifically deleting it completely. Setting joinempty to “no” or “strict” on a queue with no active members should act the same, but perhaps there’s a better way of doing what you’re trying to do.


I think they are trying to do automatic call distribution, with some sort of load balancing, whilst still rejecting callers if they can’t be answered immediately. Of course, it does suffer from the problem of trying to solve the sub-problem, rather than the real requirement.

(I do agree that, by definition, a queue has to have entries!)

I can do that:

when all agents are busy (make calls) then connections falling to queue they have busy signal

when I set maxlen=1 then only one client are in queue, rest have busy signal, I want busy signal for all connections when no accessible agents.

What you haven’t explained is why you want to use the Queue application, when you don’t have any queues, in the common meaning of the word. If you explain that, people may be able to suggest a better solution, that doesn’t involve the Queue application.

At the moment, I would say you needed to change the source code.

We must use of queues in call center.
Busy signal is necessary to balancing connections from non asterisk systems.

you can set your queue to distribute calls and if there are no available agents [either none logged in or they are all busy] have it fail out of the queue to something else [pretty much anything including the busy signal]. you can use joinempty=strict in the queue configuration and then calls will not join the queue unless there are available agents who do not have calls.

No joinempty option works like that.

Basically, he doesn’t seem to understand the meaning of the English word “queue”, after which the application is named.

(joinempty can be configured to ignore explicitly paused agents, but I consider that a misfeature.)


I am trying to setup the same configuration as Marcin99. I can be a little more specific with my requirements.

I need to have the functionality of the queue in terms of:
Agents per queue/Hunt Groups
Different priority weighting per queue

But instead of the queuing occuring internally I am trying to setup my queues externally. Thus when no agents are available I need to present in effect a busy tone to queue the calls in the cloud (which tried to fire a call down every 8 seconds) rather than as is occuring during testing both in the network and internally when ISDN/SIP lines are available.

Any help/ideas would be greatly appreciated.


Priorities require that there be a choice of calls. That can only happen if there really is a queue.

It sounds like you guys just want to simulate a hunt group, rather than have a “queue” per se.

As David said, if you don’t have anybody actually waiting in the queue (which sounds like both of your intentions), then the priority doesn’t matter, because the person calling in will get either a person or a busy signal right away. A queue is meant to keep people on the line until an Agent becomes available.

Not to say, though, that what you both want isn’t possible. As mentioned previously, the joinempty option can be used to throw a busy signal (or whatever you wish, depending on the dial plan) if none of the queue agents are available.