Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas...

48
Asterisk: Gestión de Campañas Pag. 1 Al departamento de Redes, Telecomunicaciones y Base de Datos del BCRP, por todo el apoyo y enseñanza. A kmla, que aún me sigue ayudando sin darme cuenta.

Transcript of Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas...

Page 1: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 1

Al departamento de Redes, Telecomunicaciones y Base de Datos del BCRP, por todo el apoyo y enseñanza. A kmla, que aún me sigue ayudando sin darme cuenta.

Page 2: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 2

Asterisk

Gestión de Campañas

Autor: Raúl Alejandro Mescua Huamaní

Especialidad: Redes y Comunicaciones de Datos

TECSUP

2006 - II

Page 3: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 3

Índice

Pág.

Introducción 4

Capitulo I: Resumen y Objetivos del Proyecto 5

Capitulo II: Fundamentos del Proyecto 7

Antecedentes del Problema 7

Situación Actual 7

Impacto a Futuro 8

Capitulo III: Determinación de la solución Optima 9

Capitulo IV: Desarrollo de la Solución 12

Instalación del Sistema Base 12

Configuración del Sistema Base 13

Pasos previos a instalar Asterisk 14

Empezando la Instalación de Asterisk 15

IV.1: Configuración de Archivos 18

Instalación y configuración de Apache, Mysql y PHP 22

Creando los archivos PHP para la campaña 24

Dialer 31

Dial Plan (Plan de llamada) 31

Auto Dial Out 32

Estructura del archivo.call 33

Prueba del sistema de Dial Out 34

Capitulo V: Estableciendo soluciones basadas en situaciones locales 35

Aplicando VPN con SSL 37

Configuración del Túnel VPN 39

Capitulo VI: Estableciendo Número de Líneas 41

Concepto de Erlang 41

Determinando número de líneas para una campaña 42

Bibliografía: 43

Anexo Nº 1: Cuadro Comparativo de Posibles Soluciones 44

Anexo Nº 2: Esquema General de una Central Asterisk 45

Anexo Nº 3: Diagrama Lógico de la Solución 46

Anexo Nº 3: Diagrama Lógico de la Solución (Aplicando VPN) 47

Page 4: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 4

Introducción

Los servicios de telefonía tradicionalmente han evolucionado muy lentamente,

actualmente se esta dando una convergencia a las redes IP. La telefonía IP supone

una ventaja a la tradicional por la reducción de costees y por la facilidad de desarrollo

de nuevas funcionalidades y aplicaciones.

El software en los últimos años ha recibido la consideración merecida en el ámbito

empresarial. El porcentaje de servidores Linux ha aumentado mucho y

específicamente, en lo que se refiere a servidores Web, Apache es el dominante. Las

grandes empresas de servidores dan soporte para las principales distribuciones de

Linux y muchas empresas han creado nuevos modelos de negocio basados en

software libre.

Tanto la telefonía IP como el software libre se consideran oportunidades para las

empresas. El objetivo de este proyecto Final de Titulacion es demostrar la vialidad

económica-financiera y tecnológica de una nueva empresa cuyo producto es un

Sistema de Telefonía Privada IP basado en software libre y los servicios asociados. La

empresa ficticia se llamará ”Kmla”.

El primer capítulo es un resumen a los conceptos que se tratarán a lo largo del

proyecto, así como los objetivos y principales temas a tratar. Se explica el

significado de la voz sobre IP dentro del marco global del servicio telefónico.

El segundo capítulo expresa los fundamentos del proyecto. La empresa venderá

sistemas de telefonía privados IP; los servicios de instalación, mantenimiento y

consultoría. Además el conocimiento y desarrollo de estos productos permitirán el

desarrollo de nuevos productos y servicios de una forma muy natural.

El tercer capitulo hace referencia a determinar las solución optima, tomando como

referencia algunas posibles soluciones a analizar y optar por una de ellas,

especificando los respectivos pro y contra de cada una de ellas.

El cuarto capitulo expresa en sí el desarrollo de la solución, especificando los

métodos, herramientas utilizadas tanto en software y hardware.

El Quinto y Sexto capitulo pretende establecer soluciones basadas en situaciones

locales y como influyen en las empresas.

Page 5: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 5

Asterisk Gestión de Campañas CAPITULO I: RESUMEN Y OBJETIVOS DEL PROYECTO

En 1876 Alexander Graham Bell solicitó en Estados Unidos una patente para un

teléfono electromagnético revolucionando los sistemas de comunicación humana. Más

de un siglo después tras nuevas revoluciones tecnológicas en el campo de las

comunicaciones, la telefonía sigue siendo un servicio totalmente indispensable para

particulares y empresas.

Las PBX (Private Branch Exchange) o, popularmente, centralitas son sistemas de

conmutación que permiten a varios usuarios compartir las líneas telefónicas externas.

Estos sistemas, además incorporan servicios de utilidad para la empresa, como puede

ser la tarificación, música en espera o grupos de extensiones entre muchos otros. Son

elementos totalmente indispensables para la atención al cliente y la comunicación

interna y externa de prácticamente cualquier empresa.

Tradicionalmente los sistemas PBX se han basado en componentes hardware de

conmutación. El mercado está dominado por unos pocos fabricantes y sus sistemas

propietarios lo que provoca una dependencia del usuario con ellos. Este hecho

también ha frenado la innovación de servicios por parte de los usuarios al ser

plataformas completamente cerradas. Son sistemas caros en los que el usuario no

solo paga por el hardware sino que también debe pagar por licencias de uso por

usuario de cada aplicación.

Page 6: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 6

OBJETIVOS

• Proveer de una solución PBX sobre software a la empresa.

• Automatizar la PBX a fin de efectuar llamadas a los clientes cuando sea

requerido (campañas propias de la empresa).

• Demostrar la confiabilidad y efectividad del software.

• Cubrir la demanda de sistemas de telefonía privada ofreciendo un producto de

calidad, flexible y de bajo coste.

• Extender el volumen y control de llamadas a usuarios móviles, utilizando

mecanismos de seguridad y valiéndose de métodos de acceso como VPN’s

Fundamentos:

Debido a la posible falta de comunicación que una empresa tenga con sus clientes o

personal en si; al momento de querer hacer publica algún tipo de información a fin de

que el cliente este al tanto informado, es que opte por implementar esta solución para

una empresa que decida contar con un sistema de llamadas para emitir campañas

emitidas por llamadas telefonicas, logrando una completa comunicación empresa -

usuario.

Principales Temas a tratar:

• Auto-Dial Out.

• Dialer.

• Dial plans (planes de Marcación).

• VPN

Page 7: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 7

CAPITULO II: FUNDAMENTOS DEL PROYECTO

CRM es una manera de establecer una relación directa entre dos entidades, usuario y

empresa.

Incluye la administración de la relación comercial de la empresa con sus usuarios.

Opte por esta solución debido a la importancia hoy en día de que las empresas

manejen una comunicación directa sin intermediarios con sus usuarios a fin de

mantenerlos ya sea informados con novedades de la empresa, o informarse a si

mismo del estado del usuario.

Antecedentes del Problema.

Las empresas se valen de la telefonía para la comunicación, pero cuando sus clientes

quieren mantenerse informados sobre alguna novedad en la empresa, algún nuevo

servicio, alguna información que ayude a los negocios de los mismos, tenemos lo

siguiente:

• Usuarios desinformados.

• La empresa establece un área especial para realizar esta tarea de informar y

atender las consultas del cliente.

• Clientes deseando tener una comunicación 24 x 7, 365 días del año.

• ¿Que empresa no desea proporcionarle a sus usuarios información de manera

económica, rápida y automática?

• Distancias geográficas que pueden separar; usuario – empresa.

• Usuarios Móviles con enlaces de acceso reducidos en cuanto a BW.

Situación Actual.

Las empresas hoy en día han puesto mucho énfasis en este tema, del cual han

logrado comprender que es vital para su vigencia y desarrollo.

La gran crisis de la economía, está obligando a las empresas que quieran permanecer

en el mercado, a realizar grandes ajustes económicos, lo que en ciertas oportunidades

