Dialplan - wie kann ich den optimieren? / extensions.conf - Sammlung

PsychoMantis

Aktives Mitglied
Mitglied seit
18 Dez 2005
Beiträge
2,542
Punkte für Reaktionen
10
Punkte
38
Hallo Forum,

Habe mir vor einigen Wochen Asterisk auf einem V-Server aufgesetzt. Funktioniert alles einwandfrei. Aber mein Dialplan (extensions.conf) wird größer und größer.
Code:
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no

[globals]
LIMIT_WARNING_FILE => noch60sekunden

[default]
exten => 30,1,Dial(SIP/30,60)
exten => 31,1,Dial(SIP/31,60)
exten => 32,1,Dial(SIP/32,60)
exten => 33,1,Dial(SIP/33,60)
exten => 34,1,Dial(SIP/34,60)
exten => 03621730xxx,1,Dial,Local/015224959xxx@default

exten => _+49X.,1,Dial,Local/0${EXTEN:3}@default
exten => _+XX.,1,Dial,Local/00${EXTEN:1}@default
exten => _0049.,1,Dial,Local/0${EXTEN:4}@default
exten => _49XX.,1,Dial,Local/0${EXTEN:2}@default
exten => _810.,1,Dial,Local/00${EXTEN:3}@default
exten => _011.,1,Dial,Local/00${EXTEN:3}@default
include => ausgehend

[ausgehend]
;Servicenummern
exten => _0900.,1,Dial,SIP/90049${EXTEN:1}@tpad|45|r
exten => _0900.,n,Hangup
exten => _0180.,1,Dial,SIP/90049${EXTEN:1}@tpad|45
exten => _0180.,n,Hangup
exten => _0800.,1,Dial,SIP/${EXTEN}@dusnet1
exten => _0800.,n,Dial,SIP/${EXTEN}@dusnet2
exten => _0800.,n,Dial,SIP/${EXTEN}@bellshare

;Deutschland Mobil
exten => _01[567].,1,GotoIf($[${LEN(${EXTEN})} < 11]?zukurz:)
exten => _01[567].,n,Set,STRATOCALL=Y
exten => _01[567].,n,Dial(SIP/${EXTEN}@strato1,60,L(1800000:60000))
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = BUSY],Busy)
exten => _01[567].,n,Dial,SIP/${EXTEN}@strato2|60|L(1800000:60000)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = BUSY],Busy)
exten => _01[567].,n,Dial,SIP/${EXTEN}@strato3|60|L(1800000:60000)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = BUSY],Busy)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = CONGESTION],Playback,nrnichtvermittelbar)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = CONGESTION],Hangup)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = CHANUNAVAIL],Playback,3leitungenbelegt)
exten => _01[567].,n,Hangup
exten => _01[567].,n(zukurz),Playback,handynrzukurz
exten => _01[567].,n,Hangup

;Deutschland Festnetz
exten => _0N.,1,Set(CALLERID(all)=Anonymous)
exten => _0N.,2,Dial(SIP/${EXTEN}@1und1,60,Tt)
exten => _0N.,3,Dial(SIP/${EXTEN}@voipdiscount,60,Tt)
exten => _0N.,4,Dial(SIP/${EXTEN}@900,60,Tt)

;Österreich Festnetz
exten => _0043[123459].,1,Set(FAVORIT=0.voipdiscount)
exten => _0043[123459].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _0043[123459].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _0043[123459].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _0043[123459].,n,ExecIf($[$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}].smslisto)
exten => _0043[123459].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0043[123459].,n,Playback(kostenlos)
exten => _0043[123459].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _0043[123459].,n,PlayBack(siehaben)
exten => _0043[123459].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _0043[123459].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _0043[123459].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _0043[123459].,n,Set(FAVORIT=0.voipdiscount)
exten => _0043[123459].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Frankreich Festnetz
exten => _0033[012345789].,1,Set(FAVORIT=0.voipdiscount)
exten => _0033[012345789].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _0033[012345789].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _0033[012345789].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _0033[012345789].,n,ExecIf($[$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}].smslisto)
exten => _0033[012345789].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0033[012345789].,n,Playback(kostenlos)
exten => _0033[012345789].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _0033[012345789].,n,PlayBack(siehaben)
exten => _0033[012345789].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _0033[012345789].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _0033[012345789].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _0033[012345789].,n,Set(FAVORIT=0.voipdiscount)
exten => _0033[012345789].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;USA/Kanada
exten => _001.,1,Set(FAVORIT=0.voipdiscount)
exten => _001.,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _001.,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _001.,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _001.,n,ExecIf($[$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}].smslisto)
exten => _001.,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _001.,n,Playback(kostenlos)
exten => _001.,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _001.,n,PlayBack(siehaben)
exten => _001.,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _001.,n,PlayBack(minutenfuerdiesesgespraech)
exten => _001.,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _001.,n,Set(FAVORIT=0.voipdiscount)
exten => _001.,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Tschechien Festnetz
exten => _00420[0-58].,1,Set(FAVORIT=0.voipdiscount)
exten => _00420[0-58].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _00420[0-58].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _00420[0-58].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _00420[0-58].,n,ExecIf($[$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}].smslisto)
exten => _00420[0-58].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _00420[0-58].,n,Playback(kostenlos)
exten => _00420[0-58].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _00420[0-58].,n,PlayBack(siehaben)
exten => _00420[0-58].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _00420[0-58].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _00420[0-58].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _00420[0-58].,n,Set(FAVORIT=0.voipdiscount)
exten => _00420[0-58].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Griechenland Festnetz
exten => _0030[0-5789].,1,Set(FAVORIT=0.voipdiscount)
exten => _0030[0-5789].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _0030[0-5789].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _0030[0-5789].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _0030[0-5789].,n,ExecIf($[$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}].smslisto)
exten => _0030[0-5789].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0030[0-5789].,n,Playback(kostenlos)
exten => _0030[0-5789].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _0030[0-5789].,n,PlayBack(siehaben)
exten => _0030[0-5789].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _0030[0-5789].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _0030[0-5789].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _0030[0-5789].,n,Set(FAVORIT=0.voipdiscount)
exten => _0030[0-5789].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Polen Festnetz
exten => _0048[5689].,1,Set(FAVORIT=0.voipdiscount)
exten => _0048[5689].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _0048[5689].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _0048[5689].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _0048[5689].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0048[5689].,n,Playback(kostenlos)
exten => _0048[5689].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _0048[5689].,n,PlayBack(siehaben)
exten => _0048[5689].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _0048[5689].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _0048[5689].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _0048[5689].,n,Set(FAVORIT=0.voipdiscount)
exten => _0048[5689].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Russland Festnetz
exten => _007[348].,1,Set(FAVORIT=0.voipdiscount)
exten => _007[348].,n,ExecIf($[$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}].nonoh)
exten => _007[348].,n,ExecIf($[$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}].12voip)
exten => _007[348].,n,ExecIf($[$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}] > ${CUT(FAVORIT,.,1)}],Set,FAVORIT=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}].justvoip)
exten => _007[348].,n,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _007[348].,n,Playback(kostenlos)
exten => _007[348].,n,GotoIf($[${CUT(FAVORIT,.,1)} > 50]?call:)
exten => _007[348].,n,PlayBack(siehaben)
exten => _007[348].,n,SayNumber(${CUT(FAVORIT,.,1)})
exten => _007[348].,n,PlayBack(minutenfuerdiesesgespraech)
exten => _007[348].,n(call),ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _007[348].,n,Set(FAVORIT=0.voipdiscount)
exten => _007[348].,n,Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|60

