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

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

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


doc:1cajam:astcastomize_v6

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
doc:1cajam:astcastomize_v6 [2014/08/14 09:35]
apor [Asterisk Channel Event Logging (CEL)]
doc:1cajam:astcastomize_v6 [2019/05/23 14:24] (текущий)
imal [Настройка Asterisk Manager API]
Строка 1: Строка 1:
-===== Пользователь Asterisk ​manager API ===== +====== Настройка web сервера Asterisk ====== 
-[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]] +===== Настройка ​Asterisk Manager API =====
- +
-==== Настройка ​manager.conf===== +
 Во первых необходимо создать пользователя для управления asterisk. Во первых необходимо создать пользователя для управления asterisk.
-Для этого достаточно внести соответствующую запись в **/​etc/​asterisk/​manager.conf**.+Для этого достаточно внести соответствующую запись в **/​etc/​asterisk/​manager.conf**,  в примере ниже добавлен пользователь //1cami// с паролем //​PASSWORD1cami//​. 
 +Важно также в секцию general добавить опции указанные в примере.
  
-В примере ниже добавлен пользователь **1cami** с паролем **PASSWORD1cami**+<file - manager.conf> 
-Важно также в секцию **general** добавить опции указанные в примере. +[general]
- +
-<​code>​[general]+
 enabled = yes enabled = yes
 port = 5038 port = 5038
Строка 18: Строка 14:
 httptimeout = 60 httptimeout = 60
  
-[1cami]+[1cami] ​
 secret = PASSWORD1cami secret = PASSWORD1cami
 deny=0.0.0.0/​0.0.0.0 deny=0.0.0.0/​0.0.0.0
 permit=0.0.0.0/​0.0.0.0 permit=0.0.0.0/​0.0.0.0
-read = call,user,cdr +read = call,cdr,user,config 
-write = call,​reporting,​originate +write = call,originate,reporting
-</​code>​ +
-==== Контроль ==== +
-Следует проверить настройки manager API +
  
-<​code>​CLI>​ manager show settings +;;; Дополнительные опции для ASTERISK 11+ ;;; Начало ;;;; 
-Global Settings+eventfilter=!EventNewexten 
----------------- +eventfilter=!Event:​ DeviceStateChange 
-  ​Manager (AMI)            Yes            ​ +eventfilter=!EventNewConnectedLine 
-  Web Manager (AMI/HTTP)   ​Yes ​           ​ +eventfilter=!EventNewchannel 
-  TCP Bindaddress          0.0.0.0:5038    +eventfilter=!EventSoftHangupRequest 
-  HTTP Timeout (minutes)   ​60 ​             +eventfilter=!EventHangupRequest 
-</​code>​ +eventfilter=!EventBridgeDestroy 
-(тут ​отображена только часть вывода команды...)+eventfilter=!Event:​ BridgeCreate 
 +eventfilter=!Event:​ BridgeMerge 
 +eventfilter=!Event:​ MusicOnHoldStop 
 +eventfilter=!Event:​ MusicOnHoldStart 
 +eventfilter=!Event:​ NewCallerid 
 +eventfilter=!Event:​ LocalBridge 
 +eventfilter=!Event:​ Unhold 
 +eventfilter=!Event:​ Hold 
 +eventfilter=!Event:​ AttendedTransfer 
 +;;; Дополнительные опции ​для ASTERISK 11+ ;;; Конец ;;;;
  
-Контроль настройки менеджера **1cami** +</file>
-<​code>​CLI>​ manager show user 1cami  +
-       ​username:​ 1cami +
-         ​secret:​ <​Set>​ +
-            ACL: yes +
-      read perm: call,​user,​cdr +
-     write perm: call,​reporting,​originate +
-displayconnects:​ no +
-      Variables:</​code>​  +
-       +
-<note important>​Обратите внимание на набор прав! Больше не значит лучше!</note>+
  
 +<note important>​Обратите внимание на строки фильтра:​ <​code>​eventfilter=!Event:​ Newexten</​code>​Они актуальны для Asterisk 13. \\ **Эта настройка крайне необходима!!!**</​note>​
  
-===== Настройка AJAM в режиме ​HTTP ===== +===== Настройка AJAM HTTP ===== 
- +Если мы хотим опубликовать ajam интерфейс на порту 8088 в режиме http, файл **/​etc/​asterisk/​http.conf** должен выглядеть примерно так:
-Если мы хотим опубликовать ajam интерфейс на порту ​**8088** в режиме http, файл **http.conf** должен выглядеть примерно так:+
  
 <file - http.conf>​ <file - http.conf>​
Строка 63: Строка 55:
 prefix=asterisk prefix=asterisk
 </​file>​ </​file>​
 +===== Настройка AJAM HTTPS =====
  
