Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:callcenter:atrey:ru [2016/10/27 12:14]
andriy [Скачать]
abills:docs:callcenter:atrey:ru [2017/07/19 12:51] (текущий)
anton [Реализация в браузере]
Строка 3: Строка 3:
 **ATrey** - утилита для операторов call-центра. Данное приложение выводит информацию о звонящем абоненте(ФИО,​ адрес, тарифный план и тд), если он зарегистрирован в базе ABillSа. Так же можно сразу открыть страницу абонента в браузере. **ATrey** - утилита для операторов call-центра. Данное приложение выводит информацию о звонящем абоненте(ФИО,​ адрес, тарифный план и тд), если он зарегистрирован в базе ABillSа. Так же можно сразу открыть страницу абонента в браузере.
  
 +==== Возможности ====
 +    * При подключении модуля [[abills:​docs:​modules:​callcenter:​ru|Call-центр]],​ утилита отправляет и ведет логи звонков.
 ===== Настройка ===== ===== Настройка =====
 | Адрес Asterisk | адрес для сервера Asterisk; | | Адрес Asterisk | адрес для сервера Asterisk; |
Строка 13: Строка 15:
 | Номер оператора ​ | номер оператора | | Номер оператора ​ | номер оператора |
 | Тип авторизиации | 1 - WEB авторизация;​ 2 - http авторизация | | Тип авторизиации | 1 - WEB авторизация;​ 2 - http авторизация |
 +| Формат телефона ​ | Регулярным выражением можно обрезать ненужные значения|
  
 ===== Скриншоты ===== ===== Скриншоты =====
Строка 26: Строка 29:
  
 ===== Реализация в браузере ===== ===== Реализация в браузере =====
-Установить perl модули:​ 
-  * AnyEvent::​Socket 
-  * AnyEvent::​Handle 
-  * Protocol::​WebSocket 
  
-Установить и включить модули апача: +Работает на [[abills:docs:​manual:​websocket_backend|WebSocket backend]]\\ 
-  * mod_proxy +Отображает уведомления о абоненте в реальном ​времени.\\
-  * mod_proxy_wstunnel +
- +
-Прописать в конфигурацию apache2 ''​abills_httpd''​ в секцию VirtualHost ​биллинга +
-<​code>​ +
-# Proxying secure websockets to unsecure sockets +
-  ProxyPass "/​admin/​wss/"​ "​ws://​127.0.0.1:​19443/​wss/​admin/"​ retry=1 +
-</​code>​ +
- +
-Установить и включить сервер вебсокетов +
-  ln -s /​usr/​abills/​misc/​websocket_backend.pl /​usr/​abills/​libexec/​websocket_backend.pl +
-  chmod +x /​usr/​abills/​libexec/​websocket_backend.pl +
-  iptables -I INPUT 1 -p tcp --dport 19443 -j ACCEPT +
-   +
-Включать при загрузке +
-**/​etc/​rc.local** +
-  /​usr/​abills/​libexec/​websocket_backend.pl -d+
  
 ** Конфигурация ** ** Конфигурация **
Строка 54: Строка 37:
 **libexec/​config.pl** **libexec/​config.pl**
   $conf{EVENTS_ASTERISK} = 1;   $conf{EVENTS_ASTERISK} = 1;
-  $conf{WEBSOCKET_URL} = '​wss://​%host.example.com%/​admin/​wss/';​ 
  
 Также должны быть указаны настройки подключения к Астериску. Также должны быть указаны настройки подключения к Астериску.
Строка 65: Строка 47:
 Запустите сервер вебсокетов Запустите сервер вебсокетов
   # /​usr/​abills/​libexec/​websocket_backend.pl -d   # /​usr/​abills/​libexec/​websocket_backend.pl -d
 +  ​
 +==== Консольные аргументы ====
 +^LOG_FILE| Куда писать лог, по умолчанию **/​tmp/​abills_websocket.log** |
 +^DEBUG| Уровень режима отладки,​ по умолчанию ''​LOG_INFO''​ |
 +
 +==== Описание работы ====
 +
 +Демон подключается к AMI, и слушает Newchannel события. \\
 +На билинге,​ нужно включить модуль ''​Events'',​ и прописать ''​$conf{EVENTS_ASTERISK} = 1''​. \\
 +\\
 +При успешном подключении,​ в логе будет\\
 +''​Connecting to asterisk''​\\
 +''​Connected to Asterisk::​AMI''​\\
 +\\
 +При любом звонке (Newchannel),​ появится\\
 +''​Got Newchannel event. $caller_number calling to $called_number''​\\
 +\\
 +Дальше в базе ищет админа с номером $called_number,​ если нашло и он сейчас онлайн в билинге,​\\
 +(если не онлайн,​ в логе ''​Can'​t notify $aid, no connection''​)\\
 +будет произведен поиск по абонентам в модуле VOIP по полю number == $caller_number.\\
 +(если не нашло, в логе ''​That'​s not an ABillS registered number''​ )\\
 +\\
 +Дальше собирается информация об абоненте,​ и отсылается в браузер как уведомление.\\