fifo callers when > call limit until limit no longer exceeded
I am currently using hash to limit the number of calls that can get through on a specific destination_number and giving any excess a USER_BUSY, something like this: <action application="limit" data="hash inbound ${destination_number} ${call_limit} !USER_BUSY"/> However, now they're asking me to queue those calls with a recording and let them through in order as the call_limit reduces back down and then send the call to a different destination if it stays in that queue for a minute. In other words, if call_limit is 5, the 6th call would get queued until one of those first 5 calls clears. If none of the 5 calls clears before a minute has elapsed, I want to transfer that 6th call to a different destination. If a 7th call enters the queue, the 6th call should be the next to get a channel because it has been in the queue longer. I'm digging through the documentation and I haven't been able to figure out a way to do this so far. It seems like maybe using fifo in combination with limit would be in order, but I can't think of how to make them work together to accomplish this. Royce Mitchell, IT Consultant ITAS Solutions royce3@itas-solutions.com
Hi, With the limit app, you can also send the call to a different extension instead of rejecting it with user_busy: <action application="limit" data="hash inbound ${destination_number} ${call_limit} queue_ext XML queue_context"/> The over limit calls will be transferred to the queue_context context with queue_ext extension. But for your use case, I think the limit is no more necessary, you can directly use mod_fifo. Best Regards, -- Vallimamod Abdullah SIP Solutions vma@sipsolutions.fr .
On 6 Dec 2017, at 04:22, Royce Mitchell III <royce3@gmail.com> wrote:
I am currently using hash to limit the number of calls that can get through on a specific destination_number and giving any excess a USER_BUSY, something like this:
<action application="limit" data="hash inbound ${destination_number} ${call_limit} !USER_BUSY"/>
However, now they're asking me to queue those calls with a recording and let them through in order as the call_limit reduces back down and then send the call to a different destination if it stays in that queue for a minute.
In other words, if call_limit is 5, the 6th call would get queued until one of those first 5 calls clears. If none of the 5 calls clears before a minute has elapsed, I want to transfer that 6th call to a different destination. If a 7th call enters the queue, the 6th call should be the next to get a channel because it has been in the queue longer.
I'm digging through the documentation and I haven't been able to figure out a way to do this so far. It seems like maybe using fifo in combination with limit would be in order, but I can't think of how to make them work together to accomplish this.
Royce Mitchell, IT Consultant ITAS Solutions royce3@itas-solutions.com
How do I configure fifo to transfer a call out whenever a channel opens up. I'm sending the calls through an Adtran which has a limited number of channels available and we don't want this one DID to use all the channels but we don't just want to USER_BUSY the calls either. We want to leave them in a fifo listening to music until a channel becomes available to allow the next call through. How do I configure the fifo to allow the next call through once there are no longer 5 calls (for example) already sent to the Adtran for that DID? I was thinking I could execute something on orbit, but then it won't be a fifo any more. We want them exiting the fifo in the order they enter. Also, the orbit could mean they wait in the fifo longer than they should, so I think that's definitely not the right approach. I know I could write a lua script that monitors the fifo and transfers out the next available caller, but I was hoping for a built-in way to do this. Royce Mitchell, IT Consultant ITAS Solutions royce3@itas-solutions.com On Wed, Dec 6, 2017 at 5:07 AM, Vallimamod Abdullah <vma@vallimamod.org> wrote:
Hi,
With the limit app, you can also send the call to a different extension instead of rejecting it with user_busy:
<action application="limit" data="hash inbound ${destination_number} ${call_limit} queue_ext XML queue_context"/>
The over limit calls will be transferred to the queue_context context with queue_ext extension.
But for your use case, I think the limit is no more necessary, you can directly use mod_fifo.
Best Regards, -- Vallimamod Abdullah SIP Solutions vma@sipsolutions.fr .
On 6 Dec 2017, at 04:22, Royce Mitchell III <royce3@gmail.com> wrote:
I am currently using hash to limit the number of calls that can get through on a specific destination_number and giving any excess a USER_BUSY, something like this:
<action application="limit" data="hash inbound ${destination_number} ${call_limit} !USER_BUSY"/>
However, now they're asking me to queue those calls with a recording and let them through in order as the call_limit reduces back down and then send the call to a different destination if it stays in that queue for a minute.
In other words, if call_limit is 5, the 6th call would get queued until one of those first 5 calls clears. If none of the 5 calls clears before a minute has elapsed, I want to transfer that 6th call to a different destination. If a 7th call enters the queue, the 6th call should be the next to get a channel because it has been in the queue longer.
I'm digging through the documentation and I haven't been able to figure out a way to do this so far. It seems like maybe using fifo in combination with limit would be in order, but I can't think of how to make them work together to accomplish this.
Royce Mitchell, IT Consultant ITAS Solutions royce3@itas-solutions.com
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (2)
-
Royce Mitchell III
-
Vallimamod Abdullah