Initial Commit

master
root 2020-04-25 10:20:15 +02:00
commit 467c08d18d
12 changed files with 157 additions and 0 deletions

18
ext/dial.conf 100644
View File

@ -0,0 +1,18 @@
[dial]
; Nebenstellen
exten => _Z!,1,Verbose(3,Dial private destination ${EXTEN} )
exten => _Z!,n,Goto(private,${EXTEN},1)
; Externe Rufnummern
exten => _ZXXXX!,1,Goto(dial,+${COUNTRYCODE}${AREACODE}${EXTEN},1)
exten => _00ZX!,1,Goto(dial,+${EXTEN:2},1)
exten => _0ZX!,1,Goto(dial,+${COUNTRYCODE}${EXTEN:1},1)
; Vollständig normalisierte Rufnummer
exten => _[+].,1,Verbose(3,Dial complete destination ${EXTEN} )
exten => _[+].,n,Noop
exten => _[+].,n,Noop
exten => _[+].,n,Noop
exten => _[+].,n,Goto(route,${EXTEN},1)
include => macro

1
ext/disa.conf 100644
View File

@ -0,0 +1 @@
[disa]

6
ext/ext.conf 100644
View File

@ -0,0 +1,6 @@
[ext]
exten => _X.,1,Verbose(3, Call to extension ${EXTEN} )
exten => _X.,n,ExecIf(${DB(ext/${EXTEN}/timeout)}?Dial(PJSIP/${EXTEN},${DB(ext/${EXTEN}/timeout)}):Dial(PJSIP/${EXTEN}))
exten => _X.,n,ExecIf(${DB(ext/${EXTEN}/fwd/enable)}?Gosub(forward,${EXTEN},1))
exten => _X.,n,ExecIf(${DB(ext/${EXTEN}/mailbox/enabled)}?Gosub(mailbox,${EXTEN},1))
exten => _X.,n,Hangup()

22
ext/forward.conf 100644
View File

@ -0,0 +1,22 @@
[forward]
exten => _X!,1,Set(REDIRECTING(from-num)=${CALLERID(num)})
exten => _X!,n,Goto(dial,${DB(ext/${EXTEN}/fwd/destination)},1))
;exten => _X!,n,Transfer(Local/${DB(ext/${EXTEN}/fwd/destination)}@dial)
[macro]
exten => _*30,1,Answer
exten => _*30,n,Set(DB(ext/${CALLERID(num)}/fwd/enable)=1)
exten => _*30,n,Playback(beep)
exten => _*30,n,Hangup
exten => _*30!,1,Answer
exten => _*30!,n,Set(DB(ext/${CALLERID(num)}/fwd/destination)=${EXTEN:3})
exten => _*30!,n,Set(DB(ext/${CALLERID(num)}/fwd/enable)=1)
exten => _*30!,n,Playback(beep)
exten => _*30!,n,Hangup
exten => _*39,1,Answer
exten => _*39,n,Set(DB(ext/${CALLERID(num)}/fwd/enable)=0)
exten => _*39,n,Playback(beep)
exten => _*39,n,Hangup

28
ext/macro.conf 100644
View File

@ -0,0 +1,28 @@
[macro]
;exten => _*10,1,AddQueueMember(0,Local/${CALLERID(num)}@dial)
;exten => _*11,n,RemoveQueueMember(0,Local/${CALLERID(num)}@dial)
;exten => _*10.,1,AddQueueMember(${EXTEN:3},Local/${CALLERID(num)}@dial)
;exten => _*11.,n,RemoveQueueMember(${EXTEN:3},Local/${CALLERID(num)}@dial)
exten => _*10,1,Answer
exten => _*10,n,AddQueueMember(0)
exten => _*10,n,Hangup()
exten => _*11,1,Answer
exten => _*11,n,RemoveQueueMember(0)
exten => _*11,n,Hangup()
exten => _*10.,1,Answer
exten => _*10.,n,AddQueueMember(${EXTEN:3})
exten => _*10.,n,Hangup()
exten => _*11.,1,Answer
exten => _*11.,n,RemoveQueueMember(${EXTEN:3})
exten => _*11.,n,Hangup()
exten => _*18XXXXXX!,1,Set(DB(ext/${CALLERID(num)}/pin)=${EXTEN:3})
exten => _*19.,1,Answer
exten => _*19.,n,Set(DB(ext/${CALLERID(num)}/timeout)=${EXTEN:3})
exten => _*19.,n,Playback(beep)
exten => _*19.,n,Hangup
exten => _*99,1,Goto(disa,s,1)

50
ext/mailbox.conf 100644
View File

