; The "General" category is for certain variables. ; [general] ; ; If static is set to no, or omitted, then the pbx_config will rewrite ; this file when extensions are modified. Remember that all comments ; made in the file will be lost when that happens. ; ; XXX Not yet implemented XXX ; static=yes ; ; if static=yes and writeprotect=no, you can save dialplan by ; CLI command 'save dialplan' too ; writeprotect=no [globals] CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel username/password TRUNK=Zap/g1 ; Trunk interface TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) ; [iaxtel700] exten => _91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel) [iaxprovider] ;switch => IAX2/user:[key]@myserver/mycontext [trunkint] ; ; International long distance through trunk ; exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9011.,2,Congestion [trunk9+3] ; For three digit dialing (911,811,411) exten => _9NXX,1,Dial,(${TRUNK}/${EXTEN:1}) exten => _9NXX,2,Congestion [trunke911] exten => 911,1,Dial,(${TRUNK}/911) exten => 911,2,Congestion [trunkld] ; ; Long distance context accessed through trunk ; exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91NXXNXXXXXX,2,Congestion [trunklocal] ; ; Local seven-digit dialing accessed through trunk interface ; exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9NXXXXXX,2,Congestion [trunktollfree] ; ; Long distance context accessed through trunk interface ; exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91800NXXXXXX,2,Congestion exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91888NXXXXXX,2,Congestion exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91877NXXXXXX,2,Congestion exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91866NXXXXXX,2,Congestion [international] ; ; Master context for international long distance ; ignorepat => 9 include => longdistance include => trunkint [longdistance] ; ; Master context for long distance ; ignorepat => 9 include => internal include => trunkld ; FWD was sometimes used for testing [fwd-out] exten => _2.,1,SetCallerID(XXXXXX) exten => _2.,2,SetCIDName(XXXXXX) exten => _2.,3,Dial(SIP/${EXTEN:1}@fwd) exten => _2.,4,Playback(invalid) exten => _2.,5,Hangup [voicerec] ; ; This is for recording voice prompts ; exten => 555,1,Wait(2)  exten => 555,2,Record(/tmp/asterisk-recording:gsm) exten => 555,3,Wait(2) exten => 555,4,Playback(/tmp/asterisk-recording) exten => 555,5,wait(2) exten => 555,6,Hangup [vmmain] exten => 8000,1,VoicemailMain exten => 8000,2,Hangup ; Remote Office ; Main Office ; ; Note: You have to use the VPN IP address - It don't like using the ; ethernet side. [meetme] exten => _400,1,Dial(IAX2/confusername:password@10.X.X.X/${EXTEN}@default,45) ; This goes to the Merlin system, via out Asterisk server [100] exten => _1XX,1,Dial(IAX2/office100:password@10.X.X.X/${EXTEN}@default,45) [300] exten => _3XX,1,Dial(IAX2/office300:password@10.X.X.X/${EXTEN}@default,45) ; The operator [0] exten => 0,1,Dial(SIP/203-1@203-1|25) exten => 0,2,Dial(SIP/203-2@203-2|25) exten => 0,3,Dial(SIP/203-3@203-3|25) exten => 0,4,Dial(SIP/203-4@203-4|25) exten => 0,5,Dial(SIP/203-5@203-5|25) exten => 0,6,Dial(SIP/203-6@203-6|25) exten => 0,7,Voicemail(u0) exten => 0,8,Hangup exten => 0,102,Voicemail(b0) exten => 0,103,Hangup [201] exten => 201,1,Dial(SIP/201-1@201-1|25) exten => 201,2,Voicemail(u201) exten => 201,3,Hangup exten => 201,102,Voicemail(b201) exten => 201,103,Hangup [202] exten => 202,1,Dial(SIP/202-1@202-1|25) exten => 202,2,Voicemail(u202) exten => 202,3,Hangup exten => 202,102,Voicemail(b202) exten => 202,103,Hangup [203] exten => 203,1,Dial(SIP/203-1@203-1|25) exten => 203,2,Dial(SIP/203-2@203-2|25) exten => 203,3,Dial(SIP/203-3@203-3|25) exten => 203,4,Dial(SIP/203-4@203-4|25) exten => 203,5,Dial(SIP/203-5@203-5|25) exten => 203,6,Dial(SIP/203-6@203-6|25) exten => 203,7,Voicemail(u203) exten => 203,8,Hangup exten => 203,102,Voicemail(b203) exten => 203,103,Hangup [204] exten => 204,1,Dial(SIP/204-1@204-1|25) exten => 204,2,Voicemail(u204) exten => 204,3,Hangup exten => 204,102,Voicemail(b204) exten => 204,103,Hangup [205] exten => 205,1,Dial(SIP/205-1@205-1|25) exten => 205,2,Voicemail(u205) exten => 205,3,Hangup exten => 205,102,Voicemail(b205) exten => 205,103,Hangup [206] exten => 206,1,Dial(SIP/206-1@206-1|25) exten => 206,2,Voicemail(u206) exten => 206,3,Hangup exten => 206,102,Voicemail(b206) exten => 206,103,Hangup [207] exten => 207,1,Dial(Sip/207-1@207-1|25) exten => 207,2,Voicemailu207) exten => 207,3,Hangup exten => 207,102,Voicemail(b207) exten => 207,103,Hangup [internal] ; ; Master context for local, toll-free, and iaxtel calls only ; ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => trunkld include => iaxprovider include => fwd-out include => vmmain include => trunk9+3 include => trunke911 ; This is for recording voice prompts include => voicerec ; External extensions include => 100 include => 300 ; Internal Extensions include => 0 include => 201 include => 202 include => 203 include => 204 include => 205 include => 206 include => 207 ; ; You can use an alternative switch type as well, to resolve ; extensions that are not known here, for example with remote ; IAX switching you transparently get access to the remote ; ; switch => IAX2/user:password@bigserver/local [default] ; ; By default we include the demo. In a production system, you ; probably don't want to have the demo there. ; include => 100 include => 300 include => 0 include => 201 include => 202 include => 203 include => 204 include => 205 include => 206 include => 207 include => vmmain include => meetme include => voicerec ; This if for the holidays... include => holiday|*|*|1|jan include => holiday|*|*|31|may include => holiday|*|*|4|jul include => holiday|*|*|6|sep include => holiday|17:00-23:59|*|24|nov include => holiday|*|*|25|nov include => holiday|17:00-23:59|*|24|dec include => holiday|*|*|25|dec include => holiday|17:00-23:59|*|31|dec ; Standard time we are open/close include => daytime|9:00-18:00|mon-thu include => daytime|9:00-20:00|fri include => daytime|9:00-12:00|sat include => nighttime include => daytime [daytime] exten => s,1,Setmusiconhold,default exten => s,2,Responsetimeout,20 exten => s,3,Answer exten => s,4,DigitTimeout,2 exten => s,5,Wait,2 exten => s,6,Dial(SIP/203-1@203-1,30) exten => s,7,Dial(SIP/203-2@203-2,30) exten => s,8,Dial(SIP/203-3@203-3,30) exten => s,9,Dial(SIP/203-4@203-4,30) exten => s,10,Dial(SIP/203-5@203-5,30) exten => s,11,Dial(SIP/203-6@203-6,30) exten => s,13,Voicemail(u203) exten => s,14,Hangup exten => s,102,Voicemail(b203) exten => s,103,Hangup exten => i,1,Goto(s,5) exten => t,1,Playback,vm-goodbye exten => t,2,Hangup [nighttime] exten => s,1,Setmusiconhold,default exten => s,2,Responsetimeout,20 exten => s,3,Answer exten => s,4,DigitTimeout,2 exten => s,5,Wait,1 exten => s,6,BackGround,greet-nite exten => i,1,Goto(s,5) exten => t,1,Playback,vm-goodbye exten => t,2,Hangup [holiday] exten => s,1,Setmusiconhold,default exten => s,2,Responsetimeout,20 exten => s,3,Answer exten => s,4,DigitTimeout,2 exten => s,5,Wait,1 exten => s,6,BackGround,greet-holiday exten => i,1,Goto(s,5) exten => t,1,Playback,vm-goodbye exten => t,2,Hangup