Enviar alerta de Abandono via MAIL
asternic
ferarbach Hola,
Creaste el archivo /usr/local/parselog/myscript.php ?
Tiene permisos de ejecución? (#> chmod a+x /usr/local/parselog/myscript.php)
Modificaste el /etc/sysconfig/asterniclog para agregar el trigger script mediante parámetro -t ?
Reiniciaste el servicio asterniclog luego del cambio del sysconfig/asterniclog? (#> systemctl restart asterniclog )
Saludos,
ferarbach
asternic Hola Nico!
Si hice todo y no logro que salga el mail.
Mira:
OPTIONS="-u qstatsUser -p qstatsPassw0rd -d qstats -h localhost -l /var/log/asterisk/queue_log -c -t /usr/local/parselog/abandonadas.php --daemon"
Le di permisos al abandonadas.php
Se te ocurre que puede ser? hay forma de ver si se esta disparando el trigger?
asternic
Hola,
Está corriendo el servicio asterniclog?
systemctl status atserniclog
Puedes ejecutar tu script desde consola?
#> /usr/local/parselog/abandonadas.php aa bb cc dd ee
Sale algo en pantalla? Es posible que haya un error de syntaxis o de código de algún tipo, es dificil de saber solo leyendo tu problema en el foro, puesto que ya le has puesto nombre propio, no sabemos si has hecho algún otro cambio.. también tienes que ver que el script ignora los abandonos si los mismos esperaron en cola menos de 5 segundos, esto debes cambiarlo o ajustarlo según tu propio criterio, quizás en tus pruebas hay abandonos de menos de 5 segundos y son ignorados.
Lo que puedes hacer es agregar código en tu script para que escriba a disco alguna línea al ejectuarse, de ese modo sabrás si se ejecuta al recibir un ABANDON en el queue_log o no. Poner más o menos arriba de todo
$fp=fopen("/tmp/debug.log","a");
fputs($fp,"Funciona\b");
fclose($fp);
Y luego busca en /tmp si se crea el archivo debug.log y tiene contenido.
Saludos,
ferarbach
asternic
Gracias por responder.
Te cuento que asterniclog si esta corriendo, probe agregar lo que me dijiste al archivo abandonadas.php (que no lo modifique, solo le cambie le nombre y las direcciones de mail) y no se ejecuta con el trigger de las llamadas. Pero si lo corro en forma manual, si genera le debug ok con el texto de prueba... que podra ser que no dispara el trigger?
OPTIONS="-u qstatsUser -p qstatsPassw0rd -d qstats -h localhost -l /var/log/asterisk/queue_log -c -t /usr/local/parselog/abandonadas.php --daemon"
Gracias!
asternic
Como lo ejecutas de forma manual?
ls -la /usr/local/parselog/abandonadas.php
head -n 3 /usr/local/parselog/abandonadas.php
ps uax | grep asternic
Ejecuta esos comandos y copia el resultado, hay que ver si efectivamente tiene el hashbang en primera linea, si tiene permisos de ejecucion, y si la instanacia corriendo de astenriclog tiene pasado el parámetro -t
Saludos,
ferarbach
asternic
Lo estaba ejecutando con php
te paso las salidas...
[root@issabel ~]# ls -la /usr/local/parselog/abandonadas.php
-rwxr-xr-x 1 asterisk asterisk 3687 nov 3 15:13 /usr/local/parselog/abandonadas.php
[root@issabel ~]# head -n 3 /usr/local/parselog/abandonadas.php
#!/usr/bin/php
<?php
$fp=fopen("/tmp/debug.log","a");
[root@issabel ~]# ps uax | grep asternic
root 5230 0.0 0.2 269044 11632 ? Ss 15:42 0:01 /usr/bin/perl /usr/local/parselog/asterniclog -u qstatsUser -p qstatsPassw0rd -d qstats -h localhost -l /var/log/asterisk/queue_log -c -t /usr/local/parselog/abandonadas.php --daemon
root 15221 0.0 0.0 112740 964 pts/0 S+ 20:31 0:00 grep --color=auto asternic
[root@issabel ~]#
asternic
Estás usando una versión reciente de Asternic Call Center Stats PRO ?
Copia la linea exacta que pones para ejecutar, lo haces asi?
#> /usr/local/parselog/abandonadas.php
o asi?
#> php /usr/local/parselog/abandonadas.php
ferarbach
asternic
La version es la 2.2.4
Para ejecutarlo probe con:
php /usr/local/parselog/abandonadas.php
asternic
Que pasa si lo ejecutas asi:
/usr/local/parselog/abandonadas.php
?
FIjate que es con ese comando que se invoca desde asterniclog, y no con el php por delante...
ferarbach
Mira.. da error, no se si estoy haciendo algo mal...
[root@issabel ~]# /usr/local/parselog/abandonadas.php
-bash: /usr/local/parselog/abandonadas.php: /usr/bin/phpM: intérprete erróneo: No existe el fichero o el directorio
asternic
Ahí mismo estás viendo tu problema, y deberás corregirlo, el hashbang esta incorrecto (la primera linea que debe decir
#!/usr/bin/php
Por lo que puedo inferir, pero no determinar con certeza porque el formato se rompe al copiar en el foro..., esa "M" del final debe ser un carriage return en formato DOS, el archivo puede que lo hayas editado en un equipo Windows y copiado luego de editado al servidor, esto ROMPE los archivos en Linux/Unix, ya que en este sistema operativo no se interpreta el fin de línea como tal.
Lo ideal es que edites el archivo directo en el servidor, o bien si lo haces en windows, lo conviertas a modo unix con algún editor de textos que tenga dicha funcionalidad en windows mismo (como el notepad++)
También existe una herramienta llamada dos2unix que te permite convertir formato directo desde línea de comandos en tu issabel también, puedes probar usarlo
cd /usr/local/parselog
yum -y install dos2unix
dos2unix abandonadas.php
Luego de convertido, prueba ejecutar:
/usr/local/parselog/abandonadas.php
El problema se te resolverá cuando puedas ejecutar el script directo desde línea de comandos y no te de "error de intérprete".
ferarbach
asternic Nico, efectivamente ese era el problema!!!
Muchas gracias!