AGI + ASTERISK + MYSQL

950 views
Skip to first unread message

Marcelo Diaz

unread,
Mar 8, 2013, 9:41:12 AM3/8/13
to aster...@googlegroups.com
Necesito ejecutar esta sentencia php para eliminar un registro donde aparece el  UNIQUEID lo intento hacer de esta manera pero el agi arroja errores al ejecutar el php

este es el scripts , no manejo mucho php 

por favor su ayuda.


<?php

$conexion = mysql_connect("localhost","root","passworddb") or die ("no hay conexion");

$conectaDB=  mysql_select_db("qtest",$conexion) or die ("no existe la base de datos");

$sql="delete from queue_test where uniqueid = '.$argv[1].'";

mysql_query($sql);

?>

DIAL PLAN

EXTEN => 2020,1,NoOp(BORRAR ${UNIQUEID})
same => n,AGI(NULLlog.php,${UNIQUEID})
same => n,Hangup


saludos.
--

firma final nueva

Marcelo Diaz O.
Desarrollos Servicios Profesionales
marcel...@telectronic.com
Miraflores 130 Piso 7, Santiago.

Fijo: +562 3403746 Móvil: +569 82330685

P Por favor, considera tú responsabilidad con el medio ambiente. Ahorra papel,imprime sólo si es necesario.

image001.png

patricio rodriguez

unread,
Mar 8, 2013, 9:47:04 AM3/8/13
to aster...@googlegroups.com

Que error tira la consola? Probaste ejecutarlo desde el shell ?

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/asterisk-es?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 
image001.png

patricio rodriguez

unread,
Mar 8, 2013, 9:53:09 AM3/8/13
to aster...@googlegroups.com
te paso un ejemplo de un agi funcionando, lo edite para tu panorama

#!/usr/bin/php -q
<?php
require ('/var/lib/asterisk/agi-bin/phpagi.php');

$db = 'dbname';
$dbuser = 'user';
$dbpass = 'pass';
$dbhost = 'localhost';

mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db("$db");

$agi = new AGI();

ob_implicit_flush(true);
set_time_limit(30);
$in = fopen("php://stdin","r");
$debug = true;

function __read__() {
global $in, $debug;
$input = str_replace("\n", "", fgets($in, 4096));
if ($debug) echo "VERBOSE \"read: $input\"\n";
return $input;
}

function __write__($line) {
global $debug;
if ($debug) echo "VERBOSE \"write: $line\"\n";
print $line."\n";
}
$sip = $argv[1];


$sql="DELETE FROM queue_test WHERE uniqueid = '".$argv[1]."'";
$resultado = mysql_query($sql);
exit;
?>

Chequea que tengas los permisos correctos de lectura sobre el archivo.

Pruebalo y nos cuentas.
Saludos,
image001.png

Marcelo Diaz

unread,
Mar 8, 2013, 9:53:34 AM3/8/13
to aster...@googlegroups.com
-rwxr-xr-x 1 root root    268 mar  8 11:35 NULLlog.php
drwxrwxr-x 4  538  542   4096 sep 30  2010 phpagi
-rw-r--r-- 1 root root 169996 sep 30  2010 phpagi-2.20.tgz

[root@ASTERISK-HA2 agi-bin]# php -q NULLlog.php
PHP Notice:  Undefined index:  1 in /var/lib/asterisk/agi-bin/NULLlog.php on line 7
[root@ASTERISK-HA2 agi-bin]#

eso arroja que en la linea 7.

donde esta esta sentencia

$sql="delete from queue_test where uniqueid = '.$argv[1].'";


estoy utilizando las librerias phpagi

El 8 de marzo de 2013 11:47, patricio rodriguez <patricior...@gmail.com> escribió:
image001.png
image001.png

Raúl García

unread,
Mar 8, 2013, 9:57:01 AM3/8/13
to aster...@googlegroups.com
Prueba esto


$unique=$argv[1];


$sql="delete from queue_test where uniqueid = '$unique'";
Caerse tiene una logica, levantarse una razón.
Raúl García.
Dios Te bendiga.
              _ __________________________
             /  ||___|___Love______________|
  ,___/""|""||___|_________Linux______|
 || __|""|""||___|____________________|
