[asterisk-users] Skip Busy Agents/Channels from Queue
Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 -- _ -- 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] Skip Busy Agents/Channels from Queue
Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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] Skip Busy Agents/Channels from Queue
You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.comwrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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 -- _ -- 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] Skip Busy Agents/Channels from Queue
Yes something like this. Note the Execif syntax I have used is for asterisk 1.6 exten = s,n,Set(AGENTSBUSY=yes) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1009} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1010} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[$AGENTSBUSY = no]?QUEUE(xxx)) Shariq Khan wrote: You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com wrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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 -- _ -- 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] Skip Busy Agents/Channels from Queue
Gareth Usualy the queue has the ability to know if the agent is INUSE and skip them.. you can simply use ringinuse=no to the queues.conf under the queue itself or the general section and that's it .. no need for the whole dialplan.. as you are using SIP members. Salam -Original Message- From: asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Gareth Blades Sent: Wednesday, September 15, 2010 1:46 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] Skip Busy Agents/Channels from Queue Yes something like this. Note the Execif syntax I have used is for asterisk 1.6 exten = s,n,Set(AGENTSBUSY=yes) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1009} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1010} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[$AGENTSBUSY = no]?QUEUE(xxx)) Shariq Khan wrote: You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com wrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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 -- _ -- 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 -- _ -- 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] Skip Busy Agents/Channels from Queue
Dear Tarek, IN_USE is other then the BUSY status, i want to skip the BUSY agent but not IN_USE -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 4:07 PM, Tarek Sawah tareksa...@hotmail.com wrote: Gareth Usualy the queue has the ability to know if the agent is INUSE and skip them.. you can simply use ringinuse=no to the queues.conf under the queue itself or the general section and that's it .. no need for the whole dialplan.. as you are using SIP members. Salam -Original Message- From: asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Gareth Blades Sent: Wednesday, September 15, 2010 1:46 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] Skip Busy Agents/Channels from Queue Yes something like this. Note the Execif syntax I have used is for asterisk 1.6 exten = s,n,Set(AGENTSBUSY=yes) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1009} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1010} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[$AGENTSBUSY = no]?QUEUE(xxx)) Shariq Khan wrote: You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com wrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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 -- _ -- 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 -- _ -- 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 -- _ -- 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] Skip Busy Agents/Channels from Queue
Just see what the function returns when the agents are busy. You said in your first post you want to skip the queue if both agents are already on a call. The dialplan I gave was just an example. You will need to modify it to do exactly what you want. I have asterisk emulating a traditional hunt group but I use the DIAL_STATUS to avoid calling people if they are already on a call. That way I can still keep call waiting enabled on the phones without it frequently bothering end users unless its an urgent internal call. Shariq Khan wrote: Dear Tarek, IN_USE is other then the BUSY status, i want to skip the BUSY agent but not IN_USE -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 4:07 PM, Tarek Sawah tareksa...@hotmail.com mailto:tareksa...@hotmail.com wrote: Gareth Usualy the queue has the ability to know if the agent is INUSE and skip them.. you can simply use ringinuse=no to the queues.conf under the queue itself or the general section and that's it .. no need for the whole dialplan.. as you are using SIP members. Salam -Original Message- From: asterisk-users-boun...@lists.digium.com mailto:asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Gareth Blades Sent: Wednesday, September 15, 2010 1:46 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] Skip Busy Agents/Channels from Queue Yes something like this. Note the Execif syntax I have used is for asterisk 1.6 exten = s,n,Set(AGENTSBUSY=yes) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1009} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1010} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[$AGENTSBUSY = no]?QUEUE(xxx)) Shariq Khan wrote: You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com wrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- 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 -- _ -- Bandwidth and Colocation
Re: [asterisk-users] Skip Busy Agents/Channels from Queue
Dear Gareth, DEVICE_STATE function is not available in asterisk, even DEVSTATE does not work for me in asterisk 1.4.35. Any other method function to check the channel status -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 5:11 PM, Gareth Blades list-aster...@skycomuk.comwrote: Just see what the function returns when the agents are busy. You said in your first post you want to skip the queue if both agents are already on a call. The dialplan I gave was just an example. You will need to modify it to do exactly what you want. I have asterisk emulating a traditional hunt group but I use the DIAL_STATUS to avoid calling people if they are already on a call. That way I can still keep call waiting enabled on the phones without it frequently bothering end users unless its an urgent internal call. Shariq Khan wrote: Dear Tarek, IN_USE is other then the BUSY status, i want to skip the BUSY agent but not IN_USE -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 4:07 PM, Tarek Sawah tareksa...@hotmail.com mailto:tareksa...@hotmail.com wrote: Gareth Usualy the queue has the ability to know if the agent is INUSE and skip them.. you can simply use ringinuse=no to the queues.conf under the queue itself or the general section and that's it .. no need for the whole dialplan.. as you are using SIP members. Salam -Original Message- From: asterisk-users-boun...@lists.digium.com mailto:asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Gareth Blades Sent: Wednesday, September 15, 2010 1:46 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] Skip Busy Agents/Channels from Queue Yes something like this. Note the Execif syntax I have used is for asterisk 1.6 exten = s,n,Set(AGENTSBUSY=yes) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1009} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[${DEVICE_STATE(SIP/1010} = NOT_INUSE]?Set(AGENTSBUSY=no)) exten = s,n,ExecIf($[$AGENTSBUSY = no]?QUEUE(xxx)) Shariq Khan wrote: You mean, I need to check the DEVICE_STATUS of both (sip) users before sending the caller into queue, otherwise skip the caller from going into Queue by using ExecIf. -- Regards, Shariq Khan 0333-3501125 On Wed, Sep 15, 2010 at 3:16 PM, Gareth Blades list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com mailto:list-aster...@skycomuk.com wrote: Shariq Khan wrote: Is there a way skip / ignore the member whose status is busy in the Queue. I have two channel member in queue and i have set the peer limit 2 for these members. I want to skip those member who are currently on the call (answered to calls) and now their status is busy, if Queue see the busy status caller will not enter in the Queue and go to the next priority. [test-queue] strategy = rrmemory memberdelay=0 timeoutrestart = no joinempty = strict leavewhenempty = yes timeout = 50 member = SIP/1009 member = SIP/1010 sip.conf [1009] username=1009 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 [1010] username=1010 type=friend secret= mailbox=779000 context=default host=dynamic call-limit=2 -- Regards, Shariq Khan 0333-3501125 You could use ${DEVICE_STATE(SIP/1009}. Set a variable to indicate all extensions are busy and then a couple of ExecIf calls to reset the variable if either of the extensions state is set to NOT_INUSE. You then have a variab you can use to decide where to jump to in the dialplan depending on whether both phones are busy or not. -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New
Re: [asterisk-users] Skip Busy Agents/Channels from Queue
_ From: asterisk-users-boun...@lists.digium.com [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Shariq Khan Sent: Wednesday, September 15, 2010 12:28 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [asterisk-users] Skip Busy Agents/Channels from Queue Dear Gareth, DEVICE_STATE function is not available in asterisk, even DEVSTATE does not work for me in asterisk 1.4.35. Any other method function to check the channel status -- Regards, Shariq Khan 0333-3501125 snip In 1.4.30 I use hints and an AGI to tell me which channels are in use. -- _ -- 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] Skip Busy Agents/Channels from Queue
Hi! DEVICE_STATE function is not available in asterisk, even DEVSTATE does not work for me in asterisk 1.4.35. Any other method function to check the channel status There is a backport available for 1.4: http://www.voip-info.org/wiki/view/Asterisk+func+device_State I assume that with does not work for me you meant that in your unpachted Asterisk 1.4 version you do not have that function available. This backport is very straigt forward to use: Just drop the file into the funcs/ directory and re-compile. Philipp -- _ -- 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