h1. Релиз 82 *Дата релиза*: 2020-06-24 {{>toc}} h2. Новые функции: #3243: Корректная маршрутизация DLR на несколько клиентских подключений под одной учетной записью #3264: Биллинговый пакет - Изменения: поддерживать статус "без изменений" #3258: Проигрывать аудио из pcap #3259: AmoCRM: по умолчанию CDR нужно сохранять в режиме 'calls' #3255: Реализовать скрипт webrtc телефона для установки на сторонних сайтах #3252: Улучшить сообщения об ошибке при невозможности доставить звонок пользователю #3245: Добавить опцию "интервал между звонками" #3221: Статистический отчет: выводить сумму по столбцам #3240: Канал HTTP: распределение по нескольким терминаторам DLR от одного источника #3238: Реализовать парсинг тела HTTP запросов для сопряжения с бОльшим кол-вом систем партнёров для HLR/SMS/LNP/MNP #3235: Добавить поиск в CDR по Сall-id #3232: Канал HTTP: не проверять HTTP статус. Это нужно для сопряжения с некоторыми системами SMS партнёров по HTTP #3229: Брать курсы валют с разных сайтов-источников (кроме finance.yahoo.com) #3222: Инвойсы/акты выполненных работ: разрешить указывать скидку в % #3224: Разрешить создавать акт выполненных работ из инвойса нажатием одной кнопки #3227: Инвойсы: Добавить меню Связанные документы #3226: Платежи: сделать проверку инвойса как в Актах выполненных работ #3189: Сделать меньше кликов для получения списка маршрутов в Классе маршрутов #3218: Биллинговый пакет: добавить опцию "отсрочка удаления кода" #1814: Импорт прайслистов: добавить возможность указывать дату удаления отсутствующих кодов в прайслисте #3216: Реализовать генерацию инвойса по шаблону #3219: Экспорт биллингового пакета: учитывать часовой пояс на биллинговом пакете #2753: Тарифные планы: добавить опцию "часовой пояс" #3196: Контроль качества: разрешить пустой шаблон E.164 кода, который должен совпадать с любым кодом #3180: Реализовать групповое удаление адресов из IP ACL #3167: Разрешить приаттачить файл к Инвойсам и Платежам #3197: Автоматически вырезать пробелы с начала и конца номера #3209: Улучшить Детектор колец: отправлять в специальный обработчик вызовов, где можно проигрывать аудиофайл при обнаружении кольца #3211: Реализовать глобальный черный список, доступный для редактирования #3206: Классы маршрутов: соединить Номера, Биллинговые коды, Зоны в одну таблицу #3201: Импорт из Excel: отображать ошибку, если пользователь пытается пропустить единственный присутствующий лист #3202: Импорт прайсов: не удалять отсутствующие коды, если ничего не было импортировано #3208: Реализовать шаблоны замены для номера переадресовывающего и имени переадресовывающего #3205: Канал SMPP: добавить опцию для включения преобразования паралельной маршрутизации в последовательную для сегментов #3203: Канал HTTP: увеличить таймаут по умолчанию до 60 сек #3198: Реализовать генерацию актов выполненных работ #3199: Обновить tinymce 3 -> 4 #3188: Отчет по регистрациям: добавить детализацию по часу и дню #3194: Переадресация: реализовать возможность указать расписание на год вперёд #3193: Переадресация: разрешать устанавливать Расписание от 18:00 до 09:00 в рабочие дни #3177: Канал SMPP: Сегментированные смс: преобразовывать параллельную маршрутизацию на последовательную #3157: HLR: реализовать Профили остановки хантинга #3160: Профили ограничений: добавить возможность указать разные параметры в зависимости от цены минуты #3170: Канал SMPP: вывести контроль над ENQUIRE_LINK таймаутами в веб-интерфейс #3165: Узлы -> SMPP: добавить глобальную опцию "отладка" #3159: Реализовать "Профили ограничений" #3156: ярлык вендора: поддерживать шаблон ${CURRENT_YEAR} #3155: Контроль качества: отправлять внутри е-мейл было ли реально заблокировано направление или нет #3149: Реализовать контроль качества для оригинаторов по аналогии с терминаторами #3154: Переименовать Контроль терминации -> Контроль качества #3152: Добавить фильтр по названию пира в маршрутах в классе маршрутов #3127: Канал SMPP: переопределять registered_delivery из SMS #3150: Канал SMPP: реализовать конфигурируемый размер исходящей очереди #3144: Канал SMPP: реализовать вывод текущей заполненности очереди SMS для пира #3100: Канал SMPP: добавить буферизацию #3126: Разрешать переопределять содержимое DLR #3125: Проверить маршрутизацию: разрешить добавление новых маршрутов прямо из формы проверки #3138: Канал HTTP: сохранять в EDR HTTP URL и POST body #3134: Канал SIP: записывать в статистиику регистрацию и отрегистрацию пользователя #3133: Реализовать удаление маршрута прямо из формы проверки маршрутизации #3068: Реализовать быстрый переход из классов маршрутов в пиры где этот класс установлен #3119: Канал SIP: при таймауте повторной отправки нужно банить партнёра на уровне SIP, а не на уровне файервола #3122: Добавить возможность конфигурировать разные почтовые учётные записи и шаблоны для разных пользователей #3111: Канал SMPP: Записывать в pcap CANCEL_SM/CANCEL_SM_RESP #3114: Канал SMPP: логировать system ID при неуспешном BIND клиента #3110: SMPP: при отправке CANCEL_SM удалять из очереди все SMS, которые будут отменены #3105: Pcap медиа: нужно хранить в отдельных файлах от сигнализации для конфигруирования разных периодов хранения для pcap медиа и pcap сигнализации #3093: Реализовать голосовое сообщение для деактивированных пользователей #3078: Роль VPBX administrator: сделать доступной опцию "интерфейс состояния" для участников очередей #3098: Выделить вкладку Условия установки хантинга в отдельное меню Профили остановки хантинга #3097: Телефония -> Отчеты -> Записанные звонки: отображать с детализацией по названию пира #3096: Телефония -> Отчёты -> Записанные звонки: должно показывать статистику по пиру, а не по узлу #3010: Добавить кнопку в веб-интерфейсе для удаления аудиозаписи из конкретного звонка #3094: Ускорить вывод списка аудиозаписей #3062: Реализовать отображение среднего PDD на маршруте #3091: Оптимизация производительности: реализовать кэш пиров #3090: Оптимизация производительности: перейти на позднюю инициализацию баланса #3085: Канал SMPP: Входящие соединения: перенастраивать пиры без необходимости пере-подключения партнера #3084: Канал SMPP: при изменении настроек перезагружать только те пиры, которые реально поменялись #3070: Телефония: Когда задача генерации привязана к определенному пиру для ответа - нужно проверять доступность этого пира #3072: Добавить опцию Генерация звонков -> Задачи -> пир для ответа -> интерфейс состояния #3075: Добавить SMPP watchdog #3073: Сохранять пир для набора и пир для ответа последней добавленной задачи, которые будут автоматически предложены при следующем добавлении новой задачи #3066: Добавить возможность указывать очередь при генерации звонков через API #3069: Тест шаблонов замены: добавить отладку #3067: Подтягивать значения из шаблона импорта (для информационных целей) #3051: Реализовать Профили ограничения номеров #3064: Добавить параметр "таймаут" в элементе обработчика ОтправитьDLR #3045: Добавить опцию "таймаут PDD" #3061: Детектор повторяющихся номеров: разрешить конфигурировать опцию "записывать в номерной пул" = никакой #3060: Добавить опцию "таймаут PDD" для терминатора/шлюза #3048: Экспорт SMS цен: разделить код на MCC + MNC #3056: Разрешить переопределять Класс хантинга для определенных шаблонов номеров #3049: Финансовый отчет: добавить опцию "отображать за прошлый месяц" #3057: Классы маршрутов -> E.164 номера: Добавить авто-скрывание незадействованных полей #3058: Сделать для admin_portal конфигурируемыми http-address и http-port #3053: Канал SMPP: разрешить подменять ValidityPeriod #3046: Поддержка SUBMIT_SM от оригинатора, которая приходит как DLR #2681: Добавить API для создания задач обзвона h2. Исправления: #3261: AmoCRM: при сохранении настроек виджета на стороне амо сбрасывается режим сохранения CDR на 'notes' #3257: AmoCRM click2call: проблема если в номере есть пробелы #3244: Импорт биллингового пакета с включенной опцией "удалить отсутствующие коды" + "при дублировании изменения" = удалить: отрабатывает некорректно #3230: Задачи рассылки смс: не добавляется префикс на терминаторе #3234: Проблема с SQL кешем: иногда кеш не обновляется актуальными данными #3231: Экспорт номерных пулов: исправить отображение прогресса #3223: Инвойсы/акты выполненных работ: меню Отправить на почту не появляется #3225: Инвойсы/акты выполненных работ: сдвинута строка Всего #3220: Слишком долго отображает детали по звонку #3213: configd: перезагрузка приложения приводит к миграции IP #3212: Канал SMPP: Маршрутизация сегментов по короткому пути: не подменяются А и Б номера #3200: Перезагрузка веб-интерфейса #3192: SMS: проверка длины номера работает некорректно #3191: Сообщения -> Генерация -> Задачи -> групповая пауза: не работает #3185: Watchdog: не проверять адрес, если его нет на хосте #3183: Текущее состояние не работает при схеме с failover IP #3181: Классы остановки хантинга: опция "звонок отбит" не работает #3176: Перезагрузка контролёра терминации #3173: Невозможно поменять имя пользователя #3168: При перезагрузке астериска иногда не получается захватить AMI сокет #3163: Канал SMPP: для исходящих соединений не используется bind address #3164: Канал SMPP: при изменении параметров подключения, которые влияют на режим подключения, нужно выполнять переподключение #3158: Генератор вызовов: номера отображаются сортированными, а не такими так были вставленными в БД #3153: Замена содержимого SMS проходит некорректно #3147: SOHO: Проверить маршрутизацию: лишние столбцы #3146: SOHO: скрыто меню Номерные пулы #3143: Канал HTTP: SMS: спец символы в json не экранированы #3142: SOHO: невозможно добавить класс маршрутов #3140: SQL ошибка: Table 'config.possible_routes_t' doesn't exist: select * from config.possible_routes_t limit 101 offset 0 #3136: lsof: берет слишком много CPU #3041: web interface AddressSanitizer error #3135: Отправить факс: показывает ошибку Unable to establish call #3130: WebRTC: не проигрывается сигнал при входящем звонке #3124: Если периодический контроёр сконфигурирован с "итерации проверки" = 1, в действительности он проверяет 2 итерации #3121: Перезагрузка захвата pcap при декодировании SMPP пакета #3116: Отчет E.164 коды: показывает сумму с - , когда в прайсах "платит вызываемый" = да #3113: Отчет детали по E.164 кодам: SQL ошибка Column id in field list is ambiguous #3112: Невозможно переключить режим отображения для супервизора #3108: Невозможно импортировать windows csv file #3107: fail2ban банит корректные диалоги #3101: Перезагрузка вставки CDR #3102: Захват pcap для долгих звонков с open RTP прерывается через 1 час #3099: Информатор о балансе иногда не запускается #3081: Не получатся создать новый контакт в АмоCRM без ответственного пользователя #3088: Pcap не захватывает некоторые SMS #3087: Высокая CPU нагрузка #3086: Генерация инвойсов для компании с часовым поясом: ошибка Время завершения в будущем #3080: Failed is not expected: Unreachable code assertion failed in file '/usr/ports/net/smartswitch/work/smartswitch-8.1.50339/sbc/res_smartswitch/misc.cxx' line 391 #3079: Taskd: сдвигается время запуска системных процессов #3074: Assertion !ast_func_read(chan, MESSAGE(body) #3065: Asterisk: не вырезает "" у последнего агрумента #3035: Ошибка при некоторых звонках: Weird parameters (16306852888,ANGARA, D,639271796874,,,,) - attempt of break-in with comma injection #3059: При копировании SIP ACL дублируется #3055: При копировании Задачи генерации не изменяется время активации #3050: Assertion e[ActionID] == m_callgen->getActionId() при генерации звонков [[Release_82|English translation]]