Уведомление работников Callcenter о входящих звонках клиентов и отображение информации о звонящем абоненте. Уведомление, по умолчанию, отображается администратору с прописанным SIP номером. Система сравнивает контекст (extensions.conf [контекст]) звонка с SIP номером администратора.
Atrey
ATrey - утилита для операторов call-центра. Данное приложение выводит информацию о звонящем абоненте (ФИО, адрес, тарифный план и т.д.), если он зарегистрирован в базе ABillSа. Так же можно сразу открыть страницу абонента в браузере. Во время звонка отображает кликабельное уведомление, которое открывает страницу пользователя в биллинге.
Возможности
При подключении модуля Callcenter, утилита отправляет и ведет логи звонков.
- Вывод информации о звонящем абоненте.
- Быстрое открытие карточки звонящего абонента.
Настройка
Адрес Asterisk | Адрес для сервера Asterisk |
---|---|
Port | Порт для подключения к AMI |
Asterisk логин | Логин от AMI |
Asterisk пароль | Пароль от AMI |
Abills хост | Адрес сервера биллинга |
Abills порт | Порт сервера биллинга |
Admin API KEY | Ключ оператора или администратора в ABillS |
Use https | Использовать ли подключения по https |
Формат телефона | Регулярным выражением можно обрезать ненужные значения |
Скриншоты
Реализация в браузере
Работает на WebSocket backend
Возможности
- Отображает уведомления о звонящем абоненте в реальном времени (работает в браузере Chrome).
- Уведомлять нескольких администраторов если у них прописан одинаковый SIP номер.
- Уведомлять нескольких администраторов с одинаковым префиксом номера ($conf{CALLCENTER_ASTERISK_ADMIN_EXPR}=1).
Конфигурация
На сервере биллинга должен быть установлен perl модуль Asterisk::AMI.
В конфиге укажите, что хотите подсоединяться к Астериску для подписки на события /libexec/config.pl
$conf{EVENTS_ASTERISK} = 1;
Также должны быть указаны настройки подключения к Астериску /libexec/config.pl
$conf{ASTERISK_AMI_IP} = '127.0.0.1'; | IP сервера Asterisk |
$conf{ASTERISK_AMI_PORT} = '5039'; | Порт сервера Asterisk |
$conf{ASTERISK_AMI_USERNAME} = 'abills_admin'; | Логин пользователя для AMI |
$conf{ASTERISK_AMI_SECRET} = 'Password'; | Пароль пользователя для AMI |
Запустите сервер вебсокетов
/usr/abills/libexec/websocket_backend.pl -d
Настройка Asterisk
Если Asterisk находиться на удалённом сервере, нужно указать разрешённый IP permit=xx.xx.xx.xx/255.255.255.0
[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
Дальше собирается информация об абоненте, и отсылается в браузер как уведомление.