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

AudioElastixDialer

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 :

AudioElastixDialer-OKEl programa generara los archivos .call de la siguiente forma

AudioElastixDialer-SPOOL

Luego empezara a generar las llamadas , esto es lo que tendria que verse a nivel de CLI

AudioElastixDialer-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 !!

274 respuestas a “Sistema de llamadas desatendidas para Elastix – AudioElastixdialer 0.1”

  1. Avatar de george
    george

    Segui todo al pie de la letra pero me dice siempre Error en consulta a la base de datos y nunca genera las llamadas

  2. Avatar de jroliva

    Hola George
    En el archivo «funciones_bd.php» tiene que estar la contraseña del usuario de Mysql que estas usando.

    if(!($conector=mysql_connect(“localhost”,”root”,”tucontrasena”)))

  3. Avatar de Jorge S.
    Jorge S.

    Buen Articulo Juan!!! por lo visto volviste al blog con fuerza :)….como es de seguir…lo probare en producción para contarte como fue…Un abrazo…

  4. Avatar de Juan Carlos
    Juan Carlos

    Tengo una duda, en la parte del contexto.
    [call-file-test]
    exten => s,1,wait(15)
    exten => s,2,Playback(demo-congrats)
    exten => s,3,Hangup()

    Solo pone la llamada expera 15 seg. y comienza la grabación cierto?
    Si es de esta forma, si el usuario no contesta de todos modos se va a reproducir la grabación mientras suena en la linea destino.

    Hay alguna forma de que la grabación comience cuando contesten la llamada?

    Saludos! y que buen aporte!

    1. Avatar de jroliva

      Hola Juan Carlos
      La linea «exten => s,1,wait(15)» es muy subjetiva , ya que depende de la rapides como «empalma la llamada» la troncal que estas usando, si se demora, como fue en mi caso, tienes que jugar con ese valor, que puede bajar tranquilamente a 4 o 5

      Saludos

      1. Avatar de edu Saravia
        edu Saravia

        Hola Señor Oliva un favor, cual seria el codigo para poder subir el audio directo por el programa, para que cuando se suba el archivo de celulares sea ese audio el que se aplique.

    2. Avatar de Cristian Cespedes

      cambia el wait por un answer
      y luego como segunda opcion das wait y le colocas 2

      ejemplo

      [call-file-test]
      exten => s,1,Answer
      exten => s,n,wait(2)
      exten => s,n,Playback(demo-congrats)
      exten => s,n,Hangup()

      asi el mensaje se reproduce cuando el cliente final contesta la llamada, espera 2 segundos y reproduce el mensaje..
      saludos

  5. Avatar de leonel
    leonel

    ak querer realizar la linea de comando siguiente me da un error

    #mysql -u root -p AdioElastixDialerBD < sql/AdioElastixDialerBD.sql

    me dice que no existe sql/AdioElastixDialerBD.sql

    1. Avatar de jroliva

      Hola Leonel
      Es un tema de ruta , esta es la linea, tambien ya esta actualizado en el articulo

      mysql -u root -p AdioElastixDialerBD < AudioElastixDialer/sql/AdioElastixDialerBD.sql

      Saludos

      1. Avatar de j carlos z
        j carlos z

        Server version: 5.0.95 Source distribution

        Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

        Oracle is a registered trademark of Oracle Corporation and/or its
        affiliates. Other names may be trademarks of their respective
        owners.

        Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

        mysql> mysql -u root -p AdioElastixDialerBD ;
        ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘mysql -u root -p AdioElastixDialerBD < AudioElastixDialer/sql/AdioElastixDialerB' at line 1

  6. Avatar de CamiloG
    CamiloG

    Excelente aporte! Gracias

  7. Avatar de arturo guillen

    hola como haria para que lea un campo de dato adicional y lo reproduzca, es decir decir el nomre ejemplo.

  8. Avatar de jroliva

    Hola Arturo

    Pues si , claro que se puede hacer eso , en el contexto call-file-test , antes de ir a la segunda prioridad habria que enviarlo a un AGI , para que consulte la BD extraiga el nombre , vuelva con el dato , lo reprodusca con un tex2speech y luego reprodusca el anuncio del demo-congrats , para este caso.

    Espero te sirva

    Saludos
    Juan Oliva

    1. Avatar de Sofir
      Sofir

      Hola jroliva, podrías dar un ejemplo de este caso, me gustaría que el mensaje agregara 2 datos, por ejemplo el monto a pagar y la fecha de vencimiento, ejemplo: «Uds. tiene un adeudo de: » & & «favor de pasar a liquidar antes del día» & & » por su atención gracias»

      1. Avatar de jroliva

        Hola Sofir
        Claro que se puede, de hecho hice exactamente eso para un proyecto reciente, básicamente lo que necesitas es lo siguiente.

        – Modificar la tabla calloutnumeros agregando los campos monto y fecha.
        – En el CSV tienes que agregar los dos datos, por ejemplo
        123456,Juan Oliva,500,15102017
        – En el archivo audioelastixdialer.php en el paso 2 donde se lee el csv para subirlo a la base de datos tienes que aumentar los campos a insertar en la tabla.
        – Luego en el contexto es necesario crear un AGI para consultar el monto y fecha basado en el numero y campana, para luego reproducirlo con un text2speech.

        Básicamente ello, espero te sirva.
        Saludos
        Juan Oliva

  9. Avatar de Martin
    Martin

    Hola Juan, excelnte aporte…
    tengo una consulta, si quisiera que haga llamadas a internos q esten dentro de la misma Lan y cargados en el servidor, lo haria? porque me confunde el tema de :
    $tronc1=”SIP/0051″;
    $tronc2=”@SERVILINE”;
    En teoria eso hace llamadas salientes no?
    Muchas gracias!

    1. Avatar de juanmelis
      juanmelis

      Hola Martin yo hice una prueba y funciona

      He modificado las lineas de:
      :
      $tronc1=”SIP/0051″;
      $tronc2=”@SERVILINE”;

      por

      $tronc1=»SIP/${EXTEN}»;
      $tronc2=»»;

      en el archivo *.csv puse por ej:

      6002, Fulano
      6003, Sultano
      6020, Mengano

      aclaro que no soy ningun experto y que hice todo en base de lo que
      detalló Juan Oliva

      Espero que sirva.

      1. Avatar de jroliva

        juanmelis Estupendo !! , esa era la idea !!

        Que bueno que hallas entendido el código

        Saludos

      2. Avatar de Martin
        Martin

        Muchisimas gracias ! Lo voy a probar cuanto antes y comento! Mil gracias!

      3. Avatar de Martin
        Martin

        Funciono a la perfección! Muchas gracias!!
        Ahora tengo la siguiente inquietud.. reproduce el demo-congrats que trae el elastix… en caso de que quiera que reproduzca una grabacion por ejemplo en mp3, debo modificar:
        exten => s,2,Playback(demo-congrats)
        por:
        exten => s,2,Playback(«mi_grabacion.mp3) ???
        este mp3, debe estar en la carpeta del sistema o bien, ubicar demo-congrats en donde este y colocar mi archivo en dicho directorio?
        Desde ya muchas gracias Juan por tu aporte, y a vos Juanmelis por darme una mano.
        abrazo!!!!

      4. Avatar de Cristian Cespedes

        Marin
        es como tu dices debes colocar esta linea y remplazarla por la actual
        exten => s,2,Playback(miaudio)

        lo otro el asterisk reproduce MP3 como gsm, por recomendacion del procesador te recomiendo uses GSM, en internet andas muchos software que transforman de mp3 a gsm

        el audio debes alojarlo en /var/lib/asterisk/sounds/miaudio.gsm

        en la carpeta sounds

        Saludos.

  10. Avatar de jroliva

    Hola Martin

    Claro que es posible, en realidad ya no usas trunks salientes ,puedes modificar la variable y formatear el csv con los números de anexos

    Saludos

  11. Avatar de Martin
    Martin

    Jorge, muchisimas gracias por responderme! Si lo quisiera hacer, como deberia quedar esa variable? tengo que sacar :
    $tronc1=”SIP/0051″;
    $tronc2=”@SERVILINE”;
    Pero realmente no se claramente que debo poner. Si me podrias dar una ayuda con eso te re agredeceria. De ante mano, muchisimas gracias por este aporte, ya que en mi caso hiciste despertar mi interes en el tema. Abrazo!

  12. Avatar de mathyaz
    mathyaz

    hola juan muy bueno el articulo, justo lo que andaba buscando pero tengo un problema, segui todo al pie de la letra, tambien revise la linea if(!($conector=mysql_connect(“localhost”,”root”,”tucontrasena”))) pero siempre que presiono el boton ‘crear campaña’ me muestra el error ‘ Error en consulta a la base de datos’, que podria ser?

    las tablas y la BD fueron creadas correctamente cosa que comprobe desde phpmyadmin, salu2

    1. Avatar de Valmir Lopes
      Valmir Lopes

      Estou com o mesmo erro , ja conesguiu acertar?

  13. Avatar de Tinnho
    Tinnho

    Excelente aporte! Pero me uno al pedido de martin, ¿como se hace para que solamente llame a internos cargados en el elastix dentro de la lan? me gustaria enviar grabaciones a internos que tengo ya configurados y en servicio. Muchas gracias Juan!!!

  14. Avatar de cristian
    cristian

    Estimado te cuento que segui al pie de la letra tus indicaciones, todas correctas creee las campañas y todo exelente revise la base de datos me carga los archivos .csv, pero no me genera la llamada el asterisk.
    informo que lo monte en un asterisk 1.4.9 con centos 5.6 y mysql.

    sera ese el problema.
    ademas de esto el contexto [call-file-test] lo creee en el extensions.conf
    tambien me percate que el archivo que me debe generar en el outcolling el .CALL no me lo genera.

    que podra suceder.

    si me puedes contestar te lo agradeceria.

    1. Avatar de Muñoz Alejandro

      Cristian me indicas si pudistes sacar las llamadas al montar la campaña.

      Tengo un problema cuando trato sacar la llamada al montar la campaña.

      Connected to Asterisk 1.8.25.0 currently running on Test (pid = 2626)
      Verbosity is at least 3
      — Attempting call on SIP/05796046061@TELMEX for s@call-file-test:1 (Retry 1)
      == Using SIP VIDEO TOS bits 136
      == Using SIP VIDEO CoS mark 6
      == Using SIP RTP TOS bits 184
      == Using SIP RTP CoS mark 5
      — Attempting call on SIP/05796046061@TELMEX for s@call-file-test:1 (Retry 2)
      == Using SIP VIDEO TOS bits 136
      == Using SIP VIDEO CoS mark 6
      == Using SIP RTP TOS bits 184
      == Using SIP RTP CoS mark 5
      Test*CLI>

  15. Avatar de jroliva

    Hola Cristian

    Si no genera los .call en el directorio , entonces es que no esta cargando el csv a la base de datos

    Yo comenzaría por hay

    Saludos

    1. Avatar de bryan

      Amigo como se que no me esta caragndo el archivo. la db esta bieb configurada

  16. Avatar de Cristian Cespedes

    Estimado jroliva

    te informo que cambie a elastix utilizando tu misma version 2.4,
    configure tu aplicacion en esta version y todo me andubo bien, pero siempre existen los problemas. xD

    probe la configuracion para llamar a anexos dentro de la misma central y este me funciona de maravilla todo bien sin problemas, de hecho cambie la opcion wait por answer y me reproduce el audio cuando me contestan los anexos.

    [call-file-test]
    exten => s,1,Answer
    exten => s,2,Playback(demo-congrats)
    exten => s,3,Hangup()

    pero el problema radica cuando quier llamar hacia la PSTN

    cambio a el archivo audioelastixdialer.php por el prefijo y la troncal que utilizo y este no me genera las llamadas.

    pero si me simula la ejecucion

    datos de asterisk

    Usuario y troncal SIP

    modificacion del archivo audioelastixdialer.php

    if ($troncal==»2″)
    {
    $tronc1=»SIP/0″;
    $tronc2=»@stelphone»;
    }
    else
    {
    $tronc1=»ZAP/g1/»;
    $tronc2=»,20,Tt»;
    }

    insertare las imagenes de la configuracion

    1- configurar campaña

    2- respuesta de la configuracion

    3- log del asterisk

    4- archivos call creados

    te agradeceria si me ayudaras con este problema.
    mi skype es cristian.stelphone

    saludos y gracias

  17. Avatar de Kopper
    Kopper

    Hola Juan mi consulta es que si no tienes un tutorial para crear algun phpAGI para entrelazar una base de datos Oragle BD para generar consultas de salarios y luego dar un audio con el respectivo monto..

    Gracias de antemano

  18. Avatar de Cristian Cespedes

    Estimado ya esta operativo y funcionando, en el elastix 2.4
    la falla era capa 8 era modificar el prefijo ya que me faltaba un digito para que saliera xD la llamada.

    lo otro, es posible de ir en bloque generando llamadas, es decir de 8 llamadas con 2 intentos y luegos otros 8 numeros con 2 intentos y asi consecutivamente, pero esto de forma automatica, como para dejarlo en campañas. ya que dispongo de 8 rutas, y quiero llamar a 100 numeros, pero al momento de hacerlo el elastix me dispara las 100 llamadas a la ves y me salen 8 llamadas solamente, encaso que se contesten intenta con otros 8 numeros pero luego ya no intenta mas ya que coloco 2 reintentos.

    la falla se produce que si colocara 50 reintentos si un numero no me contesta ni corta la llamada el asterisk lo llamara 50 veces :/

    alguna forma de ejecutar las llamadas en bloque?

    lei que se podia modificar para usar colas, me puedes explicar un poco sobre eso.

    gracias

    1. Avatar de Muñoz Alejandro

      Buenos días Cristian Cespedes.
      Tengo el mismo problema que tenías antes con las llamadas salientes. Cuando moto la campaña no me en toma mi plan de marcado que tengo por default en la WEB, me indicas que plan de marcado realizaste en extensions_custom.conf

      Saludos,

    2. Avatar de Edison
      Edison

      estimado como soluciono el problema del 0 que no se carga al inicio

  19. Avatar de Fabio

    Gracias por diseñar tan importante aplicación!

    No logro descargar el archivo desde esta dirección http://94.23.152.21:85/pub/AudioElastixDialer.zip

    Usted me podría ayudar por favor?

  20. Avatar de Muñoz Alejandro

    Buenas tardes.

    Excelente aporte, pero me pueden colaborar para la descarga del AudioElastixDialer

    http://94.23.152.21:85/pub/AudioElastixDialer.zip

    Saludos,

  21. Avatar de cristian cespedes

    Chicos descargelo ahi, lo acabo de subir, o si no dejen un mail y se los mando

    http://www.gigasize.com/get/88so2lf9gyc

    comento que mejore la funcionalidad, lo realize para generar campañas segmentadas y usando las tronales que yo defino, y cuantas llamadas quiero que sean paralelas.
    tambien genere informes de archivos importados entregados y no entregados.

    ademas de esto configure el software para subir el audio directo desde cuando uno crea la campaña y no desde el ftp

    cualquier duda me pueden preguntar por medio de este mismo foro para que todos puedan aprender.

    1. Avatar de juanmelis
      juanmelis

      Hola me Cristian me podrias indicar que modificaste para realizar las generar las campañas
      segmentadas y cuantas llamadas sean simultaneas?
      En un entorno de pruebas con una sola linea y con diez destinos tengo el mismo problema que
      describes anteriormente.
      Desde ya gracias !!

      1. Avatar de cristian

        Hola juan, si claro que te puedo decir como lo hice,
        como bien dice el manual juan olivar, se usa la funcion asterisk call files, propia de este, lo que hice fue lo siguiente.

        modifique el codigo para que cuando genere las consultas a la base de datos y me tire las llamadas .call, revise las cantidades de troncales disponible y las compare con las llamadas simultaneas.

        te dejo el codigo para que lo remplazes por el que ya esta.

        debes remplazar en el archivo audioelastixdialer.php

        ///////////// CODIGO ACTUAL////////////////

        //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
        $sentencia=»select id,telefono from calloutnumeros where campana = $idcampana;»;
        $resultado=consultar_bd($sentencia);
        while ($row=mysql_fetch_array($resultado)){
        $id=$row[0];
        $numero=$row[1];
        $Channel= «Channel: » . $tronc1 . $numero . $tronc2 ;
        $Callerid= «Callerid: » . $numero;
        $fp = fopen(«/var/spool/asterisk/outgoing/myarchivo$id.call»,»a»);
        fwrite($fp, $Channel . PHP_EOL . $Callerid . PHP_EOL . $MaxRetries . PHP_EOL . $RetryTime . PHP_EOL . $WaitTime . PHP_EOL . $Context . PHP_EOL . $Extension . PHP_EOL . $Priority . PHP_EOL);
        fclose($fp);

        } //CIERRE DE WHILE
        mysql_free_result($resultado);
        die;

        ?>

        REMPLAZAR POR

        //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS

        $sentencia=»select id,telefono from calloutnumeros where campana = $idcampana;»;
        $resultado=consultar_bd($sentencia);

        $llamadasMax= tu numero de troncales va aca;

        $cant = mysql_num_rows($resultado);

        while($cant > 0 ){

        if( count(glob(«/var/spool/asterisk/outgoing/{*.call}»,GLOB_BRACE)) < $llamadasMax ){
        $row=mysql_fetch_array($resultado);
        $id=$row[0];
        $numero=$row[1];
        $Channel= "Channel: " . $tronc1 . $numero . $tronc2 ;
        $Callerid= "Callerid: " . $numero;
        $fp = fopen("/var/spool/asterisk/outgoing/myarchivo$id.call","a");
        fwrite($fp, $Channel . PHP_EOL . $Callerid . PHP_EOL . $MaxRetries . PHP_EOL . $RetryTime . PHP_EOL . $WaitTime . PHP_EOL . $Context . PHP_EOL . $Extension . PHP_EOL . $Priority . PHP_EOL);
        fclose($fp);
        $cant = $cant – 1;
        $sql = "update calloutnumeros set estado = 'exito' where telefono =".$numero." && campana =".$idcampana;
        consultar_bd($sql);
        $HoraLlamada=date("H:i:s");
        $sql = "update calloutnumeros set fechaLlamado ='".$HoraLlamada."' where telefono =".$numero." && campana =".$idcampana;
        consultar_bd($sql);

        }
        sleep(2);

        }

        $sql = "update calloutcampana set horaTermino ='".date("H:i:s")."' where idcampana =".$idcampana;
        consultar_bd($sql);

        echo "»;
        echo «Volver«;
        echo «»;

        mysql_free_result($resultado);
        die;

        ?>

        tambien puedes colocar la variable en el diseño para que cambies tu maximo de troncales mas libremente, es decir, desde el mismo software.

        Saludos y Exito Juan.

    2. Avatar de juanmelis
      juanmelis

      Hola Cristian gracias por haber contestado, pero si no es molestia podrias
      enviarme el archivo audioelastixdialer.php modificado porque no me funcionado. Es para
      verificar si me equivoque en algo.

      1. Avatar de Giancarlo
        Giancarlo

        Hola creen que me puedan ayudar he intentado usar el código adjunto para mejorar las llamadas pero no me resulta… podrían decirme si el código esta bien o falta añadir algo mas.

    3. Avatar de edu
      edu

      Hola cristian bien mira que he montado todo pero me sale un error Call failed to go through, reason (3) Remote end Ringing
      este otro me sale
      Attempting call on SIP/572147483647@TSIP-VOIPARKAS for s@call-file-test:1 (Retry 1)

      no se de dnde me sale este numero laargo 2147483647 el 57 si es porque le puse al sip 57 de colombia

      pido tu consejo gracias.

      1. Avatar de FerchoPenagos Mexicali
        FerchoPenagos Mexicali

        Es el tipo de campo donde tienes almacenado el teléfono, yo puse varchar y solucione ese problema.

  22. Avatar de Roger Caranqui
    Roger Caranqui

    Mi estimado me encantaría probar la solución pero no puedo descargarla me podrias ayudar talvez con los archivos ?? de antemano muchas gracias

    1. Avatar de cristian

      http://www.gigasize.com/get/88so2lf9gyc

      un esta activo el link lo acabo de revisar, lee bien perrin ahi te dice como descargar en la parte derecha de la pantalla, sale para descargar! saludos

      1. Avatar de Ramsés
        Ramsés

        Cristian, buenos días,

        ¿Aun sigue operativo ese enlace para la descarga?

        Yo también estoy realizándole mejoras a la aplicación original de Juan, por ejemplo, en la selección de Troncal de la página principal he puesto otro que sea Local, he incluido el código que has puesto antes y en la página principal he puesto un campo donde te pide el número máximo de canales a usar, he cambiado el nombre de la base de datos «AdioElastixDialerDB» por «AudioElastixDialerDB», he cambiado el directorio destino de los ficheros csv, que se depositaban en «./AudioElastixDialer/» a «./AudioElastixDialer/csv/», etc…

        En fin, algunas cosillas…

        Podriamos aunar las modificaciones e ir mejorando la aplicación…

        Juan, por cierto, muy buen aporte con la aplicación.

        Saludos y gracias,

        Ramses

      2. Avatar de jroliva

        Hola Ramsés

        El enlace original ya esta actualizado, por cierto , si gustas me envías las modificaciones y las posteo.

        Saludos!!

      3. Avatar de guinoh
        guinoh

        Hola Cristian.

        Se encuentra caido el link, aun cuentas con el archivo?

      4. Avatar de edu
        edu

        Hola cristin ue cambios le has hecho al sistema para poder obtener las llamadas que si salieron y las que se perdieron seria genial montar eso.

      5. Avatar de Mauricio Pastrana
        Mauricio Pastrana

        Hola cristian, aun tienes el archivo disponible, es que el link como cambio de server no permite descargarlo, lo podrias resubir o enviar de nuevo, muchas gracias…. mi coreo es respaldocel12@gmail.com

  23. Avatar de juanmelis
    juanmelis

    Gracias Cristian Lo voy a probar!!!!!!!!!!!!!!

    1. Avatar de juanmelis
      juanmelis

      Hola Cristian gracias por haber contestado, pero si no es molestia podrias
      enviarme el archivo audioelastixdialer.php modificado porque no me funcionado. Es para
      verificar si me equivoque en algo.

  24. Avatar de jroliva

    Hola url de descarga ya esta actualizada en un nuevo server y esta disponible nuevamente.

    Gracias a todos por utilizar el software

    Saludos

    Juan Oliva

    1. Avatar de Mauricio Pastrana
      Mauricio Pastrana

      Hola Jroliva, Aun tienes disponible el archivo, o tienes algunas recomendaciones, soy novato en esto y aun no he podido a funcionar el programa, los errores estan en los comentarios pero no tienen respuestas, cuando abro la pagina solo me aparece el encabezado del programa y no me aparecen los otros campos.

      Agradezco mucho tu ayuda y excelente aporte, el programa esta de lujo

  25. Avatar de kancib

    Hola gracias por la herramienta tan funcional. Quisiera preguntarte como se trabajaria con troncales dahdi ya que estoy atorado en esto. Muchas gracias de antemano

  26. Avatar de Esteban Mayo
    Esteban Mayo

    Hola, muy buen aporte, pero tengo un problema, luego tocar el boton generar campaña me muestra este mensaje

    CAMPAÑA CREADA , GENERANDO LLAMAS

    ELASTIX PROWERFULL !!
    Error en consulta a la base de datos

    y no llega a generar siquiera los .call gracias por adelantado!

    1. Avatar de Alejandro de Jesús munoz

      Esteban Mayo.. debes mirar como estas montando el csv. me paso lo mismo y problema surge de hay… Saludos,

      1. Avatar de Esteban Mayo
        Esteban Mayo

        muchas gracias por la respuesta! efectivamente era el .csv, ya no da mas ese error, pero no genera los .call y no llega a realizar las llamadas gracias nuevamente!

        saludos!

  27. Avatar de Gerardo
    Gerardo

    amigo guando ejecuro esto me da el siquiente error que podra ser ??????

    [root@PBX ~]# mysql -u root -p AdioElastixDialerBD < AudioElastixDialer/sql/AdioElastixDialerBD.sql
    -bash: AudioElastixDialer/sql/AdioElastixDialerBD.sql: No existe el fichero o el directorio

  28. Avatar de jroliva

    Hola Gerardo

    Fíjate donde esta el archivo «AdioElastixDialerBD.sql» el error te esta indicando que no lo esta encontrando en la ruta.

    Saludos
    Juan Oliva

    1. Avatar de Gerardo
      Gerardo

      hola Jroliva ya solucione ese detalle pero tengo otro que no me abre la interface web me da este error.

      Not Found

      The requested URL /AdioElastixDialer was not found on this server.
      Apache/2.2.3 (CentOS) Server at 192.168.100.54 Port 443

      1. Avatar de jroliva

        Hola Gerardo

        Fíjate en /var/www/html si tienes la carpeta

        Saludos

      2. Avatar de Juan Carlos Luz
        Juan Carlos Luz

        Me puede ayudar a mi me sale el mismo error que ya soluciono Gereardo pero no dice como:
        Not Found

        The requested URL /AdioElastixDialer was not found on this server.
        Apache/2.2.3 (CentOS) Server at 192.168.100.54 Port 443

  29. Avatar de Gerardo
    Gerardo

    amigo si tengo el directorio creado

  30. Avatar de Gerardo
    Gerardo

    mysql -u root -p AdioElastixDialerBD < AudioElastixDialer/sql/AdioElastixDialerB
    -bash: AudioElastixDialer/sql/AdioElastixDialerB: No existe el fichero o el directorio

    todavia no me deja que puede ser ?????

  31. Avatar de Gerardo
    Gerardo

    amigo ya solucione todo, gracias por tu aporte

  32. Avatar de Eduardo
    Eduardo

    Hola jroliva

    Cuando abro el formulario solo me muestra la parte de nombre de campaña pero no sale ningun otro campo mas quisiera saber cual podria ser el problema

  33. Avatar de Gerardo
    Gerardo

    Hola jroliva

    las llamadas por las troncales analogicas no me esta funcionaldo no veo que disque los numeros del archivo numerosBD.csv.

    me aparece esto

    Attempting call on DAHDI/g0/2147483647 for s@call-file-test:1 (Retry 1
    Attempting call on DAHDI/g0/2147483647 for s@call-file-test:1 (Retry 1)

    y el archivo

    04241138630,gerardo

    1. Avatar de jroliva

      Gerardo

      El formato al parecer esta bien , lo que deberías verificar es primero si puede marcar 2147483647 por la troncal g0

      Saludos

  34. Avatar de Anibal León
    Anibal León

    Hola jroliva, me ayudo bastante para presentar un proyecto en la Universidad, solo me quedo una duda porque no me funciono, y es que quería llamar a otro elastix, utilice
    $tronc1=”SIP/${EXTEN}”;
    $tronc2=””;
    para que usara el dial y buscara la troncal sip, pero no funcionó, luego lo cambie a
    $tronc1=”SIP/Troncalsip”;
    $tronc2=”${EXTN}”;
    y tampoco me funciono, después probé
    $tronc1=”SIP/”;
    $tronc2=”Tronalsip”;
    y tampoco funciono, entonces las opciones me mostró un error similar a
    Attempting call on Troncalsip/2002 for s@call-file-test:1 (Retry 1
    Attempting call on 2002 for s@call-file-test:1 (Retry 1)
    Dependiendo la modificación, como lo debo modificar para que llame a las extensiones del otro elastix.

    Las reglas de salidas las tengo funcionando, pues, si marco manualmente, si saca la llamada

    1. Avatar de jroliva

      Hola Anibal

      Lo que tienes que lograr hacer con las variables es tener el formato SIP/2000@TRONCALSIP

      Donde 2000 es el numero que deberias subir en el csv.

      Saludos
      Juan Oliva

  35. Avatar de frank paul agon florez
    frank paul agon florez

    como se puede reproducir anuncio (llamada grabada y monitoreada) en una llamada saliente?

  36. Avatar de jroliva

    Frank

    Es bastante sencillo , en el contexto [call-file-test] puedes usar exten => s,1,Playback(tuaudio)

    Saludos
    Juan Oliva

  37. Avatar de Iván Santa
    Iván Santa

    Excelente aporte, lo estoy probando pues no he podido lograr esta funcionalidad con el módulo de callcenter de elastix v2.4.
    Me queda una pregunta, ¿Cómo sería posible revisar el resultado de las campañas que he creado? es decir, si la llamada fue efectiva, o fallida, o si el número estaba ocupado.
    Saludos y gracias.

  38. Avatar de jroliva

    Hola Iván

    Para lograr lo mismo con modulo de Callcenter de Elastix , tienes que «engañar» al modulo , asiendo que en vez de que dirija la llamada al numero de cola , lo dirija a un numero de extensión que definas en el extensions_custom.conf , lo puedes probar creando una cola con el numero 1234 , pero al final la llamada se va a reproducir un anuncio.

    Respecto a lo otro, las llamadas quedan registradas en la tabla de cdr , así que bastaría hacer una consulta directamente o extraerlo del modulo de reports de Elastix

    Saludos!!

  39. Avatar de Carlos Elgueda

    Hola estimado, muchas gracias por subir semejante tutorial, la verdad es que lo veo todo super bien.

    El punto es que no me manejo mucho con sistemas Asterisk así que tengo una consulta.

    En el punto 6, donde se configura la troncal por donde salen la llamadas, ¿qué debo poner en caso de que tenga una troncal IAX2? Sucede que las llamadas de mi Elastix se trunkea con otro Elastix mediante ese protocolo, por lo que las llamadas salen a ese servidor y luego a un proveedor de llamadas. ¿Qué datos necesito ingresar?

    Saludos,

  40. Avatar de jroliva

    Hola Carlos
    Tendrias que cambiar la sintaxis y el orden de las variables para que aplique a iax2 , actualmente esta para sip de esta forma

    SIP/$numero@NOMBRETRONCAL

    Pero IAX2 exige :

    IAX2@NOMBRETRONCAL/$numero

    Solo es programación y respetar la sintaxis.

    Saludos
    Juan Oliva

  41. Avatar de Christian
    Christian

    @jroliva, buenos dias.

    trate de seguir tu tutorial como indicas pero me entro la duda que quiero hacerte antes de proseguir. 1º.- Al ingresar este codigo y hacerla funcionar puede ocacionar algun cambio en el funcionamiento actual de Elastix, es decir, sigue funcionando normalmente el modulo Call Center? 2º.- Luego del audio se puede programar que el usuario pulse una de dos teclas como opcion? por ej. opcion 1 marque 1, opcion 2 marque 2 y este quede grabado en los resultados? Como veras, no tengo mucha experiencia en el tema, asi que si me podrias decir como seria este codigo seria de mucha ayuda. Muchas gracias por tu tiempo.

  42. Avatar de jroliva

    Hola Christian , te respondo:

    1.- el programa AudioElastixdialer es independiente del modulo de callcenter de Elastix , ya que su funcionamiento se basa en los archivos .call de Asterisk y el modulo de Elastix tiene su propio marcador predictivo.

    2.- Se pueden modificar el programa para hacer campañas con IVR para captura de datos como por ejemplo encuestas, o derivar la llamada a una cola de atención, si el usuario presiona una determinada opción del audio IVR, justamente eso lo tengo funcionando para una empresa.

    En realidad el cambio no es tan drástico, te recomiendo leer sobre asterisk puro , aplicaciones de Asterisk como background o read y entender muy bien el funcionamiento de los archivos .call

    Saludos
    Juan Oliva

    1. Avatar de Christian
      Christian

      Tengo una consulta mas Jorge y quizas no tenga nada que ver al tema en cuestion (si esto no se debe, favor de borrarlo y disculparme). Como ya sabes, eh montado un server elastix 2.4 para un call center en un vps con CentOS. Dado que mi experiencia en el tema es primitiva, llegar a montarlo fue toda una experiencia pero me esta presentando un error que no se como o donde buscar para solucionarlo. El mismo es que luego de la primera linea de clientes que le cargo para llamadas salientes, el primer cliente lo llama perfecto pero luego de terminar con el primer cliente no sigue la lista, para la campaña ahi mismo. No muestra error, no muestra nada fuera de lo normal. El archivo lo cargo en un csv y todas las lineas iguales (numero,»nombre»,»otrodato».»etc). Otra de las cosas que sucede es que me muestra todos los datos de la base en la primera llamada. Que estoy haciendo mal? Muchas gracias Jorge!

      1. Avatar de Christian
        Christian

        Solucionado Jorge, era solo una comilla faltante en cada linea!

  43. Avatar de Carlos Elgueda
    Carlos Elgueda

    Hola Juan, agradezco tu respuesta, te explico:

    En el archivo de audioelastixdialer.php, la configuración de la troncal quedó así.

    if ($troncal==»2″)
    {
    $tronc1=»IAX2/IAX_PBX3/»;
    }
    else
    {
    $tronc1=»ZAP/g1/»;
    $tronc2=»,20,Tt»;
    }

    En el CSV inserté sólo dos números a modo de prueba, y al momento de hacerlo arrancar, sucede esto:

    — Attempting call on IAX2/IAX_PBX3/972134970 for s@call-file-test:1 (Retry 1)
    — Attempting call on IAX2/IAX_PBX3/972135035 for s@call-file-test:1 (Retry 1)
    — Call accepted by 192.168.20.45 (format ulaw)
    — Format for call is ulaw
    — Call accepted by 192.168.20.45 (format ulaw)
    — Format for call is ulaw
    > Channel IAX2/IAX_PBX3-18488 was never answered.
    — Hungup ‘IAX2/IAX_PBX3-18488’
    > Channel IAX2/IAX_PBX3-20407 was never answered.
    — Hungup ‘IAX2/IAX_PBX3-20407’

    ¿Qué estoy haciendo mal? ¿Debo hacer algún tipo de modificación al servidor 192.168.20.45?

    Espero tu respuesta, gracias.

  44. Avatar de jroliva

    Hola Carlos , yo lo que veo es que la llamada si llega al otro servidor » Call accepted by 192.168.20.45 (format ulaw)» el problema al parecer es cuando marca, tendrías que ver como llega al otro lado (192.168.20.45) y determinar cual es el error en su log

    Espero te sirva.

    Saludos
    Juan

  45. Avatar de David
    David

    Hola juan muchas gracias por tu aporte, pero me aparece este error, me reconoce el archivo y me pide la contraseña cuando ejecuto la linea en sql, coloco la clave de la base de datos, pero luego me aparece este error, no sabes que podra ser

    [root@localhost ~]# mysql -u root -p AdioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AdioElastixDialerBD.sql

    Enter password:
    ERROR 1049 (42000): Unknown database 'AdioElastixDialerBD'
    [root@localhost ~]# ERROR 1049 (42000): Unknown database 'AdioElastixDialerBD'

  46. Avatar de jroliva

    Hola David

    No has creado la base de datos AdioElastixDialerBD previamente.

    Saludos
    Juan

  47. Avatar de David
    David

    ya lo corregi, cree mal la base colocando Audio en vez de Adio

  48. Avatar de David
    David

    Hola Juan me anda perfecto, lo modifique para un gateway, ya que no tenemos voip, te queria preguntar si sabes como hacer para que el cliente cuando reciba la grabacion, marque una opcion y yo de alguna forma pueda filtrar el resultado, la grabacion que tengo es para ver si le interesa o no un producto saludos y gracias

  49. Avatar de Hernan
    Hernan

    jroliva, muy buen tutorial, lo puse a prueba y funciona perfectamente, ahora mi pregunta seria, como se puede agregar opciones luego del mensaje para el cliente y luego me lo arroje como resultado? Gracias.

  50. Avatar de juancvl
    juancvl

    jroliva, funciona a la perfección, pero que posibilidad hay que se pueda limitar la simultaneidad de las llamadas que realiza el sistema, es decir, si tengo un listado de 100 número y quiero que realice llamadas de 5 en 5. Gracias

    1. Avatar de jroliva

      Hola juancvl

      Claro basta con incluir un bucle adicional y un contador, para limitar ello, justamente esas modificaciones como esa y la parte de encuestas y demás requerimientos las tengo en la versión que uso para empresas, pero la base la tienes ahí.

      Saludos
      Juan Oliva

      1. Avatar de Andres
        Andres

        puedes subir el archivo acutalizado??? a mi me funcionan todas las llamadas, pero quiero que se llamen en grupos de 10, le intente con un bucle pero no se llama a ningun lado teniendo este codigo

        //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
        $sentencia1=»select id,telefono from calloutnumeros where campana = $idcampana;»;
        $resultado=consultar_bd($sentencia1);
        $número_filas = mysql_num_rows($resultado);
        for($i=0;$i
        Podrias aiudarme por favor, necesito que sean llamadas de 10 en 10… No funciona con mi bucle….

      2. Avatar de AndresCJ
        AndresCJ

        USANDO ESTE CODIGO INTENGO HACER QUE LAS LLAMADAS SEAN DE 10 EN 10, PERO NOME FUNCIONA, ESTOY USANDO UN BUCLE DIME EN QUE PARTE ESTOY MAL
        //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
        $sentencia1=»select id,telefono from calloutnumeros where campana = $idcampana;»;
        $resultado=consultar_bd($sentencia1);
        $número_filas = mysql_num_rows($resultado);
        for($i=0;$i<$número_filas;i+10){
        $sentencia="select id,telefono from calloutnumeros where campana = $idcampana limit $i,10;";
        $resultado=consultar_bd($sentencia);
        while ($row=mysql_fetch_array($resultado)){
        $id=$row[0];
        $numero=$row[1];
        $Channel= "Channel: " . $tronc1 . $numero . $tronc2 ;
        $Callerid= "Callerid: " . $numero;
        $fp = fopen("/var/spool/asterisk/outgoing/myarchivo$id.call","a");
        fwrite($fp, $Channel . PHP_EOL . $Callerid . PHP_EOL . $MaxRetries . PHP_EOL . $RetryTime . PHP_EOL . $WaitTime . PHP_EOL . $Context . PHP_EOL . $Extension . PHP_EOL . $Priority . PHP_EOL);
        fclose($fp);
        }//CIERRE DE WHILE
        sleep(45);
        } //CIERRE DEL FOR
        mysql_free_result($resultado);

  51. Avatar de juancvl
    juancvl

    El link de descarga don de explica Cristian que se puede hacer aún sigue desactualizado?,

  52. Avatar de Hernan
    Hernan

    Tienes algun manual donde indique las modificaciones del sistema para la parte de encuestas?

  53. Avatar de jroliva

    Hola Hernan

    Pues en ningún lado de momento , pero básicamente lo que tienes que usar es la aplicación de asterisk read() para capturar los dtmf y luego algún AGI para meter el numero o dftm a una base de datos.

    Saludos
    Juan Oliva

  54. Avatar de Yohany
    Yohany

    Hola Juan,

    Mil gracias por este excelente aporte, estoy apenas hace unos meses incursionando en este mundo y está solución es muy importante para mi proyecto.
    Sucede que tengo problemas con el .sql (no conoaco mucho de ello), por lo cual pido ayuda con algo de orientación a este error que me aparece:

    [root@localhost ~]# mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AdioElastixDialerBD.sql
    Enter password:
    ERROR 1005 (HY000) at line 25: Can't create table './AudioElastixDialerBD/calloutcampana.frm' (errno: 121)

    Llevo días eliminando todo y volviendo a realizar el montaje, pero no me cuadra, ¿Alguna idea de donde estoy fallando?

    Gracias

  55. Avatar de Juan Pablo
    Juan Pablo

    Hola Juan.
    Primero que nada quiero felicitarte y agradecerte por este excelente aporte!
    Te comento que apenas estoy incursionando en esto de Asterisk y no he logrado configurar el troncal.
    Estoy haciendo pruebas con modems USB (dongle), y en mi elastix configuré el toncal de la siguiente manera: dongle/dongle0/$OUTNUM$
    ¿Cómo debería configurarlo en el archivo «AudioElastixDialer.php»?
    Agradezco mucho a quien pueda ayudarme!!!
    Saludos

  56. Avatar de jroliva

    Hola Juan Pablo

    A la fecha no he tenido oportunidad de probar el dongle , pero tendrías que cambiar

    $tronc1=”SIP/Troncalsip”;

    por

    $tronc1=”dongle/dongle0”;

    Eso debería bastar

    Espero te sirva
    Saludos
    Juan Oliva

  57. Avatar de Juan Pablo
    Juan Pablo

    Estimado Juan: muchas gracias por tu respuesta!!!
    Funcionó correctamente con el dongle.
    Te hago otra pregunta: se supone que la aplicación toma en cuenta las rutas salientes que tengo configuradas en el elastix??, porque cuando agrego en el csv un numero que comience por cero (un celular), luego en el archivo .call lo pone sin 0. Puse en la ruta y también en el troncal «prepend»0, pero no me lo agrega y continúa marcando el número son 0.
    Muchas gracias nuevamente!!!!!

  58. Avatar de Juan Pablo
    Juan Pablo

    Juan: Ya he solucionado el inconveniente con el nro 0. Se debía a la configuración del troncal (me faltaba una barra invertida al final).
    Te hago otra consulta: si configuro un gateway GSM o una tarjeta FXO, ¿cómo sabe la aplicación cuantos canales tiene ese troncal?

    1. Avatar de edison
      edison

      yo tengo el mismo problema ne los celulares puede indicarme por favor como lo soluciono

  59. Avatar de monfi
    monfi

    Gracias estimado Jroliva, Gracias por tu ayuda, y esfuerzo y generocidad, sin egoismo sin muchos conocimiento sobre asterisk, en 2 horas esta trabajando gracias a tus scripts, te transfiero mis buenos desos y energia positiva en los que hagas. desde ecuador.

  60. Avatar de Francisco
    Francisco

    Muy bueno, pero hay alguna forma de hacer alguna encuesta? que se llame con varios audios y con opciones y se vayan guardando los resultados?
    gracias

  61. Avatar de Sonilux
    Sonilux

    Grande Juan y Gracias!

  62. Avatar de Domingo tatis
    Domingo tatis

    Hola estimado Jroliva, A varios nos ha dado el error «error en consulta a la base de datos» y ya se ha hecho lo que usted nos dijo k hicieramos. Quisiera saver si al tutorial le falta alguna configuración mas pork el error que esta dando la aplicación no es porque le falte if(!($conector=mysql_connect(«localhost»,»root»,»abcd1234″)))
    {
    echo «Error al conectar al servidor de base de datos»;
    exit();
    }

    if(!mysql_select_db(«AudioElastixDialerBD»,$conector))
    {
    echo «Error al conectarse a la base de datos»;
    exit();
    Ya ese error no nos lo da, sino el que dice que no puede hacer las consutas a la base de datos por ende falta alguna configuracion en la base de datos o el archivo Audioelastixdialer.php. Saludos…

  63. Avatar de Domingo
    Domingo

    Disculpen, pero hacer este tutorial en 6 pasos es como meter un barco dentro de una botella
    a esto le falta un desglose mayor, cuando se habla de Un Index que inbolucra PHP + Mysql se
    está hablando de 3 lenguajes diferentes; si alguien le funciono este manual que indique los pasos
    a seguir al menos que no halla $$ de por medio.

    1. Avatar de FerchoPenagos Mexicali
      FerchoPenagos Mexicali

      Yo soy primerizo en asterisk y si me funciono :p

    2. Avatar de jroliva

      Que gracioso, no había visto el comentario este hasta ahora, jajajaja

  64. Avatar de Jonathan
    Jonathan

    Hola , estoy probando este sistema y tengo un problema para sacar unas llamadas…
    Cuando marco a teléfonos fijos lo puedo hacer sin problemas, pero cuando llamo a celulares, no me llama y es porque en el Cli me muestra como si estuviera marcando otro numero.

    audioelastixdialer.php

    if ($troncal==»2″)
    {
    $tronc1=»SIP/»;
    $tronc2=»@MiProveedor»;
    }
    else
    {
    $tronc1=»ZAP/g1/»;
    $tronc2=»,20,Tt»;
    }

    para llamar a fijos marco el -> 11 XXXX-XXXX
    para llamar a celulares marco -> 911 XXXX-XXXX

    cuando marco a un celular el Cli me tira SIP/2147483647@MiProveedor

    Espero que puedan ayudarme, Gracias.

    1. Avatar de Alan Rodriguez

      Hola ya pudiste con los celulares

  65. Avatar de Oscar
    Oscar

    muy buenas tardes, antes que anda muchas gracias por este gran aporte, ya lo instale y siguiendo las indicaciones que muchos colaboradores aportan, veo que el sistema es muy funcional, pero veo que al ejecutar la campaña el sistema ejecuta los numeros de la lista todos al mismo tiempo, y quisiera saber si existe alguna manera de limitar la cantidad de numeros por bloques, agradezco de antemano su colaboracion.

  66. Avatar de Alan Rodriguez

    Hola amigos muy buen día estado configurando este aplicativo en elastix 2.4, pero cuando genero la campaña me sale exitosa pero al nivel del clic me sale la marcación totalmente diferente ala de la base de datos.
    El numero que marco es 3134006902 el cual es un móvil de Colombia.
    El número que me muestra el clic es: SIP/572147483647
    No logro saber porque es, les agradezco su ayuda
    Gracias

  67. Avatar de jroliva

    Alan

    Ya me paso eso, fíjate en el tipo de campo que aloja el numero , cámbialo a un tipo que permita mas dígitos.

    Espero te sirva
    Saludos
    @jroliva

  68. Avatar de Alan Rodriguez

    Hola Juan muy buen día. Cuando tú te refieres al tipo de campo, es el formato del archivo de la base de datos? (csv).
    Agradezco enormemente su colaboración si de pronto tienes un archivo el cual pueda tomar de ejemplo

    1. Avatar de jroliva

      En la base de datos , el tipo de campo que guarda el numero a marcar.

      Saludos
      @jroliva

  69. Avatar de Yeison Andres Martinez

    Hola Juan Buen dia me podrias colaborar tengo un troncal SIP que solo me permite la salida de llamadas desde un numero valido de la troncal y cuando llamo veo que una traza que tu script toma el mismo numero a llamar como el que lo origina, agradezco de ante mano tu ayuda para saber si puedo mandar las llamadas con origen especifico se que es en el campo $Channel= «Channel: » . $_POST[‘Channel’]; como le puedo poner para que me saque el numero de mi proveedor.

    Agradezco si tu o alguno de los colegas sabe como hacerlo

    1. Avatar de jroliva

      Yelson

      El programa está basado en los call files de Asterisk , fíjate que variables puedes trabajar e incorporar al programa, para cumplir lo que necesitas.

      http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

      Saludos
      Juan Oliva
      @jroliva

  70. Avatar de Alan Rodriguez

    Definitivamente y intente de todo pero no me da para las llamadas a celular en colombia ejemplo 573134006902

    a A telefonos no moviles si da normal
    ejemplo: 5713819501

  71. Avatar de Alan Rodriguez

    Hola amigos por favor necesito ayuda para poder realizar llamadas a celulares en Colombia ya que todo lo que marco se me convierte a (572147483647), e antemano les agradezco ya que no tengo mucha experiencia en esta parte

    Numero de ejemplo: 573134006902
    Numero que sale: 572147483647
    La base de datos se encuentra en formato csv, la cual la creamos en Excel

    1. Avatar de jroliva

      Alan

      Te comente que es un problema en la definición del campo que almacena el numero, es muy corto y por eso realiza el cambio que indicas, revisa base de datos.

      Si no tienes experiencia con gestión de base de datos Mysql, pide ayuda al respecto.

      Saludos
      Juan Oliva
      @jroliva

  72. Avatar de Rodrigo Ruiz
    Rodrigo Ruiz

    Que tal Juan Buena noche,
    me puedes colaborar, cuando abro el generador de campañas solo me muestra la campaña

    Saludos
    Rodrigo

    1. Avatar de Marcos Suarez
      Marcos Suarez

      Saludo Rodrigo Ruiz. también tengo el mismo problemas. y es debido a que el campo siguiente se llenara con el select del idcampana. Pero al no tener ningún valor no te presentara nada. Yo estoy parado por la razón de que no se con que dato voy a rellenar la tabla calloutcampana. Si a alguien de lo que ya le funciono poner un ejemplo de las tablas con los datos ya insertado seria de gran ayuda

  73. Avatar de Gabriel Colin
    Gabriel Colin

    Buen día, realice la configuración de acuerdo a los pasos y ya puedo establecer la llamada y en el cli veo que reproduce la grabación, solo que cuando el interlocutor contesta no escucha la grabación y la llamada dura lo mismo que la reproducción y después se cuelga, todo va bien solo no pasa el audio, alguien sabe que pasa?

    1. Avatar de Alan

      Hola revisa en que codeg estás enviando la llamada a su proveedor, y también si estás por medio de un nat que te esté bloqueando

  74. Avatar de Gabriel Colin
    Gabriel Colin

    Gracias Alan, lo que hice solo fue probar con otro proveedor de internet y si funciono, el tema era mi proveedor. Gracias Juan Oliva por esta solucion.

    1. Avatar de Alan Rodriguez

      Vale para nosotros es un gusto ayudar como Juan lo hace con sus post, si te animas tenemos terminación.

  75. Avatar de abeperez
    abeperez

    Hola Juan Excelente aporte, ya lo tengo funcionando con una encuesta, pero no he logrado tomar el status de la llamada para calificar a las que no pude contactar

    [call-file-test]
    exten => s,1,Answer
    exten => s,n,wait(2)
    exten => s,n,Agi(encuesta.php)
    exten => s,n,Hangup()

    en mi Agi leo el CallerID
    $cid=$agi->request[agi_callerid];
    y asi gestiono las que responden y guardo las respuestas

    Pero no se como guardar los telefonos que «NO» contestan

    Espero me puedas apoyar

  76. Avatar de jroliva

    Hola
    Puedes trabajar con las variables de «hangupcause»

    http://www.voip-info.org/wiki/view/Asterisk+variable+hangupcause

    Espero te sirva
    Saludos
    Juan

    1. Avatar de abeperez
      abeperez

      Gracias Juan, aun no soy tan ducho manejando las variables, la debo capturar en el audioelastixdialer.php ? Antes de hacer los .call o en el contexto call-file-test y pasarsela a mi captura.php ?

      Te agradecere un poco mas de ayuda

      Gracias

  77. Avatar de jroliva

    Ello tendrías que hacerlo a nivel de CLI de Asterisk.

    Saludos
    Juan

    1. Avatar de abeperez
      abeperez

      Ejecuto tu aplicación y a cada numero que me contesta le aplico el agi captura.php pero los mumeros que no me contestan les quiero aplicar otro agi que me los escriba en una tabla con el cid y el status de la llamada, no entiendo como leer y enviar el hangupcause si en tu php o desde el contexto o llamarla desde mi agi asi como llamo el cid.

  78. Avatar de edmart777
    edmart777

    Solo me aparece Nombre de Campaña!! y nada mas. 😦

    «AUDIO ELASTIX DIALER 0.1»
    «Generador de Campañas / Destino : Audio»
    «Nombre de Campaña»

    Que puede ser baje el archivo el 12/06/2015 la base y todo esta corriendo con las tablas y todo. Elastix 2.0.2

    1. Avatar de jroliva

      Hola
      Tienes que hacer un seguimiento a nivel de asterisk puro, tus amigos

      #asterisk -rvvvvv
      #tail -f /var/log/asterisk/full

      Saludos
      Juan Oliva

  79. Avatar de edmart777Tectel2011

    Mi duda es que no me aparece la pagina web completa leuego de digitar https://192.168.0.240/AudioElastixDialer.. todo lo demás esta bien. Gracias de antemano por su ayuda esta muy buena la guia. Nota: la pagina que me carga solo tiene el titulo y una caja de texto que pide nombre de la campaña.

    1. Avatar de Christian
      Christian

      Me ha pasado en versiones posteriores, simplemente no se esta conectando con la base de datos sql, intenta corregir los datos de conexion!

  80. Avatar de Joan Nieto

    Me parece maravillosa tu aplicación. Me gusta trabajar con gente que agrada de proyectos open Source. Soy diseñador UI/UX si gustas podemos trabajar para poner la interfaz mas intuitiva o amigable.
    Saludos desde Colombia 😀

  81. Avatar de guinoh
    guinoh

    Hola Juan excelente aporte, unicamente tengo una duda, como puedo realizar para que la llamada este configurada de la siguiente manera:

    Cuando reciba la llamada
    Tenga la opción de presionar un boton en caso de estar interesado en responder una encuesta (Por ejemplo que oprima desde el celular el numero 0) todos esos números lo envien a reporte para poder devolver las llamadas a los interesados en responder la encuesta.

    Así mismo en que apartado puedo ver si los números son contestados o no?

    Muchas Gracias por tu ayuda.

    1. Avatar de jroliva

      Hola Guinoh

      Todo depende a que contexto envies la llamada del archivo .call , direcciona el contexto a uno donde tengas programado el press-1 , lo otro lo puedes ver en el cdr de asterisk

      Espero te sirva
      Saludos
      Juan Oliva

  82. Avatar de Eduardo
    Eduardo

    Hola J oliva Gracias, por regalarnos tus conocimientos, esta genial tu programa, tengo un pequeño problema todo me funciona OK cuando envio las llamadas a fijos colombia 57 1 3924568, se envia bien, pero cuando cargo numero de celulares 57 321956895 me sale error y un numero largo — 572147483647@ – se que te ha sucedido lo he leido y es cuestion de cambiar el tipo de variable donde se aloja el numero en la base de datos. Me puede ayudar exactamente donde tengo que cambiar eso, que por ser primerizo en esto no he dado con la solución. porfavor si fueraas tan amable decirme donde exactamente debo cambiar, ayudame en mi ignorancia. MUCHAS GRACIAS.

    1. Avatar de jroliva

      Hola Eduardo

      Es por el limite en el campo de la base de datos, modifícalo y se soluciona.

      Saludos!
      Juan Oliva

      1. Avatar de edufasala

        Gracias, si me funciono excelente, Gracias jroliva, muchas gracias, una consulta, como podria realizar un reporte de todas las llamadas?

        y otra consulta hay un proyecto para un swicht Voip sera que podrias ayudarnos a desarrollarlo, cuanto nos cobrariia, podriamos hablar con usted nos regala un telefono? gracias.

      2. Avatar de jroliva

        Hola Edu
        Los reportes están en el CDR de Asterisk , si lo enlazas a MYSQL puedes filtrar la información que necesitas.

        Sobre tu proyecto, claro puedo ver de apoyarlos, escríbeme a jroliva@gmail.com para intercambiar contactos.

        Saludos
        Juan Oliva
        @jroliva

      3. Avatar de christian
        christian

        Hola joliva
        Disculpa la ignorancia pero ya trate de todo y no logro sacar la llamadas a celular, a que te refieres con el limite en el campo de la base de datos o que parte es la que se debe de cambiar

        Saludos

  83. Avatar de fre22

    Hola Muchas Gracias por tu aporte Jroliva.

    Excelente aporte, muchas gracias por la generosidad.

    Solo tengo una duda como hago que las llamadas que tengan una duración a 10 segundos sean registrados en una base de datos.

    Estoy gradecido con usted, alguien que tenga este conocimiento seria de mucha ayuda.

    1. Avatar de jroliva

      Hola Fre22

      Gracias que bueno que te sirva el programa, si es posible tendrías que modificar el comando «DIAL» de asterisk con el parámetro L

      ejemplo para restringir la llamada a 10 minutos es : L(600000:60000:30000)

      Referencia : http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial

      Espero te sirva
      Saludos!
      Juan Oliva

  84. Avatar de fre22

    Muchas Gracias en que apartado configuro el gotoiftime

    Ya que en extensions_custom.conf, permite el ringing en la llamada.

  85. Avatar de edufasala

    Hola mi estimado genial tu programa, una consulta como se puede hacer para que la persona que va a hacer la camapaña escoja su troncal por donde la va a realizar.

    1. Avatar de jroliva

      Hola
      Puedes «jalarlo» de la base de datos de Elastix directamente o crear un tabla en el sistema.

      Saludos
      Juan Oliva

  86. Avatar de Edison Acosta

    hola hice todos los pasos pero al cargar https://miip/AudioElastixDialer/ solo me sale nombre de campaña y nada mas

    1. Avatar de jroliva

      Hola Edison

      Dale clic derecho «ver código fuente» vas a ver que tienes un error de conexión a base de datos.

      Espero te sirva
      Saludos!

      Juan Oliva

      1. Avatar de Edison
        Edison

        Gracias ya lo resolví pero al momento de cargar los números y llamar se comen los «0» es decir del celular se marca sin el cero inicial que se hace ahí por favor gracias

      2. Avatar de Jairo Mora
        Jairo Mora

        Edison tengo el mismo error solo me sale el nombre de la campaña como l puedo solucionar gracias…

  87. Avatar de Carlos
    Carlos

    Me encanta tu trabajo Juan, estoy tratando de montarlo con una troncal net2phone (que me ha dado miles de problemas) mi pregunta básicamente es cual línea sip me recomiendas y aquí otras preguntas: que pasa si quiero parar la lista de llamadas? como hago? como hago para hacer llamadas utilizando mas troncales.

    Saludos

    1. Avatar de Alan Rodriguez

      Hola carlos a que pais estas marcando, pues hay destinos que net2phone tiene mucha falla. si te interesa te puedo dar una troncal sip para que verifiques, juan nos vemos en #elastixworld

  88. Avatar de Carlos
    Carlos

    Que tal Alan, escribo de México tengo semanas intentando esto. Gracias

  89. Avatar de Angel
    Angel

    Me gustaría saber si es factible que las llamadas sean realizadas en una hora especifica por cada registro? es factible esto? gracias

  90. Avatar de jorge mojica
    jorge mojica

    Saludos Juan es posibel implemtar «mediante que herramienta?» una opcion que detecte los buzones de voz y evite que la gravacion se envie y cuelque la llamada?

  91. Avatar de Edw
    Edw

    Saludos, estoy tratando de configurar pero me arroja un error cuando creo la campaña, es lo siguiente CAMPAÑA CREADA , GENERANDO LLAMAS

    ELASTIX PROWERFULL !!

    Error en consulta a la base de datos

    Anteriormente me aparecen todos los datos a llenar, reviso todo y no le encuentro error que podría ser?
    Gracias

  92. Avatar de Alejandro Muñoz

    monte esta de nuevo las configuraciones y observo que en elastix 2.5 sale el error

    <input name="idcampana" type="text" id="idcampana" value="Error al conectarse a la base de datos

    alguien sabe como corregirlo.

  93. Avatar de Alejandro Muñoz

    esa misma configuracion lo tengo en un elastix 2.3 y sale perfecto solo sale en la 2.5 <input name="idcampana" type="text" id="idcampana" value="Error al conectarse a la base de datos

    quien me puede ayudar…..

  94. Avatar de Edison
    Edison

    Por favor alguien que me ayude como subo números celulares porque subo con el 0 adelante pero al cargar se borran y al marcar igual

    1. Avatar de jroliva

      Edison, es un tema del tipo de campo en la base de datos, cambialo al que necesites.

      Saludos!

      1. Avatar de Edison
        Edison

        esta puesto vchar a cual le cambio???

      2. Avatar de Edison
        Edison

        y ayúdame indicando en que parte le cambio

      3. Avatar de Christian
        Christian

        Hola Edison pudiste hacer el cambio y donde fue?

  95. Avatar de xotelo
    xotelo

    hola solo me sale una parte de el cuadro de arriba y el de nombre de la campañan pero mo me cargar el resto

    1. Avatar de Jairo Mora
      Jairo Mora

      igual a mi alguien ya lo ha solucionado?
      y al escribir en el nombre de la campaña me dice error al conectar en la base de datos

  96. Avatar de Jairo Mora
    Jairo Mora

    Hola buenas noches, Juan tengo un problema ya al probar lo realizado paso a paso coloco http/MiIP/AudioElastixDialer/
    y solo me muestra en la pagina la etiqueta Nombre de Campaña: y el cuadro de texto
    pero los demas datos no escribo prueba 1 en el cuadro y me lanza el siguiente error:
    CAMPAÑA CREADA , GENERANDO LLAMAS

    ELASTIX PROWERFULL !!

    Error al conectarse a la base de datos

    1. Avatar de Jairo Mora
      Jairo Mora

      Ya lo solucione 🙂

      1. Avatar de F3rcho
        F3rcho

        Me podrias indicar como solventaste?

    2. Avatar de Sami
      Sami

      Hola Jairo, tengo el mismo problema como lo soluciono, gracias.

  97. Avatar de gabriel rmz

    en el código hay una corrección, le falta una letra al nombre de la base de datos…
    dice:
    if(!mysql_select_db(«AdioElastixDialerBD»,$conector))
    debe decir:
    if(!mysql_select_db(«AudioElastixDialerBD»,$conector))

    saludos

  98. Avatar de Sami
    Sami

    Corregir en el archivo funciones_bd.php
    la linea:
    if(!mysql_select_db(«AudioElastixDialerBD»,$conector))
    por
    if(!mysql_select_bd(«AudioElastixDialerBD»,$conector))

  99. Avatar de jroliva

    Hola:
    Felicitaciones para los que encontraron la solución al «detalle», no es un error fue adrede poner ello.

    Todo es parte del aprendizaje.

    Saludos!!
    Juan Oliva
    @jroliva

  100. Avatar de Raul Lopez
    Raul Lopez

    Muy interesante, es lo que buscaba. Ahora, como yo solo quiero q se hagan llamadas en cierto horario se me ha ocurrido cambiar la fecha de creación del .call y ajustarlo , eso viene en un link que pusiste o hay una mejor manera,?

    Muchas gracias

    1. Avatar de jroliva

      Raul
      O puedes también manejarlo por cron de Linux.
      Saludos
      Juan Oliva

  101. Avatar de Orlando
    Orlando

    Excelente aporte Jroliva me sirvió de mucho funciona a la perfección tratare de hacer algunos cambios y los compartire gracias nuevamente.

    1. Avatar de jroliva

      Estupendo!! espero los cambios!!

      Saludos
      Juan Oliva

  102. Avatar de Alberto Ramirez
    Alberto Ramirez

    Hola buen dia juan eh realizado todos los pasos, mas sin embargo cuando carga la base en mi cli solo me aparece este dato:
    — Attempting call on SIP/00745215563441034@Telefonica_Monterrey for s@call-file-test:1 (Retry 1) — Attempting call on SIP/5563441034@Telefonica_Monterrey for s@call-file-test:1 (Retry 1) == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 — Attempting call on SIP/0445563441034@Telefonica_Monterrey for s@call-file-test:1 (Retry 1) == Using SIP RTP TOS bits 184 == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 == Using SIP RTP CoS mark 5

    eh intentado con los prefijos de marcado y con el prepend que me solicito anteponer mi proveedor

    de antemano agradezco todo lo que me has ayudado entender y te felicito por tu web que siempre me a sido de mucha ayuda

    1. Avatar de jroliva

      Hola Alberto
      Pues a simple vista no veo el error en realidad, en todo caso prueba si la llamada manual al 00745215563441034 sale correctamente por la troncal Telefonica_Monterrey , otra cosa es la cantidad de canales disponibles.

      Espero te sirva
      Saludos
      Juan Oliva

      1. Avatar de Alberto Ramirez
        Alberto Ramirez

        Buen Dia y Estimados

        encontre la solucion a mi problema, en el archivo audioelastixdialer.php

        en la linea 79

        $tronc1=»SIP/${EXTEN}»;
        $tronc2=»@Marcatel»;
        }

        Agregue esto y funciono perfecto

        en mi caso tu solucion me ayudo bastante ya que hay dias en los que no hay mucho flujo de llamadas y con tu sistema puedo generar mas y mandarlas a mi modulo de callcenter a una campaña de entrada donde estan los mismos agentes conectados.

        te agradezco mucho

  103. Avatar de Jose España
    Jose España

    Jose España en julio 29, 2016 en 12:42 am dijo:
    Buena tarde Juan, buen aporte, ya lo probé y muy funciona bien pero tengo una duda, ya que genera todas las llamadas al mismo tiempo, esto me saturaría todas las troncales o mi elastix, ya que revisando en el cdr miro que genero las llamadas al mismo tiempo, hasta los mismos segundos. Existira una forma de encolarlas llamadas para que varié al menos unos segundos en cada llamada que realizce o bien que solo pueda usar una troncal o que limite el numero de llamdas.

    De antemano muchas gracias por tu colaboración y buen aporte.

    Responder ↓

    1. Avatar de jroliva

      Hola José

      Lo que yo hago es crear un contador como variable la cual al llegar al limite ( limite de llamadas simultaneas) hace una pausa (cantidad de segundos promedio que dura la grabación)

      Espero te sirva.
      Saludos
      Juan

      1. Avatar de Jose España
        Jose España

        Muchas gracias Juan por tu respuesta, como puedo crear la variable o crear el limite de llamadas simultaneas. Disculpa el abuso, ya que de programación no se mucho.
        De antemano muchas gracias.

  104. Avatar de Daniel
    Daniel

    Saludos.. Juan, es una exelente trabajo. Disculpa podrias ayudarme para ahcer ago similar pero para realizar encuestas?.

    1. Avatar de jroliva

      Hola Daniel
      Puedes hacer que la llamada se mueva a un contexto donde trabajes con la aplicación «read» para capturar los dtmf y los envíes a un AGI para que los grabes a una base de datos.

      Espero te sirva
      Juan Oliva

  105. Avatar de EicheS

    Saludos, Juan he seguido las instrucciones como indicas pero solo me lo del siguiente enlace

    al colocar un nombre me da el siguiente mensaje:

    CAMPAÑA CREADA , GENERANDO LLAMAS

    ELASTIX PROWERFULL !!
    Error al conectar al servidor de base de datos

    1. Avatar de EicheS
      EicheS

      se me olvido mencionar que estoy utilizando elastix con las versiones:
      Kernel
      Linux(i386)-2.6.18-409.el5

      Elastix
      elastix-2.5.0-1
      elastix-a2billing-2.1.0-1.gita40e37fefef7ab85999d04298b6e582b41930e7e
      elastix-a2billing-callback_daemon-2.1.0-1.gita40e37fefef7ab85999d04298b6e582b41930e7e
      elastix-addons-2.5.0-5
      elastix-agenda-2.5.0-3
      elastix-asterisk-sounds-1.2.3-1
      elastix-email_admin-2.5.0-4
      elastix-endpointconfig2-2.5.0-3
      elastix-extras-2.5.0-1
      elastix-fax-2.5.0-3
      elastix-firstboot-2.5.0-3
      elastix-framework-2.5.0-13
      elastix-im-2.5.0-1
      elastix-my_extension-2.5.0-1
      elastix-pbx-2.5.0-6
      elastix-portknock-0.0.1-0
      elastix-reports-2.5.0-5
      elastix-security-2.5.0-3
      elastix-system-2.5.0-4

      RoundCubeMail
      RoundCubeMail-0.3.1-12

      Mail
      postfix-2.3.3-7.el5
      cyrus-imapd-2.3.7-16.el5_11

      IM
      openfire-3.7.1-1

      FreePBX
      freePBX-2.11.0-23

      Asterisk
      asterisk-11.21.0-0
      asterisk-perl-1.03-0
      asterisk-addons-11.21.0-0

      FAX
      hylafax-4.3.11-1rhel5
      iaxmodem-1.2.0-2

      DRIVERS
      dahdi-2.10.2-0
      rhino-0.99.7-0
      wanpipe-util-7.0.14-0

      1. Avatar de EicheS
        EicheS

        Solucionado el Error al conectar al servidor de base de datos.

        pero solo sigue mostrando el nombre de la campaña nada mas

      2. Avatar de Sam
        Sam

        Hola asi me funciono:
        [root@hsrpcom ~]# mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AudioElastixDialerBD.sql

  106. Avatar de jroliva

    EicheS
    Desde la interfase web no vas a solucionar nada, es necesario que veas y entiendas a nivel del CLI de Asterisk que está pasando.

    Saludos
    Juan Oliva

    1. Avatar de EicheS
      EicheS

      Perfecto, pero en que parte del PHP debo arreglar porque pienso que hay un error en la sintaxis o en tabla porque si comento esto » ‘echo $nuevocodigo_dc=calcular_nuevo_codigo_bd(«calloutcampana»,»idcampana»)’ » me muestra todo lo demas.

  107. Avatar de alex
    alex

    Buen día soy un completo novato en esto del asterisk pero gracias a los comentarios y respuestas lo tengo actualmente funcionando sin embargo el problema que tengo es que no se como encolar las llamadas si pudieras orientarme o pasarme tu código para suplantar el mio para tenerlo 100% funcional seria grandioso me encontré este en los comentarios de arriba
    //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
    $sentencia=”select id,telefono from calloutnumeros where campana = $idcampana;”;
    $resultado=consultar_bd($sentencia);
    while ($row=mysql_fetch_array($resultado)){
    $id=$row[0];
    $numero=$row[1];
    $Channel= “Channel: ” . $tronc1 . $numero . $tronc2 ;
    $Callerid= “Callerid: ” . $numero;
    $fp = fopen(“/var/spool/asterisk/outgoing/myarchivo$id.call”,”a”);
    fwrite($fp, $Channel . PHP_EOL . $Callerid . PHP_EOL . $MaxRetries . PHP_EOL . $RetryTime . PHP_EOL . $WaitTime . PHP_EOL . $Context . PHP_EOL . $Extension . PHP_EOL . $Priority . PHP_EOL);
    fclose($fp);

    } //CIERRE DE WHILE
    mysql_free_result($resultado);
    die;

    ?>

    REMPLAZAR POR

    //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS

    $sentencia=”select id,telefono from calloutnumeros where campana = $idcampana;”;
    $resultado=consultar_bd($sentencia);

    $llamadasMax= tu numero de troncales va aca;

    $cant = mysql_num_rows($resultado);

    while($cant > 0 ){

    if( count(glob(“/var/spool/asterisk/outgoing/{*.call}”,GLOB_BRACE))

    Pero por alguna razon al mandar la campaña se queda en blanco la pantalla y no sucede nada si pueden orientarme se los agradeceria y muchas gracias por tu aporte!!

  108. Avatar de alex
    alex

    Perdón este era el código completo que no me funciono
    REMPLAZAR POR

    //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS

    $sentencia=”select id,telefono from calloutnumeros where campana = $idcampana;”;
    $resultado=consultar_bd($sentencia);

    $llamadasMax= tu numero de troncales va aca;

    $cant = mysql_num_rows($resultado);

    while($cant > 0 ){

    if( count(glob(“/var/spool/asterisk/outgoing/{*.call}”,GLOB_BRACE))

  109. Avatar de alex
    alex

    REMPLAZAR POR

    //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
    $sentencia=”select id,telefono from calloutnumeros where campana = $idcampana;”;
    $resultado=consultar_bd($sentencia);
    $llamadasMax= tu numero de troncales va aca;
    $cant = mysql_num_rows($resultado);

    while($cant > 0 ){
    if( count(glob(“/var/spool/asterisk/outgoing/{*.call}”,GLOB_BRACE))

  110. Avatar de Christian
    Christian

    Estimado he tratado de cargar tu aplicación y no me carga, podrías darme alguna pauta?
    Tengo el mismo problema que EicheS.

  111. Avatar de Marco
    Marco

    Tengo el mismo problema que EicheS y Christian, alguien lo ha solucionado y me tire un cable ?

  112. Avatar de raleiva
    raleiva

    Estimados, pregunta al respecto, es posible tener dos o mas encuestas simultaneas ejecutándose y con distintos audios en cada encuesta.y como subir los audios a reproducir, desde la Web de la aplicacion,

  113. Avatar de Valmir Lopes
    Valmir Lopes

    Boa tarde, eu segui todo passo a passo e só recebo um msg de erro «Error en consulta a la base de datos»

    1. Avatar de sam
      sam

      Hola, en los comentarios atras puedes encontrar la solucion.

  114. Avatar de Elias
    Elias

    Hola; Tengo este problema

    <input name="idcampana" type="text" id="idcampana" value="Error al conectarse a la base de datos

    Cuando entro a la ruta https://ip/AudioElastixDialer/ ;solo me carga Nombre de campaña.

    1. Avatar de Fernando Penagos
      Fernando Penagos

      Modificar el extension_custom.conf
      Agregar esto al [from-internal-custom]
      include => call-file-test

      Y al final del archivo poner esto:
      [call-file-test]
      exten => s,1,wait(15)
      exten => s,2,Playback(demo-congrats)
      exten => s,3,Hangup()

      reload asterisk
      Modificar conexion a BD
      var/www/html/AudioElastixDialer/funciones_bd.php
      if(!($conector=mysql_connect(“localhost”,”root”,”tucontrasena”)))
      Entrar a mysql
      mysql -p
      mysql> create database AudioElastixDialerBD;
      Exportar #mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AudioElastixDialerBD.sql
      Checar si estan las tablas:
      use AudioElastixDialerBD;
      show tables;
      Modificar el siguiente archivo
      /var/www/html/AudioElastixDialer/audioelastixdialer.php
      $tronc1="SIP/Vox_Calls/52"; //En este caso puse la troncal de salida y el prefijo para mexico, cuando subo los numero si son fijos los dejo tal cual en el csv pero si son celulares les agrego 1.
      $tronc2="";
      Para poner el audio dirigirse a la carpeta /var/lib/asterisk/sounds/en y alli pegar el audio debe ser gsm con permisos 777 y

      https://TUIP/AudioElastixDialer/

      y seleccionar el archivo csv con los numeros, yo los subo asi.

      telefono, nombre
      telefono, nombre

      POSIBLES ERRORES:
      Carpeta AudioElastixDialer tambien asignarle 777 permisos
      alter table calloutnumeros modify telefono varchar(50);
      Esto es para que tome los telefonos y no marque solo el 2147483647 por alguna razon no toma el int y se tiene q cambiar a varchar.
      Si se tiene la carpeta origina esta mal escrito el nombre no dice AudioElastixDialerBD sino AdioElastixDialerBD , so toca cambiarlo.

      1. Avatar de F3rcho
        F3rcho

        Que tal Fernando Penagos, veo que tu has logrado que te funcione el programa pero al moemnto de colocar:

        https://MI_IP/AudioElastixDialer/

        Unicamente me aparece que coloque el nombre de la campaña y no todo lo que sale en el cuadro, donde le puedes cargar los numeros.

        Llego algo de tiempo en esto y no encuentro solucion, me podrias ayudar con esto.

        Muchas gracias de antemano

      2. Avatar de Fernando Penagos
        Fernando Penagos

        Si claro amigo, pero hiciste ya todos los pasos antes mencionados y sigue igual ?

      3. Avatar de F3rcho
        F3rcho

        Que Tal Fernando, gracias por la pronta respuesta, te comento ya logré hacer que me muestre los demás campos dónde se puede cargar el archivo csv, pero no veo que los cargue en la.base de datos, será que algo en el código del archivo audioelastixdialer.php tiene el símbolo //

      4. Avatar de Fernando Penagos
        Fernando Penagos

        Checa el campo de telefono, si es int te va a dar problemas tiene que ser varchar.

      5. Avatar de F3rcho
        F3rcho

        Buen dia Fernando, listo ya realice los cambios que me indicaste, pero siguen sin generarse los archivos .call, ya que al revisar en /var/spool/asterisk/outgoing/
        no tengo ninguno, tengo colectividad a la base de datos y logro ver las tablas donde realice el cambio a VARCHAR(50).

        como es que se generan los archivos .call?

        Muchas gracias por tu ayuda

      6. Avatar de Fernando Penagos
        Fernando Penagos

        Ya entraste por consola a ver si esta marcando? Como es el formato de los registros csv para tu llamadas?

  115. Avatar de Fernando Penagos
    Fernando Penagos

    Entra por el putty al servidor, te logueas y ejecutas el comando asterisk -rvvvv despues das sip show channels y ver si esta marcando.

    1. Avatar de F3rcho
      F3rcho

      Si el problema es que no estoy generando los archivos .call, no me aparece nada en la carpeta outgoing, no sé si estaré obviando algo al momento de cargar el csv

      1. Avatar de Fernando Penagos
        Fernando Penagos

        Pues, la verdad no sabia decirte, si estan separados por coma tus registros? yo cuando subo los archivos csv vienen de esta forma:
        111111111, nombre
        22222222, nombre
        etc…

  116. Avatar de Fernando Penagos
    Fernando Penagos

    Si lo tienes separado por ; pues modifica este archivo audioelastixdialer.php en este linea
    while (($data = fgetcsv($handle, 1000, «,»)) !== FALSE) {
    por esta linea
    while (($data = fgetcsv($handle, 1000, «;»)) !== FALSE) {

  117. Avatar de Tito Arrieta
    Tito Arrieta

    Juan, acabo de probar tu programa y con unas cuantas modificaciones logre ponerlo a funcionar, ya me genera el archivo .call, no se si tu tendras la forma de grabar un texto que esta en un campo de base de datos como mp3 o gsm. Necesito generar mensajes personalizados.
    Espero que me puedas ayudar
    gracias

    1. Avatar de F3rcho
      F3rcho

      Buen día Tito, me podrías ayudar, llevo ya bastantes días tratando de entender porque no me generan los archivos .call, que cambios o en cual .PHP lo realizasteis?? Te agradece mucho si me puedes dar una luz 😅

    2. Avatar de cavicata
      cavicata

      Como hiciste Tito para que te generen los archivos .call ? a mi me muestra el error: • Channel should be in form Tech/Dest at line 1 of /var/spool/asterisk/outgoing/myarchivo29.call
      • At least one of app or extension must be specified, along with tech and dest in file /var/spool/asterisk/outgoing/myarchivo29.call
      • Invalid file contents in /var/spool/asterisk/outgoing/myarchivo29.call, deleting
      En los logs.

  118. Avatar de Tito Arrieta
    Tito Arrieta

    Aqui los cambios que hice:

    el el paso 5:
    5.- Crear la base de datos para el Audio Elastix Dialer
    dice:
    #mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AdioElastixDialerBD.sql
    en el archivo audioelastixdialer.php

    corrección:
    #mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AudioElastixDialerBD.sql
    en el archivo audioelastixdialer.php

    ===============================================================
    en el archivo audioelastixdialer.php

    decia:
    //3 .- RECIBIR LAS VARIABLES PARA GENERAR LA LLAMADA
    $Channel= "Channel: " . $_POST['Channel'];
    //$Callerid= "Callerid: " .$_POST['Callerid'];

    ahora:
    //3 .- RECIBIR LAS VARIABLES PARA GENERAR LA LLAMADA
    //$Channel= "Channel: " . $_POST['Channel'];
    $Callerid= "Callerid: " .$_POST['Callerid'];

    Espero que lo puedan aplicar

    1. Avatar de Fernando Penagos
      Fernando Penagos

      Que curioso, yo tengo comentado la variable de callerid y cuando marca a la persona, el callerid que le aparece es su mismo numero.

      1. Avatar de cavicata
        cavicata

        Ya me funcionó en Issabel 4.0.0-2, me faltaba una configuración en la troncal de salida. Gracias.

      2. Avatar de Fernando Penagos
        Fernando Penagos

        en serio? ahora comentame como hiciste para ingresar por interfaz web yo instale el issabel pero no puedo ingresar 😦 . No sabes?

      3. Avatar de cavicata
        cavicata

        Abre los puertos que necesites en el firewalld (80,443,22,143,995,993,110 dependiendo los servicios q vayas a usaar) o bien dale de baja al firewalld para probar. Adicional inhabilita el Selinux en el centos y con eso te debería de funcionar.

  119. Avatar de Sofir
    Sofir

    Hola raza, quiero felicitarlos está excelente este foro, tengo una pregunta y me gustaría si me pueden ayudar, como puedo ampliar el tiempo de la llamada, porque normalmente son 20 seg. la duración de la llamada y mi mensaje grabado dura mas de 30 seg. entonces se corta la llamada y no se escucha todo el mensaje.

    Por anticipado les doy las gracias

    1. Avatar de jroliva

      Hola Sofir
      Te comento que por parte de la aplicación no existe ningún tipo de limite en la duración de la llamada, si tu caso es ese, debe ser por otros factores ajenos a la misma.

      Espero te sirva.
      Saludos
      Juan Oliva

      1. Avatar de Sofir
        Sofir

        Revise este caso con mi proveedor de telefonía (TELMEX), monitorearon la llamada que realice, y detectaron que el que esta cortando la llamada es mi conmutador, donde puedo ver la configuración cuando se cuelga la llamada

      2. Avatar de Hector
        Hector

        Sofir, como se te ha venido comentado y ya lo comenta Juan, esto es ajeno al aplicativo, tambien al probar con otra troncal el aplicativo funciona bien, por descarte es tu proveedor.

        Saludos.

      3. Avatar de Sofir
        Sofir

        ok revisando con mi proveedor, ya lo revisaron bien y ellos tuvieron que modificar algunos parámetros, ya funciona, gracias

  120. Avatar de Luis Serrano
    Luis Serrano

    Cordial saludo,
    es una excelente herramienta, tengo una duda como se si la llamada fue constestada o no, hice pruebas marcando a mi celular y no conteste la llamada y el sistema mirando el cdr me indica de que si fue contestada.

  121. Avatar de Leo GrooveSound

    Hola amigo, soy nuevo en elastix y se me complica un poco escribir los códigos no se si puedes ayudarme con este tema un poco mas a fondo. Te lo agradecería mucho.

  122. Avatar de alex
    alex

    como se puede detener la campaña? cuando deseo detenerla la unica forma que encuentro es reiniciando hasta 2 veces el elastix porque aunque detenga el proceso asterisk sigue marcando al renaudar

  123. Avatar de Sofir
    Sofir

    Ayuda por favor, estoy cargando una campaña con 300 teléfono a marcar pero solamente se marcan 4 teléfonos, porque?, esta es la rutina donde se generan las llamadas:

    //5.- GENERAR LA LLAMADA DE LA BASE DE DATOS
    $sentencia=»select id,telefono from calloutnumeros where campana = $idcampana;»;
    $resultado=consultar_bd($sentencia);
    while ($row=mysql_fetch_array($resultado)){
    $id=$row[0];
    $numero=$row[1];
    $Channel= «Channel: » . $tronc1 . $numero . $tronc2 ;
    $Callerid= «Callerid: » . $numero;
    $fp = fopen(«/var/spool/asterisk/outgoing/myarchivo$id.call»,»a»);
    fwrite($fp, $Channel . PHP_EOL . $Callerid . PHP_EOL . $MaxRetries . PHP_EOL . $RetryTime . PHP_EOL . $WaitTime . PHP_EOL . $Context . PHP_EOL . $Extension . PHP_EO$
    fclose($fp);
    } //CIERRE DE WHILE

    1. Avatar de cavicata
      cavicata

      Porque el Dialer intenta hacer las 300 llamadas a la vez y solo encuentra 4 canales disponibles. Debes limitar las llamadas simultáneas.

      1. Avatar de Sofir
        Sofir

        como le puedo hacer para limitar las llamadas de 4 en 4?

      2. Avatar de cavicata
        cavicata

        Esa es la solución corporativa, Juan Oliva la comercializa.

  124. Avatar de Sofir
    Sofir

    Juan necesito tu ayuda

    1. Avatar de Sam
      Sam

      Hola, alguien ha podido hacer las modificaciones para que se generen las llamadas con limitantes deacuerdo con los canales disponibles?

  125. Avatar de sam
    sam

    Hola @carlosvcabrera, y es posible que puedas compartir como lo lograste.

  126. Avatar de Luis
    Luis

    Excelente aplicación. Gracias a Juan. No sé si entre todos podemos compartir las mejoras al programa y tal vez lograr una buena add-on. Quedó atento.

    1. Avatar de sam
      sam

      Hola, el siguiente paso es implementar el control de llamadas simultaneas, al parecer ya algunos lo han hecho y seria bueno compartirlo.

      1. Avatar de Luis
        Luis

        Sam. También se ha logrado automatizar el cron. No sé si alguien más quisiera realizar sus aportes y definir un recurso para.compartirlo.

  127. Avatar de renatopintado

    Buenas tardes, quisiera urgente su ayuda, todo funciona bien, pero como máximo solo me genera dos llamadas, luego ya no funciona. ¿Cuál sería la solución para poder generar más llamadas?

    1. Avatar de jroliva

      Hola Renato
      En primara instancia el programa no tiene ningún tipo de restricción , es así Las llamadas están en función a la cantidad de canales que tiene la troncal saliente.

      Espero te sirva.
      Saludos.
      Juan Oliva

      1. Avatar de nicolas
        nicolas

        Juan como andas, tengo un problema al mandar campañas por ejemplo con 30 números, intenta mandar las 30 llamadas simultaneas y solo tengo 3 lineas, osea hace solo 3 llamadas de las 30
        como se hace para que valla llamando de tres en tres hasta completar las 30 ?
        Mil gracias

      2. Avatar de Sofir
        Sofir

        Nicolas, pudiste realizar llamadas de 3 en 3?, si es así, como le hiciste? yo necesito realizar llamadas de 5 en 5

      3. Avatar de renatopintado
        renatopintado

        Buenas tardes, si no fuera mucha molestia, alguien tiene el archivo modificado para poder obtener el estado de las llamadas realizadas? si fueron exitosas o no. muchas gracias de antemano. Espero su respuesta.

  128. Avatar de renatopintado
    renatopintado

    Buenas noches, cuando implementé la solucion en elastix 4 me funcionó sin problemas, pero luego quise hacer la implementación en la version 2.4 y al momento de crear la base de datos con el siguiente comando:
    mysql -u root -p AudioElastixDialerBD < /var/www/html/AudioElastixDialer/sql/AdioElastixDialerBD.sql

    no crea las tablas, cuál sería el motivo?

    Gracias.

    1. Avatar de Sam
      Sam

      Debes corregir esta linea AdioElastixDialerBD.sql esa AudioElastixDialerBD.sql

  129. Avatar de Luis
    Luis

    Hola @carlosvcabrera, y es posible que puedas compartir como lo lograste.

  130. Avatar de renatopintado

    Buenas tardes, si no fuera mucha molestia, alguien tiene el archivo modificado para poder obtener el estado de las llamadas realizadas? si fueron exitosas o no. muchas gracias de antemano. Espero su respuesta.

  131. Avatar de Luis Serrano

    Buen dia,
    Alguien a podido validar cuando la llamada es contestada, cuando esta ocupado, fallida, correo de voz etc.

  132. Avatar de inser
    inser

    Hola,soy de monterrey y estoy buscando implementar este sistem en mi empresa, ¿tu me pudieras asesorar o ayudar en hacerlo?

    1. Avatar de Sofir
      Sofir

      a quien le compraste el sistema?

    2. Avatar de Hologa
      Hologa

      hola que tal inser yo tambien soy monterrey y creo que te puedo ayudar con eso

  133. Avatar de Juan Pablo acosta
    Juan Pablo acosta

    Hola buenos dias, muchas gracias por su aporte, le comento que cuando ingreso por web a lAudioElastixDialer solo aparece el campo nombre de la campaña, no aparece nada mas. que puede ser
    Muchas gracias

    1. Avatar de Andres Gutierrez
      Andres Gutierrez

      Buen día y muchas gracias por el aporte, me esta pasando lo mismo no me aparece todo formulario, solo me aparecen las dos primeras celdas y en el los del http, no informa ningún error.

  134. Avatar de Sofir
    Sofir

    alguien que me pueda ayudar, cuando hago una transferencia de llamada me desconecta y no quiero que me desconecte, lo que quiero est que estemos los tres a la vez, que necesito configurar para que no me desconecte?

    Por sus atenciones les doy las gracias por anticipado
    Saludos

  135. Avatar de Pedro Avila
    Pedro Avila

    Estoy realizando un sistema de llamadas saliente en donde se le hace una llamada a un cliente, hasta ahora todo bien, me genera las llamadas y mando llamar un archivo AGI donde reproduzco los audios necesarios, el problema es cuando llego a un momento donde solicito al cliente que me proporcione un código pero no he encontrado la manera de capturar dicho numero digitado, lo estoy haciendo de la siguiente manera:

    [call-file-test]
    exten => s,1,Answer
    exten => s,2,wait(2)
    exten => s,3,AGI(nv-weather.php)
    exten => s,4,Hangup()

    archivo .call:
    Channel: SIP/Troncal/XXXXXXXX
    CallerID: XXXXXXXX
    MaxRetries: 0
    RetryTime: 60
    WaitTime: 30
    Context: call-file-test
    Extension: s

    y en el archivo PHP capturo los digitos de la siguiente manera
    (ejemplo corto)
    $r = $agi->get_data(‘beep’, 5000, 10);
    $iDigitoIntroducido = $r[‘result’];

    Cuando realizo la llamada directo a la extensión con un softphone si detecta los dígitos que introduzco pero al momento de generar la llamada con el archivo .call, no me captura nada. Creo que el problema es que al realizar la llamada con el archivo .call se genera como un «puente» por así decirlo que comunica el número generado por el troncal, con el archivo AGI y el numero del cliente, y no se está comunicando directamente con él.

    Solicito de su apoyo para ver si alguno de ustedes ha realizado un sistema como éste y conoce alguna solución,

    de antemano muchas gracias.

  136. Avatar de JOZO
    JOZO

    Hola jroliva, instale conforme las instrucciones, al momento de iniciar la campaña me dice CAMPAÑA CREADA , GENERANDO LLAMAS

    ELASTIX PROWERFULL !!

    pero no as realiza, estoy trabajando con Issabel,

    en el CLI me aparece as{i

    [2019-09-03 15:57:04] NOTICE[6158]: pbx_spool.c:427 attempt_thread: Call completed to SIP/522147483647@Axtel00
    [2019-09-03 15:57:04] NOTICE[6159]: pbx_spool.c:427 attempt_thread: Call completed to SIP/522147483647@Axtel00

    y entiendo que despues de SIP/52 (codigo del pais) deberia de ir el numero al que esta marcando pero esos no son numeros que yo carge en CSV

    1. Avatar de JOZO
      JOZO

      Ya quedo funcionando el sistema, lo resolví a haciendo el cambio en la base de datos de INT a VARCHAR como mencionaron arriba.

      Ahora tengo una duda, quiero mandar un IVR. en donde el usuario pueda seleccionar una opción y se le trasfiera a un ejecutivo, alguien lo habrá ya hecho? o me podrán orientar en como hacerlo

      1. Avatar de Vi
        Vi

        Cual fue el campo que cambiase de INT a VARCHAR? porque he intentado todo lo que han dicho en este foro y no me pasa
        — Attempting call on SIP/NOMBRETRONCAL/98888888 for s@call-file-test:1 (Retry 1)
        — Attempting call on SIP/NOMBRETRONCAL/98998888 for s@call-file-test:1 (Retry 1)
        == Using SIP RTP TOS bits 184
        == Using SIP RTP CoS mark 5
        == Using SIP RTP TOS bits 184
        == Using SIP RTP CoS mark 5

      2. Avatar de Fernando
        Fernando

        el campo de telefono lo cambias a varchar.

      3. Avatar de JOZO
        JOZO

        Esto es lo que hice, lo posteo Fernando Penagos arriba:

        La modificación es la tabla de la base de datos,

        POSIBLES ERRORES:
        Carpeta AudioElastixDialer tambien asignarle 777 permisos
        alter table calloutnumeros modify telefono varchar(50);
        Esto es para que tome los telefonos y no marque solo el 2147483647 por alguna razon no toma el int y se tiene q cambiar a varchar.
        Si se tiene la carpeta origina esta mal escrito el nombre no dice AudioElastixDialerBD sino AdioElastixDialerBD , so toca cambiarlo.

  137. Avatar de Sofir Villarreal
    Sofir Villarreal

    excelente, ese proceso lo tengo y me funciona muy bien, pero lo que ahora necesito son grabaciones personalizadas, es decir, tener una grabación que diga: «Usted tiene un pago pendiente de ______, favor de pagar lo mas pronto posible», que el monto a pagar sea diferente según la persona a la que se le esta cobrando, esto se puede manejar en Elastix?, mucho le agradecería me digeran como hacerlo. Por sus atenciones les doy las gracias por aticipado.

  138. Avatar de Vi
    Vi

    Buenas noches Juan Oliva, he estado analizando y leyendo cada uno de los comentarios en este foro para tratar de llegar a una solucion, el punto es que hice todo al pie de la letra, se crean los archivos .call, se generan las solicitudes de llamadas pero no pasa de aqui:

    — Attempting call on SIP/988888888@NOMBRETRONCAL for s@call-file-test:1 (Retry 1)
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5
    — Attempting call on SIP/98888999999@NOMBRETRONCAL for s@call-file-test:1 (Retry 1)
    == Using SIP RTP TOS bits 184
    == Using SIP RTP CoS mark 5

    En esta parte hace los 2 intentos que tiene configurado y no logra pasar.

    en /var/www/html/AudioElastixDialer/audioelastixdialer.php la parte de la troncal la tengo de esta forma, por favor dejame saber si aqui es que tengo el error, ya realice las pruebas de llamado de forma manual y las llamadas salen por el troncal pero con el sistema no.

    $troncal= $_POST[‘troncal’];

    if ($troncal==»2″)
    {
    $tronc1=»SIP/9″;
    $tronc2=»@NOMBRETRONCAL»;
    }
    else
    {
    $tronc1=»ZAP/g1″;
    $tronc2=»,20,Tt»;
    }

    Agradezco antemano tu colaboracion

    1. Avatar de Fernando
      Fernando

      $tronc1=»SIP/NombredelaTroncal/prefijosiesnecesario»;
      ejemplo:
      $tronc1=»SIP/netelipmex/521″;

  139. Avatar de moguryuu
    moguryuu

    amigos, estoy tratando de configurar la fecha y hora para el inicio de la campaña pero no lo logro, alguien me puede ayudar?

  140. Avatar de gabofuentesm

    Curioso mi asterisk intenta llamar a ‘2147483647’

    1. Avatar de ferchopenagos85
      ferchopenagos85

      Ese valor corresponde al máximo de un int , no es propiamente un numero telefónico.

      1. Avatar de ferchoorias

        Hola , debes entrar a tu Mysql y la casilla phone le pones Vachar y solucionado el problema

  141. Avatar de Byron Sanchez
    Byron Sanchez

    Buenas noches Juan mil disculpas molestarte con esta problema pero al ejecutar este solo me lanza el llamado al contesar se cierra la llamada y no me repoduce el audio

    1. Avatar de ferchoorias

      Es el audio conviértelo a wav en digium converter

  142. Avatar de Andres
    Andres

    Buen dia. Queria hacer una consulta. Necesito hacer que cuando haya una llamada saliente desde un interno hacia una linea que no sea interna me reproduzca un audio y luego continue la llamada. Se podra hacer con este codigo?
    Muchas Gracias

  143. Avatar de Andres
    Andres

    Sin que sea desde el modulo de call center

Replica a jroliva Cancelar la respuesta

Juan Oliva

Consultor en Ciberseguridad y VoIP con mas de 16 años de experiencia en el campo, muy involucrado en proyectos de Ethical Hacking, análisis y explotación de vulnerabilidades en infraestructura, aplicaciones web, APIs y Móviles, pruebas de ingeniería social y revisión de código.