Sunteți pe pagina 1din 20

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E


INDUSTRIAL

CARRERA DE ELECTRÓNICA Y COMUNICACIONES

COMUNCACIONES AVANZADAS

Semestre: Noveno

Tema: Configuración de centralitas telefónicas Asterisk y Elastix mediante un Túnel GRE

Integrantes:
 Bonilla Diego
 Dávila Lenin

Docente: Santiago Manzano

Fecha: Ambato 17 de julio de 2018

Ambato- Ecuador
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

INFORME
1. Título
Configuración de centralitas telefónicas Asterisk y Elastix mediante un Túnel GRE
2. Objetivos
1.1. Objetivo general
 Realizar la configuración para la comunicación de los servidores Asterisk
y Elastix mediante un túnel GREE para la conexión con arduino, GoIP y la
configuración de una alarma en las centralitas.

1.2.Objetivos específicos
 Configurar la centralita en Asterisk para dar servicios a algunas
extensiones.
 Configurar la centralita en Elastix para dar servicio a algunas extensiones,
brindar un servicio de alarmas y control del microcontrolador Arduino
 Realizar la configuración del túnel GRE para la conexión de las centralitas
de Asterisk y Elastix mediante el uso de tres routers Cisco.

3. Resumen
En el presente proyecto se muestra la configuración de dos centralitas, Asterisk y
Elastix mediante la configuración de un túnel GRE (Generic Routing Encapsulation),
que es uno de los mecanismos de tunneling que utiliza IP como protocolo de transporte
y puede ser usado para transportar distintos protocolos, de tal forma que se pueda
simular la conexión de dos troncales a larga distancia utilizando la nube. La
configuración de Elastik y Asterisk está realizada de forma que se pueda controlar un
arduino con su configuración respectiva y una GoIP, utilizado para establecer una
conexión directa entre la red GSM y VoIP. Además la configuración de una alarma.
Para las centralitas se ha hecho uso de máquinas virtuales en DropBox, de modo que
las configuraciones se han realizado mediante el terminal.

4. Introducción
Tradicionalmente el servicio telefónico es entregado por medio de líneas de cobre o
fibra óptica, últimamente se está utilizando mucho la red IP, vía Internet o enlaces
dedicados de datos, muy recomendado para servidores virtualizadas. El modo más
usual de que este tipo de servicios funciones es la creación de centralitas, entre unas
de las cuales las más usuales son Asterisk y Elastix, las que se encargaran de la
configuración tanto del sistema como de las centralitas. Las centralitas IP utilizan la
infraestructura de comunicaciones de datos (LAN y WAN) para realizar sus funcione,
pueden por tanto conectarse a servicios públicos VoIP, pero también tienen la
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

capacidad de trabajar con líneas convencionales de teléfono analógicas o digitales


(RDSI).

La integración de otros servicios es posible siempre y cuando estos estén configurados


mediante un dirección IP, la cual servirá como medio para la conexión y comunicación
con los servicios o funciones que vaya a realizar.

5. Palabras clave
Asterisk, Elastix, centralitas, Túnel GRE, arduino, goIP

6. Metodología
1.3.Marco teórico
Asterisk

Fig. 1: Asterisk

Asterisk es el líder mundial en plataformas de telefonía de código abierto. Es un


software que puede convertir un ordenador de propósito general en un sofisticado
servidor de comunicaciones VoIP.

Es un sistema de centralita IP utilizado por empresas de todos los tamaños para


mejorar su comunicación, incluyendo a Google, Yahoo, IBM, e incluso el Ejército de
EE.UU. Asterisk puede funcionar con Linux, BSD, OS X y Windows, y trabajará
con la mayoría de los teléfonos compatibles SIP y softphones. [1]
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Elastix

Fig. 2: Elastix

Elastix es un software de código abierto para el establecimiento comunicaciones


unificadas distribuido bajo la licencia GPLv2. Pensando en este concepto el objetivo
de Elastix es el de incorporar en una única solución todos los medios y alternativas de
comunicación existentes en el ámbito empresarial.

El proyecto Elastix se inició como una interfaz de reportación para llamadas de


Asterisk y fue liberado en Marzo del 2006. Posteriormente el proyecto evolucionó
hasta convertirse en una distro basada en Asterisk. [2]

Túnel GRE

Fig. 3: Túnel GRE

EL Tunneling provee un mecanismo para transportar paquetes de un protocolo dentro


de otro protocolo. El protocolo que es transportado es llamado protocolo pasajero, y el
protocolo que es utilizado para trasportar al protocolo pasajero es llamado protocolo
de transporte. Generic Routing Encapsulation (GRE) es uno de los mecanismos de
tunneling que utiliza IP como protocolo de transporte y puede ser usado para
transportar distintos protocolos. Los túneles se comportan como links punto a punto
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

virtuales, que tienen dos extremos identificados como tunnel source y tunnel
destination. Configurar un túnel GRE incluye configurar un tunnel interface, que es
una interfaz lógica. Después hay que configurar los extremos para el tunnel interface.
[3]

1.4. Materiales
Hardware Software
3PCs Virtual Box
3 Routers CISCO 2900 Series Elastics
2 Switch Cisco Small Asterisk
1 goIP Hiper Terminal
3 Cables de consola Putty
1 Cable serial Cisco Packet Tracer
3 Conversores USB-Serial
1 Arduino
2 Leds
2 Resistencias

1.5.Procedimiento
1.5.1. Configuración Asterisk y Elastix

PROCEDIMIENTO

Requisitos previos

Instalar la aplicación de Asterisk y Elastix y crear sus respectivas extensiones,

Para el presente proyecto se crearon las extensiones:

200 – 201 – 200 En Asterisk

100 – 101- 102 – 777 - 772 En Elastix

A. Conexión ASTERISK y ELASTIX

Se debe seguir la siguiente configuración en Elastix una vez ingresado su número en la página
web.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Figura 1Configuración Trunk Elastix

Figura 2Configuración de Route Elastix

Figura 3Creación de la Extensión de Asterisk en Elastix


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Se debe colocar las extensiones del Asterisk con las que deseamos comunicarnos.

En ese caso es 20X.

EN ASTERISK

vi /etc/asterisk/extensions.conf

exten=>_10X,1,Dial(SIP/elastix/${EXTEN})

10X Son las extensiones del Elastix con la que deseamos comunicarnos.

B. Creación del IVR

PARA EL VIR ASTERISK

Se debe grabar un Background en el sintetizador de Windows, posteriormente con la ayuda


de un programa convertidor de formato se lo cambia a .gsm.

Este archivo debe estar en la dirección

cd /etc/asterisk/sounds/en

Con los siguiente comandos se ordena llamar este saludo, y sus respectivas extensiones.

Figura 4 IVR en ASTERISK


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Figura 5 Configuración de extenciones en Asterisk

C. Control del arduino por medio de la centralita

EN ELASTIK

Se debe confirmar que en la extensión cd/etc/asterisk/extensions_custom.conf se encuentre el


archivo phpagi.php, y darle los permisos de ejecución, chmod 777.

Se debe programar el arduino en un archivo php que se coloca en la misma carpeta de


phpagi.php considerando colocar una IP dentro de la misma red.

Se programa en Windows, y se debe montar en una flash para trasladarlo al elastix.

Figura 6 Montar Flash en Elastix


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

EXTENSION ARDUINO EN ELASTIK

En la carpeta

cd /etc/asterisk/extensions_custom.conf

Se debe agredar las extensiones del arduino y el proceso de contestación, ejecución del AGI,
y el colgar de la llamada

Figura 7 Extensión de Arduino

El programa de arduino es:

#!/usr/bin/php -q

<?php

require("phpagi.php");

$agi = new AGI();


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

$arduino_ip = "tcp://192.168.1.30";

$arduino_port = 80;

$ttsengine = 1; //enter 0 for flite, 1 for cepstral

$enter_prompt = "Por favor ingrese el valor del L E D. Cero para apagar, 1 para encender";

$sending_prompt = "Enviando la informacion al arduino";

$error_prompt = "error,inten nuevamente.";

$fp = fsockopen($arduino_ip, $arduino_port, $errno, $errstr);

