Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVOS:
ACTIVIDADES A REALIZAR:
Actividades Puntos
River 1
Redes de Computadoras INF238 2017-1
River 2
Redes de Computadoras INF238 2017-1
Sobre la evaluacin:
Actividades Puntos Descripcin
River 3
Redes de Computadoras INF238 2017-1
FUNDAMENTOS TERICOS
Aplicacin VoIP con Asterisk
# apt-get update
# apt-get install asterisk -y
Otra posibilidad, es instalar el Asterisk compilando desde sus fuentes (source code), los siguientes
pasos muestra esta alternativa.
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-
1.8.10.1.tar.gz
# tar -zxvf asterisk-1.8.10.1.tar.gz
# cd asterisk-1.8.10.1/
# ./configure
# make menuconfig
# make
# make install
Una vez instalado el Asterisk, por defecto ya estar ejecutandose; pero podemos verificar esto con:
# ls /etc/asterisk/
iax.conf extensions.conf sip.conf
Cuando se crean, o se editen los archivos de configuracin del Asterisk, recuerde mantener la
propiedad de los archivos; estos pertenecen al usuario asterisk y grupo asterisk. Esto se observa
haciendo.
# ls l /etc/asterisk/
River 4
Redes de Computadoras INF238 2017-1
# asterisk -vvvvr
Cada vez que se cambie los archivos sip.conf, extensions.conf o iax.conf, se debe actualizar en el
Asterisk, para esto se puede ingresar al CLI y se ejecutar:
CLI> reload
# /etc/init.d/asterisk restart
Existen muchos comandos que se pueden ejecutar en el CLI para poder observar el comportamiento
de las llamadas telefnicas; como sip show peers, sip show channels, iax2 show channels. Cada uno de
estos comandos se puede listar ejecutando help.
CLI> help
sip.conf
extensions.conf
Softphone Softphone Asterisk 1500
1520 1510 10.11.11.10/24
10.11.11.12/24 10.11.11.11/24
Switch
Para tener una comunicacin telefnica entre dispositivos SIP se necesita configurar bsicamente dos
archivos sip.conf y extensions.conf.
En sip.conf se especifican las caractersticas de los dispositivos SIP para su registro. Y en extensions.conf
se especifica la manera de cmo se realizar la comunicacin entre los dispositivos registrados.
Abajo se muestra los archivos de configuracin sip.conf del Servidor Asterisk 1500 mostrado en la
imagen anterior. Dentro de este archivo se observa la parte llamada [general] donde se especifica
parmetros que afectarn a cada uno de los siguientes dispositivos SIP. Se observa que el puerto para
SIP es el 5060; adems el cdec prioritario para ser usado por todos los dispositivos SIP es el ulaw
(G711u) porque est primero en la lista, como segunda prioridad est el cdec alaw (G711a).
Despus se especifica a cada uno de los dispositivos SIP; por ejemplo [1510] representa a un dispositivo
SIP. Los parmetros principales para configurar un dispositivos SIP, son el usuario (username) y su clave
River 5
Redes de Computadoras INF238 2017-1
(secret), adems se especifica el contexto para las llamadas entrantes para este dispositivo, en este
ejemplo es central (conext=central); este contexto deber existir en extensions.conf para resolver las
llamadas entrantes a este dispositivo.
Los parmetros que se especifican para cada dispositivo SIP en sip.conf debern ser los mismos cuando
se configure el dispositivo SIP. Si en ambos se mantiene la misma configuracin entonces el dispositivo
SIP podr ser registrado en el Asterisk. Los comentarios en una lnea empiezan con el punto y coma (;).
Abajo se muestra los archivos de configuracin extensions.conf del Servidor Asterisk 1500. Se observa
la parte denominada Macros (estas funcionan como las funciones creadas en Lenguaje C). Los
comentarios en una lnea empiezan con el punto y coma (;).
River 6
Redes de Computadoras INF238 2017-1
;priorityjumping=yes
;
;================================================================
; variables globales
;
[globals]
;
;================================================================
; macros
;
[macro-dial-local]
exten => s,1,Dial(${ARG1}/${ARG2},26)
exten => s,2,Hangup
exten => s,102,Hangup
;
;================================================================
; contexto principal
;
[central]
;
; llamadas area local
exten => 1510,1,Macro(dial-local,SIP,${EXTEN})
exten => 1520,1,Macro(dial-local,SIP,${EXTEN})
;
En este archivo se observa el contexto [central] especificado en sip.conf. Cuando el 1510 desea llamar
al 1520, en extensions.conf buscar al 1520; en este caso se observa exten => 1520,1,Macro(dial-
local,SIP,${EXTEN}), por tanto se ejecutar esta lnea; se ejecuta la macro dial-local que contiene
como parmetros SIP y la variable ${EXTEN} que representa a la extensin 1520. En la definicin de la
macro dial-local se observa el comando dial con los argumentos ${ARG1} y ${ARG2} que representa
respectivamente al SIP y al nmero telefnico con el que se desea comunicar.
El comando dial es utilizado en extensions.conf para permitir realizar la comunicacin telefnica entre
los dispositivos registrados en el Asterisk. En la siguiente imagen se muestra un ejemplo del uso del
comando dial.
Contexto
[central]
exten => 1510,1,Dial(SIP/${EXTEN},26)
Prioridad Tiempo de
timbrado
Imagen 2: Comando Dial
Donde:
Contexto: Encierra un plan de discado.
Extensin y Prioridad: Es un grupo de instrucciones agrupadas por un mismo identificador (Extensin);
cada una de estas instrucciones estn ordenados de acuerdo a una prioridad. Estas instrucciones se
ejecutan comnmente cuando ingresa una llamada que ha marcado la identificacin de la extensin.
River 7
Redes de Computadoras INF238 2017-1
Comando: Ejecutan una respectiva funcin. Dial por ejemplo establecer una comunicacin entre el
llamante con el Canal que tiene configurado. La variable ${EXTEN} que representa a la Extensin (en
este caso 1510) que aparece en la lnea del comando.
Una vez configurado los archivos, de actualizar los cambios, de configurar los dispositivos telefnicos
SIP, y de verificar el registro de los dispositivos SIP en el Asterisk, ya se puede establecer una
comunicacin telefnica.
Cuando dos dispositivos SIP estn estableciendo una comunicacin telefnica se puede observar
parmetros como el cdec utilizando el comando sip show channels. En el siguiente resultado se
observa que est estableciendo una comunicacin SIP entre 1520 y 1510 y ambos estn hablando en
ulaw.
River 8
Redes de Computadoras INF238 2017-1
sip.conf
extensions.conf
iax.conf
Switch
sip.conf
extensions.conf
iax.conf
Softphone Softphone Asterisk 1600
1620 1610 10.11.11.20/24
10.11.11.22/24 10.11.11.21/24
En el esquema de arriba se muestra una red con dos servidores Asterisk. El servidor Asterisk 1500
registra a los dispositivos 1510 y 1510 y el servidor Asterisk 1600 registra a los dispositivos 1610 y 1620.
Para establecer la comunicacin entre estos dispositivos registrados en distintos Asterisk se utiliza el
archivo iax.conf si se desea utilizar IAX como medio de interconexin.
En este ejemplo, y el laboratorio, el archivo iax.conf ser el mismo para ambos servidores; porque
actuar como usuario y todos se comunican utilizando un mismo identificador que es iaxusuario. Los
comentarios en una lnea empiezan con el punto y coma (;).
La configuracin del archivo iax.conf es similar al sip.conf. En este archivo se observa que la troncal IAX
utilizar el cdec ulaw porque esta primero en la lista; adems el puerto por defecto que usa IAX es
4569. Y tambin existe un usuario IAX identificado como iaxusuario con clave passwd. En
extensions.conf se adicionarn comandos para establecer la comunicacin entre Asterisks. Cuando el
Asterisk 1600 desea establecer una comunicacin IAX con el Asterisk 1500; el 1600 deber realizar la
peticin con el usuario iaxusuario y contrasea passwd con el servidor 1500. El Asterisk 1500
River 9
Redes de Computadoras INF238 2017-1
comparar la peticin con archivo su iax.conf, si los parmetros coinciden entonces el 1500 dejar
pasara las peticiones del 1600 al contexto central.
Cuando el dispositivo SIP 1510 desea establecer una comunicacin telefnica con el 1610; desde el
1510 se marca 1610. Este va redirigido al contexto central del servidor 1500 en extensions.conf, ah
deber ubicar al 1610; y se observa que est contenido en exten => _16XX,1,Macro(dial-
remoto,10.11.11.20,${EXTEN}) y se ejecutar la macro dial-remoto, que contiene como parmetros
la IP del servidor remoto y el nmero del dispositivo con el que se desea comunicar en la variable
${EXTEN}; en la definicin de la macro dial-remoto se observa que el comando dial contiene el
iaxusuario:passwd, y las variables ${ARG1} y ${ARG2} que respectivamente representan la IP del
servidor y el numero con el que se desea comunicarse. Al ejecutarse este comando se estable una
comunicacin con el Asterisk 1600, este servidor comparar el iaxusuario:passwd en su respectivo
archivo iax.conf, si los parmetros coinciden dejar pasar al 1510 al contexto central, ah deber
encontrar al 1610 para establecer la comunicacin.
River 10
Redes de Computadoras INF238 2017-1
; contexto principal
;
[central]
;
; llamadas area local
exten => 1610,1,Macro(dial-local,SIP,${EXTEN})
exten => 1620,1,Macro(dial-local,SIP,${EXTEN})
;
; llamadas a areas remotas
exten => _15XX,1,Macro(dial-remoto,10.11.11.10,${EXTEN})
;exten => _16XX,1,Macro(dial-remoto,10.11.11.20,${EXTEN})
;
IAX/Audio
SIP SIP
Audio Audio
SIP SIP
Telfono Telfono
River 11
Redes de Computadoras INF238 2017-1
Para instalar:
# apt-get install jnettop
Para utilizar la aplicacin en un determinado interfaces (eth0) que usa el servidor para conectarse con
la red.
# jnettop -i eth0
En la siguiente imagen se muestra un ejemplo del resultado del jnettop en un instante. Podemos
detener la visualizacin presionado el punto (.) y regresamos a seguir observando presionando de
nuevo el punto.
En la primeria lnea se observa que hay comunicacin entre la 10.11.11.10 y 10.11.11.11; podemos
suponer que es audio porque se est usando UDP y usa puertos RTP que est en el rango configurado
por defecto en el Asterisk; lo mismo en la segunda lnea. En las ltimas dos lneas se observa
comunicacin en el puerto 5060, esto correspondera por defecto a la sealizacin SIP.
En la primera lnea se observa que existe un consume de 10.4KBps (10.4*8=83.2Kbps). Como el Asterisk
y en los dispositivos SIP se ha configurado para utilizar el cdec G711, entonces este consumo
corresponde al flujo de voz con este codec. En la ltima lnea se observa un consume de 0Bps
(0*8=1.24Kbs), que corresponde netamente a la sealizacin SIP; realmente no es cero, si se sigue
observado el consumo de la sealizacin SIP puede llegar a unos 155Bps (155*8=1.24Kbs).
Imagen 5: Visualizacin de los Kbps que consume la comunicacin telefnica SIP utilizando jnettop.
River 12
Redes de Computadoras INF238 2017-1
Una vez instalado se crear una nueva cuenta SIP. Ingresar a Settings y despus a Create a New
Account. Seleccionar SIP y despus completar0 el Usuario SIP, la contrasea del usuario, y la direccin
IP o nombre del Servidor Asterisk.
River 13
Redes de Computadoras INF238 2017-1
Regresamos a la pestaa General para poder registrar; y si esta ya est registrado podemos hacer
Unregister y despus Register.
River 14
Redes de Computadoras INF238 2017-1
River 15