termina en una reducción de personal, generando un cierto recambio de la línea de

ventas de las empresas, y a su vez, el clima organizacional no es estable, haciendo

que la gran mayoría de la gente esté intranquila, buscando otro trabajo. Estas

situaciones hacen que los vendedores, no puedan dedicarse de la forma que debieran

al cliente, quién al percibir el servicio deficiente, se dedicará inmediatamente a la

Page 8: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 8

búsqueda de nuevas alternativas. Algunas estadísticas dicen que el 65 % de los

clientes que se alejan es debido a una pobre atención al cliente. También se conoce

que el costo de hacer un nuevo cliente es entre 5 y 10 veces mayor que el costo de

retenerlos.

Por otra parte el rápido avance de las alternativas de comunicación, como son los

mails, las páginas Web, las extranets, etc. obligan a que la empresa desarrolle

eficientes medios de comunicación en cada uno de los distintos canales de manera de

poder brindar un servicio homogéneo.

A nivel mercado, también es importante conocer como están las demás empresas del

giro ya que son parte importante del contexto en que nos toca interactuar y

generalmente no se cuenta con una buena información al respecto.

Impacto a Futuro.

El futuro del CRM, tiende a la verticalización de soluciones, es decir a la

especialización de los procesos de negocios asociados a la gestión de relación con los

clientes para cada modelo de industria.

Mucho dependerá también de la difusión de las mismas empresas de Tecnología, la

manera en que el CRM, se convierta en una herramienta indispensable para todas

aquellas empresas que quieran realmente poseer una ventaja competitiva a la vez que

se diferenciaría de los competidores. Se espera que hasta el 2006, las ventas de

CRM, continúen en pleno crecimiento. Cabe resaltar los tres países que más gastaron

en Software de CRM, en el 2001, y ellos son:

Gasto de CRM en millones de $./

JAPÓN 111.9

AUSTRALIA 52.7

CHINA 18.3

Page 9: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 9

CAPITULO III: DETERMINACION DE LA SOLUCION ÓPTIMA

Posibles Soluciones:

1. Implementar un servicio de llamadas.

Características:

• Capacitar al personal apropiado, que se encargara de efectuar llamadas a los

clientes y usuarios moviles, informándoles sobre cualquier novedad en la empresa.

• Establecer tecnología capaz de satisfacer esta necesidad, como establecer anexos

dentro de la empresa.

• Priorizar cuales son los clientes realmente importantes para la empresa, y sobre

quienes se tendrá preferencia.

Ventajas:

• Clientes y usuarios comunicados en todo momento.

• Las relaciones con el cliente no estaran descuidadas.

• Cualquier llamada del cliente para pedir información o ayuda, será atendida de

inmediato por el personal capacitado.

• La empresa podrá orientarse a seguir brindando servicios sabiendo que el tema de

atención e información al cliente esta cubierto.

Desventajas:

• Costos considerables en cuanto a la implementación de este centro de atención al

cliente.

• Las llamadas serán efectuadas en horario laboral, no pudiendo atender alguna

necesidad del cliente en horas fuera de la establecida.

• Capacitación de personal considerable.

Recursos a utilizar: (Hardware)

• Teléfonos analógicos.

• Central telefónica analógica.

• Teléfonos IP, para algunas áreas.

• Auriculares y micrófonos.

• PC, que para anotar los registros y posibles consultas.

Page 10: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 10

Recursos a utilizar: (Software)

• El necesario dentro de una PC, para registrar la fecha y la consulta del cliente.

2. Implementar un CallCenter con Asterisk.

Características:

• Instalar y configurar el software en una PC aislada, cuyo rol será el de una PBX

Privada.

• Establecer un cuadro de llamadas, indicando los clientes.

Ventajas:

• Clientes se mantendrán informados.

• Las relaciones con el cliente no estaban descuidadas.

• Cualquier llamada del cliente para pedir información o ayuda, será atendida de

inmediato, a trabes de una anexo interno.

• Solo se necesitara de un empleado/a capacitado a fin de manejar el software, y

efectuar las llamadas.

• Uso de la Amplia Red de Internet para establecer enlaces con los clientes móviles.

• Ahorro en costo en cuanto a consumo de llamadas telefónicas salientes.

Desventajas:

• Mantenimiento del Servidor Asterisk, cuando se considere necesario.

• Considerable atención a la data, y Backups de la Información.

Recursos a utilizar: (Hardware)

Sugerencia: Se recomienda tener una PC aislada cuya disponibilidad en cuanto a

Disco duro sea total.

Para este ejemplo se advierte que el número de llamadas concurrentes influye en la

PBX, por lo que se toma una muestra para 40 llamadas concurrentes.

• PC con hardware necesario: Monitor, Teclado, tarjeta de Sonido, Lectora de CD)

• 1GB de RAM (mínimo), 2 GB Recomendado.

• Espacio en Disco Duro para el Sistema (5 GB mínimo).

• Espacio en Disco Duro de 5 GB para los mensajes (mínimo)

• Interfaces análogas: FXS y FXO. (Digium o Sangoma recomendado)

• Tarjeta de RED (3COM o Intel recomendado).

Page 11: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 11

Recursos a utilizar: (Software)

• Asterisk-1.XX (para el servidor IP PBX)

• Asterisk-addons (para tonos, música en espera, etc).

• Asterisk-sounds (para algunos sonidos extras – opcional)

• Libpri (librerías para utilizar interfaces RDSI)

• Zaptel (módulos para utilizar interfaces analogas)

Page 12: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 12

CAPITULO IV: DESARROLLO DE LA SOLUCION

Esta solución se desarrollo sobre un Sistema Debian GNU/Linux debido a la completa

administración de paquetería (programas precompilados) que maneja y que hoy en día

constituye una de las distribuciones mas completas, fue que se desarrollo el presente

documento. Sin embargo, el proceso de instalación de Asterisk es aleatorio a cualquier

distribución Linux que se utilice.

Observación: De tener ya instalado un Sistema Debian GNU/Linux, colocar la tarjeta

análoga (Digium o Sangoma) en una ranura PCI y arrancar el sistema. Debian

automáticamente detecta el nuevo hardware y lo configura de acuerdo a la versión del Kernel

compilado.

Una vez iniciado el sistema, verificar que la tarjeta ha sido reconocida:

Para el caso de una Interfaz Digium (con la cual se desarrollo esta solución), se

visualizara la tarjeta reconocida como: Tiger Jet, de lo contrario, apagar el sistema y

verificar que este correctamente conectada la interfaz Digium.

Para Instalar el Sistema Debian GNU/Linux, hacer lo siguiente:

Instalación del Sistema Base.

� Colocar el CD/1 de la versión estable de Debian (Etch), y reiniciar el sistema.

Puede descargarse la versión estable de Debian desde:

http://mirrors.kernel.org/debian-cd/4.0_r0/

� En el prompt de boot escribir: Linux 26

Esto permite instalar debian con kernel 2.6.18-4-686 (recomendado)

� Elegir parámetros de lenguaje, país o región, teclado.

� Configurar los parámetros de Red.

� Introducir el nombre de la maquina y a que dominio pertenecerá.

Para esta solución se nombro al servidor asterisk como “srv02”

� Editar la tabla de particiones

Este punto es fundamental, sobre todo para definir correctamente el orden del disco duro, y como

administraremos la data.

� Puede efectuarse una Ayuda de Particionamiento o particionar el disco

manualmente.

debian#lspci

Page 13: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 13

� De editarse manualmente, tener en consideración dos aspectos:

� Raíz del sistema: “/ “

Capacidad mayor a 3GB (recomendado)

� Área de Intercambio: “SWAP”

Aproximadamente el doble de la capacidad de memoria física; con memorias RAM mayores

a 512 MBytes, esto ya no es necesario.

� El sistema instalara los paquetes necesarios al disco duro, para posteriormente

reiniciar.

� Indicar la contraseña de super-usuario (root), así como el nuevo usuario.

� Elegir la replica para la descarga de paquetería desde un repositorio específico.