- +<note important>​Настройка ​HTTPS не является обязательным условием. Этот раздел можно пропустить.</​note>​ 
- +Если мы хотим опубликовать ajam интерфейс на порту 4443 в режиме https, файл http.conf должен выглядеть примерно так:
-===== Настройка ​AJAM в режиме ​HTTPS ===== +
-Если мы хотим опубликовать ajam интерфейс на порту ​**4443** в режиме https, файл ​**http.conf** должен выглядеть примерно так:+
  
 Для астериск версии 1.6 Для астериск версии 1.6
Строка 81: Строка 72:
 sslenable=yes sslenable=yes
 sslbindaddr=0.0.0.0 sslbindaddr=0.0.0.0
-sslbindport=8089 +sslbindport=4443 
 sslcert = /​etc/​asterisk/​ssl/​ajam.pem sslcert = /​etc/​asterisk/​ssl/​ajam.pem
 </​file>​ </​file>​
Строка 96: Строка 87:
  
 tlsenable=yes tlsenable=yes
-tlsbindaddr=0.0.0.0:​8089+tlsbindaddr=0.0.0.0:​4443
 tlscertfile= /​etc/​asterisk/​ssl/​ajam.pem tlscertfile= /​etc/​asterisk/​ssl/​ajam.pem
 tlsprivatekey= /​etc/​asterisk/​ssl/​ajam.pem tlsprivatekey= /​etc/​asterisk/​ssl/​ajam.pem
Строка 110: Строка 101:
 mv /​tmp/​foo.pem /​etc/​asterisk/​ssl/​ajam.pem mv /​tmp/​foo.pem /​etc/​asterisk/​ssl/​ajam.pem
 </​code>​ </​code>​
- 
- 
  
 ===== Настройка папки uploads ===== ===== Настройка папки uploads =====
 Если есть необходимость передавать на астериск какие-то файлы, например мы хотим обеспечить печать и отправку факсимильных сообщений,​ нужно настроить папку для приема таких файлов. ​ Если есть необходимость передавать на астериск какие-то файлы, например мы хотим обеспечить печать и отправку факсимильных сообщений,​ нужно настроить папку для приема таких файлов. ​
-В Asterisk есть специальный модуль который отвечает за прием файлов через AJAM интерфейс - **res_http_post.so**. Этот модуль не всегда устанавливается вместе с Asterisk по умолчанию,​ т.к. требует установленных пакетов **GMIME** и **GMIME-DEVEL**. После установки модуля необходимо настроить секцию post_mappings в файле ​**http.conf** +В Asterisk есть специальный модуль который отвечает за прием файлов через AJAM интерфейс - //res_http_post.so//. Этот модуль не всегда устанавливается вмесе с Asterisk по умолчанию,​ т.к. требует установленных пакетов **GMIME** и **GMIME-DEVEL**. После установки модуля необходимо настроить секцию post_mappings в файле http.conf ​
  
 Механизм работы res_http_post описан подробно в [[http://​igorg.ru/​2012/​04/​07/​otpravka-fajla-na-asterisk/​|блоге Игоря Гончаровского]]. Механизм работы res_http_post описан подробно в [[http://​igorg.ru/​2012/​04/​07/​otpravka-fajla-na-asterisk/​|блоге Игоря Гончаровского]].
Строка 125: Строка 114:
 ; POST URL: /​asterisk/​uploads will put files in /​var/​lib/​asterisk/​uploads/​. ; POST URL: /​asterisk/​uploads will put files in /​var/​lib/​asterisk/​uploads/​.
 uploads = /​var/​lib/​asterisk/​uploads</​code>​ uploads = /​var/​lib/​asterisk/​uploads</​code>​
- 
-при использовании этого способа загрузки файла на АТС, пользователю manager API следует добавить право config на запись. 
-Пример для пользователя 1cami: 
-<​code>​[1cami] 
-;**** 
-read = call,​cdr,​user,​config 
-;​****</​code>​ 
- 
-**PT1C_UPLOAD_DIR=/​var/​lib/​asterisk/​uploads** - этот важный параметр будет в дальнейшем использоваться в dialplan. У пользователя Asterisk должны быть права на чтение и запись в эту директорию! 
- 
-===== Настройка iptables ===== 
- 
-Не забудьте открыть на фаерволе порт 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>​ 
  
 ===== Проверка работы и дополнительные настройки ===== ===== Проверка работы и дополнительные настройки =====
Строка 157: Строка 127:
 Server Enabled and Bound to 0.0.0.0:​8088 Server Enabled and Bound to 0.0.0.0:​8088
  
-HTTPS Server Enabled and Bound to 0.0.0.0:4433+HTTPS Server Enabled and Bound to 0.0.0.0:4443
  
 Enabled URI's: Enabled URI's:
Строка 174: Строка 144:
   None.   None.
 </​code>​ </​code>​
 +
 +Проверка настроек AMI:
 +<​code>​
 +manager show settings ​
 +</​code>​
 +Вывод команды
 +<​code>​
 +Global Settings:
 +----------------
 +  Manager (AMI): ​            ​Yes ​           ​
 +  Web Manager (AMI/​HTTP): ​   Yes            ​
 +  TCP Bindaddress: ​          ​0.0.0.0:​5038 ​  
 +  HTTP Timeout (minutes): ​   60             
 +  TLS Enable: ​               No             
 +  TLS Bindaddress: ​          ​Disabled ​      
 +  TLS Certfile: ​             asterisk.pem ​  
 +  TLS Privatekey: ​                          
 +  TLS Cipher: ​                              
 +  Allow multiple login: ​     Yes            ​
 +  Display connects: ​         Yes            ​
 +  Timestamp events: ​         No             
 +  Channel vars:                             
 +  Debug: ​                    ​No ​            
 +  Block sockets: ​            No </​code>​
 +  ​
 +Проверка настроек менеджера Asterisk:
 +<​code>​sip*CLI>​ manager show user 1cami 
 +
 +       ​username:​ 1cami
 +         ​secret:​ <Set>
 +            acl: yes
 +      read perm: call,​user,​cdr,​all
 +     write perm: call,​reporting,​originate,​all
 +displayconnects:​ yes</​code>​
  
 **Окончательная проверка**:​ **Окончательная проверка**:​
Строка 184: Строка 188:
 Значит со стороны Asterisk все настроено правильно. Значит со стороны Asterisk все настроено правильно.
  
-===== Оповещения ​для 1С (UserEvent) ===== +Не забудьте открыть на фаерволе порт 4443 или ​8088 чтобы ​интерфейс ajam был доступен из вне.
-Часть оповещений для 1С отправляются средствами ​приложения UserEvent, необходимо, ​чтобы ​этот модуль ​был ​подгружен:+
  
-<​code>​CLI>​ module show like app_userevent.so +Например для ​iptables ​под управлением ​CENTOS это делается добавлением строчки в файл ​/​etc/​sysconfig/​iptables ​ 
-Module ​                        ​Description ​                             Use Count  +<code
-app_userevent.so ​              ​Custom User Event Application ​           0          +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp   ​--dport 8088 -j ACCEPT 
-1 modules loaded</​code>​ +-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp   ​--dport 4443 -j ACCEPT 
- +</code>
- +
-===== Настройка логирования звонков ===== +
- +
-В качестве Backend ​рекомендуем использовать **MySQL через ODBC.**\\ +
-Отличная инструкция по настройке -  +
-[[http://​www.asteriskdocs.org/​en/​3rd_Edition/​asterisk-book-html-chunk/​installing_configuring_odbc.html|Installing and Configuring ODBC]]\\ +
-[[doc:​1cajam:​astcastomize_v6:​odbc|Пример настроек **MySQL через ODBC**]]\\ +
-==== Call Detail Record (CDR) ==== +
-Логирование ​должно быть разрешено. +
-Файл **cdr.conf** +
-<file - cdr.conf>​  +
-[general] +
- +
-; Значение по уполчанию "​yes"​ +
-;​enable=yes +
-</​file>​ +
- +
-Для сокращения количества обращений к серверу Asterisk, ​мы также рекомендуем добавить оповещение о добавлении CDR записи через AJAM интерфейс.  +
-Для этого необходимо включить опцию ​в файле настроек. +
-<file - cdr_manager.conf>  +
-; +
-; Asterisk Call Management CDR +
-+
-[general] +
-enabled = yes +
-</​file>​ +
-Таким образом после запроса записей за период,​ все новые записи о звонках будут добавляться динамически в историю при поступлении соответствующего эвента. +
-==== Asterisk Channel Event Logging (CEL) ==== +
- +
-Логирование должно быть разрешено. +
-<​file ​cel.conf>​  +
-[general] +
- +
-enable=yes +
-apps=ALL +
-events=ALL +
-</file>+
 ===== Полезные ссылки ===== ===== Полезные ссылки =====
   * [[http://​habrahabr.ru/​company/​myasterisk/​blog/​130325/​|Про безопасность]]   * [[http://​habrahabr.ru/​company/​myasterisk/​blog/​130325/​|Про безопасность]]
Строка 235: Строка 201:
  
  
-[[astpanel:​ats:​asterisk_v6|Обратно к основной инструкции...]] 
 ===== Комментарии ===== ===== Комментарии =====
 ~~DISQUS~~ ~~DISQUS~~
doc/1cajam/astcastomize_v6.1408008919.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)