I’m having a weird problem and I think it might be a bug in FreePBX. I’m using the latest version of PBX In A Flash Purple 32-bit, and FreePBX 2.8.1.5.
My IVRs do not seem to respect the timeout they are given. Normally the IVR should timeout and repeat after 10 seconds, but for me it just sits there forever.
This didn’t used to be the case the last time I remember playing with FreePBX Distro a year or two back… so maybe it’s related to PIAF, or Asterisk 1.8… or something I don’t know.
I’ve traced the problem down to extensions_additional.conf. Inside the IVR context the command “WaitExten()” doesn’t have any parameters. It seems to hang forever.
Here’s the snippet of my IVR:
[ivr-4]
include => ivr-4-custom
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/telemarketing-filter)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=)
exten => s,n,Set(IVR_CONTEXT${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != “”]?Background(${MSG}))
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 11,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 11,n,Set(__NODEST=)
exten => 11,n,Goto(from-did-direct,200,1)
exten => i,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => i,n,Set(__NODEST=)
exten => i,n,Goto(app-blackhole,hangup,1)
exten => t,1,Set(MSG=goodbye)
exten => t,n,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => t,n,GotoIf($[${LOOPCOUNT} <= 0]?s,begin)
exten => t,n,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => t,n,Set(__NODEST=)
exten => t,n,Goto(app-blackhole,hangup,1)
; end of [ivr-4]
If I replace the WaitExten(,) with say WaitExten(5), then the timeout works perfectly (a 5 second timeout, of course)!
But of course I can’t just change that… it will be overwritten as soon as I make changes to my config in FreePBX.
Is anybody else experiencing this issue? It really makes my IVRs quite unfriendly.