Cómo instalar el servidor Asterisk 18 VoIP en CentOS 8
Asterisk es un potente servidor PBX digital y VoIP lanzado bajo una licencia de código abierto, por lo que puede usarlo de forma gratuita. VoIP es una tecnología utilizada para establecer y controlar llamadas telefónicas entre múltiples puntos finales. Se utiliza en puertas de enlace VoIP, servidores de conferencias, centros de llamadas, operadores e instituciones gubernamentales de todo el mundo. Se ejecuta en Linux, BSD y OS X y le permite convertir su sistema o servidor local en un servidor de comunicaciones.
En esta publicación, explicaremos cómo instalar Asterisk en el servidor CentOS 8.
requisitos previos
- Un servidor que ejecuta CentOS 8.
- Una contraseña de root está configurada en el servidor.
Empezando
De manera predeterminada, SELinux está habilitado en CentOS 8. Por lo tanto, primero deberá deshabilitarlo. Para deshabilitarlo, edite el archivo de configuración de SELinux:
nano /etc/selinux/config
Cambia la siguiente línea:
SELINUX=disabled
Guarde y cierre el archivo y luego reinicie su sistema para aplicar los cambios.
Asterisk requiere varios paquetes que debe instalar en su servidor. Primero, instale el repositorio EPEL con el siguiente comando:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
A continuación, habilite el repositorio de PowerTools con el siguiente comando:
dnf config-manager --set-enabled PowerTools
A continuación, instale otros paquetes y herramientas de desarrollo con el siguiente comando:
dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y dnf groupinstall "Development Tools"
Una vez que todos los paquetes necesarios estén instalados, puede continuar con el siguiente paso.
Instalar Jansson y PJSIP
A continuación, deberá instalar Jansson en su sistema. Se utiliza para la codificación y decodificación de datos multimedia.
Primero, descárguelo del repositorio de Git usando el siguiente comando:
git clone https://github.com/akheron/jansson.git
A continuación, cambie el directorio al directorio descargado y compílelo con el siguiente comando:
cd jansson autoreconf -i ./configure --prefix=/usr/ make make install
A continuación, deberá instalar PJSIP en su sistema. Es una biblioteca utilizada para implementar los protocolos SIP, SDP, RTP, STUN, TURN e ICE.
Primero, descárgalo usando el siguiente comando:
cd git clone https://github.com/pjsip/pjproject.git
A continuación, cambie el directorio al directorio descargado y compílelo con el siguiente comando:
cd pjproject ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr make dep make make install ldconfig
Una vez que haya terminado, puede proceder a instalar Asterisk.
Instalar asterisco
Primero, navegue a su directorio de inicio y descargue la última versión de Asterisk con el siguiente comando:
cd wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Una vez que se complete la descarga, extraiga el archivo descargado con el siguiente comando:
tar -xvzf asterisk-18-current.tar.gz
A continuación, cambie el directorio al directorio extraído con el siguiente comando:
cd asterisk-18.4.0/
A continuación, configure el Asterisk con el siguiente comando: Publicidad
./configure --libdir=/usr/lib64
Debería ver 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 instalar complementos adicionales que desee instalar con Asterisk.
make menuselect
Deberías ver la siguiente página:
Seleccione Complementos y golpear Ingresar. Deberías ver la siguiente página:
Seleccione los complementos requeridos y presione Ingresar para seleccionarlo, luego presione ESC para volver al menú principal:
Seleccione su requerido Centro sonido paquete y golpe Ingresar para seleccionarlo. A continuación, presione ESC para regresar, seleccione paquetes MOH como se muestra a continuación:
Seleccione sus paquetes requeridos y presione Ingresar para seleccionarlos. A continuación, presione ESC para regresar, seleccione Paquetes adicionales como se muestra a continuación:
Seleccione sus paquetes requeridos y presione Enter para seleccionarlos. Luego, presione el botón ESC botón. Deberías ver la siguiente página:
Prensa S para guardar los cambios y salir.Publicidad
A continuación, ejecute el siguiente comando para instalar todas las dependencias necesarias:
contrib/scripts/get_mp3_source.sh
Luego, construye el Asterisk 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 + +-------------------------------------------+ make install +---- Asterisk Installation Complete -------+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk has successfully been installed. + + If you would like to install the sample + + configuration files (overwriting any + + existing config files), run: + + + + For generic reference documentation: + + make samples + + + + For a sample basic PBX: + + make basic-pbx + + + + + +----------------- or ---------------------+ + + + You can go ahead and install the asterisk + + program documentation now or later run: + + + + make progdocs + + + + **Note** This requires that you have + + doxygen installed on your local system + +-------------------------------------------+
A continuación, instale Asterisk con el siguiente comando:
make samples make config ldconfig
Configurar asterisco
A continuación, deberá crear un usuario dedicado para ejecutar Asterisk. Puede crear 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 con el siguiente comando:
usermod -aG audio,dialout asterisk
A continuación, establezca la propiedad de los directorios de Asterisk en el usuario de Asterisk con el siguiente comando:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
A continuación, edite el archivo /etc/sysconfig/asterisk:
nano /etc/sysconfig/asterisk
Descomenta las siguientes líneas:
AST_USER="asterisk" AST_GROUP="asterisk"
Guarde y cierre el archivo y luego edite el archivo /etc/asterisk/asterisk.conf:
nano /etc/asterisk/asterisk.conf
Descomenta las siguientes líneas:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Guarde y cierre el archivo cuando haya terminado. Luego, reinicie el servicio Asterisk para aplicar los cambios.
systemctl restart asterisk
A continuación, habilite el servicio Asterisk para que se inicie al reiniciar el sistema:
systemctl enable asterisk
Para verificar el estado del servicio Asterisk, ejecute el siguiente comando:
systemctl status asterisk
Deberías obtener el siguiente resultado:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/rc.d/init.d/asterisk; generated) Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago Docs: man:systemd-sysv-generator(8) Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) Main PID: 70914 (asterisk) Tasks: 81 (limit: 25014) Memory: 36.8M CGroup: /system.slice/asterisk.service ??70912 /bin/sh /usr/sbin/safe_asterisk ??70914 /usr/sbin/asterisk -f -vvvg -c May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX... May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:
Verificar asterisco
En este punto, Asterisk está instalado y configurado. Ahora puede verificar el Asterisk usando el siguiente comando:
asterisk -rvv
Si todo está bien, debería obtener el siguiente resultado:
Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation 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 18.4.0 currently running on centos8 (pid = 70914) centos8*CLI>
Ahora, ejecute el siguiente comando para mostrar los canales principales:
centos8*CLI> core show channels
Debería ver el siguiente resultado:
Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed
Para mostrar el tiempo de actividad de Asterisk, ejecute el siguiente comando:
centos8*CLI> core show uptime
Debería ver el siguiente resultado:
System uptime: 1 minute, 33 seconds Last reload: 1 minute, 33 seconds
Para salir de Asterisk CLI, ejecute el siguiente comando:
centos8*CLI> quit
Conclusión
En la guía anterior, aprendió cómo descargar y compilar Asterisk versión 18 en el servidor CentOS 8. Ahora puede integrar Asterisk con otras plataformas y crear una aplicación basada en VoIP.