Cómo instalar el servidor VoIP Asterisk 17 en Ubuntu 20.04
Asterisk es un servidor VoIP gratuito y de código abierto creado por Sangoma. Se utiliza para construir una infraestructura de telefonía VoIP para organizaciones de todos los tamaños. VoIP es un Protocolo de Voz sobre Internet que se utiliza para hacer una llamada usando la pila TCP/IP. Con VoIP, puedes hacer una llamada desde tu dispositivo móvil u ordenador a otros dispositivos sin ningún coste. Funciona en sistemas operativos basados en Unix y Linux y es capaz de conectar cualquier red de telefonía global tradicional. Ofrece un conjunto de funciones que incluyen, conferencia telefónica, buzón de voz, IVR y distribución automática de llamadas.
En este tutorial, aprenderemos a instalar el servidor Asterisk y la interfaz gráfica de Asterisk en Ubuntu 20.04.
Requisitos previos
- Un servidor con Ubuntu 20.04.
- Una dirección IP estática configurada en tu servidor.
- Se ha configurado una contraseña de root en el servidor.
Cómo empezar
Primero, actualiza los paquetes de tu sistema a la última versión con el siguiente comando:
apt-get update -y
Una vez actualizado tu sistema, tendrás que instalar otras dependencias que requiere Asterisk. Puedes instalarlas todas con el siguiente comando:
apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -y
Después de instalar todos los paquetes, puedes pasar al siguiente paso.
Instalar Asterisk
Por defecto, la última versión de Asterisk no está disponible en el repositorio por defecto de Ubuntu 20.04. Así que tendrás que descargarla y compilarla desde el código fuente.
Primero, descarga la última versión de Asterisk con el siguiente comando:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
Una vez descargado, extrae el archivo descargado con el siguiente comando:
tar -xvzf asterisk-17-current.tar.gz
A continuación, cambia el directorio al extraído e instala todos los módulos MP3 necesarios con el siguiente comando:
cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh
Deberías obtener la siguiente salida:
A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c Exported revision 202.
A continuación, instala las demás dependencias con el siguiente comando
contrib/scripts/install_prereq install
Deberías ver la siguiente salida:
############################################# ## install completed successfully #############################################
A continuación, configura el Asterisk con el siguiente comando
./configure
Deberías obtener la siguiente salida:
configure: Menuselect build configuration successfully completed .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
A continuación, ejecuta el siguiente comando para seleccionar e instalar algunos módulos recomendados:
make menuselect
Se te pedirá que selecciones el módulo que desees. Utiliza las teclas de flecha para navegar y pulsa la tecla Enter para seleccionar, como se muestra a continuación:
Habilita los complementos como se muestra a continuación:
Habilitar los módulos de sonido del núcleo como se muestra a continuación:
Habilitar los paquetes MOH como se muestra a continuación:
Habilitar los paquetes de sonido extra como se muestra a continuación:
Una vez que hayas terminado, haz clic en el botón Guardar y Salir para guardar los cambios e instalar todos los complementos.
A continuación, tendrás que construir el Asterisk. Puedes hacerlo con el siguiente comando:
make
Deberías ver la siguiente salida:
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+
A continuación, instala el Astersik, la configuración y la muestra ejecutando el siguiente comando:
make install
make samples
make config
ldconfig
Una vez que hayas terminado, puedes pasar al siguiente paso.
Crear un usuario Astersik
A continuación, tendrás que crear un usuario y un grupo de Asterisk y cambiar la propiedad del directorio de configuración de Asterisk.
Primero, crea un usuario y un grupo con el siguiente comando:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
A continuación, añade el usuario de audio y dialout al grupo Asterisk ejecutando el siguiente comando:
usermod -aG audio,dialout asterisk
A continuación, cambia la propiedad del directorio de configuración de Asterisk con el siguiente comando:
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar Asterisk
A continuación, edita el archivo /etc/default/asterisk y establece el usuario por defecto como Asterisk:
nano /etc/default/asterisk
Descomenta las siguientes líneas:
AST_USER="asterisk" AST_GROUP="asterisk"
Guarda y cierra el archivo cuando hayas terminado, luego edita el archivo de configuración por defecto de Asterisk y establece la ejecución como usuario a Asterisk:
nano /etc/asterisk/asterisk.conf
Descomenta las siguientes líneas:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Guarda y cierra el archivo y luego inicia el servicio de Asterisk y permite que se inicie al reiniciar el sistema con el siguiente comando:
systemctl restart asterisk
systemctl enable asterisk
Ahora puedes verificar el estado del servicio Asterisk con el siguiente comando:
systemctl status asterisk
Deberías obtener la siguiente salida:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/init.d/asterisk; generated) Active: active (running) since Mon 2020-10-19 12:39:41 UTC; 2min 49s ago Docs: man:systemd-sysv-generator(8) Process: 47946 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCCESS) Tasks: 71 (limit: 4691) Memory: 41.7M CGroup: /system.slice/asterisk.service ??47965 /usr/sbin/asterisk -U asterisk -G asterisk Oct 19 12:39:41 ubuntu2004 systemd[1]: Starting LSB: Asterisk PBX... Oct 19 12:39:41 ubuntu2004 asterisk[47946]: * Starting Asterisk PBX: asterisk Oct 19 12:39:41 ubuntu2004 asterisk[47946]: ...done.
A continuación, verifica la conexión de Asterisk con el siguiente comando:
asterisk -rvv
Deberías obtener la siguiente salida:
Asterisk 17.7.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> 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 17.7.0 currently running on ubuntu2004 (pid = 47965) ubuntu2004*CLI>
Habilitar la GUI de Asterisk
Para poder acceder a Asterisk desde el navegador web, deberás habilitar la GUI de Asterisk. Primero, edita el archivo /etc/asterisk/http.conf:
nano /etc/asterisk/http.conf
Descomenta y cambia las siguientes líneas:
enabled = yes bindaddr = 0.0.0.0 bindport = 8088 prefix = asterisk enable_static = yes enablestatic = yes redirect = / /static/config/index.html uploads = /var/lib/asterisk/uploads/
Guarda y cierra el archivo, luego edita el archivo /etc/asterisk/manager.conf y establece tu usuario administrador:
nano /etc/asterisk/manager.conf
Añade / Modifica las siguientes líneas:
enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 [admin] secret = admin1234 read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config,originate
Guarda y cierra el archivo cuando hayas terminado.
Instalar la GUI de Asterisk
A continuación, descarga la última versión de Asterisk GUI con el siguiente comando:
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0
Una vez descargada, cambia el directorio por el descargado y configúralo con el siguiente comando:
cd 2.0/
./configure
A continuación, construye la GUI de Asterisk con el siguiente comando:
make
Deberías obtener la siguiente salida:
+------- Asterisk-GUI Build Complete -------+ + Asterisk-GUI has successfully been built, + + and can be installed by running: + + + + make install + +-------------------------------------------+
A continuación, ejecuta el siguiente comando para instalarlo en tu sistema:
make install
Deberías ver la siguiente salida:
+---- Asterisk GUI Installation Complete ---+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk-GUI has successfully been + + installed. + + + +-------------------------------------------+ + + + BEFORE THE GUI WILL WORK + + + + Before the GUI will run, you must perform + + some modifications to the Asterisk + + configuration files in accordance with + + the README file. When done, you can + + check your changes by doing: + + + + make checkconfig + + + +-------------------------------------------+
Por último, reinicia el servicio de Asterisk para aplicar los cambios:
systemctl restart asterisk
Accede a la GUI de Asterisk
Ahora, abre tu navegador web y accede a la GUI de Asterisk utilizando la URL http://your-server-ip:8088/asterisk/static/config/index.html. Serás redirigido a la siguiente página:
Proporciona tu nombre de usuario y contraseña de administrador y haz clic en el botón de inicio de sesión. Deberías ver el panel de control de la GUI de Asterisk en la siguiente página:
Conclusión
Enhorabuena! has instalado con éxito Asterisk y Asterisk GUI en el servidor Ubuntu 20.04. Ahora puedes conectar tu servidor a cualquier red PSTN y empezar a llamar absolutamente gratis.