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) -- Anton Panetta Application and Systems Administrator NetSpot Pty. Ltd. ~ 183 Melbourne St. North Adelaide SA 5006 Ph: (+61 8) 7200 5333 | Fax: (+61 8) 8361 6811 Email: anton.panetta at netspot.com.au | Web: http://www.netspot.com.au NetSpot - Enabling Technology for Education
On 8/14/2011 6:09 PM, Anton Panetta wrote:> 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) >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
Can we see the config for the queue please? On Mon, 2011-08-15 at 10:39 +0930, Anton Panetta wrote:> 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) >-- Ishfaq Malik Software Developer PackNet Ltd Office: 0161 660 3062
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 On 16/08/2011 2:30 AM, asterisk-users-request at lists.digium.com wrote:> Message: 12 > Date: Mon, 15 Aug 2011 08:42:04 +0100 > From: Ishfaq Malik<ish at pack-net.co.uk> > Subject: Re: [asterisk-users] Queue Breakout Input being Ignored > To: Asterisk Users Mailing List - Non-Commercial Discussion > <asterisk-users at lists.digium.com> > Message-ID:<1313394124.1804.0.camel at localhost.localdomain> > Content-Type: text/plain; charset="UTF-8" > > Can we see the config for the queue please? > > On Mon, 2011-08-15 at 10:39 +0930, Anton Panetta wrote: >> > 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) >> > > -- Ishfaq Malik Software Developer PackNet Ltd Office: 0161 660 3062-- Anton Panetta Application and Systems Administrator NetSpot Pty. Ltd. ~ 183 Melbourne St. North Adelaide SA 5006 Ph: (+61 8) 7200 5333 | Fax: (+61 8) 8361 6811 Email: anton.panetta at netspot.com.au | Web: http://www.netspot.com.au NetSpot - Enabling Technology for Education