Está en la página 1de 56

El Salvador, San Salvador 5 de abril de 2014

MANUAL DE
INSTALACION Y
CONFIGURACION
ASTERISK 12.1.1 y DNS-SRV
LUIS ALEJANDRO REGALADO MORENO

MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
Contenido
INTRODUCCION ........................................................................................... 3
INSTALACION Y CONFIGURACION DE ASTERISK. .......................................... 4
Pre-Instalacin Asterisk. ........................................................................... 4
Instalando Asterisk ................................................................................. 10
Configurando Asterisk (Nuestro primer DIALPLAN) ................................ 20
SIP.CONF ....................................................................................... 20
EXTENSIONS.CONF ........................................................................ 28
CONFIGURACION DE DNS SRV EN UNA CENTRAL ASTERISK ....................... 41
DNS (Domain Name Server) .............................................................. 41
SRV (Services Record) ....................................................................... 41
ANEXOS ..................................................................................................... 50
BIBLIOGRAFIA ........................................................................................... 55
Copyright .................................................................................................. 56




MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
3
INTRODUCCION
A lo largo de los aos el rea de la telefona ha sufrido cambios elevados con lo que respecta a
plantas telefnicas y protocolos de comunicacin, pues en un momento y actualmente en algunos
pases se siguen ocupando plantas telefnicas hibridas (anlogas/digitales), pero con la nueva
innovacin de las telecomunicaciones (a nivel de redes, desarrollo de software, etc) surge la
necesidad de incorporar nuevas plantas telefnicas, que aparte de contener las mismas funciones
que la de una central hibrida (ISDN) contengan adems nuevas mejoras y parmetros de seguridad,
es de ah, que nace Asterisk; que no es nada ms que un software libre bajo licencia GPL que
proporciona funcionalidades similares a la de una PBX cualquiera, con la nica diferencia que trabaja
bajo la red de datos.
Este manual est diseado para aquella persona que sea nueva en el mbito de la telefona IP, y
quiera introducirse en la prctica bsica de esta nueva tecnologa llamada VoIP.
Este manual no tiene como objetivo introducir al lector a la administracin de servidores, pues se
asume que el mismo ya tiene los conocimientos bsicos sobre la configuracin y administracin de
Linux Servers.
El manual se encuentra compuesto por dos temas diseados a modo de taller, en la bibliografa se
anexan las direcciones y libros a los cuales el lector se puede apoyar para una mejor comprensin
del tema.
Los dos temas a tocar en este manual son:
Instalacin y configuracin de Asterisk
Configuracin de DNS SRV en una Central Asterisk


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
4
INSTALACION Y CONFIGURACION DE ASTERISK.
Asterisk es una aplicacin para controlar y gestionar comunicaciones de cualquier tipo, ya sean
analgicas, digitales o VoIP mediante todos los protocolos VoIP que implementa.
En este apartado detallaremos en breves pasos su instalacin y una pequea configuracin bsica
para una simple comunicacin entre dispositivos SIP.

Pre-Instalacin Asterisk.
Paso1:
Lo primordial en una instalacin de un servidor Asterisk es tener actualizado nuestro servidor a su
versin ms reciente. En nuestro caso estamos trabajando sobre Ubuntu Server 12.04 i386, por
consiguiente es recomendable que todos los comandos que se detallan se hagan a nivel de usuario
root.
root@voipb:~# apt-get update
root@voipb:~# apt-get dist-upgrade
Con dichos comandos descargamos los paquetes ms actualizados de nuestra versin del servidor,
solamente se debe esperar un tiempo prudencial (dependiendo del ancho de banda que se tenga)
para que termine la descarga e instalacin de dichos paquetes.
Luego de eso instalamos las dependencias necesarias para la instalacin de Asterisk:
root@voipb:~# apt-get install build-essential linux-headers-`uname -r` subversion libncurses5-
dev libssl-dev libxml2-dev vim-nox gawk wget apache2


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
5
Es recomendable crear un nuevo usuario y grupo para Asterisk, esto se hace ejecutando los
siguientes comandos:
root@voipb:~# adduser asterisk --disabled-password --no-create-home --gecos "asterisk PBX
user"
root@voipb:~# adduser www-data asterisk
Paso 2:
Una vez actualizado nuestro servidor, procedemos a crear directorios y descargar las dependencias
necesarias para la instalacin de nuestro Asterisk.
Un punto muy importante a definir es con que versin de Asterisk queremos trabajar, en nuestro
caso trabajaremos con la versin 12.1.1-Standard, pero igualmente pueden trabajar con las
diferentes versiones que se encuentran disponibles en http://www.asterisk.org; versiones
anteriores a la 12.1.1-Standard son versiones LTS (Long Time Support) es decir que son ms estable
que una versin Standard.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
6

