Joinempty (app_queue) doesn't seem to work for me

I noticed recently (1.4.9 [and maybe earlier]) that my telemarketing queue (black-hole) no longer works.

I have a queue defined by FreePBX which should allow joinempty just to keep those unwanted telemarketers sitting around for as long as they are prepared to sit listening to my dodgy on-hold music.

However, they get the tt-allbusy message then are disconnected.

I see the following in debug:

[size=75][Jul 28 02:13:24] DEBUG[27716] pbx.c: Launching ‘Queue’
[Jul 28 02:13:24] VERBOSE[27716] logger.c: – Executing [16@ext-queues:10] Queue(“SIP/855046-0921e978”, “16|t||”) in new stack
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: NO QUEUE_PRIO variable found. Using default.
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: queue: 16, options: t, url: , announce: (null), expires: 0, priority: 0
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: Queue ‘16’ Join, Channel ‘SIP/855046-0921e978’, Position ‘1’
[Jul 28 02:13:24] DEBUG[27716] channel.c: Set channel SIP/855046-0921e978 to write format slin
[Jul 28 02:13:24] VERBOSE[27716] logger.c: – Started music on hold, class ‘default’, on channel ‘SIP/855046-0921e978’
[Jul 28 02:13:24] DEBUG[27716] channel.c: Scheduling timer at 160 sample intervals
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: It’s our turn (SIP/855046-0921e978).
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: SIP/855046-0921e978 is trying to call a queue member.
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: Nobody left to try ringing in queue
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: Everyone is busy at this time
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: SIP/855046-0921e978: Nobody answered.
[Jul 28 02:13:24] VERBOSE[27716] logger.c: – Exiting on time-out cycle
[Jul 28 02:13:24] DEBUG[27716] channel.c: Set channel SIP/855046-0921e978 to write format ulaw
[Jul 28 02:13:24] VERBOSE[27716] logger.c: – Stopped music on hold on SIP/855046-0921e978
[Jul 28 02:13:24] DEBUG[27716] channel.c: Scheduling timer at 0 sample intervals
[Jul 28 02:13:24] DEBUG[27716] app_queue.c: Queue ‘16’ Leave, Channel ‘SIP/855046-0921e978’
[/size]

Here is my queue.conf

[16] announce-frequency=45 timeout=15 strategy=rrmemory retry=5 queue-youarenext=queue-youarenext queue-thereare=queue-thereare queue-thankyou=queue-thankyou queue-callswaiting=queue-callswaiting music=default monitor-join=yes monitor-format= maxlen=0 leavewhenempty=no joinempty=Yes eventwhencalled=no eventmemberstatus=no context= announce-holdtime=yes wrapuptime=0

and extensions.conf:

[ext-queues] include => ext-queues-custom exten => 16,1,Macro(user-callerid,) exten => 16,n,Answer exten => 16,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL}) exten => 16,n,Set(__BLKVM_BASE=${EXTEN}) exten => 16,n,Set(DB(${BLKVM_OVERRIDE})=TRUE) exten => 16,n,Set(_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm)) exten => 16,n,Set(__NODEST=${EXTEN}) exten => 16,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID}) exten => 16,n,Playback(tt-allbusy) exten => 16,n,Queue(16|t||) exten => 16,n,dbDel(${BLKVM_OVERRIDE}) exten => 16,n,Set(__NODEST=) exten => 16,n,Goto(app-blackhole,hangup,1) exten => 16*,1,Macro(agent-add,16,) exten => 16**,1,Macro(agent-del,16,16)

FYI: 1.4.9 bug - bugs.digium.com/view.php?id=10320