Increase Agent Timeout in Queue

Hi, i am using latest freepbx and asterisk 16.9.0 so i don’t know if the asterisk needs to make this change or freepbx anyway, i have setup Queue Number 400 and Queue number 401. On queue 400 i did Queue 401 as Agent the reason why i am doing this is because i want 2 different MOH so this way its working but i have one problem because on the Timing & Agent Option the maximum option i can increase in Agent Timeout is 2 Minutes, so if the caller is waiting on hold for 10 minutes in my reports it will show me the same caller as ABANDONED 5 times. So the only solution is to increase the Agent Timeout more than 2 Minutes for example make it up to 1 hour, because there are customers that waits on queue for too long. Thanks

It sounds like you need to reduce the timeout, as,if the caller is being timed out multiple times, this suggests that they are being allocated to an agent that is failing to answer repeatedly. If so increasing the timeout will just mean they wait longer each time for that agent not to answer, rather than at least having a chance at using a different agent for the next attempt.

The code allows that particular timeout to be set to any positive integer representable by the machine, which will be up to many years. I suppose some later processing might limit the range.

It also sounds like your reporting software is not interpreting this situation in a useful way.

The reason i am doing this thing is because of moh that i want to use different for ringing and different for putting customer on hold, so on queue 401 i have all agents as static that needs to answer the calls and i have set up QUEUE NO ANSWER to YES. Now on queue 400 i only have queue 401 as static agent so i just need to increase the timeout more than 2 minutes so that will solve my problem because if set to 2 minutes the queue 400 with retry to call queue 401 every 2 minutes and that is problem because the queue 401 sees that as abandoned calls. i dont know if i am very clear, thanks

This makes no sense in a pure Asterisk context.

More generally, I don’t understand your configuration, and and am not sure whether it relies on dialplan provided by FreePBX, which is likely to make it impossible to reduce the problem to one of manageable size in terms of the underlying Asterisk configuration.

If we are talking about timeout in queues.conf, setting a value larger than the default of 15 seconds makes no sense to me, and, there may be cases for setting it smaller. app_queue selects the agents to call at each round and won’t consider any other agents until timeout has expired. For everything except ringall, it will only try one agent at a time, and if that agent has abandoned their station without pausing, and there is no other timeout on the call, will continue ringing them for the full timeout setting.

By default the Agent timeout is 15 seconds. timeout=15 in queue.conf and the max that i can set in FreePBX is 2 minutes i just need more than 2 minutes, is it impossible to make it more than 2 minutes ? Or is it that it needs to be done by FreePBX?

That’s configuration provided by, configured, and limited by FreePBX. Asterisk itself doesn’t seem to care based on reading the code.

My guess is Agent Timeout is the timeout setting https://github.com/asterisk/asterisk/blob/master/configs/samples/queues.conf.sample#L182. That is read using atoi and only checked as being positive. It looks as though it is converted to milliseconds and stored in an integer, before being used, which suggests the maximum usable value is 2147483 seconds, although it is a bit naughty that there is no validation against larger numbers. This is almost 25 days. I may have overlooked other storage unit size limits that further constrain this.

For how you set that value under FreePBX, you will need to ask on https://community.freepbx.org/.

However, in my view, even the FreePBX limit is too large and you are almost certainly trying to solve the wrong problem, even if you insist on only addressing the step, and not the goal.

I am using FreePBX for 5 years now and i never found a solution how to separate two different music, one different when customer is calling and a different one when i put customer on hold and finally after 5 years i found this solution: Create 2 queues, on the FIRST queue add SECOND queue as static agent, set agent timeout to 2 minutes (this is the problem i want more than 2 minutes) and choose MOH1 and on the SECOND queue set QUEUE NO ANSWER to YES and choose MOH2 so this way i can use different music on hold, but now the problem is the agent time out in FIRST queue, if customer stays on queue for 5 minutes and hang up, on the reports i see 2 abandoned calls not 1 because it retries the same call after 2 minutes because the max agent timeout is 2 minutes. Thats why i am doing this because of the moh if you know a solution how i can make 2 different moh that will be great… Thanks for your time.

close this ticket as already was the unlimited option in the queue agent timeout but did not see that because it was on the top.