Translate

martes, 9 de febrero de 2021

Instalación Asterisk 16 en CentOS7 + DAHDI

 ¡Hola Bloggers!

Muy buenas tardes/noches/días el día de hoy les traigo una guía de instalación de Asterisk 16 en CentOS 7 con paquete de DAHDI y LIPPRI para tarjetería física.

Para información adicional busquen en:

https://www.voip-info.org/voip-infoorg/ 

Ahora, para la implementación de Asterisk dependiendo del uso se tendrá la consideraciones especiales, si eres un experto y solo buscas la guía paso a paso de instalación sigue abajo, pero si eres una persona que quiere incursionar y no implementar aún sigue las recomendaciones.

En nuestro caso usaremos una máquina virtual sea en VMware o VirtualBox.

Con las siguientes características básicas:

Procesador: Dual-Core 3.2GHz

Memoria RAM: 1 GB

Almacenamiento: 40 a 60 GB

Gráfica: 250 Mb o superior

Sistema: Centos 7 Core o GUI

Primeros Pasos:

Para esta guía no consideraremos la instalación del sistema CentOS 7, en todo caso sugiero esta guía:

https://www.server-world.info/en/note?os=CentOS_7&p=install

También sugiero hacer una instalación CORE sin ninguna paquetería mas que viene con el sistema base, pues así tendremos una instalación limpia y con la menor cantidad de errores.

Una vez que tengamos instalado nuestro sistema procederemos iniciar sesión con el usuario root.

Configuración Base Pre-Instalación:

Necesitamos deshabilitar selinux con el siguiente comando y edición de línea:

vim /etc/selinux/config

    SELINUX=disabled


Ahora realizaremos la descarga de la siguiente paquetería base para Asterisk 16:

yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel wget


Crearemos un usuario exclusivo para que ejecute Asterisk 16:

adduser asterisk -c "Asterisk User"

passwd asterisk 

usermod -aG wheel asterisk

su asterisk


Ahora, realizaremos la descarga e instalación del proyecto PJ:

mkdir ~/build && cd ~/build

wget https://github.com/pjsip/pjproject/archive/2.10.tar.gz

tar -zxvf 2.10.tar.gz

cd pjproject-2.10

./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

make dep

make && sudo make install && sudo ldconfig

ldconfig -p | grep pj


Continuando, crearemos una carpeta de instalación temporal para hacer la instalación de la paquetería:

mkdir ~/build

cd ~/build


A continuación descargaremos la versión 16.16.0 que en este caso será la descargada en el paquete "asterisk-16-current.tar.gz" y procederemos a descomprimirlo:

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

tar -zxvf asterisk-16-current.tar.gz


También haremos lo mismo para DAHDI y LIBPRI:

wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

tar -zxvf dahdi-linux-complete-current.tar.gz

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

tar -zxvf libpri-current.tar.gz


Empecemos la instalación:

Ingresamos a la carpeta descomprimida de asterisk-16.16.0 y instalamos los archivos MP3 para MUSICA DE ESPERA:

cd asterisk-16.16.0

cd /usr/local/src/asterisk-16.16.0/contrib/scripts/

./install_prereq test

./install_prereq install

yum groupinstall "Development Tools"

yum install kernel-devel-$(uname -r)

yum install svn

./contrib/scripts/get_mp3_source.sh


Solo luego de hacer esto procederemos a instalar DAHDI y LIBPRI:

cd dahdi-linux-complete-3.1.0+3.1.0/

make

make install

cd libpri-1.6.0/

make

make install


Ahora desde la misma raíz de Asterisk-16.16.0 y configuraremos el PJProjects, ahora seleccionaremos la paquetería de Music Hold On en "Add-ons" "format_mp3" tras ejecutar "make menuselect" :

./configure --libdir=/usr/lib64 --with-jansson-bundled

make menuselect


Y desde la misma raíz instalaremos Asterisk-16.16.0:

make && make install

make progdocs

make samples


Ahora, solo desde el usuario Asterisk que creamos anteriormente daremos los privilegios a la carpetas de la instalación de Asterisk, lo siguiente:

sudo chown asterisk. /var/run/asterisk

sudo chown asterisk. -R /etc/asterisk

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


Volvemos a la raíz de Asterisk-16.16.0:

make config

make install-logrotate


Ahora, para finalizar la instalación y ejecución de Asterisk corremos los siguientes comandos:

asterisk -&

asterisk -rvvv


Validación de la Instalación:


Validemos la instalación de DAHDI, si falta los archivos de configuración lo indicará tras querer iniciarlo:

/etc/init.d/dadhi start


En ese caso nos dirigimos a la raíz de instalación que es la ruta /etc y todos los archivos con ".sample" los pasamos a mover sin la extensión.

cd /etc/dahdi/

mv system.conf.sample system.conf


Luego podremos iniciar el servicio de DAHDI:

service dahdi start

lsmod | grep dahdi


Y finalmente podremos ver que el servicio de Asterisk está activo:

systemctl start asterisk

systemctl enable asterisk

systemctl start dahdi

systemctl enable dahdi


Como consideración final, es necesario habilitar el puerto 5060 o el puerto que vayan a usar para la telefonía SIP desde el firewall, les recomiendo instalar "firewall-cmd" y realizar la habilitación del puerto en la interfaz que contenga la IP de la red.


Cualquier duda o consulta pueden validar en los siguientes fuentes o la escriben en los comentarios:

https://www.geekdecoder.com/install-asterisk/

https://www.tecmint.com/install-asterisk-on-centos-7/

https://community.asterisk.org/t/dahdi-installation-with-centos8/85266/4

https://superuser.com/questions/814876/kernel-source-error-on-dahdi-installation-in-centos

https://stackoverflow.com/questions/2800924/asterisk-unable-to-connect-to-remote-asterisk-does-var-run-asterisk-ctl-exis

https://wiki.asterisk.org/wiki/display/AST/Installing+Initialization+Scripts


¡Muchas gracias!

Tracert-BBc

No hay comentarios:

Publicar un comentario