Уведомление работников Callcenter Callcenter о входящих звонках клиентов и отображение информации о звонящем абоненте. Уведомление, по умолчанию, отображается администратору с прописаным SIP прописанным SIP номером. Система сравнивает контекс контекст (extensions.conf [контекст]) звонка с SIP номером администратора.
Atrey
ATrey - утилита для операторов call-центра. Данное приложение выводит информацию о звонящем абоненте (ФИО, адрес, тарифный план и т.д.), если он зарегистрирован в базе ABillSа. Так же можно сразу открыть страницу абонента в браузере. Во время звонка также отображает кликабельное уведомление, которое открывает страницу пользователя в биллинге.
Table of Contents
Возможности
При подключении модуля Callcenter, утилита отправляет и ведет логи звонков.
- Вывод информации о звонящем абоненте.
- Быстрое открытие карточки звонящего абонента.
Настройка
Адрес Asterisk | Адрес для сервера Asterisk |
---|---|
Port | Порт для подключения к AMI |
Asterisk логин | Логинн Логин от AMI |
Asterisk пароль | Пароль от AMI |
Abills хост | Адрес сервера биллинга |
Abills порт | Порт сервера биллинга |
Admin API KEY | Ключ оператора или администратора в ABillS |
Use https | Использовать ли подключения по https |
Формат телефона | Регулярным выражением можно обрезать ненужные значения |
Скриншоты
Реализация в браузере
Работает на WebSocket backend
Возможности
- Отображает уведомления о звонящем абоненте в реальном времени (работает в бавзере Chromбраузере Chrome).
- Уведомлять нескольких администраторов если у них прописан одинаковый SIP номер.
- Уведомлять нескольких администраторов в с одинаковым префиксом номера ($conf{CALLCENTER_ASTERISK_ADMIN_EXPR}=1).
Конфигурация
На биллинге сервере биллинга должен быть установлен perl модуль Asterisk::AMI.
В конфиге укажите, что хотите подсоединяться к Астериску для подписки на события события /libexec/config.pl
Code Block | ||
---|---|---|
| ||
$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 |
Запустите сервер вебсокетов
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/websocket_backend.pl -d |
Настройка Asterisk
Если Asterisk находиться на удалённом сервере, нужно указать разрешённый IP permit=xx.xx.xx.xx/255.255.255.0
Code Block | ||||
---|---|---|---|---|
| ||||
[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.
При успешном подключении, в логе будет:
Code Block |
---|
Connecting to asterisk Connected to Asterisk::AMI |
При любом звонке (Newchannel), появится
Code Block |
---|
Got Newchannel event. $caller_number calling to $called_number |
В переменную звонящего заноситься $caller_number параметр звонка CallerIDNum
В переменную вызываемого $called_number вноситься параметр звонка Exten
Дальше в базе ищет админа с номером $called_number, если нашло и он сейчас онлайн в билинге, Если не онлайн, в логе
Code Block |
---|
Can't notify $aid, no connection |
будет произведен поиск по абонентам в модуле VOIP по полю number == $caller_number. Если не нашло, в логе:
Code Block |
---|
That's not an ABillS registered number |
Дальше собирается информация об абоненте, и отсылается в браузер как уведомление.