Queues - Am I going mad? Can't log off?

Hi

I appreciate any help anyone can offer with this. I don’t know if it’s me, but I’ve been searching around for this for hours, and there doesn’t seem to be any solution apart from very hackish ways, or handcoding the queue. I’ll describe what I’m looking for, what I’ve tried, and what I’ve found out. Hopefully someone can point me to my next step?

I’ve deliberately said ‘staff’ instead of ‘agents’ to avoid confusion. Staff are the people I want answering this queue. For the purpose of this discussion, they are voluntary staff who work very sporadic schedules and thus we never know when/if they will be signed on during a day. On some days there may be no staff signed on at all. We can assume that if they are signed onto their softphone, they are happy to take calls. If not, they will put on DND. We are happy to have them use any softphone required.

Queue (1234)
If no staff signed on (that is, their softphone application is not loaded), route to failover.
If all staff busy (that is their softphone is showing DND or similar), place call in queue, announce wait time. Maximum wait of 3 minutes then failover.
If while the call is in the queue, all staff sign off (close their softphone), route to failover.
Don’t wait on busy staff but do let them know they’ve missed the call, and do keep checking to see if they have become available and then obviously connect them if they become available.

I had thought this was a fairly standard set up but I am absolutely stumped on it. I have tried:

Setting the staff in question as static agents/extensions by entering their extension number into the static agents box. This works, but throws the busy/signed off status out the window. I understand this is not a glitch and is expected functionality.

I have tried having the static agents box empty. Dialled 1234*, entered my extension number <1000>. Been told I have logged on as an agent. Received calls through the queue (yay I thought). Dialled 1234** to log off. Told I have been logged off as an agent. Still received calls through the queue!! I used ‘show queues’ from CLI and got:

1234 has 0 calls (max unlimited) in ‘ringall’ strategy (0s holdtime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
Local/[email protected]/n (dynamic) (Not in use) has taken no calls yet

No matter what I do, I can’t log off from the queue. The only way I can do so is via ‘queue remove member…’ on the CLI. I did see somewhere about changing Local to SIP but that involved handcoding and to be honest the whole point of me using FreePBX was to take advantage of a GUI for these things. I did give it a go but couldn’t get it working anyway.

I figured maybe it had something to do with me not being an agent on agents.conf. I created an entry for myself and tried again. I have yet to be asked for my agent password when dialling 1234*, and I can enter absolutely anything as my ‘agent id’ when dialling 1234*, and it will appear as a Local/xxxx entry as above. I still couldn’t log off the queue. This suggested to me asterisk was ignoring the agent.conf file because it wasn’t referenced by the queue.

So, I tried entering “A1000,0” in the static agents box. This resulted in the below in ‘show queues’:

1234 has 0 calls (max unlimited) in ‘ringall’ strategy (0s holdtime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
Agent/1000 (Unavailable) has taken no calls yet
No Callers

I tried logging in 1234*. I wasn’t asked for my password. ‘show queues’ output:

1234 has 0 calls (max unlimited) in ‘ringall’ strategy (0s holdtime), W:0, C:0, A:0, SL:0.0% within 0s
Members:
Agent/1000 (Unavailable) has taken no calls yet
Local/[email protected]/n (dynamic) (Not in use) has taken no calls yet

Tried 1234** to log off. Told I was. No change on ‘show queues’.

Anyone got any solutions? Thanks very much for reading.