[general]
static=yes
writeprotect=no
[globals]
DEV_INTERN=Zap/g1
DEV_EXTERN=CAPI
ORTSVORWAHL=441
LANDESVORWAHL=+49
[default]
include => ISDN-Telefone
; Teilnehmer:
; *****************************************************************************
[macro-TeilnehmerXXXXXX]
exten => s,1,SetVar(TEILNEHMER_NAME=Privat)
exten => s,2,SetVar(TEILNEHMER_MSN=XXXXXX)
[macro-TeilnehmerYYYYYYY]
exten => s,1,SetVar(TEILNEHMER_NAME=Büro)
exten => s,2,SetVar(TEILNEHMER_MSN=YYYYYYY)
; Abgehende und eingehende Telefonate
; *****************************************************************************
[macro-Festnetzanruf]
; ARG1 = calleridnum, ARG2 = calleridname
exten => s,1,SetCIDNum(${ARG1})
exten => s,2,SetCIDName(${ARG2})
exten => s,3,Dial(${DEV_EXTERN}/${TEILNEHMER_MSN}:b${EWL},60,tr)
exten => s,4,Congestion
exten => s,5,Busy
exten => s,6,Hangup
[macro-Internetanruf]
; ARG1 = calleridnum, ARG2 = calleridname, ARG3 = sipprovider
exten => s,1,SetCIDNum(${ARG1})
exten => s,2,SetCIDName(${ARG2})
exten => s,3,SetVar(NUMBER2DIAL=${EWL})
exten => s,4,GotoIf($[${ARG3:-5} = -intl]?5:6)
exten => s,5,SetVar(NUMBER2DIAL=${INTL})
exten => s,6,Dial(SIP/${NUMBER2DIAL}@${ARG3},60,tT)
exten => s,107,GotoIf($[${DIALSTATUS} = CONGESTION]?108:109)
exten => s,108,Macro(Festnetzanruf,${ARG1},${ARG2})
exten => s,109,Playtones(busy);
exten => s,110,Busy
[macro-Verboten]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(ss-noservice)
exten => s,4,Hangup
[Leitungswahl]
; Notrufnummern 110, 112, 19222
exten => _0${ORTSVORWAHL}110,1,SetVar(EWL=110)
exten => _0${ORTSVORWAHL}110,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
exten => _0${ORTSVORWAHL}112,1,SetVar(EWL=112)
exten => _0${ORTSVORWAHL}112,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
exten => _0${ORTSVORWAHL}19222,1,SetVar(EWL=19222)
exten => _0${ORTSVORWAHL}19222,2,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
; Verbotene Nummern
exten => _12345,1,Macro(Verboten) ; 12345
exten => _019X.,1,Macro(Verboten) ; 019x
exten => _0900X.,1,Macro(Verboten) ; 0900
exten => _0088X.,1,Macro(Verboten) ; 0088 EMSAT
; Telekom freecall
exten => _0800X.,1,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
; CallByCall
exten => _010X.,1,Macro(Festnetzanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME})
; SIP über 1und1
exten => s,1,Macro(Internetanruf,${TEILNEHMER_MSN},${TEILNEHMER_NAME},einsundeins)
exten => s,2,Hangup
; Fallback
exten => h,1,NoOp
exten => t,1,Playtones(busy)
exten => t,2,Busy
[macro-Nummernumschreibung]
; ARG1 (Umzuschreibende Nummer), EWL (exten mit Ortsvorwahl), INTL (Internationales Format)
exten => s,1,GotoIf($[${ARG1:0:2} = 00]?2:5)
exten => s,2,SetVar(EWL=${ARG1})
exten => s,3,SetVar(INTL=+${ARG1:2})
exten => s,4,Goto(11)
exten => s,5,GotoIf($[${ARG1:0:1} = 0]?6:9)
exten => s,6,SetVar(EWL=${ARG1})
exten => s,7,SetVar(INTL=${LANDESVORWAHL}${ARG1:1})
exten => s,8,Goto(11)
exten => s,9,SetVar(EWL=0${ORTSVORWAHL}${ARG1})
exten => s,10,SetVar(INTL=+${LANDESVORWAHL}${ORTSVORWAHL}${ARG1})
exten => s,11,NoOp
[macro-Ungueltig]
exten => s,1,Answer
exten => s,2,Wait(0.5)
exten => s,3,Playback(privacy-incorrect)
exten => s,4,Hangup
[Amtswahl]
exten => _XXX.,1,Macro(Nummernumschreibung,${EXTEN})
exten => _XXX.,2,Goto(Leitungswahl,${EWL},1)
; die Nummer fängt nicht mit drei Ziffern an -> ungültig!
exten => i,1,Macro(Ungueltig)
[ISDN-Telefone]
exten => s,1,Wait(0.1)
exten => s,2,DigitTimeout(2)
exten => s,3,SetLanguage(de)
exten => s,4,SetCIDNum(${CALLERIDNUM:1})
;exten => s,5,Dial(Zap/1/${TEILNEHMER_MSN},60,tr)
exten => s,5,Dial(${DEV_INTERN}/${TEILNEHMER_MSN},60,tr)
exten => s,6,Congestion
exten => s,7,Busy
exten => s,8,Hangup
exten => _X.,1,Wait(0.1)
exten => _X.,2,DigitTimeout(2)
exten => _X.,3,SetLanguage(de)
exten => _X.,4,Macro(Teilnehmer${PRI_NETWORK_CID})
exten => _X.,5,Goto(Amtswahl,${EXTEN},1)