Ring delays for the next available agent

Hello everyone,

Spent the whole day trying to figure this queue issue. Please help.

When agent hangs up the existing call, there is about 15 seconds delay before his phone starts ringing again. I would like to have no delays at all.

I’m not sure what else to do, I tried almost everything at this point.

[1234] announce-frequency=0 announce-holdtime=no announce-position=no autofill=no eventmemberstatus=no eventwhencalled=no joinempty=yes leavewhenempty=no maxlen=0 periodic-announce-frequency=0 queue-callswaiting=silence/1 queue-thereare=silence/1 queue-youarenext=silence/1 reportholdtime=no retry=1 ringinuse=yes servicelevel=60 strategy=ringall timeout=0 weight=0 wrapuptime=1 member=Local/205@from-queue/n,0,Test,SIP/205 member=Local/206@from-queue/n,0,Test2,SIP/206

Retry should do it, although you must have at least 1 second.

I suspect the problem lies outside Asterisk, but you haven’t said how the agents are connected.

Thank you for your response.

Retry is already set to 1 second (see my original post) which makes no difference, same as wrapuptime=1.

There are 3 static agents connecting using General SIP extensions.

To recreated the problem, I do the following:

  • Dial from outside: (all 3 phones ring), I pick up a call on one of them.
  • Dial from outside: (2 remaining phones ring), don’t pick up the call and let it ring.
  • Hang up the first call: (2 remaining phones continue ringing), but the first one doesn’t.
  • Wait 15 seconds: (first phone starts ringing).

So, somewhere there is a 15 second delay before the agent becomes available after he hangsup and I can’t figure out where.

Using Asterisk 11.7.0 with FreePBX (Elastix) on Xorcom hardware.
SIP agents are on Cisco SPA514G phones.

You help is much appreciated.

Thanks.

[quote=“david55”]Retry should do it, although you must have at least 1 second.
I suspect the problem lies outside Asterisk, but you haven’t said how the agents are connected.[/quote]

Expected behaviour.

The thread that is handling the second call is waiting for one of the two phones to answer, both of them to reject the call, or timeout to expire. It looks like you have requested a default timeout.

Once no phones are ringing, and if no-one answered, it will wait for the retry period then start ringing all the phones that appear to be available at that time.

Is there any way to change that behavior?

It would require a major rewrite of app_queue.c