Queue calls not going to failover destination unless max time out is reached

I have a queue set up with static agents. All agents are using softphone. Device hints are enabled in the queue and in advanced settings. If there are no devices connected a call entering the queue does not go to the failover destination even thoughg join empty is set to no and leav empty is set to yes. What other setting am I missing to enable the correct behaviour?

Freepbx 2.11
Asterisk 11.17.1

You need to have them logout. App queue does not look to see the agents phone is not connected.

They are static Agents. I believe Static agents cant log out. Can app queue not monitor the device hint to determine if the agent is busy or not.

According to the docs Join empty has more options but these arnt implemented yet on Freepbx.

Asterisk 1.8:

; paused - a member is not considered available if he is paused
; penalty - a member is not considered available if his penalty is less than QUEUE_MAX_PENALTY
; inuse - a member is not considered available if he is currently on a call
; ringing - a member is not considered available if his phone is currently ringing
;
unavailable - This applies mainly to Agent channels. If the agent is a
member of the queue but has not logged in, then do not consider the
member to be available
; invalid - Do not consider a member to be
available if he has an “invalid” device state. This generally is caused
by an error condition in the member’s channel driver.
; unknown - Do not consider a member to be available if we are unable to determine the member’s current device state.
; wrapup - A member is not considered available if he is currently in his wrapuptime after taking a call.

Failing all the above is there an easy method to auto pause an agent if there device is disconnected?

Should app queue not look at the unavailable Status below?

Members:
John(Local/5046@from-queue/n from hint:5046@ext-local) (ringinuse disabled) (Unavailable) has taken 1 calls (last was 5925 secs ago)
Mike(Local/5148@from-queue/n from hint:5148@ext-local) (ringinuse disabled) (Not in use) has taken 1 calls (last was 4498 secs ago)

Use skip busy agents to test if the call goes to the failover destination.

Your own example shows agent 5148 is logged in and not in use so they will get a call.

Even when all agents are unavailable and skip busy agents is set to yes and leave empty set to yes, I still get a call waiting in the queue untill max timeout. This is on a xorcom completepbx system. So it is currently restricted to freepbx 2.11

Ok well I suggest you get off that 4 plus year old version of software as nobody will be able to patch that or fix issues for you.

Set agent retry to not retry.
Also set to strict the join on empty.