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
переменная не запросилась:
13:18:54: {"Response":"Success","Message":"Variable Set"} | api_59158c0e745e2;2
13:18:54: RING | operator ===>>> |api_59158c0e745e2;2
кто сталкивался? подскажите как решить проблему?
2 | No.2 Revision редактировать |
Всем привет, используем библиотеки 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
переменная не запросилась:
13:18:54: {"Response":"Success","Message":"Variable Set"} 14:05:53: {"Response":"Success","Variable":"operator","Value":false} | api_59158c0e745e2;2
13:18:54: api_59159710a5fd5;2
14:05:53: RING | operator ===>>> |api_59158c0e745e2;2
|api_59159710a5fd5;2
кто сталкивался? подскажите как решить проблему?
3 | No.3 Revision редактировать |
Всем привет, используем библиотеки 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
кто сталкивался? подскажите как решить проблему?
4 | No.4 Revision редактировать |
Всем привет, используем библиотеки 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 забирает ответы от других запросов, я х это баг или фича. Когда вынесли запрос переменной в отдельный процесс то все стало стабильно.
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.