astriskserver*CLI> load chan_zap.so The 'load' command is deprecated and will be removed in a future release. Please use 'module load' instead. [Feb 11 21:33:57] WARNING[5594]: loader.c:639 load_resource: Module 'chan_zap.so' already exists. [general] static = yes ; ; if static=yes and writeprotect=no, you can save dialplan by ; CLI command "dialplan save" too ; writeprotect = no ; ; ; ;autofallthrough=no clearglobalvars = no ; ; ;priorityjumping=yes ; ; ;userscontext=default [globals] CONSOLE = Console/dsp ; Console interface for demo ;CONSOLE=Zap/1 ;CONSOLE=Phone/phone0 IAXINFO = guest ; IAXtel username/password ;IAXINFO=myuser:mypass TRUNK = Zap/G1 ; Trunk interface TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0) ; [demo] ; ; We start with what to do when a call first comes in. ; ;exten => _X.,1,Noop(Called Extension is ${EXTEN}) ;exten => _X,1,Wait(1) exten => s,1,Wait(1) ; Wait a second, just for fun exten => s,n,Answer ; Answer the line exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions exten => s,n,WaitExten ; Wait for an extension to be dialed. exten => 2,1,BackGround(demo-moreinfo) ; Give some more information. exten => 2,n,Goto(s,instruct) exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french exten => 3,n,Goto(s,restart) ; Start with the congratulations [avayavm] ;This diaplan is taken from ;http://www.voip-info.org/wiki/index.php?page=Asterisk-Partner+ACS+for+Voicemail exten => _X,1,Answer exten => s,2,Set(TIMEOUT(digit)=1) exten => s,3,Answer exten => s,4,WaitExten(5) exten => _#00#XX#XX#,1,Noop(Someone is checking VoiceMail, first XX is the subscribers checking, exten => _#00#XX#XX#,2,NoOp(CallerID is ${CALLERID}) exten => _#00#XX#XX#,3,Noop() exten => _#00#XX#XX#,4,Set(CALLERID(num)=${EXTEN:4:2}) exten => _#00#XX#XX#,5,VoiceMailMain(${CALLERIDNUM},s) exten => _00#XX#XX#,1,Goto(#${EXTEN},1) ; sometimes asterisk doesn't get the # at the beginning exten => _#02#XX#XX#,1,Noop("known caller (first pair of XX), leaving message for subscriber (second pair of XX)") exten => _#02#XX#XX#,2,NoOp(CallerID is ${CALLERID}) exten => _#02#XX#XX#,3,Noop() exten => _#02#XX#XX#,4,Set(CALLERID(num)=${EXTEN:4:2}) exten => _#02#XX#XX#,5,VoiceMail(u${EXTEN:7:2}) exten => _02#XX#XX#,1,Goto(#${EXTEN},1) ; sometimes asterisk doesn't get the # at the beginning exten => _#03##XX#,1,Noop("someone leaving a message for XX) exten => _#03##XX#,2,NoOp(CallerID is ${CALLERID}) exten => _#03##XX#,3,Set(line=${EXTEN:6:1}) exten => _#03##XX#,4,VoiceMail(u${EXTEN:5:2}) exten => _03##XX#,1,Goto(#${EXTEN},1) ; sometimes asterisk doesn't get the # at the beginning exten => _#01#XX##,1,Noop(${EXTEN}" auto attendant XX indicates line number") exten => _#01#XX##,2,NoOp(CallerID is ${CALLERID}) exten => _#01#XX##,3,Set(line=${EXTEN:5:1}) exten => _#01#XX##,4,Goto(mainivr,s,1) exten => _01#XX##,1,Goto(#${EXTEN},1) ; sometimes asterisk doesn't get the # at the beginning exten => _#04##XX#,1,Noop(${EXTEN}" auto attendant XX indicates line number") exten => _#04##XX#,2,NoOp(CallerID is ${CALLERID}) exten => _#04##XX#,3,Set(line=${EXTEN:6:1}) exten => _#04##XX#,4,Goto(mainivr,s,1) exten => _04##XX#,1,Goto(#${EXTEN},1) ; sometimes asterisk doesn't get the # at the beginning exten => _#10###,1,Noop(Someone pushed day mode on the Avaya) exten => _#10###,2,Set(DB(IVR/NIGHT)=0) exten => _#10###,3,Hangup() exten => _#11###,1,Noop(Someone pushed night mode on the avaya) exten => _#11###,2,Set(DB(IVR/NIGHT)=1) exten => _#11###,3,Hangup() ;in addition dialing #10XX where XX is the extension will turn off the MWI for that extension ;and dialing #09XX where XX is the extension will turn on the MWI for that extension include => allothercodes ;we want to see other avaya codes exten => a,1,VoiceMailMain() ; in case someone pushes * during a voicemail session [allothercodes] exten => _#X.,1,Noop(${EXTEN}) exten => _*X.,1,Noop(${EXTEN}) exten => _X.,1,Noop(${EXTEN}) exten => _#.,1,Noop(${EXTEN}) exten => _*.,1,Noop(${EXTEN}) [aaextens] exten => _XX,1,Noop(call transferred to avaya exten ${EXTEN}) exten => _XX,2,Background(hold-xfer) ; When the channel flashes, caller hears a 'click'. This is so they don't think they exten => _XX,3,ExecIf($[${EXTEN} > 25],Goto,i,1) ; extens 1-24 were them, 25 unused, 26-29 are voicemail. exten => _XX,4,Flash() exten => _XX,5,SendDTMF(${EXTEN}) exten => _XX,6,Hangup() exten => i,1,Playback(xfer-oper) exten => i,2,Flash() exten => i,3,SendDTMF(10) exten => i,4,Hangup() exten => _74X,1,SendDTMF(*) ;I had some problems with asterisk detecting the first DTMF, so I added this line, since aster exten => _74X,2,SendDTMF(*1) exten => _74X,3,SendDTMF(${EXTEN}) exten => _74X,4,Hangup() [mainivr]; Their companies main IVR ;( their IVR goes here) exten => 1,1,Goto(aaextens,11,1) ; xfer to 11 exten => 2,1,Goto(aaextens,12,1) ; xfer to 12 exten => 3,1,Goto(aaextens,13,1) ; xfer to 13 exten => 4,1,Goto(aaextens,14,1) ; xfer to 14 exten => 0,1,Goto(aaextens,10,1) ; xfer to 10 exten => *,1,VoiceMailMain() ; let them check their voicemail [vmnotify]; for vmnotify.pl script exten => s,1,Wait(5) exten => s,2,Hangup