
| Current Path : /var/mail/etc/asterisk/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/mail/etc/asterisk/extensions.conf1 |
[general]
port=5060
bind=0.0.0.0
#include "asterisk_loopthrough/extensions.172_20_20_2"
static=yes
writeprotect=no
clearglobalvars=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
[outbound-freenum]
; We'll add more digits as needed. The purpose is to dial things
; like extension numbers at domains (ITAD number) so we're matching
; on lengths of 1 through 6 prior to the separator (the asterisk [*])
;
exten => _X*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
exten => _XXXXXX*X!,1,Goto(outbound-freenum2,${EXTEN},1)
[outbound-freenum2]
; This is the handler which performs the dialing logic. It is called
; from the [outbound-freenum] context
;
exten => _X!,1,Verbose(2,Performing ISN lookup for ${EXTEN})
same => n,Set(SUFFIX=${CUT(EXTEN,*,2-)}) ; make sure the suffix is all digits as well
same => n,GotoIf($["${FILTER(0-9,${SUFFIX})}" != "${SUFFIX}"]?fn-CONGESTION,1)
; filter out bad characters per the README-SERIOUSLY.best-practices.txt document
same => n,Set(TIMEOUT(absolute)=10800)
same => n,Set(isnresult=${ENUMLOOKUP(${EXTEN},sip,,1,freenum.org)}) ; perform our lookup with freenum.org
same => n,GotoIf($["${isnresult}" != ""]?from)
same => n,Set(DIALSTATUS=CONGESTION)
same => n,Goto(fn-CONGESTION,1)
same => n(from),Set(SIPFROMUSER=${CALLERID(num)})
same => n,GotoIf($["${GLOBAL(FREENUMDOMAIN)}" = ""]?dial) ; check if we set the FREENUMDOMAIN global variable in [global]
same => n,Set(SIPFROMDOMAIN=${GLOBAL(FREENUMDOMAIN)}) ; if we did set it, then we'll use it for our outbound dialing domain
same => n(dial),Dial(SIP/${isnresult},40)
same => n,Goto(fn-${DIALSTATUS},1)
exten => fn-BUSY,1,Busy()
exten => _f[n]-.,1,NoOp(ISN: ${DIALSTATUS})
same => n,Congestion()
[stdexten]
;
; Standard extension subroutine:
; ${EXTEN} - Extension
; ${ARG1} - Device(s) to ring
; ${ARG2} - Optional context in Voicemail (if empty, then "default")
;
; Note that the current version will drop through to the next priority in the
; case of their pressing '#'. This gives more flexibility in what do to next:
; you can prompt for a new extension, or drop the call, or send them to a
; general delivery mailbox, or...
;
; The use of the LOCAL() function is purely for convenience. Any variable
; initially declared as LOCAL() will disappear when the innermost Gosub context
; in which it was declared returns. Note also that you can declare a LOCAL()
; variable on top of an existing variable, and its value will revert to its
; previous value (before being declared as LOCAL()) upon Return.
;
exten => _X.,50000(stdexten),NoOp(Start stdexten)
exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
exten => _X.,n,Set(LOCAL(dev)=${ARG1})
exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
exten => _X.,n,Dial(${dev},20) ; Ring the interface, 20 seconds maximum
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => stdexten-NOANSWER,1,Voicemail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
exten => stdexten-NOANSWER,n,NoOp(Finish stdexten NOANSWER)
exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
exten => stdexten-BUSY,1,Voicemail(${mbx},b)
; If busy, send to voicemail w/ busy announce
exten => stdexten-BUSY,n,NoOp(Finish stdexten BUSY)
exten => stdexten-BUSY,n,Return() ; If they press #, return to start
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${mbx}) ; If they press *, send the user into VoicemailMain
exten => a,n,Return()
[stdPrivacyexten]
;
; Standard extension subroutine:
; ${ARG1} - Extension
; ${ARG2} - Device(s) to ring
; ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
; ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
; ${ARG5} - Context in voicemail (if empty, then "default")
;
; See above note in stdexten about priority handling on exit.
;
exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
exten => _X.,n,Set(LOCAL(ext)=${ARG1})
exten => _X.,n,Set(LOCAL(dev)=${ARG2})
exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
; option (or use P for databased call _X.creening)
exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => stdexten-NOANSWER,1,Voicemail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
exten => stdexten-BUSY,1,Voicemail(${mbx},b) ; If busy, send to voicemail w/ busy announce
exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
exten => stdexten-BUSY,n,Return() ; If they press #, return to start
exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1) ; Callee chose to send this call to a telemarketer torture script.
exten => _stde[x]te[n]-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${mbx}) ; If they press *, send the user into VoicemailMain
exten => a,n,Return
[macro-page];
;
; Paging macro:
;
; Check to see if SIP device is in use and DO NOT PAGE if they are
;
; ${ARG1} - Device to page
exten => s,1,ChanIsAvail(${ARG1},s) ; s is for ANY call
exten => s,n,GoToIf([${AVAILORIGCHAN} = ""]?fail:autoanswer)
exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!
exten => s,n,Dial(${ARG1})
exten => s,n(fail),Hangup
[default]
include => sipout_fue
;exten => 1001,1,Answer()
;exten => 1001,2,Playback(hello-world)
;exten => 1001,3,Hangup()
exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)
exten => 1013,1,Dial(SIP/1013)
exten => 1000,1,MeetMe(1000)
exten => 1001,1,MeetMe(1001)
exten => _10X0,1,Set(CHANNEL(language)=de)
exten => _10X0,n,MeetMe(${EXTEN})
[time]
exten => _X.,30000(time),NoOp(Time: ${EXTEN} ${timezone})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
; the amount of delay is set for English; you may need to adjust this time
; for other languages if there's no pause before the synchronizing beep.
exten => _X.,n,Set(FUTURETIME=$[${EPOCH} + 12])
exten => _X.,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
exten => _X.,n,SayPhonetic(z)
; use the timezone associated with the extension (sip only), or system-wide
; default if one hasn't been set.
exten => _X.,n,SayUnixTime(${FUTURETIME},${timezone},HNS)
exten => _X.,n,Playback(spy-local)
exten => _X.,n,WaitUntil(${FUTURETIME})
exten => _X.,n,Playback(beep)
exten => _X.,n,Return()
;
; ANI context: use in the same way as "time" above
;
[ani]
exten => _X.,40000(ani),NoOp(ANI: ${EXTEN})
exten => _X.,n,Wait(0.25)
exten => _X.,n,Answer()
exten => _X.,n,Playback(vm-from)
exten => _X.,n,SayDigits(${CALLERID(ani)})
exten => _X.,n,Wait(1.25)
exten => _X.,n,SayDigits(${CALLERID(ani)}) ; playback again in case of missed digit
exten => _X.,n,Return()
;[meet]
;exten => _X.,1,Answer()
;exten => _X.,n,Wait(1)
;exten => _X.,n(anfang),Read(CONFNO,conf-getconfno)
;exten => _X.,n,SayNumber(${CONFNO:0:4})
;exten => _X.,n,GotoIf($[${LEN(${CONFNO})} < 4]?invalid)
;exten => _X.,n,GotoIf($[${LEN(${CONFNO})} > 4]?pin)
;exten => _X.,n,MeetMe(${CONFNO},cTsM,0)
;exten => _X.,n,Goto(ende)
;exten => _X.,n(pin),MeetMe(${CONFNO:0:4},cTsM,${CONFNO:4})
;exten => _X.,n(ende),Hangup()
;exten => _X.,n(invalid),Playback(conf-invalid)
;exten => _X.,n,Goto(anfang)
[sipout_ffm]
exten => _X.,1,NoOp(calling ${EXTEN})
exten => _X.,n,Set(CALLERID(number)=1421267t3)
exten => _X.,n,SipAddHeader(P-Preferred-Identity: <sip:4969175549313@sipconnect.sipgate.de>)
exten => _X.,n,Dial(SIP/${EXTEN}@sipgate_ffm,30,trg)
exten => _X.,n,Hangup
[sipout_fue]
exten => _X.,1,NoOp(calling ${EXTEN})
;exten => _X.,n,Set(CALLERID(number)=1421267t1)
exten => _X.,n,SipAddHeader(P-Preferred-Identity: <sip:${CALLERID(num)}@sipconnect.sipgate.de>)
exten => _X.,n,Dial(SIP/${EXTEN}@sipgate_fue,30,trg)
exten => _X.,n,Hangup
[macro-wlffm]
exten => s,1,Set(ORIGEXTEN=49${CALLERID(num):1}999)
exten => s,n,GotoIf($[${EXTEN:2:2} = 69]?ffm:fue)
exten => s,n(ffm),Set(CALLERID(number)=1421267t3)
exten => s,n,SipAddHeader(P-Preferred-Identity: <sip:${ORIGEXTEN}@sipconnect.sipgate.de>)
exten => s,n,Dial(SIP/${ARG1}@sipgate_ffm,30,t)
exten => s,n,Hangup()
exten => s,n(fue),Set(CALLERID(number)=1421267t1)
exten => s,n,SipAddHeader(P-Preferred-Identity: <sip:${ORIGEXTEN}@sipconnect.sipgate.de>)
exten => s,n,Dial(SIP/${ARG1}@sipgate_fue,30,t)
exten => s,n,Hangup()
[macro-sipintern]
exten => s,1,Set(ORIGEXTEN=49${CALLERID(num):1}999)
exten => s,n,GotoIf($[${EXTEN:2:2} = 69]?ffm:fue)
exten => s,n(ffm),Set(CALLERID(number)=1421267t3)
exten => s,n,SipAddHeader(P-Preferred-Identity: <sip:${ORIGEXTEN}@sipconnect.sipgate.de>)
exten => s,n,Dial(SIP/${ARG1},30,t)
exten => s,n,Hangup()
exten => s,n(fue),Set(CALLERID(number)=1421267t1)
exten => s,n,SipAddHeader(P-Preferred-Identity: <sip:${ORIGEXTEN}@sipconnect.sipgate.de>)
exten => s,n,Dial(SIP/${ARG1},30,t)
exten => s,n,Hangup()
[sipin_ffm]
;include => meetme_ift
include => confbridge_ift
;exten => _XXXXXXXXXXX0,1,Macro(wlffm,01724121651) ;cgabriel
;exten => _XXXXXXXXXXX11,1,Macro(wlffm,01724121651) ;cgabriel
;exten => _XXXXXXXXXXX12,1,Macro(wlffm,01705739681) ;ccsengery
;exten => _XXXXXXXXXXX12,1,Macro(wlffm,01724121651) ;ccsengery
;exten => _XXXXXXXXXXX13,1,Macro(wlffm,017620432042) ;arjasanow
;exten => _XXXXXXXXXXX73,1,Macro(sipintern,2002) ;arjasanow
;exten => _XXXXXXXXXXX14,1,Macro(wlffm,01707539104) ;ddienlin
;exten => _XXXXXXXXXXX15,1,Macro(wlffm,01728531848) ;hparfuss
;exten => _XXXXXXXXXXX16,1,Macro(wlffm,01724121651) ;rbetageri
;exten => _XXXXXXXXXXX17,1,Macro(wlffm,01622782158) ;dperic
;exten => _XXXXXXXXXXX18,1,Macro(wlffm,015755008530) ;jfriedrichs
;exten => _XXXXXXXXXXX19,1,Macro(wlffm,015152338159) ;tjungblut
;exten => _XXXXXXXXXXX21,1,Macro(wlffm,) ;mherrschel
;exten => _XXXXXXXXXXX22,1,Macro(wlffm,017662007376) ;atillmann
;exten => _XXXXXXXXXXX23,1,Macro(wlffm,) ;vgabriel
;exten => _XXXXXXXXXXX24,1,Macro(wlffm,01739015889) ;lfocken
;exten => _XXXXXXXXXXX25,1,Macro(wlffm,015111624014) ;swonneberger
;exten => _XXXXXXXXXXX25,1,Macro(wlffm,01724121651) ;cgabriel
;exten => _XXXXXXXXXXX26,1,Macro(wlffm,015217748817) ;stschwarz
;exten => _XXXXXXXXXXX27,1,Macro(wlffm,0038761667427) ;dandric
;exten => _XXXXXXXXXXX27,1,Macro(wlffm,0038770240962) ;dandric
;exten => _XXXXXXXXXXX27,1,Macro(sipintern,2027) ;dandric
;exten => _XXXXXXXXXXX28,1,Macro(wlffm,016097217351) ;stschwarz
;exten => _XXXXXXXXXXX29,1,Macro(wlffm,01799044086) ;afriemann
;exten => _XXXXXXXXXXX31,1,Macro(wlffm,015773522624) ;cbeville
;exten => _XXXXXXXXXXX35,1,Macro(wlffm,01639624274) ;vgabriel
;exten => _XXXXXXXXXXX54,1,Macro(wlffm,094287219) ;dgroeger
;exten => _XXXXXXXXXXX67,1,Macro(wlffm,0038770240962) ;dandric
;exten => _XXXXXXXXXXX41,1,Macro(wlffm,01724121651) ;suschuster
;exten => _XXXXXXXXXXX41,1,Macro(wlffm,04030850334) ;suschuster
;exten => _XXXXXXXXXXX41,1,Macro(wlffm,017628494508) ;sjain
;exten => _XXXXXXXXXXX43,1,Macro(wlffm,017693230750) ;emeier
exten => _XXXXXXXXXXX67,1,Macro(wlffm,01724121651) ;cgabriel, meetingroom
;exten => _XXXXXXXXXXX61,1,Macro(wlffm,017667702764) ;rgerungan
;exten => _XXXXXXXXXXX62,1,Macro(wlffm,015901609482) ;gduan
;exten => _XXXXXXXXXXX63,1,Macro(wlffm,017627474155) ;lli
;exten => _XXXXXXXXXXX64,1,Macro(wlffm,01777385680) ;cpkettner
;exten => _XXXXXXXXXXX65,1,Macro(wlffm,017636323205) ;xshang
exten => _XXXXXXXXXXX0,1,Macro(wlffm,01724121651) ; cgabriel
exten => _XXXXXXXXXXX08,1,Macro(wlffm,015091986937) ; yzhao
exten => _XXXXXXXXXXX11,1,Macro(sipintern,9000) ; cgabriel
;exten => _XXXXXXXXXXX11,1,Macro(wlffm,01724121651) ; cgabriel
;exten => _XXXXXXXXXXX17,1,Macro(sipintern,9002) ; xli
exten => _XXXXXXXXXXX17,1,Macro(wlffm,008615266466862) ; xli
;exten => _XXXXXXXXXXX18,1,Macro(wlffm,015755008530) ; jfriedrichs
exten => _XXXXXXXXXXX18,1,Macro(wlffm,01724121651) ; jfriedrichs
exten => _XXXXXXXXXXX21,1,Macro(wlffm,01724121651) ; Sales IfT
exten => _XXXXXXXXXXX25,1,Macro(wlffm,01724121651) ; Helpdesk IfT
;exten => _XXXXXXXXXXX35,1,Macro(wlffm,015736439212) ; vgabriel
exten => _XXXXXXXXXXX17,1,Macro(sipintern,9001) ; vgabriel
exten => _XXXXXXXXXXX41,1,Macro(wlffm,01724121651) ; 12park Gabriel Tel
;exten => _XXXXXXXXXXX45,1,Macro(wlffm,015736439212) ; 12park Kunden Tel -> Volker
exten => _XXXXXXXXXXX45,1,Macro(wlffm,030344081046) ; 12park Kunden Tel -> ebuero
;exten => _XXXXXXXXXXX45,1,Macro(wlffm,01724121651) ; 12park Kunden Tel -> Christian
exten => _XXXXXXXXXXX47,1,Macro(wlffm,01724121651) ; 12park Kunden Fax
exten => _XXXXXXXXXXX48,1,Macro(wlffm,01724121651) ; 12park Partner Tel
;exten => _XXXXXXXXXXX49,1,Macro(sipintern,9003) ; 12park rdong
exten => _XXXXXXXXXXX49,1,Macro(wlffm,004369917185888) ; 12park rdong
exten => _XXXXXXXXXXX51,1,Macro(sipintern,9004) ; 12park jstimm
exten => _XXXXXXXXXXX52,1,Macro(wlffm,01724121651) ; 12park Stellenangebote
exten => _XXXXXXXXXXX53,1,Macro(wlffm,016092778577) ; tbroecking
exten => _XXXXXXXXXXX54,1,Macro(wlffm,015170113520) ; jstimm
exten => _XXXXXXXXXXX55,1,Macro(wlffm,015170113520) ; vgabriel
;exten => _XXXXXXXXXXX55,1,Macro(wlffm,015222056156) ; xli
;exten => _XXXXXXXXXXX55,1,Macro(wlffm,015222056156) ; xli
exten => _XXXXXXXXXXX88,1,Macro(sipintern,9005) ; yzhao
exten => _XXXXXXXXXXX77,1,ChanSpy()
;exten => _XXXXXXXXXXX77,n,Hangup()
; fax
exten => _XXXXXXXXXXX99,1,Dial(IAX2/iaxmodem)
;[meetme_ift]
;exten => _49XXXXXXXXXX0,1,Set(CHANNEL(language)=de)
;exten => _49XXXXXXXXXX0,n,MeetMe(10${EXTEN:11:1}0,c)
;exten => _49XXXXXXXXXX0,n,Hangup()
[confbridge_ift]
exten => _49XXXXXXXXXX0,1,Set(CHANNEL(language)=de)
exten => _49XXXXXXXXXX0,n,ConfBridge(10${EXTEN:11:1}0)
exten => _49XXXXXXXXXX0,n,Hangup()
[meetme_sip]
exten => _10X0,1,Set(CHANNEL(language)=de)
exten => _10X0,n,MeetMe(10${EXTEN:2:1}0,c)
exten => _10X0,n,Hangup()
[fax-out]
exten => _X.,1,Dial(SIP/sipgate_fue/${EXTEN})
#include "asterisk_loopthrough/extensions.172_20_20_2"