Questions about Queue Functionality

I am trying to setup a Asterisk@Home 1.5 system with 4 DID routes. Each route will then have 1 - 2 Queues based off of it for a total of 4 - 8 Queues.

I was curious if anyone knows how on hold Queue calls are transferred to the agents. All agents will be part of each and every Queue.

Does it transfer the caller who has been on hold the longest of all on hold Queue calls to the next available agent? If not, is there any way I can set it up so that the call which has been on hold the longest is transferred to the first available agent?

I need to set it up so if Queue A has a caller who has been on hold for 10 minutes and Queue B has a caller who has been on hold for 9 minutes, it will transfer the caller from Queue A to the next available agent.

Any assistance / answer you can provide is greatly appreciated.

Yes, in principle this is how queuing works with Asterisk. It is possible to manipulate the priority of callers (ie - for VIP apps) as you insert the calls in queue.

Works this way by default.

First, why are these seperate queues then? If you have agents configured for individual queues, they will receive the call from whichever queue based on which call has been on hold the longest.

The reason for having separate Queues is so the agent can identify the source of the call (ex. Actrivation, Sales etc). All agents are responsible for handling all types of calls as we are a small family owned company, but it would be nice to be able to know prior to answering that this call is for CDRx Sales or CDRx Affiliate.

Also, we have 4 DID’s for separate companies and we want separate Auto Attendants so that if they Call for CDRx it will state “Thank you for calling CDRx” while if they call for MS, it will state “Thank you for calling MS”.

Do you have any better ideas on how to handle this? I am new to * so I am working my way through this slowly.

Thank you very much for taking time to reply to my question(s).