Asterisk AGI с PHP неправильно читает STDIN

У меня есть очень простой скрипт, который делает READ, воспроизводит звуковой файл главного меню и просит вызывающего абонента нажать цифру на телефоне. После этого я читаю переменную. К сожалению, это не работает. Я вижу правильный ответ в CLI, но PHP его не получает. Понятия не имею почему.

fwrite(STDOUT, "ANSWER\n");
fflush(STDOUT);

fwrite(STDOUT, "EXEC Read INPUT,main-menu,1\n");
fflush(STDOUT);

fwrite(STDOUT, "GET VARIABLE INPUT\n");
fflush(STDOUT);

$result = fgets(STDIN);
fwrite(STDOUT, "EXEC NoOp $result\n");
fflush(STDOUT);

Вывод из CLI выглядит следующим образом:

<SIP/sip-00000027>AGI Rx << ANSWER
<SIP/sip-00000027>AGI Tx >> 200 result=0
<SIP/sip-00000027>AGI Rx << EXEC Read INPUT,main-menu,1
-- Accepting a maximum of 1 digits.
-- <SIP/sip-00000027> Playing 'main-menu.alaw' (language 'de')
-- User entered '2'
<SIP/sip-00000027>AGI Tx >> 200 result=0
<SIP/sip-00000027>AGI Rx << GET VARIABLE INPUT
<SIP/sip-00000027>AGI Tx >> 200 result=1 (2)
<SIP/sip-00000027>AGI Rx << EXEC NoOp 200 result=0

Звездочка: 13.18.3
PHP: 7.2.5

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector