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

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

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

спросил 2017-05-12 14:44:44 +0400

romariosar Gravatar romariosar flag of Russian Federation
588 92 10 39
http://www.webunix.ru/

обновил 2017-05-14 14:31:43 +0400

Comments

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

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 )редактировать

1 Ответ

0

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

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

ответил 2017-05-13 00:06:37 +0400

meral Gravatar meral flag of Ukraine
22007 24 20 172
http://pro-sip.net/

Comments

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

romariosar ( 2017-05-13 23:16:24 +0400 )редактировать

Ваш ответ

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 ленту новостей

Статистика

Задан: 2017-05-12 14:44:44 +0400

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

Обновлен: May 14

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