v/1.10.0 (2026-03-16)

Динамическая модель данных платформы

  • Добавлена возможность для коллекций динамической модели данных, привязанных к хранилищу postgresql, использовать промежуточный брокер сообщений и порционную вставку данных.

  • Скорректировано поведение сервиса обслуживания динамической модели данных при работе с хранилищем ClickHouse и необязательными полями типа 'datetime'.

  • Добавлены операции метода SETUP над коллекциями исторического типа: read_partitions, drop_partition.

  • Добавлена периодическая проверка и восстановление состояния потребителя в ClickHouse из KAFKA в динамических коллекциях типа transactionlog.

  • Добавлено свойство opts.readonly для классов динамической модели, применяется целиком к коллекции.

  • Добавлено свойство opts.unique_properties для классов динамической модели с типами ram, runtime, category, history.

  • Добавлена возможность производить сортировку сущностей в REST API с использованием функциональных оберток, например [ ["asc",["isnull",["property","name"]]], ["asc",["upper",["property","name"]]] ] для case-insensitive сортировки по имени с переносом NULL-значений в конец.

  • Реализовано автоматическое удаление вложений при удалении по таймеру сущностей динамических классов (для типов ram и runtime).

  • Реализовано автоматическое удаление вложений при удалении методом SETUP партиций динамических классов (для типов history и transactionlog).

  • Реализовано автоматическое удаление вложений из S3-хранилищ при очистке динамических классов.

  • Добавлена свойство opts.log_read_details_ms для классов динамической модели, устанавливающая предельное время выполнения запроса на чтение коллекции, превышение которого размещает в лог параметры запроса.

  • Реализована поддержка параметра REST API 'countonly' в агрегирующих выборках из коллекций динамической модели данных.

Телефония

  • Реализована функция сбора и управления ad-hoc конференцией с помощью фичакода фабрики конференций, в том числе командами из CTI панели.

  • Реализована модель групповой настройки ограничений сервисов телефонии и доступных направлений вызова через матрицу доступов CoS/CoR/Feature (Class Of Service, Class Of Restrictions).

  • Добавлена опция мастер-домена (settings.mgc_options.trunk_no_voice_stop_after_sec) для глобального управления разрывом диалога при превышении установленного времени отсутствия ожидаемого трафика хотя бы от одного из плеч (исключая удержания и CN).

Прочее

  • Добавлена возможность скачивать архивы лог-журналов нод целиком. В том числе через бота администратора в телеграм.

  • Добавлен адаптер IM-канала мессенджера MAX.

  • Обнаружена и исправлена проблема микросервиса email по работе с IMAP, способная приводить к зацикливанию попытки распарсить невалидное MIME-сообщение. Невалидность сообщения может быть обусловлена наличием в MIME-контенте текстового представления финальной строки ответа на IMAP-запрос.

  • Добавлена возможность устанавливать клиентский сертификат для конкретного канала интеграции и тем самым дополнительно ограничивать доступ к third-party Websocket / HTTP API.

  • В конфигурационные параметры роли ws добавлена опция 'add_headers' для добавления статических заголовков в каждый ответ на HTTPS запрос.

  • В компонент сценариев Парсер добавлена возможность не прерывать выполнение при возникновении ошибки в какой-либо отдельной операции из списка множественных операций.

  • В БД мастер-домена сохраняется резервная копия лицензии, используемая при изменении конфигурации с переездом нод MDC.

  • Добавлена возможность генерировать SNMP-trap через API.

Продуктовый слой

v/1.10.2 (2026-04-12)

  • Исправлено поведение системы в условиях недоступности подключенного NFS сервера в части работы с записями разговоров.

  • Выставлены маркеры DSCP приоретизации пакетов исходящего трафика IPv4: 'af31' для сигнализации и 'ef' для RTP.

v/1.10.3 (2026-04-24)

  • Добавлена возможность для классов динамической модели данных с хранилищем в PostgreSQL (типы category и history) указывать в lookup_properties не только отдельные поля, но и наборы полей — для создания индексов, состоящих из нескольких полей.

  • Добавлена возможность настраивать модификаторы адресов для аккаунтов Telegram.

  • Добавлена возможность настраивать таймаут для запросов чтения выборки из динамических коллекций, в первую очередь типов history и category. Задается для экземпляра DMS целиком, а также передается в REST-запросе websocket API.

  • Оптимизирована операция чтения количества строк в коллекциях типов history.

  • В статистику rtp добавлены свойства 'r/ip', 'l/ip', 'route' - содержат информацию об адресах, участвующих в передаче rtp-трафика и сигнализации соответственно.

  • Привязывание входящего INVITE-запроса к учетной записи провайдера дополнено этапом проверки username из Request-URI с доменом из From-URI.

  • Исправлена проблема ThirdParty websocket API при подписках во время недоступности доменного центра или сервиса управления подписками.

