
Asterisk es el marco de código abierto más popular y ampliamente adoptado para crear aplicaciones de comunicaciones. Lo utilizan particulares, pequeñas y grandes empresas y gobiernos de todo el mundo.
Las funciones de Asterisk incluyen conferencias telefónicas, correo de voz, música en espera, transferencia de llamadas, cola de llamadas, grabación de llamadas, almacenamiento/recuperación de bases de datos y mucho más.
En este tutorial le mostraremos cómo instalar Asterisk 15 en Debian 9.
Una versión anterior de Asterisk (versión 13) está disponible en el repositorio de software de Debian y se puede instalar conapt install asterisk
. Requisitos previos #
Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Actualice su servidor Debian e instale los paquetes necesarios para descargar y compilar Asterisk:
sudo apt update && sudo apt upgrade
sudo apt install wget build-essential subversion
Descargando Asterisk #
Al momento de escribir este artículo, la última versión estable de Asterisk es la versión 15.
Cambie a /usr/src
y descargue el código fuente de Asterisk con el siguiente comando wget:
cd /usr/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Una vez completada la descarga, use el comando tar para extraer el archivo:
sudo tar zxf asterisk-15-current.tar.gz
Asegúrese de cambiar al directorio fuente de Asterisk antes de continuar con los siguientes pasos:
cd asterisk-15.*/
Instalación de dependencias de Asterisk #
Ejecute el siguiente script para descargar las fuentes MP3 que se requieren para construir el módulo MP3 y usar archivos MP3:
sudo contrib/scripts/get_mp3_source.sh
A continuación, ejecute install_prereq
script para resolver todas las dependencias en su sistema Debian:
sudo contrib/scripts/install_prereq install
El script instalará todos los paquetes necesarios y, una vez completado con éxito, imprimirá el siguiente mensaje:
#############################################
## install completed successfully
#############################################
Aquí verá el código de teléfono predeterminado ITU-T de 61. Pero en nuestro caso, si se encuentra en América del Norte como yo, querrá cambiarlo a 1
Instalando Asterisk #
Ejecute configure
script que tendrá el código Asterisk listo para compilar:
sudo ./configure
Al completar con éxito, verá el siguiente resultado:

El siguiente paso es seleccionar los módulos que desea compilar e instalar. Acceda al sistema Menuselect, escribiendo:
sudo make menuselect
Ya hemos descargado los archivos fuente MP3 y ahora debemos decirle a Asterisk que cree el módulo MP3 seleccionando format_mp3
:

Una vez que haya terminado, presione F12
para guardar y salir, o cambiar a Save and Exit
y presiona Enter
.
Inicie el proceso de compilación utilizando make
comando:
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 que se complete el proceso de compilación, se le presentará el siguiente mensaje:

Instale Asterisk y sus módulos escribiendo:
sudo make install
Cuando se complete la instalación, aparecerá el siguiente mensaje:

Ahora que Asterisk está instalado, el siguiente paso es instalar los archivos de configuración de muestra.
Puede instalar los archivos de configuración genéricos con documentación de muestra ejecutando:
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 puede ejecutar ldconfig
para actualizar el caché de bibliotecas compartidas:
sudo ldconfig
Creando usuario Asterisk #
Por defecto, Asterisk se ejecuta como usuario root. Por razones de seguridad, crearemos un nuevo usuario del sistema y configuraremos Asterisk para que se ejecute como el usuario recién creado.
Cree un nuevo usuario del sistema llamado asterisk
emitiendo el siguiente comando:
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
sudo nano /etc/default/asterisk
Y descomente las siguientes dos líneas:
/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
Cambie 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 estamos listos, inicie el servicio Asterisk escribiendo:
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:

Escribe exit
o presiona CTRL+C
para salir de la CLI de Asterisk.
El último paso es habilitar el servicio Asterisk para que se inicie en el arranque:
sudo systemctl enable asterisk
Configuración del cortafuegos #
De forma predeterminada, SIP utiliza el puerto UDP 5060, para abrir el puerto ejecute:
iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
Si habilitó el Protocolo en tiempo real (RTP), también debe abrir el siguiente rango de puertos:
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT
Siéntase libre de ajustar el firewall según sus necesidades.