Una vez aclarado esto pasamos a la lista de comandos siguientes:

root@voipb:~# mkdir -p ~/src/asteriskb/asterisk
root@voipb:~# cd ~/src/asteriskb/asterisk/
root@voipb:~/src/asteriskb/asterisk# wget
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-12-current.tar.gz






MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
7
Con los comandos anteriores descargamos la versin de Asterisk que necesitamos.

Una vez finalizada la descarga tendremos un archivo llamado asterisk-12-current.tar.gz que es un
archivo comprimido, esto podemos verlo aplicando el comando ls.

Ahora procedemos a descomprimirlo con el siguiente comando:
root@voipb:~/src/asteriskb/asterisk# tar zxvf asterisk-12-current.tar.gz
Con eso ya tenemos nuestro archivo de descarga descomprimido, generndonos asi una carpeta
llamada asterisk-12.1.1



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
8
Asterisk nos permite instalar una gran cantidad de mdulos y aplicaciones que podemos utilizar para
nuestra central telefnica, generalmente estos mdulos o aplicaciones podemos seleccionarlos
ejecutando make menuselect durante la instalacin de Asterisk, pero estos mdulos y aplicaciones
tienen varias dependencias que podemos satisfacer fcilmente ejecutando dos scripts que nos
provee el paquete de instalacin mediante la ejecucin de las siguiente lneas:

root@voipb:~/src/asteriskb/asterisk# cd asterisk-12.1.1/
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# ./contrib/scripts/install_prereq install
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# ./contrib/scripts/install_prereq install-
unpackaged
Es posible que durante la instalacin de estas dependencias, nos salga una pantalla pidindonos el
prefijo de nuestro pas, si no sabes cul es el prefijo telefnico de tu pas puedes recurrir al siguiente
enlace web: http://es.wikipedia.org/wiki/Anexo:Prefijos_telef%C3%B3nicos_internacionales este
prefijo lo utiliza nuestra central Asterisk para la homologacin de los nmeros locales y distinguir a
que localidad mundial pertenece dicha central Asterisk.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
9

