[asterisk-dev] [Code Review] 3409: app_queue: Fix for queue members receiving calls when in call and with ringinuse=no
Matt Jordan
reviewboard at asterisk.org
Sun Apr 27 20:18:35 CDT 2014
> On April 26, 2014, 6:10 a.m., Joshua Colp wrote:
> > After talking on Twitter I believe I understand what is going on here.
> >
> > When you do a "sip reload" any realtime peers in chan_sip are pruned and removed. This is probably causing the device state to change to an incorrect value which app_queue is then using. The change probably works around this by re-checking using any channels that exist.
If that's the case, this solution still isn't the correct solution to the problem. The fact that the device state isn't being persisted correctly across the reload would point to a problem in chan_sip.
While I appreciate the attempt to fix this problem, adding complexity to an already complex module that doesn't address the root cause of this problem is not an appropriate solution. If you'd like to dig into the reload code in chan_sip to try and find why the realtime peers are getting the wrong device state, that'd be appreciated - I think everyone would be happy to discuss the situation more in #asterisk-dev or on the asterisk-dev mailing list. If you're interested in providing a patch that solves the problem where it is occurring, I'll keep this review open for that patch - otherwise, barring any objections, I'll close this out in a few days.
- Matt
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3409/#review11759
-----------------------------------------------------------
On April 2, 2014, 7:48 a.m., Shlomi Gutman wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3409/
> -----------------------------------------------------------
>
> (Updated April 2, 2014, 7:48 a.m.)
>
>
> Review request for Asterisk Developers.
>
>
> Bugs: ASTERISK-16115
> https://issues.asterisk.org/jira/browse/ASTERISK-16115
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> In some cases when member in talk (IN_USE) and you run "sip reload" or peer has connectivity problems (reachable->unreachable/lagged->reachable) the status of peer is set to NOT_INUSE, while he is still talking.
> The patch adds function that would check if member has any active channel. And would consider him IN_USE if does and if not, would do nothing, as you can't detect what is the state of member if he has no channel.
>
> Originally patch was used on 1.8.23.0 (can apply it to reviewboard as well) and 11.6-cert1. As well as in my case all peers, queues, memebrs are realtime. But as David Brillert reported in bug, he is not using realtime peers, so it's used for all peers.
>
> The patch works, the question is if it's the best solution and it would not introduce any regressions.
>
>
> Diffs
> -----
>
> /branches/11/apps/app_queue.c 411575
>
> Diff: https://reviewboard.asterisk.org/r/3409/diff/
>
>
> Testing
> -------
>
> Used in production on 1.8 and 11 and customers having problems approved that problem was resolved.
>
>
> Thanks,
>
> Shlomi Gutman
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140428/72580c6d/attachment.html>
More information about the asterisk-dev
mailing list