Asterisk es un servidor de 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 realizar una llamada utilizando la pila TCP/IP. Con VoIP, puede realizar una llamada desde su dispositivo móvil o computadora a otros dispositivos sin ningún costo. Se ejecuta en sistemas operativos basados en Unix y Linux y es capaz de conectarse a cualquier red de telefonía global tradicional. Ofrece un conjunto de funciones que incluyen llamada de conferencia, correo de voz, IVR y distribución automática de llamadas.
En este tutorial, aprenderemos cómo instalar el servidor Asterisk y la GUI de Asterisk en Ubuntu 20.04.
Requisitos
- Un servidor con Ubuntu 20.04.
- Una dirección IP estática está configurada en su servidor.
- Se configura una contraseña raíz en el servidor.
Cómo empezar
Primero, actualice los paquetes de su sistema a la última versión con el siguiente comando:
apt-get update -y
Una vez que su sistema esté actualizado, deberá instalar otras dependencias requeridas por Asterisk. Puede instalarlos todos 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, puede continuar con el siguiente paso.
Instalar Asterisk
De forma predeterminada, la última versión de Asterisk no está disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deberá descargarlo y compilarlo desde la fuente.
Primero, descargue 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, extraiga el archivo descargado con el siguiente comando:
tar -xvzf asterisk-17-current.tar.gz
A continuación, cambie el directorio al directorio extraído e instale todos los módulos MP3 necesarios con el siguiente comando:
cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh
Deberías obtener el siguiente resultado:
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.
Luego, instala otras dependencias con el siguiente comando:
contrib/scripts/install_prereq install
Debería ver el siguiente resultado:
############################################# ## install completed successfully #############################################
A continuación, configure Asterisk con el siguiente comando:
./configure
Deberías obtener el siguiente resultado:
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, ejecute el siguiente comando para seleccionar e instalar algunos módulos recomendados:
make menuselect
Se le pedirá que seleccione el módulo deseado. Use las teclas de flecha para navegar y presione la tecla Intro para seleccionar como se muestra a continuación:
Habilite complementos como se muestra a continuación:
Habilite los módulos de sonido principales como se muestra a continuación:
Habilite los paquetes de MOH como se muestra a continuación:
Habilite paquetes de sonido adicionales como se muestra a continuación:
Una vez que haya terminado, haga clic en Guardar y salir botón para guardar los cambios e instalar todos los complementos.
A continuación, deberá construir el Asterisk. Puedes hacerlo con el siguiente comando:
make
Debería ver el siguiente resultado:
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+
A continuación, instale Astersik, la configuración y la muestra ejecutando el siguiente comando:
make install
make samples
make config
ldconfig
Una vez que haya terminado, puede continuar con el siguiente paso.
Crear un usuario de Astersik
A continuación, deberá crear un usuario y grupo de Asterisk y cambiar la propiedad del directorio de configuración de Asterisk.
Primero, cree un usuario y un grupo con el siguiente comando:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
A continuación, agregue el usuario de audio y marcación al grupo Asterisk ejecutando el siguiente comando:
usermod -aG audio,dialout asterisk
A continuación, cambie 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 haya terminado, puede continuar con el siguiente paso.
Configurar Asterisk
A continuación, edite el archivo /etc/default/asterisk y establezca el usuario predeterminado en Asterisk:
nano /etc/default/asterisk
Descomente las siguientes líneas:
AST_USER="asterisk" AST_GROUP="asterisk"
Guarde y cierre el archivo cuando haya terminado, luego edite el archivo de configuración predeterminado de Asterisk y establezca la ejecución como usuario en asterisco:
nano /etc/asterisk/asterisk.conf
Descomente las siguientes líneas:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Guarde y cierre el archivo, luego inicie el servicio Asterisk y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl restart asterisk
systemctl enable asterisk
Ahora puede verificar el estado del servicio Asterisk con el siguiente comando:
systemctl status asterisk
Deberías obtener el siguiente resultado:
? 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, verifique la conexión de Asterisk con el siguiente comando:
asterisk -rvv
Deberías obtener el siguiente resultado:
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 interfaz gráfica de usuario de Asterisk
Para acceder a Asterisk desde el navegador web, deberá habilitar la GUI de Asterisk. Primero, edite el archivo /etc/asterisk/http.conf:
nano /etc/asterisk/http.conf
Descomente y cambie 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/
Guarde y cierre el archivo, luego edite el archivo /etc/asterisk/manager.conf y configure su usuario administrador:
nano /etc/asterisk/manager.conf
Agregue/Modifique 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
Guarde y cierre el archivo cuando haya terminado.
Instalar interfaz gráfica de usuario de Asterisk
A continuación, descargue 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 descargado, cambie el directorio a directorio descargado y configúrelo con el siguiente comando:
cd 2.0/
./configure
A continuación, cree la GUI de Asterisk con el siguiente comando:
make
Deberías obtener el siguiente resultado:
+------- Asterisk-GUI Build Complete -------+ + Asterisk-GUI has successfully been built, + + and can be installed by running: + + + + make install + +-------------------------------------------+
A continuación, ejecute el siguiente comando para instalarlo en su sistema:
make install
Debería ver el siguiente resultado:
+---- 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 + + + +-------------------------------------------+
Finalmente, reinicie el servicio Asterisk para aplicar los cambios:
systemctl restart asterisk
Acceder a la GUI de Asterisk
Ahora, abra su navegador web y acceda a la GUI de Asterisk usando la URL http://your-server-ip:8088/asterisk/static/config/index.html. Será redirigido a la siguiente página:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de GUI de Asterisk en la siguiente página:
Conclusión
¡Felicidades! Ha instalado con éxito Asterisk y Asterisk GUI en el servidor Ubuntu 20.04. Ahora puede conectar su servidor a cualquier red PSTN y comenzar a llamar absolutamente gratis.