Cómo instalar Asterisk 13 como un profesional
Desde que comencé con Sinologic, uno de los objetivos de esta página ha sido utilizarla como «bloc de notas» en la que publicar cosas interesantes que quiero tener «a mano» y de esa manera poder buscarla fácilmente. Por casualidades de la vida, uno de los artículos qué más he utilizado para este objetivo ha sido el que explicaba Cómo instalar Asterisk como lo haría un profesional, de una forma rápida, sencilla y completa, ya que generalmente es por donde empiezo para que personas que están aprendiendo instalen rápidamente su propio Asterisk y se pongan manos a la obra. Me he dado cuenta que la versión anterior estaba bastante desfasada, por lo que he optado por actualizarla para que sea más independiente de la versión. Quizá esta no sea la forma más rápida de instalar un Asterisk, pero casi con seguridad, es una de las más completas.
Esta pequeña guía paso a paso ha sido probada en varios equipos y distribuciones, pero las versiones de los paquetes pueden cambiar de un día para otro y dejar de funcionar, por lo que si en algún punto ha fallado, da algún error, coméntanoslo por aquí para que corrijamos la guía y pueda seguir ayudando al mayor número de usuarios posible.
1º.- Instalando todas las dependencias.
Esta parte es muy importante, ya que en función de las dependencias que instalemos, podremos disponer de más o menos características en Asterisk, por lo que vamos a intentar (aunque tarde un poco más en compilar) aprovechar las herramientas que nos ofrece Asterisk para instalar una versión lo más completa posible.
yum install git || apt-get install git aptitude
Una vez instalada esta única herramienta, vamos a utilizarla para descargar el repositorio de Asterisk
cd /usr/src
git clone https://github.com/asterisk/asterisk asterisk
cd asterisk
Como queremos utilizar la versión LTS, indicaremos que únicamente utilizaremos la versión 13. (los pasos son idénticos en caso de querer otra versión, tan solo hay que indicar el branch –de los disponibles– que queremos utilizar):
git checkout 13
Y ahora por fin vamos a empezar a instalar los paquetes que nos abrirán las puertas a las funcionalidades de Asterisk:
contrib/scripts/install_prereq install
contrib/scripts/get_ilbc_source.sh
contrib/scripts/get_mp3_source.sh
2º.- Confirmando lo que queremos instalar.
Lo primero es indicar que queremos tener la posibilidad de utilizar PJSIP. Si aún no has dado el salto, no te preocupes seguirás teniendo chan_sip, pero siempre viene bien tenerlo instalado para cuando quieras empezar a utilizarlo. La herramienta «configure» analiza todo el sistema en busca de librerías instaladas y, en base a eso crea una lista de «características» que pueden ser instaladas o no. También nos permite seleccionar algunas opciones como parámetros.
./configure –with-pjproject-bundled
make menuselect
Si quieres seleccionar cosas que, por defecto vienen desactivadas (como el codec_opus), entonces puedes ejecutar el siguiente comando y seleccionar las cosas que faltan. Si no, siempre puedes continuar al siguiente punto.
3º.- Compilando.
Como hemos instalado todas las dependencias y hemos seleccionado todas las opciones posibles tardará un poco más en compilar, lo que en un procesador Intel i5 puede llevarnos unos 6 minutos.
Recuerda que la compilación tardará más o menos en función del procesador y de la memoria RAM disponible.
make && make install
Como vamos a querer partir con algo funcional, vamos a instalar los archivos de configuración por defecto.
Nota importante: Si ya tienes archivos de configuración, no ejecutes este comando, ya que posiblemente renombrará los antiguos con la extensión .old.
make samples
Y un último comando para que instale los scripts de inicio en el sistema para que arranque cuando se reinicie el servidor:
make config
systemctl start asterisk
systemctl status asterisk
Y voilá! ya tenemos nuestro Asterisk funcionando…
# asterisk -rvvvv Asterisk GIT-13-13.15.0-rc1-1415-gdfd0529, Copyright (C) 1999 - 2014, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk GIT-13-13.15.0-rc1-1415-gdfd0529 currently running on server-testing (pid = 11994)
¿Y tú? ¿Ya instalas Asterisk como un profesional?