Существует множество средств, позволяющих убрать эти минусы, одно из них - astmanproxy.
Суть его заключается в том, что он подключается к AMI астериска под одной учетной записью, зарегистрированной в manager.conf. Конечных пользователей он авторизует уже своими силами.
Так же он шифрует трафик средствами ssl.
Установка
Скачиваем архив davetroy-astmanproxy.tar.gz с github.com .
Распаковываем
[spoiler]
tar zxvf davetroy-astmanproxy.tar.gz |
Заходим в распакованную папку
cd davetroy-astmanproxy |
Как всегда в файле README много всего полезного.
Ну и непосредственно установка.
Там
make make install |
Установка у меня прошла без ругательств со стороны astmanproxy. Смотрим в директорию астериска
Появилось два новых конфигурационных файла /etc/asterisk/astmanproxy.conf и /etc/asterisk/astmanproxy.users
astmanproxy.conf - это основной файл конфигурации astmanproxy
astmanproxy.users - файл конфигурации пользователей.
Регистрируем в файле конфигурации manager.conf нового менеджера для astmanproxy с нужными правами
у меня
[astmanproxy]
secret = astmanproxypass
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
Перезагружаем менеджеров астериска
asterisk -r debian*CLI>; manager reload |
Далее редактируем файл конфигурации /etc/asterisk/astmanproxy.conf
Указываем AMI астериска и логин/пароль к нему
host = 127.0.0.1,5038,astmanproxy,astmanproxypass,on,off
Вообще файл изобилует подробными комментариями, не поленимся их прочитать.
Можно для авторизации включить authrequired = yesно я в этой статье не использовал авторизацию клиентов.
Порт я поставил 5039
listenport = 5039
Устанавливаем пользователя, от которого будет запускаться astmanproxy.
proc_user = asterisk
proc_group = asterisk
Для того, чтобы можно было посылать команды посредством HTTP/HTTPS запроса, прописываем
inputformat = http |
В принципе все, астманчик уже должен запускаться и отвечать нам на вопросы
Запускаем
root@debian:~# astmanproxy |
Дебаг описан в файле REARME
Пробуем чего-нибудь спросить
https://xx.xx.xx.xx:5039/?Action=Ping
Получаем ответ
Response: Success
Ping: Pong
Timestamp: 1321457172.398434
Server: 127.0.0.1
Все отлично, все работает. Далее можно допилить авторизацию и поиграться с опциями конфига.