Una vez hecho esto ya tenemos todo listo para instalar nuestro Asterisk en nuestro servidor.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
10
Instalando Asterisk
El orden para la instalacin de Asterisk se realiza de la siguiente forma:
LibPRI
DAHDI
Asterisk
Se hace en este orden para garantizar que los scripts de instalacin de Asterisk no tengan ningn
problema al momento de verificar las dependencias necesarias para la ejecucin de varios mdulos
integrados en Asterisk 12.1.1-Standard.
Paso 1:
Instalando LibPRI
LibPRI es una librera encargada de dar soporte a sealizacin de E1/T1. Se instala de la
siguiente forma:
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# cd ~/src/asteriskb/
root@voipb:~/src/asteriskb# mkdir libpri
root@voipb:~/src/asteriskb# cd libpri/
root@voipb:~/src/asteriskb/libpri# wget
http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
root@voipb:~/src/asteriskb/libpri# tar zxvf libpri-1.4-current.tar.gz
root@voipb:~/src/asteriskb/libpri# cd libpri-1.4.14/
root@voipb:~/src/asteriskb/libpri/libpri-1.4.14# make


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
11
root@voipb:~/src/asteriskb/libpri/libpri-1.4.14# make install
Paso 2:
Instalando DAHDI
DAHDI es un paquete de soporte para hardware (drivers de tarjetas E1/T1).
Se instala de la siguiente forma:
Cabe mencionar que si su Ubuntu Server es la versin de 64 bits se debe ejecutar el siguiente
comando:
ln -nsf /usr/src/linux-headers-`uname -r`/include/asm-x86 /usr/src/linux-headers-
`uname -r`/include/asm
Esto le genera el soporte necesario para el servidor de 64 bits
Luego se ejecutan los siguientes comandos:
root@voipb:~/src/asteriskb/libpri/libpri-1.4.14# cd ~/src/asteriskb/
root@voipb:~/src/asteriskb# mkdir dahdi
root@voipb:~/src/asteriskb# cd dahdi
root@voipb:~/src/asteriskb/dahdi# wget
http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-
complete-current.tar.gz
root@voipb:~/src/asteriskb/dahdi# tar zxvf dahdi-linux-complete-current.tar.gz
root@voipb:~/src/asteriskb/dahdi# cd dahdi-linux-complete-2.9.1.1+2.9.1/


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
12
root@voipb:~/src/asteriskb/dahdi/dahdi-linux-complete-2.9.1.1+2.9.1# make
root@voipb:~/src/asteriskb/dahdi/dahdi-linux-complete-2.9.1.1+2.9.1# make install
El comando anterior nos genera la siguiente salida:

Ahora instalamos los init scripts
root@voipb:~/src/asteriskb/dahdi/dahdi-linux-complete-2.9.1.1+2.9.1# make config







MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
13
Al ejecutar dicho comando nos genera los siguientes mensajes:

No hardware found ese mensaje nos indica que no se ha encontrado ninguna tarjeta de
E1/T1 instalada en nuestro equipo.
Luego de todo eso ya tenemos instalado el paquete de DAHDI.
Paso 3:
Instalando Asterisk
Luego de haber instalado LibPRI y DAHDI procedemos a instalar nuestro asterisk
anteriormente descargado, como recordaran, antes ya habamos ejecutado los prereq-
install, que nos ayudan a descargar los mdulos necesarios para la instalacin de nuestra
centralita telefnica. Ahora solo procedemos a ejecutar los siguientes comandos.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
14
root@voipb:~/src/asteriskb/dahdi/dahdi-linux-complete-2.9.1.1+2.9.1# cd
~/src/asteriskb/asterisk/asterisk-12.1.1/
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# ./configure

Si todo est bien nos generara la siguiente salida:

Aqu se podran ocupar 2 opciones:
a) Make menuselect, que nos genera una pantalla para que nosotros podamos elegir que
queremos instalar en nuestra centralita, por lo general se deja asi como esta, pero si se
necesitase opciones ms avanzadas para Asterisk se recurre a este men para aplicarlas.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
15

b) Make, que sirve para generar todos los paquetes de instalacin sin ninguna alteracin.

En nuestro caso ejecutaremos:
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make
Esto nos genera la siguiente pantalla:


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
16

Indicndonos que ya estamos listo para instalarlo.
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make install










MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
17
Si todo se hizo como se deba nos tendra que dar el siguiente resultado:


Ahora ejecutamos el siguiente comando:
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make config

Luego de eso instalamos los ejemplos de los archivos de configuracin:
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make samples



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
18
Paso 4:
Por ltimo y para terminar la instalacin de Asterisk cambiaremos los permisos de algunos
directorios necesarios para correrlo.
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# chown asterisk. /var/run/asterisk
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# chown -R asterisk. /etc/asterisk
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# chown -R asterisk.
/var/{lib,log,spool}/asterisk
root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# chown -R asterisk. /var/www/