Debian actualmente cuanta con mas de 110 repositorios en los cuales almacena una replica de

programas precompilados; los cuales solo algunos veremos mas adelante.

Se asume que hasta este punto, existe una conexión a Internet del servidor Debian.

� En la opción Selección de programas Debian, elegir: “sistema estándar”

Observación: Debian tiene en la actualidad más de 20000 paquetes precompilados, los cuales no

es necesario instalar todos; solamente estamos instalando debian con paquetes necesarios para

que cumpla la función que nosotros le asignemos.

Debido a esto no se instala una interfaz Gráfica, ni herramientas adicionales, que consumirían

recursos innecesarios, los cuales se ven reflejados en “interrupciones” generadas por el sistema, lo

cual se detalla mas adelante.

� Aparecerá la interfase llamada Aptitude, encargada de gestionar los paquetes a

instalar.

� El resto del proceso de instalación, requiere solo aceptar la confirmación para

desempaquetar los programas.

Configuración del Sistema Base.

� Ingresar a la consola como root y sus respectivo password.

� Editar el archivo /etc/apt/sources.lst , comentar (#) la línea que refiere a la fuente

“deb cdrom” y agregar la ultima línea.

srv02#vim /etc/apt/sources.slt deb http://mirrors.kernel.org/debian/ etch main deb-src http://mirrors.kernel.org/debian/ etch main deb http://ftp.us.debian.org/debian etch main deb-src http://ftp.us.debian.org/debian etch main #repositorio para algunas fuentes de asterisk deb http://rapid.sunsite.dk/rapid stable main

Page 14: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 14

� Guardamos los cambios: <Esc> + : + wq

� Actualizamos la lista de repositorios:

Pasos Previos a Instalar Asterisk.

� Podemos instalamos ssh, si deseamos manejar el servidor remotamente.

� Crearemos una variable para hacer más fácil el proceso e instalamos los paquetes

necesarios.

� Terminado esto, se debe instalar los programas de audio que necesita asterisk.

(Ubicarse en el directorio /usr/src)

� Con esto se tiene instalado mpg123; este programa permite reproducir archivos

mp3 desde consola.

srv02:/#apt-get update

srv02:/#aptitude install ssh

srv02:/#export kvers=$(uname -r)

srv02:/#apt-get install make g++ bison flex zlib1g-dev openssl libssl-dev libncurses5-dev zip unzip bzip2 kernel-headers-$kvers

srv02:/#cd /usr/src

srv02:/usr/src#wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz

srv02n:/usr/src#tar –zxvf mpg123-0.59r.tar.gz

srv02:/usr/src#cd mpg123-0.59r

srv02:/usr/src/mpg123-0.59r#make linux

srv02:/usr/src/mpg123-0.59r#make install

Page 15: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 15

Opcional - Instalar SOX. Un programa que permite convertir archivos wav a gsm (utilizados

mayormente por Asterisk).

Ubicarse en /usr/src y descargar SOX de:

http://sourceforge.net/project/showfiles.php?group_id=10706&package_id=10311

� Y listo, se tiene adicionalmente instalado sox, el método para conversión de

archivo wav a gsm, es el siguiente:

� El método para convertir exportar archivos de gsm a wav, es el siguiente:

Empezando la Instalación de Asterisk.

Observación: desde Diciembre del 2005, asterisk ya no soporta mas descargas vía

CVS, en su reemplazo utiliza ahora subversión.

� Procedemos a instalar subversión, para luego descargar las fuentes necesarias.

� Si se esta usando adicionalmente una interfaz T1 o E1, entonces es recomendable

descargar las fuentes de libpri.

srv02:/usr/src#tar –zxvf sox-12.18.2.tar.gz

srv02:/usr/src#cd sox-12.18.2

srv02:/usr/src/sox-12.18.2#./configure

srv02:/usr/src/sox-12.18.2#make

srv02:/usr/src/sox-12.18.2#make install

#sox archivoaimportar.wav archivoexportado.gsm

#sox archivoaimportar.gsm –r 44100 –a archivoexportado.wav

srv02:/usr/src/sox-12.18.2#cd /usr/src

srv02:/usr/src#apt-get install subversion

srv02:/usr/src#svn checkout http://svn.digium.com/svn/asterisk/branches/1.4

asterisk-1.4

srv02:/usr/src#svn checkout http://svn.digium.com/svn/zaptel/branches/1.2

zaptel-1.2

srv02:/usr/src#svn checkout http://svn.digium.com/svn/libpri/branches/1.2

libpri-1.2

Page 16: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 16

� Compilamos las fuentes; empezaremos compilando los módulos de zaptel,

asumiendo que la tarjeta Digium ha sido reconocida por el sistema, lo

verificaremos:

� Compilamos zaptel

� Cargamos los módulos respectivos:

� Editamos el archivo zaptel.conf , y ejecutamos un test de señalización.

� Este test muestra la tarjeta con los módulos instalados.

� Para verificar el tipo de señalización:

� Esto mostrara el tipo de señalización asignado a cada modulo FXS/FXO.

srv02:/usr/src#lspci | grep Tiger*

srv02:/usr/src#cd zaptel-1.2/

srv02:/usr/src/zaptel-1.2#make clean

srv02:/usr/src/zaptel-1.2#make linux26

srv02:/usr/src/zaptel-1.2#make install

srv02:/usr/src/zaptel-1.2#modprobe zaptel

srv02:/usr/src/zaptel-1.2#modprobe wctdm

srv02:/usr/src/zaptel-1.2#vim /etc/zaptel.conf

loadzone = es

defaultzone = es

fxols=1 ; Interface FXS 1 de la Tarjeta Didium TDM400P

fxols=2 ; Interface FXS 2 de la Tarjeta Digium TDM400P

fxsls=4 ; Interface FXO 4 de la Tarjeta Digium TDM400P

srv02:/usr/src/zaptel-1.2#ztcfg -vv

srv02:/usr/src/zaptel-1.2#dmesg

Page 17: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 17

� Como se menciono antes, las fuentes de libpri pueden ser compiladas si se esta

usando una tarjeta T1 o E1, e aquí el modo de compilación:

� Por último y mas importante, compilamos Asterisk.

� Finalmente se puede arrancar Asterisk con el comando: asterisk –vvvc

� Se notara una serie de mensajes indicando que asterisk esta inicializando, las

vvv pertenecen al mode “very very verbouse”; mientras mas v se le agregue

mayor será la cantidad de operaciones ejecutadas que nos muestre asterisk; la c

nos muestra al final una línea de comandos en modo consola:

*CLI>

� Todos los archivos de configuración se encuentran en: /etc/asterisk

� Listo, se tiene instalado Asterisk en nuestro sistema, sin necesidad de mucho

esfuerzo.

srv02:/usr/src/asterisk-1.4#asterisk –vvvc

srv02:/usr/src#cd libpri-1.2/

srv02:/usr/src/libpri-1.2#make

srv02:/usr/src/libpri-1.2#make install

srv02:/usr/src#cd asterisk-1.2/

srv02:/usr/src/asterisk-1.4#make clean

srv02:/usr/src/asterisk-1.4#make mpg123 ;esto descargara y compilara las

fuentes de mpg123 para asterisk.

srv02:/usr/src/asterisk-1.4#make

srv02:/usr/src/asterisk-1.4#make install

srv02:/usr/src/asterisk-1.4#make samples ;esto creara los archivos de

configuración de ejemplo, para

empezar asterisk con algo de

ayuda.

Page 18: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 18

IV.1 Configuración de Archivos.

Como se menciono, los archivos necesarios para la configuración de las aplicaciones

que ejecuta asterisk, se encuentran en: /etc/asterisk

Básicamente se modificaran 4 archivos dentro de este directorio:

extensions.conf

zapata.conf

sip.conf

voicemail.conf

Por motivos de seguridad y respaldo, renombraremos estos 3 archivos como backup:

extensions.conf

El archivo /etc/asterisk/extensions.conf es el núcleo del sistema, encargado de

manejar el “Dial Plan”. Definiremos aquí las extensiones que existen y las líneas de

entrada y salida, así como los buzones de voz. Pongo a continuación el fichero del

entorno de pruebas con los comentarios pertinentes:

� Editamos extensions.conf.

; ; Archivo de configuración de las llamadas que maneja Asterisk

[default]

language = es ;indicamos el lenguaje, que influye en los mensajes de respuesta de

voz

[Internal] ;define un contexto para llamadas internas

exten => 100,1,Dial(zap/1,20,rt) ;llama a trabes del canal 1 al anexo 100

exten => 100,2,Voicemail(u100) ;envía al buzón de correo del anexo 100, la llamada perdida.

exten => 100,3,Playback(dial1) ;establece la prioridad 3; reproduciendo un mensaje pre-grabado

exten => 100,102,Voicemail(b100) ;la prioridad 102 indica que el usuario no esta conectado y salta el

contestador al buzón 100.

srv02:/#cd /etc/asterisk

srv02:/etc/asterisk/#mv extensions.conf extensions.bak

srv02:/etc/asterisk/#mv zapata.conf zapata.bak

srv02:/etc/asterisk/#mv sip.conf sip.bak

srv02:/#vim /etc/asterisk/extensions.conf

Page 19: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 19

exten => 119,1,Dial(zap/2,20,rt) ;llama a trabes del canal 2 al anexo 119

exten => 119,2,Voicemail(u119) ;envía al buzón de correo del anexo 119, la llamada perdida.

exten => 119,102,Voicemail(b119) ;la prioridad 102 indica que el usuario no esta conectado y salta el

contestador al buzón 119.

exten => 117,1,Dial(SIP/117,10,t) ;llama al 117 definido en el archivo sip.conf

exten => 117,1,Dial(SIP/[email protected])

exten => 118,1,Dial(SIP/118,10,t) ;llama al 118 definido en el archivo sip.conf

exten => 118,1,Dial(SIP/[email protected])

exten => 121,1,Dial(SIP/121,10,t) ;llama al 121 definido en el archivo sip.conf, constituye un usuario

móvil

exten => 121,1,Dial(SIP/[email protected])

exten => 8500,1,VoiceMailMain ;establece un buzón de voz para este contexto

exten => 8501,1,MusicOnHold ;establece música en espera las extensiones dentro de este

contexto

exten => _9.,1,Dial(zap/4/www${EXTEN:1}) ;permite hacer llamadas al exterior (PSTN), marcando el 9

seguido del número de anexo

exten => _9.,2,Congestion

exten => _6XXX,1,Dial(IAX2/[email protected]/${EXTEN},30,r) ;establece una comunicación a

travez del protocolo IAX2, para

comunicarse con otro servidor

Asterisk. Marcando el 6(#anexo)

exten => _6XXX,2,Congestion

Include=outgoing

Include=default

[Incoming] ;define el contexto donde se reciben las llamadas.

Include=default

exten => s,1,Answer ;descolgamos

exten => s,2,Dial(zap/g1,20,rt) ;llama al zap 1 (extension 100)

exten => s,3,Voicemail(u100) ;envía al buzón del anexo 100 la llamada perdida

sip.conf

En el archivo sip.conf definimos también las extensiones que usan SIP como protocolo. � Editamos sip.conf.

Page 20: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 20

; Archivo sip.conf de configuración de extensiones que utilizan protocolo SIP

[general] port = 5060 ;puerto donde escucha asterisk las peticiones SIP

binaddr = 0.0.0.0 ;en que ip escucha, así en todas

context = Internal ;nombre del contexto que escucha

language = es

disallow = all ;por defecto todos los codecs fuera

allow = all ;habilita todos

[117] ;define el anexo sip 117 (cliente 117)

type = friend

username = 117 ;establece el nombre de usuario

secret = <password> ;establece el pasword

nat = no ;deshabilita opción de NAT

host = dynamic ;identifica al usuario como cliente móvil

disallow = all ;descarta todos los codecs

allow = ulaw ;habilita el codec ulaw

allow = gsm ;habilita el codec gsm

allow = alaw ;habilita el codec alaw

context = Internal ;contexto al que pertenece el cliente

[118] ;define el anexo sip 118 (cliente 118)

type = friend

username = 118 ;establece el nombre de usuario

secret = <password> ;establece el pasword

nat = no ;deshabilita opción de NAT

host = dynamic ;identifica al usuario como cliente móvil

disallow = all ;descarta todos los codecs

allow = ulaw ;habilita el codec ulaw

allow = gsm ;habilita el codec gsm

allow = alaw ;habilita el codec alaw

context = Internal ;contexto al que pertenece el cliente

[121] ;define el anexo sip 121 (cliente 121)

type = friend

username = 121 ;establece el nombre de usuario

secret = <password> ;establece el pasword

nat = no ;deshabilita opción de NAT

host = dynamic ;identifica al usuario como cliente móvil

disallow = all ;descarta todos los codecs

allow = ulaw ;habilita el codec ulaw

srv02:/#vim /etc/asterisk/sip.conf

Page 21: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 21

allow = gsm ;habilita el codec gsm

allow = alaw ;habilita el codec alaw

context = Internal ;contexto al que pertenece el cliente

zapata.conf

El archivo zapata.conf maneja la señalización asignada a cada interfase de la tarjeta

Digium.

� Editamos zapata.conf.

; Archivo zapata.conf

[channels] ;define el contexto para los canales a utilizar

;opciones generales

usecallerid = yes ;habilita y deshabilita el callerid

hidecallerid = yes

callwaiting = yes ;habilita la llamada en espera

threewaycalling = yes

transfer = yes

echocancel = yes

echocancelwhenbridged = yes

rxgain = 0.0 ;volumen RX

txgain = 0.0 ;volumen TX

;FXS Modulos

Group = 1

signalling = fxo_ls ;tipo de señal a utilizar en la interfase FXS

context = Internal

channel = 1-2 ;canales zap conectados a telefonos analogos

;FXO Modulos

Group = 2

echocancel = yes ;cancela el echo producido por las lineas

signalling = fxs_ls ;tipo de señal a utilizar en la interface FXO

context = Incoming ;contexto donde entra la llamada de fuera

busydetected = yes

busycount = 6

answeronpolarityswitch = yes

hanguponpolarityswitch = yes

callprogress = yes

progzone = es

channel = 4 ;canal zap conectado a la PSTN

srv02:/#vi /etc/asterisk/zapata.conf

Page 22: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 22

Nota: se debe tener en cuenta que en la tarjeta TDM400P utilizado para este proyecto, la interfaz FXS es

vista por asterisk como FXO, y la interfaz FXO como FXS.

Con esto será suficiente, para establecer la comunicación entre anexos, y permitirles llamar a números

externos (PSTN), también queda la opción de escuchar un mensaje grabado la cual será enviada a los

clientes, asignados con un respectivo anexo.

Instalación y configuración de Apache, Mysql y PHP

Se necesitara estas herramientas para crear un entorno Web, capaz de controlar el

registro de los clientes, permitiendo asignar sus datos y sobre todo el número

telefónico el cual será importante para emitir las llamadas, una vez establecida la

campaña.

� Instalamos apache2, mysql y php

El sistema nos preguntará si queremos configurar mysql para que servidor, elegimos

apache2. Finalmente nos preguntara si queremos reiniciar el servidor apache,

elegimos que si.

� Creamos el directorio donde se alojara el AGI.

� Modificamos apache2.conf

� Reiniciamos apache

srv02:/#apt-get install apache2 mysql-server mysql-client php4 php4-mysql

libapache2-mod-php4 php4-gd

srv02:/#mkdir /var/www/dial

srv02:/#vim /etc/apache2/apache2.conf

##Ubicamos :“AddType application”, e ingresamos lo siguiente:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ##grabamos

srv02:/# /etc/init.d/apache2 restart

Page 23: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 23

� Creamos el script para la tabla usuario y dial-out.

� Ingresamos a mysql y validamos el usuario root u algún otro usuario con permisos

suficientes:

� Creamos la base de datos dial y cargamos el script para la tabla usuario y dial-

out.

mysql > create database dial; mysql > use dial mysql > @usuario.sql mysql > @dial-out.sql mysql > quit

srv02:/#mysql -q

mysql > use mysql mysql > UPDATE user SET Password=PASSWORD('contraseña') WHERE User='root'; mysql > FLUSH PRiVILEGES;

srv02:/#vim usuario.sql

CREATE TABLE `usuario` (

`id` INT( 3 ) NOT NULL AUTO_INCREMENT ,

`nombres` VARCHAR( 40 ) NOT NULL ,

`apellidos` VARCHAR( 50 ) NOT NULL ,

`direccion` VARCHAR( 60 ) NOT NULL ,

`telefono` INT( 3 ) NOT NULL ,

PRIMARY KEY ( `id` )

) TYPE = MYISAM ;

srv02:/#vim dial-out.sql

CREATE TABLE `dialout` (

`id` INT( 3 ) NOT NULL AUTO_INCREMENT ,

`nombre` VARCHAR( 40 ) NOT NULL ,

`hora` INT( 50 ) NOT NULL ,

`minuto` INT( 60 ) NOT NULL ,

`dia` INT( 10 ) NOT NULL ,

`mes` INT( 10 ) NOT NULL ,

PRIMARY KEY ( `id` )

) TYPE = MYISAM ;

Page 24: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 24

Creando los archivos PHP y directorios para la campaña.

Se crearan diversos archivos PHP, que hagan la consulta a la base de datos “dial”,

ingresen el usuario y la llamada la cual será programada, para posteriormente ser

ejecutada por Asterisk.

Nota: dentro del AGI, quien interactúa entre la interfaz Web y asterisk es el usuario www-data, el cual se

configura en “apache2.conf”.

� Creando el directorio temporal para el ingreso de datos de los usuarios.

� Asignamos un password al usuario www-data y cambiamos de dueño al directorio

outgoing/

� Creamos los archivos de conección.

srv02:/#mkdir /var/spool/asterisk/dial-out

srv02:/#cd /var/www/dial/

srv02:/var/www/dial#vim conex.phtml

<?php

function Conectarse()

{

if (!($link=mysql_connect("localhost","root","<password>")))

{

echo "Error conectando a la base de datos.";

exit();

}

if (!mysql_select_db("dial",$link))

{

echo "Error seleccionando la base de datos.";

exit();

}

return $link;

}

?>

srv02:/#passwd www-data

srv02:/#chown www-data /var/spool/asterisk/outgoing

Page 25: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 25

� Creamos los archivos de ejecución.

srv02:/var/www/dial#vim conex-campania.phtml

<?php

function Conectarse()

{

if (!($link=mysql_connect("localhost","root","<password>")))

{

echo "Error conectando a la base de datos.";

exit();

}

if (!mysql_select_db("dial",$link))

{

echo "Error seleccionando la base de datos.";

exit();

}

return $link;

}?>

srv02:/var/www/dial#vim ejem07d-campana.php

<html>

<head>

<title>Lista de Usuarios y Campanias</title>

</head>

<body>

<table width="65%" border="0" align="left" cellpadding="0" cellspacing="0">

<tr>

<td width="3%">&nbsp;</td>

<td width="97%">&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><H1></H1>

<FORM ACTION="procesar.phtml">

<TABLE>

<TR>

<TD width="79">nombres</TD>

<TD width="147"><INPUT TYPE="text" NAME="nombres" SIZE="25" MAXLENGTH="30"></TD>

</TR>

<TR>

<TD>apellidos:</TD>

<TD><input type="text" name="apellidos" size="25" maxlength="30"></TD>

</TR>

<TR>

Page 26: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 26

<TD width="79">direccion:</TD>

<TD width="79"><INPUT TYPE="text" NAME="direccion" SIZE="25" MAXLENGTH="30"></TD>

</TR>

<TR>

<TD>telefono:</TD>

<TD><input type="text" name="telefono" size="25" maxlength="30"></TD>

</TR>

</TABLE>

<INPUT TYPE="submit" NAME="accion2" VALUE="crear">

</FORM></td>

</tr>

<tr>

<td height="140">&nbsp;</td>

<td><p>

<?php

include("conex.phtml");

$link=Conectarse();

$result=mysql_query("select * from usuario",$link);

?>

</p>

<table border=1 cellspacing=1 cellpadding=1>

<tr>

<td>&nbsp;<b>nombres</b></td>

<td>&nbsp;<strong>apellidos</strong>&nbsp;</td>

<td>&nbsp;<strong>direccion</strong>&nbsp;</td>

<td>&nbsp;<strong>telefono</strong>&nbsp;</td>

</tr>

<?php

while($row = mysql_fetch_array($result)) {

printf("<tr><td>&nbsp;%s</td> <td>&nbsp;%s&nbsp;</td><td>&nbsp;%s</td>

<td>&nbsp;%s&nbsp;</td></tr>", $row["nombres"], $row["apellidos"],

$row["direccion"],$row["telefono"]);

}

mysql_free_result($result);

mysql_close($link);

?>

</table>

<p><a href="ejem07e.phtml">borrar el usuario</a> </p>

<p>&nbsp;</p></td>

</tr>

</table>

<p>&nbsp;</p>

Page 27: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 27

<TABLE><TR>

<TD width="72">nombre</TD>

<TD width="157"><INPUT TYPE="text" NAME="nombre" SIZE="15" MAXLENGTH="30"></TD>

</TR> <TR>

<TD>Hora:</TD>

<TD><input type="text" name="hora" size="15" maxlength="30"></TD>

</TR><TR>

<TD width="72">minuto:</TD>

<TD width="157"><INPUT TYPE="text" NAME="minuto" SIZE="15" MAXLENGTH="30"></TD>

</TR> <TR>

<TD>dia:</TD>

<TD><input type="text" name="dia" size="15" maxlength="30"></TD>

</TR><TR>

<TD>mes:</TD>

<TD><input type="text" name="mes" size="15" maxlength="30"></TD>

</TR></TABLE><INPUT TYPE="submit" NAME="accion" VALUE="Enviar la Campaña">

<br>

<?php

include("conex-campania.phtml");

$link=Conectarsecampana();

$result=mysql_query("select * from dialout",$link);

?>

</FORM><TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>

<TR><TD>&nbsp;<B>nombre</B></TD>

<TD>&nbsp;<strong>hora</strong>&nbsp;</TD>

<TD>&nbsp;<strong>minuto</strong>&nbsp;</TD>

<TD>&nbsp;<strong>dia</strong></strong>&nbsp;</TD>

<TD>&nbsp;<strong>mes</strong>&nbsp;</TD></TR>

<?php

while($row = mysql_fetch_array($result)) {

printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</t

d><td>&nbsp;%s&nbsp;</td></tr>", $row["nombre"], $row["hora"], $row["minuto"], $row["dia"],

$row["mes"]);

}

mysql_free_result($result);

mysql_close($link);

?>

</table><p><a href="ejem07e-campania.phtml">Eliminar la campania</a></p>

<p>&nbsp;</p>

<H1>&nbsp;</H1>

<p>&nbsp;</p>

</body>

</html>

Page 28: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 28

srv02:/var/www/dial#vim ejem07e.phtml

<html>

<head>

<title>Kmila NetCom</title>

</head>

<body>

<H1>Eliminar el usuario:</H1>

<?php

include("conex.phtml");

$link=Conectarse();

$result=mysql_query("select * from usuario",$link);

?>

<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>

<TR>

<TD>&nbsp;<B>direccion</B></TD>

<TD>&nbsp;<B>telefono</B>&nbsp;</TD> <TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR>

<?php

while($row = mysql_fetch_array($result)) {

printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td><a

href=\"borra.phtml?id=%d\">Borra</a></td></tr>", $row["direccion"],$row["telefono"],$row["id"]);

}

mysql_free_result($result);

mysql_close($link);

?>

</table>

<p><a href="ejem07d-campania.php">regresar</a> </p>

</body>

</html>

srv02:/var/www/dial#vim borra.phtml

<?php

include("conex.phtml");

$link=Conectarse();

$id=$_GET['id'];

mysql_query("delete from usuario where id = $id",$link);

header("Location: ejem07e.phtml");

?>

Page 29: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 29

srv02:/var/www/dial#vi ejem07e-campania.phtml

<html>

<head>

<title>Kmila NetCom</title>

</head>

<body>

<H1>Eliminar la campania: </H1>

<?php

include("conex-campania.phtml");

$link=Conectarsecampana();

$result=mysql_query("select * from cdial-out",$link);

?>

<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>

<TR>

<TD>&nbsp;<B>nombre</B></TD>

<TD>&nbsp;<B>dia</B>&nbsp;</TD><TD>&nbsp;<B>mes</B>&nbsp;</TD>

<TD>&nbsp;<B>Borrar</B>&nbsp;</TD></TR>

<?php

while($row = mysql_fetch_array($result)) {

printf("<tr><td>&nbsp;%s</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td><a

href=\"borra-campana.phtml?id=%d\">Borrar</a></td></tr>",

$row["nombre"],$row["dia"],$row["mes"],$row["id"]);

}

