[asterisk-users] Pickup calls coming from queues

Alec Davis sivad.a at paradise.net.nz
Mon Apr 16 02:39:38 CDT 2012


> -----Original Message-----
> From: Niccolò Belli [mailto:darkbasic at linuxsystems.it] 
> Sent: Monday, 16 April 2012 4:21 a.m.
> To: asterisk-users at lists.digium.com
> Cc: sivad.a at paradise.net.nz
> Subject: Re: [asterisk-users] Pickup calls coming from queues
> 
> Il 20/01/2012 20:32, Alec Davis ha scritto:
> > This maybe not what you want.
> >
> > Our solution was monitor a queue with a BLF, instead of a 
> queue member
> >
> > This reviewhttps://reviewboard.asterisk.org/r/1619/  allows 
> a BLF lamp 
> > to flash when a queue is ringing, then the queue can be 
> picked up by 
> > the BLF button.
> 
> The hint does work very well but I really didn't understand 
> how you did pickup the call in example 2...
> 
> I don't have static members and each (dynamic) member may be 
> logged to another queue too. So even if I know SIP/155 is a 
> (dynamic) member of
> Queue1 I can't pick up 155 if it's ringing because of another 
> call coming from Queue2.
> 
> Thanks,
> Niccolò

The trick is, don't try to pickup the ringing device (SIP/155), pickup the
queue's extension, in our example Pickup(itg at trusted).

We too, have some users logged into 3 queues at the same time, with more
than 3 others only watching one of the queues.
 
[ivr-dialextension]        <<< (1)
exten => 8501,1,Goto(itg-queue,itg,1)     ;Jump to the ITG queue context

[itg-queue]                <<< (2)
exten => itg,1,Queue(itg_queue,crhH,,,127)

[trusted]                  <<< (3)
exten => 8501,hint,Queue:itg_queue        ;Provide a hint for the queue
exten => _**8501,1,Pickup(itg at trusted)    ;Pickup the queue

With the above 3 contexts;
(1) the caller finally has dialled 8501 from the IVR
(2) Which jumps to the itg-queue context and rings the phones that are
dynamically logged in.
(3) all phones start in the 'trusted' context, and dialling **8501 will
pickup the ringing extension.

I just dialled into our IVR, and the execution path was as follows

(1) -- Executing [8501 at ivr-dialextension:1] Goto("DAHDI/i1/214XXXXX-cea",
"itg-queue,itg,1") in new stack
    -- Goto (itg-queue,itg,1)
(2) -- Executing [itg at itg-queue:1] Queue("DAHDI/i1/214XXXXX-cea",
"itg_queue,crhH,,,127") in new stack
[2012-04-16 19:16:28.699] NOTICE[24023]: app_queue.c:2516 join_queue: ALEC
queue=itg_queue count++ =1
  == Extension Changed 8501[trusted] new state Ringing for Notify User
GXP0001
  == Using SIP RTP CoS mark 5
    -- ALEC Queue trying itg at itg-queue
  == Extension Changed 8512[trusted] new state Ringing for Notify User
GXP0001
    -- SIP/GXP0001-0000185f is ringing

(3) Then the pickup, I'm not there but dialling **8501 would pickup the
ringing phone GXP0001

Hope this better explains it.

Alec Davis 




More information about the asterisk-users mailing list