Buenas Tardes, estimados
Queria consultar lo siguiente para ver si me puede apoyar en esta duda
intento ejecutar un script agi que solo determina el CallerId y lo registra en una Base de datos, tan sencillo como eso, ya que es una primera prueba que estoy efectuando para realizar un AGI de registro medico m+as complejo
Inicialmente programaba los AGI según la documentación anexa
http://www.voip-info.org/wiki/view/Asterisk+AGI+php
en donde para realziar la ejecución de agi debía ejecutar una serie de instrucciones
execute_agi
pcntl_signal
ahora actualmente quiero migrar a la programación orientado a metodos como lo indico a continuación:
#!/usr/bin/php -q
<?php
set_time_limit(60);
require('/var/lib/asterisk/agi-bin/phpagi/phpagi.php');
include_once('mysqldb.class.php');
$conect = new Mysqldb();
$db = $conect->newConnection('172.20.0.157', 'root', 'Admin01', 'test');
$getQuery = $conect->executeQuery("SET NAMES 'utf8'");
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
$cid = $agi->parse_callerid();
$var_username = $cid["username"];
$insert = $conect->insertRecords('calleids',array('descripcion'=>$var_username));
$agi->hangup();
?>
pero viendo el debug, logra ejecutar el agi pero no registra nada
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [1288@from-internal:1] NoOp("SIP/153-00000095", "Running miscapp 5: ivrCITAS") in new stack
-- Executing [1288@from-internal:2] Macro("SIP/153-00000095", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/153-00000095", "AMPUSER=153") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/153-00000095", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/153-00000095", "1?Set(REALCALLERIDNUM=153)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/153-00000095", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/153-00000095", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/153-00000095", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/153-00000095", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/153-00000095", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/153-00000095", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/153-00000095", "CALLERID(number)=153") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/153-00000095", "CALLERID(name)=device") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/153-00000095", "Using CallerID "device" <153>") in new stack
-- Executing [1288@from-internal:3] Goto("SIP/153-00000095", "from-citas,ivrCitas,1") in new stack
-- Goto (from-citas,ivrCitas,1)
-- Executing [ivrCitas@from-citas:1] Answer("SIP/153-00000095", "") in new stack
> 0x2b8860292850 -- Probation passed - setting RTP source address to 172.20.1.100:40038
-- Executing [ivrCitas@from-citas:2] Wait("SIP/153-00000095", "3") in new stack
-- Executing [ivrCitas@from-citas:3] Set("SIP/153-00000095", "TIMEOUT(absolute)=0") in new stack
-- Channel hangup cancelled.
-- Executing [ivrCitas@from-citas:4] Set("SIP/153-00000095", "autofallthrough=no") in new stack
-- Executing [ivrCitas@from-citas:5] AGI("SIP/153-00000095", "IVR_CITAS.php") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/IVR_CITAS.php
-- <SIP/153-00000095>AGI Script IVR_CITAS.php completed, returning 0
-- Executing [ivrCitas@from-citas:6] Wait("SIP/153-00000095", "1") in new stack
== Spawn extension (from-citas, ivrCitas, 7) exited non-zero on 'SIP/153-00000095'
-- Remote UNIX connection
-- Remote UNIX connection disconnected
gcSVR03*CLI>
la plataforma donde estoy ejecutando esto es la siguiente
elastix 2.4.0 2
asterisk 11.5.0 0
CentOS Linux 5.9
PHP 5.1.6 (cli) (built: Jul 12 2013 16:52:22)
el contexto es el siguiente
[from-citas]
exten => ivrCitas,1,Answer()
exten => ivrCitas,n,wait(3)
exten => ivrCitas,n,Set(TIMEOUT(absolute)=0)
exten => ivrCitas,n,Set(autofallthrough=no)
exten => ivrCitas,n,Agi(IVR_CITAS.php)
exten => ivrCitas,n,wait(1)
exten => ivrCitas,n,Hungup
Gracias por la ayuda.
saludos Cordiales
Omar Galaviz