У меня есть веб-сервис, который принимает номер телефона и введенный пользователем номер. Я хочу выполнить этот веб-сервис через вызов ajax, в котором я могу передать детали, и результат вызова ajax будет воспроизведен пользователю.
Но я не знаю, как выполнить вызов ajax через звездочку. Может быть, нам нужно «AGI», я пытался с этим, но не получилось.
Extension.conf
exten => s,1,Answer()
exten => s,n,agi(googletts.agi,"Welcome to System. Please enter your number.",en)
exten => s,n,agi(a.php)
exten => s,n,WaitExten()
Я пытался сделать это с помощью php, но даже мой PHP-скрипт не выполняется.
a.php
#!/usr/bin/php -q
<?
ob_implicit_flush(false);
set_time_limit(6);
$stdin = fopen(‘php://stdin’, ‘r’);
$stdlog = fopen(‘my_agi.log’, ‘w’);
SayDigits(6)
$debug = true;
/* Read input from Asterisk and output via $astOutput */
function astRead()
{
global $stdin, $debug, $stdlog;
$astOutput = str_replace("n", "", fgets($stdin, 4096));
if ($debug) fputs($stdlog, "read: $inputn");
return $astOutput ;
}/* Write AGI command to Asterisk */
function astWrite($agiCommand)
{
global $debug, $stdlog;
if ($debug) fputs($stdlog, "write: $agiCommandn");
echo $agiCommand."n";
}
/* Handling execution input from Asterisk */
$agivar = array();
while (!feof($stdin))
{
$temp = fgets($stdin);
$temp = str_replace("n","",$temp);
$s = explode(":",$temp);
$agivar[$s[0]] = trim($s[1]);
if ($temp == "")
{
break;
}
}
/* Operational Code starts here */
/* Playback the demo-congrats.gsm file from the
* directory /var/lib/asterisk/sounds/
*/
astWrite("STREAM FILE demo-congrats #");
astRead();
/* Say the number 123456 */
astWrite("SAY NUMBER 123456 #");
astRead();
/* Finalization of AGI script and clean-ups */
fclose ($stdin);
fclose ($stdlog);
exit(0);
?>
Задача ещё не решена.
Других решений пока нет …