[asterisk-users] queue autopause status

2010-03-29 Thread Christian Gansberger
hi all!

Does anybody know, how to get the status autopaused from queues.
I want to display the status to the agent.

I'm using asterisk-1.4.29.1

thanks
chris

-- 
_
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
   http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Queue autopause

2009-07-10 Thread Christian Gansberger
On Thu, Jul 9, 2009 at 4:41 PM, Miguel Molinammol...@millenium.com.co wrote:
 Christian Gansberger escribió:

 On Thu, Jul 9, 2009 at 12:21 AM, Miguel Molinammol...@millenium.com.co
 wrote:


 Christian Gansberger escribió:


 Hi all!

 I want to autopause my queue member when they are not answering within
 20 seconds, and the autopause
 should affect all queues they are member of, not only the queue where
 the call was not answered.

 Is there a way to do that?

 The members gets dynamically added. I'm using asterisk 1.4.21.2.

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
    http://lists.digium.com/mailman/listinfo/asterisk-users



 Why would you want to do that? The purpose of the autopause is to
 discard the absent agent that is not responding to the calls to not
 try it anymore until it gets unpaused by a supervisor or someone else,
 and therefore the pause is made to all queues the agent is member of.
 Why pause it on only one queue, letting it ring on other queues?

 Aside from the purpose you have on this, I think you would need to
 modify the app_queue.c code to make the parameter configurable inside
 each queue definition and not on the general section of queues.conf.
 Then you would need to modify the logic to handle the autopause
 configured for each queue. This is a general idea as I didn't take a
 deep look of app_queue.c to see how it works exactly.

 Any other solution without changing asterisk code would imply a external
 application that monitors the queues and makes the custom autopause you
 need.

 Just my two cents...

 --
 Ing. Miguel Molina
 Grupo de Tecnología
 Millenium Phone Center


 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users



 To make things clearer:

 I want  the queue member is autopaused on all queues. As a matter of
 fact in asterisk (vers. 1.4.24.1)
 the queue member is only paused on one Queue.

 I tried setting autopause=yes in general context, which doesn't do anything.
 So i set autopause=yes in every Queue definition, which is working,
 but only on that queue.

 I don't use the agents channel (well i tried, with ending up in lots
 of trouble), because its
 depreciated in asterisk 1.4 and gone in 1.6. so i decided to
 do as proposed in UPGRADE.txt and
 asterisk-src/doc/queues-with-callback-members.txt,
 with one change, i'm not using the Local channel, because it is not
 showing the right status
 of the devices in the queue. (I wonder how the callcenter at digiums
 ist working with that).

 maybe anyone else having problems with queues in asterisk 1.4?

 yours
 christian gansberger


 You're right, the autopause on its standard behavior pauses only the member
 of the queue where it belongs. Taking a little look at app_queue.c
 (http://www.asterisk.org/doxygen/1.4/app__queue_8c.html) you can very easily
 patch the source code to achieve the functionality you want. The key
 functions are:

 static int set_member_paused - Traverses the queues doing all the things
 necessary on all different scenarios (realtime, etc) to pause the member you
 give to it. If there's no queue name given, it with pause the member on all
 queues (the PAUSEALL event).

 static void rna - (as the doxygen doc says) RNA == Ring No Answer. Common
 code that is executed when we try a queue member and they don't answer.

 If you take a look to the rna function, with autopaused enabled it will
 pause the member if it doesn't answer the queue call after the timeout time.
 You can make it pause all members just by changing this one line:

 02164   if (!set_member_paused(qe-parent-name, interface, 1)) {

 to

 02164   if (!set_member_paused(, interface, 1)) {

 That way we don't send the queue name, pausing it in all the queues it is
 member of.

 Although it's not tested, it might work for you. That's the beauty of
 Asterisk and well documented Open Source projects, you can get to the code
 as deep as you want, learn from it how it works, and change it/improve it
 according to your needs. Good contributions make it to the official code as
 well.

 Cheers,

 --
 Ing. Miguel Molina
 Grupo de Tecnología
 Millenium Phone Center

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users



Thanks!

I will try changing the app_queue, on my testsystem in the next days.
For now I made some dummy-queues (timeout=1), and one queue where all
the calls are taking place
and the members are logged on.

Cheers

___
-- Bandwidth and 

Re: [asterisk-users] Queue autopause

2009-07-09 Thread Christian Gansberger
On Thu, Jul 9, 2009 at 12:21 AM, Miguel Molinammol...@millenium.com.co wrote:
 Christian Gansberger escribió:
 Hi all!

 I want to autopause my queue member when they are not answering within
 20 seconds, and the autopause
 should affect all queues they are member of, not only the queue where
 the call was not answered.

 Is there a way to do that?

 The members gets dynamically added. I'm using asterisk 1.4.21.2.

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
    http://lists.digium.com/mailman/listinfo/asterisk-users

 Why would you want to do that? The purpose of the autopause is to
 discard the absent agent that is not responding to the calls to not
 try it anymore until it gets unpaused by a supervisor or someone else,
 and therefore the pause is made to all queues the agent is member of.
 Why pause it on only one queue, letting it ring on other queues?

 Aside from the purpose you have on this, I think you would need to
 modify the app_queue.c code to make the parameter configurable inside
 each queue definition and not on the general section of queues.conf.
 Then you would need to modify the logic to handle the autopause
 configured for each queue. This is a general idea as I didn't take a
 deep look of app_queue.c to see how it works exactly.

 Any other solution without changing asterisk code would imply a external
 application that monitors the queues and makes the custom autopause you
 need.

 Just my two cents...

 --
 Ing. Miguel Molina
 Grupo de Tecnología
 Millenium Phone Center


 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


To make things clearer:

I want  the queue member is autopaused on all queues. As a matter of
fact in asterisk (vers. 1.4.24.1)
the queue member is only paused on one Queue.

I tried setting autopause=yes in general context, which doesn't do anything.
So i set autopause=yes in every Queue definition, which is working,
but only on that queue.

I don't use the agents channel (well i tried, with ending up in lots
of trouble), because its
depreciated in asterisk 1.4 and gone in 1.6. so i decided to
do as proposed in UPGRADE.txt and
asterisk-src/doc/queues-with-callback-members.txt,
with one change, i'm not using the Local channel, because it is not
showing the right status
of the devices in the queue. (I wonder how the callcenter at digiums
ist working with that).

maybe anyone else having problems with queues in asterisk 1.4?

yours
christian gansberger

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Queue autopause

2009-07-09 Thread Miguel Molina

Christian Gansberger escribió:

On Thu, Jul 9, 2009 at 12:21 AM, Miguel Molinammol...@millenium.com.co wrote:
  

Christian Gansberger escribió:


Hi all!

I want to autopause my queue member when they are not answering within
20 seconds, and the autopause
should affect all queues they are member of, not only the queue where
the call was not answered.

Is there a way to do that?

The members gets dynamically added. I'm using asterisk 1.4.21.2.

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

  

Why would you want to do that? The purpose of the autopause is to
discard the absent agent that is not responding to the calls to not
try it anymore until it gets unpaused by a supervisor or someone else,
and therefore the pause is made to all queues the agent is member of.
Why pause it on only one queue, letting it ring on other queues?

Aside from the purpose you have on this, I think you would need to
modify the app_queue.c code to make the parameter configurable inside
each queue definition and not on the general section of queues.conf.
Then you would need to modify the logic to handle the autopause
configured for each queue. This is a general idea as I didn't take a
deep look of app_queue.c to see how it works exactly.

Any other solution without changing asterisk code would imply a external
application that monitors the queues and makes the custom autopause you
need.

Just my two cents...

--
Ing. Miguel Molina
Grupo de Tecnología
Millenium Phone Center


___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users




To make things clearer:

I want  the queue member is autopaused on all queues. As a matter of
fact in asterisk (vers. 1.4.24.1)
the queue member is only paused on one Queue.

I tried setting autopause=yes in general context, which doesn't do anything.
So i set autopause=yes in every Queue definition, which is working,
but only on that queue.

I don't use the agents channel (well i tried, with ending up in lots
of trouble), because its
depreciated in asterisk 1.4 and gone in 1.6. so i decided to
do as proposed in UPGRADE.txt and
asterisk-src/doc/queues-with-callback-members.txt,
with one change, i'm not using the Local channel, because it is not
showing the right status
of the devices in the queue. (I wonder how the callcenter at digiums
ist working with that).

maybe anyone else having problems with queues in asterisk 1.4?

yours
christian gansberger
  
You're right, the autopause on its standard behavior pauses only the 
member of the queue where it belongs. Taking a little look at 
app_queue.c (http://www.asterisk.org/doxygen/1.4/app__queue_8c.html) you 
can very easily patch the source code to achieve the functionality you 
want. The key functions are:


static int set_member_paused - Traverses the queues doing all the 
things necessary on all different scenarios (realtime, etc) to pause the 
member you give to it. If there's no queue name given, it with pause the 
member on all queues (the PAUSEALL event).


static void rna - (as the doxygen doc says) RNA == Ring No Answer. 
Common code that is executed when we try a queue member and they don't 
answer.


If you take a look to the rna function, with autopaused enabled it will 
pause the member if it doesn't answer the queue call after the timeout 
time. You can make it pause all members just by changing this one line:


02164   if (!set_member_paused 
http://www.asterisk.org/doxygen/1.4/app__queue_8c.html#d61f43e341bcf4c523f2fdb01ece066b(qe-parent 
http://www.asterisk.org/doxygen/1.4/structqueue__ent.html#59ceee334ec79ed344313a7e8affb3fc-name 
http://www.asterisk.org/doxygen/1.4/structcall__queue.html#188159d17b341b26fcfe4b57baefd372, 
interface 
http://www.asterisk.org/doxygen/1.4/structcallattempt.html#8ee1350d5c943c7ee1ad3da9078eda25, 1)) {

to

02164   if (!set_member_paused 
http://www.asterisk.org/doxygen/1.4/app__queue_8c.html#d61f43e341bcf4c523f2fdb01ece066b(,
 interface 
http://www.asterisk.org/doxygen/1.4/structcallattempt.html#8ee1350d5c943c7ee1ad3da9078eda25, 
1)) {


That way we don't send the queue name, pausing it in all the queues it 
is member of.


Although it's not tested, it might work for you. That's the beauty of 
Asterisk and well documented Open Source projects, you can get to the 
code as deep as you want, learn from it how it works, and change 
it/improve it according to your needs. Good contributions make it to the 
official code as well.


Cheers,

--
Ing. Miguel Molina
Grupo de Tecnología
Millenium Phone Center

___
-- Bandwidth and Colocation Provided by 

[asterisk-users] Queue autopause

2009-07-08 Thread Christian Gansberger
Hi all!

I want to autopause my queue member when they are not answering within
20 seconds, and the autopause
should affect all queues they are member of, not only the queue where
the call was not answered.

Is there a way to do that?

The members gets dynamically added. I'm using asterisk 1.4.21.2.

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Queue autopause

2009-07-08 Thread Miguel Molina
Christian Gansberger escribió:
 Hi all!

 I want to autopause my queue member when they are not answering within
 20 seconds, and the autopause
 should affect all queues they are member of, not only the queue where
 the call was not answered.

 Is there a way to do that?

 The members gets dynamically added. I'm using asterisk 1.4.21.2.

 ___
 -- Bandwidth and Colocation Provided by http://www.api-digital.com --

 asterisk-users mailing list
 To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
   
Why would you want to do that? The purpose of the autopause is to 
discard the absent agent that is not responding to the calls to not 
try it anymore until it gets unpaused by a supervisor or someone else, 
and therefore the pause is made to all queues the agent is member of. 
Why pause it on only one queue, letting it ring on other queues?

Aside from the purpose you have on this, I think you would need to 
modify the app_queue.c code to make the parameter configurable inside 
each queue definition and not on the general section of queues.conf. 
Then you would need to modify the logic to handle the autopause 
configured for each queue. This is a general idea as I didn't take a 
deep look of app_queue.c to see how it works exactly.

Any other solution without changing asterisk code would imply a external 
application that monitors the queues and makes the custom autopause you 
need.

Just my two cents...

-- 
Ing. Miguel Molina
Grupo de Tecnología
Millenium Phone Center


___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] queue autopause

2008-05-16 Thread Lenz

You could use a real agent with autologoff, for instance. Of course  
there may be drawbacks in using the agent channel, though it's usually a  
reasonable choice for most setups.
Thanks
l.


On Fri, 16 May 2008 05:39:52 +0200, Rilawich Ango [EMAIL PROTECTED]  
wrote:

 Hi all,

   There is a setting called autopause in queue.conf to pause a queue
 member if they fail to answer a call.
 The autopause setting will pause the agent even when they are on the
 line.  I want to know if it is possible to pause the queue member only
 when they don't answer after timeout?
 ango




-- 
Loway Research - Home of QueueMetrics
http://queuemetrics.com

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] queue autopause

2008-05-15 Thread Rilawich Ango
Hi all,

  There is a setting called autopause in queue.conf to pause a queue
member if they fail to answer a call.
The autopause setting will pause the agent even when they are on the
line.  I want to know if it is possible to pause the queue member only
when they don't answer after timeout?
ango

___
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users