VOZ logo

Cómo instalar Asterisk como un profesional

http://www.sinologic.net/A principios de años comentamos que iniciaríamos una serie de artículos introductorios sobre Asterisk orientados principalmente a aquellas personas que quieren comenzar y que no saben por donde. Si bien existen libros que pueden seguir, en Sinologic vamos a crear algunos artículos que seguro que ayudarán a cualquiera a aprender cómo funciona Asterisk de una forma rápida, sencilla y eficaz.

El primero de esta serie de artículos es «Cómo instalar Asterisk«, algo fundamental y que debemos aprender. Seguro que existen cientos de artículos donde se explican cómo instalar Asterisk, pero confío en que puedas ver algunas diferencias que pueden hacer de tu Asterisk algo mejor que el resto. 😉

Para seguir esta lista de artículos, puedes ver el tag #ast101 con los que vamos a marcarlos, de forma que pueda ser fácilmente identificables y sirva para que cualquier visitante pueda aprender a instalar y configurar Asterisk en condiciones.

Antes de empezar, vamos a plantear dos posibles escenarios: Centos o Debian. Ambos sistemas disponen de Asterisk en modo «paquete binario», por lo que si vemos que se nos complica la instalación, siempre podemos instalarlo mediante yumapt-get y tendremos un Asterisk listo para funcionar, aunque no tan «pro» como este que vamos a instalar ahora.

La forma de instalar Asterisk es uno de los puntos más importantes, ya que de esto dependerá el soporte y las características que tendremos disponibles, los recursos utilizados e incluso algún bug de seguridad que otro, por lo tanto, vamos a empezar…


Descarga del código fuente de Asterisk

Hay varias formas de descargar el código fuente de Asterisk, una de ellas es accediendo a la web http://downloads.asterisk.org/pub/telephony/asterisk/ y buscando el paquete tar.gz que queramos. No obstante, soy más de utilizar la herramienta subversion (svn) ya que podemos actualizar el código fuente y ver qué ha cambiado con tan solo ejecutar el comando svn update. Para ello, vamos a irnos al directorio /usr/src (el directorio oficial donde trabajar con código fuente) y descargaremos la versión estable de Asterisk en el directorio ‘asterisk

yum -y install subversion || apt-get install subversion

cd /usr/src

svn co http://svn.asterisk.org/svn/asterisk/branches/11/ asterisk


Dependencias

Las dependencias son aquellos paquetes que vamos a necesitar para instalar Asterisk. Por supuesto, ya que vamos a instalar Asterisk desde código fuente, vamos a necesitar instalar las librerías y compiladores que utiliza Asterisk, en su modo «desarrollo» (developer, devel o dev) así que vamos a proceder a la instalación. Por lo general, podríamos poner una lista gigantesca de todos los paquetes y librerías necesarias para la compilación, no obstante, vamos a acelerar un poco la instalación de estas librerías mediante un par de comandos:

cd /usr/src/asterisk/contrib/scripts

./install_prereq install

ldconfig -v

El script install_prereq hace una comprobación de los paquetes ya instalados en tu sistema e instala automáticamente el resto de paquetes que pueden hacer falta para una instalación completa. Lo bueno de esta forma de instalar dependencias, es que nos va a permitir compilar Asterisk con prácticamente todas las opciones que podamos necesitar, todo el soporte para poder compilar cualquier módulo, lo malo es que, al poder compilar cualquier módulo, tendremos que filtrar manualmente qué módulos queremos cargar y cuales no.


Compilación

cd /usr/src/asterisk

./configure

Con el comando configure, el sistema analiza todas las librerías que tenemos instaladas (incluyendo las que hemos instalado en el apartado de ‘dependencias’) y prepara el código fuente para la compilación completa del sistema. Aunque podemos empezar la compilación, hay un comando que es recomendable ejecutar antes:

make menuconfig

Con este comando, accederemos a un sistema de menús donde podremos ver qué módulos podemos compilar y seleccionar alguno extra o evitar que se compile alguno que no nos interese. Podríamos seleccionar únicamente los módulos que queremos compilar, pero es más interesante compilarlos todos y seleccionar cual no queremos a posteriori. Una vez revisado todo, empezamos la compilación:

make && make install

Con este comando, comenzamos la compilación, que según la potencia del sistema puede llevar unos 7~12 minutos y tras la compilación, instalará cada archivo en su correspondiente directorio:

  • Archivos ejecutables en el directorio /usr/sbin
  • Módulos de Asterisk en el directorio /usr/lib/asterisk/modules
  • Archivos de sonidos en el directorio /var/lib/asterisk/sounds
  • Archivos temporales y spool en /var/spool/asterisk
  • Archivos de logs y CDR en /var/log/asterisk

Archivos de ejemplo

Si os fijáis, no se instalan los archivos de configuración, ya que, en caso de estar actualizando y tener ya archivos de configuración nuestros, sobreescribiríamos estos archivos. Por esta razón, hay un comando especial para crear los archivos de configuración básicos y que sobreescribiría cualquier archivo de configuración que hubiera:

make samples

Tras ejecutar este comando, el sistema creará en el directorio /etc/asterisk, todos los archivos de configuración. Tanto los que necesitemos, como los que no.


Últimos pasos

Por último, y para finalizar la instalación, ejecutaremos un último comando que generará los scripts de arranque, de forma que cuando encendamos el servidor, arranque Asterisk automáticamente.

make config

Con esto, se podría finalizar la instalación básica, pero con la ventaja de disponer de soporte de prácticamente cualquier módulo. No obstante, no nos vamos a quedar aquí y vamos a hacer unas cosas más para asegurarnos que nuestro Asterisk está realmente bien instalado y configurado. Primeramente necesitaremos arrancar el servicio:

service asterisk start

Una vez ejecutada esta línea, ya tendremos nuestro servidor Asterisk instalado y listo para empezar a configurar, algo que dejaremos para una siguiente entrega.

Anterior artículoEl éxito de los «Appliances» y el retorno de las tarjetas
Siguiente artículo 10147-10117En VoIP, la conexión a la red es la materia prima