v/1.10.4 (2026-05-14)

  • Добавлен эвристический механизм корректировки timestamp в отправляемом rtp-потоке на основе учета реального времени. В нормальных условиях timestamp формируется на базе несущей входящего rtp-потока. Но в некоторых случаях, например в webrtc-потоке из браузера, при постановке на удержание поток временно приостанавливается, но дальнейшие пакеты содержат timestamp, не учитывающие фактическое время приостановки потока.

  • Изменен формат настройки системного telegram-бота, появилась возможность задать proxyUrl для модификации целевого Url сервиса. Новый параметр 'system_telegram_bot' автоматически принимает значение предыдущего параметра 'telegram_bot_token'.

  • Исправлена проблема, в результате которой websocket подключение к SIP-порту могло не происходить, если в конфигурации для SG настроены выборочные сетевые интерфейсы для слушателя портов.

  • Переотправка SIP-ответов на повторные запросы теперь учитывает адрес и порт отправителя и корректирует при необходимости крайний заголовок Via в части опций received и rport и адрес отправки.

  • Исправлена проблема прерывания загрузки REST-аттача HTTP методом GET в условиях большой нагрузки.

  • Добавлена конфигурационная настройка диапазона портов, используемых для создания различных TFTP-сессий.

  • Обнаружена и устранена проблема keep-alive запроса к БД микросервиса MDC.

v/1.10.5 (2026-05-19)

  • Обнаружена и исправлена уязвимость, позволяющая осуществить несанкционированный доступ к файлам через манипуляцию с путями.

  • Обнаружена и исправлена проблема операции сохранения контекста сценария (для сервиса восстановления разговоров) в многосерверных конфигурациях.

  • Обнаружена и исправлена возникающая проблема восстановления разговора на webrtc-плече при миграции в другой медиаконтекст/медиашлюз.

  • В приложение настроек администратора домена добавлен инструмент управления HUNT-группами.

  • В BYE-запрос, отправляемый при таймауте установки DTLS-соединения в webrtc-плече, добавлен заголовок, сообщающий причину.

  • В настройки sipuser добавлена опция internal_representative для управления подменой номера инициатора при внутренних звонках в домене между пользователями.

  • Повышена алгоритмическая строгость проверки уникальности значений (class.opts.unique_properties) в сервисе управления динамической моделью данных при высоких нагрузках.

v/1.10.6 (2026-05-20)

  • Оптимизирована операция постраничной выборки данных из коллекций типов runtime и ram при большом количестве записей и страниц с помощью параметра 'snapshot'.

v/1.10.7 (2026-06-03)

  • Исправлена ошибка по работе с размещением файлов в NFS-папку (в том числе если NFS в реальности не подключен). Проявляется в том, что записи разговоров скапливаются в очереди recmover и не попадают в целевое место, если используются настройки по умолчанию или NFS, а не S3 хранилище.

v/1.10.8 (2026-06-04)

  • Реализован work-around для проверки сертификатов LetsEncrypt Generation Y в исходящих клиентских запросах. Симптом: неудачное подключение/хендшейк компонентом сценариев веб-запрос (failed_connect) при одновременно успешно исполняющемся CURL-запросе.

  • Подключение пользователя к каналу MAX рассматривается как первое сообщение, содержащее payload, а не просто как системное действие по созданию RemoteParty.

  • Исправлена ошибка ESG, влекущая сбой в обработке звонка при поступлении повторного INVITE-запроса до отправки финального ответа.

  • Обнаружена и устранена двойная отправка ACK c ESG на повторно поступивший ответ 200 OK.

v/1.10.9 (2026-06-09)

  • В IM при работе с сервисами мессенджеров добавлен work-around для проверки сертификатов (аналогично реализованному в v/1.10.8).

v/1.10.10 (2026-06-15)

  • Тестирование правил перенаправления дополнено возможностью задавать номер и домен переадресовавшего абонента.

  • Исправлены недочеты в алгоритме поиска правил представления: учтен параметр action=abort, добавлен поиск inner-правила в домене переадресовавшего абонента.

  • Исправлена недавняя проблема версии 1.10.6 в выдаче снапшотов, приводящая к росту числа открытых файловых дескрипторов.

v/1.10.11

  • В компоненте сценариев 'Получение email' некоторые письма вызывали ошибку при парсинге. Обнаружено, исправлено.

  • Для провайдеров авторизации добавлен диалект 'openid', а диалект 'oauth' теперь в любом случае осуществляет запрос к 'uri_info'.

  • Исправлен token_type в заголовке Authorization при запросе к uri_info в рамках OAuth-авторизации.

  • Исправлена проблема длительного ожидания ответа (более 30 секунд) при наборе номеров исходящих кампаний. В статистику попадали неверные коды ответов.

  • Для мессенджера MAX изменен URL по умолчанию, а также добавлена возможность модифицировать URL с помощью Account.options.proxyUrl.

  • В список CA сертификатов добавлен корневой сертификат "Минцифры России".

  • Исправлена выдача некоторых классов сущностей доменного центра при чтении выборки с использованием параметра mask.

  • Исправлен формат значений l/ip и r/ip в rtp статистике astat и bstat.

  • Дополнены и скорректированы параметры, передаваемые в сценарий нормализации внешних номеров.

  • Реализована привязка к существующему сеансу вместо создания дополнительного сеанса в новом домене при консультационном переводе кроссдоменного звонка.

  • Выявлена и устранена ситуация с обрывом webrtc-вызова при постановке на удержание через пограничный медиа-шлюз.