[Home]

Summary:ASTERISK-18810: Function QUEUE_MEMBER broken after module reload
Reporter:Filip Jenicek (phill)Labels:
Date Opened:2011-11-03 04:09:48Date Closed:2011-11-21 14:16:46.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Applications/app_queue
Versions:1.8.7.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:GNU/Linux 2.6.38Attachments:
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