;Österreich Mobilfunk
exten => _0043[678].,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0043[678].,n,Playback(2&centprominute)
exten => _0043[678].,n,system(/usr/sbin/scripts/bmguthaben nonoh.net 13)
exten => _0043[678].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 0]?:ok)
exten => _0043[678].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 31]?:ok)
exten => _0043[678].,n,ExecIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _0043[678].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1]?call:)
exten => _0043[678].,n,Playback(nulleuround)
exten => _0043[678].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _0043[678].,n,Playback(centund)
exten => _0043[678].,n,Goto(call)
exten => _0043[678].,n(ok),Playback(aktuellesguthaben)
exten => _0043[678].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1]?ein:)
exten => _0043[678].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,1)})
exten => _0043[678].,n(ein),ExecIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1],Playback,ein)
exten => _0043[678].,n,Playback(euro&and)
exten => _0043[678].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _0043[678].,n,Playback(cent)
exten => _0043[678].,n(call),Dial,SIP/${EXTEN}@nonoh|45
exten => _0043[678].,n,Hangup

;Frankreich Mobilfunk
exten => _00336.,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _00336.,n,Playback(4&centprominute)
exten => _00336.,n,system(/usr/sbin/scripts/bmguthaben smslisto.com 16)
exten => _00336.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,1)} = 0]?:ok)
exten => _00336.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,2)} < 31]?:ok)
exten => _00336.,n,ExecIf($[${CUT(DB(smslisto/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _00336.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,2)} < 1]?call:)
exten => _00336.,n,Playback(nulleuround)
exten => _00336.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,2)})
exten => _00336.,n,Playback(centund)
exten => _00336.,n,Goto(call)
exten => _00336.,n(ok),Playback(aktuellesguthaben)
exten => _00336.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,1)} = 1]?ein:)
exten => _00336.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,1)})
exten => _00336.,n(ein),ExecIf($[${CUT(DB(smslisto/guthaben),.,1)} = 1],Playback,ein)
exten => _00336.,n,Playback(euro)
exten => _00336.,n,Playback(and)
exten => _00336.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,2)})
exten => _00336.,n,Playback(cent)
exten => _00336.,n(call),Dial,SIP/${EXTEN}@smslisto|45
exten => _00336.,n,Hangup

;Russland Mobilfunk
exten => _0079XXXX.,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0079XXXX.,n,Playback(2&centprominute)
exten => _0079XXXX.,n,system(/usr/sbin/scripts/bmguthaben nonoh.net 13)
exten => _0079XXXX.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 0]?:ok)
exten => _0079XXXX.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 31]?:ok)
exten => _0079XXXX.,n,ExecIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _0079XXXX.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1]?call:)
exten => _0079XXXX.,n,Playback(nulleuround)
exten => _0079XXXX.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _0079XXXX.,n,Playback(centund)
exten => _0079XXXX.,n,Goto(call)
exten => _0079XXXX.,n(ok),Playback(aktuellesguthaben)
exten => _0079XXXX.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1]?ein:)
exten => _0079XXXX.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,1)})
exten => _0079XXXX.,n(ein),ExecIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1],Playback,ein)
exten => _0079XXXX.,n,Playback(euro)
exten => _0079XXXX.,n,Playback(and)
exten => _0079XXXX.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _0079XXXX.,n,Playback(cent)
exten => _0079XXXX.,n(call),Dial,SIP/${EXTEN}@nonoh|45

;Kasachstan Mobilfunk
exten => _00771[234578]9[01].,1,Dial(SIP/${EXTEN}@nonoh,60)	
exten => _00772[134567]9[01].,1,Dial(SIP/${EXTEN}@nonoh,60)
exten => _00772758.,1,Dial(SIP/${EXTEN}@nonoh,60)
exten => _0077[067].,1,Dial(SIP/${EXTEN}@nonoh,60)

;Tschechien Mobilfunk
exten => _00420[679].,1,Dial(SIP/${EXTEN}@nonoh,60)

;Polen Mobilfunk
exten => _0048[568].,1,Dial(SIP/${EXTEN}@nonoh,60)

;Griechenland Mobilfunk
exten => _00306.,1,Dial(SIP/${EXTEN}@nonoh,60)

;Kasachstan Festnetz
exten => _0077[123].,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _0077[123].,n,Playback(ein&centprominute)
exten => _0077[123].,n,system(/usr/sbin/scripts/bmguthaben 12voip.com 10)
exten => _0077[123].,n,GotoIf($[${CUT(DB(12voip/guthaben),.,1)} = 0]?:ok)
exten => _0077[123].,n,GotoIf($[${CUT(DB(12voip/guthaben),.,2)} < 31]?:ok)
exten => _0077[123].,n,ExecIf($[${CUT(DB(12voip/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _0077[123].,n,GotoIf($[${CUT(DB(12voip/guthaben),.,2)} < 1]?call:)
exten => _0077[123].,n,Playback(nulleuround)
exten => _0077[123].,n,SayNumber(${CUT(DB(12voip/guthaben),.,2)})
exten => _0077[123].,n,Playback(centund)
exten => _0077[123].,n,Goto(call)
exten => _0077[123].,n(ok),Playback(aktuellesguthaben)
exten => _0077[123].,n,GotoIf($[${CUT(DB(12voip/guthaben),.,1)} = 1]?ein:)
exten => _0077[123].,n,SayNumber(${CUT(DB(12voip/guthaben),.,1)})
exten => _0077[123].,n(ein),ExecIf($[${CUT(DB(12voip/guthaben),.,1)} = 1],Playback,ein)
exten => _0077[123].,n,Playback(euro)
exten => _0077[123].,n,Playback(and)
exten => _0077[123].,n,SayNumber(${CUT(DB(12voip/guthaben),.,2)})
exten => _0077[123].,n,Playback(cent)
exten => _0077[123].,n(call),Dial,SIP/${EXTEN}@12voip|45

;Ukraine Mobil
exten => _00380[3569].,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _00380[3569].,n,Playback(5&centprominute)
exten => _00380[3569].,n,system(/usr/sbin/scripts/bmguthaben nonoh.net 13)
exten => _00380[3569].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 0]?:ok)
exten => _00380[3569].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 31]?:ok)
exten => _00380[3569].,n,ExecIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _00380[3569].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1]?call:)
exten => _00380[3569].,n,Playback(nulleuround)
exten => _00380[3569].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _00380[3569].,n,Playback(centund)
exten => _00380[3569].,n,Goto(call)
exten => _00380[3569].,n(ok),Playback(aktuellesguthaben)
exten => _00380[3569].,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1]?ein:)
exten => _00380[3569].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,1)})
exten => _00380[3569].,n(ein),ExecIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1],Playback,ein)
exten => _00380[3569].,n,Playback(euro)
exten => _00380[3569].,n,Playback(and)
exten => _00380[3569].,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _00380[3569].,n,Playback(cent)
exten => _00380[3569].,n(call),Dial,SIP/${EXTEN}@nonoh|55
exten => _00380[3569].,n,Hangup

;Ukraine Festnetz
exten => _00380.,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _00380.,n,Playback(4&centprominute)
exten => _00380.,n,system(/usr/sbin/scripts/bmguthaben smslisto.com 16)
exten => _00380.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,1)} = 0]?:ok)
exten => _00380.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,2)} < 31]?:ok)
exten => _00380.,n,ExecIf($[${CUT(DB(smslisto/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _00380.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,2)} < 1]?call:)
exten => _00380.,n,Playback(nulleuround)
exten => _00380.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,2)})
exten => _00380.,n,Playback(centund)
exten => _00380.,n,Goto(call)
exten => _00380.,n(ok),Playback(aktuellesguthaben)
exten => _00380.,n,GotoIf($[${CUT(DB(smslisto/guthaben),.,1)} = 1]?ein:)
exten => _00380.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,1)})
exten => _00380.,n(ein),ExecIf($[${CUT(DB(smslisto/guthaben),.,1)} = 1],Playback,ein)
exten => _00380.,n,Playback(euro)
exten => _00380.,n,Playback(and)
exten => _00380.,n,SayNumber(${CUT(DB(smslisto/guthaben),.,2)})
exten => _00380.,n,Playback(cent)
exten => _00380.,n(call),Dial,SIP/${EXTEN}@smslisto|45
exten => _00380.,n,Hangup

;Armenien Mobil
exten => _003749.,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _003749.,n,Playback(8&centprominute)
exten => _003749.,n,system(/usr/sbin/scripts/bmguthaben nonoh.net 13)
exten => _003749.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 0]?:ok)
exten => _003749.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 31]?:ok)
exten => _003749.,n,ExecIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1],Playback,keinguthaben)
exten => _003749.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,2)} < 1]?call:)
exten => _003749.,n,Playback(nulleuround)
exten => _003749.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _003749.,n,Playback(centund)
exten => _003749.,n,Goto(call)
exten => _003749.,n(ok),Playback(aktuellesguthaben)
exten => _003749.,n,GotoIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1]?ein:)
exten => _003749.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,1)})
exten => _003749.,n(ein),ExecIf($[${CUT(DB(nonoh/guthaben),.,1)} = 1],Playback,ein)
exten => _003749.,n,Playback(euro)
exten => _003749.,n,Playback(and)
exten => _003749.,n,SayNumber(${CUT(DB(nonoh/guthaben),.,2)})
exten => _003749.,n,Playback(cent)
exten => _003749.,n(call),Dial,SIP/${EXTEN}@nonoh|45
exten => _003749.,n,Hangup

;Armenien Festnetz
exten => _00374.,1,GotoIf($[${CALLERID(name):0:8} = callback]?call:)
exten => _00374.,n,Playback(3&centprominute)
exten => _00374.,n,system(/usr/sbin/scripts/bmguthaben justvoip.com 14)
exten => _00374.,n,GotoIf($[${CUT(DB(justvoip/guthaben),.,1)} = 0]?:ok)
exten => _00374.,n,GotoIf($[${CUT(DB(justvoip/guthaben),.,2)} < 31]?:ok)
exten => _00374.,n,ExecIf($[${CUT(DB(justvoip/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => _00374.,n,GotoIf($[${CUT(DB(justvoip/guthaben),.,2)} < 1]?call:)
exten => _00374.,n,Playback(nulleuround)
exten => _00374.,n,SayNumber(${CUT(DB(justvoip/guthaben),.,2)})
exten => _00374.,n,Playback(centund)
exten => _00374.,n,Goto(call)
exten => _00374.,n(ok),Playback(aktuellesguthaben)
exten => _00374.,n,GotoIf($[${CUT(DB(justvoip/guthaben),.,1)} = 1]?ein:)
exten => _00374.,n,SayNumber(${CUT(DB(justvoip/guthaben),.,1)})
exten => _00374.,n(ein),ExecIf($[${CUT(DB(justvoip/guthaben),.,1)} = 1],Playback,ein)
exten => _00374.,n,Playback(euro)
exten => _00374.,n,Playback(and)
exten => _00374.,n,SayNumber(${CUT(DB(justvoip/guthaben),.,2)})
exten => _00374.,n,Playback(cent)
exten => _00374.,n(call),Dial,SIP/${EXTEN}@justvoip|45|g
exten => _00374.,n,Set,DB(justvoip/armenien)=$[$[$[${ANSWEREDTIME} + 59] / 60] * 3]



exten => _00994[457].,1,Dial,SIP/${EXTEN}@nonoh|45		;Aserbaidschan Mobilfunk
exten => _00994[457].,2,Hangup					;Aserbaidschan Mobilfunk
exten => _00994.,1,Playback(3&centprominute)			;Aserbaidschan Festnetz
exten => _00994.,2,Dial,SIP/${EXTEN}@smslisto|45		;Aserbaidschan Festnetz

exten => _0044.,1,Dial,SIP/${EXTEN}@voipdiscount|45|r		;England
exten => _0090.,1,Macro(dialnow,${EXTEN})				;Türkei
exten => _007[67].,1,Macro(dialnow,${EXTEN})			;UdSSR ?
exten => _0073[67].,1,Macro(dialnow,${EXTEN})			;Usbekistan, Turkmenistan ?
exten => _0099[238].,1,Macro(dialnow,${EXTEN})			;Tadshikistan ?
exten => _00971.,1,Macro(dialnow,${EXTEN})			;Vereinigte Arabische Emirate

;Über Sipgate CallerID setzen und anrufen
exten => _12340.,1,Set(CALLERID(name)=49${EXTEN:5})
exten => _12340.,n,Dial,SIP/${EXTEN:4}@sipgate|45|r
exten => _12344.,1,Set(CALLERID(name)=${CUT(EXTEN,*,1):4})
exten => _12344.,n,Dial(SIP/${CUT(EXTEN,*,2)}@sipgate,60)

;Callbacks weitervermitteln
exten => _88.,1,NoOp(${CUT(EXTEN,*,1):2}, ${CUT(EXTEN,*,2)})
exten => _88.,2,Macro(callfile,${CUT(EXTEN,*,1):2},${CUT(EXTEN,*,2)},8)

;Echotest
exten => 00080,1,answer
exten => 00080,n,wait,1
exten => 00080,n,playback,demo-echotest
exten => 00080,n,echo
exten => 00080,n,playback,demo-echodone
exten => 00080,n,hangup

exten => h,1,GotoIf($[${CUT(FAVORIT,.,1)} > 0]?:4)
exten => h,2,GotoIf($[${ANSWEREDTIME} > 1]?:4)
exten => h,3,Set(DB(${CUT(FAVORIT,.,2)}/minutes1)=$[${DB(${CUT(FAVORIT,.,2)}/minutes1)} + $[$[${ANSWEREDTIME} + 59] / 60]])
exten => h,4,GotoIf($[${STRATOCALL} = Y]?:7)
exten => h,5,GotoIf($[${ANSWEREDTIME} > 0]?:7)
exten => h,6,Set(DB(strato/sekunden)=$[${DB(strato/sekunden)} + ${ANSWEREDTIME}])
exten => h,7,NoOp

[incoming]
;Callback ist für diese Nummern erlaubt:
exten => 000387xxxxxx/01747993xxx,1,Macro(callfile,${CALLERID(num)})			;Ich
exten => 000387xxxxxx/0152026713xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schnecke
exten => 000387xxxxxx/01627255xxx,1,Macro(callfile,${CALLERID(num)})			;meine Mam
exten => 000387xxxxxx/0176298160xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schwester
exten => 000387xxxxxx/01626591xxx,1,Macro(callfile,${CALLERID(num)})			;mein Bruder
exten => 000387xxxxxx/01627534xxx,1,Macro(callfile,${CALLERID(num)})			;Artur
exten => 000387xxxxxx/015202746xxx,1,Macro(callfile,${CALLERID(num)})		;Artur&acute;s Bruder
exten => 000387xxxxxx/01622996xxx,1,Macro(callfile,${CALLERID(num)})			;Artur&acute;s Dad
exten => 000387xxxxxx/015224959xxx,1,Macro(callfile,${CALLERID(num)})		;Eugen
exten => 000387xxxxxx/017665280xxx,1,Macro(callfile,${CALLERID(num)})		;BaronXell
;exten => 000387xxxxxx/0160998032xxx,1,Macro(callfile,${CALLERID(num)})		;Edmund
exten => 000387xxxxxx/08419513xxx,1,Macro(callfile,${CALLERID(num)})			;Tjotja Olja
exten => 000387xxxxxx/0073851221xxx,1,Macro(callfile,084671xxx,0073851221xxx)	;Tanja-Russland
exten => 000387xxxxxx/0077014241xxx,1,Macro(callfile,0077252321xxx)			;Alisher-test

;Calltrough ist für diese Nummern erlaubt:
exten => 000387xxxxxx/017623122xxx,1,DISA(no-password,default)			;Wowka

;Unbekannte Nummern werden abgewiesen
exten => 000387xxxxxx,1,NoOp(${CALLERID(num)})
exten => 000387xxxxxx,n,NoOp(${CALLERID(name)})
exten => 000387xxxxxx,n,NoOp(${CALLERID(all)})
exten => 000387xxxxxx,n,Busy

;Normale eingehende Anrufe
exten => 000387xxxxxx,1,Dial,SIP/31|60|r					;Eltern
exten => 000387xxxxxx/0077014241xxx,1,Macro(callfile,${CALLERID(num)},01747993xxx)	;Alisher-cb
exten => 000387xxxxxx,1,Dial,Local/015224959xxx@ausgehend|60|r			;Eugen

[macro-dialnow]
exten => s,1,Answer()
exten => s,n,Dial(SIP/021153997878@voipdiscount,20,D(wwwwww${ARG1}#))
exten => s,n,Dial(SIP/03031190252@voipdiscount,20,D(wwwwww${ARG1}#))
exten => s,n,Dial(SIP/03031190252@1und1,30,D(wwwwwwwwwwwwww${ARG1}#))

[macro-callfile]
exten => s,1,system(echo 'Channel: Local/${ARG1}@default' > /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Callerid: callback${ARG1}' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Context: callback' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Extension: s' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'MaxRetries: 2' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'RetryTime: 5' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'WaitTime: 20' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(mv /var/spool/asterisk/${ARG1} /var/spool/asterisk/outgoing/)
exten => s,n,Set(DB(callback/temp)=call${ARG2})
exten => s,n,ExecIf($[8${ARG3}=88],Playback,pbx-transfer)
exten => s,n,ExecIf($[8${ARG3}=88],Hangup)
exten => s,n,Busy

[callback]
exten => s,1,GotoIf($[${DB(callback/temp)} = call]?disa:)
exten => s,n,Playback(vm-dialout)
exten => s,n,Dial,Local/${DB(callback/temp):4}@default|99
exten => s,n,Hangup
exten => s,n(disa),ExecIf($[${CALLERID(name):8}=0077252321xxx],Playback,nabirajnomer)
exten => s,n,DISA(no-password,default)
exten => s,n,Hangup
Nun ist es einige KBs groß geworden - was könnte man da noch optimieren (bin mir sicher, dass da noch was geht)?

Ach ja. Jeder darf seine extensions.conf hier mal posten. Jeder hat eine andere und von jeder kann man sich etwas positives abgucken.
 
Gleich so viel Antworten :-) Habe es inzwischen selbst etwas optimiert (nun ist der ca. halbso groß).
Code:
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no

[globals]
LIMIT_WARNING_FILE=noch60sekunden
LANGUAGE()=de
CHANNEL(language)=de

[default]
exten => _+XX.,1,Goto,00${EXTEN:1}|1
exten => _0049.,1,Goto,0${EXTEN:4}|1
exten => _49XX.,1,Goto,0${EXTEN:2}|1
exten => _810.,1,Goto,00${EXTEN:3}|1
exten => _011.,1,Goto,00${EXTEN:3}|1

exten => 30,1,Dial(SIP/30,60)
exten => 31,1,Dial(SIP/31,60)
exten => 32,1,Dial(SIP/32,60)
exten => 33,1,Dial(SIP/33,60)
exten => 34,1,Dial(SIP/34,60)
exten => 03621730xxx,1,Dial,Local/015224959xxx@default
include => ausgehend

[ausgehend]
;Servicenummern
exten => _0900.,1,Dial,SIP/90049${EXTEN:1}@tpad|45|r
exten => _0900.,n,Hangup
exten => _0180.,1,Dial,SIP/90049${EXTEN:1}@tpad|45
exten => _0180.,n,Hangup
exten => _0800.,1,Dial,SIP/${EXTEN}@dusnet1
exten => _0800.,n,Dial,SIP/${EXTEN}@dusnet2
exten => _0800.,n,Dial,SIP/${EXTEN}@bellshare

;Deutschland Mobil
exten => _01[567].,1,ExecIf($[${LEN(${EXTEN})} < 11],Playback,handynrzukurz)
exten => _01[567].,n,ExecIf($[${LEN(${EXTEN})} < 11],Hangup)
exten => _01[567].,n,Set,STRATO=strato
exten => _01[567].,n,Dial,SIP/${EXTEN}@strato1|90|L(1800000:60000)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = BUSY | ${DIALSTATUS} = NOANSWER],Goto,s-${DIALSTATUS}|1)
exten => _01[567].,n,Dial,SIP/${EXTEN}@strato2|90|L(1800000:60000)
exten => _01[567].,n,ExecIf($[${DIALSTATUS} = BUSY | ${DIALSTATUS} = NOANSWER],Goto,s-${DIALSTATUS}|1)
exten => _01[567].,n,Dial,SIP/${EXTEN}@strato3|90|L(1800000:60000)
exten => _01[567].,n,Goto,s-${DIALSTATUS}|1

;Deutschland Festnetz
exten => _0N.,1,Set(CALLERID(all)=Anonymous)
exten => _0N.,n,Dial,SIP/${EXTEN}@1und1|90|Tt
exten => _0N.,n,ExecIf($[${DIALSTATUS} = BUSY | ${DIALSTATUS} = NOANSWER],Goto,s-${DIALSTATUS}|1)
exten => _0N.,n,Goto(ausland_freedays,0049${EXTEN:1},1)

exten => _0043[123459].,1,Goto(ausland_freedays,${EXTEN},1)			;Österreich Festnetz
exten => _0033[012345789].,1,Goto(ausland_freedays,${EXTEN},1)		;Frankreich Festnetz
exten => _0044[0-68].,1,Goto(ausland_freedays,${EXTEN},1)			;England Festnetz
exten => _001.,1,Goto(ausland_freedays,${EXTEN},1)				;USA/Kanada
exten => _00420[0-58].,1,Goto(ausland_freedays,${EXTEN},1)			;Tschechien Festnetz
exten => _0030[0-5789].,1,Goto(ausland_freedays,${EXTEN},1)			;Griechenland Festnetz
exten => _0048[5689].,1,Goto(ausland_freedays,${EXTEN},1)			;Polen Festnetz
exten => _007[348].,1,Goto(ausland_freedays,${EXTEN},1)			;Russland Festnetz
exten => _0090[012467].,1,Goto(ausland_freedays,${EXTEN},1)			;Türkei Festnetz

exten => _0043[678].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,2)		;Österreich Mobilfunk
exten => _00336.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,4)		;Frankreich Mobilfunk
exten => _0079XXX.,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,2)		;Russland Mobilfunk
exten => _00420[679].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,8)		;Tschechien Mobilfunk
exten => _0048[568].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,3)		;Polen Mobilfunk
exten => _00306.,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,7)			;Griechenland Mobilfunk
exten => _00771[234578]9[01].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,5)	;Kasachstan Mobilfunk
exten => _00772[134567]9[01].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,5)	;Kasachstan Mobilfunk
exten => _00772758.,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,5)		;Kasachstan Mobilfunk
exten => _0077[067].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,5)		;Kasachstan Mobilfunk
exten => _0077[123].,1,Macro(ausland,${EXTEN},${CALLERID(all)},12voip,ein)		;Kasachstan Festnetz
exten => _00380[3569].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,5)		;Ukraine Mobil
exten => _00380.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,4)		;Ukraine Festnetz
exten => _003749.,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,8)			;Armenien Mobil
exten => _00374.,1,Macro(ausland,${EXTEN},${CALLERID(all)},justvoip,3)		;Armenien Festnetz
exten => _00994[457].,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,6)		;Aserbaidschan Mobilfunk
exten => _00994.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,3)		;Aserbaidschan Festnetz
exten => _0044[79].,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,5)		;England Mobilfunk
exten => _0090[3589].,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,7)		;Türkei Mobilfunk
exten => _00971.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,8)		;Vereinigte Arabische Emirate
exten => _00375.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,10)		;Weißrussland
exten => _009989.,1,Macro(ausland,${EXTEN},${CALLERID(all)},nonoh,2)			;Usbekistan Mobilfunk
exten => _00998.,1,Macro(dialnow,${EXTEN})						;Usbekistan Festnetz
exten => _00992.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,7)		;Tadschikistan
exten => _00737.,1,Macro(ausland,${EXTEN},${CALLERID(all)},smslisto,7)		;Tadschikistan

