Summary:ASTERISK-08341: Unable to join queue
Reporter:Matt King, M.A. Oxon. (kebl0155)Labels:
Date Opened:2006-12-12 18:11:32.000-0600Date Closed:2011-06-07 14:07:55
Versions:Frequency of
Description:Sometimes, when a caller tries to join the queue, we get the following message:

[Dec 12 11:35:43] WARNING[13794] app_queue.c: Unable to join queue 'CustomerServices'

The call then proceeds to the next line in the dialplan without queueing the call.


We get about 2000 calls per day through this server.  Today we saw this 21 times.

I thought this might have something to do with joinempty=strict, but there are agents logged in, so I had a look at the source code.  It appears join_queue is returning true (indicating it couldn't join); perhaps load_realtime_queue is returning a null result?

Hope this helps,

Comments:By: Matt King, M.A. Oxon. (kebl0155) 2006-12-12 18:33:23.000-0600

My apologies, we're running 1.4 Beta 3 on this machine (not 1.2.13).

I've added some debug statements to try to find out the reason why this message is appearing.

By: Joshua C. Colp (jcolp) 2006-12-18 12:00:11.000-0600

If you look at the QUEUESTATUS dialplan variable you should be able to find the reason that it was not able to join the queue, but regardless please report back if this helps or if you found an issue through your own debugging.

By: Matt King, M.A. Oxon. (kebl0155) 2006-12-18 14:11:08.000-0600

Hi there, it's reporting JOINUNAVAIL and/or LEAVEUNAVAIL

Which is weird because there are definitely agents logged in...

These are our queue settings:

strategy = leastrecent
timeout = 15
maxlen = 0
joinempty = strict
leavewhenempty = strict
announce-frequency = 0
announce-holdtime = no
musiconhold = default
memberdelay = 1

By: Jason Parker (jparker) 2007-01-15 15:53:13.000-0600

Logged in and available to take calls?  Unpaused, etc?

By: Matt King, M.A. Oxon. (kebl0155) 2007-01-15 21:32:54.000-0600

Certainly logged in.

As for paused, if all agents are on wrap-up, shouldn't callers be able to join the queue?  This does seem to be the case usually...

Hope this helps,


By: Jason Parker (jparker) 2007-01-18 11:47:49.000-0600

If a caller is in wrapuptime, they won't be rung.  If all queue members are busy or in wrapuptime, the caller will not be able to join the queue.

Closing, as this isn't an issue.

By: Matt King, M.A. Oxon. (kebl0155) 2007-01-18 13:10:07.000-0600

I just did some labbing.

Even with joinempty=strict, callers *can* join the queue even if agents are paused, or in auto-wrapuptime.

This would seem correct behaviour as in these cases an agent could become free at any second.

So, why are some of our callers still not able to join the queue when agents are logged in?

By: Jason Parker (jparker) 2007-01-18 13:20:13.000-0600

There are only two cases where JOINUNAVAIL will be set.

1) joinempty=strict, and either no reachable members or no unpaused reachable members
2) joinempty=loose, and no reachable members

get_member_status loops through all members in a given queue and does the following:

Checks that the penalty isn't above the members max_penalty.
Checks that the members device is in a reachable state (ie; not INVALID or UNAVAILABLE).
Checks that the member is not paused.

If any of the above are false, it will continue to the next member.