From 683eacb59a2d322d57c4c9bd9f6e22501c2c244b Mon Sep 17 00:00:00 2001
From: Jonathan Rose <jrose@digium.com>
Date: Wed, 11 Apr 2012 17:20:08 +0000
Subject: [PATCH] Change default value of 'ignorebusy' on Queue members so that
 behavior is more like 1.8

Prior to this patch, in order to restore that behavior, a function would have
to be used on the QueueMember to make the ringinuse option do anything, which
is pretty unreasonable.

(closes issue ASTERISK-19536)
reported by: Philippe Lindheimer
Review: https://reviewboard.asterisk.org/r/1860/
........

Merged revisions 361907 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@361909 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_queue.c           |  1 +
 configs/queues.conf.sample | 11 +++++------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/apps/app_queue.c b/apps/app_queue.c
index 7a91384b8f..f7da4180f5 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1716,6 +1716,7 @@ static struct member *create_queue_member(const char *interface, const char *mem
 	struct member *cur;
 
 	if ((cur = ao2_alloc(sizeof(*cur), NULL))) {
+		cur->ignorebusy = 1;
 		cur->penalty = penalty;
 		cur->paused = paused;
 		ast_copy_string(cur->interface, interface, sizeof(cur->interface));
diff --git a/configs/queues.conf.sample b/configs/queues.conf.sample
index 79f20f5726..61c6c41399 100644
--- a/configs/queues.conf.sample
+++ b/configs/queues.conf.sample
@@ -74,7 +74,7 @@ monitor-type = MixMonitor
 ; app_queue allows calls to members in a "Unknown" state to be treated as available
 ; setting check_state_unknown = yes will cause app_queue to query the channel driver
 ; to better determine the state this only applies to queues with ringinuse or ignorebusy
-; set appropriately. 
+; set appropriately.
 ;
 ;check_state_unknown = no
 ;
@@ -497,11 +497,10 @@ monitor-type = MixMonitor
 ;
 ; If you want the queue to avoid sending calls to members whose devices are
 ; known to be 'in use' (via the channel driver supporting that device state)
-; uncomment this option. (Note: only the SIP channel driver currently is able
-; to report 'in use'.)
-;
-; A member can have the ignorebusy flag set or unset when ringinuse is set to
-; allow a per member control.
+; uncomment this option. This can be controlled on a per member basis by
+; setting 'ignorebusy' in the QUEUE_MEMBER function. (Note: only the SIP
+; channel driver currently is able to report 'in use'.) (Note: if this option
+; is set to 'no' it will override the per-member 'ignorebusy' setting.
 ;
 ; ringinuse = no
 ;
-- 
GitLab