Доброго времени суток, для работы с Asterisk использую библиотеку PHPAGI, но никак не могу понять как получить ответ который поступает через пару секунда, а не сразу.
Имею вот такой код, который отправляет ussd запрос.
include('phpagi.php');
$manager = new AGI_AsteriskManager();
$manager->connect();
$manager->Command('dongle ussd dongle0 *111#');
$manager->disconnect();
Пробовал записывать ответ в переменную, но там сохраняется только то что сразу приходит в ответ.
include('phpagi.php');
$manager = new AGI_AsteriskManager();
$manager->connect();
$result = $manager->Command('dongle ussd dongle0 *111#');
$manager->disconnect();
print_r($result);
В таком случаи получаю ответ.
Array
(
[data] => Privilege: Command
[dongle0] USSD queued for send with id 0x7f5754001a80
[Response] => Follows
)
Ну и через 2-3 секунды в консоле появляется нужный мне ответ, вот только как его получить, не могу понять.
Раньше использовал библиотеку phpSerial, но т.к. она работает напрямую с портами, не совсем подходит, хотя по функциям самое то что нужно. Собственно по функциям, там есть функция readPort() которая сохраняет все входящие и выходящие данные, что-то подобное я ищу в PHPAGI.
Буду благодарен тому кто подскажет или тыкнет носом, возможно что-то упустил, потому и не могу найти решение, заранее благодарен.