rendered paste body
[general]
static=yes
writeprotect=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
;CONSOLE=Zap/1
EMERGENCY=0
EMERGENCY_TRUNK=Zap/3
EMERGENCY_NUM=911
[extensions]
; conference room
exten => 100,1,Dial(SIP/100,20)
exten => 100,2,Hangup
;alex
exten => 111,1,Dial(SIP/111,20)
exten => 111,2,Voicemail(u${EXTEN})
exten => 111,3,Hangup
exten => 111,102,Voicemail(b${EXTEN})
exten => 111,103,Hangup
[externalservices]
; Directory
exten => 9,1,Directory(extensions,extensions)
exten => 9,2,Hangup
; check VM
exten => 888,1,VoicemailMain
exten => 888,2,Hangup
; operator
exten => 5,1,Dial(SIP/102,20)
exten => 5,2,Voicemail(u102)
exten => 5,3,Hangup
[services]
; Access VoiceMail
exten => 500,1,VoicemailMain(${CALLERIDNUM})
exten => 500,2,Hangup
; *11 calls
exten => 911,1,Goto(nineoneone,s,1)
exten => 411,1,Dial(ZAP/g1/411)
exten => 611,1,Dial(ZAP/g1/611)
exten => 811,1,Dial(ZAP/g1/811)
[nineoneone]
exten => s,1,SetVar(SET_EMERG_FLAG=0)
exten => s,n(checkavail),ChanIsAvail(${EMERGENCY_TRUNK})
exten => s,n,SetGlobalVar(EMERGENCY=1)
exten => s,n,SetVar(SET_EMERG_FLAG=1)
exten => s,n(dial),Dial(${EMERGENCY_TRUNK}/${EMERGENCY_NUM})
exten => s,s+2(trunkbusy),GotoIf($[${EMERGENCY} = 1]?inprogress)
exten => s,n,SoftHangup(${EMERGENCY_TRUNK}-1)
exten => s,n,Wait(12)
exten => s,n,Goto(checkavail)
exten => s,s+2(inprogress),Congestion
exten => s,checkavail+101(notavail),Goto(trunkbusy)
exten => h,1,GotoIf($[${SET_EMERG_FLAG} = 1]?3)
exten => h,3,SetGlobalVar(EMERGENCY=0)
[incoming]
exten => s,1,Answer
exten => s,2,Wait,1
exten => s,3,DigitTimeout(10) ; Set Digit Timeout to 10 seconds
exten => s,4,ResponseTimeout(20) ; Set Response Timeout to 20 seconds
exten => s,5,Background(graphlogic-intro)
exten => s,6,Background(graphlogic-enter-exten)
exten => s,7,Background(graphlogic-lastname)
exten => s,8,Background(graphlogic-products-services)
exten => s,9,Background(graphlogic-customer-support)
exten => s,10,Background(graphlogic-careers)
exten => s,11,Background(graphlogic-allother)
;exten => s,9,Background(vm-extension) ; "Thanks for calling press 1 for sales, 2 for support, ..."
exten => t,1,Hangup
; Allow incoming calls from the outside to dial our internal extensions
;
include => extensions
include => externalservices
include => myPhone
[toll-trunks]
;
; Outbound 1-nxx-nxx-xxxx goes via: PSTN
;
exten => _91NXXNXXXXXX,1,Dial(Zap/g1/${EXTEN:1})
exten => _91NXXNXXXXXX,2,Congestion
exten => _9011.,1,Dial(Zap/g1/${EXTEN:1})
exten => _9011.,2,Congestion
[local-trunks]
;
; Outbound to nxx-xxxx goes via: PSTN
;
exten => _9NXXXXXX,1,Dial(Zap/g1/${EXTEN:1})
exten => _9NXXXXXX,2,Congestion
exten => _9NXXNXXXXXX,1,Dial(Zap/g1/${EXTEN:1})
exten => _9NXXNXXXXXX,2,Congestion
exten => 90,1,Dial(Zap/g1/${EXTEN:1})
exten => 90,2,Congestion
[local-access]
;
; Extensions that are this context are allowed to only call local PSTN numbers and other extensions
;
include => extensions
include => services ; voicemail, 911, etc
include => local-trunks ; Access to Local numbers
[toll-access]
;
; Extensions that are this context are allowed to call local and long distance PSTN numbers and other extensions
;
include => local-access ; Everything local-access has
include => toll-trunks ; Access to toll numbers
[myPhone]
;asterlink evaluation
exten => _1NXXNXXXXXX,1,Dial(IAX2/121163@asterlink/${EXTEN})