Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:callcenter:atrey:ru [2016/07/15 16:30] anton [Реализация в браузере] |
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 авторизация | | ||
+ | | Формат телефона | Регулярным выражением можно обрезать ненужные значения| | ||
===== Скриншоты ===== | ===== Скриншоты ===== | ||
Строка 23: | Строка 26: | ||
===== Скачать ===== | ===== Скачать ===== | ||
- | [[http://abills.net.ua/misc/ATrey.exe|Скачать ATrey ver. 0.1]] | + | [[http://abills.net.ua/misc/ATrey.exe|Скачать ATrey ver. 0.2]] |
- | ==== Реализация в браузере ==== | + | ===== Реализация в браузере ===== |
- | Установить 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 8443 -j ACCEPT | + | |
- | + | ||
- | Включать при загрузке | + | |
- | **/etc/rc.local** | + | |
- | /usr/abills/libexec/websocket_backend.pl -d | + | |
** Конфигурация ** | ** Конфигурация ** | ||
Строка 55: | Строка 37: | ||
**libexec/config.pl** | **libexec/config.pl** | ||
$conf{EVENTS_ASTERISK} = 1; | $conf{EVENTS_ASTERISK} = 1; | ||
- | $conf{WEBSOCKET_URL} = 'wss://anykey.abills.net:19443/admin/wss/'; | ||
Также должны быть указаны настройки подключения к Астериску. | Также должны быть указаны настройки подключения к Астериску. | ||
Строка 66: | Строка 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'' )\\ | ||
+ | \\ | ||
+ | Дальше собирается информация об абоненте, и отсылается в браузер как уведомление.\\ | ||