Queue Breakout Input being Ignored

Home » Asterisk Users » Queue Breakout Input being Ignored
Asterisk Users 3 Comments

Hello,

Raw stats:
Version:1.8.3.2
OS:Centos 5.6
Special setup: postgre database

I am having a few queue issues with Asterisk specifically relating to
breaking out from queues while on hold.

The intent is that while someone is on hold they can press a key (lets
say *) to break from the queue and go elsewhere (in this case to leave a
message).

However In all of my testing I am unable to get this to work, or even to
be able to leave the queue while on hold (to go to another queue for
example, or force any action, eg hangup, play message, etc).

I have enabled DTMF debug and I can see in the console that asterisk is
receiving the correct information, it just appears to be ignoring it.

Tested this on 1.6 as well and got the same results ( I had assumed it
was a bug in 1.6) everything I look at suggests what I am doing -should-
work.

I suspect I am missing some over arching setting or something incredibly
simple but for the life of me I cannot get this function to work as
described.

Here is some of the config which I beleive is relevent.

Various variants have been tested with different actions to occur (sorry
I dont have a simpler version of the below at hand)

[extensions.conf]

[app-helpdesk-bh]
exten => s,1(unanswered),Ringingsame => n,Wait(2)
same => n,Answer
same => n,Wait(1)
same => n(answered),NoOp(Helpdesk)
same => n,Gosub(app-filteranon,s,1)
same => n,Set(CALLERID(name)=${client} Helpdesk)
same => n,NoOp(Caller ID set to: ${CALLERID(name)})
same => n,NoOp(Callers waiting in queue:
${QUEUE_WAITING_COUNT(helpdesk)})
; play the announcement for this helpdesk client (or the general intro)
same => n(announceandwait),Gosub(app-helpdesk-${client}-intro,s,1)
same => n,Gosub(app-helpdesk-${client}-special-rva,s,1)
; queue the call
; t = allow the called party to transfer the call
; k = allow the called party to park the call
; c = continue on after call (to update devstate)
same => n,Set(DEVICE_STATE(Custom:helpdesk)=RINGING)
same => n,Queue(helpdesk,tk,,,600,,,app-update-helpdesk-queue-devstate)
same => n,Gosub(app-update-helpdesk-queue-devstate,s,1)
; if the caller can’t get into the queue or is kicked out of it, go to
; the after hours answering service
same => n,Goto(app-helpdesk-hutchison,s,answered)
same => n(done),NoOp

; update devstate after a hangup
exten => h,1,Gosub(app-update-helpdesk-queue-devstate,s,1)

include => app-helpdesk-breakout

[app-helpdesk-breakout]
exten => 1,1,Gosub(app-helpdesk-callback,s,1)
same => n,Hangup

[app-helpdesk-callback]
; Callers brought to this context will be able to leave a message
; which will then be attached to an email and sent to the appropriate
; helpdesk RT queue
exten => s,1,NoOp(Helpdesk callback not implemented yet)
same => n,Return
same => n,GotoIf($[“${CALLERID(num)}” = “anonymous” or
${CALLERID(num)} = “0”]?collect)

same => n(collect),Goto(app-helpdesk-callback-collect,s,1)

3 thoughts on - Queue Breakout Input being Ignored

  • If I remember correctly, it only checks for key presses at the end of
    each retry period. The “retry” parameter is set in queues.conf and
    should be less than the timeout parameter. You have the timeout for the
    queue call set to “600” or ten minutes. What is the “retry” parameter in
    queues.conf set to?

    Mike

  • Hello again

    Here is the queue conf in question:

    name | helpdesk
    musiconhold | random
    announce |
    context | app-helpdesk-breakout
    timeout | 25
    monitor_format | wav
    queue_youarenext |
    queue_thereare |
    queue_callswaiting |
    queue_holdtime |
    queue_minutes |
    queue_seconds |
    queue_lessthan |
    queue_thankyou |
    queue_reporthold |
    announce_frequency | 90
    announce_round_seconds |
    announce_holdtime | no
    retry | 2
    wrapuptime | 15
    maxlen |
    servicelevel | 120
    strategy | rrmemory
    joinempty | no
    leavewhenempty |
    eventmemberstatus |
    eventwhencalled |
    reportholdtime |
    memberdelay |
    weight |
    timeoutrestart |
    setinterfacevar |
    autopause |
    monitor_type | MixMonitor
    announce_position | yes
    periodic_announce_frequency | 120
    min_announce_frequency | 90
    periodic_announce | queue-periodic-announce
    ringinuse | f

    Here is another that was made for testing.

    name | test-queue
    musiconhold | random
    announce |
    context | app-test-queue-breakout
    timeout | 15
    monitor_format | wav
    queue_youarenext |
    queue_thereare |
    queue_callswaiting |
    queue_holdtime |
    queue_minutes |
    queue_seconds |
    queue_lessthan |
    queue_thankyou |
    queue_reporthold |
    announce_frequency | 60
    announce_round_seconds |
    announce_holdtime | no
    retry | 5
    wrapuptime | 5
    maxlen |
    servicelevel | 30
    strategy | rrmemory
    joinempty | no
    leavewhenempty |
    eventmemberstatus |
    eventwhencalled |
    reportholdtime |
    memberdelay |
    weight |
    timeoutrestart |
    setinterfacevar |
    autopause |
    monitor_type |
    announce_position | yes
    periodic_announce_frequency | 60
    min_announce_frequency |
    periodic_announce | carried-away-by-monkeys
    ringinuse | f