Cómo instalar Asterisk en Linux

Ahora que comprende los fundamentos de VoIP y la plataforma Asterisk, está listo para instalar y configurar Asterisk. Por el momento, Asterisk no distribuye oficialmente paquetes para distribuciones de Linux, por lo que deberá compilar Asterisk desde la fuente. Si bien esta tarea puede parecer desalentadora, los funcionarios de Asterisk han hecho todo lo posible para que este proceso sea lo más fácil posible. Este artículo lo guiará a través de la construcción y el inicio de Asterisk. Cuando haya terminado, tendrá un sistema Asterisk en funcionamiento listo para una mayor configuración.

Notar: Las instrucciones a continuación están vigentes al momento de escribirlas. Te recomiendo que consultes siempre al instrucciones de montaje oficiales para asegurarse de que está siguiendo los últimos procedimientos recomendados.

Índice

    Construya e instale Asterisk

    El primer paso es descargar y descomprimir una versión actual de Asterisk. Debes consultar el Documentación de lanzamiento de Asterisk al tomar una decisión, pero generalmente querrá usar la última versión de LTS. Se pueden descargar versiones de Asterisk en el sitio web de Asterisk. Estoy usando Asterisk 16.6.1 en este tutorial, pero las instrucciones generalmente serán las mismas para otras versiones.

    he utilizado /usr/local/src como directorio base para descargar el código fuente en:

    [root@asterisk-1 ~]# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
    
    [root@asterisk-1 src]# tar -xf asterisk-16-current.tar.gz
    
    [root@asterisk-1 src]# cd asterisk-16.6.1/
    

    Ahora está listo para instalar los requisitos previos necesarios para compilar y ejecutar Asterisk. El equipo de Asterisk ha hecho que este proceso sea lo más fácil posible al proporcionar un install_prereq script para instalar automáticamente las dependencias necesarias según su distribución. A continuación, ejecuté el script en modo de "prueba", que imprime de manera útil el comando exacto que necesita ejecutar para instalar las dependencias. Luego ejecuté el script en modo "instalar" para instalar las dependencias necesarias:

    [root@asterisk-1 asterisk-16.6.1]# cd scripts
    
    [root@asterisk-1 scripts]# ./install_prereq test
    #############################################
    ## test: test mode.
    ## Use the commands here to install your system.
    #############################################
    yum install --skip-broken --assumeyes gcc-c++ libedit-devel jansson-devel libuuid-devel sqlite-devel libxml2-devel speex-devel speexdsp-devel libogg-devel libvorbis-devel alsa-lib-devel portaudio-devel libcurl-devel xmlstarlet bison flex postgresql-devel unixODBC-devel neon-devel gmime-devel lua-devel uriparser-devel libxslt-devel openssl-devel mysql-devel bluez-libs-devel radcli-devel freetds-devel jack-audio-connection-kit-devel net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libical-devel spandsp-devel libresample-devel uw-imap-devel binutils-devel libsrtp-devel gsm-devel doxygen graphviz zlib-devel openldap-devel hoard codec2-devel fftw-devel libsndfile-devel unbound-devel subversion bzip2 patch python-devel
    
    [root@asterisk-1 scripts]# ./install_prereq install
    

    Ahora que se han instalado los requisitos previos, puede ejecutar los scripts de configuración en preparación para construir Asterisk. En mi sistema tuve que instalar usando la versión incluida de libjansson, porque la versión en los repositorios era demasiado antigua. Este comando a continuación ejecutará los scripts de configuración para Asterisk:

    [root@asterisk-1 asterisk-16.6.1]# ./configure --with-jansson-bundled
    

    Por defecto, Asterisk usa el menuselect para presentarle una lista gráfica de opciones de configuración. Tómese el tiempo de consultarlos para tener una idea de los muchos módulos y opciones disponibles en una instalación de Asterisk:

    En mi caso, dejé todas las opciones iguales con una excepción: deseleccioné el chan_sip mods en el Controladores de canal menú. el chan_sip El módulo es un controlador de canal SIP más antiguo y obsoleto, y no lo necesitará en un entorno moderno de Asterisk.

    Con el script de instalación ejecutándose, está listo para construir Asterisk desde la fuente usando make. Acorté la salida a continuación para ahorrar espacio, pero una vez make se completa, verá un aviso de éxito e instrucciones para ejecutar la instalación:

    [root@asterisk-1 asterisk-16.6.1]# make
       [CC] astcanary.c -> astcanary.o
       [LD] astcanary.o -> astcanary
       [CC] astdb2sqlite3.c -> astdb2sqlite3.o
       [CC] hash/hash.c -> hash/hash.o
       [CC] hash/hash_bigkey.c -> hash/hash_bigkey.o
       [CC] hash/hash_buf.c -> ha
    
    ...
    
    Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
    +--------- Asterisk Build Complete ---------+
    + Asterisk has successfully been built, and +
    + can be installed by running: +
    + +
    + make install +
    +-------------------------------------------+
    

    Una vez que se completa la compilación, está listo para instalar Asterisk. Como sugiere el indicador, esta tarea es simple: simplemente ejecute make install. También recomiendo correr make samples (para generar archivos de configuración de muestra) y make config (generar systemd archivos de unidad). Una vez más, he acortado el resultado a continuación por razones de brevedad:

    [root@asterisk-1 asterisk-16.6.1]# 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   +
    +-------------------------------------------+
    
    [root@asterisk-1 asterisk-16.6.1]# make samples
    [root@asterisk-1 asterisk-16.6.1]# make config
    

    Finalmente, descubrí que necesitaba restaurar el contexto de SELinux a algunos archivos usados ​​por Asterisk en mi entorno. Para hacer esto, usé los siguientes comandos:

    [root@asterisk-1 asterisk-16.6.1]# restorecon -v /var/lib/asterisk/astdb.sqlite3
    [root@asterisk-1 asterisk-16.6.1]# restorecon -rv /var/lib/asterisk/
    [root@asterisk-1 asterisk-16.6.1]# restorecon -rv /etc/asterisk/
    

    Notar: Es posible que descubra que se requiere un ajuste adicional de SELinux en su entorno, lo cual está más allá del alcance de este artículo (). [Note: Add link.]

    ¡Felicidades! Asterisk ahora está instalado y está listo para comenzar la configuración. Ahora puede verificar su instalación iniciando el servicio Asterisk e iniciando sesión a través de la línea de comando como se muestra a continuación. Asegúrese de detener el servicio cuando haya terminado, ya que no tendrá ninguna configuración establecida hasta que configuremos los teléfonos en el siguiente artículo de esta serie:

    [root@asterisk-1 ~]# systemctl start asterisk
     
    [root@asterisk-1 ~]# asterisk -r
    Asterisk 16.6.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
    Created by Mark Spencer <markster@digium.com>
    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.
    =========================================================================
    Connected to Asterisk 16.6.1 currently running on asterisk-1 (pid = 22082)
    asterisk-1*CLI> quit
    Asterisk cleanly ending (0).
    Executing last minute cleanups
    
    [root@asterisk-1 ~]# systemctl stop asterisk
    

    Envoltura

    En este artículo, aprendió cómo compilar e instalar Asterisk desde la fuente. Gracias a los esfuerzos del Proyecto Asterisk, es una experiencia simple e indolora. Ahora está listo para comenzar a configurar Asterisk en el próximo artículo de esta serie.

    Artículos de interés

    Deja una respuesta

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

    Subir

    Si continuas utilizando este sitio aceptas el uso de cookies. Más información