[Home]

Summary:ASTERISK-20801: Non-SIP queue members get no calls when ringinuse=no.
Reporter:Richard Mudgett (rmudgett)Labels:
Date Opened:2012-12-14 15:01:44.000-0600Date Closed:2012-12-14 15:33:45.000-0600
Priority:MajorRegression?Yes
Status:Closed/CompleteComponents:Applications/app_queue
Versions:1.8.17.0 10.9.0 11.0.0 Frequency of
Occurrence
Constant
Related
Issues:
must be completed before resolvingASTERISK-20807 1.8.20.0 Blockers
must be completed before resolvingASTERISK-20808 10.12.0 Blockers
must be completed before resolvingASTERISK-20809 11.2.0 Blockers
is caused byASTERISK-16115 [patch] problem with ringinuse=no, queue members receive sometimes two calls
Environment:Attachments:
Description:With the option ringinuse=no set, the patch committed for ASTERISK-16115 causes non-SIP queue members to never be called because the device state is checked after a channel is created to determine if the member is busy.  These queue members always get the "Member %s is busy, cannot dial" message.

Most channel drivers other than chan_sip use the default device state handling.  The default device-state state is considered in use or unknown if the channel exists or not respectively.

{noformat:title=Pseudo code of breaking patch}
chan = ast_request();
...
update_status(qe->parent, tmp->member, get_queue_member_status(tmp->member))
if (tmp->member->status == busy)
   ast_verb(1, "Member %s is busy, cannot dial", tmp->member->interface)
   abort call to member
else
   ast_call(chan)
{noformat}
Comments: