Внедрение Системы взаимодействия (СВ) в корпоративную среду 1С значительно упрощает коммуникацию между сотрудниками. Однако активное использование встроенных аудио- и видеозвонков создает колоссальную нагрузку на центральный процессор сервера, оперативную память и пропускную способность локальной сети. Если вашей первоочередной задачей является организация текстового чата и обмена файлами, а функции звонков необходимо полностью деактивировать ради стабильности сервера, стандартных административных переключателей в интерфейсе 1С вы не найдете. В этой статье мы подробно разберем, как решить эту задачу на системном уровне.
Прежде чем переходить к практическим шагам, проанализируем архитектуру Системы взаимодействия. Она состоит из нескольких ключевых компонентов:
Поскольку за передачу голоса и видео отвечает отдельный компонент (медиасервер Janus), ограничить или полностью заблокировать звонки можно путем точечного воздействия на этот узел или сопутствующую сетевую инфраструктуру.
Рассмотрим наиболее надежный практический метод решения проблемы, к которому часто приходят администраторы крупных баз. Чтобы заблокировать звонки на стороне сервера, мы можем намеренно повредить или очистить конфигурационный файл медиасервера Janus.
Разберем этот процесс по шагам:
.../instances/[Имя_Инстанса]/cs/config/ или непосредственно в рабочей директории медиасервера Janus.janus.jcfg.Результат: При попытке пользователя нажать кнопку вызова в интерфейсе 1С платформа выполнит обращение к медиасерверу. Не найдя валидных настроек, система выдаст стандартное предупреждение: «Звонки недоступны». При этом сама кнопка звонка может оставаться видимой, но запустить процесс дозвона и создать нагрузку на процессор пользователи физически не смогут.
Выясним причину, почему звонки могут не работать "из коробки", и как использовать это поведение в своих целях. Технология WebRTC, на базе которой построены звонки в 1С, предъявляет жесткие требования к безопасности сетевых соединений.
Современные веб-браузеры и встроенный движок тонкого клиента 1С на программном уровне блокируют доступ к камере и микрофону устройства, если соединение с сервером установлено по незащищенному протоколу HTTP (или WS для веб-сокетов). Исключение делается исключительно для адреса локальной петли localhost.
Если мы развернем Сервер взаимодействия локально внутри корпоративной сети и настроим подключение к нему только по незащищенным протоколам HTTP и WS (без использования SSL-сертификатов и перехода на HTTPS/WSS), пользователи физически не смогут совершать звонки. Платформа просто не получит разрешения на захват аудио- и видеопотоков с рабочих станций сотрудников. Это самый простой "естественный" барьер, не требующий вмешательства в системные файлы платформы.
Проанализируем сетевую активность медиасервера. По умолчанию для управления звонками и передачи WebRTC-трафика медиасервер Janus задействует определенный пул портов:
8188 (или 7188 для внутренних нужд).Если мы настроим правила брандмауэра (Firewall) на сервере или сетевом шлюзе так, чтобы полностью закрыть входящий и исходящий трафик по порту 8188 для клиентских машин, звонки проходить не будут. Сервер взаимодействия не сможет инициировать WebRTC-сессию, и вызовы будут мгновенно сбрасываться со статусом ошибки соединения.
Если вам требуется не полностью отключить звонки, а существенно снизить нагрузку от внешних пользователей (например, работающих из дома или через мобильные устройства), мы можем отказаться от инициализации ICE-сервера.
Для корректной трансляции видео между пользователями, находящимися за разными NAT-устройствами, сервер взаимодействия требует подключения к ICE/STUN/TURN-серверу. Если мы не будем выполнять сопряжение Системы взаимодействия с серверами обхода NAT, то звонить друг другу смогут только те сотрудники, которые находятся строго внутри одной локальной сети (без прохождения через маршрутизаторы с трансляцией адресов). Для всех внешних подключений попытка звонка завершится ошибкой, что уберет самую тяжелую часть трафика с внешних сетевых интерфейсов сервера.
Если отключение звонков рассматривается вами исключительно как крайняя мера борьбы с перегрузкой серверных мощностей, рекомендуем обратить внимание на развитие платформы «1С:Предприятие».
Начиная с версий 8.3.25 и выше, разработчики 1С провели глобальную оптимизацию потребления ресурсов процессора и сетевого канала при работе Системы взаимодействия:
Чтобы воспользоваться этими улучшениями, вам потребуется обновить не только клиентские лицензии и платформу, но и сам Сервер взаимодействия вместе с медиакомпонентом Janus до актуальных версий.