[asterisk-bugs] [Asterisk 0015113]: autofill problem when coming back from paused on realtime

Asterisk Bug Tracker noreply at bugs.digium.com
Thu May 14 14:41:58 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15113 
====================================================================== 
Reported By:                elbriga
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15113
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
Asterisk Version:           1.4.19 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-05-14 13:29 CDT
Last Modified:              2009-05-14 14:41 CDT
====================================================================== 
Summary:                    autofill problem when coming back from paused on
realtime
Description: 
I'm testing this on 1.4.19, but I dont see anything related on the latest
changelog (maybe something on 1.4.25-rc1, but right now I dont have SVN
access to get it).

I have my queues setup on realtime and i directly access the 'paused'
column on the queue members table to change their status. When I enable
'autofill' (directly on the table, not in the conf file) it will do the
autofill behavior OK, until this scenario...

- A queue member is paused
- A call enters the queue, and here it will be looping in the
"wait_out_turn" function, that calls "is_our_turn"
- The queue member gets unpaused (directly via SQL on the respective
paused column)
- The call is still on the "wait_out_turn" loop, and inside it there are
no direct call to refresh the realtime data, so it will "never" know that
the member get unpaused (but if I, for eg, do a "queue show" CLI command it
will ring that agent right away, because the queue struct got refreshed)

I was thinking about doing a "update_realtime_members" at some frequency
inside the "wait_out_turn" loop, but then it would get executes for every
call on the queue, so I think the best way flag the need of a refresh
inside the "wait_out_turn" loop and actually refresh some place else
(where?)
====================================================================== 

---------------------------------------------------------------------- 
 (0104777) elbriga (reporter) - 2009-05-14 14:41
 https://issues.asterisk.org/view.php?id=15113#c104777 
---------------------------------------------------------------------- 
putting "update_realtime_members(qe->parent);" inside the "wait_our_turn"
loop (I put a counter to do it each 5 iterations) solves the problem, but
creates another one: it will Query: "SELECT * FROM membrosfila WHERE
interface LIKE '%' AND queue_name = 'XXXXX' ORDER BY interface" every 5
seconds for every call in the queue! No Good!! 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-14 14:41 elbriga        Note Added: 0104777                          
======================================================================




More information about the asterisk-bugs mailing list