I have a FreePBX installation integrated with a legacy Toshiba PBX. The PBX’s are integrated via PRI crossover and the voicemail is connected using a Digium analog card to the analog voicemail ports on the Toshiba.
When an outside call comes in via DID or dials the extension during the IVR, then goes to voicemail (meaning that the call has never left Asterisk), zero-out works as expected. My issue is when the Toshiba PBX sends the caller to voicemail over the analog ports – that is when dialing 0 does nothing. Unless I am just missing somethign in my dial-plan, what I think I need it to do is Flash(), then SendDTMF(4800), then hangup, but I don’t know how to get the dial-plan to listen for the digit.
I based my integration off of this example here: voip-info.org/wiki/view/Aste … hibaStrata but have made some tweaks for my specific environment. Here is what it actually looks like:
[vm-from-toshiba]
exten => s,1,NoCDR()
exten => s,n,wait(.5)
exten => s,n,answer
exten => s,n,SET(TIMEOUT(absolute)=1800)
exten => s,n,SET(TIMEOUT(digit)=1.5)
exten => s,n,SET(TIMEOUT(response)=7)
exten => s,n,waitexten(3)
exten => s,n,VoicemailMain()
;exten => s,n,hangup
;; Attempt to catch errors and send them to the Front Desk
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing Error_X4899 then transferring to front desk)
exten => s,n,Playback(en/we-apologize&en/an-error-has-occurred&en/one-moment-please,noanswer)
exten => s,n,Flash()
exten => s,n,SendDTMF(4800)
exten => s,n,hangup
exten => _X.,1,noop(Dialed extension is ${EXTEN})
exten => _X.,n,Gotoif($["${EXTEN:-1}" = "D"]?terminated) ;;Checkout Toshiba seems to be sending a terminator 'D' There may have been a hangup before the whol$
exten => _X.,n,wait(2.5)
exten => _48XX,1,VoicemailMain(${EXTEN}@default) ;use 4899 to check voicemail
exten => _48XX,n,Hangup()
exten => _X.,n(hu),hangup
exten => _X.,n(terminated),NoCDR()
exten => _X.,n,hangup
exten => _9148XX,1,SET(TIMEOUT(absolute)=300) ;;; max msg 5 min - adjust as needed
exten => _9148XX,n,Voicemail(${EXTEN:2},su)
exten => _91XXXX,1,System(touch /tmp/vm/old_ext/${EXTEN:2}) ;;;; This is for debuging too
exten => _91XXXX,n,Hangup()
exten => _9248XX,1,VoicemailMain(${EXTEN:2}@default)
exten => _9248XX,n,Hangup()
exten => _92XXXX,1,System(touch /tmp/vm/92/${EXTEN})
exten => _92XXXX,n,Hangup()
exten => T,1,Hangup()
Is it possible to do accomplish what I need?
Thanks!