Con esto damos por finalizada la instalacin de nuestra central telefnica Asterisk, ahora solo lo
comprobamos escribiendo en la consola:
asterisk rvvvvv
Si todo est correctamente instalado nos aparecera la consola de Asterisk.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
19



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
20
Configurando Asterisk (Nuestro primer DIALPLAN)
SIP.CONF
Una vez instalado Asterisk tendremos que crear la configuracin necesaria por poder
intercomunicar dos terminales SIP, esto se hace desde un archivo llamado sip.conf, el cual se
encarga de administrar todos aquellos usuarios SIP que tengamos en nuestra red hay archivos como
iax.conf, que al igual que el sip.conf es el encargado de administrar todos aquellos usuarios con
terminales que soporten el protocolo IAX; por el momento nos centraremos en la manipulacin y
uso del archivo sip.conf ya que este es el comnmente usado en la prctica.
El archivo sip.conf est estructurado en tres bloques. La parte general donde hay que definir la
configuracin general de nuestras extensiones, el bloque central donde configuraremos la
registracin a nuestros proveedores VoIP y la parte final del archivo que es donde se configuran
todas las extensiones internas y externas.
En este apartado solamente tocaremos el archivo a nivel de comunicacin interna, pues no
poseemos salida hacia un proveedor VoIP externo.
Definiendo el contexto [general]
Algunos parmetros generales del canal SIP son:
port: es el puerto que utilizar Asterisk para escuchar conexiones SIP entrantes. El
puerto SIP por defecto es el 5060.
binaddr: interfaz de red que utilizar Asterisk para atender las conexiones SIP
entrantes. El valor por defecto es 0.0.0.0, es decir, escucha en todas las interfaces de
red disponibles.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
21
context: contexto que se aplica a las llamadas entrantes. Se aplica cuando una cuenta
SIP no tiene definido un contexto.
videosupport: soporte de video en SIP. Permite los valores 'yes' o 'no'.
language: lenguaje utilizado por defecto para todos los clientes SIP.
allow: especificamos los cdecs de sonido que vamos a utilizar. Permite valores como
'all', 'alaw', 'ulaw', 'gsm', etc.
disallow: cdecs de audio que no vamos a permitir. Cuando vamos a restringir los
cdecs de audio, lo mejor es siempre prohibirlos todos (disallow=all) y luego permitir
aquellos que queramos.
nat: habilitamos o deshabilitamos el soporte de nat para la extensin.

Un ejemplo para el contexto [general] seria el siguiente:
[general]
Port=5060
Binaddr=0.0.0.0
Context=default
Lenguaje=es
Disallow=all
Allow=alaw,gsm


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
22
Configurando clientes SIP
Para configurar un cliente SIP se utilizan parmetros como los siguientes (los
parmetros expresados aqu son los ms bsicos pero a la vez el ms importante para
la definicin de un cliente SIP):
type: define la clase de conexin que tendr el cliente. Hay tres tipos de clientes SIP:
peer: solo puede recibir llamadas.
user: solo puede realizar llamadas.
friend: puede recibir y realizar llamadas.
callerid: es el identificador del cliente, es decir, el nombre que aparecer cuando se
realice una llamada.
username: usuario con el que nos conectaremos al servidor Asterisk.
secret: contrasea con la que se realizar la autenticacin en Asterisk junto con el
username.
context: contexto asociado al cliente en el dialplan de Asterisk, es decir, contexto que
se aplicar en el fichero extensions.conf del cual hablaremos ms adelante.
dtmfmode: Dual-Tone Multi-Frequecy (DTMF) se refiere a la marcacin por tonos.
Normalmente le especifico que use el estandar rfc2833.
qualify: si se establece a 'yes' podremos monitorizar la extensin. Esta configuracin
no es muy recomendable cuando tenemos muchas extensiones.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
23
host: direccin donde se encuentra conectado el dispositivo por default se le pone
dynamic
Aqu un ejemplo de la definicin de una terminal SIP
[4000]
callerid=voipb
username=4000
secret=voipb
type=friend
host=dynamic
context=ext-voipb
qualify=yes
dtmfmode=rfc2833
Como pueden observar es bastante sencillo definir un dispositivo SIP, el problema que
cuando uno se topa con que quiere definir mas de 10 extensiones esta parametrizacion
se vuelve muy redundante, pero una de las prestaciones de Asterisk es que nos permite
el uso de mascaras. Esta funcionalidad nos permite crear una seccin madre donde
se configuran todos los parmetros comunes
Para especificar que una seccin actuara como una mscara se utiliza la siguiente
nomenclatura:


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
24
[nombre_seccion](!)
Ahora aplicaremos mascara a nuestra extensin creada para ejemplificar:
[plantilla](!)
secret=voipb
type=friend
host=dynamic
context=ext-voipb
qualify=yes
dtmfmode=rfc2833

