[Home]

Summary:ASTERISK-13489: autopause should not pause interfaces that are busy
Reporter:Fredrik Liljegren (fiddur)Labels:
Date Opened:2009-01-31 02:05:03.000-0600Date Closed:2009-02-05 14:35:44.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 14376.patch
Description:It makes no sence auto-pausing a queue-members who are busy on the phone.

I guess the point of an auto-pause function, is to pause queue members who fail to answer within the timout limit, marking them as paused as they probably left their seats forgetting to put on pause themselves.

If. in this scenario, the queue member is busy on the phone, the interface immediately returns a busy response, and the queue pauses him, so that when he's not on the phone anymore, he won't get his calls.  I don't see the use of that.


****** ADDITIONAL INFORMATION ******

I see the code in app_queue.c explicitly calls rna for AST_CONTROL_BUSY and AST_CONTROL_CONGESTION.  At the same time, the log-message in rna says "Nobody picked up in %d ms", and that nobody picked up in 0 ms doesn't seem to have been the purpose?!

If auto-pause really shall have this behaviour, there should be some other way to get an event triggered for an agent who's phone has been ringing until timeout.
Comments:By: Leif Madsen (lmadsen) 2009-01-31 11:22:08.000-0600

Assigned to the Queue King!

By: Fredrik Liljegren (fiddur) 2009-02-01 02:08:29.000-0600

Maybe it's enough to set ringinuse to no?
It could work for sip-members at least...

By: Mark Michelson (mmichelson) 2009-02-01 15:04:40.000-0600

ringinuse=no would solve the problem, and it should work for any type of members, even non-SIP ones.

I think your request is reasonable. I just need to make doubly sure that the queue won't continue trying to call the same member over and over again. I think the stillgoing variable on the callattempt structure for the busy member will prevent the queue from attempting to re-ring that member, though. I'll investigate on my test setup on Monday.

By: Fredrik Liljegren (fiddur) 2009-02-02 05:32:54.000-0600

It wouldn't solve it for a phone that returns busy; e.g. if it has several lines registered, or uses DND without notifying this asterisk.  Not a problem in my case since I set the phones to notify asterisk on dnd, but could be for someone else :)

By: Mark Michelson (mmichelson) 2009-02-02 12:33:31.000-0600

Good observations, ringinuse=no is not 100% safe, especially in that DND scenario.

Anyway, I have uploaded 14376.patch which attempts to make the autopause setting a bit more sane.

For busy and congestion situations, we do not autopause the member. For failure to read a frame and for timeouts, we will continue the current behavior and autopause the queue member.

Give it a test and let me know if it works out for you.

By: Fredrik Liljegren (fiddur) 2009-02-03 02:33:31.000-0600

I tried it, and it works good I think.

In a queue I had one member, SIP/166, with the phone on DND but not paused in the queue.  It tries calling that member over and over again; but I guess that is as it should, since the member could un-dnd his phone while the call is in the queue?

I also tried having another member, with higher penalty, and that member gets called after the one with DND, so I think it does exactly what it should.

Nice work!

By: Digium Subversion (svnbot) 2009-02-05 14:29:10.000-0600

Repository: asterisk
Revision: 173692

U   branches/1.4/apps/app_queue.c

------------------------------------------------------------------------
r173692 | mmichelson | 2009-02-05 14:29:10 -0600 (Thu, 05 Feb 2009) | 12 lines

Fix situations where queue members could be autopaused unexpectedly

Specifically, this patch prevents us from autopausing members when
we receive a busy or congestion frame from them.

(closes issue ASTERISK-13489)
Reported by: fiddur
Patches:
     14376.patch uploaded by putnopvut (license 60)
Tested by: fiddur


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=173692

By: Digium Subversion (svnbot) 2009-02-05 14:30:46.000-0600

Repository: asterisk
Revision: 173693

_U  trunk/
U   trunk/apps/app_queue.c

------------------------------------------------------------------------
r173693 | mmichelson | 2009-02-05 14:30:46 -0600 (Thu, 05 Feb 2009) | 20 lines

Merged revisions 173692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173692 | mmichelson | 2009-02-05 14:29:09 -0600 (Thu, 05 Feb 2009) | 12 lines

Fix situations where queue members could be autopaused unexpectedly

Specifically, this patch prevents us from autopausing members when
we receive a busy or congestion frame from them.

(closes issue ASTERISK-13489)
Reported by: fiddur
Patches:
     14376.patch uploaded by putnopvut (license 60)
Tested by: fiddur


........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=173693

By: Digium Subversion (svnbot) 2009-02-05 14:34:45.000-0600

Repository: asterisk
Revision: 173694

_U  branches/1.6.0/
U   branches/1.6.0/apps/app_queue.c

------------------------------------------------------------------------
r173694 | mmichelson | 2009-02-05 14:34:45 -0600 (Thu, 05 Feb 2009) | 28 lines

Merged revisions 173693 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r173693 | mmichelson | 2009-02-05 14:30:45 -0600 (Thu, 05 Feb 2009) | 20 lines

Merged revisions 173692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173692 | mmichelson | 2009-02-05 14:29:09 -0600 (Thu, 05 Feb 2009) | 12 lines

Fix situations where queue members could be autopaused unexpectedly

Specifically, this patch prevents us from autopausing members when
we receive a busy or congestion frame from them.

(closes issue ASTERISK-13489)
Reported by: fiddur
Patches:
     14376.patch uploaded by putnopvut (license 60)
Tested by: fiddur


........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=173694

By: Digium Subversion (svnbot) 2009-02-05 14:35:43.000-0600

Repository: asterisk
Revision: 173695

_U  branches/1.6.1/
U   branches/1.6.1/apps/app_queue.c

------------------------------------------------------------------------
r173695 | mmichelson | 2009-02-05 14:35:43 -0600 (Thu, 05 Feb 2009) | 28 lines

Merged revisions 173693 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r173693 | mmichelson | 2009-02-05 14:30:45 -0600 (Thu, 05 Feb 2009) | 20 lines

Merged revisions 173692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173692 | mmichelson | 2009-02-05 14:29:09 -0600 (Thu, 05 Feb 2009) | 12 lines

Fix situations where queue members could be autopaused unexpectedly

Specifically, this patch prevents us from autopausing members when
we receive a busy or congestion frame from them.

(closes issue ASTERISK-13489)
Reported by: fiddur
Patches:
     14376.patch uploaded by putnopvut (license 60)
Tested by: fiddur


........

................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=173695