SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
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-Instalación 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 años el área de la telefonía ha sufrido cambios elevados con lo que respecta a
plantas telefónicas y protocolos de comunicación, pues en un momento y actualmente en algunos
países se siguen ocupando plantas telefónicas hibridas (análogas/digitales), pero con la nueva
innovación de las telecomunicaciones (a nivel de redes, desarrollo de software, etc) surge la
necesidad de incorporar nuevas plantas telefónicas, que aparte de contener las mismas funciones
que la de una central hibrida (ISDN) contengan además nuevas mejoras y parámetros de seguridad,
es de ahí, que nace Asterisk; que no es nada más 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á diseñado para aquella persona que sea nueva en el ámbito de la telefonía IP, y
quiera introducirse en la práctica básica de esta nueva tecnología llamada VoIP.
Este manual no tiene como objetivo introducir al lector a la administración de servidores, pues se
asume que el mismo ya tiene los conocimientos básicos sobre la configuración y administración de
Linux Servers.
El manual se encuentra compuesto por dos temas diseñados a modo de taller, en la bibliografía se
anexan las direcciones y libros a los cuales el lector se puede apoyar para una mejor comprensión
del tema.
Los dos temas a tocar en este manual son:
 Instalación y configuración de Asterisk
 Configuración 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 aplicación para controlar y gestionar comunicaciones de cualquier tipo, ya sean
analógicas, digitales o VoIP mediante todos los protocolos VoIP que implementa.
En este apartado detallaremos en breves pasos su instalación y una pequeña configuración básica
para una simple comunicación entre dispositivos SIP.
Pre-Instalación Asterisk.
Paso1:
Lo primordial en una instalación de un servidor Asterisk es tener actualizado nuestro servidor a su
versión más 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 más actualizados de nuestra versión del servidor,
solamente se debe esperar un tiempo prudencial (dependiendo del ancho de banda que se tenga)
para que termine la descarga e instalación de dichos paquetes.
Luego de eso instalamos las dependencias necesarias para la instalación 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 instalación de nuestro Asterisk.
Un punto muy importante a definir es con que versión de Asterisk queremos trabajar, en nuestro
caso trabajaremos con la versión 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 más estable
que una versión 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 versión 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, generándonos 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 módulos y aplicaciones que podemos utilizar para
nuestra central telefónica, generalmente estos módulos o aplicaciones podemos seleccionarlos
ejecutando make menuselect durante la instalación de Asterisk, pero estos módulos y aplicaciones
tienen varias dependencias que podemos satisfacer fácilmente ejecutando dos scripts que nos
provee el paquete de instalación mediante la ejecución de las siguiente líneas:
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 instalación de estas dependencias, nos salga una pantalla pidiéndonos el
prefijo de nuestro país, si no sabes cuál es el prefijo telefónico de tu país 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 homologación de los números 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 instalación de Asterisk se realiza de la siguiente forma:
 LibPRI
 DAHDI
 Asterisk
Se hace en este orden para garantizar que los scripts de instalación de Asterisk no tengan ningún
problema al momento de verificar las dependencias necesarias para la ejecución de varios módulos
integrados en Asterisk 12.1.1-Standard.
Paso 1:
 Instalando LibPRI
LibPRI es una librería encargada de dar soporte a señalización 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 versión 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 habíamos ejecutado los prereq-
install, que nos ayudan a descargar los módulos necesarios para la instalación de nuestra
centralita telefónica. 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 generaría la siguiente salida:
Aquí se podrían 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 más 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 instalación sin ninguna alteración.
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
Indicándonos 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 debía nos tendría 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 configuración:
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 instalación 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 instalación de nuestra central telefónica Asterisk, ahora solo lo
comprobamos escribiendo en la consola:
asterisk –rvvvvv
Si todo está correctamente instalado nos aparecería 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 configuración 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 manipulación y
uso del archivo sip.conf ya que este es el comúnmente usado en la práctica.
El archivo sip.conf está estructurado en tres bloques. La parte general donde hay que definir la
configuración general de nuestras extensiones, el bloque central donde configuraremos la
registración 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 comunicación interna, pues no
poseemos salida hacia un proveedor VoIP externo.
 Definiendo el contexto [general]
