Estoy iniciando en phpagi y aun no logro ejecutar una programación sencilla tipo hello world (trabajo con Issabel). He visto varios ejemplos y he tratado de implementarlos pero al parecer no ejecuta aplicaciones simples de phpagi como verbose o text2wav.
Configuraciones Realizadas
//en extensions_custom.conf
[from-internal-custom]
.
.
include => MENU
include => consulta
[MENU]
exten => 123456,1,set(COUNT=0)
exten => 123456,2,Answer()
exten => 123456,n,set(COUNT=$[${COUNT}+1])
EXTEN => 123456,n,NoOP(${COUNT})
exten => 123456,n,Gotoif($[${COUNT}"<"4"])
exten => 123456,n,Background(es/machine)
exten => 123456,n,WaitExten(5)
exten => 1,1,Goto(consulta,s,1)
exten => 2,1,Goto(matricula,s,1)
exten => 3,1,Dial(SIP/asistente,15,Tt)
exten => *,1,Goto(123456,1)
exten => 122,1,Goto(borrar,s,1)
exten => 123,1,Answer()
exten => 123,2,Agi(update.php)
exten => 123,3,Hangup
[consulta]
exten => s,1,Answer()
exten => s,n,Background(en/machine) //Sonido de prueba!
exten => s,n,AGI(consulta.php)
exten => s,n,Background(es/machine) //Sonido de prueba para seguimiento!
exten => s,n,Hangup
//Escucho los dos sonidos de machine!
consulta.php
#!/usr/bin/php -q
<?php
set_time_limit(30);
require("phpagi.php");
error_reporting(E_ALL);
$agi = new AGI();
$agi->verbose("Mensaje de prueba verbose");
$agi->exec(festival,"Hola Mundo")
?>
El archivo, la carpeta, todo tiene permisos 755 y el propietario es asterisk.
//Resultado del debug php:
php /var/lib/asterisk/agi-bin/consulta.php
#!/usr/bin/php -q
VERBOSE "Mensaje de prueba verbose" 1
EXEC festival Hola Mundo
Resultado del debug phpagi:
[2018-03-28 21:32:19] WARNING[3960][C-00000002]: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '<token>', expecting $end; Input:
1"<"4"
^
[2018-03-28 21:32:19] WARNING[3960][C-00000002]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
<SIP/1001-00000002>AGI Tx >> agi_request: consulta.php
<SIP/1001-00000002>AGI Tx >> agi_channel: SIP/1001-00000002
<SIP/1001-00000002>AGI Tx >> agi_language: en
<SIP/1001-00000002>AGI Tx >> agi_type: SIP
<SIP/1001-00000002>AGI Tx >> agi_uniqueid: 1522290739.14
<SIP/1001-00000002>AGI Tx >> agi_version: 13.18.5
<SIP/1001-00000002>AGI Tx >> agi_callerid: 1001
<SIP/1001-00000002>AGI Tx >> agi_calleridname: Mauricio Muriel
<SIP/1001-00000002>AGI Tx >> agi_callingpres: 0
<SIP/1001-00000002>AGI Tx >> agi_callingani2: 0
<SIP/1001-00000002>AGI Tx >> agi_callington: 0
<SIP/1001-00000002>AGI Tx >> agi_callingtns: 0
<SIP/1001-00000002>AGI Tx >> agi_dnid: 123456
<SIP/1001-00000002>AGI Tx >> agi_rdnis: unknown
<SIP/1001-00000002>AGI Tx >> agi_context: consulta
<SIP/1001-00000002>AGI Tx >> agi_extension: s
<SIP/1001-00000002>AGI Tx >> agi_priority: 3
<SIP/1001-00000002>AGI Tx >> agi_enhanced: 0.0
<SIP/1001-00000002>AGI Tx >> agi_accountcode:
<SIP/1001-00000002>AGI Tx >> agi_threadid: 139984765163264
<SIP/1001-00000002>AGI Tx >>
<SIP/1001-00000002>AGI Rx << verbose "Failed to execute '/var/lib/asterisk/agi-bin/consulta.php': Exec format error" 1
<SIP/1001-00000002>AGI Tx >> 200 result=1
He leído en muchos foros normalmente el problema es de permisos a los archivos o de sintaxis en el archivo.php. He probado todas las alternativas de solución y aun no logro encontrar el error. Espero que puedan ayudarme.
Nota: Vale la pena aclara que escucho las dos grabaciones que tengo en mi contexto llamado [consulta].
Espero que puedan ayudarme, puede ser alguna configuración básica, hasta ahora estoy iniciando en la programación de estas librerías.