Summary: | ASTERISK-18810: Function QUEUE_MEMBER broken after module reload | ||
Reporter: | Filip Jenicek (phill) | Labels: | |
Date Opened: | 2011-11-03 04:09:48 | Date Closed: | 2011-11-21 14:16:46.000-0600 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Applications/app_queue |
Versions: | 1.8.7.0 | Frequency of Occurrence | Constant |
Related Issues: | |||
Environment: | GNU/Linux 2.6.38 | Attachments: | |
Description: | The QUEUE_MEMBER function doesn't seem to work correctly when adding/updating queues while asterisk is running. *ISSUE 1* *Steps to reproduce:* 1. Edit queues.conf and set up a new queue "QUEUE1" with one static agent {code} [general] persistentmembers = yes autofill = yes monitor-type = MixMonitor [QUEUE1] musicclass = moh_0 strategy = rrmemory timeout = 15 timeoutrestart = yes retry = 1 weight = 2 wrapuptime = 30 maxlen = 0 joinempty = no leavewhenempty = yes periodic-announce-frequency = 0 ringinuse = no member => SIP/10p1 {code} 2. Create a simple dialplan in extensions.conf {code} exten => 18,1,NoOp(${QUEUE_MEMBER(QUEUE1,count)}) exten => 18,n,NoOp(${QUEUE_MEMBER_COUNT(QUEUE1)}) exten => 18,n,NoOp(${QUEUE_MEMBER(QUEUE2,count)}) exten => 18,n,NoOp(${QUEUE_MEMBER_COUNT(QUEUE2)}) {code} 3. Start Asterisk 4. Create a new queue "QUEUE2" with one static agent (the same as "QUEUE1") {code} [QUEUE2] musicclass = moh_0 strategy = rrmemory timeout = 15 timeoutrestart = yes retry = 1 weight = 2 wrapuptime = 30 maxlen = 0 joinempty = no leavewhenempty = yes periodic-announce-frequency = 0 ringinuse = no member => SIP/10p1 {code} 3. Open the Asterisk CLI and execute "module reload app_queue.so" 4. Call extension 18 *Expected result:* Both functions return the same result (1) *Actual result:* {code} -- Executing [18@sip-locals:1] NoOp("SIP/12p1-00000000", "0") in new stack -- Executing [18@sip-locals:2] NoOp("SIP/12p1-00000000", "1") in new stack -- Executing [18@sip-locals:3] NoOp("SIP/12p1-00000000", "1") in new stack -- Executing [18@sip-locals:4] NoOp("SIP/12p1-00000000", "1") in new stack {code} *ISSUE 2* *Steps to reproduce:* 1. Edit queues.conf and set up a new queue "QUEUE1" with one static member {code} [general] persistentmembers = yes autofill = yes monitor-type = MixMonitor [QUEUE1] musicclass = moh_0 strategy = rrmemory timeout = 15 timeoutrestart = yes retry = 1 weight = 2 wrapuptime = 30 maxlen = 0 joinempty = no leavewhenempty = yes periodic-announce-frequency = 0 ringinuse = no member => SIP/10p1 {code} 2. Create a simple dialplan in extensions.conf {code} exten => 18,1,NoOp(${QUEUE_MEMBER(QUEUE1,count)}) exten => 18,n,NoOp(${QUEUE_MEMBER_COUNT(QUEUE1)}) {code} 3. Start Asterisk 4. Remove the queue member 5. Open the Asterisk CLI and execute "module reload app_queue.so" 6. Call extension 18 *Expected result:* Both functions return the same result (0) *Actual result:* {code} -- Executing [18@sip-locals:1] NoOp("SIP/12p1-00000005", "-1") in new stack -- Executing [18@sip-locals:2] NoOp("SIP/12p1-00000005", "0") in new stack {code} | ||
Comments: | By: Richard Mudgett (rmudgett) 2011-11-03 11:58:31.935-0500 Queue member counts were recently fixed. Please try the v1.8 SVN branch. By: Leif Madsen (lmadsen) 2011-11-21 14:16:42.567-0600 Suspended due to lack of activity. Please request a bug marshal in #asterisk-bugs on the IRC network irc.freenode.net to reopen the issue should you have the additional information requested. Further information can be found at http://www.asterisk.org/developers/bug-guidelines |