if (!$fp) {

speak($error_prompt);

exit();

$continue = true;

while($continue){

speak($enter_prompt);

$return = $agi->get_data('beep', 10000, 1);

if (($return['result'] >= 0) and ($return['result'] <= 2)){

speak($sending_prompt);

$ascii = chr($return['result']);

fwrite($fp, $ascii);

else{

speak($error_prompt);

fclose($fp);

function speak($text){

global $agi;
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

if ($ttsengine == 0){

$agi->text2wav($text);

}else {

$agi->swift($text);

?>

D. Despertador

EN ELASTIK

Se debe verificar que el sistema contenga la carpeta wakeup o a su vez descargarlo y crear
una extensión.

EXTENSION DESPERTADOR

Figura 8 Configuración de Despertador

Al llamar y programar se debe tomar en consideración la hora a la que trabaja el servidor para
colocar el despertador, el mismo que a la hora programada emite una llamada al usuario.

IVR CON ARDUINO Y DESPERTADOR

Se debe elaborar dos extensiones en elastix para relacionar al arduino y al despertador, como
el IVR se coloca en asterisk se debe tener precaución los procesos a la hora de marcar.

1.5.2. Configuración consulta de base de datos


Se crea un archivo php haciendo una consulta a la base de datos para posteriormente
informarme gracias a festival
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Instalación de Festival:

Festival es un sistema de síntesis de voz, es decir un “text to speech”, tiene como objetivo
crear una relación entre las personas y los ordenadores a través de medios de audio. Es por
ello que se ha visto necesaria la instalación de Festival, para integrar con Asterisk y poder
realizar consultas del estado del sistema.

En primer lugar se instala Festival con el siguiente comando:

sudo apt-get install festival.

Se ingresa a la carpeta donde se instaló Festival y se edita el archivo “festival.scm”.

cd /usr/share/festival/.
sudo nano festival.scm.

En el archivo “festival.scm”, se configura Festival con la voz predefinida, añadiendo al final


del archivo las instrucciones

Figura 9 Configuración del archivo festival.scm

Para integrar Festival con Asterisk se edita el archivo “festival.conf” que se encuentra en la
dirección “cd /etc/asterisk”.

cd /etc/asterisk.
sudo nano festival.conf.

En el archivo “festival.conf” se cerciora que las siguientes instrucciones se encuentren


activadas y de no ser.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Instalación de voces en Español


En Asterisk las locuciones vienen instaladas de forma predeterminada en inglés, y para un
mejor entendimiento en el presente proyecto se ha instalado las voces en español de la
siguiente manera.

Se crea una carpeta “voces” en el directorio “cd /usr/src” para instalar las voces en español.

sudo mkdir voces.

Se ingresa a la carpeta voces para instalar los paquetes en español que contienen los dígitos,
la fonética, entre otros archivos para la activación de las voces en español.
sudo wget https://www.sinologic.net/voces/voipnovatos-extra-sounds-es-ulaw- 1.4.tar.gz.

A continuación, se descomprimen los archivos descargados para que Asterisk pueda hacer uso
de los mismos.

sudo tar zxvf voipnovatos-core-sounds-es-ulaw-1.4.tar.gz.


sudo tar zxvf voipnovatos-extra-sounds-es-ulaw-1.4.tar.gz.

Finalmente se visualiza que los paquetes se encuentran en la carpeta voces, para la


visualización se lo realiza con la instrucción “ls” [4]

Figura 9 Visualización de los paquetes en la carpeta voces.

El archivo leer.php debe estar debtro de la carpeta en var/lib/Asterisk/agi-bin

#!/usr/bin/php -q
<?php
//; Se llama a las librerías de AGI
require('phpagi.php');
//;Se utiliza para activar la bandera de enviar todo lo que se realice a la consola como modo
de
depuración
error_reporting(E_ALL);
//;Se crea una instancia de la clase AGI
$agi = new AGI();
$agi-> answer();
//;Se hace la conexión a la base de datos
$conexion = mysql_connect('172.21.107.150','root','lpdp190294') or die (mysql_error());
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

mysql_select_db('DATOS',$conexion);

$query="SELECT * FROM valores order by TEMPERATURA desc";


$_result=mysql_query($query,$conexion);
$_re=mysql_fetch_array($_result);
//;Mediante la sentencia text2wav se pide que convierta el texto en audio y menciona el
nombre

$agi->text2wav("sensor de temperatura de agua");


$query="SELECT * FROM valores order by TEMPERATURA desc";
$_result=mysql_query($query,$conexion);
$_re=mysql_fetch_array($_result);

//;Finalmente lee el último valor sensado en la base de datos y cuelga la llamada.


$agi->text2wav("la temperatura del agua es $_re[gradC] grados");
//;... en la fecha $_re[fecha_tagua]
$agi-> hangup();
?>

1.5.3. Configuración del túnel GRE


Para la configuración del túnel GRE se ha hecho uso de 3 routers CISCO a los cuales se ha
nombrado como ROUTER1, ROUTER2, CENTRAL, para identificar las distintas redes y el
router que va a simular la nube.
Pasos:
1. Establecer la conexión con el router mediante la terminal para lo cual se hace uso de
Hyperteminal y/o Putty.
2. Aplicar direcciones IP a la interface Gigabit Ethernet de acuerdo con la Tabla de
Direccionamiento que se muestra a continuación.

DISPOSITIVO INTERFACE DIRECCION MASCARA DE PUERTA DE


IP SUBRED ENLACE
ROUTER 1 G0/1 10.1.1.1 255.255.255.252 N/A
G0/2 172.16.1.1 255.255.255.0 N/A
Tunnel0 172.16.12.1 255.255.255.252 N/A
CENTRAL G0/1 10.1.1.2 255.255.255.252 N/A
G0/2 10.2.2.2 255.255.255.252 N/A
ROUTER 2 G0/1 172.16.2.1 255.255.255.0 N/A
G0/2 10.2.2.1 255.255.255.252 N/A
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Tunnel0 172.16.12.2 255.255.255.252 N/A

Fig. 4: Configuración interfaces ROUTER 1

Fig. 5: Configuración interfaces ROUTER 2

Fig. 6: Configuración interfaces CENTRAL


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

3. Activar las interfaces físicas mediante de la conexión de cables en los puertos


respectivos según la configuración.
4. Se procede a configurar rutas predeterminadas al enrutador CENTRAL, para lo que
se ha asignado de la siguiente manera.
ROUTER1(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.2
ROUTER2(config)# ip route 0.0.0.0 0.0.0.0 10.2.2.2
5. Se configura la interface del tunnel en los routers (ROUTER1 y ROUTER2), de la
siguiente manera:
Para el router 1
ROUTER1 (config)# interface tunnel 0
ROUTER1 (config-if)# ip address 172.16.12.1 255.255.255.252
ROUTER1 (config-if)# tunnel source g0/0
ROUTER1 (config-if)# tunnel destination 10.2.2.1

Para el router 2

ROUTER 2 (config)# interface tunnel 0


ROUTER 2 (config-if)# ip address 172.16.12.2 255.255.255.252
ROUTER 2 (config-if)# tunnel source 10.2.2.1
ROUTER 2 (config-if)# tunnel destination 10.1.1.1

6. Se puede comprobar conectividad haciendo Ping desde ROUTER1 hasta ROUTER 2


7. Se procede a configurar el enrutamiento OSPF para el área 0 sobre el túnel.
Para el router 1
ROUTER 1config)# router ospf 1
ROUTER 1 (config-router)# network 172.16.1.0 0.0.0.255 area 0
ROUTER 1 (config-router)# network 172.16.12.0 0.0.0.3 area 0
Para el router 2

ROUTER 2(config)# router ospf 1


ROUTER 2(config-router)# network 172.16.2.0 0.0.0.255 area 0
ROUTER 2(config-router)# network 172.16.12.0 0.0.0.3 area 0
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

8. Comprobar si OSPF esta asignado correctamente utilizando el comando show ip route.

Fig. 7: Configuración OSPF ROUTER 1

Fig. 8: Configuración OSPF ROUTER 2

9. Finalmente se comprueba conectividad entre los dos routers y mediante la conexión


de dispositivos en cada router mediante un switch.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Fig. 9: Comprobación de conexión ROUTER 1

Fig. 10: Comprobación de conexión ROUTER 1


UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

Fig. 11: Comprobación de conexión desde CENTRAL


7. Conclusiones
 Los túneles GRE es un protocolo de encapsulación que se comportan como links punto
a punto virtuales que tienen dos extremos identificados como tunnel source y tunnel
destination. Constituye además un método muy útil para transportar paquetes de un
protocolo dentro de otro protocolo. El protocolo que es transportado es llamado
protocolo pasajero, y el protocolo que es utilizado para trasportar al protocolo pasajero
es llamado protocolo de transporte
 Con la implementación de la central telefónica en Asterisk se llega a la conclusión de
que es necesario analizar y controlar todos los parámetros que se den al realizar una
llamada telefónica, al realizar la llamada y no marcar ninguna extensión, la llamada
sigue en curso hasta que el usuario cuelgue, por ello se requiere limitar el tiempo de
espera, colocando un rango de 0 a 5 segundos

8. Recomendaciones

Es recomendable instalar la última versión de Asterisk disponible, porque viene con


paquetes actualizados, que pueden ser aprovechados al máximo, logrando tener llamadas
telefónicas exitosas, es recomendable colocar tiempos de espera para la marcación de
extensiones y para escuchar nuevamente el menú, porque se puede dar el caso que no se
escuchó bien el tipo de sensor que se requiere conocer el estado, también se recomienda
instalar en Asterisk los paquetes de festival y la voz femenina de la Junta de Andalucía,
porque es la voz más clara en español que se encuentra disponible.
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
PERÍODO ACADÉMICO: OCTUBRE 2015 – MARZO 2016

9. Referencias bibliográficas

[1] Quarea, «Quarea,» [En línea]. Available: http://www.quarea.com/es/que-es-asterisk-


centralita-telefonica-ip. [Último acceso: 27 07 2018].

[2] elastix, «elastix,» [En línea]. Available: https://www.elastix.org/es/informacion/. [Último


acceso:16 07 2018].

[3] E. Rodrigo, «Comunidad de soporte de CISCO,» [En línea]. Available:


https://supportforums.cisco.com/es/document/126566. [Último acceso: 16 07 2018].

[4] A. Vivanco, «Sistema de control electrónico para acuarios utilizando tecnologías gsm y
voip» [En línea]. Available: http://repositorio.uta.edu.ec/jspui/bitstream/123456789/26367/1/
Tesis_%20t1308ec.pdf. [Último acceso: 16 07 2018].

S-ar putea să vă placă și