Manual asterisk dns srv
Upcoming SlideShare
Loading in...5
×
 

Manual asterisk dns srv

on

  • 286 views

Configuracion de asterisk y dns-srv (hecho en El Salvador)

Configuracion de asterisk y dns-srv (hecho en El Salvador)

Statistics

Views

Total Views
286
Views on SlideShare
286
Embed Views
0

Actions

Likes
0
Downloads
36
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Manual asterisk dns srv Manual asterisk dns srv Document Transcript

  • 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)