;Über Sipgate CallerID setzen und anrufen
exten => _12340.,1,Set(CALLERID(name)=49${EXTEN:5})
exten => _12340.,n,Dial,SIP/${EXTEN:4}@sipgate|45|r
exten => _12344.,1,Set(CALLERID(name)=${CUT(EXTEN,*,1):4})
exten => _12344.,n,Dial(SIP/${CUT(EXTEN,*,2)}@sipgate,60)

;Callbacks weitervermitteln
exten => _88.,1,Macro(callfile,${CUT(EXTEN,*,1):2},${CUT(EXTEN,*,2)},8)

;Echotest
exten => 00080,1,playback,silence/1&demo-echotest
exten => 00080,n,echo
exten => 00080,n,playback,demo-echodone
exten => 00080,n,hangup

exten => s-NOANSWER,1,Playback,keineantwort
exten => s-NOANSWER,n,Hangup
exten => s-BUSY,1,Busy
exten => s-CONGESTION,1,Playback,nrnichtvermittelbar
exten => s-CONGESTION,n,Hangup
exten => s-CHANUNAVAIL,1,Playback,alleleitungenbelegt
exten => s-CHANUNAVAIL,n,Hangup
exten => _s.,1,Hangup

exten => i,1,NoOp,Undefinierte Nummer ${INVALID_EXTEN} wurde gewählt.
exten => i,2,Answer
exten => i,3,Playback,alex
exten => i,4,Hangup

