Summary: | ASTERISK-17131: [patch] Fallthrough in get_member_status can cause unwarranted exit from queue | ||
Reporter: | Andrew Ofisher (zaltar) | Labels: | |
Date Opened: | 2010-12-19 01:06:10.000-0600 | Date Closed: | 2011-02-04 13:24:58.000-0600 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_queue |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) app_queue.patch | |
Description: | The case statement for AST_DEVICE_RINGING can fallthrough to the AST_DEVICE_UNKNOWN state, which can incorrectly cause a caller to be removed from the queue because it will match the conditions for being empty. To reproduce: Set leavewhenempty for the queue to at least include unknown Have an agent timeout in the queue So, in queues.conf: leavewhenempty = unknown timeout = 15 Add one agent to the queue, unpaused and available. Call into the queue, but let the agent timeout. The call will end up exiting the queue because the agent's state is Ringing, but it will fall through to the Unknown case statement causing the queue to believe it is empty. Patch is simple one line fix to add the same goto default_case that is in all the other cases. | ||
Comments: | By: Paul Belanger (pabelanger) 2010-12-19 12:45:03.000-0600 Promoted to 'Ready for Review' By: Leif Madsen (lmadsen) 2010-12-20 09:17:06.000-0600 Next time don't forget to import it :) By: Digium Subversion (svnbot) 2011-02-04 13:21:44.000-0600 Repository: asterisk Revision: 306346 U branches/1.6.2/apps/app_queue.c ------------------------------------------------------------------------ r306346 | qwell | 2011-02-04 13:21:44 -0600 (Fri, 04 Feb 2011) | 9 lines Don't fallthrough to 'unknown' in the 'ringing' case. This could cause improper exits from the queue. (closes issue ASTERISK-17131) Reported by: zaltar Patches: app_queue.patch uploaded by zaltar (license 1148) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=306346 By: Digium Subversion (svnbot) 2011-02-04 13:24:30.000-0600 Repository: asterisk Revision: 306356 _U branches/1.8/ U branches/1.8/apps/app_queue.c ------------------------------------------------------------------------ r306356 | qwell | 2011-02-04 13:24:30 -0600 (Fri, 04 Feb 2011) | 16 lines Merged revisions 306346 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r306346 | qwell | 2011-02-04 13:21:43 -0600 (Fri, 04 Feb 2011) | 9 lines Don't fallthrough to 'unknown' in the 'ringing' case. This could cause improper exits from the queue. (closes issue ASTERISK-17131) Reported by: zaltar Patches: app_queue.patch uploaded by zaltar (license 1148) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=306356 By: Digium Subversion (svnbot) 2011-02-04 13:24:57.000-0600 Repository: asterisk Revision: 306359 _U trunk/ U trunk/apps/app_queue.c ------------------------------------------------------------------------ r306359 | qwell | 2011-02-04 13:24:57 -0600 (Fri, 04 Feb 2011) | 23 lines Merged revisions 306356 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r306356 | qwell | 2011-02-04 13:24:29 -0600 (Fri, 04 Feb 2011) | 16 lines Merged revisions 306346 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r306346 | qwell | 2011-02-04 13:21:43 -0600 (Fri, 04 Feb 2011) | 9 lines Don't fallthrough to 'unknown' in the 'ringing' case. This could cause improper exits from the queue. (closes issue ASTERISK-17131) Reported by: zaltar Patches: app_queue.patch uploaded by zaltar (license 1148) ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=306359 |