Asterisk es una popular plataforma PBX de código abierto para desarrollar aplicaciones de comunicaciones como servidores de conferencias y puertas de enlace VoIP. Lo utilizan particulares, pequeñas y grandes empresas y gobiernos de todo el mundo.
Las funciones de Asterisk incluyen correo de voz, música en espera, llamadas en conferencia, cola de llamadas, grabación de llamadas, respuesta de voz interactiva, mensajería SMS y más.
Este tutorial explica cómo instalar Asterisk en Ubuntu 20.04.
Los repositorios de Ubuntu incluyen una versión anterior de Asterisk. Instalaremos la última versión de Asterisk desde el código fuente.
Requisitos previos #
Instale los siguientes paquetes que son necesarios para descargar y compilar Asterisk:
sudo apt update
sudo apt install wget build-essential git autoconf subversion pkg-config libtool
Instalando DAHDI y LibPRI #
DAHDI es un conjunto de drivers y utilidades que permite a Asterisk comunicarse con teléfonos analógicos y digitales. La biblioteca LibPRI permite que Asterisk se comunique con conexiones ISDN. Si no necesita estas bibliotecas, puede omitir esta sección.
Cambia a /usr/src
directorio y descargar e instalar DAHDI:
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
sudo make
sudo make install
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
cd dahdi-tools
sudo autoreconf -i
sudo ./configure
sudo make install
sudo make install-config
sudo dahdi_genconf modules
Ejecute los siguientes comandos para compilar LibPRI:
cd /usr/src/
sudo git clone https://gerrit.asterisk.org/libpri libpri
cd libpri
sudo make
sudo make install
Instalando Asterisk #
Clona la fuente de Asterisk en el /usr/src
directorio:
cd /usr/src/
sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18
Al momento de escribir, la última versión de Asterisk es 18.x. Si hay una nueva versión disponible, cambie el número de sucursal en el comando anterior.
Antes de continuar con los siguientes pasos, cambie al directorio fuente de Asterisk:
cd asterisk-18/
Descargue las fuentes MP3 que se requieren para construir el módulo MP3 y use archivos MP3 en Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Ejecute el install_prereq
script para instalar las dependencias necesarias:
sudo contrib/scripts/install_prereq install
El configure
script realiza varias comprobaciones para asegurarse de que todas las dependencias de su sistema estén presentes. Ejecute el script escribiendo:
sudo ./configure
El siguiente paso es seleccionar los módulos que desea compilar e instalar. Acceda al menú de selección, escribiendo:
sudo make menuselect
Seleccione la opción “format_mp3” para decirle a Asterisk que cree el módulo MP3:
Una vez que haya terminado, cambie al botón "Guardar y salir" y presione "Entrar".
Inicie el proceso de compilación:
sudo make -j2
La compilación puede tardar algún tiempo, dependiendo de su sistema. Puede modificar el -j
bandera según el número de núcleos en su procesador.
Una vez completado, instale Asterisk y sus módulos escribiendo:
sudo make install
Puede instalar los archivos de configuración genéricos con documentación de referencia escribiendo:
sudo make samples
O instale los archivos de configuración básicos de PBX:
sudo make basic-pbx
El último paso es instalar el script de inicio de Asterisk escribiendo:
sudo make config
También es una buena idea ejecutar ldconfig
para actualizar el caché de bibliotecas compartidas:
sudo ldconfig
Creando usuario Asterisk #
Por defecto, Asterisk se ejecuta como usuario root. Crearemos un nuevo usuario del sistema y configuraremos Asterisk para que se ejecute como el usuario recién creado por razones de seguridad.
Ejecute el siguiente comando para crear un nuevo usuario del sistema llamado asterisk
:
sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
Para configurar Asterisk para que se ejecute como asterisk
usuario, abra el /etc/default/asterisk
archivo y descomente las siguientes dos líneas:
sudo nano /etc/default/asterisk
/etc/default/asteriskAST_USER="asterisk"
AST_GROUP="asterisk"
Añade el asterisk
usuario al dialout
y audio
grupos:
sudo usermod -a -G dialout,audio asterisk
También necesitamos cambiar la propiedad y los permisos de todos los archivos y directorios de Asterisk para que el usuario Asterisk pueda acceder a esos archivos:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Asterisco inicial #
Ahora que ya está todo configurado, inicie el servicio Asterisk con el siguiente comando:
sudo systemctl start asterisk
Para verificar que Asterisk se está ejecutando, conéctese a la interfaz de línea de comandos (CLI) de Asterisk escribiendo:
sudo asterisk -vvvr
Verá el indicador CLI predeterminado de Asterisk:
Connected to Asterisk GIT-18-263f906af4 currently running on ubuntu2004 (pid = 91303)
ubuntu2004*CLI>
El último paso es habilitar el servicio Asterisk para que se inicie en el arranque con:
sudo systemctl enable asterisk
Configuración del cortafuegos #
El cortafuegos protegerá su servidor contra el tráfico no deseado.
Si no tiene un firewall configurado en su servidor, puede consultar nuestra guía sobre cómo configurar un firewall con ufw en ubuntu
De forma predeterminada, SIP utiliza el puerto UDP 5060, para abrir el puerto ejecute:
sudo ufw allow 5060/udp
Si habilitó el Protocolo en tiempo real (RTP), también debe abrir el siguiente rango de puertos:
sudo ufw allow 10000:20000/udp
No dude en ajustar el cortafuegos según sus necesidades.