[general]
static = yes
writeprotect = no
clearglobalvars = no
[globals]
CONSOLE = Console/dsp ; Console interface for demo
IAXINFO = guest ; IAXtel username/password
TRUNK = Zap/g2 ; Trunk interface
TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0)
trunk_1 = SIP/trunk_1
trunk_2 = SIP/trunk_2
trunk_3 = SIP/trunk_3
trunk_4 = SIP/trunk_4
trunk_5 = SIP/trunk_5
trunk_8 = SIP/trunk_8
trunk_6 = SIP/trunk_6
trunk_7 = SIP/trunk_7
trunk_10 = SIP/trunk_10
trunk_9 = SIP/trunk_9
[trunklocal]
exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
[international]
ignorepat => 9
[longdistance]
ignorepat => 9
include => local
[local]
ignorepat => 9
include => default
include => trunklocal
include => parkedcalls
[macro-trunkdial]
exten => s,1,Dial(${ARG1})
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => s-BUSY,1,Hangup
exten => _s-.,1,NoOp
[macro-stdexten];
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[macro-stdPrivacyexten];
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening
; option (or use P for databased call screening)
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[macro-page];
exten => s,1,ChanIsAvail(${ARG1}|js) ; j is for Jump and s is for ANY call
exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!
exten => s,n,Dial(${ARG1}||)
exten => s,n(fail),Hangup
[page]
exten => _X.,1,Macro(page,SIP/${EXTEN})
[mailbox_own]
exten = 900,1,answer
exten = 900,2,wait,1
exten = 900,3,VoiceMailMain(s${CALLERID(num)})
exten = 900,4,hangup
[default]
exten => 901,1,VoiceMailMain
exten = 900,1,Goto(mailbox_own,900,1)
exten = 800,1,Goto(voicemenu-custom-1|s|1)
exten = 241,1,Goto(voicemenu-custom-2|s|1)
[asterisk_guitools]
exten = executecommand,1,System(${command})
exten = executecommand,n,Hangup()
exten = record_vmenu,1,Answer
exten = record_vmenu,n,Playback(vm-intro)
exten = record_vmenu,n,Record(${var1})
exten = record_vmenu,n,Playback(vm-saved)
exten = record_vmenu,n,Playback(vm-goodbye)
exten = record_vmenu,n,Hangup
exten = play_file,1,Answer
exten = play_file,n,Playback(${var1})
exten = play_file,n,Hangup
hasbeensetup = Y
[DID_trunk_1]
include = default
exten = _X.,1,Goto(default|200|1)
exten = s,1,Goto(default|200|1)
[numberplan-custom-1]
plancomment = DialPlan1
include = default
exten = _001801422X.,1,Macro(trunkdial,${trunk_5}/${EXTEN:0})
comment = _001801422X.,1,BYU-1,standard
exten = _001801378Z.,1,Macro(trunkdial,${trunk_5}/${EXTEN:0})
comment = _001801378Z.,1,BYU-2,custom
exten = _001800X.,1,Macro(trunkdial,${trunk_5}/${EXTEN:2})
comment = _001800X.,1,USA 0800,standard
exten = _001877X.,1,Macro(trunkdial,${trunk_5}/${EXTEN:2})
comment = _001877X.,1,USA 0877 Free,standard
exten = _001866X.,1,Macro(trunkdial,${trunk_5}/${EXTEN:2})
comment = _001866X.,1,USA 0866 Free,standard
exten = _001888X.,1,Macro(trunkdial,${trunk_5}/${EXTEN:2})
comment = _001888X.,1,USA 0888 Free,standard
exten = _1222XXXXXXX,1,Macro(trunkdial,${trunk_5}/${EXTEN:0})
comment = _1222XXXXXXX,1,Konferenzraum,standard
exten = _3010,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3010,1,VS - Netzzeitung,standard
exten = _3011,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3011,1,VS - Schlafl. in München,standard
exten = _3012,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3012,1,VS - Deutschland-Radio,standard
exten = _3013,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3013,1,VS - Wanhoffs Wunderbare Welt der Wissenschaft,standard
exten = _3014,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3014,1,VS - Handelsblatt,standard
exten = _3015,1,Macro(trunkdial,${trunk_4}/${EXTEN:0})
comment = _3015,1,VS - Hit-Radio Antenne Teamtests,standard
exten = _411,1,Macro(trunkdial,${trunk_5}/${EXTEN:0})
comment = _411,1,TellMe,standard
exten = _511XXX,1,Macro(trunkdial,${trunk_7}/${EXTEN:0})
comment = _511XXX,1,Konferenz,standard
exten = _613,1,Macro(trunkdial,${trunk_6}/${EXTEN:0})
comment = _613,1,FWD Echo Test,standard
exten = _001[2-9].,1,Macro(trunkdial,${trunk_10}/${EXTEN:0})
comment = _001[2-9].,1,USA Festnetz,custom
exten = _0N.,1,Macro(trunkdial,${trunk_1}/${EXTEN:0})
comment = _0N.,1,Festnetz,custom
[DID_trunk_2]
include = default
[DID_trunk_3]
include = default
exten = _X.,1,Goto(default|200|1)
exten = s,1,Goto(default|200|1)
[DID_trunk_4]
include = default
exten = _X.,1,Goto(default|800|1)
exten = s,1,Goto(default|800|1)
[DID_trunk_5]
include = default
exten = _X.,1,Goto(default|200|1)
exten = s,1,Goto(default|200|1)
[DID_trunk_8]
include = default
exten = _X.,1,Goto(default|200|1)
exten = s,1,Goto(default|200|1)
[DID_trunk_6]
include = default
[DID_trunk_7]
include = default
[DID_trunk_10]
include = default
[voicemenu-custom-1]
comment = International ankommend
alias_exten = 800
exten = s,1,Answer
exten = s,2,Background(Ankommend International)
exten = s,3,DigitTimeout(10)
exten = s,4,Hangup
[DID_trunk_9]
include = default
exten = _X.,1,Goto(default|241|1)
exten = s,1,Goto(default|241|1)
[voicemenu-custom-2]
comment = Extern
alias_exten = 241
exten = s,1,Answer
exten = 1,1,Goto(default|200|1)
exten = 2,1,Goto(default|250|1)
exten = 3,1,Goto(default|901|1)