[asterisk-users] Newbie Queue: tricky problem with MOH

Gordon Henderson gordon+asterisk at drogon.net
Thu May 8 05:02:30 CDT 2008


On Thu, 8 May 2008, Lee, John (Sydney) wrote:

> I have this simple queue for the reception set up such that the console
> queue has only one agent.
> I checked the number in the queue and if there is someone there, I play
> back a "busy & please be patient" message and then join the call to the
> queue.
>
> If there is no one in the queue, the caller will go directly into the
> queue and the receptionist phone will ring.  This looks fine but while
> the call is waiting for the receptionist to pick it up, the caller will
> actually hear Music on Hold instead of just ring ring ring.  This is
> undesirable.
>
> exten =>
> 7100,n(rcl_off_opn),Set(rcv_que_num=${QUEUE_WAITING_COUNT(console)})
> exten => 7100,n,GotoIf($[${rcv_que_num} = 0]?rcl_que_jon:)
> exten => 7100,n,Playback(rc-busy)
> exten => 7100,n(rcl_que_jon),Queue(console)
> exten => 7100,n,Wait(2)
> exten => 7100,n,HangUp()
>
> So, the issue is MOH is good for the 2nd and subsequent callers but not
> for the first caller who should just hear ring ring ring until the
> receptionist picks up the call.
>
> Any thoughts?

How about (pseudoish code here)

   exten => 7100,1,Dial(${consolePhone},,${dialFlags})
   exten => 7100,n,GotoIf($[${DIALSTATUS}=BUSY]?queueHell)
   exten => 7100,n,Hangup()

   exten => 7100,n(queueHell),Answer()
   ; Do queue count & message playback here ...
 	; Actually, just playback the message as the console *is* busy at this point
   exten => 7100,n,Queue(console)

You'll need to make sure the console phone has call-waiting disabled, else 
the phone itself will queue calls... (depending on the phone type!)

Gordon




More information about the asterisk-users mailing list