Использую то что лежит в /var/lib/asterisk/agi-bin, разве там не актуальная версия?
romariosar (May 13 '17)editВсем привет, используем библиотеки phpagi и phpagi-asmanager. В phpagi-asmanager есть функция GetVar, которая работает странно через раз отдает переменные, хотя переменная в диалплане есть. Ошибка в канале исключена.
php код:
$operator_ami = $manager->GetVar($chan_caller, 'operator');
$operator = $operator_ami[Value];
вывод: переменная запросилась:
13:20:37: {"Response":"Success","Variable":"operator","Value":"4012"} | api_59158c7559f7a;2
13:20:37: RING | operator ===>>> 4012 |api_59158c7559f7a;2
переменная не запросилась:
14:05:53: {"Response":"Success","Variable":"operator","Value":false} | api_59159710a5fd5;2
14:05:53: RING | operator ===>>> |api_59159710a5fd5;2
иногда даже так:
14:09:17: {"Response":"Error","Message":"Variable not set"} | api_591597dd232c3;2
14:09:17: RING | operator ===>>> |api_591597dd232c3;2
диалплан:
-- Executing [7XXXXXXXXXX@fenix-pred:5] NoOp("Local/7XXXXXXXXXX@fenix-pred-0002ba48;2", ""79XXXXXXXXX" <79XXXXXXXXX>") in new stack
-- Executing [7XXXXXXXXXX@fenix-pred:6] NoOp("Local/7XXXXXXXXXX@fenix-pred-0002ba48;2", "operator ======>>>>>>> 4012") in new stack
кто сталкивался? подскажите как решить проблему?
Все стало понятно, т.к. данный скрипт делает много операций в АМИ и постоянно висит активным, то функция wait_response забирает ответы от других запросов, я х это баг или фича. Когда вынесли запрос переменной в отдельный процесс то все стало стабильно.
Так бывает, когда версия phpagi не щнает ничего о текущей версии астериска. обновите.
Использую то что лежит в /var/lib/asterisk/agi-bin, разве там не актуальная версия?
romariosar (May 13 '17)editЗадан: May 12 '17
Просмотрен: 338 раз
Обновлен: May 14 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Ошибка в канале исключена. А сам канал то существует?
zzuz (May 12 '17)editда, канал существует.
romariosar (May 12 '17)editне верю
zzuz (May 12 '17)edit+1
Передайте ваш var в кач-ве аргумента при вызове AGI.
virus_net (May 13 '17)edit"Передайте ваш var в кач-ве аргумента при вызове AGI." вы вообще поняли о чем я спрашиваю? какой аргумент, я не из диалплана запускаю Agi скрипт, я скриптом подключаюсь к АМИ.
romariosar (May 13 '17)editВы вызываете запрос на несуществующий канал. Если это не так , то продемонстрируйте . А так, бесконечно можно философствовать . Добавьте в лог вывод всех каналов на момент запроса и будет понятней.
zzuz (May 13 '17)edit