Skip to content

Instantly share code, notes, and snippets.

@LuisPalacios
Last active November 27, 2024 16:23
Show Gist options
  • Save LuisPalacios/6ca59603fe2975e03f6a115168b329ec to your computer and use it in GitHub Desktop.
Save LuisPalacios/6ca59603fe2975e03f6a115168b329ec to your computer and use it in GitHub Desktop.
Fichero extensions.conf para Asterisk
; ---------------------------------------------------------------------------------------
; Definiciones globales
; ---------------------------------------------------------------------------------------
[general]
static=yes ; Evitar modificaciones desde fuera
writeprotect=no ; Permitir 'dialplan save' desde el CLI
clearglobalvars=no ; Cargar variables con 'dialplan reload'
; Definición de variables
; ---------------------------------------------------------------------------------------
[globals]
MOVISTAR=SIP/telefonica-out ; Definición de la troncal para Movistar
LUISPA=SIP/luispa ; Definición del usuario LuisPa
LUISON=SIP/luison ; Definición del usuario Luisón
JACOBO=SIP/jacobo ; Definición del usuario Jacobo
;
; Sintaxis en los contextos
; ---------------------------------------------------------------------------------------
; exten => Nº de extensión, prioridad, aplicación a ejecutar
; nº extensión: nº a marcar dentro del contexto para llamar al destino objetivo
; prioridad: orden de ejecución las sucesivas instrucciones asociadas
; aplicación: lo que se ejecuta
;
; Contexto principal, incluye llamadas internas o las salientes
; ---------------------------------------------------------------------------------------
[telefonos]
include => internas ; Incluir el contexto de llamadas internas
include => salientes ; Incluir el contexto de llamadas salientes
; Contexto para llamadas entrantes externas
; Cambiar s por _911234567 si en sip.conf registro con /911234567 al final de la línea
; ---------------------------------------------------------------------------------------
[entrantes]
exten => s,1,NoOp(LLAMADA ENTRANTE Telefónica de ${CALLERID(all)) ; Log de llamada entrante
same => n,Dial(${LUISPA},15) ; Pásala al usuario LuisPa
same => n,Hangup() ; Si no contesta a los 15s colgar la llamada
;Futuras pruebas
;same => n,VoiceMail(${EXTEN}@default) ; Si no contesta a los 15s que deje voicemail
; Contexto para llamadas internas
; ---------------------------------------------------------------------------------------
[internas]
exten => 101,1,NoOp(LLAMADA INTERNA A LUISPA) ; Log de llamada interna a LuisPa
same => n,Dial(${LUISPA},20) ; Llamar a LuisPa
same => n,Hangup() ; Si no contesta a los 20s colgar la llamada
;Futuras pruebas
;same => n,VoiceMail(${EXTEN}@default) ; Si no contesta a los 20s que deje voicemail
exten => 102,1,NoOp(LLAMADA INTERNA A LUISON) ; Log de llamada interna a Luisón
same => n,Dial(${LUISON},20) ; Llamar a Luisón
same => n,Hangup() ; Si no contesta a los 20s colgar la llamada
;Futuras pruebas
;same => n,VoiceMail(${EXTEN}@default) ; Si no contesta a los 20s que deje voicemail
exten => 103,1,NoOp(LLAMADA INTERNA A JACOBO) ; Log de llamada interna a Jacobo
same => n,Dial(${JACOBO},20) ; Llamar a Jacobo
same => n,Hangup() ; Si no contesta a los 20s colgar la llamada
;Futuras pruebas
;same => n,VoiceMail(${EXTEN}@default) ; Si no contesta a los 20s que deje voicemail
; Pruebas -> Extensión 200 para demostrar reproducción de un audio
;exten => 200,1,NoOp(REPRODUCCIÓN DE LOCUCIÓN)
;same => n,Playback(intro-angelitos)
;same => n,Dial(${LUISON})
;same => n,Hangup()
; Contexto para llamadas salientes
; ---------------------------------------------------------------------------------------
[salientes]
; Llamadas a números fijos en España.
exten => _[8-9]XXXXXXXX,1,NoOp(LLAMADA SALIENTE NACIONAL) ; Log de llamada saliente nacional
same => 2,SET(CALLERID(number)=911234567) ; Configurar el caller ID
same => 3,Dial(${MOVISTAR}/${EXTEN}) ; Realizar la llamada a través de Movistar
; Llamadas a números móviles en España
exten => _[6-7]XXXXXXXX,1,NoOp(LLAMADA MOVIL NACIONAL) ; Log de llamada a móvil nacional
same => 2,SET(CALLERID(number)=911234567) ; Configurar el caller ID
same => 3,Dial(${MOVISTAR}/${EXTEN}) ; Realizar la llamada a través de Movistar
; Llamadas a números gratuitos
exten => _900XXXXXX,1,NoOp(LLAMADA A NUMEROS GRATUITOS) ; Log de llamada a números gratuitos
same => 2,SET(CALLERID(number)=911234567) ; Configurar el caller ID
same => 3,Dial(${MOVISTAR}/${EXTEN}) ; Realizar la llamada a través de Movistar
; EL RESTO DE LLAMADAS SALIENTES NO SE PERMITIRÁN !!!!
; ---------------------------------------------------------------------------------------
; Más extensiones para pruebas y aprendizaje
; ---------------------------------------------------------------------------------------
; Pruebas -> Llamadas hacia fuera
;exten => 778899,1,Goto(testsalientes,778899,1)
; Pruebas -> con expresiones regulares
;exten => _X.,1,NoOP(Patrón 1)
;exten => _1[24]XX,1233,1,NoOP(Patrón 2)
;exten => 1233,1,NoOP(Patrón 3)
;exten => _1XXX,1,NoOP(Patrón 4)
;exten => _+34X.,1,NoOP(España)
;exten => _+X.,1,NoOP(Extranjero)
;exten => _91XXXXXXX,1,NoOP(Madrid)
; Otros contextos para Pruebas y aprendizaje
; ---------------------------------------------------------------------------------------
;[testentrantes]
;exten => 911234567,1,Goto(angelitos,200,1)
;[testsalientes]
;; si llamamos al 778899 se hará una llamada al usuario hacia_afuera
;; donde ponemos hacia_afuera debería poner al proveedor SIP
;exten => 778899,1,Dial(SIP/hacia_afuera)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment