Code:
[general]
static=yes
writeprotect=no
[globals]
localdialtimeout=120
[default]
include => user
include => test
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,Echo()
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 => 662
include => 772
include => incoming
[662]
;;; Phone 662 ;;;
; Outgoing calls over SIP
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./662,2,Ringing()
exten => _x./662,3,Set(CALLERID(number)=xxxsipidxxx)
exten => _x./xxxsipidxxx,4,Set(CALLERID(name)=TELEFON)
exten => _x./xxxsipidxxx,5,GotoIf($["${EXTEN:0:1}" = "0"]?7)
exten => _x./xxxsipidxxx,6,Set(areaCode=030)
exten => _x./xxxsipidxxx,7,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _x./xxxsipidxxx,8,Dial(SIP/${areaCode}${EXTEN}@qsc,120,TW)
exten => _x./xxxsipidxxx,9,Goto(dialStates,${DIALSTATUS},1)
; Outgoing calls over CAPI
exten => _000.,1,Set(LANGUAGE()=de)
exten => _000./662,2,Set(CALLERID(number)=xxsipnummerxx)
exten => _000./xxsipnummerxx,3,Set(CALLERID(name)=)
exten => _000./xxsipnummerxx,4,Dial(CAPI/contr1/${EXTEN:3}/b,120,TW)
exten => _000./xxsipnummerxx,5,Goto(dialStates,${DIALSTATUS},1)
[772]
;;; Phone 772 ;;;
; Outgoing calls over SIP
exten => _x.,1,Set(LANGUAGE()=de)
exten => _x./772,2,Ringing()
exten => _x./772,3,Set(CALLERID(number)=xxxsipidxxx)
exten => _x./xxxsipidxxx,4,Set(CALLERID(name)=BART)
exten => _x./xxxsipidxxx,5,GotoIf($["${EXTEN:0:1}" = "0"]?7)
exten => _x./xxxsipidxxx,6,Set(areaCode=030)
exten => _x./xxxsipidxxx,7,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
exten => _x./xxxsipidxxx,8,Dial(SIP/${areaCode}${EXTEN}@qsc,120,TW)
exten => _x./xxxsipidxxx,9,Goto(dialStates,${DIALSTATUS},1)
; Outgoing calls over CAPI
exten => _000.,1,Set(LANGUAGE()=de)
exten => _000./772,2,Set(CALLERID(number)=xxsipnummerxx)
exten => _000./xxsipnummerxx,3,Set(CALLERID(name)=)
exten => _000./xxsipnummerxx,4,Dial(CAPI/contr1/${EXTEN:3}/b,120,TW)
exten => _000./xxsipnummerxx,5,Goto(dialStates,${DIALSTATUS},1)
[incoming]
include => default
exten => xxxsipidxxx,1,Set(LANGUAGE()=de)
exten => xxxsipidxxx,2,Ringing()
exten => xxxsipidxxx,3,AGI(getName.php,local=yes,path=/public/phonelist.txt)
exten => xxxsipidxxx,4,Set(CALLERID(number)=${CID})
exten => xxxsipidxxx,5,Set(CALLERID(name)=${NAME})
exten => xxxsipidxxx,6,System(/data/dump/asterisk/vdrr "${CALLERID}"&)
exten => xxxsipidxxx,7,Dial(Zap/g1/662&Zap/g1/772,${localdialtimeout},t)
exten => xxxsipidxxx,8,Congestion()
exten => xxxsipidxxx,9,Wait(10)
exten => xxxsipidxxx,10,Hangup()
exten => xxsipfallbackIDxx,1,Set(LANGUAGE()=de)
exten => xxsipfallbackIDxx,2,Ringing()
exten => xxsipfallbackIDxx,3,AGI(getName.php,local=yes,path=/public/phonelist.txt)
exten => xxsipfallbackIDxx,4,Set(CALLERID(number)=${CID})
exten => xxsipfallbackIDxx,5,Set(CALLERID(name)=${NAME})
exten => xxsipfallbackIDxx,6,Dial(Zap/g1/662&Zap/g1/772,${localdialtimeout},t)
exten => xxsipfallbackIDxx,7,Congestion()
exten => xxsipfallbackIDxx,8,Wait(10)
exten => xxsipfallbackIDxx,9,Hangup()
; Incoming (internal) calls for number 662. Type of phone: hfcs
exten => *662,1,Set(LANGUAGE()=de)
exten => *662/772,2,Set(CALLERID(name)=BART)
exten => *662/772,3,Set(CALLERID(number)=*772)
exten => *662,2,NoOp()
exten => *662,3,NoOp()
exten => *662,4,Dial(Zap/g1/662,120)
exten => *662,5,Goto(incoming,*662-${DIALSTATUS},1)
exten => *662,6,Goto(dialStates,${DIALSTATUS},1)
; Incoming (internal) calls for number 772. Type of phone: hfcs
exten => *772,1,Set(LANGUAGE()=de)
exten => *772/662,2,Set(CALLERID(name)=TELEFON)
exten => *772/662,3,Set(CALLERID(number)=*662)
exten => *772,2,NoOp()
exten => *772,3,NoOp()
exten => *772,4,Dial(Zap/g1/772,120)
exten => *772,5,Goto(incoming,*772-${DIALSTATUS},1)
exten => *772,6,Goto(dialStates,${DIALSTATUS},1)
[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,Busy()
exten => BUSY,3,Congestion()
exten => BUSY,4,Wait(10)
exten => BUSY,5,Hangup()
exten => CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => CHANUNAVAIL,2,Congestion()
exten => CHANUNAVAIL,3,Congestion()
exten => CHANUNAVAIL,4,Wait(10)
exten => CHANUNAVAIL,5,Hangup()
exten => CONGESTION,1,Set(LANGUAGE()=de)
exten => CONGESTION,2,Congestion()
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]
xxxsipidxxx = sipid des primären sip accounts