exten => h,1,ExecIf($[${STRATO} = strato & ${ANSWEREDTIME} > 0],Set,DB(${STRATO}/sekunden)=$[${DB(${STRATO}/sekunden)} + ${ANSWEREDTIME}])

[incoming]
;Callback ist für diese Nummern erlaubt:
exten => 000387xxxxxx/01747993xxx,1,Macro(callfile,${CALLERID(num)})			;Ich
exten => 000387xxxxxx/0152026713xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schnecke
exten => 000387xxxxxx/01627255xxx,1,Macro(callfile,${CALLERID(num)})			;meine Mam
exten => 000387xxxxxx/0176298160xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schwester
exten => 000387xxxxxx/01626591xxx,1,Macro(callfile,${CALLERID(num)})			;mein Bruder
exten => 000387xxxxxx/01627534xxx,1,Macro(callfile,${CALLERID(num)})			;Artur
exten => 000387xxxxxx/015202746xxx,1,Macro(callfile,${CALLERID(num)})		;Artur&acute;s Bruder
exten => 000387xxxxxx/01622996xxx,1,Macro(callfile,${CALLERID(num)})			;Artur&acute;s Dad
exten => 000387xxxxxx/015224959xxx,1,Macro(callfile,${CALLERID(num)})		;Eugen
exten => 000387xxxxxx/017665280xxx,1,Macro(callfile,${CALLERID(num)})		;BaronXell
;exten => 000387xxxxxx/0160998032xxx,1,Macro(callfile,${CALLERID(num)})		;Edmund
exten => 000387xxxxxx/08419513xxx,1,Macro(callfile,${CALLERID(num)})			;Tjotja Olja
exten => 000387xxxxxx/0073851221xxx,1,Macro(callfile,084671xxx,0073851221xxx)	;Tanja-Russland
exten => 000387xxxxxx/0077014241xxx,1,Macro(callfile,0077252321xxx)			;Alisher-test

;Calltrough ist für diese Nummern erlaubt:
exten => 000387xxxxxx/017623122xxx,1,DISA(no-password,default)			;Wowka

;Unbekannte Nummern werden abgewiesen
exten => 000387xxxxxx,1,system(echo '${CALLERID(num)}' `date` >> /root/cbtest)
exten => 000387xxxxxx,n,Busy

;Normale eingehende Anrufe
exten => 000387xxxxxx,1,Dial,SIP/31|60|r							;Eltern
exten => 000387xxxxxx/0077014241xxx,1,Macro(callfile,${CALLERID(num)},01747993xxx)	;Alisher-cb
exten => 000387xxxxxx,1,Dial,Local/015224959xxx@ausgehend|60|r			;Eugen

