Asterisk es la plataforma PBX de código abierto más popular y ampliamente adoptada que impulsa los sistemas IP PBX, servidores de conferencias y puertas de enlace VoIP. Lo utilizan particulares, pequeñas y grandes empresas y gobiernos de todo el mundo.
Las funciones de Asterisk incluyen correo de voz, música en espera, conferencias telefónicas, cola de llamadas, grabación de llamadas, respuesta de voz interactiva y mucho más.
Este tutorial lo guiará a través de los pasos necesarios para instalar Asterisk 15 en CentOS 7.
Requisitos previos #
-
Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
-
Actualice su sistema CentOS e instale las herramientas de desarrollo necesarias para compilar el código fuente de Asterisk:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Deshabilitar Selinux #
Si SELinux está configurado para enforcing
modo, Asterisk no funcionará correctamente.
Para deshabilitar las funciones de seguridad de SELinux, abra el /etc/selinux/config
archivo y configure SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Guarde el archivo y reinicie su sistema CentOS con:
sudo shutdown -r now
Una vez que la máquina arranque, asegúrese de que getenforce
el comando devuelve Disabled
:
getenforce
Disabled
Descargar Asterisk #
Vamos a descargar la fuente de Asterisk en el /usr/src
directorio que es la ubicación común para colocar los archivos de origen.
Cambie a /usr/src
directorio escribiendo:
cd /usr/src/
Descargue la última versión de Asterisk 15 con el siguiente comando wget:
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Una vez completada la descarga, extraiga el archivo descargado con el siguiente comando:
sudo tar zxf asterisk-15-current.tar.gz
Antes de continuar con los siguientes pasos, asegúrese de cambiar al directorio fuente de Asterisk escribiendo:
cd asterisk-15.*/
Instalar dependencias de Asterisk #
Descargue las fuentes MP3 que se requieren para construir el módulo MP3 y use archivos MP3 en Asterisk:
sudo contrib/scripts/get_mp3_source.sh
A continuación, instale todas las dependencias que faltan con install_prereq
guión:
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
#############################################
Instalar Asterisk #
El configure
La secuencia de comandos realizará una serie de comprobaciones para asegurarse de que todas las dependencias requeridas por el proceso de compilación e instalación estén presentes, inicie la secuencia de comandos escribiendo:
sudo ./configure --libdir=/usr/lib64
Al completar con éxito, verá el siguiente resultado:
El siguiente paso es seleccionar los módulos que desea compilar e instalar.
La mayoría de los módulos ya están habilitados. 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 un tiempo en completarse, 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:
El siguiente paso es instalar Asterisk y sus módulos escribiendo:
sudo make install
Una vez finalizada la instalación, el script mostrará el siguiente mensaje:
Ahora que Asterisk está instalado, necesitamos instalar los archivos de configuración de muestra.
Instale los archivos de configuración genéricos con documentación de referencia escribiendo:
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
Finalmente ejecuta ldconfig
para actualizar el caché de bibliotecas compartidas:
sudo ldconfig
Crear número de usuario de 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.
Para crear un nuevo usuario del sistema llamado asterisk
ejecuta el siguiente comando:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Para configurar Asterisk para que se ejecute como asterisk
usuario, abra el /etc/sysconfig/asterisk
archivo y descomente las siguientes dos líneas:
AST_USER="asterisk"
AST_GROUP="asterisk"
Añade el asterisk
usuario al dialout
y audio
grupos:
sudo usermod -a -G dialout,audio asterisk
También necesitamos cambiar 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/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Empezar asterisco #
Ahora que estamos listos, podemos iniciar el servicio Asterisk con el siguiente comando:
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:
El último paso es habilitar el servicio Asterisk para que se inicie en el arranque con:
sudo systemctl enable asterisk
Ajuste las reglas del cortafuegos #
Ahora que Asterisk está instalado y funcionando, debe configurar su firewall para permitir el tráfico en puertos específicos de Asterisk.
Si no tiene habilitado el firewall en su sistema, puede omitir esta sección.Abra el editor de texto de su elección y cree el siguiente servicio Firewalld:
/etc/firewalld/services/asterisk.xml<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Guarde el archivo y aplique las nuevas reglas de firewall escribiendo:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Finalmente, verifique si las nuevas reglas de firewall se aplican con éxito con:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Siéntase libre de ajustar el firewall según sus necesidades.