LINUX

Cómo instalar Asterisk 13 en Ubuntu 16.04 desde la fuente

Asterisk es el servidor VoIP con soporte SIP y PJSIP para sistemas operativos basados ​​en Linux y es una gran herramienta para aprender SIP y aventurarse en el mundo de VoIP. Para ello, vamos a realizar la instalación de Asterisk 13 en Ubuntu 16.04 Server. Se ejecutará como usuario de asterisco y estamos compilando desde la fuente para obtener la última versión. Durante la instalación y la primera ejecución, para evitar problemas, es mejor ejecutar Asterisk como root. Más tarde lo cambiaremos a usuario de asterisco para mayor seguridad. Ubuntu por defecto no tiene una cuenta de root utilizable, así que comencemos por crear una.

Instalar Asterisk desde la fuente

Después de iniciar sesión en su servidor Ubuntu como usuario, emita el siguiente comando para cambiar a root

sudo su

Ahora eres root, pero necesitas establecer una contraseña con el comando

passwd

Tenga en cuenta que todavía no podrá realizar ssh en su servidor como root, aún necesitará ssh como usuario y luego escribir su.

El siguiente paso sería instalar las dependencias iniciales para el asterisco

apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion

Ahora, cuando somos root y las dependencias están satisfechas, podemos movernos a / usr / src / dir y descargar el asterisco allí.

cd /usr/src
wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

A continuación lo desempaquetamos.

tar zxvf asterisk-13-current.tar.gz

Ahora necesitamos cd en el directorio recién descomprimido, pero realmente no sabemos cómo se llama el directorio. Comienza con asterisco-13 y luego hay una versión menor que en el momento de escribir este artículo es 13.10.0 pero podría cambiar en el futuro porque el comando wget tenemos más arriba, siempre descarga la última versión de Asterisk 13 desde aquí. Entonces usamos * (sí, asterisco) para hacer esta guía preparada para el futuro:

cd asterisk-13*

Antes de que compilemos el código de asterisco, necesitamos pjproject, ya que el asterisco 13 presenta el soporte para pjsip. Entonces lo compilaremos primero:

git clone git://github.com/asterisk/pjproject pjproject
cd pjproject

./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'

make dep
make && make install
ldconfig
ldconfig -p |grep pj

Y ahora comenzamos a configurar y compilar el código de Asterisk

cd ..
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install

Esto instalará tonos mp3 y satisfará dependencias adicionales que pueden llevar algún tiempo y le pedirán el código de su país. El siguiente comando compilará e instalará asterisco

./configure && make menuselect && make && make install

Cuando termine, para evitar hacer cientos de archivos de configuración usted mismo, después de la instalación, normalmente desea ejecutar este comando, que hará la configuración inicial por usted:

make samples

Y para tener el script de inicio instalado y habilitado para iniciar asterisco en cada inicio, ejecutamos make config, seguido de ldconfig:

make config
ldconfig

Ahora podemos comenzar con asterisco por primera vez y ver si realmente funciona.

/etc/init.d/asterisk start

y luego podemos ingresar a la consola de asterisco con el comando

asterisk -rvvv

Si todo ha ido bien, debería ir a la consola con un asterisco como usuario root. Eso no es lo que queremos.

Por lo tanto, debemos realizar pasos adicionales para que se ejecute como usuario de asterisco. Primero debemos detener el asterisco. Ahora podemos usar el comando systemd systemctl para iniciar y detener

systemctl stop asterisk

Luego necesitamos agregar un grupo y un usuario llamado asterisco.

groupadd asterisk
useradd -d /var/lib/asterisk -g asterisk asterisk

Asterisk debe configurarse para comenzar como el usuario que acabamos de crear, podemos editar / etc / default / asterisk a mano, pero es más eficiente usarlo siguiendo dos comandos sed.

sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk

Para que se ejecute correctamente, se debe asignar al usuario de asterisco la propiedad de todos los directorios de asterisco esenciales

chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk

El asterisk.conf también debe editarse en líneas no comentadas para runuser y rungroup:

sed -i 's/;runuser = asterisk/runuser = asterisk/g' /etc/asterisk/asterisk.conf
sed -i 's/;rungroup = asterisk/rungroup = asterisk/g' /etc/asterisk/asterisk.conf

una vez hecho esto, reinicie el servidor para que Asterisk aparezca automáticamente en systemd, y luego escriba asterisk -rvvv para ingresar a la consola de asterisk

asterisk -rvvv
Asterisk 13.10.0, 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.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 13.10.0 currently running on ubuntu (pid = 2812)
ubuntu*CLI>

Si obtiene un resultado similar, principalmente que se ejecuta como asterisco de usuario y asterisco de grupo, significa que todo salió bien. La configuración básica de Asterisk 13 está completa y debe agregar sus planes de marcación y extensiones para comenzar a llamar desde sus softphones.

También hemos grabado un video sobre cómo instalar asterisk.

Lea también:

Conclusión

Las posibilidades son enormes y el asterisco es considerablemente más amigable para los principiantes que otros servidores como Kamailio, por ejemplo, por lo que no tendrá demasiados problemas para encontrar la configuración adecuada para su caso de uso en Internet. Puede comenzar leyendo los manuales oficiales de asterisk y un sencillo ejemplo de hola mundo a partir de ahí. Solo tenga en cuenta que recomiendan Zoiper como softphone, que es un software propietario y en la versión gratuita no admite la reproducción ni el correo de voz. I usar Linphone personalmente que admite esas funciones y es un código completamente abierto y multiplataforma, con versiones de Linux, Windows, Mac, Android y Windows Phone disponibles. También puedes investigar Jitsi y Ring (antes SFLphone) y vea cuál le resulta más cómodo de usar. Si se está conectando a su servidor desde una Mac, podría considerar Teléfono, una aplicación gratuita de la tienda de aplicaciones. Con eso, concluimos este tutorial. Si detecta un error, no dude en comentarlo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar