En algun momento, existe la necesidad de realizar llamadas a los clientes , para reproducir le un grabacion o mensaje determinado (mas conocido como IVR) , por ejemplo para los siguientes casos :
– Sistemas de cobro
– Aviso de promociones
– Recordatorios de pago
Lo interesante es poder hacer estas llamadas de manera automatica y que podamos subirlas desde un archivo, ejemplo un csv y tenerlo registrado en una base de datos.
Ese es el objetivo, ahora como lo hacemos ?
Bueno para eso nos vamos a apoyar en la funcionalidad «Asterisk call files» desde nuestro Elastix, como lo haremos
– Usaremos un par de paginas en php, que tendran el objetivo de cargar un csv (donde estaran los numeros a llamar)
– Luego se leera el archivo csv , para introducirlo en la base de datos.
– Finalmente leera la base de datos y generara los archivos .call en la carpeta /var/spool/asterisk/outgoing.
A.- COMPOSICION DE LOS ARCHIVOS
Como a todos los ingenieros nos gusta poner nombres a nuestras creaciones, a este lo he llamado, AudioElastixDialer , el cual esta compuesto de los siguientes archivos.
– funciones_bd.php , Contiene funciones basicas , de conexion a la base de datos , operaciones a las tablas , generacion de nuevos codigos.
– index.php , formulario donde se establece el nombre de campaña , tipo de troncal a usar (por default voip) , contexto a usar , y el archivo de numeros a llamar.
– audioelastixdialer.php , realiza las siguientes funciones , sube el cvs a la carpeta del servidor , luego lee los numeros del csv y los inserta a la base de datos y finalmente crear los archivos .call , basado en la informacion de la base de datos.
B.- INSTALACION
La instalacion esta basada en una plataforma ELASTIX 2.4 a 32 bits , sin embargo puede trabajar en cualquier plataforma basada en Asterisk.
1.- Crear carpeta donde se alojara la aplicacion , descargarla y descomprirla
#mkdir /var/www/html/AudioElastixDialer
#cd /var/www/html/
#wget http://www.silcom.com.pe/soft/AudioElastixDialer.zip
#unzip AudioElastixDialer.zip
2.- Configuracion de directorios en el sistema
#chmod a+wr /var/www/html/AudioElastixDialer
#chmod a+wrx /var/spool/asterisk/outgoing/
3.- Configurar el dialplan de Elastix
Ingresamos a modificar el archivo de extensiones personalizadas
#vi /etc/asterisk/extensions_custom.conf
Incluimos en el contexto central uno nuevo el cual llamaremos «call-file-test» y lo unicaremos al final como se muestra a continuacion.
[from-internal-custom]
exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
exten => 1234,2,Hangup()
exten => h,1,Hangup()
include => agentlogin
include => conferences
include => calendar-event
include => weather-wakeup
include => call-file-test
Luego vamos al final del mismo archivo e ingresamos nuestro contexto nuevo
[call-file-test]
exten => s,1,wait(15)
exten => s,2,Playback(demo-congrats)
exten => s,3,Hangup()
Guardamos los cambios en el archivo y finalmente recargamos los cambios a nivel del CLI de Asterisk
#asterisk -rvvvvvvvv
CLI> reload
4.- Modificar los datos de conexion a la base de datos
#vi /var/www/html/AudioElastixDialer/funciones_bd.php
if(!($conector=mysql_connect(«localhost»,»root»,»tucontrasena»)))
Nota Importante: Verificar también el nombre de la base de datos «AudioElastixDialerBD» en el mismo archivo.
5.- Crear la base de datos para el Audio Elastix Dialer
#mysql -p
mysql> create database AudioElastixDialerBD;
#mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AdioElastixDialerBD.sql
6.- Configuracion de la troncal de salida
Para configurar la troncal voip es necesario ingresar al archivo «audioelastixdialer.php» y configurar los parámetros a partir de la linea 77 aproximadamente, actualmente esta configurado para llamadas con prefijo de Perú
$tronc1=»SIP/0051″;
$tronc2=»@PROVEEDORVOIP»;
Ejemplo , para configurar la salida del dialer por el proveedor Nextor Proxy, asumiendo que la troncal tiene el mismo nombre, seria de esta forma:
$tronc1=»SIP/52″;
$tronc2=»@NEXTORPROXY»;
C.- USANDO AUDIOELASTIXDIALER
1.- Ingresar a la aplicación
Ingresar via : https://TUIP/AdioElastixDialer/ y veremos el siguiente formulario
Ingresaremos basicamente :
Nombre de Campaña : Prueba1
Archivo de llamadas : selecionaremos el archivo csv a subir (incluyo un ejemplo en el zip)
2.- Iniciar Campaña
Para iniciar la campaña es necesario hacer click sobre el boton «Crear Campaña» , si todo salio bien , generara los archivos .call y comezara a llamadar a los numeros indicados, luego reproducira el audio definido en el contexto «call-file-test» agregado asteriormente.
Si todo esta bien configurado nos mostrara esta pantalla :
El programa generara los archivos .call de la siguiente forma
Luego empezara a generar las llamadas , esto es lo que tendria que verse a nivel de CLI
3.- Conclusiones y modificaciones
– El programa esta hecho en PHP con MYSQL
– Es totalmente Open Source mientras me respeten los creditos
– Resalto que no es un marcador predictivo , ya que se generan tantas llamadas como la troncal usada lo permita.
– Es posible modificarlo para que funcione con troncales Dahdi
– Es posible modificarlo para que funcione con colas
– El futuro , integrarlo al Elastix Addons
La interfase es fea , lo se.. sorry no soy diseñador 😀
Espero les sirva !!
Replica a Luis Serrano Cancelar la respuesta