Cómo instalar el servidor Asterisk 17 VoIP en Ubuntu 20.04

Habilitar complementos de Asterix

Asterisk es un servidor VoIP gratuito y de c√≥digo abierto creado por Sangoma. Se utiliza para construir una infraestructura de telefon√≠a VoIP para organizaciones de todos los tama√Īos. VoIP es un protocolo de voz sobre Internet que se utiliza para realizar una llamada utilizando la pila TCP/IP. Con VoIP, puede realizar una llamada desde su dispositivo m√≥vil o computadora a otros dispositivos sin ning√ļn costo. Se ejecuta en sistemas operativos basados ‚Äč‚Äčen Unix y Linux y es capaz de conectarse a cualquier red de telefon√≠a global tradicional. Ofrece un conjunto de caracter√≠sticas que incluyen llamada de conferencia, correo de voz, IVR y distribuci√≥n autom√°tica de llamadas.

En este tutorial, aprenderemos cómo instalar el servidor Asterisk y la GUI de Asterisk en Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Una direcci√≥n IP est√°tica est√° configurada en su servidor.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Primero, actualice los paquetes de su sistema a la √ļltima versi√≥n con el siguiente comando:

apt-get update -y

Una vez que su sistema esté actualizado, deberá instalar otras dependencias requeridas por Asterisk. Puede instalarlos todos con el siguiente comando:

apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -y

Después de instalar todos los paquetes, puede continuar con el siguiente paso.

Instalar asterisco

De forma predeterminada, la √ļltima versi√≥n de Asterisk no est√° disponible en el repositorio predeterminado de Ubuntu 20.04. Por lo tanto, deber√° descargarlo y compilarlo desde la fuente.

Primero, descargue la √ļltima versi√≥n de Asterisk con el siguiente comando:

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz

Una vez descargado, extraiga el archivo descargado con el siguiente comando:

tar -xvzf asterisk-17-current.tar.gz

A continuación, cambie el directorio al directorio extraído e instale todos los módulos MP3 necesarios con el siguiente comando:

cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh

Deberías obtener el siguiente resultado:

A    addons/mp3
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
Exported revision 202.

A continuación, instale otras dependencias con el siguiente comando:

contrib/scripts/install_prereq install

Debería ver el siguiente resultado:

#############################################
## install completed successfully
#############################################

A continuación, configure Asterisk con el siguiente comando:

./configure

Deberías obtener 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 seleccionar e instalar algunos módulos recomendados:

make menuselect

Se le pedirá que seleccione el módulo deseado. Utilice las teclas de flecha para navegar y presione la tecla Intro para seleccionar como se muestra a continuación:

Habilite complementos como se muestra a continuación:

Habilitar complementos de Asterix

Habilite los módulos de sonido principales como se muestra a continuación:

Habilitar módulo de sonido principal

Habilite los paquetes MOH como se muestra a continuación:

Habilitar paquetes MOH

Habilite los paquetes de sonido adicionales como se muestra a continuación:

Habilitar paquetes de sonido adicionales

Una vez que haya terminado, haga clic en el Guardar la salida botón para guardar los cambios e instalar todos los complementos.

A continuación, deberá construir el Asterisk. Puedes hacerlo 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               +
 +-------------------------------------------+

A continuación, instale Astersik, config y sample ejecutando el siguiente comando:

make install
make samples
make config
ldconfig

Una vez que haya terminado, puede continuar con el siguiente paso.

Crear un usuario de Astersik

A continuación, deberá crear un usuario y grupo de Asterisk y cambiar la propiedad del directorio de configuración de Asterisk.

Primero, cree 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 ejecutando el siguiente comando:

usermod -aG audio,dialout asterisk

A continuación, cambie la propiedad del directorio de configuración de Asterisk con el siguiente comando:

chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar asterisco

A continuación, edite el archivo /etc/default/asterisk y establezca el usuario predeterminado en Asterisk:

nano /etc/default/asterisk

Descomenta las siguientes líneas:

AST_USER="asterisk"
AST_GROUP="asterisk"

Guarde y cierre el archivo cuando haya terminado, luego edite el archivo de configuración predeterminado de Asterisk y establezca la ejecución como usuario en asterisco:

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, luego inicie el servicio Asterisk y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl restart asterisk
systemctl enable asterisk

