[Home]

Summary:ASTERISK-29117: Zero wrapuptime is NOT respected in a ringall queue and no ringinuse
Reporter:Ioannis Inglesis (ioannisinglesis)Labels:
Date Opened:2020-10-09 04:18:41Date Closed:2020-10-19 06:26:44
Priority:MajorRegression?
Status:Closed/CompleteComponents:Applications/app_queue
Versions:16.13.0 Frequency of
Occurrence
Related
Issues:
Environment:Tested against Debian 9 - StretchAttachments:( 0) debug_log_29117.txt
( 1) extensions.conf
( 2) queues.conf
( 3) sip.conf
Description:We a have a single queue that contains 2 members. Queue's configuration is with ringall strategy, 20 seconds timeout, no ringinuse and wrapuptime to 0.

Scenario:
* A first call arrives at the queue. Both members are ringing properly.
* 'first-device' answers the call.
* A second call arrives at the queue. Only the 'second-device' is ringing, as it is supposed to.
* 'first-device' hangs up.
* 'second-device' still ringing as it is supposed to but the 'first-device' doesn't receive the 'second-call' at all, despite the fact that there is wrapuptime = 0.
* 20 seconds goes by and then the Queue retries both members which is normal.

Based on wrapuptime definition, I think the call should immediately be placed on the first-device after hangup:

```
; After a successful call, how long to wait before sending a potentially
; free member another call (default is 0, or no delay)
;
;wrapuptime=15
```

I tried different settings in queue configuration to see if there is a combination of variables that fix this behaviour, but with no luck.

Tried with both Local and SIP queue members. I tested against a clean installation of asterisk 16.13.0 which is the current release for 16.

All the tests are based on asterisk's sample files, I am attaching the SIP members scenario.
Comments:By: Asterisk Team (asteriskteam) 2020-10-09 04:18:41.911-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. Please note that log messages and other files should not be sent to the Sangoma Asterisk Team unless explicitly asked for. All files should be placed on this issue in a sanitized fashion as needed.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

Please note that by submitting data, code, or documentation to Sangoma through JIRA, you accept the Terms of Use present at [https://www.asterisk.org/terms-of-use/|https://www.asterisk.org/terms-of-use/].

By: Ioannis Inglesis (ioannisinglesis) 2020-10-09 04:21:04.853-0500

Here is my sample confs for this problem

By: Joshua C. Colp (jcolp) 2020-10-09 05:06:33.126-0500

It appears the bug you have submitted is against a rather old version of a supported branch of Asterisk. There have been many issues fixed between the version you are using and the current version of your branch. Please test with the latest version in your Asterisk branch and report whether the issue persists.

Please see the Asterisk Versions [1] wiki page for info on which versions of Asterisk are supported.
[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions



By: Ioannis Inglesis (ioannisinglesis) 2020-10-17 12:03:33.393-0500

SIP members scenario.

500 is the extension for the testing queue.
200 & 201 are the members

By: Ioannis Inglesis (ioannisinglesis) 2020-10-17 12:05:38.307-0500

I re-write the whole issue and tested against 16.13.0 which is the current release of asterisk 16. Still the same problem occurs.

By: Joshua C. Colp (jcolp) 2020-10-19 04:25:13.553-0500

We require additional debug to continue with triage of your issue. Please follow the instructions on the wiki [1] for how to collect debugging information from Asterisk. For expediency, where possible, attach the debug with a '.txt' file extension so that the debug will be usable for further analysis.

Thanks!

[1] https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information



By: Ioannis Inglesis (ioannisinglesis) 2020-10-19 04:40:10.544-0500

Created and attached based on wiki's instructions.

By: Joshua C. Colp (jcolp) 2020-10-19 05:00:59.121-0500

Looking at the log and the code this appears to be by design. Queue members are not re-evaluated when dialling is in progress, it is only when dialling is started that the members are evaluated and called. This is why when the timeout occurs and the process starts again that the other endpoint is dialled.

Any changes in this area would be an improvement and would need to be behind an option. Such change could have a large performance impact as you'd be constantly checking even more things.

By: Ioannis Inglesis (ioannisinglesis) 2020-10-19 06:18:48.798-0500

I guessed that this would be the case here. Nevertheless, `wrapuptime` definition can be is a bit misleading in this scenario. Do you agree?

So if I understand correctly, there is no plans to fix this case by adding some extra options?

By: Asterisk Team (asteriskteam) 2020-10-19 06:18:49.242-0500

This issue has been reopened as a result of your commenting on it as the reporter. It will be triaged once again as applicable.

By: Ioannis Inglesis (ioannisinglesis) 2020-10-19 06:19:39.566-0500

Sorry just commented and it reopened.

By: Joshua C. Colp (jcolp) 2020-10-19 06:22:20.034-0500

I think the documentation could be construed as you originally thought. I know of noone actively working on such functionality.