Страница 1 из 2

Доступ к CLI asterisk

Добавлено: 23 мар 2011, 16:24
bobson
Здравствуйте, подскажите пожалуйста возможно ли каким нибудь путем передать в CLI * команды используя agi или еще что-нибудь?

Эксперементировал с коммандой verbose, но она уже dead в статусе при show agi... и в разных источниках написано по разному, в одних, что вербос передает в консоль команды, а в других, что вербос записывает в логи переданные комманды.

Мб кто знает в какую сторону копать, где искать, что читать?

Re: Доступ к CLI asterisk

Добавлено: 23 мар 2011, 16:29
Glukinho

Код: Выделить всё

exec("asterisk -rx 'core show channels'");
Вместо core show channels может быть любая команда CLI.

Re: Доступ к CLI asterisk

Добавлено: 23 мар 2011, 16:40
bobson
Этот вариант работает во всех версиях * 1.4 1.6 1.8?

Re: Доступ к CLI asterisk

Добавлено: 23 мар 2011, 16:47
ded
Да, во всех версиях * 1.0 1.2 1.4 1.6 1.8

Re: Доступ к CLI asterisk

Добавлено: 23 мар 2011, 17:04
bobson
огромное спасибо, буду пробовать!

Re: Доступ к CLI asterisk

Добавлено: 28 мар 2011, 11:23
bobson
наконец-то вернулся к работе, попробовал, в результате получаю в консоле следующие строки, подскажите пожалуйста куда копать?

[Mar 28 13:21:06] WARNING[3207]: res_agi.c:1757 handle_exec: Could not find application (asterisk -rx 'core show channels')

Re: Доступ к CLI asterisk

Добавлено: 28 мар 2011, 11:30
ded
Выполните команду из шелла
# asterisk -rx 'core show channels'

Запуск asterisk -rx даёт единоразовое исполнение любой команды CLI астериска (взятой в апострофах как рагрумент).

Re: Доступ к CLI asterisk

Добавлено: 28 мар 2011, 11:33
bobson
это понятно, работает при условии, что я под суперпользователем, но есть ли способ из аги передать команду в консоль астериска?

Re: Доступ к CLI asterisk

Добавлено: 28 мар 2011, 12:36
SVoy
agi уже и есть консоль, Гуглите по "AGI commands". Все что не входит в эти рамки можно вызвать как внешнее(системное) приложение стандартными командами языка

Re: Доступ к CLI asterisk

Добавлено: 28 мар 2011, 15:24
bobson
Попробую описать для "наглядности", в астериск импользую компонент, который выполняет дополнительный функционал, для этого ему передают 3 параметра, он управляется из консоли астериска.

Через веб-интерфейс пользователи выбирают нужные действия и через аги предполагалось управлять этим компонентом, т.е. передавать параметры и выполнять в зависимости от параметров необходимые действия.

Предполагалось использовать команду verbose, но она не работает в поздних версиях. Для реализации exec нужен рут, но по какой то причине из java кода exec не выполняется. Команд аги для передачи в консоль астериска "сторонних" действий я так понял нет. Или я ошибаюсь? Гугл пока беспомощен(