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

Gareth Blades list-asterisk at skycomuk.com
Wed Sep 15 07:11:00 CDT 2010


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 <tareksawah at hotmail.com 
> <mailto:tareksawah at 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-bounces at lists.digium.com
>     <mailto:asterisk-users-bounces at lists.digium.com>
>     [mailto: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>
>     <mailto: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
> 
> 
>     --
>     _____________________________________________________________________
>     -- 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