Algunos parámetros 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 códecs de sonido que vamos a utilizar. Permite valores como
'all', 'alaw', 'ulaw', 'gsm', etc.
disallow: códecs de audio que no vamos a permitir. Cuando vamos a restringir los
códecs 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 extensión.
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 parámetros como los siguientes (los
parámetros expresados aquí son los más básicos pero a la vez el más importante para
la definición de un cliente SIP):
type: define la clase de conexión 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: contraseña con la que se realizará la autenticación 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 más adelante.
dtmfmode: Dual-Tone Multi-Frequecy (DTMF) se refiere a la marcación por tonos.
Normalmente le especifico que use el estandar rfc2833.
qualify: si se establece a 'yes' podremos monitorizar la extensión. Esta configuración
no es muy recomendable cuando tenemos muchas extensiones.
MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
23
host: dirección donde se encuentra conectado el dispositivo por default se le pone
“dynamic”
Aquí un ejemplo de la definición 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 sección “madre” donde
se configuran todos los parámetros comunes
Para especificar que una sección actuara como una máscara 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 extensión creada para ejemplificar:
[plantilla](!)
secret=voipb
type=friend
host=dynamic
context=ext-voipb
qualify=yes
dtmfmode=rfc2833
Ahora definimos la extensión 4000:
[4000](plantilla)
callerid=voipb
username=4000
Como se puede observar una máscara nos simplifica la definición de dispositivos SIP;
¿Sencillo no?, ahora hagamos la teoría una práctica.
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 estén declaradas, no quiere decir que ya podamos configurar nuestros terminales para
comunicarnos.
 EXTENSIONS.CONF
El archivo extensions.conf sin duda es el más importante para la puesta en marcha de
nuestra centralita. En él se define todo lo relacionado con el Dialplan. Cualquier número
marcado desde una extensión será procesado dentro de este archivo. Al igual que el sip.conf
está dividido en tres bloques:
 La parte general donde se configuran algunos parámetros generales
 Globals donde se definen las variables que se van a utilizar en la centralita
 Ultima parte donde se encuentra toda la configuración de las llamadas.
Algunos de los parámetros 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: protección frente a escritura, si se deja como “no” comandos como “save
dialplan” modificaran los ficheros de configuración.
autofallthrough: si esta activada esta opción, cuando una extensión haya acabado de
ejecutar sus prioridades o la lógica salte a una prioridad inexistente hará que la llamada se
cuelgue, señalizándola como BUSY, CONGESTION o HANGUP dependiendo de que sea ésta
la mejor opción para Asterisk
MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV
29
clearglobalvars: si se desactiva las variables globales permanecerán 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
ejecución devuelve una prioridad a la que se debe saltar. Para que esto suceda debe
activarse este parámetro.
En el archivo extensions.conf es común 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 más básico para la manipulación del archivo extensions.conf, la
forma de crear prioridades es la siguiente:
Debido a que la extensión permanece igual durante el transcurrir de todas las prioridades
se creó el operando same=> para facilitar la codificación:
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 más que contracciones para generar más de una
posibilidad de marcación en la que podría caer un posible número 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 básico 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 sería en su defecto nuestro archivo extensions.conf ahora estamos listo para realizar
pruebas de comunicación, pero antes en nuestro servidor deberíamos tener lo siguiente:
Bien ahora procederemos a hacer las pruebas correspondientes de comunicación:
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 aparecería lo
siguiente:
Ahora comprobaremos que nuestras extensiones creadas en el sip.conf estén 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:
Lógicamente no tenemos ninguna extensión en línea 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 página web:
https://www.counterpath.com/x-lite.html
Luego de descargarlo procederemos a instalarlo, en este punto no me detendré a explicar
cómo 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 extensión en el
sip.conf y una vez configurado todos los parámetros presionar “ok”
Ahora nuestro softphones se encuentra registrado y listo para ser usado, a continuación se
presentan los mensajes que se envían 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 comunicación 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 comunicación entre dos terminales SIP dichas
capturas respetan la RFC3761.
Hasta aquí hemos llegado a lo referido a la instalación y configuración 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 dirección IP a partir de un nombre o viceversa.
En VoIP y servicios más avanzados se considera como una base de datos distribuida que
mantiene nombres alfanuméricos y sus correspondientes direcciones IP.
 SRV (Services Record)
