[asterisk-users] queue autopause status
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
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
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
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
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
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
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
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