Instalación de Asterisk en CentOS 7

Instalación de Asterisk en CentOS 7

Asterisk es una de las soluciones de telefonía informática más conocidas, instalada activamente en una gran variedad de servidores. Es compatible con prácticamente todos los códecs y protocolos modernos, y también muestra una buena estabilidad, por lo que ha ganado tanta popularidad entre los administradores de sistemas. Sin embargo, los usuarios principiantes que intentan integrar Asterisk pueden encontrarse con una serie de dificultades asociadas a la operación de instalación real. Para evitar este problema, recomendamos estudiar nuestro artículo de hoy, que utiliza como ejemplo el kit de distribución CentOS 7.

Instalación de Asterisk en CentOS 7

Toda la complejidad de la tarea que nos ocupa es que Asterisk no funcionará sin componentes adicionales, y habrá que instalarlos manualmente descomprimiendo los archivos y compilando los ficheros resultantes. Este proceso llevará mucho tiempo, así que tuve que dividir todas las instrucciones en pasos, para simplificar la comprensión. Empecemos con los pasos preparatorios.

Paso 1: Pasos preliminares.

En primer lugar, hay que preparar el servidor, ya que CentOS no siempre dispone de las utilidades necesarias que habrá que utilizar en los siguientes pasos, y las configuraciones del Firewall y de la hora no están hechas. Este paso es el más sencillo, ya que sólo requiere la introducción precisa de comandos, pero también se divide en varios elementos.

Instalación de las utilidades necesarias

Se necesitarán un total de cinco utilidades diferentes para instalar Asterisk y los componentes de apoyo, que pueden no estar presentes en el sistema operativo inicialmente. Le sugerimos que siga las instrucciones exactas que aparecen a continuación para instalar todas las actualizaciones y el software que falta.

  1. Todos los pasos posteriores se llevarán a cabo en «Terminal».Así que ejecútelo de la manera que más le convenga.
  2. Aquí, lo primero que hay que hacer es introducir un comando sudo yum update. Debe comprobar las actualizaciones de los componentes ya instalados y añadirlos al sistema operativo para asegurar la correcta interacción con el resto de utilidades.
  3. Este comando, como todos los que siguen, se ejecuta como superusuario, lo que significa que debe confirmarse introduciendo una contraseña en una nueva línea. Tenga en cuenta que los caracteres escritos de esta manera no se muestran en la cadena.
  4. Si se detectan actualizaciones, confirme su incorporación al servidor seleccionando la opción y.
  5. Después de eso, puedes instalar con seguridad todas las utilidades que faltan. Esto se hace con un solo comando sudo yum install gcc wget ntpdate automake libtool. No nos detendremos en cada una de ellas, porque a continuación verá un análisis más detallado.
  6. Algunas de las utilidades anteriores pueden estar ya en el sistema, por lo que cuando la línea «Instalación». A veces sólo se muestran uno o dos programas, y el resto de elementos son dependencias. Confirme su instalación seleccionando la opción de respuesta adecuada.

Cuando la operación se haya completado, se le notificará que todo ha sido un éxito, y queda por pasar al siguiente paso de los pasos preparatorios.

Sincronización horaria

Si hay confianza en que la hora en el servidor ya ha sido sincronizada, no dude en saltarse este paso y proceder a configurar el cortafuegos. De lo contrario, tendrá que establecer manualmente la zona horaria y editar el archivo de configuración, que tiene el siguiente aspecto

  1. Utilice el comando sudo cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime para seleccionar la zona horaria. Esta opción establece la zona horaria en Moscú. Si se necesita otro, cambie la referencia especificada cambiando la ruta del archivo.
  2. El comando sudo ntpdate ru.pool.ntp.org sincronizar la hora con la red.
  3. Entre en sudo crontab -e para navegar hasta el archivo de tiempo de configuración.
  4. Aquí, configure el script para que se sincronice automáticamente insertando la línea 0 0 * * * /sbin/ntpdate ru.pool.ntp.org. A continuación, guarde los cambios y cierre el editor.

