Está en la página 1de 7

Laboratorios

Instalación de Asterisk
TechXpert.Guru
Asterisk Básico
Laboratorio 1

Descripción: Instalar Asterisk sobre CentOS 7.

Objetivo: Comprender conceptualmente qué es Asterisk desde su enfoque de framework para el desarrolló
de una PBX.

Tiempo Máximo: 15 minutos.

Instrucciones:

Ingresamos a la consola de su servidor CentOS 7 como usuario root

Nos aseguramos que el servidor tenga salida a internet e instalamos VIM, herramienta que vamos a usar en
el resto de talleres, igual usted puede editar los archivos con el editor de su preferencia

# yum install –y vim

Luego debemos deshabilitar SELINUX

# vim /etc/selinux/config

Colocamos disabled en SELINUX

# This file controls the state of SELinux on the system.


# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Grabar y Salir (Esc → :wq)

Agregamos reglas en nuestro firewall

# iptables -A INPUT -p udp -s 0/0 -d 0/0 --destination-port 5060 -j ACCEPT


# iptables -A INPUT -p udp -s 0/0 -d 0/0 --destination-port 4569 -j ACCEPT

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados
Vamos a hacer la instalación de asterisk desde su archivo fuente, eliminamos el proceso con subversion,
pues a partir de octubre de 2019 Sangoma modifico el proceso, colocando a la pila PJSIP por defecto y
dejando chansip sin marcar en la instalación.

En este taller vamos a trabajar con chansip, por esta razón vamos a explicar el proceso de instalación
incluyendo el canal en mención.

Antes que nada procedemos a actualizar nuestro servidor

# yum update -y

Instalamos dependencias

# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget o


penssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-deve
l binutils-devel

Crearemos un usuario denominado Asterisk

# adduser asterisk -c "Asterisk User"

Ahora instalamos pjsip (La página oficial es: https://www.pjsip.org/)

# cd /usr/src
# wget https://github.com/pjsip/pjproject/archive/2.10.tar.gz
# tar –zxf 2.10.tar.gz
# cd pjproject-2.10/
# ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --ena
ble-shared --disable-video --disable-sound --disable-opencore-amr
# make dep
# make
# make install

Si todo resulta correcto, ejecutamos lo siguiente.

# ldconfig
# ldconfig -p | grep pj

Debemos ver el siguiente resultado

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados
[root@ayvb pjproject-2.10]# ldconfig -p | grep pj
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
libpj.so (libc6,x86-64) => /lib64/libpj.so

En este punto ya tenemos todo nuestro sistema listo para poder instalar asterisk, vamos a utilizar la versión
16, en su rama certificada, para ello debemos seguir los siguientes pasos:

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
# tar -zxvf asterisk-16-current.tar.gz
# cd asterisk-16.12.0

Vamos a adicionar soporte para mp3 ejecutando los siguientes comandos

# yum install svn


# ./contrib/scripts/get_mp3_source.sh

Al ejecutar el segundo commando, debemos obtener una salida similar a la siguiente:

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
Se exportó la revisión 202.

Continuamos con el siguiente bloque de comandos los cuales prepararán la compilación de asterisk.

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados
# contrib/scripts/install_prereq install
# ./configure --libdir=/usr/lib64 --with-jansson-bundled

Si todo va bien debe ver una figura como esta:


.$$$$$$$$$$$$$$$=..
.$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 :
[root@ayvb asterisk-16.12.0]#

Ahora debemos escoger los paquetes adicionales que queremos instalar, aquí es de vital importancia entrar
al menú de Channel Driver y marcar con al tecla ENTER chan_sip:

# make menuselect

Debemos confirmar que en la sección Channel Drivers esté seleccionado chan_sip.

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados
También debemos seleccionar app_macro en la sección Applications.
Al concluir debemos guardar y salir.

Ahora procedemos a realizar el proceso final, ejecutamos:

# make

+--------- Asterisk Build Complete ---------+


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

La construcción de Asterisk está completa, ahora debemos instalarlo ejecutando:

# 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 +
+-------------------------------------------+

La instalación se ha completado, para culminar podemos generar algunos ejemplos con el siguiente
comando:

# make samples

Ahora ejecutaremos el comando make config el cual instalará scripts de inicio y configurará el sistema para
ejecutar Asterisk automáticamente en el inicio.

# make config

Actualizaremos la propiedad de los siguientes directorio y archivos:

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados
# chown asterisk. /var/run/asterisk
# chown asterisk. -R /etc/asterisk
# chown asterisk. -R /var/{lib,log,spool}/asterisk

Ahora probaremos la instalación iniciando el servicio de Asterisk:

# service asterisk start

Podemos proceder a iniciar la consola de asterisk con los comandos:

# asterisk
# asterisk -rvvvvc

Y debemos ver lo siguiente:

Asterisk 16.12.0, 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.12.0 currently running on ayvb (pid = 13956)
ayvb*CLI>

Ya su asterisk se encuentra listo para ser usado en el resto de laboratorios.

El contenido de este instructivo está sujeto a mejoramiento. Si usted encuentra errores, por favor envíe un
email a info@opendireito.com y recibirá una actualización gratis en la siguiente edición.

Programa de Entrenamiento Asterisk y VoIP Básico


TechXpert.Guru 2020 – © Todos los derechos reservados

También podría gustarte