Virtual Extension - Skip Busy Agents - Yes + (ringinuse=no) & Transferring Calls

FreePBX/Asterisk 14.

I have a call center using virtual extensions and FMFM to answer queue calls via their cellphones.

I have the queue set Skip Busy Agents - Yes + (ringinuse=no) to stop agents from getting queue calls while they are on a queue call and it work well. The problem with this setting is:

WARNING: When using the settings that set the 'ringinuse=no' flag, there is a NEGATIVE side effect. An agent who transfers a queue call will remain unavailable by any queue until that call is terminated as the call still appears as 'inuse' to the queue UNLESS 'Agent Restrictions' is set to 'Extensions Only'.

Is there different/custom way to have the agent transfer the caller from their cell phone that will “release” them and have the system send them the next queue call, rather than waiting for the transferred call to end in the PBX, before sending the next call?

Thanks for any help you can provide!

Is this still an issue? IIRC, that issue was only in older versions of FreePBX/Asterisk. But I may be wrong.

1 Like

No. Any version of Asterisk 13/16/18 from the last year or more should not have this issue.


If I change the Asterisk version then, it should no longer be an issue? That would be awesome.

If you’re using the FreePBX Distro:

The second queue call didn’t come to the agent until after the transfer hung up.

I updated the Asterisk version to 16 and tested.

  • 1 agent (1111) talking to one queue caller with one additional call in queue.
  • Agent 1111 transfers the first call via *2 to my test cellphone.
  • Agent 1111 hangs up, completing the transfer of the first queue call.
  • The second queued call remains in queue until the first transferred call is hung up by me.
  • Once I hang up the transferred first queue call, the second queued call rings into agent 1111

Any ideas?

I’m on version of queues. Not sure if that is an attributing factor.

I am wondering if I could modify the attended transfer functionality so that when the transferring agent hangs up with the transfer to party (thus completing the transfer), it can move the original caller and the transfer to party to a new channel? If that were possible, would that cause the transferring agent to become “free” so that they could take the next queue call instead of waiting for the transferred call to hang up out of Asterisk?

Another idea I had was making a custom feature code that collects the calling customer phone number and the transfer to phone number and builds a call file on the fly. The agent hangs up and then the call file connects the patient and the transfer to party on a new outbound call. Kind of messy, but it would free up the agent to take the next call.