Con la introducción de SRV (RFC2782), los clientes DNS pueden consultar un dominio para
un servicio o protocolo en particular y obtener el nombre o dirección del servidor que presta
dicho servicio.
Este servicio es más que todo utilizado para distribuir la carga mediante el uso de varios
servidores para dar servicio a un único dominio
La unión 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 configuración:
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 más importante
en nuestro caso es el name.conf.local a su vez este nos generara otros archivos que más adelante
explicaremos.
Ahora ponemos manos a la obra y lo primero que hay que hacer es determinar cómo 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 quedaría 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 dirección 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 parámetros de nuestro servicio de DNS SRV,
pues bien, ahora comenzamos con la creación y edición 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 configuración quedaría de la siguiente manera:
 db.192
Este archivo es el encargado de crear nuestra dirección 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 configuración 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 cómo trabaja este servicio.
Pero antes de probar cambiaremos la dirección DNS de nuestro servidor de la siguiente forma:
root@voip:~# nano /etc/resolv.conf
Nos saldrá la siguiente pantalla:
En namesever ponemos la dirección 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 configuración DNS SRV, solamente un consejo, hay que tener
paciencia ya que quizás no todo sale a la primera, al menos, en mi caso personal, pase dos horas
resolviendo problemas con respecto a los archivos de configuración de Bind9, es por eso que se
insiste con las capturas de trazas, pues estás nos ayudan a determinar dónde está el error o que
es lo que se está enviando mal, así como también la constante observación del log, este se puede
localizar en la siguiente ubicación: /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 diseñado y redactado por Luis Alejandro Regalado Moreno
Es una recopilación y resumen de varios libros, tutoriales y documentos consolidados en este
único manual.
Se permite la distribución, modificación y edición 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)

Más contenido relacionado

La actualidad más candente

Performance Schema for MySQL troubleshooting
Performance Schema for MySQL troubleshootingPerformance Schema for MySQL troubleshooting
Performance Schema for MySQL troubleshootingSveta Smirnova
 
Laboratorio 03 emulación de redes con gns3 (1)
Laboratorio 03 emulación de redes con gns3 (1)Laboratorio 03 emulación de redes con gns3 (1)
Laboratorio 03 emulación de redes con gns3 (1)Ronald Mansilla Musaja
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7Zhaoyang Wang
 
Ejercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrEjercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrcesartg65
 
Configuring Cisco Routing Protocols
Configuring Cisco Routing ProtocolsConfiguring Cisco Routing Protocols
Configuring Cisco Routing ProtocolsI Putu Hariyadi
 
Asterisk en los Call Centers - Encuesta Satisfacción clientes
Asterisk en los Call Centers - Encuesta Satisfacción clientesAsterisk en los Call Centers - Encuesta Satisfacción clientes
Asterisk en los Call Centers - Encuesta Satisfacción clientesFrancesco Prior
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesMoises Silva
 
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32..... ..
 
Comandos ensp huawei
Comandos ensp huaweiComandos ensp huawei
Comandos ensp huaweijuca piro
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
 
Huawei S5700 Basic Configuration Command
Huawei S5700 Basic Configuration CommandHuawei S5700 Basic Configuration Command
Huawei S5700 Basic Configuration CommandHuanetwork
 
Mysteries of the binary log
Mysteries of the binary logMysteries of the binary log
Mysteries of the binary logMats Kindahl
 

La actualidad más candente (20)

SUBNETTING
SUBNETTINGSUBNETTING
SUBNETTING
 
Performance Schema for MySQL troubleshooting
Performance Schema for MySQL troubleshootingPerformance Schema for MySQL troubleshooting
Performance Schema for MySQL troubleshooting
 
Laboratorio 03 emulación de redes con gns3 (1)
Laboratorio 03 emulación de redes con gns3 (1)Laboratorio 03 emulación de redes con gns3 (1)
Laboratorio 03 emulación de redes con gns3 (1)
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7
 
Ejercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrEjercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidr
 
Configuring Cisco Routing Protocols
Configuring Cisco Routing ProtocolsConfiguring Cisco Routing Protocols
Configuring Cisco Routing Protocols
 
Curso de MySQL 5.7
Curso de MySQL 5.7Curso de MySQL 5.7
Curso de MySQL 5.7
 