Ahora ya no puede preocuparse de tener que sincronizar la hora usted mismo, porque gracias a la tarea de configuración automática creada, hemos conseguido el resultado deseado. Sólo hay un último paso de preparación antes de instalar Asterisk.

Configurar el cortafuegos

La configuración del cortafuegos es uno de los procesos más importantes antes de instalar cualquier utilidad que vaya a operar sobre una LAN o WAN. Asterisk no es una excepción en este sentido, así que sigue estos pasos:

  1. В «Terminal». especificar firewall-cmd --permanent --new-service=asterisk para crear un nuevo servicio.
  2. Confirme la creación especificando la contraseña de superusuario.
  3. Se le notificará el éxito de la operación mediante un mensaje «Éxito».
  4. A continuación, puede introducir los siguientes comandos por turnos para abrir todos los puertos que desee.

    firewall-cmd --permanent --service=asterisk --add-port=5060/tcp
    firewall-cmd --permanent --service=asterisk --add-port=5060/udp
    firewall-cmd --permanent --service=asterisk --add-port=5061/tcp
    firewall-cmd --permanent --service=asterisk --add-port=5061/udp
    firewall-cmd --permanent --service=asterisk --add-port=4569/udp
    firewall-cmd --permanent --service=asterisk --add-port=5038/tcp
    firewall-cmd --permanent --service=asterisk --add-port=10000-20000/udp

    Al final, escribe firewall-cmd --permanent --add-service=asterisk para crear un servicio autorizado.

  5. Todos estos comandos también se confirman obligatoriamente introduciendo la contraseña de superusuario.
  6. Después de realizar los cambios, reinicie el cortafuegos para aplicar la configuración: firewall-cmd --reload.

Esto completa todos los pasos preparatorios – puedes pasar a instalar los componentes adicionales para el correcto funcionamiento de Asterisk y estar seguro de que no se producirán errores al añadir los archivos.

Paso 2: Añadir componentes adicionales

Como sabes, Asterisk no funcionará en el servidor a menos que instales primero importantes utilidades responsables de normalizar la interacción con los controladores y las interfaces TDM. Los controladores de la placa se implementan a través de DAHDI, y las interfaces requieren LibPRI. La descarga y construcción de estos componentes llevará mucho tiempo y requerirá una conexión activa a Internet, así que tenlo en cuenta antes de empezar.

  1. Empecemos por el DAHDI. Descargue el archivo con los ficheros introduciendo el comando wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz.
  2. Tardará aproximadamente un minuto en descargarse, ya que los repositorios no transfieren los datos a una velocidad tan rápida como la deseada. Después de eso, inserte tar -xvf dahdi-linux-complete-current.tar.gz para descomprimir los objetos recibidos.
  3. Esta acción se realiza a través del argumento sudoAsí que confírmalo escribiendo la contraseña de superusuario.
  4. Una vez que haya terminado de desempaquetar, navegue a la carpeta resultante a través de cd dahdi-linux-complete-*.
  5. Inicie la compilación aquí escribiendo sudo make.
  6. Después, sólo queda hacer la instalación: sudo make install.
  7. También puede marcar sudo make configpara comprobar la configuración actual.
  8. Salir del directorio de origen a través de cd ..para empezar a instalar la siguiente utilidad.
  9. El principio de instalación de LibPRI es casi el mismo que el que acabamos de comentar, y las únicas diferencias se observan en los enlaces y los nombres de los directorios. Empieza por conseguir el archivo:

    wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz.

  10. A continuación, se desembala: sudo tar -xvf libpri-current.tar.gz.
  11. Después de una extracción exitosa, debe navegar al directorio resultante a través de cd libpri-*.
  12. Aquí es donde se empieza a construir la utilidad sudo make.
  13. Al terminar, la biblioteca debe instalarse introduciendo sudo make install.
  14. Deje la carpeta actual (cd ..) ya que no lo necesitaremos más.

