====== Настройка "черного" списка в MikoPBX ======
[[faq:|Обратно к инструкциям]]
Периодически каждая компания сталкивается с проблемой поступления «спам» звонков. В связи с этим возникает потребность блокировки определенных номеров, чтобы звонки с этих номеров не поступали.
- Создайте новое "[[:dialplan-applications|Приложение диалплан]]"
- Укажите произвольное название, к примеру **Blacklist**
- Выберите "**Тип кода**" - "**PHP AGI Скрипт**"
- Укажите короткий номер для приложения, к примеру 99
- На вкладке "**Программный код**" вставьте: get_variable('ISTRANSFER', true));
$number = substr($agi->request['agi_callerid'],-10);
$agi->verbose('new call from '.$agi->request['agi_callerid'], 1);
$filename = '/storage/usbdisk1/mikopbx/custom_modules/balcklist.txt';
$result = Processes::mwExec("/usr/sbin/grep '$number' < $filename");
if($isTransfer && $result !==0 ){
$agi->verbose('Add number to black list', 1);
// Номер не найден в черном списке.
file_put_contents($filename, $number.PHP_EOL, FILE_APPEND);
$agi->answer();
$agi->hangup();
}elseif($result === 0){
// Номер найден.
$agi->verbose('The number was found in the blacklist. The call will be completed');
$agi->hangup();
}
- Сохраните изменения и скопируйте идентификатор приложения из адресной строки браузера
- Перейдите в раздел **Система** -> **Кастомизация системных файлов**, откройте для редактирования файл **extensions.conf** {{ :providers:2018-12-11_170112.png |}}
- Выберите режим **"Добавлять в конец файла"**, внизу в черное поле для редактирования вставьте следующие строки:
[internal-transfer](+)
exten => _99,1,Set(__ISTRANSFER=transfer_)
same => n,Goto(internal,${EXTEN},1)
[add-trim-prefix-clid-custom]
exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(start check blacklist)
same => n,AGI(DIALPLAN-APP-BE22D80F2A270C0020A1192B001A6653.php)
same => n,Return()
, где "**DIALPLAN-APP-BE22D80F2A270C0020A1192B001A665**" - это идентификатор приложения
- Сохраните изменения!
Черный список телефонов будет храниться в файле: \\ "**/storage/usbdisk1/mikopbx/custom_modules/balcklist.txt**"
\\ \\ Для добавления номера в черный список просто **выполните переадресацию на номер 99** (слепую, без консультации **99)
[[faq:|Обратно к инструкциям]]