$agi->get_data causes php script to return immediately

Когда скрипт test.php запускается из абонентской группы звездочки, все работает нормально, пока не достигнет выполнения

$agi->get_data('xxx', 1000, 1); statement.

Звездочка cli показывает этот журнал:

Скрипт AGI test.php завершен, возвращая 0

и сценарий завершает свое выполнение без воспроизведения запрошенного звука или получения какой-либо цифры DTMF.

Я протестировал функцию stream_file с похожим звуковым файлом, и он работал нормально. так что файл существует и модуль воспроизведения звука в порядке

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

$agi = new AGI();
$ch = $agi->request["agi_channel"];
$callerid = $agi->request["agi_callerid"];

$agi->answer();


$agi->verbose($callerid);

$menu = $agi->get_data('welcome', 1000, 1);
$menu = $agi->get_data('MainMenu', 5000, 1);

2 ответа

Скорее всего, у вас есть ошибка.

К сожалению, не сказать, что это такое.

Люди просто забыли упомянуть (и в книге тоже), что звездочка НЕ ​​посылает ошибку agi в CLI.

Чтобы получить ошибку, вы должны проверить основную консоль (нужно знать, какая именно, в большинстве случаев tty9) или просто запустить звездочку с консолью в текущем сеансе.

asterisk -rx "core stop now"
asterisk -vvvgc
agi set debug on

После этого вы увидите ошибку скриптов.

Проблема была в phpagi.php, функцией get_data кто-то манипулировал! я загрузил библиотеку и заменил ее на старую, и все работало нормально

В методе get_data библиотеки phpagi.php возникла проблема: я скачал библиотеку, заменил текущие файлы новыми, и все работало нормально.

Другие вопросы по тегам