Trying to create the following setup:
-Queue with 3 cellphones
-Linear ring strategy
-20 seconds agent timeout
-20 seconds retry
-Call confirm enabled
-Only 2 channels are available (Voip provider restriction)
- I call in and dial the IVR option that leads to the queue
- The first cellphone rings
- I reject the call on the cellphone
- The call goes to the cellphone’s mailbox (normal behavior when rejecting a call)
- A message is left in the voicemail. It’s the FreePBX asking to press 1 to accept the call (normal behavior when using call confirm)
My issue: When the call ends in the voicemail, FreePBX asks 3 times to press 1 to accept the calls. This takes longer than the 20 seconds queue agent timeout so when the second cellphone is supposed to be called, the 2 channels are still in use (one incoming call and the other is outgoing) so the nexts calls are “busy” (no available channels).
I could use a longer agent timeout to fix this or add more channels. But is there a way to “shorten” the call confirm message ? Like configure it so it asks only 2 times instead of 3 times ?
Whilst I think it is probably true that Asterisk isn’t looking at what queue is doing at the time (I think this is done with a local channel and that won’t be monitored whilst running dialplan against the callee), I don’t think you have considered that ending a call isn’t instantaneous and isn’t synchronous. Ending a SIP call is started when the channel hangs up, but involves sending a message to the other end, which takes time, and might get lost and have to be retransmitted. SIP can take up to 30 seconds before it decides to give up on retransmitting.
You probably need to introduce a delay before the actual DIal to the agent is started, although still accept the risk that the hangup may only succeed on the last attempt.
In the worst case, the ITSP may only allocate enough UDP port numbers to cover the maximum number of channels, in which case there is also the issue that UDP ports are reserved, for some time, to allow for late arrivals. Hopefully they will allocate from a larger pool and have enough spare capacity to cope with calls that are being wrapped up.
Thanks for the reply.
I fixed the issue by adding a 3rd channel
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.