[asterisk-users] Skip Busy Agents/Channels from Queue

Tarek Sawah tareksawah at hotmail.com
Wed Sep 15 06:07:47 CDT 2010


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-bounces at lists.digium.com
[mailto:asterisk-users-bounces at 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-asterisk at skycomuk.com <mailto:list-asterisk at 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=XXXX
>      > mailbox=779000
>      > context=default
>      > host=dynamic
>      > call-limit=2
>      >
>      > [1010]
>      > username=1010
>      > type=friend
>      > secret=XXXX
>      > 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




More information about the asterisk-users mailing list