Summary:ASTERISK-12522: [patch] Queue timeouts not always working correctly.
Reporter:Atis Lezdins (atis)Labels:
Date Opened:2008-08-05 09:41:34Date Closed:2008-08-18 14:52:23
Versions:Frequency of
Environment:Attachments:( 0) app_queue_timeouts_v2.patch
( 1) app_queue_timeouts.patch
Description:This is follow-up of issue ASTERISK-1310186 which inspired my search greatly.

I observed that queue timeout doesn't always goes out after time specified in Queue() args.

Sample case - when Queue(x,,,,10) is called, and retry is set to 5, and agent ring time is 10 seconds, queue will ring agent for 10 seconds, and sometimes wait 5 more seconds. This is because timeout checks for greater-than, but not for equal value.

Also there is additional check for expiry within ring_one, as for very specific configuration with custom strategy it doesn't goes out from there. I'm not sure if this is affecting any other strategy, but perhaps it could be repeated on some ringall configuration.

Comments:By: Mark Michelson (mmichelson) 2008-08-05 20:04:49

Could you explain the addition to ring_one a bit more clearly? I am having trouble understanding why that is necessary.

By: Atis Lezdins (atis) 2008-08-05 20:22:27

In short - not really :) I have my own strategy, which perhaps is written not very correctly regarding to app_queue. So, i have situations that calls get stuck in that loop and not leaving queue upon timeout, until all queue members are ringed, so i thought that it won't harm to add extra check (it helps for me)

I can try to reproduce it with ringall and penalties, but that should take a week or so, as i'm currently busy with other issues. Generally it's ok with me if you close this without that part of patch.

By: Atis Lezdins (atis) 2008-08-14 11:20:40

Ok, i found that this was actually necessary for timeoutpriority=conf within issue ASTERISK-12053

Attached clean patch that fixes only this issue.

By: Digium Subversion (svnbot) 2008-08-18 14:52:21

Repository: asterisk
Revision: 138685

U   branches/1.4/apps/app_queue.c

r138685 | mmichelson | 2008-08-18 14:52:21 -0500 (Mon, 18 Aug 2008) | 10 lines

Change the inequalities used in app_queue with regards
to timeouts from being strict to non-strict for more

(closes issue ASTERISK-12522)
Reported by: atis
     app_queue_timeouts_v2.patch uploaded by atis (license 242)