Cómo instalar el servidor Asterisk 18 VoIP en CentOS 8

Hacer menuselect

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:

Hacer menuselect

Seleccione Complementos y golpear Ingresar. Deberías ver la siguiente página:

Seleccionar complementos

Seleccione los complementos requeridos y presione Ingresar para seleccionarlo, luego presione ESC para volver al menú principal:

Seleccionar complementos de Asterisk

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:

Paquetes de sonido Asterisk

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:

Elija paquetes adicionales

Seleccione sus paquetes requeridos y presione Enter para seleccionarlos. Luego, presione el botón ESC botón. Deberías ver la siguiente página:

Guardar cambios de compilación

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *