All pastes #2559 Raw Edit

slak

public text v1 · immutable
#2559 ·published 2004-12-02 06:09 UTC
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]


exten => 101,1,Dial(SIP/101,20)                 ; Ring for 20 seconds
exten => 101,2,Voicemail(u${EXTEN})             ; Unavail voicemail if extension doesn't answer
exten => 101,3,Hangup
exten => 101,102,Voicemail(b${EXTEN})           ; Busy Voicemail if extension is busy
exten => 101,103,Hangup


exten => 102,1,Dial(SIP/102,20)
exten => 102,2,Voicemail(u${EXTEN})
exten => 102,3,Hangup
exten => 102,102,Voicemail(b${EXTEN})
exten => 102,103,Hangup


exten => 103,1,Dial(SIP/103,20)
exten => 103,2,Voicemail(u${EXTEN})
exten => 103,3,Hangup
exten => 103,102,Voicemail(b${EXTEN})
exten => 103,103,Hangup


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


exten => 112,1,Dial(SIP/112,20)
exten => 112,2,Voicemail(u${EXTEN})
exten => 112,3,Hangup
exten => 112,102,Voicemail(b${EXTEN})
exten => 112,103,Hangup


exten => 113,1,Dial(SIP/113,20)
exten => 113,2,Voicemail(u${EXTEN})
exten => 113,3,Hangup
exten => 113,102,Voicemail(b${EXTEN})
exten => 113,103,Hangup


exten => 114,1,Dial(SIP/114,20)
exten => 114,2,Voicemail(u${EXTEN})
exten => 114,3,Hangup
exten => 114,102,Voicemail(b${EXTEN})
exten => 114,103,Hangup

; check VM
exten => 888,1,VoicemailMain


[services]

; Access VoiceMail
exten => 500,1,VoicemailMain(s${CALLERIDNUM})
exten => 500,2,Hangup

; Create an extension, 501, for evaulating echo latency.
exten => 501,1,Playback(demo-echotest) ; Let them know what's going on
exten => 501,2,Echo                    ; Do the echo test
exten => 501,3,Playback(demo-echodone) ; Let them know it's over
exten => 501,4,Goto(s,4)               ; Start over

; Record a temporary GSM file
exten => 502,1,Wait(2)
exten => 502,2,Record(/tmp/asterisk-recording:gsm)
exten => 502,3,Wait(2)
exten => 502,4,Playback(/tmp/asterisk-recording)
exten => 502,5,Wait(2)
exten => 502,6,Hangup

; Say Current Date and Time
exten => 503,1,DateTime()
exten => 503,2,Wait(1)
exten => 503,3,DateTime()
exten => 503,4,Hangup

; Read back caller's number
exten => 504,1,Wait(1)
exten => 504,2,SayDigits(${CALLERIDNUM})
exten => 504,3,Wait(1)
exten => 504,4,SayDigits(${CALLERIDNUM})
exten => 504,5,Hangup

; *11 calls
exten => 911,1,Goto(nineoneone,s,1) 
exten => 411,1,Dial(ZAP/g1/411)
exten => 611,1,Dial(ZAP/g1/611)

[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(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

[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

;

[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