Ahora definimos la extensin 4000:
[4000](plantilla)
callerid=voipb
username=4000
Como se puede observar una mscara nos simplifica la definicin de dispositivos SIP;
Sencillo no?, ahora hagamos la teora una prctica.
Accesamos a la siguiente localidad:
root@voipb:~# cd /etc/asterisk/


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
25
Si aplicamos un ls veremos que hay varios archivos, estos son los que se instalaron cuando nosotros
aplicamos make samples, para no confundirnos meteremos todos estos archivos a una sola carpeta
llamada samples:
root@voipb:/etc/asterisk# mkdir samples
root@voipb:/etc/asterisk# mv *.* samples/
root@voipb:/etc/asterisk# cp modules.conf ../

Ahora si aplicamos un ls veremos que ya no tenemos ninguno de estos archivos, excepto el
modules.conf asi que, ahora podremos trabajar mejor.
Muy bien, ahora crearemos nuestro propio sip.conf:
root@voipb:/etc/asterisk# nano sip.conf
Esto nos genera un archivo .conf, ahora solo queda crear nuestro contexto y las extensiones que
queramos, en mi caso agarrar las del rango 4XXX en su caso pueden agarrar el rango que estimen
conveniente (1XXX, 6XXX, 8XXX, etc.).
Comencemos!






MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
26
Sip.conf
[general]
bindaddr=0.0.0.0
bindport=5060
context=defaultb
disallow=all
allow=ulaw
allow=alaw
allow=gsm
;creando mascara para nuestras extensiones
[plantilla](!)
secret=voipb
type=friend
host=dynamic
context=ext-voipb
qualify=yes
dtmfmode=rfc2833
;Creando nuestras extensiones


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
27
[4000]
callerid=voipb
username=4000
[4001]
callerid=voipb1
username=4001
[4002]
callerid=voipb2
username=4002
[4003]
callerid=voipb3
username=4003
[4004]
callerid=voipb4
username=4004



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
28
Mi archivo sip.conf lo cree de la forma anterior. Ahora bien cabe decir que, el hecho de que nuestras
extensiones estn declaradas, no quiere decir que ya podamos configurar nuestros terminales para
comunicarnos.

