[Home]

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-0600Date Closed:2011-02-04 13:24:58.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents: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