Todo el proceso de descarga y compilación de los programas mencionados tardará aproximadamente media hora, lo que se debe al enorme tamaño de los archivos y a su largo desempaquetado. Si ha hecho todo correctamente, no debería producirse ningún error durante este proceso.

Paso 3: Instalación de Asterisk

Es el momento de instalar la herramienta de telefonía informática Asterisk, ya que todos los componentes de apoyo necesarios ya se han añadido al servidor. El software se distribuye como un archivo TAR.GZ en el sitio web oficial, y su instalación es la siguiente:

  1. В «Terminal». entrar en wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz para descargar la última versión estable de la herramienta. Puede sustituir el enlace si desea obtener otra compilación, habiéndolo copiado previamente del sitio oficial.
  2. Por el mismo principio descomprimir los archivos escribiendo sudo tar -xvf asterisk-*.tar.gz.
  3. A través de cd asterisk-* se mueven al directorio resultante.
  4. Se utiliza un script integrado para instalar las dependencias ./contrib/scripts/install_prereq install.
  5. A continuación, inserte un segundo comando sobre lo mismo ./contrib/scripts/install_prereq install-unpackaged.
  6. Cuando haya terminado, elimine los archivos residuales innecesarios sudo make distclean.
  7. Si sabe de antemano que necesitará trabajar con archivos MP3, debe añadir una biblioteca adecuada escribiendo ./contrib/scripts/get_mp3_source.sh.
  8. Lo único que queda por hacer es crear una configuración de los archivos de origen ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --with-dahdi --with-pri --with-iconv --with-libcurl --with-speex --with-mysqlclient.
  9. Ejecutar la ventana de configuración de la propia utilidad a través de sudo make menuselect y configure allí los parámetros según sus necesidades.
  10. Ya sabes que después de desempaquetar y configurar los fuentes, se compilan. Repita los comandos siguientes sucesivamente para completar esta operación.

    sudo make
    make install
    make config
    make samples

Paso 4: Configuración básica y puesta en marcha

Hoy no nos vamos a detener en la configuración general de Asterisk, ya que está fuera del alcance del material y la realiza cada administrador de sistemas de forma individual, en función del propio servidor y de las necesidades en el uso de la telefonía informática. Sin embargo, hay parámetros básicos que deben ser configurados para iniciar Asterisk, para comprobar su funcionalidad. Considerémoslos en detalle.

  1. Ejecutar el archivo de configuración /etc/asterisk/asterisk.conf a través de cualquier editor de texto conveniente.
  2. Inserte las siguientes líneas en él.

    runuser = asterisk
    rungroup = asterisk
    defaultlanguage = ru
    documentation_language = ru_RU

  3. Guarde los cambios y complete el objeto.
  4. Acabamos de especificar el usuario principal de la utilidad en el archivo, así que tendremos que añadirlo al sistema. Esto se hace a través de sudo useradd asterisk -m.
  5. A continuación, establezca los permisos de las carpetas insertando sucesivamente los siguientes comandos.

    chown -R asterisk:asterisk /var/run/asterisk
    chown -R asterisk:asterisk /etc/asterisk
    chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk
    chown -R asterisk:asterisk /usr/lib64/asterisk
    chown -R asterisk:asterisk /var/log/asterisk

  6. Cuando hayas terminado, comprueba los ajustes sudo asterisk -cpara asegurarse de que la utilidad funciona correctamente.
  7. Lo único que queda por hacer es ejecutar Asterisk como un servicio a través de systemctl enable asterisk и systemctl start asterisk.

Hoy has estudiado una guía paso a paso, cuyo objetivo principal es mostrar a los usuarios novatos cómo instalar Asterisk y los componentes auxiliares necesarios. Todo lo que tiene que hacer es seguir cada paso cuidadosamente y consultar la documentación oficial de la utilidad para obtener información sobre las funciones desconocidas del programa.

Nos alegramos de que hayamos podido ayudarle con el problema.

Describa lo que no le ha funcionado.
Nuestros especialistas tratarán de responder con la mayor rapidez posible.

¿Le ha ayudado este artículo?