Asterisk en los Call Centers - Encuesta Satisfacción clientes
Asterisk en los Call Centers - Encuesta Satisfacción clientesAsterisk en los Call Centers - Encuesta Satisfacción clientes
Asterisk en los Call Centers - Encuesta Satisfacción clientes
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
 
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...
Tutorial y manual para instalar y configurar cacti 0.8.8 a en windows 7 de 32...
 
Suse
SuseSuse
Suse
 
Zabbix Performance Tuning
Zabbix Performance TuningZabbix Performance Tuning
Zabbix Performance Tuning
 
Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.Tipos de sistemas distribuidos.
Tipos de sistemas distribuidos.
 
Lab huawei2
Lab huawei2Lab huawei2
Lab huawei2
 
Comandos ensp huawei
Comandos ensp huaweiComandos ensp huawei
Comandos ensp huawei
 
Seguridad en wireless
Seguridad en wirelessSeguridad en wireless
Seguridad en wireless
 
Ip addressing3
Ip addressing3Ip addressing3
Ip addressing3
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
Huawei S5700 Basic Configuration Command
Huawei S5700 Basic Configuration CommandHuawei S5700 Basic Configuration Command
Huawei S5700 Basic Configuration Command
 
Mysteries of the binary log
Mysteries of the binary logMysteries of the binary log
Mysteries of the binary log
 

Similar a Manual asterisk dns srv

Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asteriskpavel
 
Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Giovani Hernandez
 
Debian Lenny Asterisk
Debian Lenny AsteriskDebian Lenny Asterisk
Debian Lenny Asteriskmanzurek
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010Gabriel Astudillo
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskGabriel Astudillo
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windowsPaulo Cortés Molina
 
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...Daniel Briian
 
Instalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskInstalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskStar Bye
 
Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Angel Freire Ramirez
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuEcuteb Gv
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandraLuis Alvarado
 

Similar a Manual asterisk dns srv (20)

Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Slackware asterisk
Slackware asteriskSlackware asterisk
Slackware asterisk
 
Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12Instalación de asterisk en linux mint 12
Instalación de asterisk en linux mint 12
 
Guia postfix
Guia postfixGuia postfix
Guia postfix
 
Debian Lenny Asterisk
Debian Lenny AsteriskDebian Lenny Asterisk
Debian Lenny Asterisk
 
VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010VoIP con Asterisk Marzo 2010
VoIP con Asterisk Marzo 2010
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con Asterisk
 
Manual de operación Asterisk en windows
Manual de operación Asterisk en windowsManual de operación Asterisk en windows
Manual de operación Asterisk en windows
 
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...
Instalacion,Configuracion y Creacion de Una Base de Datos en Apache Cassandra...
 
VoIP con Asterisk 2009
VoIP con Asterisk 2009VoIP con Asterisk 2009
VoIP con Asterisk 2009
 
Instalacion de ubuntu y asterisk
Instalacion de ubuntu y asteriskInstalacion de ubuntu y asterisk
Instalacion de ubuntu y asterisk
 
Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)Reinicio automático de Oracle Database (Oracle Restart)
Reinicio automático de Oracle Database (Oracle Restart)
 
Manual
ManualManual
Manual
 
Paso a paso zenoss 2.5
Paso a paso zenoss  2.5Paso a paso zenoss  2.5
Paso a paso zenoss 2.5
 
Elastix slide book-ect(1)
Elastix  slide book-ect(1)Elastix  slide book-ect(1)
Elastix slide book-ect(1)
 
Elastix slide book-ece
Elastix  slide book-eceElastix  slide book-ece
Elastix slide book-ece
 
Elastix slide book-ect
Elastix  slide book-ectElastix  slide book-ect
Elastix slide book-ect
 
Planes de llamada
Planes de llamadaPlanes de llamada
Planes de llamada
 
Instalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntuInstalacion de osc inventory en ubuntu
Instalacion de osc inventory en ubuntu
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 

