5. Variables por defecto
• agi_request - Nombre del AGI
• agi_channel - Canal originante
• agi_language - Lenguaje del canal
• agi_type - Tipo de canal (SIP, IAX, Dahdi)
• agi_uniqueid - Unique id Llamada
• agi_callerid - Caller ID
• agi_dnid - DID
• agi_context - Contexto de origen
6. Invocando un AGI con variables
personalizadas
exten => 123,1,Answer()
same => n,Set(VAR1=456)
same => n,AGI(hola.php,${VAR1})
same => n,Hangup()
7. Programando un AGI - Elementos Básicos
#!/usr/bin/php -q
<?php
set_time_limit(30);
require_once "phpagi.php";
?>
Tiempo máximo de ejeccion
Inicio de código PHP
Importación de Libreria
Fin de código PHP
8. Programando un AGI - Conexión a BD
#!/usr/bin/php -q
<?php
set_time_limit(30);
require_once "phpagi.php";
$agi = new AGI();
$agi->answer();
$conexion = mysql_connect("host","user","pass") or die(mysql_error());
mysql_select_db($db, $conexion);
?>
Responde el canal
Realizamos Conexión a BD
9. Programando un AGI - Obteniendo Variables
#!/usr/bin/php -q
<?php
set_time_limit(30);
require_once "phpagi.php";
$agi = new AGI();
$agi->answer();
$conexion = mysql_connect("host","user","pass") or die(mysql_error());
mysql_select_db(encuesta, $conexion);
#Obtenemos CallerID
$callernum=$agi->get_variable("CALLERID(number)");
$callernum=$callernum['data'];
$var1=$argv[1];
?>
Obtenemos variable de canal
Variable Personalizada
12. Programando un AGI - Consulta de Saldo
#!/usr/bin/php -q
<?php
set_time_limit(30);
require_once "phpagi.php";
$agi = new AGI();
$agi->answer();
$conexion = mysql_connect("host","user","pass") or die(mysql_error());
mysql_select_db(saldo, $conexion);
$arr_answer = $agi->get_data("custom/cliente",5000,10);
$answer = $arr_answer['result'];
$query_saldo = mysql_query("SELECT saldo FROM saldos WHERE id='$canswer' ");
$saldo = mysql_fetch_row($query_saldo);
$saldo = $saldo[0];
$agi->set_variable("SALDO", "$saldo");
?>
Solicitamos Numero Cliente
Consultamos Saldo
Asignamos Valor a Variable
13. Programando un AGI - Consulta de Saldo
exten => 123,1,AGI(saldo.php)
same => n,Playback(custom/susaldo)
same => n,SayNumber(${SALDO})
same => n,Playback(custom/pesos)
same => n,Hangup()
14. Programando un AGI - Consulta de Saldo
exten => 123,1,AGI(saldo.php)
same => n,Swift(Su saldo al día de hoy
es de ${SALDO} pesos, Gracias)
same => n,Hangup()
15. Gracias por su Atención!
Augusto Sepúlveda S.H.
Correo: augusto.sepulveda@nextortelecom.com
Skype: augustosep
Nextor Telecom
Leibnitz 47 - 105 G Salinas Varona 215
Col Anzurez, México DF Burocratas del Edo, Monterrey NL
+525514540020 +528114540020
http://www.vozero.mx
http://mangoanalytics.orghttp://www.nextortelecom.com