First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

phpAGI проблемы с GetVar [РЕШЕНО]

1

Всем привет, используем библиотеки 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 забирает ответы от других запросов, я х это баг или фича. Когда вынесли запрос переменной в отдельный процесс то все стало стабильно.

спросил May 12 '17

romariosar Gravatar romariosar flag of Russian Federation
588 93 11 44
http://www.webunix.ru/

обновил May 14 '17

Comments

Ошибка в канале исключена. А сам канал то существует?

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

1 Ответ

0

Так бывает, когда версия phpagi не щнает ничего о текущей версии астериска. обновите.

ссылка удалить спам редактировать

ответил May 12 '17

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Использую то что лежит в /var/lib/asterisk/agi-bin, разве там не актуальная версия?

romariosar (May 13 '17)edit

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: May 12 '17

Просмотрен: 338 раз

Обновлен: May 14 '17

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.