[general]
static=yes
writeprotect=no
;autofallthrough=yes
clearglobalvars=no
languaje=es
[globals]
OPERADORA=501
NOOPTODOS=SIP/sip500&SIP/sip502&SIP/sip503&SIP/sip553
;CONSOLE=Console/dsp ; Console interface for demo
CONSOLE=Zap/1
;CONSOLE=Phone/phone0
:IAXINFO=guest ; IAXtel username/password
;IAXINFO=myuser:mypass
TRUNK=Zap/1 ; Trunk interface
SECONDTRUNK=Zap/2-1 ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
;TRUNK=IAX2/user:pass@provider
;
; X - any digit from 0-9
; Z - any digit from 1-9
; N - any digit from 2-9
; [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
; . - wildcard, matches anything remaining (e.g. _9011. matches
; anything starting with 9011 excluding 9011 itself)
; ! - wildcard, causes the matching process to complete as soon as
; it can unambiguously determine that no other matches are possible
;[context]
;exten => someexten,priority[+offset][(alias)],application(arg1,arg2,...)
;exten => someexten,priority[+offset][(alias)],application,arg1|arg2...
;
; Timing list for includes is
;
; <time range>|<days of week>|<days of month>|<months>
;
;include => daytime|9:00-17:00|mon-fri|*|*
;
; ignorepat can be used to instruct drivers to not cancel dialtone upon
; receipt of a particular pattern. The most commonly used example is
; of course '9' like this:
;
;ignorepat => 9 ; so that dialtone remains even after dialing a 9.
[trunkint]
; International long distance through trunk
ignorepat => 9
exten => _9001.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _99001.,n,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
[trunkld]
; Long distance context accessed through trunk
ignorepat => 9
exten => _901XXXXXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9044XXXXXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _901800XXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901XXXXXXXXXX,n,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
exten => _99044XXXXXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901800XXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
[trunklocal]
; Local eight-digit dialing accessed through trunk interface
ignorepat => 9
exten => _9XXXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _99XXXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
[trunktollfree]
; Long distance context accessed through trunk interface
ignorepat => 9
exten => _901800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _901888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _901877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _901866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901800NXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901888NXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901877NXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9901866NXXXXXX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}})
[frijolalminuto]
; Marcando extensiones de freijol al minuto
exten => _91XX,1,Dial(${SECONDTRUNK}/${EXTEN:${TRUNKMSD}}) ; Conmutador de frijol al minuto
[international]
; Master context for international long distance
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
; Master context for long distance
ignorepat => 9
include => local
include => trunkld
[local]
; Master context for local, toll-free, and iaxtel calls only
ignorepat => 9
include => default
include => parkedcalls
include => trunklocal
include => trunktollfree
include => frijolalminuto
[macro-stdexten];
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},20,rt) ; Ring the interface, 20 seconds maximum
exten => s,n,Set(CHANNEL(language)=es)
exten => _0,1,NoOp,"Extension estandard al numero ${ARG2}"
exten => s,n,NoOp(stdexten ARG1 ${ARG1} ARG2 ${ARG2})
exten => s,n,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[macro-alaoperadora]
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},20,rt) ; Ring the interface, 20 seconds maximum
exten => s,n,Set(CHANNEL(language)=es)
exten => _0,1,NoOp,"Extension estandard al numero ${ARG2}"
exten => s,n,NoOp(stdexten ARG1 ${ARG1} ARG2 ${ARG2})
exten => s,n,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Dial(${NOOPTODOS},20,rt) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Dial(${NOOPTODOS},20,rt) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,Dial(${NOOPTODOS},20,rt) ; If they press *, send the user into VoicemailMain
[macro-options]
exten => s,1,NoOp(ejecutando macro options con argumento ${ARG1})
;exten => s,n,Set(CHANNEL(language)=es)
exten => s,n,Wait(1)
exten => s,n,Background(to-reach)
exten => s,n,Background(CEO)
exten => s,n,Background(vm-press)
exten => s,n,Background(digits/500)
exten => s,n,Wait(1)
exten => s,n,Background(to-reach)
exten => s,n,Background(support)
exten => s,n,Background(vm-press)
exten => s,n,Background(digits/500)
exten => s,n,Background(digits/1)
exten => s,n,Wait(1)
exten => s,n,Background(to-reach)
exten => s,n,Background(telephony)
exten => s,n,Background(vm-press)
exten => s,n,Background(digits/500)
exten => s,n,Background(digits/2)
exten => s,n,Background(or)
exten => s,n,Background(digits/500)
exten => s,n,Background(digits/3)
exten => s,n,Wait(2)
exten => s,n,Goto(default,s,1)
[macro-hablaratodos]
exten => s,1,NoOp(*# *# *#* #* MArcando a todos por que 0 esta ocupado ${TIMESTAMP} *# *# *#* #*)
exten => s,n,Dial(SIP/sip${NOOPTODOS},20,rt) ; Ring the interface, 20 seconds maximum
exten => s,n,NoOp(*# *# *#* #* Sin respuesta? vamonos de vuelta al inicio! *# *# *#* #*)
exten => s,n,Goto(default,s,1)
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring ex
;
; relajo, FUERA!
;exten => s,1,Wait,1 ; Wait a second, just for fun
;exten => s,n(restart),Macro(stdexten,${OPERADORA},SIP/sip${OPERADORA})
;Macro(0iniciando,${OPERADORA})
;exten => s,1,Wait,1 ; sirve para asegurarnos que los sip agarren bien
;exten => s,n(restart),Set(CHANNEL(language)=es)
;exten => s,n,Answer ; Contesta la llamada
;exten => s,n,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
;exten => s,n,BackGround(enter-ext-of-person) ; Play the intoduction message
;exten => s,n,WaitExten ; Wait for an extension to be dialed.
;exten => s,n,Set(CHANNEL(language)=es)
;exten => s,n,Dial(SIP/sip503,20,rt)
;exten => s,n,Dial(SIP/sip${OPERADORA},10,rt)
;exten => 500,hint,SIP/sip500&SIP/sip550 ;&SIP/Xlite1,Joe Schmoe ; Channel hints for presence
;exten => 500,1,Dial(SIP/sip500&SIP/sip550,10,rt) ; permit transfer
;exten => 500,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
;exten => 500,n,Voicemail(u500) ; Voicemail (unavailable)
;exten => 500,s+1,Hangup ; s+1, same as n
;exten => 500,s+101,Voicemail(b500) ; Voicemail (busy)
;exten => s,1,Answer ; Contesta la llamada
;exten => s,n,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
;exten => s,n,Set(CHANNEL(language)=es)
;exten => s,n(restart),BackGround(enter-ext-of-person) ; Play the intoduction message
;exten => s,n,WaitExten ; Wait for an extension to be dialed.
; esto suena muy estricto
;exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
;exten => s,1,Dial(SIP/sip500,20,rt) ; Ring the interface, 20 seconds maximum
;exten => a,1,VoicemailMain(${OPERADORA}) ; If they press *, send the user into VoicemailMain
;Para la operadora quiero que marquen cero y haga lo que quiero, no lo que esta mugre quiere
;exten => o,1,NoOp(Extension o ejecutada)
;exten => o,n,Dial(SIP/sip${OPERADORA},10,rt)
;exten => s,n,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
;exten => s-NOANSWER,1,Dial(SIP/sip500&SIP/sip502&SIP/sip503&SIP/sip553,20,rt) ; If unavailable, dial everyone else!
;exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
;exten => s-BUSY,1,Dial(SIP/sip500&SIP/sip502&SIP/sip503&SIP/sip553,20,rt) ; If busy, dial everyone else!
;exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
;*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# AQUI ES DONDE ESTOY TRABAJANDO
;exten => i,1,NoOp(Extension i ejecutada ${TIMESTAMP})
;exten => i,n,Set(CHANNEL(language)=es)
;exten => i,n,Playback(pbx-invalid)
;exten => i,n,Goto(s,restart) ; reinicia si hay numeros incorrectos
; 004a
[default]
exten => s,1(restart),NoOp,"*# *# *#* #* Operadora / Menu Principal ${TIMESTAMP} *# *# *#* #*"
exten => s,n,Set(CHANNEL(language)=es)
exten => s,n,Wait(1)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(if-u-know-ext-dial)
exten => s,n,Background(vm-reachoper)
exten => s,n,Background(vm-press)
exten => s,n,Background(digits/0)
exten => s,n,Wait(1)
exten => s,n,Background(for-more-options)
exten => s,n,Background(vm-press)
exten => s,n,Background(digits/1)
exten => s,n,WaitExten(5) ; Wait for an extension to be dialed.
exten => s,n(reintentar),Dial(SIP/sip${OPERADORA},20,rt) ; Ring the interface, 20 seconds maximum
exten => s,n,NoOp,"Extension al numero de todos ${NOOPTODOS}"
exten => s,n,Goto(s-${DIALSTATUS},1) ; jump on (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Wait(1)
exten => s-NOANSWER,1,Background(busy-pls-hold) ; If unavailable, ...
exten => s-NOANSWER,1,Wait(1)
;exten => s-NOANSWER,n,Goto(s,1) ; If they press #, return to start
exten => s-NOANSWER,n,Macro(hablaratodos)
exten => s-BUSY,1,Wait(1) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,n,Background(busy-pls-hold) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,n,Background(vm-starmain)
exten => s-BUSY,n,Wait(1) ; If busy, send to voicemail w/ busy announce
;exten => s-BUSY,n,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,n,Macro(hablaratodos)
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,Goto(default,s,1) ; If they press *, send the user into VoicemailMain
exten => i,1,NoOp(*# *# *#* #* INVALID EXTENSION VAR "i" *# *# *#* #*)
;exten => i,n,Set(CHANNEL(language)=es)
exten => i,n,Background(pbx-invalid)
;exten => i,n,Playback(pbx-invalid)
exten => i,n,Goto(default,s,1)
exten => t,n,NoOp(*# *# *#* #* Extension t ejecutada ${TIMESTAMP} *# *# *#* #*)
exten => t,n,Dial(SIP/sip${OPERADORA},10,rt)
exten => 0,1,NoOp(*# *# *#* #* Extension 0 ejecutada ${TIMESTAMP} *# *# *#* #*)
exten => 0,n,Macro(alaoperadora,${OPERADORA},SIP/sip${OPERADORA}) ; Marca CERO si quieres OPERADORA, en este caso es un telefono fisico, o no sirve porque se va al inicio del dp
exten => 1,1,NoOp(*# *# *#* #* Extension 1 ejecutada ${TIMESTAMP} *# *# *#* #*)
exten => 1,n,Macro(options,1) ; Escuchar mas opciones
exten => 500,1,Macro(stdexten,500,SIP/sip500) ; tel DAVID
exten => 501,1,Macro(stdexten,501,SIP/sip501) ; tel MEMO
exten => 502,1,Macro(stdexten,502,SIP/sip502) ; tel CARLOS
exten => 503,1,Macro(stdexten,503,SIP/sip503) ; tel CARLOS
exten => 553,1,Macro(stdexten,553,SIP/sip553) ; xten CARLOS
exten => 555,1,Macro(stdexten,501,SIP/sip501) ; SOPORTE
exten => 700,1,NoOp(Marcan 700, vamos a la operadora!)
exten => 700,n,Goto(s,restart) ; Marca 700 si quieres que te conteste el inicio
exten => 8500,1,NoOp(Le hablan al VoiceMailMan! uorales!) ; correo de voz
exten => 8500,n,VoicemailMain ; correo de voz
exten => 8500.,n,GoTo(123469,1) ; correo de voz
exten => X,1,NoOp(*# *# *#* #* INVALID CATCHER (#1) *# *# *#* #*)
; exten => X,n,Set(CHANNEL(language)=es)
exten => X,n,Background(pbx-invalid)
;exten => X,n,Playback(pbx-invalid)
exten => X,n,Goto(default,s,1)
exten => X.,1,NoOp(*# *# *#* #* INVALID CATCHER (#2) *# *# *#* #*)
exten => X.,n,Set(CHANNEL(language)=es)
exten => X,n,Background(pbx-invalid)
;exten => X.,n,Playback(pbx-invalid)
exten => X.,n,Goto(default,s,1)
; 38706195 rodolfo
; 01 4491222282 rodolfo