Configuración sip.
conf
[100]
type = friend
host = dynamic
secret = 12345
context = directores
qualify = yes
Configuración [Link]
[120]
type = friend
host = dynamic
secret = 12345
qualify = yes
context = profesores
Activamos el Asterisk : Asterisk
Entramos al CLI de Asterisk : Asterisk -r
Para ver si se cargo correctamente el [Link] usamos el comando
sip show peers
Encaso de que no figure la configuracion se tiene que usar el comando
sip reload
Para ver si se cargo correctamente el [Link] usamos el comando
iax2 show peers
Encaso de que no figure la configuracion se tiene que usar el comando
iax2 reload
Ahora crearemos los contextos
Entramos al archivo de la configuracion [Link] y creamos los contextos
[general]
static=yes
writeprotect=no
clearglobalvars=no
[globals]
[profesores]
exten => 120,1,dial(IAX2/120)
exten => 121,1,dial(IAX2/121)
exten => 122,1,dial(IAX2/122)
[admin]
exten => 110,1,dial(SIP/110)
exten => 111,1,dial(SIP/111)
exten => 112,1,dial(SIP/112)
[directores]
exten => 100,1,dial(SIP/100)
exten => 101,1,dial(SIP/101)
exten => 102,1,dial(SIP/102)
----------------------------------------------------------------------------------------------------------------------------
Ahora para ver las reglas de llamadas
se usa el comando Include en los contextos
[admin]
include => profesores --------------> Con esto el contexto admin puede realizar llamadas al
contexto profesores
exten => 110,1,dial(SIP/110)
exten => 111,1,dial(SIP/111)
exten => 112,1,dial(SIP/112)
[directores]
include => admin --------------> Con esto podremos realizar llamadas a Admin y profesores ya
que profesores ya esta incluido en admin
exten => 100,1,dial(SIP/100)
exten => 101,1,dial(SIP/101)
exten => 102,1,dial(SIP/102)
Para verificar si esta correcto
primero tenemos que usar el comando
Dialplan reload
ahora para ver si un anexo esta en un contexto se usa
dialplan show 100@profesores segun lo que hemos configurado deberia salir fallido ya
que el anexo 100 es de directores y los profesores no pueden comunicarse con los directores
dialplan show 121@profesores tiene que salir exitoso
----------------------------------------------------------------------------------------------------------------------------
[profesores]
;exten => 120,1,dial(IAX2/120)
;exten => 121,1,dial(IAX2/121)
;exten => 122,1,dial(IAX2/122)
exten => _12x,1,dial(IAX2/${exten}) --->Dialplan Sofisticado
exten => _12[0-2],1,dial(IAX2/${exten}) --->Dialplan exacto para este caso
_12x todos los numeros comenzados por 12 y terminados desde el 0 - 9
${exten} funciona como variable usa el numero marcado por el usuario
-- Aca se uso este tipo de dialplan ya que los profesores siempre comenzaban con 12x
x=0-9
n=?-?
?=?-?
----------------------------------------------------------------------------------------------------------------------------
i = invalido ; t = tiempo agotado
Noop = manda un mensaje
Playback = manda un audio
----------------------------------------------------------------------------------------------------------------------------
exten => i,1,Noop(Marco mal) ---> Se usa si el numero marcado no existe y mostrara el texto
“Marco Mal”
exten => i,n,Playback(Marca-bien) ---> Se usa para cuando el usuario no existe se manda un
audio grabado
exten => t,1,Noop(Me canse de esperar) ---> Se usa si el usuario no termina de digitar el
numero y manda el mensaje “Me canse de esperar”
----------------------------------------------------------------------------------------------------------------------------
Aca usamos
exten => _12[1-3],1,dial(IAx/${exten})
exten => 777,1,answer()
exten => 777,n,DISA(@directores)
exten => i,1,Goto(ante-falla,s,1)
exten => t,1,Goto(ante-falla,s,1)
[ante-falla]
exten => s,1,Noop(Ta mal)
exten => s,n,Playback(marca-bien)