Здесь показаны различия между двумя версиями данной страницы.
doc:1cajam:astcastomize [2012/02/05 14:32] nb |
doc:1cajam:astcastomize [2014/11/14 22:32] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Настройка сервера Asterisk для работы с компонентой ====== | ||
- | ===== Создание пользователя управляющего Asterisk по manager api ===== | ||
- | Во первых необходимо создать пользователя для управления asterisk. | ||
- | Для этого достаточно внести соответствующую запись в /etc/asterisk/manager.conf, в примере ниже добавлен пользователь //1cami// с паролем //PASSWORD//. | ||
- | Важно также в секцию general добавить опции указанные в примере. | ||
- | |||
- | <file - manager.conf> | ||
- | [general] | ||
- | enabled = yes | ||
- | port = 5038 | ||
- | bindaddr = 0.0.0.0 | ||
- | allowmultiplelogin = yes | ||
- | webenabled = yes | ||
- | httptimeout = 60 | ||
- | |||
- | [1cami] | ||
- | secret = PASSWORD1cami | ||
- | deny=0.0.0.0/0.0.0.0 | ||
- | permit=0.0.0.0/0.0.0.0 | ||
- | read = call,user,cdr | ||
- | write = system,call,command,agent,user,dtmf,originate | ||
- | </file> | ||
- | |||
- | Для публикации ajam интерфейса, через который и работает компонент, необходимо после настройки manager.conf, настроить файл /etc/asterisk/http.conf | ||
- | Существует 2 варианта публикации. | ||
- | * С использованием протокола HTTP | ||
- | * С использованием протокола HTTPS | ||
- | |||
- | ===== Настройка AJAM в режиме HTTP ===== | ||
- | Если мы хотим опубликовать ajam интерфейс на порту 8088 в режиме http, файл http.conf должен выглядеть примерно так: | ||
- | |||
- | <file - http.conf> | ||
- | [general] | ||
- | enabled=yes | ||
- | enablestatic=yes | ||
- | bindaddr=0.0.0.0 | ||
- | bindport=8088 | ||
- | prefix=asterisk | ||
- | </file> | ||
- | |||
- | ===== Настройка AJAM в режиме HTTPS ===== | ||
- | Если мы хотим опубликовать ajam интерфейс на порту 4443 в режиме https, файл http.conf должен выглядеть примерно так: | ||
- | |||
- | Для астериск версии 1.6 | ||
- | |||
- | <file - http.conf> | ||
- | [general] | ||
- | enabled=yes | ||
- | bindaddr=0.0.0.0 | ||
- | bindport=8088 | ||
- | prefix=asterisk | ||
- | enablestatic=yes | ||
- | |||
- | sslenable=yes | ||
- | sslbindaddr=0.0.0.0 | ||
- | sslbindport=4443 | ||
- | sslcert = /etc/asterisk/ssl/ajam.pem | ||
- | </file> | ||
- | |||
- | Для астериск версии 1.8 и выше | ||
- | |||
- | <file - http.conf> | ||
- | [general] | ||
- | enabled=yes | ||
- | bindaddr=0.0.0.0 | ||
- | bindport=8088 | ||
- | prefix=asterisk | ||
- | enablestatic=yes | ||
- | |||
- | tlsenable=yes | ||
- | tlsbindaddr=0.0.0.0:4443 | ||
- | tlscertfile= /etc/asterisk/ssl/ajam.pem | ||
- | tlsprivatekey= /etc/asterisk/ssl/ajam.pem | ||
- | |||
- | </file> | ||
- | |||
- | Также для https режима необходимо сгенерировать сертификат, которым будут шифроваться передаваемые данные. | ||
- | Самый простой способ, это генерация самоподписанного сертификата на сервере Asterisk командой: | ||
- | |||
- | <code> cd /tmp | ||
- | openssl req -new -x509 -days 365 -nodes -out /tmp/foo.pem -keyout /tmp/foo.pem | ||
- | mkdir /etc/asterisk/ssl | ||
- | mv /tmp/foo.pem /etc/asterisk/ssl/ajam.pem | ||
- | </code> | ||
- | |||
- | ===== Проверка работы и дополнительные настройки ===== | ||
- | |||
- | В консоли сервера гед установлен Asterisk выполняем следующую команду: | ||
- | <code> | ||
- | sudo asterisk -rx "http show status" | ||
- | </code> | ||
- | Если все настроено правильно, то ответ будет примерно такой: | ||
- | |||
- | <code>HTTP Server Status: | ||
- | Prefix: /asterisk | ||
- | Server Enabled and Bound to 10.10.0.1:8088 | ||
- | |||
- | Enabled URI's: | ||
- | /asterisk/httpstatus => Asterisk HTTP General Status | ||
- | /asterisk/manager => HTML Manager Event Interface | ||
- | /asterisk/rawman => Raw HTTP Manager Event Interface | ||
- | /asterisk/static/... => Asterisk HTTP Static Delivery | ||
- | /asterisk/mxml => XML Manager Event Interface</code> | ||
- | |||
- | <note tip>**Окончательная проверка**: | ||
- | Идем по адресу http://ipadress_asteriska:8088/asterisk/rawman?action=login&username=1cami&secret=PASSWORD1cami | ||
- | |||
- | Если в качестве результата получим строку: | ||
- | <code>Response: Success | ||
- | Message: Authentication accepted | ||
- | </code> | ||
- | Значит со стороны Asterisk все настроено правильно. | ||
- | </note> | ||
- | Не забудьте открыть на фаерволе порт 4443 или 8088 чтобы интерфейс ajam был доступен из вне. | ||
- | |||
- | Например для iptables под управлением CENTOS это делается добавлением строчки в файл /etc/sysconfig/iptables | ||
- | <code> | ||
- | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT | ||
- | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4443 -j ACCEPT | ||
- | </code> | ||
- | |||
- | ===== Полезные ссылки ===== | ||
- | * [[http://habrahabr.ru/company/myasterisk/blog/130325/|Про безопасность]] | ||
- | * [[doc:1cajam|SDK: Компонента связи 1C и Asterisk]] | ||
- | |||
- | |||
- | ===== Комментарии ===== | ||
- | ~~DISQUS~~ | ||
- | |||