Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Уведомление работников 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
languagebash
$conf{EVENTS_ASTERISK} = 1;

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

Code Blocklanguage

bash

$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
languagebash
/usr/abills/libexec/websocket_backend.pl -d


Настройка Asterisk

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

Code Block
languagebash
titleasterisk/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

При успешном подключении, в логе будет:

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


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