mysql_free_result($result);

mysql_close($link);

?>

</table>

<p><a href="ejem07d-campania.php">regresar</a> </p>

</body>

</html>

srv02:/var/www/dial#vim borra-campania.phtml

<?php

include("conex-campania.phtml");

$link=Conectarsecampana();

$id=$_GET['id'];

mysql_query("delete from dial-out where id = $id",$link);

header("Location: ejem07e-campania.phtml");

?>

Page 30: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 30

srv02:/var/www/dial#vim procesar-campania.phtml

<?php

include("conex-campania.phtml");

$link=Conectarsecampana();

$nombre=$_GET['nombre'];

$hora=$_GET['hora'];

$minuto=$_GET['minuto'];

$dia=$_GET['dia'];

$mes=$_GET['mes'];

mysql_query("insert into campaña (nombre,hora,minuto,dia,mes) values

('$nombre','$hora','$minuto','$dia','$mes')",$link);

$file = "/var/www/dial/call.txt";

$fh = fopen($file, 'w');

$string = "$minuto $hora $dia $mes * cp /var/spool/asterisk/dial-out/* /var/spool/asterisk/outgoing/\n";

fwrite($fh, $string);

fclose($fh);

exec('crontab /var/www/dial/call.txt');

header("Location: ejem07d-campania.php");?>

srv02:/var/www/dial#vim procesar.phtml

<?php

include("conex.phtml");

$link=Conectarse();

$nombres=$_GET['nombres'];

$apellidos=$_GET['apellidos'];

$direccion=$_GET['direccion'];

$telefono=$_GET['telefono'];

mysql_query("insert into usuario (nombres,apellidos,direccion,telefono) values

('$nombres','$apellidos','$direccion','$telefono')",$link);

$file = "/var/spool/asterisk/dial-out/$telefono.call";

$fh = fopen($file, 'w');

$string = "Channel: SIP/$telefono\n";

fwrite($fh, $string);

$string = "MaxRetries: 2\n";

fwrite($fh, $string);

$string = "RetryTime: 60\n";

fwrite($fh, $string);

$string = "WaitTime: 30\n";

fwrite($fh, $string);

$string = "Context:Internal\n";

fwrite($fh, $string);

$string = "Extension: 100\n";

fwrite($fh, $string);

$string = "Priority: 3\n";

fwrite($fh, $string);

fclose($fh);

header("Location: ejem07d-campania.php");?>

Page 31: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 31

Dialer

Se trata de un programa que marca un número de tarificación adicional (NTA) usando

el módem, estos NTA son números cuyo coste es superior al de una llamada nacional.

Estos marcadores se suelen descargar tanto con autorización del usuario (utilizando

pop-ups poco claros) como automáticamente.

En principio sus efectos sólo se muestran en usuarios con acceso a la Red Telefónica

Básica (RTB) o Red Digital de Servicios Integrados (RDSI) puesto que se establece la

comunicación de manera transparente para el usuario con el consiguiente daño

económico para el mismo. Aunque la tarificación no funcione con los usuarios de

ADSL, PLC, Cablemódem, etc... afecta al comportamiento del ordenador ya que

requiere un uso de recursos que se agudiza cuando se está infectado por más de un

dialer.

Los marcadores telefónicos son legítimos siempre y cuando no incurran en las malas

artes que los ha definido como Malware que son los siguientes trucos:

1. No se avisa de su instalación en la página que lo suministra.

2. Hace una reconexión a Internet sin previo aviso, o lo intenta.

3. Se instala silenciosamente en el ordenador utilizando vulnerabilidades del navegador, programa de correo electrónico (email), otros programas de acceso a Internet o el propio sistema operativo.

4. Puede dejar un acceso directo al escritorio sin conocimiento del usuario.

5. Puede instalarse unido a otros programas como barras de mejora para el navegador.

6. No informa de los costes de conexión.

Dial Plan (Plan de llamadas)

El Dial En sistemas tradicionales de telefonía, un Dial Plan es un sistema de extremo a

extremo, el cual permite que los usuarios se llamen entre si marcando un número en

un teléfono. En el caso excesivo de la voz y de la videoconferencia, un Dial Plan es un

sistema que permite que los participantes punto a punto o conferencias de múltiples

puntos se llamen o que ensamblen conferencias.

Un Dial Plan establece el número y el patrón de los dígitos previstos para un número

de teléfono. Esto incluye códigos de país, códigos de acceso, códigos de área y todas

las combinaciones de los dígitos marcados. Por ejemplo, la red de telefonía pública

norteamericana (PSTN) utiliza un Dial Plan de 10 dígitos que incluya un código de

Page 32: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 32

área de 3 dígitos y un número de teléfono de 7 dígitos. Los dial plan deben adaptarse

a la red telefónica con la cual se conectan.

Asterisk maneja esto a través del archivo extension.conf; el cual permite definir la

cantidad de dígitos que hagan referencia al código de área y el número telefónico.

Dentro de Asterisk, un dial plan consiste en un número de extensiones. Cada

extensión consiste en un número de prioridades. Las extensiones son agrupadas en

contextos. Por cada prioridad, una aplicación es llamada.

Por ejemplo:

Auto-Dial Out

El Dial Plan que maneja Asterisk “extensions.conf” responde a la llamada a una

extensión en un canal determinado (anexo). Si se quiere iniciar una llamada de uso

externo, hay varias maneras de hacer esto.

Hay básicamente tres maneras de iniciar llamadas salientes de Asterisk

1. Utilizar los archivos .call. Corresponde a un archivo de texto que cuando está

colocado en la forma correcta dentro del directorio /var/spool/asterisk/outgoing

realiza una llamada saliente.

2. Utilizar un aplicativo API para activar una llamada.

3. Utilizar la línea de comandos por medio de la consola CLI; dicho comando

“Dial” de Asterisk 1.4 contiene la habilidad de bifurcar (crear las llamadas

múltiples), sin embargo podría “ser mal empleado” para iniciar llamadas

salientes.

[contexto]

exten => id, prioridad, comando

contexto : es un nombre alfanumérico, el cual hace referencia a un espacio lógico en donde se iniciara una macro.

exten : permite crear la extensión,

id : identificador alfanumérico que hace referencia al numero de extensión.

prioridad : asigna el orden jerárquico para ejecutar una acción, comienza con 1 y va ascendiendo.

comando : ejecuta una orden acorde a la prioridad asignada.

Page 33: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 33

Estructura del archivo.call

Como se observo en cuanto al archivo procesar.phtml, este llama al método fwrite

para escribir sobre un archivo .call el cual contendrá el número telefónico del cliente

recién creado, y lo guardar en el directorio: /var/spool/asterisk/dial-out

Este archivo posteriormente debe ser ubicado dentro del directorio:

/var/spool/asterisk/outgoing/ para que posteriormente asterisk se encargue de lanzar

la llamada a dicho número.

La estructura de un archivo call es la siguiente:

Un ejemplo:

Channel: <canal> ;llama al canal determinado

MaxRetries: <numero> ;numero de veces que intenta hacer la llamada

RetryTime: <numero> ;segundos entre respuesta

WaitTime: <numero> ;Tiempo en segundos de espera por una respuesta

Context: <contexto> ;contexto al cual desea enlazar la llamada

Extension: <exten> ;extension a la cual enlaza la llamada

Priority: <prioridad> ;prioridad de ejecución en la llamada

Channel: SIP/100

MaxRetries: 3

RetryTime: 1

WaitTime: 5

Context: Internal

Extension: 100

Priority: 3

Page 34: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 34

Prueba del Sistema de Dial Out.

� Ingresamos por un WebBrowser a la dirección:

http://IPSERVIDORASTERISK/dial/ejemp07d-campania.php

� Ingresar los datos para un nuevo usuario, no olvidar número telefónico.

� Automáticamente se habrá generado la nueva llamada en /var/spool/asterisk/

dial-out/ esperando crear la campaña, para enviarla.

� Ingresar los datos para la campaña, entre ellos la fecha y hora.

� Mediante el archivo ejem07d-campania.phtml, y el boton “Enviar la campaña”; se

llamara al ejecutable procesar-capania.phtml, el cual creara el archivo call.txt

dentro de /var/www/dial/ Posteriormente se lanzará un cron con la tarea

programada:

Dicha tarea corresponde al siguiente script:

� Lo cual lanza la llamada al anexo (usuario/s correspondiente/s) y reproduce el

mensaje pre-grabado.

Aclaración: todos los archivos de audio, generalmente presentan la extensión “.gsm”; los cuales son

almacenados dentro del directorio /var/lib/asterisk/sounds/

Es desde ese directorio de donde asterisk se guía para reproducir alguna grabación; debido a eso se

explico a largo de este documento un método opcional (SOX) para la conversión de cualquier tipo de

formato de audio (generalmente wav) a “gsm”.

<min> <hr> <dia> <mes> <dseman> cp /var/spool/asterisk/llamadas-dial-out/* /var/spool/asterisk/outgoing/

Page 35: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 35

CAPITULO V: ESTABLECIENDO SOLUCIONES BASADAS EN

SITUACIONES REALES

Hoy en día para los usuarios de la empresa, el permanecer estáticos es imposible, con

la gran demanda de información que existe, y las tecnologías de acceso en asenso,

cada vez es mayor la cantidad de usuarios móviles.

Sin embargo un factor importante a considerar es la seguridad, es decir, hasta que

punto el usuario puede estar seguro que su información no esta siendo capturada por

terceras personas con fines ajenos a la empresa.

Actualmente, las VPNs pueden aportar grandes beneficios a las empresas, por la

diversidad de servicios que ofrecen y que ayudan a fortalecer los objetivos del

negocio. Una estrategia de VPN debe estar basada en función a las necesidades de la

empresa. En la siguiente Figura, se resume las demandas actuales de los servicios IP

VPN.

Demanda de servicios de una VPN

Adicionalmente, podemos decir que las VPNs ofrecen muchas ventajas sobre las

redes tradicionales basadas en líneas arrendadas. Algunos de sus principales

beneficios son los siguientes:

1. Reducción de costos: El costo total de conectividad se reduce debido a la

eliminación de servicios como líneas arrendadas, equipo de acceso dial-up, tiempo

de staff de TI para configurar y mantener equipos, contratos de mantenimiento de

equipos, equipos PBX (en el que el cliente es propietario), servidor de

Page 36: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 36

autenticación dial-up, sistemas UPS para equipos dial-up, números “800”, enlaces

ATM y conexiones ISDN.

Es de hacer notar, que el costo de un enlace dedicado alquilado se incrementa con la

distancia. Sin embargo, Internet puede usarse para suministrar larga distancia de la

conexión y reducir substancialmente el costo de los enlaces WAN.

2. Escalabilidad: Las VPNs son arquitecturas de red más escalables y flexibles que

las WAN tradicionales, debido a que permiten a las corporaciones agregar o

eliminar sus sistemas localizados remotamente, “teletrabajadores” o aliados

comerciales de forma fácil y poco costosa en función de las necesidades del

negocio.

3. Seguridad: Bajo el esquema de VPN la conexión a través de Internet es cifrada. El

servidor de acceso remoto exige el uso de protocolos de autenticación y cifrado.

Los datos confidenciales quedan ocultos a los usuarios de Internet, pero los

usuarios atorizados pueden tener acceso a ellos a través de la VPN.

4. Diseño de red simplificado: Un diseño de red con tecnología VPN se simplifica

en términos de diseño de arquitectura, flexibilidad y mantenimiento, debido a que

se reducen los costos asociados a la gestión de red.

5. Compatibilidad: Como se aceptan la mayor parte de los protocolos de red más

comunes (incluidos TCP/IP, IPX y NetBEUI), las VPNs puede ejecutar de forma

remota cualquier aplicación que dependa de estos protocolos de red específicos.

6. Administración centralizada: Algunos proveedores soportan la característica de

administración centralizada de sus productos VPN. Esto representa una fuerte

característica de seguridad y un buen mecanismo para la resolución de problemas.

Page 37: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 37

7. Prioridad de Tráfico: Algunos proveedores ofrecen la funcionalidad de priorizar

tráfico en sus productos VPN. Esto agrega gran flexibilidad a la corporación en

cuanto a la utilización de los enlaces de Internet, debido a que se puede decidir en

qué orden se preserva el ancho de banda según el tipo de tráfico permitido y de

acuerdo a su importancia.

Aplicando VPN con SSL.

Como se menciono antes, se tiene ya configurado el servidor Asterisk. De ahora en

adelante se implementara un servidor adicional VPN con dos tarjetas de Red; el cual

también cumplirá el rol de un firewall y correrá también sobre Debian GNU/Linux.

Nombraremos a este segundo Servidor como: srv01, ubicándolo dentro del mismo

dominio que el servidor Asterisk: kmla.js.

� Configuramos las interfaces de red en ambos servidores.

srv01:/#vim /etc/network/interfaces auto lo eth0 eth1 iface lo inet loopback iface eth0 inet static address 192.168.10.180 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 gateway 192.168.1.5 iface eth1 inet static address 172.30.10.1 netmask 255.255.0.0 network 172.30.10.0 broadcast 172.30.10.255

srv02:/#vim /etc/network/interfaces auto lo eth0 iface lo inet loopback iface eth0 inet static address 172.30.10.20 netmask 255.255.0.0 network 172.30.10.0 broadcast 172.30.10.255 gateway 172.30.10.1

Page 38: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 38

Tendremos entonces el siguiente esquema:

� Habilitamos el forwadeo:

� Habilitamos el enmascaramiento para la red interna.

� Reiniciamos los servicios de red en ambos servidores.

� Instalamos las fuentes necesarias para utilizar openvpn ssl

� Instalamos las fuentes y librerías necesarias para utilizar la compresión de datos:

� Cargamos el modulo para probar el túnel.

srv01:/#apt-get install openvpn

srv01:/#apt-get install liblzo2-2

srv01:/#modprobe tun

srv01:/#echo 1 > /proc/sys/net/ipv4/ip_forward

srv01:/#/etc/init.d/networking restart srv02:/#/etc/init.d/networking restart

srv01:/#iptables –t nat –A POSTROUTING –s 172.30.10.0/24 –d 0.0.0.0/24 –j MASQUERADE

Page 39: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 39

Configurando el Tunel VPN.

A partir de ahora, editaremos la configuración necesaria para establecer una conexión

vpn.

� Creamos nuestro archivo de configuración:

� Creamos el directorio donde montaremos el tunel y hacemos los cambios

necesarios.

� Generamos la clave simétrica para la VPN entre cliente – servidor y la enviamos a

nuestro cliente movil.

� Reactivamos el servicio vpn y visualizaremos el túnel como una interfase virtual.

Configurando el cliente VPN

Solo nos resta instalar el cliente vpn en la maquina remota (usuario móvil), para ello

instalamos el programa: openvpn-2.0.9-gui-1.0.3-install

Puede ser descargado en el sitio Open Vpn GUI for Windows [http://openvpn.se]

srv01:/#vim /etc/openvpn/vpn_srv01_cliente.conf dev tun # creado por el paquete debian

persist-tun

ifconfig 10.0.1.2 10.0.1.1 #nodo local – nodo remoto

comp-lzo #habilitamos la compresión de datos

keep alive 10 120

ping-restart 120

secret /etc/openvpn/llave_srv02.key #ubicamos la llave

persist-tun

persist-key #necesario al ejecutar como nobody

user nobody

group nogroup

chroot /var/empty #por seguridad habilitamos chroot

srv01:/#mkdir /var/empty

srv01:/#chown nobody.nogroup /var/empty

srv01:/#/etc/init.d/openvpn restart

srv01:/#ifconfig tun

srv01:/etc/openvpn#openvpn --genkey –-secret clave.key

Page 40: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 40

� Con un block de notas creamos el archivo “conex_cliente_vpnsrv01.conf” para la

conexión remota, en la siguiente ruta; con el siguiente contenido:

� Asi mismo, copiamos tambien el archivo clave.key del servidor vpn al directorio:

Observación: cabe mencionar que el router cuya ip publica: 200.121.60.73 (utilizada para este

procedimiento) que permite el acceso a la red privada, debe ser nateado hacia el servidor srv01 y permitir

el tráfico por el puerto UDP 1194 utilizado por openvpn.

� Configuramos el softphone e iniciamos la comunicación con el servidor vpn y

recibimos las tramas enviadas por asterisk.

C:\Archivos de programa\OpenVPN\config

remote 200.121.60.73 #ip publica de la red interna a la cual queremos acceder dev tun #creado por el paquete debian ifconfig 10.0.1.1 10.0.1.2 #nodo local – nodo remoto comp-lzo #habilitamos la compresión de datos keep alive 10 120 ping-restart 120 secret llave_srv02.key #ubicamos la llave persist-tun persist-key #necesario al ejecutar como nobody user nobody route 172.30.10.0 255.255.255.0 10.0.1.2 #ruteo que no permita acceder a la red interna

Page 41: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 41

CAPITULO VI: ESTABLECIENDO EL NUMERO DE LINEAS

Como se ha visto hasta ahora; se ha determinado una solución para usuarios móviles

los cuales utilizando por un concepto de Teleworker, mantienen un acceso con la

empresa para no desligarse de sus actividades y mantenerse en contacto en todo

momento.

Pero que ocurre con el acceso a Internet, como determinar hasta que punto las líneas

se darán abasto para soportar el número de llamadas que realizará la IP PBX.

Concepto de Erlang

El tráfico telefónico se asocia al concepto de ocupación. Se dice que un circuito

telefónico esta cursando trafico cuando esta ocupado, nunca si esta libre.

Cuando se produce una comunicación telefónica entre 2 abonados se ocupan los

aparatos de los dos abonados, y además una serie de órganos o circuitos

intermedios tanto en las centrales como en las uniones entre las mismas. Estos

órganos o circuitos también cursan tráfico cuando están ocupados.

El tráfico telefónico es medible en términos de tiempo (entendido como tiempo de

ocupación) y que depende del número de comunicaciones y de la duración de las

mismas.

Se puede definir al Erlang; como el porcentaje de uso del recurso telefónico utilizado.

Ejemplo: si tenemos una ruta con dos líneas, y durante una hora la suma de los

minutos utilizados en esta ruta es de 60 minutos, tenemos una medición de flujo de

trafico telefónico en Erlangs del 50%. De lo cual se puede deducir la siguiente

formula:

Erlangs = Tiempo utilizado / Tiempo disponible

Con lo cual se ocupan la formulas para rutas y centros de costo:

Page 42: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 42

El máximo en Erlang es de 1 que quiere decir que se ocupo el máximo de un recurso

disponible, o también se puede expresar el 100% de utilización.

Con esta medida de Tráfico se pueden concluir si este se necesitan mas extensiones

en algún área determinada, o mas líneas para un determinado tipo de llamados. Por

ejemplo suponiendo que en el uso de determinada ruta que se ocupa para llamados

de entrada se obtenga como medición un 50% de Erlangs se puede concluir que el

50% seria la probabilidad de que se encuentren todas las líneas ocupadas durante

determinado periodo.

Determinando líneas para una Campaña

Valiéndonos de una calculadora de Erlang, generaremos una consulta, sobre cuantos

erlang necesito para generar cuatro llamadas, ocupando un comunicación de 6 min.

Serán necesarias: 2 Erlang

Es decir: 4 Líneas físicas equivalen solamente a utilizar 2 líneas, para generar 4

llamadas de 6 min. cada una.

Page 43: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 43

Bibliografía:

Página del proyecto oficial de Asterisk:

http://www.asterisk.org/about

Información sobre Asterisk y telefonía IP:

http://voip-info.org/wiki/index.php?page=Asterisk

Documentación sobre el proyecto Asterisk

http://www.asteriskdocs.org

Página Web del proyecto FreePBX, una GUI amigable para administración de Asterisk:

http://www.freepbx.org/about/

Página Web del proyecto Trixbox

http://www.trixbox.org

Página Web del proyecto Openvpn

http://openvpn.net

Conceptos de Erlang

http://www.erlang.com/whatis.html

Calculadora Erlang

http://www.erlang.com/calculator/erlb/

http://personal.telefonica.terra.es/web/vr/erlang/cerlangb.htm

Enciclopedia Libre: Wikipedia

http:// wikipedia.org

Page 44: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 44

Anexo Nº 1: Cuadro Comparativo de Posibles Soluciones.

Solución 1:

Implementar un servicio de llamadas.

Solución 2

Implementar un CallCenter con Asterisk.

Ventajas: • Clientes se mantendrán informados.

• Las relaciones con el cliente no estaban

descuidadas.

• Cualquier llamada del cliente para pedir información

o ayuda, será atendida de inmediato por el personal

capacitado.

• La empresa podrá orientarse a seguir brindando

servicios sabiendo que el tema de atención e

información al cliente esta cubierto.

Ventajas: • Clientes se mantendrán informados.

• Las relaciones con el cliente no estaban

descuidadas.

• Cualquier llamada del cliente para pedir información

o ayuda, será atendida de inmediato por un sistema

de IVR.

• Solo se necesitara de un empleado/a capacitado a

fin de manejar el software, y efectuar las llamadas.

Desventajas: • Costos considerables en cuanto a la implementación

de este centro de atención al cliente.

• Las llamadas serán efectuadas en horario laboral, no

pudiendo atender alguna necesidad del cliente en

horas fuera de la establecida.

• Capacitación de personal considerable.

• Problema considerable para aquellos clientes cuyo

ubicación esta en otro país, ya que el horario difiere.

Desventajas: • Mantenimiento del Servidor Asterisk, cuando se

considere necesario.

• Considerable atención a la data.

• Mantener copias de seguridad.

Costos: • Costos considerables en cuanto a la implementación

de este centro de atención al cliente.

Costos: • Costos 0, puesto que Asterisk cumple con lo que es

software libre.

Solución Optima

Page 45: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 45

Anexo Nº 2: Esquema General de una Central Asterisk.

Page 46: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 46

Anexo Nº 3: Diagrama Lógico de la Solución.

Page 47: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 47

Anexo Nº 4: Diagrama Lógico de la Solución (Aplicando VPN).

Page 48: Asterisk: Gestión de Campañas - jusse.files.wordpress.com€¦ · Asterisk: Gestión de Campañas Pag. 4 Introducción Los servicios de telefonía tradicionalmente han evolucionado

Asterisk: Gestión de Campañas

Pag. 48

Copyright (c) 2007 Raúl Mescua.

Permission is granted to copy, distribute and/or

modify thisdocument under the terms of the GNU

Free Documentation License, Version 1.2 or any

later version published by the Free Software

Foundation; with no Invariant Sections, no Front-

Cover Texts, and no Back-Cover Texts.

A copy of the license is included in the section

entitled "GNU Free Documentation License".