[macro-dialnow]
exten => s,1,Answer()
exten => s,n,Dial(SIP/021153997878@voipdiscount,20,D(wwwwww${ARG1}#))
exten => s,n,Dial(SIP/03031190252@voipdiscount,20,D(wwwwww${ARG1}#))
exten => s,n,Dial(SIP/03031190252@1und1,30,D(wwwwwwwwwwwwww${ARG1}#))

[ausland_freedays]
exten => _00.,1,Set,NONOHFREIMINUTEN=$[200 - ${DB(nonoh/minutes1)} - ${DB(nonoh/minutes2)} - ${DB(nonoh/minutes3)} - ${DB(nonoh/minutes4)} - ${DB(nonoh/minutes5)} - ${DB(nonoh/minutes6)} - ${DB(nonoh/minutes7)}]
exten => _00.,n,Set,12VOIPFREIMINUTEN=$[300 - ${DB(12voip/minutes1)} - ${DB(12voip/minutes2)} - ${DB(12voip/minutes3)} - ${DB(12voip/minutes4)} - ${DB(12voip/minutes5)} - ${DB(12voip/minutes6)} - ${DB(12voip/minutes7)}]
exten => _00.,n,Set,JUSTVOIPFREIMINUTEN=$[300 - ${DB(justvoip/minutes1)} - ${DB(justvoip/minutes2)} - ${DB(justvoip/minutes3)} - ${DB(justvoip/minutes4)} - ${DB(justvoip/minutes5)} - ${DB(justvoip/minutes6)} - ${DB(justvoip/minutes7)}]
exten => _00.,n,Set,SMSLISTOFREIMINUTEN=$[300 - ${DB(smslisto/minutes1)} - ${DB(smslisto/minutes2)} - ${DB(smslisto/minutes3)} - ${DB(smslisto/minutes4)} - ${DB(smslisto/minutes5)} - ${DB(smslisto/minutes6)} - ${DB(smslisto/minutes7)}]
exten => _00.,n,Set,FAVORIT1=0.voipdiscount|FAVORIT2=0.voipdiscount|FAVORIT3=0.voipdiscount|FAVORIT4=0.voipdiscount|FAVORIT5=999.voipdiscount|ZAHL=0

exten => _00.,n,ExecIf($[${NONOHFREIMINUTEN} > ${CUT(FAVORIT1,.,1)}],Set,FAVORIT1=${NONOHFREIMINUTEN}.nonoh)
exten => _00.,n,ExecIf($[${12VOIPFREIMINUTEN} > ${CUT(FAVORIT1,.,1)}],Set,FAVORIT1=${12VOIPFREIMINUTEN}.12voip)
exten => _00.,n,ExecIf($[${JUSTVOIPFREIMINUTEN} > ${CUT(FAVORIT1,.,1)}],Set,FAVORIT1=${JUSTVOIPFREIMINUTEN}.justvoip)
exten => _00.,n,ExecIf($[${SMSLISTOFREIMINUTEN} > ${CUT(FAVORIT1,.,1)}],Set,FAVORIT1=${SMSLISTOFREIMINUTEN}.smslisto)

exten => _00.,n,ExecIf($[${NONOHFREIMINUTEN} > ${CUT(FAVORIT2,.,1)} & ${NONOHFREIMINUTEN} < ${CUT(FAVORIT1,.,1)}],Set,FAVORIT2=${NONOHFREIMINUTEN}.nonoh)
exten => _00.,n,ExecIf($[${12VOIPFREIMINUTEN} > ${CUT(FAVORIT2,.,1)} & ${12VOIPFREIMINUTEN} < ${CUT(FAVORIT1,.,1)}],Set,FAVORIT2=${12VOIPFREIMINUTEN}.12voip)
exten => _00.,n,ExecIf($[${JUSTVOIPFREIMINUTEN} > ${CUT(FAVORIT2,.,1)} & ${JUSTVOIPFREIMINUTEN} < ${CUT(FAVORIT1,.,1)}],Set,FAVORIT2=${JUSTVOIPFREIMINUTEN}.justvoip)
exten => _00.,n,ExecIf($[${SMSLISTOFREIMINUTEN} > ${CUT(FAVORIT2,.,1)} & ${SMSLISTOFREIMINUTEN} < ${CUT(FAVORIT1,.,1)}],Set,FAVORIT2=${SMSLISTOFREIMINUTEN}.smslisto)

exten => _00.,n,ExecIf($[${NONOHFREIMINUTEN} > ${CUT(FAVORIT3,.,1)} & ${NONOHFREIMINUTEN} < ${CUT(FAVORIT2,.,1)}],Set,FAVORIT3=${NONOHFREIMINUTEN}.nonoh)
exten => _00.,n,ExecIf($[${12VOIPFREIMINUTEN} > ${CUT(FAVORIT3,.,1)} & ${12VOIPFREIMINUTEN} < ${CUT(FAVORIT2,.,1)}],Set,FAVORIT3=${12VOIPFREIMINUTEN}.12voip)
exten => _00.,n,ExecIf($[${JUSTVOIPFREIMINUTEN} > ${CUT(FAVORIT3,.,1)} & ${JUSTVOIPFREIMINUTEN} < ${CUT(FAVORIT2,.,1)}],Set,FAVORIT3=${JUSTVOIPFREIMINUTEN}.justvoip)
exten => _00.,n,ExecIf($[${SMSLISTOFREIMINUTEN} > ${CUT(FAVORIT3,.,1)} & ${SMSLISTOFREIMINUTEN} < ${CUT(FAVORIT2,.,1)}],Set,FAVORIT3=${SMSLISTOFREIMINUTEN}.smslisto)

exten => _00.,n,ExecIf($[${NONOHFREIMINUTEN} < ${CUT(FAVORIT3,.,1)}],Set,FAVORIT4=${NONOHFREIMINUTEN}.nonoh)
exten => _00.,n,ExecIf($[${12VOIPFREIMINUTEN} < ${CUT(FAVORIT3,.,1)}],Set,FAVORIT4=${12VOIPFREIMINUTEN}.12voip)
exten => _00.,n,ExecIf($[${JUSTVOIPFREIMINUTEN} < ${CUT(FAVORIT3,.,1)}],Set,FAVORIT4=${JUSTVOIPFREIMINUTEN}.justvoip)
exten => _00.,n,ExecIf($[${SMSLISTOFREIMINUTEN} < ${CUT(FAVORIT3,.,1)}],Set,FAVORIT4=${SMSLISTOFREIMINUTEN}.smslisto)

exten => _00.,n,ExecIf($[${EXTEN:0:3} = 007],Set,LANGUAGE()=ru)
exten => _00.,n,ExecIf($[${CALLERID(all):1:8} != callback & ${LANGUAGE()} = ru],Playback,etotswonokbesplatnyj)
exten => _00.,n,ExecIf($[${CALLERID(all):1:8} != callback & ${LANGUAGE()} = de & ${EXTEN:2:2} != 49],Playback,kostenlos)

exten => _00.,n(provider),Set,FAVORIT=${FAVORIT$[${ZAHL}+1]}|ZAHL=$[${ZAHL}+1]
exten => _00.,n,ExecIf($[${EXTEN:0:3} = 007 & ${CUT(FAVORIT,.,2)} = smslisto | ${EXTEN:0:4} = 0048 & ${CUT(FAVORIT,.,2)} = smslisto | ${EXTEN:0:4} = 0090 & ${CUT(FAVORIT,.,2)} = 12voip | ${EXTEN:0:4} = 0090 & ${CUT(FAVORIT,.,2)} = justvoip ],Set,FAVORIT=0.0)
exten => _00.,n,ExecIf($[${CUT(FAVORIT,.,1)} > 0],Dial,SIP/${EXTEN}@${CUT(FAVORIT,.,2)}|90|L($[${CUT(FAVORIT,.,1)} * 60000]:60000))
exten => _00.,n,GotoIf($[${ZAHL} < 5]?provider:)

exten => h,1,ExecIf($[${CUT(FAVORIT,.,1)} > 0 & ${ANSWEREDTIME} > 1],Set,DB(${CUT(FAVORIT,.,2)}/minutes1)=$[${DB(${CUT(FAVORIT,.,2)}/minutes1)} + $[$[${ANSWEREDTIME} + 59] / 60]])

[macro-ausland]
exten => s,1,GotoIf($[${ARG2:1:8} = callback]?call:)
exten => s,n,Playback,${ARG4}&centprominute
exten => s,n,TrySystem,/usr/sbin/scripts/${ARG3}.sh
exten => s,n,GotoIf($[${CUT(DB(${ARG3}/guthaben),.,1)} = 0]?:ok)
exten => s,n,GotoIf($[${CUT(DB(${ARG3}/guthaben),.,2)} < 31]?:ok)
exten => s,n,ExecIf($[${CUT(DB(${ARG3}/guthaben),.,2)} < 1],Playback,keinguthaben)	
exten => s,n,GotoIf($[${CUT(DB(${ARG3}/guthaben),.,2)} < 1]?call:)
exten => s,n,Playback,nulleuround
exten => s,n,SayNumber(${CUT(DB(${ARG3}/guthaben),.,2)})
exten => s,n,Playback,centund
exten => s,n,Goto(call)
exten => s,n(ok),Playback,aktuellesguthaben
exten => s,n,GotoIf($[${CUT(DB(${ARG3}/guthaben),.,1)} = 1]?ein:)
exten => s,n,SayNumber(${CUT(DB(${ARG3}/guthaben),.,1)})
exten => s,n(ein),ExecIf($[${CUT(DB(${ARG3}/guthaben),.,1)} = 1],Playback,ein)
exten => s,n,Playback,euro&and
exten => s,n,SayNumber(${CUT(DB(${ARG3}/guthaben),.,2)})
exten => s,n,Playback,cent
exten => s,n(call),Dial,SIP/${ARG1}@${ARG3}|120
exten => s,n,Hangup

[macro-callfile]
exten => s,1,system(echo 'Channel: Local/${ARG1}@default' > /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Callerid: callback' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Context: callback' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Extension: s' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'MaxRetries: 2' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'RetryTime: 3' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'Setvar: CALL=call${ARG2}' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(echo 'WaitTime: 20' >> /var/spool/asterisk/${ARG1})
exten => s,n,system(mv /var/spool/asterisk/${ARG1} /var/spool/asterisk/outgoing/)
exten => s,n,ExecIf($[8${ARG3}=88],Playback,pbx-transfer)
exten => s,n,ExecIf($[8${ARG3}=88],Hangup)
exten => s,n,Busy

[callback]
exten => s,1,GotoIf($[${CALL} = call]?4:)
exten => s,2,Playback,silence/1&vm-dialout
exten => s,3,Goto,default|${CALL:4}|1
exten => s,4,ExecIf($[${CALLERID(name):9:3}=077],Playback,silence/1&naberitenomer)
exten => s,n,DISA,no-password|default
exten => s,n,Hangup

Ne, ok, mal eine andere Frage:

Wie kann ich die Zeile
Code:
exten => _00.,n,ExecIf($[${EXTEN:0:3} = 007 | ${EXTEN:0:4} = 0048 | ${EXTEN:0:4} = 0090 | ${EXTEN:0:4} = 0090],Set,Wert=foo)
kürzer schreiben?

Es muss doch eine Möglichkeit geben, dem asterisk zu sagen, dass er den Wert auf foo setzen soll, wenn ${EXTEN} eine der Nummern ist. Diese Nummern könnte man ja vorher in irgendso eine Liste speichern. Geht so was?

Genau das selbe würde ich gerne für meine Liste der erlaubten Nummern definieren. Aus dem ganzen
Code:
exten => 000387xxxxxx/01747993xxx,1,Macro(callfile,${CALLERID(num)})			;Ich
exten => 000387xxxxxx/0152026713xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schnecke
exten => 000387xxxxxx/01627255xxx,1,Macro(callfile,${CALLERID(num)})			;meine Mam
exten => 000387xxxxxx/0176298160xxx,1,Macro(callfile,${CALLERID(num)})		;meine Schwester
exten => 000387xxxxxx/01626591xxx,1,Macro(callfile,${CALLERID(num)})			;mein Bruder
exten => 000387xxxxxx/01627534xxx,1,Macro(callfile,${CALLERID(num)})			;Artur
exten => 000387xxxxxx/015202746xxx,1,Macro(callfile,${CALLERID(num)})		;Artur&acute;s Bruder
exten => 000387xxxxxx/01622996xxx,1,Macro(callfile,${CALLERID(num)})			;Artur&acute;s Dad
exten => 000387xxxxxx/015224959xxx,1,Macro(callfile,${CALLERID(num)})		;Eugen
exten => 000387xxxxxx/017665280xxx,1,Macro(callfile,${CALLERID(num)})
müsste sich doch so was wie
Code:
exten => 000387xxxxxx/${verweis zur liste oder zur Datei in der all diese Nummern stehen},1,Macro(callfile,${CALLERID(num)})
machen lassen. Oder?

Nachtrag: Ja, so was geht mit
Code:
exten => 000387xxxxxx,1,ExecIf(${DB_EXISTS(callback/${CALLERID(num)})}),Macro,callfile|${CALLERID(num)})
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,860
Beiträge
2,303,057
Mitglieder
378,513
Neuestes Mitglied
jezmikosay