Hi
I am experiencing a delay on queue routing on Asterisk wherein some calls that gets inside our queue take a long time(50 seconds) to be routed to an available agent. This is especially evident when the queue receives a lot of calls and there are still available agents. I have already check the logs of our asterisk however I have not found anthing weird that would indicate a problem. any advice on this issue is greatly appreciated
There are a number of problems with the queuing system that might be contributing to this. My experience is with an older version, but I think they are still true.
Firstly, you have to understand that agents don’t find calls, but rather calls find agents, and they only try to do so once every second. Note, when I say agent, the actual Asterisk terminology is “member”.
They can’t so so whilst they are outputting a comfort message, so if an agent becomes available during such a message, the call’s turn can be missed.
Next, if you have multiple queues sharing the same agent, a new arrival in one queue, if it is at the top of the queue, has an equal chance of grabbing an agent as one that has been waiting for a long time in another queue.
Also, if you use queue weights, the search for calls with a better call on an agent doesn’t go deep enough and doesn’t allow for the possibility that the same set of agents may be in multiple higher weight queues.
Finally the code that implements queue weights can take significant fractions of a second to run, if there are a lot of queues and agents.
Thanks for the reply however I didn't quite get this part "They can't so so whilst they are outputting a comfort message, so if an agent becomes available during such a message, the call's turn can be missed.". Can you elaborate on what is a comfort message. Is it related to the phone that we are using currently which is eyebeam
A comfort message is something like “your call is important to us, and we may have an agent available sometime today”, or “you are currently number 1 million in the queue”. When the Asterisk thread dealing with the incoming call is outputting these, it is not looking for agents to handle the call.