Paso 1: Definir y configurar los canales de comunicación
Es nuestro primer escenario vamos a usar dos tipos de canales de comunicación: SIP y IAX2. Por lo tanto, tenemos que editar los ficheros sip.conf y iax.conf.
Ten en cuenta que los comentarios dentro de los ficheros de comunicación en Asterisk comienzan por punto y coma (;).
En el fichero sip.conf, incluye los siguientes datos:
[462]
type=friend ; Hacemos y recibimos llamadas
secret=462pass
context=internal_calls ; Todas las “llamadas entrantes” están asociadas
; al contexto internal_calls
host=dynamic
callerid=Library
disallow=all ; Primero desactivamos todos los codecs
allow=ulaw ; Luego activamos el/los codecs que podemos usar
[463]
type=friend
secret=463pass
context=internal_calls
host=dynamic
callerid=Hospital
disallow=all
allow=ulaw
[465]
type=friend
secret=465pass
context=internal_calls
host=dynamic ; No sabemos la IP por adelantado.
; Aprendemos la IP cuando el usuario ser registra
callerid=Farmers1
disallow=all
allow=ulaw
; Opciones específicas para soporte NAT
nat=yes ; Se usan la IP,puerto del NAT
qualify=yes ; Tráfico “dummy” para mantener la conexión viva
Y en iax.conf, tenemos las siguientes opciones:
[464] type=friend secret=464pass context=internal_calls host=dynamic callerid=School disallow=all allow=ulaw [466] type=friend secret=466pass context=internal_calls host=dynamic callerid=Farmers2 disallow=all allow=ulaw
Paso 2: Definir las reglas en el plan de marcado (crear las extensiones) En el primer escenario tenemos todos los canales (users) asociados al mismo contexto (internal calls). Por lo tanto, sólo tenemos que definir un contexto en el plan de marcado en extensions.conf (ver más abajo).
[internal_calls] exten => 462,1,Dial(SIP/462) exten => 463,1,Dial(SIP/463) exten => 465,1,Dial(SIP/465) exten => 464,1,Dial(IAX2/464) exten => 466,1,Dial(IAX2/466) exten => t,1,Hangup() ; Extensión especial (Timeout) exten => i,1,Hangup() ; Extensión especial (Inválido) exten => s,1,Hangup() ; Extensión especial (Sin Destino)
La sintáxis del fichero de extensiones extensions.conf es muy intuitiva.
En el ejemplo anterior estamos creando todas las extensiones (462 a 466) y poniéndolas disponibles dentro del contexto [internal_calls]. La orden Dial() crea un canal SIP o IAX2 con los “peers” de nombre 462 a 466.