ions_custom.conf entries. ; extensions_custom.conf should be used to include customizations ; to AMP's Asterisk dialplan. ; All custom context should contain the string 'custom' in it's name ; Extensions in AMP have access to the 'from-internal' context. ; The context 'from-internal-custom' is included in 'from-internal' by default [ext-did-custom] ; this will allow calls to be routed by the ZAP channel they come in on. ; example a call comming in on ZAP cahnnel 1 will have Zap1 for it's DID. ;exten => s,2,GotoIf($["${CHANNEL:0:3}" = "Zap"]?ext-did|Zap${CHANNEL:4:1}|1) [from-internal-custom] exten => _**.,1,Pickup(${EXTEN:2}) ; GXP-2000 phone press BLF to pick up ringing call ;count2four exten => *15,1,SayDigits(1234) exten => *15,2,Hangup ;MY custom ; *1 - System Status exten => *1,1,Playback(/usr/local/share/asterisk/sounds/systemstatus) exten => *1,n,Wait(.5) exten => *1,n,Hangup ; **1 - System status record exten => **1,1,Answer exten => **1,n,Wait(2) exten => **1,n,Record(/usr/local/share/sounds/systemstatus:gsm) exten => **1,n,Wait(2) exten => **1,n,Playback(/usr/local/share/asterisk/sounds/systemstatus) exten => **1,n,Wait(2) exten => **1,n,Hangup ; *2 - Say Phone Number exten => *2,1,Playback(your-exten-num-is) exten => *2,n,SayDigits(${CALLERIDNUM}) exten => *2,n,Hangup ; *3 - Say Date and Time exten => *3,1,Playback(the-current-time-is) exten => *3,n,Datetime exten => *3,n,Hangup ; *5 - Milliwatt Tone exten => *5,1,Answer exten => *5,n,Milliwatt exten => *5,n,Hangup ; *7 - Music On Hold exten => *7,1,Answer exten => *7,n,MusicOnHold(default) ; *9 - weather exten => *9,1,Answer exten => *9,2,AGI(weather.agi) exten => *9,3,Hangup ;211 Community Information and Referral Services ; Available for Reassignment ;211 - Reassigned to Paging / All Call ;exten => 211,1, ;exten => 211,n, ;exten => 211,n, ;exten => 211,n, ;311 - non-emerg not yet setup for Non Emerg exten => 311,1,Macro(user-callerid,) exten => 311,2,Dial(LOCAL/local non emergancy nmbr here) exten => 311,3,Congestion exten => 311,102,Playback(ss-noservice) exten => 311,103,Congestion ; 411 - Information services ;External-411 exten => 411,1,Macro(user-callerid,) exten => 411,2,Dial(IAX2/darwin@teliax/3035551212,30) exten => 411,3,Congestion exten => 411,102,Playback(ss-noservice) exten => 411,n,hangup ;Internal-411 exten => #411,1,Wait(1) exten => #411,n,AGI(directory,$/{DIR-CONTEXT/},ext-local,$/{DIRECTORY:0:1/}$/{DIRECTORY_OPTS/}o) exten => #411,n,Playback(vm-goodbye) exten => #411,n,Hangup ;511 Traffic and Transportation Information (US); Available for Reassignment ;511 - Reassigned to Call back Wake service exten => 511,1,Macro(user-callerid,) exten => 511,n,Answer exten => 511,n,AGI(wakeup.php) exten => 511,n,Hangup ; 611 - RepairService / TechSupport exten => 611,1,Macro(user-callerid,) exten => 611,n,Playback(technical-support) exten => 611,n,Playback(for-quality-purposes) exten => 611,n,Playback(this-call-may-be) exten => 611,n,Playback(recorded) exten => 611,n,Playback,(pls-wait-connect-call) exten => 611,7,SetMusicOnHold,default exten => 611,10,Goto,queues|103|1 exten => 611,11,Goto,queues|104|1 ; 711 - State Relay TTY/TDD/Voice Service exten => 711,1,Macro(user-callerid,) ;exten => 711,n,Dial(SIP/${EXTEN}) ;exten => 711,n,Congestion exten => 711,n,Playback(ss-noservice) exten => 711,n,Congestion exten => 711,n,Macro(hangupcall) ;Access to One Call Services to Protect Pipeline and Utilities from Excavation ;Damage (US); Available for Reassignment ;811 - Reassigned to quick-dial TollFree Directory exten => 811,1,Macro(user-callerid,) exten => 811,n,Dial(IAX2/user@provider/8005551212,30,r) exten => 811,n,Hangup ; 911 Emergancy exten => 911,1,Macro(user-callerid,) ;exten => 911,n,Dial(SIP/${EXTEN}) ;exten => 911,n,Congestion exten => 911,n,Playback(no-911-1) exten => 911,n,Congestion exten => 911,n,Macro(hangupcall) ; 900/976 Blocking - exten => _900NXXXXXX,1,Playback(ss-noservice) exten => _1NXX976XXXX,1,Playback(ss-noservice) exten => _NXX976XXXX,1,Playback(ss-noservice) exten => _976XXXX,1,Playback(ss-noservice) ; prompts : IVR exten => 989,1,Goto(special-message,s,1) ;------------------------------------------------------- ; Special announcement admin (Easy IVR) ;------------------------------------------------------- [special-message] ; Record/replay/turn on/off the special message played before All queue calls exten => s,1,Answer exten => s,n,Wait(1) exten => s,n,DigitTimeout(5) exten => s,n,BackGround(T-to-hear-cur-ancmnt) exten => s,n,BackGround(press-1) exten => s,n,BackGround(T-to-rec-ancmnt) exten => s,n,BackGround(press-2) exten => s,n,BackGround(T-to-enable-ancmnt) exten => s,n,BackGround(press-3) exten => s,n,BackGround(T-to-disable-ancmnt) exten => s,n,BackGround(press-4) ; exten => t,1,Playback(goodbye) exten => t,2,Hangup ; exten => i,1,Playback(pbx-invalid) exten => i,2,Goto(s,4) ; exten => 1,1,Playback(special-message) exten => 1,2,Goto(s,4) ; exten => 2,1,Goto(special-message-record,s,1) ; exten => 3,1,Set($DB(SpecialMessage/1=1)}) exten => 3,n,Playback(enabled) exten => 3,n,Goto(s,4) ; exten => 4,1,DBdel(SpecialMessage/1) exten => 4,n,Playback(disabled) exten => 4,n,Goto(s,4) ; exten => *,1,Playback(goodbye) exten => *,2,Hangup ; [special-message-record] ; Record the new special message exten => s,1,Playback(vm-intro) exten => s,n,Record(new-special-message:wav) exten => s,n,Playback(beep) exten => s,n,BackGround(new-special-message) exten => s,n,BackGround(save-announce-press) exten => s,n,BackGround(digits/1) exten => s,n,BackGround(to-rerecord-announce) exten => s,n,BackGround(digits/2) exten => i,1,Playback(invalid) exten => i,n,Goto(s,3) ; exten => t,1,Goto(s,3) ; exten => 1,1,System(cp -f /var/lib/asterisk/sounds/new-special-message.wav /var/lib/asterisk/sounds/special-message.wav) exten => 1,n,Playback(your-msg-has-been-saved) exten => 1,n,Goto(app-special-message,s,1) ; exten => 2,1,Goto(s,1) ; exten => *,1,Goto(special-message,s,1) ; [macro-check-special-message] ; If the flag is set, play the special message, otherwise continue exten => s,1,Set(${DB(SpecialMessage=SpecialMessage/1)}) exten => s,2,Playback(system-status-msg) exten => s,3,Playback(special-message) exten => s,4,Ringing exten => s,5,Wait(4) exten => s,102,Noop ; system wide speed dial app [custom-speed-dial] ;Speed dialing record exten => _3003XX.,1,DBput(SysSpeed/${EXTEN:3:3}=${EXTEN:6}) exten => _3003XX.,2,SayDigits(${EXTEN:6}) exten => _3003XX.,3,playback(at) exten => _3003XX.,4,playback(position) exten => _3003XX.,5,SayDigits(${EXTEN:3:3}) exten => _3003XX.,6,Hangup ;Speed dialing recall and dial exten => _3XX,1,DBget(speedref=SysSpeed/${EXTEN}) exten => _3XX,2,playback(pls-wait-connect-call) exten => _3XX,3,Goto(outbound-allroutes,${speedref},1) exten => _3XX,102,playback(that-number) exten => _3XX,103,playback(is-not-in-the) exten => _3XX,104,playback(speed-dial) exten => _3XX,105,playback(system) exten => _3XX,106,playback(pls-try-again) exten => _3XX,107,playback(goodbye) exten => _3XX,108,Macro(hangupcall) ;Speed dialing recall and tell caller what it is, part one exten => _*3XX,1,Answer exten => _*3XX,2,DBget(speedref=SysSpeed/${EXTEN:1}) exten => _*3XX,3,SetVar(speedreflocation=${EXTEN:1}) exten => _*3XX,4,Goto(menu-SysSpeed,s,1) exten => _*3XX,102,playback(speed-dial) exten => _*3XX,103,playback(num-not-in-db) exten => _*3XX,104,playback(pls-try-again) exten => _*3XX,105,playback(goodbye) exten => _*3XX,106,Macro(hangupcall) [menu-SysSpeed] ;Speed dialing recall and tell caller what it is exten => s,1,background(speed-dial) exten => s,2,saydigits(${speedreflocation}) exten => s,3,background(has-been-set-to) exten => s,4,saydigits(${speedref}) exten => s,5,background(press-1) exten => s,6,background(to-call-this-number) exten => s,7,background(or) exten => s,8,background(hangup-try-again) exten => s,9,background(silence/5) exten => s,10,background(goodbye) exten => s,11,Macro(hangupcall) exten => 1,1,Goto(custom-speed-dial,${speedreflocation},1)