Использую то что лежит в /var/lib/asterisk/agi-bin, разве там не актуальная версия?
romariosar ( 2017-05-13 23:16:24 +0400 )редактироватьВсем привет, используем библиотеки 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 ( 2017-05-13 23:16:24 +0400 )редактироватьЗадан: 2017-05-12 14:44:44 +0400
Просмотрен: 335 раз
Обновлен: May 14 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Ошибка в канале исключена. А сам канал то существует?
zzuz ( 2017-05-12 16:21:05 +0400 )редактироватьда, канал существует.
romariosar ( 2017-05-12 17:01:07 +0400 )редактироватьне верю
zzuz ( 2017-05-12 17:46:29 +0400 )редактировать+1
Передайте ваш var в кач-ве аргумента при вызове AGI.
virus_net ( 2017-05-13 10:34:11 +0400 )редактировать"Передайте ваш var в кач-ве аргумента при вызове AGI." вы вообще поняли о чем я спрашиваю? какой аргумент, я не из диалплана запускаю Agi скрипт, я скриптом подключаюсь к АМИ.
romariosar ( 2017-05-13 23:15:08 +0400 )редактироватьВы вызываете запрос на несуществующий канал. Если это не так , то продемонстрируйте . А так, бесконечно можно философствовать . Добавьте в лог вывод всех каналов на момент запроса и будет понятней.
zzuz ( 2017-05-13 23:18:58 +0400 )редактировать