49 просмотров
от (320 баллов) в категории Тонкая настройка

Настроил Черный список по инструкции https://wiki.mikopbx.ru/providers:black_list
Обнаружил проблему:

при Входящем вызове план набора проходит через "add-trim-prefix-clid-custom", который добавили вручную. CallerIDnum на этом этапе считывается правильно. Дальше вызов идет на внутренний номер (100), с которого хотим внести звонящего в ЧС. тут и начинается заморчка. Для системы приложение с номером "**99" вызывает именно внутренний номер (100), поэтому CallerIDnum подставляется внутренний и в ЧС заносится именно он.

Поскольку данный модуль проще, чем ЧС на 2019 версии (добавлять руками), пришлось изучать, как исправить данную ситуацию.
У agi есть функция get_full_variable, но в 2022.3.15 этой функции нет.
Поскольку работал в режиме "без изменения системных файлов", то пришлось костылить.
Если есть более удобный вариант, прошу специалистов ответить. Либо исправить FAQ.
Ниже рабочий код ЧС (заменить в своем приложении, создав резервную копию).

<?php
use MikoPBX\Core\Asterisk\AGI;
use MikoPBX\Core\System\Processes;
require_once('Globals.php');
$agi        = new AGI();
$number     = $agi->request['agi_callerid'];
$filename = '/storage/usbdisk1/mikopbx/custom_modules/balcklist.txt';
if (isset($argv[1])) {
    if ($argv[1]=='check') {
        $result   = Processes::mwExec("/usr/sbin/grep '$number' < $filename");
        if ($result === 0) {
            // Номер найден.
            $agi->verbose('The number ' . $number . ' was found in the blacklist. The call will be completed');
            $agi->hangup();
        } else {
            // Номер не найден.
            $agi->verbose('The number ' . $number . ' was not found in the blacklist.');
        }
    }
} else {
    // Добавить в ЧС
    $agi->answer();
    $origchan = $agi->get_variable("FROM_CHAN", true);
    $orignum = $agi->evaluate("GET FULL VARIABLE $[CDR(src)] {$origchan}");
    file_put_contents($filename, $orignum['data'].PHP_EOL, FILE_APPEND);
    $agi->verbose('Add number ' . $orignum['data'] . ' to black list', 1);
    $agi->hangup();
}
?>

В файле extensions.conf (режим "добавлять в конец файла") вместо

 [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-***.php)
    same => n,Return()

прописать

[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-***.php,"check")
    same => n,Return()

где "DIALPLAN-APP-***.php" - ваше приложение

1 Ответ

от (12 тыс. баллов)
выбран от
 
Лучший ответ

Проверил инструкции с wiki на MikoPBX 2022.3.15.
При входящем звонке в черный список попадает номер звонящего абонента, не внутренний.
Важно выполнять "слепой" перевод, по умолчанию комбинация **

от (320 баллов)
Доброго дня.

Спасибо за ответ.

Проверил настройки у себя. Что называется "сам дурак". Перенес настройки с версии 2019 и забыл, что менял местами комбинации для консультативного и безусловного переводов (наверное, чтобы сотрудников не переучивать).

Прошу прощения, что ввел в заблуждение.
На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia входящие-вызовы настройка провайдер исходящие запись-разговоров маршрутизация ivr очередь обновление входящие исходящие-звонки провайдеры очередь-вызовов запись транк маршрут ошибка переадресация askozia7 askozia6 битрикс24 перевод установка панель-телефонии-1с mikopbx callerid логи голосовая-почта факс перевод-вызова ростелеком история-звонков запись-разговора интеграция модуль почта веб-интерфейс битрикс настройка-провайдер релиз история перехват-вызова nat goip gsm звонок внешние-номера маршруты диалплан cdr pjsip нерабочее-время bitrix24 zabbix ascozia аон мобильный вызовы редактор asterisk sip лицензия панель журнал-звонков web-интерфейс переадресация-мобильный телефонная-книга звонков провайдеров время голосовая voicemail разговоров #mikopbx донабор beeline monitoring регистрация тишина fax smtp вызовов номер мультифон мегафон не-работает docker askozia-5 распределение билайн настройка-исходящие-исходящих-вызов-вызовов ami железо префиксы crm статистика альтернативный dialplan

2.4 тыс. вопросов

2.1 тыс. ответов

5.9 тыс. комментариев

75.4 тыс. пользователей

...