@ -0,0 +1,50 @@
[mailbox]
exten => _X!,1,Verbose(3,Mailbox called for extension ${EXTEN})
exten => _X!,n,Answer()
exten => _X!,n,Wait(1)
exten => _X!,n,Playback(/var/spool/asterisk/ext/${EXTEN}/${IF(${DB(ext/${EXTEN}/mailbox/message)}?${DB(ext/${EXTEN}/mailbox/message)}:0)})
exten => _X!,n,GotoIf(${DB(ext/${EXTEN}/mailbox/rectime)}?:hangup)
exten => _X!,n,Set(OEXT=${EXTEN})
exten => _X!,n,Record(/var/spool/asterisk/rec/rec%d.wav,4,${DB(ext/${EXTEN}/mailbox/rectime)},xk)
exten => _X!,n(hangup),Wait(1)
exten => _X!,n,Hangup()
exten => h,1,Verbose(3,Hangup after recording ${RECORDED_FILE})
exten => h,n,Set(RCPT=${IF(${DB_EXISTS(ext/${OEXT}/email)}?${DB(ext/${OEXT}/email)}:${DEFMAIL})})
exten => h,n,System(echo "Es wurde eine Nachricht für die Nebenstelle ${OEXT} hinterlassen.\nAnrufer war ${CALLERID}" | mutt -s "Neue Nachricht für Nebenstelle ${OEXT}" -a "${RECORDED_FILE}.wav" -- "${RCPT}")
[macro]
exten => _*20,1,Answer
exten => _*20,n,Set(DB(ext/${CALLERID(num)}/mailbox/enabled)=1)
exten => _*20,n,Playback(beep)
exten => _*20,n,Hangup
exten => _*20X,1,Answer
exten => _*20X,n,Set(DB(ext/${CALLERID(num)}/mailbox/enabled)=1)
exten => _*20X,n,Set(DB(ext/${CALLERID(num)}/mailbox/message)=${EXTEN:3})
exten => _*20X,n,Playback(beep)
exten => _*20X,n,Hangup
exten => _*21!,1,Answer
exten => _*21!,n,Set(DB(ext/${CALLERID(num)}/mailbox/rectime)=${EXTEN:3})
exten => _*21!,n,Playback(beep)
exten => _*21!,n,Hangup
exten => _*22X,1,Answer
exten => _*22X,n,Wait(1)
exten => _*22X,n(aufnahme),eSpeak("Bitte sprechen Sie nach dem Ton. Bestätigen Sie die Aufnahme mit der Rautetaste.",any,de)
exten => _*22X,n,Wait(1)
exten => _*22X,n,Record(/var/spool/asterisk/ext/${CALLERID(num)}/${EXTEN:3}.gsm,,,k)
exten => _*22X,n,Wait(1)
exten => _*22X,n,eSpeak("Ihre Aufnahme wird zur Kontrolle abgespielt",any,de)
exten => _*22X,n,Wait(1)
exten => _*22X,n,Playback(beep)
exten => _*22X,n,Playback(/var/spool/asterisk/ext/${CALLERID(num)}/${EXTEN:3})
exten => _*22X,n,Wait(1)
exten => _*22X,n,Hangup
exten => _*29,1,Answer
exten => _*29,n,Set(DB(ext/${CALLERID(num)}/mailbox/enabled)=0)
exten => _*29,n,Playback(beep)
exten => _*29,n,Hangup

5
ext/private.conf 100644
View File

@ -0,0 +1,5 @@
[private]
exten => 0,1,Goto(queue,${EXTEN},1)
exten => _ZX,1,Goto(ext,${EXTEN},1)

4
ext/public.conf 100644
View File

@ -0,0 +1,4 @@
[public]
exten => _[+]${COUNTRYCODE}${AREACODE}${LOCALNUMBER},1,Goto(private,0,1)
exten => _[+]${COUNTRYCODE}${AREACODE}${LOCALNUMBER}.,1,Goto(private,${EXTEN:${LEN(+${COUNTRYCODE}${AREACODE}${LOCALNUMBER})}},1)

4
ext/queue.conf 100644
View File

@ -0,0 +1,4 @@
[queue]
exten => _X!,1,Verbose(3,Call to queue ${EXTEN})
exten => _X!,n,Queue(${EXTEN},CirR,,,120)

4
ext/route.conf 100644
View File

@ -0,0 +1,4 @@
[route]
exten => _+ZX.,1,Goto(trunk-out,${EXTEN},1)
include => public

8
ext/trunk.conf 100644
View File

@ -0,0 +1,8 @@
[trunk-in]
exten => _[+]ZX.,1,Verbose(3,incoming call from ${CONTEXT} for destination ${EXTEN})
exten => _[+]ZX.,n,Goto(public,${EXTEN},1)
[trunk-out]
exten => _[+]ZX.,1,Verbose(3,outgoing call in context ${CONTEXT} to destination ${EXTEN})
exten => _[+]ZX.,n,Dial(IAX2/pbx0.l--n.de/${EXTEN})

View File

@ -0,0 +1,7 @@
[globals]
COUNTRYCODE=49
AREACODE=7082
LOCALNUMBER=123456
DEFMAIL=robots@l--n.de
#include /opt/asterisk-pbx/ext/*.conf