Can you tell me:
how to remove the timeout limitation for incoming calls until answered by an operator in the queue.
asterisk 18.7.1 is used
real-time queue
basic settings changed like this
timeout = 0 or 36000
timeoutpriority = app
In dialplan I wrote timeout similarly, and removed it completely for testing.
same => n,Queue(support,СсТt,,,,,,queue-conn)
or like this same => n,Queue(support,СсТt,36000,,,,,queue-conn)
still all incoming calls exactly after 60 seconds, go unanswered with listening to the audio file and return to the queue again. Until either they hang up themselves or until the operator answers. Accordingly, in the CDR table for the same callid X records are created exactly every 60 seconds until the call is completed (when either the operator answers or the external subscriber hangs up).
Where is this limitation of 60 seconds? How to remove it, turn it off or change it to 36000 for example?
Note that extending this timeout will mean that agents becoming free after an agent starts being rung will never be considered for use when using ringall, and, for the other strategies, that only the first available agent will be rung, unless they explicitly reject the call.
The multiple CDRs confirm that the is not the service provider timing out, but note that, if you don’t answer the call, the provider, or one upstream, is likely to terminate the call after its timeout.
I’m not using the queues.conf file.
I have a real-time table in the database
I tried to set timeoutpriority = conf
and in it I wrote timeout = 0
All calls are still exactly 60 seconds before switching back to the queue on non-answer.
I think it is somewhere in the code ? where can I change it ?
By changing the queue timeout parameter, which it appears you can do from the ARA database.
If you are getting 60 seconds, something has already changed it, as the default is 15 seconds, with a pause of 5 seconds before the next attempt, so the cycle period is 20 seconds. If something has changed it, changing the hard coded default won’t help, as it will still get overridden.
The maximum time that exists is 60 seconds, even if all values in the queue table are set to 0. Apparently 60 seconds is written somewhere in the code . and it can not be changed, only if not changed, and where is it written in the code ?
Are you sure Asterisk is is presenting the call multiple times? If you don’t answer the call one of the providers may well cut it off after 60 seconds.
What you are trying to do is somewhat the opposite of what most people would want to do, but I’m pretty sure there is no 60 seconds timer in the code that would affect this, and all the timers can be overridden, without changing the code.
The point is that I wanted to achieve that when an incoming call to the operator’s queue, this call hangs in the queue listening to music on hold for more than 60 seconds, until the moment when it comes out of the queue again will listen to a notification like “your call is important to us” and come back again, this creates separate entries in the CDR for the same callid until either the operator does not answer or the external caller does not hang up.