Черные и белые списки. Как настроить?
Фильтрация по внутреннему номеру
Черный список внутренних номеров позволяет не регистрировать в CRM звонок, пришедший на указанный в списке внутренний номер.
Белый список внутренних номеров наоборот позволяет регистрировать в CRM только те звонки, в которых участвовал один из заданных внутренних номеров.
Настройка через интерфейс модуля
Админка находится по адресу http://<Asterisk IP>:8077/config/black_white_list ****(где <Asterisk IP> - IP-адрес вашего Asterisk). Раздел в админке Бизнес-логика > Черный/белый списки.

Нужно выбрать один из режимов.
Добавить внутренние номера.
Сохранить.
Логика работы списков при переводах
Если список настроен в Админке модуля - номер 100 не в черном списке, номер 101 в черном списке, звонок приходит на номер 100, сотрудник берет трубку, разговаривает, переводит на номер 101, разговаривает сотрудник с номером 101, звонок не будет зарегистрирован т.к. номер 101 находится в черном списке.
В случае если такая логика не устраивает - нужно делать кастомизацию в коде скрипта (файл /opt/itgrix_{crm}/customizer/actions/need_registration.php)
Кастомизация need_registration
/opt/itgrix_bx/customizer/actions/
/opt/itgrix_amo/customizer/actions/
/opt/itgrix_bx/custom/
/opt/itgrix_amo/custom/
Параметры
Вход:
{
<Набор данных о единичном разговоре в звонке>
}
Набор данных о разговоре (conversation) описан в статье Параметры звонка (call) и разговора (conversation) в кастомизациях.
Вернуть:
{
"data": {
"result": “<Булева переменная: true - регистрируем, false - игнорируем>”
},
"state": "success"
}
Примеры для внутренних номеров
Пример: Для запрета регистрации звонков на определенные внутренние номера, например 101 и 102, настроим ЧЕРНЫЙ список:
$black_list = array('101', '102');
$key = $params['type'] == 2 ? 'to' : 'from'; // 2 = incoming
if (in_array($params[$key], $black_list)) {
$result = false; //все кто есть в списке не регистрируются
}
return array(
'state' => 'success',
'data' => array(
'result' => $result
),
);
Пример: БЕЛЫЙ список по внутренним номерам 201 и 202:
$white_list = array('201', '202');
$key = $params['type'] == 2 ? 'to' : 'from'; // 2 = incoming
if (!in_array($params[$key], $white_list)) {
$result = false; //все звонки кроме белого списка не будут регистрироваться
}
return array(
'state' => 'success',
'data' => array(
'result' => $result
),
);
Черный/белый список для транков
Реализуется через кастомизацию need_registration (см. выше).
Работает только для входящих звонков, так как только для них известно значение транка.
$result = true;
if ($params['type'] === 2) { // входящий
$trunks = array('123456', '555666');
// Белый список
if (!in_array($params['trunk'], $trunks)) {
$result = false;
}
// Черный список
//if (in_array($params['trunk'], $trunks)) {
// $result = false;
//}
}
return array(
'state' => 'success',
'data' => array(
'result' => $result
),
);
Last updated
Was this helpful?