Skip to end of metadata
Go to start of metadata

ATrey - утилита для операторов call-центра. Данное приложение выводит информацию о звонящем абоненте (ФИО, адрес, тарифный план и т.д.), если он зарегистрирован в базе ABillSа. Так же можно сразу открыть страницу абонента в браузере.


Возможности

  • При подключении модуля Callcenter, утилита отправляет и ведет логи звонков.

Настройка

Адрес AsteriskАдрес для сервера Asterisk
PortПорт для подключения к AMI
Asterisk логинЛогинн от AMI
Asterisk парольПароль от AMI
Адрес биллингаАдрес сервера биллинга
Abills логинЛогин администратора в ABillS
Abills парольПароль администратора в ABillS
Номер оператораНомер оператора
Тип авторизации1 - WEB авторизация; 2 - http авторизация
Формат телефонаРегулярным выражением можно обрезать ненужные значения

Скриншоты

Реализация в браузере

Работает на WebSocket backend
Отображает уведомления о абоненте в реальном времени.

Конфигурация 

В конфиге укажите, что хотите подсоединяться к Астериску для подписки на события libexec/config.pl

$conf{EVENTS_ASTERISK} = 1;

Также должны быть указаны настройки подключения к Астериску. libexec/config.pl

$conf{ASTERISK_AMI_IP} = '127.0.0.1';
$conf{ASTERISK_AMI_PORT} = '5039';
$conf{ASTERISK_AMI_USERNAME} = 'abills_admin';
$conf{ASTERISK_AMI_SECRET} = 'Password';

Запустите сервер вебсокетов

/usr/abills/libexec/websocket_backend.pl -d

Настройка Asterisk

Если Asterisk находиться на удалённом сервере, нужно указать разрешённый IP permit=xx.xx.xx.xx/255.255.255.0 

asterisk/manager.conf
[general]
displaysystemname = yes
enabled = yes
webenabled = no
port = 5039
bindaddr = 127.0.0.1
displayconnects = yes
timestampevents = yes

[abills_admin]
secret=Password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.0/255.255.255.0
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config

Консольные аргументы

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).

Дальше собирается информация об абоненте, и отсылается в браузер как уведомление.

  • No labels