All pastes #3227 Raw Edit

Anonymous

public text v1 · immutable
#3227 ·published 2004-12-20 23:20 UTC
rendered paste body
[globals]

CONSOLE=Console/dsp                             ; Console interface for demo
;CONSOLE=Zap/1

EMERGENCY=0
EMERGENCY_TRUNK=Zap/3
EMERGENCY_NUM=911


[extensions]


exten => 100,1,Dial(SIP/100,20)
exten => 100,2,Hangup


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


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

[externalservices]

exten => 9,1,Directory(extensions,extensions)
exten => 9,2,Hangup


exten => 888,1,VoicemailMain
exten => 888,2,Hangup


exten => 2,1,Dial(SIP/102,20)
exten => 2,2,Voicemail(u102)
exten => 2,3,Hangup


exten => 3,1,Dial(SIP/102,20)
exten => 3,2,Voicemail(u102)
exten => 3,3,Hangup


extem => 4,1,Dial(SIP/102,20)
exten => 4,2,Hangup


exten => 0,1,Dial(SIP/102,20)
exten => 0,2,Voicemail(u102)
exten => 0,3,Hangup

[services]

; Access VoiceMail
exten => 500,1,VoicemailMain(${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(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

[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-trunks2]
exten => _9NXXNXXXXXX,1,Dial(Zap/g1/${EXTEN:1})
exten => _9NXXNXXXXXX,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 => local-trunks2
include => toll-trunks          ; Access to toll numbers
hydrogen:/home/alex#