[asterisk-bugs] [Asterisk 0018499]: [patch] Fallthrough in get_member_status can cause unwarranted exit from queue

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Dec 20 15:23:03 UTC 2010


The following issue has been UPDATED. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18499 
====================================================================== 
Reported By:                zaltar
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18499
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     ready for review
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 299001 
Request Review:              
====================================================================== 
Date Submitted:             2010-12-19 01:06 CST
Last Modified:              2010-12-20 09:23 CST
====================================================================== 
Summary:                    [patch] Fallthrough in get_member_status can cause
unwarranted exit from queue
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.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-20 09:23 lmadsen        Description Updated                          
======================================================================




More information about the asterisk-bugs mailing list