EXTENSIONS.CONF
El archivo extensions.conf sin duda es el ms importante para la puesta en marcha de
nuestra centralita. En l se define todo lo relacionado con el Dialplan. Cualquier nmero
marcado desde una extensin ser procesado dentro de este archivo. Al igual que el sip.conf
est dividido en tres bloques:
La parte general donde se configuran algunos parmetros generales
Globals donde se definen las variables que se van a utilizar en la centralita
Ultima parte donde se encuentra toda la configuracin de las llamadas.
Algunos de los parmetros que se pueden configurar en el contexto [general] de
extensions.conf son:
static: si se define como yes permite salvar el dialplan desde la consola de Asterisk.
writeprotect: proteccin frente a escritura, si se deja como no comandos como save
dialplan modificaran los ficheros de configuracin.
autofallthrough: si esta activada esta opcin, cuando una extensin haya acabado de
ejecutar sus prioridades o la lgica salte a una prioridad inexistente har que la llamada se
cuelgue, sealizndola como BUSY, CONGESTION o HANGUP dependiendo de que sea sta
la mejor opcin para Asterisk


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
29
clearglobalvars: si se desactiva las variables globales permanecern con el valor que tienen
en memoria hasta que se reinicie Asterisk y a recargar el extensions.conf
priorityjumping: activa el salto de prioridad como respuesta, hay aplicaciones que tras su
ejecucin devuelve una prioridad a la que se debe saltar. Para que esto suceda debe
activarse este parmetro.
En el archivo extensions.conf es comn declarar aplicaciones, las cuales nos permiten
definir colgar una llamada, marcarla, etc. Alguna de ellas son:
answer(): contesta una llamada
hangup(): cuelga una llamada
dial(): realiza una llamada saliente
playback(): reproduce un archivo de sonido
Ahora que sabemos lo ms bsico para la manipulacin del archivo extensions.conf, la
forma de crear prioridades es la siguiente:

Debido a que la extensin permanece igual durante el transcurrir de todas las prioridades
se cre el operando same=> para facilitar la codificacin:



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
30
Cabe mencionar que para facilitar las prioridades u otras opciones de Asterisk existen los
Patrones de Marcado que no son ms que contracciones para generar ms de una
posibilidad de marcacin en la que podra caer un posible nmero que se marque desde un
terminal. En la siguiente tabla se muestran algunos Patrones de Marcado:


Muy bien ahora que ya comprendemos un poco el concepto bsico de lo que es y lo que
hace el archivo extensions.conf creemos nuestro archivo.
root@voipb:/etc/asterisk# nano extensions.conf
[general]
static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=no



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
31
[defaultb]
exten =>_x.,q,Hangup(21)
exten =>s,1,Hangup(21)

[ext-voipb]
exten=>_4xxx,1,Dial(SIP/${EXTEN})
same=>n,Hangup(16)
Este sera en su defecto nuestro archivo extensions.conf ahora estamos listo para realizar
pruebas de comunicacin, pero antes en nuestro servidor deberamos tener lo siguiente:

Bien ahora procederemos a hacer las pruebas correspondientes de comunicacin:
Pero antes:
root@voipb:/etc/asterisk# service asterisk restart
root@voipb:/etc/asterisk# asterisk rvvvvv

Una vez adentro de la consola de asterisk escribiremos lo siguiente:
voipb*CLI> module load chan_sip.so


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
32
Dicho comando nos sirve para cargar el canal SIP, si todo est bien nos aparecera lo
siguiente:

Ahora comprobaremos que nuestras extensiones creadas en el sip.conf estn siendo
reconocidas por nuestro Asterisk esto se hace de la siguiente forma:
voipb*CLI> sip show peers








MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
33
El resultado es el siguiente:

Lgicamente no tenemos ninguna extensin en lnea pues no hemos configurado ninguna.
Ahora el siguiente paso es configurar nuestros terminales SIP, en nuestro caso utilizaremos
softphones (X-Lite, Zoiper, 3CX, etc.).









MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
34
Configurando X-Lite
Paso 1:
El primer paso es descargar X-Lite de su pgina web:
https://www.counterpath.com/x-lite.html
Luego de descargarlo procederemos a instalarlo, en este punto no me detendr a explicar
cmo instalar un software, pues asumiremos que es sencillo; una vez instalado ejecutarlo.




MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
35
Paso 2:
El siguiente paso es configurar nuestra cuenta, de la siguiente forma:





MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
36

