Búsqueda de sitios web

Instale Asterisk 18 LTS en Debian 11/Debian 10


Hola nuestra buena gente!. En esta guía, nos centraremos en la instalación de Asterisk 18 LTS en Debian 11/Debian 10. Asterisk es un sistema PBX de código abierto y de uso gratuito con una serie de funciones útiles disponibles principalmente en sistemas PBX comerciales. Asterisk es utilizado por diferentes tipos de organizaciones en todo el mundo. A continuación se detallan las características estándar enviadas con el sistema Asterisk PBX:

  • Conferencia telefónica
  • Monitoreo de llamadas
  • Grabacion de llamada
  • Descubrimiento de números universales distribuidos
  • Mensajería SMS
  • canalización
  • Transcodificación
  • Mensaje de voz
  • Identificador de llamadas en llamada en espera
  • Acceso directo al sistema interno
  • Estacionamiento de llamadas
  • Música en espera
  • Música en transferencia
  • Bloqueo de identificador de llamadas
  • Almacenar/Recuperar Bases de Datos
  • Acceso directo al sistema interno
  • Operadora automatizada
  • Listas negras
  • Registros de detalles de llamadas
  • Desvío de llamadas si está ocupado
  • Desvío de llamada si no hay respuesta
  • Variable de desvío de llamada
  • Llamada de espionaje
  • Entre muchas otras características

Realizaremos una instalación de Asterisk 18 LTS en Debian 11/Debian 10 compilando el software desde el código fuente. La versión predeterminada del paquete asterisk disponible en los repositorios ascendentes del sistema operativo es un poco antigua, como se puede ver ejecutando los siguientes comandos:

$ sudo apt update
$ apt policy asterisk
# Debian 11
asterisk:
  Installed: (none)
  Candidate: 1:16.16.1~dfsg-1+deb11u1
  Version table:
     1:16.16.1~dfsg-1+deb11u1 500
        500 http://security.debian.org/debian-security bullseye-security/main amd64 Packages
     1:16.16.1~dfsg-1 500
        500 http://deb.debian.org/debian bullseye/main amd64 Packages

# Debian 10
$ apt policy asterisk
asterisk:
  Installed: (none)
  Candidate: 1:16.2.1~dfsg-1+deb10u2
  Version table:
     1:16.2.1~dfsg-1+deb10u2 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

Como se ve en el resultado, la versión de Asterisk en Debian 10 es inferior en comparación con la de Debian 11.

Paso 1: actualizar los paquetes del sistema

Asegúrese de que todos los paquetes estén actualizados en el sistema antes de que podamos instalar Asterisk 18 LTS en Debian 11/Debian 10.

sudo apt update
sudo apt full-upgrade -y

Puede realizar un ciclo de encendido del sistema después de una actualización exitosa si es necesario.

[ -f /var/run/reboot-required ] && sudo reboot -f

Paso 2: Instale las dependencias de compilación de Asterisk 18 LTS

Ya que estamos construyendo

sudo apt -y install build-essential git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev libjansson-dev libxml2-dev uuid-dev default-libmysqlclient-dev

Validar que GCC y CMAKE estén instalados y funcionando en nuestro sistema local

$ make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
debian@debian-bullseye-01:~$
debian@debian-bullseye-01:~$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Paso 3: Descargue el tarball Asterisk 18 LTS

Descargue la última versión de

cd /usr/src/
sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz

Extraiga el tarball de Asterisk 18 después de la descarga:

sudo tar xvf asterisk-18-current.tar.gz
cd asterisk-18*/

Descargue la biblioteca del decodificador de mp3 en el árbol de fuentes ejecutando los siguientes comandos:

$ sudo contrib/scripts/get_mp3_source.sh
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.

Confirme que todas las dependencias estén instaladas mediante el script install_prereq.

sudo contrib/scripts/install_prereq install

Salida de mensaje de una instalación exitosa:

....
Setting up odbcinst (2.3.6-0.1+b1) ...
Setting up odbcinst1debian2:amd64 (2.3.6-0.1+b1) ...
Setting up unixodbc-dev:amd64 (2.3.6-0.1+b1) ...
Processing triggers for initramfs-tools (0.140) ...
update-initramfs: Generating /boot/initrd.img-5.10.0-8-amd64
Processing triggers for libglib2.0-0:amd64 (2.66.8-1) ...
No schema files found: doing nothing.
Processing triggers for libc-bin (2.31-13) ...
Processing triggers for man-db (2.9.4-2) ...
Setting up libgmime-3.0-dev:amd64 (3.2.7-1) ...

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

Paso 4: Compile e instale Asterisk 18 LTS en Debian 11/Debian 10

Después de la instalación de las dependencias y estamos listos para iniciar la construcción y la instalación de

