[asterisk-bugs] [Asterisk 0009832]: After QueuePause(true) and queue inboundcall is delivered to sip

noreply at bugs.digium.com noreply at bugs.digium.com
Tue Jul 31 14:27:10 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=9832 
====================================================================== 
Reported By:                dmb
Assigned To:                bweschke
====================================================================== 
Project:                    Asterisk
Issue ID:                   9832
Category:                   Core/General
Reproducibility:            sometimes
Severity:                   trivial
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.4 
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        No 
Request Review:              
====================================================================== 
Date Submitted:             05-30-2007 05:31 CDT
Last Modified:              07-31-2007 14:27 CDT
====================================================================== 
Summary:                    After QueuePause(true) and queue inboundcall is
delivered to sip
Description: 
Hello,
When an agent state is changed with manager queuepause(Paused:true) action
and inboundcall is trying to route to that agent at same second (but
milisecons after), the call is routed to that agent without giving way the
previous queuepause(Paused:true).

The scenario is:
Time         Success description
10:50:00,1    Queuepause(Agent: Agent/5076, Paused:true)
10:50:00,2   Queuepause conf. Success [Interface paused successfully]
10:50:00,3    Evt Link Privilege[call,all] Channel1[Zap/3-1]Channel2
[Agent/5076]

I suspect that the synchronization between agent state change and the
queue calls isn't correct.

Thank you
====================================================================== 

---------------------------------------------------------------------- 
 qwell - 07-31-07 14:27  
---------------------------------------------------------------------- 
Again - we check the paused state, and then immediately start setting up
the call.  The manager event is being processed DURING the call setup,
AFTER we've already checked that the member is unpaused.

There are two things I can see us doing here.

1) Do nothing.
2) Lock the entire queue in every place we call ring_one so that we sit in
set_member_paused until the call is finished.  The problem with this is
that not only does your manager event take a long time to finish, but
nothing else can be done on that queue at the same time. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
07-31-07 14:27  qwell          Note Added: 0068157                          
======================================================================




More information about the asterisk-bugs mailing list