Manual asterisk dns srv

  • 1. 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
  • 2. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV Contenido INTRODUCCION........................................................................................... 3 INSTALACION Y CONFIGURACION DE ASTERISK........................................... 4 Pre-Instalación 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
  • 3. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 3 INTRODUCCION A lo largo de los años el área de la telefonía ha sufrido cambios elevados con lo que respecta a plantas telefónicas y protocolos de comunicación, pues en un momento y actualmente en algunos países se siguen ocupando plantas telefónicas hibridas (análogas/digitales), pero con la nueva innovación de las telecomunicaciones (a nivel de redes, desarrollo de software, etc) surge la necesidad de incorporar nuevas plantas telefónicas, que aparte de contener las mismas funciones que la de una central hibrida (ISDN) contengan además nuevas mejoras y parámetros de seguridad, es de ahí, que nace Asterisk; que no es nada más 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á diseñado para aquella persona que sea nueva en el ámbito de la telefonía IP, y quiera introducirse en la práctica básica de esta nueva tecnología llamada VoIP. Este manual no tiene como objetivo introducir al lector a la administración de servidores, pues se asume que el mismo ya tiene los conocimientos básicos sobre la configuración y administración de Linux Servers. El manual se encuentra compuesto por dos temas diseñados a modo de taller, en la bibliografía se anexan las direcciones y libros a los cuales el lector se puede apoyar para una mejor comprensión del tema. Los dos temas a tocar en este manual son:  Instalación y configuración de Asterisk  Configuración de DNS SRV en una Central Asterisk
  • 4. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 4 INSTALACION Y CONFIGURACION DE ASTERISK. Asterisk es una aplicación para controlar y gestionar comunicaciones de cualquier tipo, ya sean analógicas, digitales o VoIP mediante todos los protocolos VoIP que implementa. En este apartado detallaremos en breves pasos su instalación y una pequeña configuración básica para una simple comunicación entre dispositivos SIP. Pre-Instalación Asterisk. Paso1: Lo primordial en una instalación de un servidor Asterisk es tener actualizado nuestro servidor a su versión más 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 más actualizados de nuestra versión del servidor, solamente se debe esperar un tiempo prudencial (dependiendo del ancho de banda que se tenga) para que termine la descarga e instalación de dichos paquetes. Luego de eso instalamos las dependencias necesarias para la instalación 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
  • 5. 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 instalación de nuestro Asterisk. Un punto muy importante a definir es con que versión de Asterisk queremos trabajar, en nuestro caso trabajaremos con la versión 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 más estable que una versión Standard.
  • 6. 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
  • 7. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 7 Con los comandos anteriores descargamos la versión 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, generándonos asi una carpeta llamada asterisk-12.1.1
  • 8. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 8 Asterisk nos permite instalar una gran cantidad de módulos y aplicaciones que podemos utilizar para nuestra central telefónica, generalmente estos módulos o aplicaciones podemos seleccionarlos ejecutando make menuselect durante la instalación de Asterisk, pero estos módulos y aplicaciones tienen varias dependencias que podemos satisfacer fácilmente ejecutando dos scripts que nos provee el paquete de instalación mediante la ejecución de las siguiente líneas: 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 instalación de estas dependencias, nos salga una pantalla pidiéndonos el prefijo de nuestro país, si no sabes cuál es el prefijo telefónico de tu país 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 homologación de los números locales y distinguir a que localidad mundial pertenece dicha central Asterisk.
  • 9. 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.
  • 10. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 10 Instalando Asterisk El orden para la instalación de Asterisk se realiza de la siguiente forma:  LibPRI  DAHDI  Asterisk Se hace en este orden para garantizar que los scripts de instalación de Asterisk no tengan ningún problema al momento de verificar las dependencias necesarias para la ejecución de varios módulos integrados en Asterisk 12.1.1-Standard. Paso 1:  Instalando LibPRI LibPRI es una librería encargada de dar soporte a señalización 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
  • 11. 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 versión 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/
  • 12. 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
  • 13. 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 habíamos ejecutado los prereq- install, que nos ayudan a descargar los módulos necesarios para la instalación de nuestra centralita telefónica. Ahora solo procedemos a ejecutar los siguientes comandos.
  • 14. 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 generaría la siguiente salida: Aquí se podrían 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 más avanzadas para Asterisk se recurre a este menú para aplicarlas.
  • 15. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 15 b) Make, que sirve para generar todos los paquetes de instalación sin ninguna alteración. En nuestro caso ejecutaremos: root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make Esto nos genera la siguiente pantalla:
  • 16. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 16 Indicándonos que ya estamos listo para instalarlo. root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make install
  • 17. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 17 Si todo se hizo como se debía nos tendría 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 configuración: root@voipb:~/src/asteriskb/asterisk/asterisk-12.1.1# make samples
  • 18. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 18 Paso 4: Por último y para terminar la instalación 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 instalación de nuestra central telefónica Asterisk, ahora solo lo comprobamos escribiendo en la consola: asterisk –rvvvvv Si todo está correctamente instalado nos aparecería la consola de Asterisk.
  • 19. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 19
  • 20. 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 configuración 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 manipulación y uso del archivo sip.conf ya que este es el comúnmente usado en la práctica. El archivo sip.conf está estructurado en tres bloques. La parte general donde hay que definir la configuración general de nuestras extensiones, el bloque central donde configuraremos la registración 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 comunicación interna, pues no poseemos salida hacia un proveedor VoIP externo.  Definiendo el contexto [general] Algunos parámetros 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.
  • 21. 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 códecs de sonido que vamos a utilizar. Permite valores como 'all', 'alaw', 'ulaw', 'gsm', etc. disallow: códecs de audio que no vamos a permitir. Cuando vamos a restringir los códecs 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 extensión. 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
  • 22. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 22  Configurando clientes SIP Para configurar un cliente SIP se utilizan parámetros como los siguientes (los parámetros expresados aquí son los más básicos pero a la vez el más importante para la definición de un cliente SIP): type: define la clase de conexión 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: contraseña con la que se realizará la autenticación 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 más adelante. dtmfmode: Dual-Tone Multi-Frequecy (DTMF) se refiere a la marcación por tonos. Normalmente le especifico que use el estandar rfc2833. qualify: si se establece a 'yes' podremos monitorizar la extensión. Esta configuración no es muy recomendable cuando tenemos muchas extensiones.
  • 23. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 23 host: dirección donde se encuentra conectado el dispositivo por default se le pone “dynamic” Aquí un ejemplo de la definición 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 sección “madre” donde se configuran todos los parámetros comunes Para especificar que una sección actuara como una máscara se utiliza la siguiente nomenclatura:
  • 24. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 24 [nombre_seccion](!) Ahora aplicaremos mascara a nuestra extensión creada para ejemplificar: [plantilla](!) secret=voipb type=friend host=dynamic context=ext-voipb qualify=yes dtmfmode=rfc2833 Ahora definimos la extensión 4000: [4000](plantilla) callerid=voipb username=4000 Como se puede observar una máscara nos simplifica la definición de dispositivos SIP; ¿Sencillo no?, ahora hagamos la teoría una práctica. Accesamos a la siguiente localidad: root@voipb:~# cd /etc/asterisk/
  • 25. 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!
  • 26. 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
  • 27. 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
  • 28. 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 estén declaradas, no quiere decir que ya podamos configurar nuestros terminales para comunicarnos.  EXTENSIONS.CONF El archivo extensions.conf sin duda es el más importante para la puesta en marcha de nuestra centralita. En él se define todo lo relacionado con el Dialplan. Cualquier número marcado desde una extensión será procesado dentro de este archivo. Al igual que el sip.conf está dividido en tres bloques:  La parte general donde se configuran algunos parámetros generales  Globals donde se definen las variables que se van a utilizar en la centralita  Ultima parte donde se encuentra toda la configuración de las llamadas. Algunos de los parámetros 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: protección frente a escritura, si se deja como “no” comandos como “save dialplan” modificaran los ficheros de configuración. autofallthrough: si esta activada esta opción, cuando una extensión haya acabado de ejecutar sus prioridades o la lógica salte a una prioridad inexistente hará que la llamada se cuelgue, señalizándola como BUSY, CONGESTION o HANGUP dependiendo de que sea ésta la mejor opción para Asterisk
  • 29. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 29 clearglobalvars: si se desactiva las variables globales permanecerán 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 ejecución devuelve una prioridad a la que se debe saltar. Para que esto suceda debe activarse este parámetro. En el archivo extensions.conf es común 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 más básico para la manipulación del archivo extensions.conf, la forma de crear prioridades es la siguiente: Debido a que la extensión permanece igual durante el transcurrir de todas las prioridades se creó el operando same=> para facilitar la codificación:
  • 30. 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 más que contracciones para generar más de una posibilidad de marcación en la que podría caer un posible número 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 básico 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
  • 31. 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 sería en su defecto nuestro archivo extensions.conf ahora estamos listo para realizar pruebas de comunicación, pero antes en nuestro servidor deberíamos tener lo siguiente: Bien ahora procederemos a hacer las pruebas correspondientes de comunicación: 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
  • 32. 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 aparecería lo siguiente: Ahora comprobaremos que nuestras extensiones creadas en el sip.conf estén siendo reconocidas por nuestro Asterisk esto se hace de la siguiente forma: voipb*CLI> sip show peers
  • 33. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 33 El resultado es el siguiente: Lógicamente no tenemos ninguna extensión en línea pues no hemos configurado ninguna. Ahora el siguiente paso es configurar nuestros terminales SIP, en nuestro caso utilizaremos softphones (X-Lite, Zoiper, 3CX, etc.).
  • 34. 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 página web: https://www.counterpath.com/x-lite.html Luego de descargarlo procederemos a instalarlo, en este punto no me detendré a explicar cómo instalar un software, pues asumiremos que es sencillo; una vez instalado ejecutarlo.
  • 35. 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:
  • 36. 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 extensión en el sip.conf y una vez configurado todos los parámetros presionar “ok” Ahora nuestro softphones se encuentra registrado y listo para ser usado, a continuación se presentan los mensajes que se envían a la hora del registro del terminal SIP (captura hecha
  • 37. 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.
  • 38. 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 comunicación 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.
  • 39. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 39  Capturas Wireshark Asterisk.
  • 40. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 40 Las capturas anteriores pertenecen a una comunicación entre dos terminales SIP dichas capturas respetan la RFC3761. Hasta aquí hemos llegado a lo referido a la instalación y configuración de nuestra centralita Asterisk.
  • 41. 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 dirección IP a partir de un nombre o viceversa. En VoIP y servicios más avanzados se considera como una base de datos distribuida que mantiene nombres alfanuméricos y sus correspondientes direcciones IP.  SRV (Services Record) Con la introducción de SRV (RFC2782), los clientes DNS pueden consultar un dominio para un servicio o protocolo en particular y obtener el nombre o dirección del servidor que presta dicho servicio. Este servicio es más que todo utilizado para distribuir la carga mediante el uso de varios servidores para dar servicio a un único dominio La unión 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 configuración: root@voip:~# cd /etc/bind/
  • 42. 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 más importante en nuestro caso es el name.conf.local a su vez este nos generara otros archivos que más adelante explicaremos. Ahora ponemos manos a la obra y lo primero que hay que hacer es determinar cómo 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 quedaría 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 dirección inversa de nuestra red zone "1.168.192.in-addr.arpa" {
  • 43. 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 parámetros de nuestro servicio de DNS SRV, pues bien, ahora comenzamos con la creación y edición de nuestro primer db:  db.voipfree root@voip:/etc/bind# cp db.local /etc/bind/db.voipfree root@voip:/etc/bind# nano db.voipfree
  • 44. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 44 En mi caso el archivo de configuración quedaría de la siguiente manera:  db.192 Este archivo es el encargado de crear nuestra dirección 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 configuración queda de la siguiente forma:
  • 45. 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 cómo trabaja este servicio. Pero antes de probar cambiaremos la dirección DNS de nuestro servidor de la siguiente forma: root@voip:~# nano /etc/resolv.conf Nos saldrá la siguiente pantalla: En namesever ponemos la dirección de nuestro servidor DNS en mi caso es la 192.168.1.8 guardamos y ya estamos listo para realizar pruebas.
  • 46. 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
  • 47. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 47  Callflow de una llamada DNS SRV
  • 48. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 48 Hasta aquí llega el apartado de configuración DNS SRV, solamente un consejo, hay que tener paciencia ya que quizás no todo sale a la primera, al menos, en mi caso personal, pase dos horas resolviendo problemas con respecto a los archivos de configuración de Bind9, es por eso que se insiste con las capturas de trazas, pues estás nos ayudan a determinar dónde está el error o que es lo que se está enviando mal, así como también la constante observación del log, este se puede localizar en la siguiente ubicación: /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.
  • 49. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 49
  • 50. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 50 ANEXOS
  • 51. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 51
  • 52. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 52
  • 53. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 53
  • 54. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 54
  • 55. 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
  • 56. MANUAL DE INSTALACION Y CONFIGURACION | ASTERISK 12.1.1 y DNS-SRV 56 Copyright Este documento fue diseñado y redactado por Luis Alejandro Regalado Moreno Es una recopilación y resumen de varios libros, tutoriales y documentos consolidados en este único manual. Se permite la distribución, modificación y edición 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)