[general]
static=yes
writeprotect=no
[globals]
localdialtimeout=120
[default]
include => user
include => test
include => callback-in
include => incoming
include => outgoing
include => error
[test]
exten => #100,1,Set(LANGUAGE()=de)
exten => #100,2,Answer()
exten => #100,3,MP3Player(/var/lib/asterisk/mohmp3/fpm-calm-river.mp3)
exten => #100,4,Congestion()
exten => #100,5,Wait(10)
exten => #100,6,Hangup()
exten => #101,1,Set(LANGUAGE()=de)
exten => #101,2,Answer()
exten => #101,3,Milliwatt()
exten => #101,4,Congestion()
exten => #101,5,Wait(10)
exten => #101,6,Hangup()
exten => #102,1,Set(LANGUAGE()=de)
exten => #102,2,Answer()
exten => #102,3,SayDigits(${CALLERIDNUM})
exten => #102,4,Congestion()
exten => #102,5,Wait(10)
exten => #102,6,Hangup()
exten => #103,1,Set(LANGUAGE()=de)
exten => #103,2,Answer()
exten => #103,3,Playback(demo-Echotest)
exten => #103,4,Echotest()
exten => #103,5,Playback(demo-Echodone)
exten => #103,6,Congestion()
exten => #103,7,Wait(10)
exten => #103,8,Hangup()
exten => #104,1,Set(LANGUAGE()=de)
exten => #104,2,Answer()
exten => #104,3,AGI(date.sh)
exten => #104,4,SendText(${ADATE})
exten => #104,5,sayPhonetic(${ADATE:5})
exten => #104,6,Congestion()
exten => #104,7,Wait(10)
exten => #104,8,Hangup()
[outgoing]
include => 20021
include => incoming
[20021]
;;; Phone 20021 ;;;
; Outgoing calls over SIP
; nur Handy
exten => _01[5-7].,1,Set(LANGUAGE()=de)
exten => _01[5-7]./20021,2,Set(CALLERID(number)=023029839283)
exten => _01[5-7]./023029839283,3,Set(CALLERID(name)=)
exten => _01[5-7]./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _01[5-7]./023029839283,5,Set(CALLERID(number)=9786503)
exten => _01[5-7]./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _01[5-7]./023029839283,7,Goto(dialStates,${DIALSTATUS},1)
;nur Ausland
exten => _00.,1,Set(LANGUAGE()=de)
exten => _00./20021,2,Set(CALLERID(number)=023029839283)
exten => _00./023029839283,3,Set(CALLERID(name)=)
exten => _00./023029839283,4,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _00./023029839283,5,Set(CALLERID(number)=9786503)
exten => _00./023029839283,6,Dial(CAPI/contr1/${EXTEN},120,TW)
exten => _00./023029839283,7,Goto(dialStates,${DIALSTATUS},1)
; Outgoing calls over CAPI
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./20021,2,Set(CALLERID(number)=9786503)
exten => _x./9786503,3,Set(CALLERID(name)=)
exten => _x./9786503,4,Dial(CAPI/contr1/${EXTEN},120,TWr)
exten => _x./9786503,5,Goto(dialStates,${DIALSTATUS},1)
[incoming]
include => default
exten => 023029839283,1,Set(LANGUAGE()=de)
exten => 023029839283,2,Ringing()
exten => 023029839283,3,Dial(SIP/20021,${localdialtimeout},t)
exten => 023029839283,4,Congestion()
exten => 023029839283,5,Wait(10)
exten => 023029839283,6,Hangup()
exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Ringing()
exten => 9786503,3,GotoIfTime(*|*|*|*?RedirectionContextHelper_incoming-capi-9786503-1-setDialTimeout,9786503,1)
exten => 9786503,4,Dial(SIP/20021,30,t)
exten => 9786503,5,GotoIfTime(*|*|*|*?RedirectionContextHelper_incoming-capi-9786503-1,9786503,1)
exten => 9786503,6,Congestion()
exten => 9786503,7,Wait(10)
exten => 9786503,8,Hangup()
; Incoming (internal) calls for number 20021. Type of phone: sip
exten => *20021,1,Set(LANGUAGE()=de)
exten => *20021,2,NoOp()
exten => *20021,3,NoOp()
exten => *20021,4,Dial(SIP/20021,120)
exten => *20021,5,Goto(incoming,*20021-${DIALSTATUS},1)
exten => *20021,6,Goto(dialStates,${DIALSTATUS},1)
[RedirectionContextHelper_incoming-capi-9786503-1-setDialTimeout]
exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Set(localdialtimeoutSet=1)
exten => 9786503,3,Set(localdialtimeout=30)
exten => 9786503,4,Goto(incoming,9786503,5)
[RedirectionContextHelper_incoming-capi-9786503-1]
exten => 9786503,1,Set(LANGUAGE()=de)
exten => 9786503,2,Dial(CAPI/contr1/280960,30,t)
exten => 9786503,3,Goto(incoming,9786503,6)
[callback-in]
exten => 1799318,1,GotoIf($[${CALLERIDNUM} = Anonymous]?callback-withoutcallid,s,1:callback-withcallid,s,1)
[callback-withoutcallid]
; EingabeSchleife zur Zieleingabe
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Answer()
exten => s,3,Wait(1)
exten => s,4,Set(MYNR=)
exten => s,5,Background(privacy-prompt)
exten => s,6,Set(TIMEOUT(response)=10)
exten => s,7,WaitExten()
exten => _X,1,Set(LANGUAGE()=de)
exten => _X,2,Set(MYNR=${MYNR}${EXTEN})
exten => _X,3,Goto(s,7)
; Zuruecksetzen
exten => *,1,Set(LANGUAGE()=de)
exten => *,2,Goto(s,5)
; Eigene Rufnummer uebergeben
exten => #,1,Set(LANGUAGE()=de)
exten => #,2,Background(queue-thankyou)
exten => #,3,Set(CALLERID()=${MYNR})
exten => #,4,AGI(callback.sh)
exten => #,5,Congestion()
exten => #,6,Wait(10)
exten => #,7,Hangup()
; Handling fuer Timeout & bye
exten => t,1,Set(LANGUAGE()=de)
exten => t,2,Playback(vm-goodbye)
[callback-withcallid]
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Ringing()
exten => s,3,Wait(2)
exten => s,4,AGI(callback.sh)
exten => s,5,Set(PRI_CAUSE=17)
exten => s,6,Congestion()
exten => s,7,Wait(10)
exten => s,8,Hangup()
;;;;;;;;;;;
[callback-dial]
exten => _X.,1,Set(LANGUAGE()=de)
exten => _X.,2,Set(CALLERID(num)=1799318)
exten => _X.,3,Wait(5)
exten => _X.,4,Dial(CAPI/contr1/${EXTEN},${localdialtimeout})
[callback-go]
; Erstmal Passwort ueberpruefen
; EingabeSchleife zur Zieleingabe
exten => s,1,Set(LANGUAGE()=de)
exten => s,2,Wait(1)
exten => s,3,DigitTimeout(5)
exten => s,4,Set(TIMEOUT(response)=10)
exten => s,5,Authenticate(${password})
exten => s,6,Set(NR=)
exten => s,7,Background(vm-enter-num-to-call)
exten => s,8,Set(TIMEOUT(response)=10)
exten => s,9,WaitExten()
exten => _X,1,Set(LANGUAGE()=de)
exten => _X,2,Set(NR=${NR}${EXTEN})
exten => _X,3,Goto(s,9)
; Zuruecksetzen
exten => *,1,Set(LANGUAGE()=de)
exten => *,2,Goto(s,6)
; Nummer uebergeben
exten => _0.,1,Set(LANGUAGE()=de)
exten => _0.,2,Set(CALLERID(num)=1799318)
exten => _0.,3,Dial(CAPI/contr1/${NR},${localdialtimeout})
exten => _0.,4,Goto(#-${DIALSTATUS},1)
; DialingStates
exten => #-NOANSWER,1,Set(LANGUAGE()=de)
exten => #-NOANSWER,2,Playback(vm-nobodyavail)
exten => #-NOANSWER,3,Goto(s,6)
exten => #-BUSY,1,Set(LANGUAGE()=de)
exten => #-BUSY,2,Playback(tt-allbusy)
exten => #-BUSY,3,Goto(#,4)
exten => #-CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => #-CHANUNAVAIL,2,Playback(tt-somethingwrong)
exten => #-CHANUNAVAIL,3,Goto(t,1)
exten => #-CONGESTION,1,Set(LANGUAGE()=de)
exten => #-CONGESTION,2,Playback(vm-nobodyavail)
exten => #-CONGESTION,3,Goto(s,6)
; Handling fuer Timeout & bye
exten => t,1,Set(LANGUAGE()=de)
exten => t,2,Playback(vm-goodbye)
exten => t,3,Congestion()
exten => t,4,Wait(10)
exten => t,5,Hangup()
[dialStates]
exten => NOANSWER,1,Set(LANGUAGE()=de)
exten => NOANSWER,2,Playback(vm-nobodyavail)
exten => NOANSWER,3,Congestion()
exten => NOANSWER,4,Wait(10)
exten => NOANSWER,5,Hangup()
exten => BUSY,1,Set(LANGUAGE()=de)
exten => BUSY,2,Playback(tt-allbusy)
exten => BUSY,3,Congestion()
exten => BUSY,4,Wait(10)
exten => BUSY,5,Hangup()
exten => CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => CHANUNAVAIL,2,Playback(tt-somethingwrong)
exten => CHANUNAVAIL,3,Congestion()
exten => CHANUNAVAIL,4,Wait(10)
exten => CHANUNAVAIL,5,Hangup()
exten => CONGESTION,1,Set(LANGUAGE()=de)
exten => CONGESTION,2,Playback(vm-nobodyavail)
exten => CONGESTION,3,Congestion()
exten => CONGESTION,4,Wait(10)
exten => CONGESTION,5,Hangup()
[error]
exten => h,1,Hangup
exten => _[*#X].,1,Set(LANGUAGE()=de)
exten => _[*#X].,2,Playback(pbx-invalid)
exten => _[*#X].,3,Congestion()
exten => _[*#X].,4,Wait(10)
exten => _[*#X].,5,Hangup()
[user]