Nota: en password se pone el secret que se puso en el contexto de la extensin en el
sip.conf y una vez configurado todos los parmetros presionar ok
Ahora nuestro softphones se encuentra registrado y listo para ser usado, a continuacin se
presentan los mensajes que se envan a la hora del registro del terminal SIP (captura hecha


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
37
con wireshark), as como la respuesta que brinda la consola del Asterisk a la hora de registrar
un dispositivo SIP.





MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
38



Esta es la parte donde te sientes satisfecho por todo lo que has hecho, pues ya has
configurado tu primera centralita Asterisk, ahora solo debemos registrar otra de las
extensiones que creamos en el archivo sip.conf y establecer una comunicacin punto a
punto; como mi Dialplan consta del rango 4XXX trabajare con las extensiones 4000 y 4001.
Es muy importante que se deban realizar capturas con wireshark sobre lo que est
sucediendo al momento de comunicar dos dispositivos SIP, no me detendr a explicar el uso
de wireshark porque es demasiado extenso, pero puedes encontrar varios tutoriales en el
internet. Solamente pondr las capturas necesarias y el callflow que se origina al establecer
una llamada.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
39
Capturas Wireshark Asterisk.




MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
40
Las capturas anteriores pertenecen a una comunicacin entre dos terminales SIP dichas
capturas respetan la RFC3761.
Hasta aqu hemos llegado a lo referido a la instalacin y configuracin de nuestra centralita
Asterisk.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
41
CONFIGURACION DE DNS SRV EN UNA CENTRAL ASTERISK
DNS (Domain Name Server)
DNS es un servicio que permite encontrar una direccin IP a partir de un nombre o viceversa.
En VoIP y servicios ms avanzados se considera como una base de datos distribuida que
mantiene nombres alfanumricos y sus correspondientes direcciones IP.
SRV (Services Record)
Con la introduccin de SRV (RFC2782), los clientes DNS pueden consultar un dominio para
un servicio o protocolo en particular y obtener el nombre o direccin del servidor que presta
dicho servicio.
Este servicio es ms que todo utilizado para distribuir la carga mediante el uso de varios
servidores para dar servicio a un nico dominio
La unin de DNS SRV da lugar a un mecanismo creado para balanceo de carga y/o falla. En este
apartado veremos lo sencillo que es configurar nuestro servidor Asterisk con DNS SRV para crear
redundancia entre servidores.
Es importante detallar que a la hora de haber instalado nuestro Ubuntu Server se debi haber
instalado el Servidor de DNS, pero no te preocupes si no lo instalaste, en dado caso solo aplica el
siguiente comando:
root@voip:~# apt-get install bind9
Ahora accedemos a la carpeta donde se encuentran los archivos de configuracin:
root@voip:~# cd /etc/bind/


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
42
Si aplicamos un ls nos mostrara los archivos que ah se encuentran, de los cuales el ms importante
en nuestro caso es el name.conf.local a su vez este nos generara otros archivos que ms adelante
explicaremos.
Ahora ponemos manos a la obra y lo primero que hay que hacer es determinar cmo nombraremos
a nuestro dominio y las direcciones donde se encuentran nuestras centralitas Asterisk, con estos
dos datos es suficiente para empezar a trabajar, en mi caso estos son mis datos:
Dominio: voipfree.com
Asterisk 1: 192.168.1.4
Asterisk 2: 192.168.1.8

Ahora bien, abrimos el archivo llamado named.conf.local en este archivo crearemos las diferentes
zonas que queramos en nuestro servidor DNS, en m caso quedara de la siguiente forma:
//creando zona de nuestro dominio "voipfree.com"
zone "voipfree.com" {
type master;
file "/etc/bind/db.voipfree";
};
//creando la zona de direccin inversa de nuestra red
zone "1.168.192.in-addr.arpa" {


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
43
type master;
file "/etc/bind/db.192";
};
Al agregar las zonas necesarias para nuestros servidores hay que crear unos archivos nombrados
db.xxx en mi caso son dos:
db.voipfree
db.192
Es en estos archivos donde configuraremos todos los parmetros de nuestro servicio de DNS SRV,
pues bien, ahora comenzamos con la creacin y edicin de nuestro primer db:
db.voipfree
root@voip:/etc/bind# cp db.local /etc/bind/db.voipfree
root@voip:/etc/bind# nano db.voipfree









MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
44
En mi caso el archivo de configuracin quedara de la siguiente manera:

db.192
Este archivo es el encargado de crear nuestra direccin inversa de nuestra red
root@voip:/etc/bind# cp db.127 /etc/bind/db.192
root@voip:/etc/bind# nano db.192
En mi caso el archivo de configuracin queda de la siguiente forma:



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
45
Ahora ya tenemos listo nuestro servidor DNS SRV, solamente nos queda hacer pruebas y las
correspondientes capturas para ver cmo trabaja este servicio.
Pero antes de probar cambiaremos la direccin DNS de nuestro servidor de la siguiente forma:

root@voip:~# nano /etc/resolv.conf
Nos saldr la siguiente pantalla:

En namesever ponemos la direccin de nuestro servidor DNS en mi caso es la
192.168.1.8 guardamos y ya estamos listo para realizar pruebas.





MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
46
NOTA IMPORTANTE:
Al tener un servidor DNS, es necesario que en los equipos se le cambie a la tarjeta de
red el DNS primario para que asi surtan efectos los cambios realizados en los terminales
SIP.
Muy bien, comencemos las pruebas:
Trazas de wireshark








MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
47
Callflow de una llamada DNS SRV



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
48

Hasta aqu llega el apartado de configuracin DNS SRV, solamente un consejo, hay que tener
paciencia ya que quizs no todo sale a la primera, al menos, en mi caso personal, pase dos horas
resolviendo problemas con respecto a los archivos de configuracin de Bind9, es por eso que se
insiste con las capturas de trazas, pues ests nos ayudan a determinar dnde est el error o que
es lo que se est enviando mal, as como tambin la constante observacin del log, este se puede
localizar en la siguiente ubicacin: /var/log/syslog, esta es otra herramienta importante a la hora
de trabajar sobre Sistemas Linux, ya que aqu es donde quedan registrados todos los eventos que
suceden dentro de nuestro servidor.


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
49


MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
50
ANEXOS




MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
51







MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
52











MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
53



MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
54








MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
55
BIBLIOGRAFIA
Referencia Literaria
VoIP para el Desarrollo /Alberto Escudero-Pascual, Louise
Berthilson
Telefonia IP Asterisk /Cesar Pineda Gonzalez
Asterisk The Future of Telephony / Jim Van Meggelen, Leif Madsen
& Jared Smith
Curso Practico de Asterisk 11 / Ing. Eynar Lopez Garcia
Asterisk / Ing. Roberto Sanchez
Referencia Web
http://www.axelko.com/techblog/2013/09/curso-asterisk-iii-
extensiones-internas/
http://www.adminso.es/index.php/CONSOLA_DE_COMANDOS_(C
LI)
http://www.redeszone.net/gnu-linux/configurar-un-servidor-dns-
bind-en-linux-ubuntu/
http://blog.manuelviera.es/configurando-los-clientes-sip/
www.asteriskguru.com
www.asteriskdocs.org
www.asterisk.org






MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
56
Copyright
Este documento fue diseado y redactado por Luis Alejandro Regalado Moreno
Es una recopilacin y resumen de varios libros, tutoriales y documentos consolidados en este
nico manual.
Se permite la distribucin, modificacin y edicin del mismo siempre y cuando se mantenga la
identidad del autor y siempre y cuando se hagan saber las modificaciones que se han hecho ha
dicho manual al final del documento.
Software Utilizado:
Ubuntu Server 12.04.4 LTS 32BITS
Asterisk 12.1.1 STANDARD
WireShark 1.10.6 (Linux Version 32 BITS)
X-Lite Softphones (Bajo licencia de Windows XP)

También podría gustarte