Ahora puede verificar el estado del servicio de Asterisk con el siguiente comando:

systemctl status asterisk

Deberías obtener el siguiente resultado:

? asterisk.service - LSB: Asterisk PBX
     Loaded: loaded (/etc/init.d/asterisk; generated)
     Active: active (running) since Mon 2020-10-19 12:39:41 UTC; 2min 49s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 47946 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCCESS)
      Tasks: 71 (limit: 4691)
     Memory: 41.7M
     CGroup: /system.slice/asterisk.service
             ??47965 /usr/sbin/asterisk -U asterisk -G asterisk

Oct 19 12:39:41 ubuntu2004 systemd[1]: Starting LSB: Asterisk PBX...
Oct 19 12:39:41 ubuntu2004 asterisk[47946]:  * Starting Asterisk PBX: asterisk
Oct 19 12:39:41 ubuntu2004 asterisk[47946]:    ...done.

A continuación, verifique la conexión de Asterisk con el siguiente comando:

asterisk -rvv

Deberías obtener el siguiente resultado:

Asterisk 17.7.0, Copyright (C) 1999 - 2018, Digium, Inc. 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 17.7.0 currently running on ubuntu2004 (pid = 47965)
ubuntu2004*CLI> 

Habilitar la interfaz gr√°fica de usuario de Asterisk

Para acceder a Asterisk desde el navegador web, deber√° habilitar la GUI de Asterisk. Primero, edite el archivo /etc/asterisk/http.conf:

nano /etc/asterisk/http.conf

Descomente y cambie las siguientes líneas:

enabled = yes
bindaddr = 0.0.0.0
bindport = 8088
prefix = asterisk
enable_static = yes
enablestatic = yes

redirect = / /static/config/index.html
uploads = /var/lib/asterisk/uploads/

Guarde y cierre el archivo, luego edite el archivo /etc/asterisk/manager.conf y configure su usuario administrador:

nano /etc/asterisk/manager.conf

Agregar/Modificar las siguientes líneas:

enabled = yes
webenabled = yes

port = 5038
bindaddr = 0.0.0.0

[admin]
secret = admin1234
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config,originate

Guarde y cierre el archivo cuando haya terminado.

Instalar la GUI de Asterisk

A continuaci√≥n, descargue la √ļltima versi√≥n de Asterisk GUI con el siguiente comando:

svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0

Una vez descargado, cambie el directorio a directorio descargado y config√ļrelo con el siguiente comando:

cd 2.0/
./configure

A continuación, cree la GUI de Asterisk con el siguiente comando:

make

Deberías obtener el siguiente resultado:

 +------- Asterisk-GUI Build Complete -------+
 + Asterisk-GUI has successfully been built, +
 + and can be installed by running:          +
 +                                           +
 +               make install                +
 +-------------------------------------------+

A continuación, ejecute el siguiente comando para instalarlo en su sistema:

make install

Debería ver el siguiente resultado:

 +---- Asterisk GUI Installation Complete ---+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk-GUI has successfully been        +
 + installed.				     +
 +                                           +
 +-------------------------------------------+
 +                                           +
 +          BEFORE THE GUI WILL WORK         +
 +                                           +
 + Before the GUI will run, you must perform +
 + some modifications to the Asterisk        +
 + configuration files in accordance with    +
 + the README file.  When done, you can      +
 + check your changes by doing:              +
 +                                           +
 +               make checkconfig            +
 +                                           +
 +-------------------------------------------+

Finalmente, reinicie el servicio Asterisk para aplicar los cambios:

systemctl restart asterisk

Acceder a la GUI de Asterisk

Ahora, abra su navegador web y acceda a la GUI de Asterisk usando la URL http://your-server-ip:8088/asterisk/static/config/index.html. Ser√° redirigido a la siguiente p√°gina:

Inicio de sesión de Astérix

Proporcione su nombre de usuario y contrase√Īa de administrador y haga clic en el Acceso bot√≥n. Deber√≠a ver el panel de la GUI de Asterisk en la siguiente p√°gina:

Panel de control de Astérix

Conclusión

¡Felicidades! Ha instalado con éxito Asterisk y Asterisk GUI en el servidor Ubuntu 20.04. Ahora puede conectar su servidor a cualquier red PSTN y comenzar a llamar absolutamente gratis.

Deja una respuesta

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