139 просмотров
от (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 Ответ

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

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

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

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

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

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

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

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

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

2.4 тыс. ответов

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

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

...