Ejecute el script configure para satisfacer las dependencias de compilación.

sudo ./configure

Resultado de muestra de una ejecución exitosa:

.....
configure: creating ./config.status
config.status: creating makeopts
config.status: creating autoconfig.h
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 :

Personalice su instalación de Asterisk usando las opciones del menú.

sudo make menuselect

Utilice las teclas de flecha del teclado para navegar por los menús y la tecla Intro  para seleccionar.

Ejemplo de selección de Complementos para instalar en Asterisk 18:

Ejemplo sobre cómo agregar paquetes Core Sound adicionales para compilar.

Para Música en espera, seleccione los siguientes módulos mínimos

En paquetes de sonido adicionales, seleccione como se muestra a continuación:

Habilite app_macro en el menú Aplicaciones .

Siéntase libre de habilitar o deshabilitar cualquier módulo como mejor le parezca. Después de todas las configuraciones, use el botón “Guardar y salir” para actualizar.

Para compilar Asterisk 18 LTS en Debian 11/Debian 10 ejecutando el siguiente comando:

sudo make

El proceso de compilación debería completarse en los próximos minutos o segundos, dependiendo de su potencia informática:

.....
   [LD] res_pjsip_publish_asterisk.o -> res_pjsip_publish_asterisk.so
   [CC] res_calendar_exchange.c -> res_calendar_exchange.o
   [LD] res_calendar_exchange.o -> res_calendar_exchange.so
   [CC] res_pjsip_registrar.c -> res_pjsip_registrar.o
   [LD] res_pjsip_registrar.o -> res_pjsip_registrar.so
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               +
 +-------------------------------------------+

El último paso es la instalación de Asterisk en Debian usando el comando make install:

sudo make install

Paso 5: Configure Asterisk 18 LTS después de la instalación

Después de una instalación exitosa, puede instalar la documentación de Asterisk:

sudo make progdocs

Instale configuraciones predeterminadas para Asterisk y muestras.

sudo make samples
sudo make config
sudo ldconfig

Crear usuario de asterisco

Cree un usuario y un grupo separados para ejecutar servicios de asterisco y asigne los permisos correctos:

sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

Confirmemos la identificación del usuario de Asterisk:

$ id asterisk
uid=997(asterisk) gid=1001(asterisk) groups=1001(asterisk),20(dialout),29(audio)

Establezca el usuario y el grupo en el que se ejecutará el servicio Asterisk.

$ sudo vim /etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

El archivo de configuración predeterminado utilizado por asterisk es /etc/asterisk/asterisk.conf. Puede abrir el archivo y ver si se requiere algún cambio.

$ sudo vim /etc/asterisk/asterisk.conf
runuser = asterisk              ; The user to run as.
rungroup = asterisk             ; The group to run as.

Reinicie el servicio de asterisco después de realizar los cambios:

sudo systemctl restart asterisk

También habilite el servicio para que se inicie con el inicio del sistema.

$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
     Loaded: loaded (/etc/init.d/asterisk; generated)
     Active: active (running) since Wed 2021-12-08 11:20:08 UTC; 1min 24s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 70 (limit: 2340)
     Memory: 46.0M
        CPU: 1.635s
     CGroup: /system.slice/asterisk.service
             └─48369 /usr/sbin/asterisk -U asterisk -G asterisk

Dec 08 11:20:08 debian-bullseye-01 systemd[1]: Starting LSB: Asterisk PBX...
Dec 08 11:20:08 debian-bullseye-01 asterisk[48355]: Starting Asterisk PBX: asterisk.
Dec 08 11:20:08 debian-bullseye-01 systemd[1]: Started LSB: Asterisk PBX.

Para utilizar Asterisk CLI, ejecute:

$ sudo asterisk -rvv
Asterisk 18.11.1, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <[email >
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 18.11.1 currently running on debian-bullseye-01 (pid = 48369)
debian-bullseye-01*CLI>

Ejecutando algunos comandos de asterisco para probar la funcionalidad.

debian-bullseye-01*CLI> core show  uptime
System uptime: 16 minutes, 29 seconds
Last reload: 16 minutes, 29 seconds

debian-bullseye-01*CLI> core show  sysinfo

System Statistics
-----------------
  System Uptime:             18 hours
  Total RAM:                 2030244 KiB
  Free RAM:                  160672 KiB
  Buffer RAM:                58964 KiB
  Total Swap Space:          0 KiB
  Free Swap Space:           0 KiB

  Number of Processes:       172

debian-bullseye-01*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups

Ahora hemos instalado y configurado Asterisk 18 LTS en la máquina Linux Debian 11/Debian 10. Una guía de configuración detallada y documentación completa están disponibles en el sitio web oficial de Asterisk.