*(@)***(@)(@)*|)""""""""""'(@)''(@)])"

image001.png

patricio rodriguez

unread,
Mar 8, 2013, 9:57:13 AM3/8/13
to aster...@googlegroups.com
cambia tu consulta a la que te pase. y pruebas
image001.png

Marcelo Diaz

unread,
Mar 8, 2013, 10:20:44 AM3/8/13
to aster...@googlegroups.com
Patricio utilice tu script aunque no arroja el error en la consola no ejecuta la sentencia

Tambien utilice la opcion de Raul pero arroja el siguiente error   

PHP Notice:  Undefined offset:  1 in /var/lib/asterisk/agi-bin/NLOG.php on line 8

la linea 8 es 

$unique=$argv[1];
image001.png
image001.png

Marcelo Diaz

unread,
Mar 8, 2013, 10:21:33 AM3/8/13
to aster...@googlegroups.com
CREO QUE ES ALGO DE LA VARIABLE $argv[1]
image001.png

Raúl García

unread,
Mar 8, 2013, 10:22:56 AM3/8/13
to aster...@googlegroups.com
eso no importa,
tal vez lo esta corriendo php -q script.php
ese  error te lo dice porque no esta encontrando el $argv[1]
image001.png

Marcelo Diaz

unread,
Mar 8, 2013, 10:28:26 AM3/8/13
to aster...@googlegroups.com
#!/usr/bin/php -q
<?php
require ('/var/lib/asterisk/agi-bin/phpagi/phpagi.php');

$conexion = mysql_connect("localhost","root","password") or die ("no hay conexion");

$conectaDB=  mysql_select_db("qtest",$conexion) or die ("no existe la base de datos");

$unique='$argv[1]';


$sql="delete from queue_test where uniqueid = '$unique'";

mysql_query($sql);

?>

$unique='$argv[1]';  LE AGREGE ' ' COMILLAS SIMPLES Y AHORA FUNCIONA.


MUCHAS GRACIAS POR LA AYUDA.


SALUDOS.
image001.png
image001.png

Gaston Draque

unread,
Mar 8, 2013, 10:34:20 AM3/8/13
to aster...@googlegroups.com
PHP Notice:  Undefined offset:  1 in /var/lib/asterisk/agi-bin/NLOG.php on line 8

8: $unique=$argv[1];


Es claro lo que te esta diciendo.... espera un valor pasado como parametro al script, que no esta siendo pasado

si ejecutas:
 php -q NULLlog.php 

simplemente no le has pasado ningun parametro.

deberia ser algo como
 php -q NULLlog.php parametroaqui


....eeee... esto no sera porque es viernes no?.. bueno, ya lo escribi, asique ahi va.

Saludos y buen fin de semana.

2013/3/8 Raúl García <edd...@gmail.com>



--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM GCC GIT d? s:+ a? C+++ UB++ UL+++ P++ L++ E-- W++ N++ o-- K+ w(++)
O M(+) V- PS+ PE Y+ PGP t-- 5-- X R- tv+ b+(++) DI+(++) D++
G e++ h---- r+++ y++++
-----END GEEK CODE BLOCK------
image001.png

patricio rodriguez

unread,
Mar 8, 2013, 10:34:42 AM3/8/13
to aster...@googlegroups.com

Ummmmm. Raro. Ese script esta andando, algo que me sucedio que nunca soluciones es en uno de los server (de 3 iguales) no ejecuta el php. Y hasta el dia de hoy no hay caso. Creo que caiste en un agujero profundo...

image001.png

patricio rodriguez

unread,
Mar 8, 2013, 10:36:14 AM3/8/13
to aster...@googlegroups.com

Aclaro que en mis pruebas en shell declare la var en el archivo

image001.png

Raúl García

unread,
Mar 8, 2013, 10:37:16 AM3/8/13
to aster...@googlegroups.com
jajajajajjajaaj.


No importa, hoy es Viernes se vale todo.
image001.png
Reply all
Reply to author
Forward
0 new messages