Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


doc:1cajam:astcastomize

Это старая версия документа!


Настройка сервера Asterisk для работы с компонентой

Создание пользователя управляющего Asterisk по manager api

Во первых необходимо создать пользователя для управления asterisk. Для этого достаточно внести соответствующую запись в /etc/asterisk/manager.conf, в примере ниже добавлен пользователь 1cami с паролем PASSWORD. Важно также в секцию general добавить опции указанные в примере.

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

Для публикации ajam интерфейса, через который и работает компонент, необходимо после настройки manager.conf, настроить файл /etc/asterisk/http.conf Существует 2 варианта публикации.

  • С использованием протокола HTTP
  • С использованием протокола HTTPS

Настройка AJAM в режиме HTTP

Если мы хотим опубликовать ajam интерфейс на порту 8088 в режиме http, файл http.conf должен выглядеть примерно так:

http.conf
[general]
enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
bindport=8088
prefix=asterisk

Настройка AJAM в режиме HTTPS

Если мы хотим опубликовать ajam интерфейс на порту 4443 в режиме https, файл http.conf должен выглядеть примерно так:

Для астериск версии 1.6

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

Для астериск версии 1.8 и выше

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

Также для https режима необходимо сгенерировать сертификат, которым будут шифроваться передаваемые данные. Самый простой способ, это генерация самоподписанного сертификата на сервере Asterisk командой:

 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

Проверка работы и дополнительные настройки

В консоли сервера гед установлен Asterisk выполняем следующую команду:

sudo asterisk -rx "http show status"

Если все настроено правильно, то ответ будет примерно такой:

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
Окончательная проверка: Идем по адресу http://ipadress_asteriska:8088/asterisk/rawman?action=login&username=1cami&secret=PASSWORD1cami

Если в качестве результата получим строку:

Response: Success
Message: Authentication accepted

Значит со стороны Asterisk все настроено правильно.

Не забудьте открыть на фаерволе порт 4443 или 8088 чтобы интерфейс ajam был доступен из вне.

Например для iptables под управлением CENTOS это делается добавлением строчки в файл /etc/sysconfig/iptables

-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

Полезные ссылки

Комментарии

doc/1cajam/astcastomize.1328452378.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)