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 *