Как отключить звонки в Системе взаимодействия 1С

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Система взаимодействия в 1С — это мощный инструмент для коммуникации сотрудников непосредственно в интерфейсе программы. Однако стандартный функционал включает не только текстовые чаты, но и возможность совершать аудио- и видеозвонки. В некоторых сценариях, особенно при высокой нагрузке на аппаратные мощности или ограниченной пропускной способности сети, администраторам требуется отключить медиа-функции, сохранив при этом возможность обмена текстовыми сообщениями. В этой статье мы подробно разберем, какими способами можно ограничить использование звонков, проанализируем настройки сервера и рассмотрим клиентские ограничения.

Анализ архитектуры звонков в 1С

Прежде чем приступать к отключению, давайте разберем, как технически работают звонки. Система взаимодействия состоит из нескольких компонентов. Текстовые сообщения передаются через основной сервер системы взаимодействия (Collaboration System Server), а для звонков используется технология WebRTC и дополнительный компонент — Media Server (чаще всего на базе Janus Gateway). Звонки создают основную нагрузку на процессор (CPU) и сеть, так как требуют обработки медиапотоков в реальном времени. Если наша цель — снизить нагрузку, нам необходимо воздействовать именно на связку основного сервера с медиа-сервером.

Способ 1: Редактирование конфигурационного файла Media Server

Как показывает практика и опыт участников форума, наиболее эффективный метод — это модификация настроек, отвечающих за инициализацию видеосвязи. Рассмотрим этот процесс подробнее. В серверной части Системы взаимодействия за работу звонков отвечает секция в конфигурационных файлах (обычно это application.yml или специфические .json файлы в зависимости от версии и ОС сервера).

Проанализируем ситуацию, описанную в решении: если очистить или некорректно заполнить параметры в файле конфигурации, предназначенном для медиа-соединений, платформа 1С при попытке вызова не сможет найти точку входа для трансляции потока. В результате пользователь увидит системное сообщение о том, что звонки недоступны, а сервер не будет тратить ресурсы на попытки установить соединение.

Для реализации этого метода на локальном сервере (on-premise) выполним следующие шаги:

  1. Перейдем в каталог установки сервера системы взаимодействия.
  2. Найдем файл application.yml.
  3. Разберем секцию media-server. Обычно она выглядит так:

media-server:
  url: http://localhost:8088/janus
  secret: your_secret_key
  enabled: true

Чтобы отключить звонки, мы можем либо изменить параметр enabled на false (если это поддерживается вашей версией сервера), либо закомментировать всю секцию. После этого необходимо перезапустить службу сервера системы взаимодействия. Проанализируем результат: при нажатии на иконку камеры в клиенте 1С, система обратится к серверу, получит ответ о недоступности медиа-модуля и выдаст ошибку, не нагружая каналы связи.

Способ 2: Ограничение на уровне сетевых портов (Firewall)

Если мы не хотим вносить изменения в конфигурационные файлы сервера, мы можем заблокировать звонки на сетевом уровне. Технология WebRTC использует специфические порты для передачи данных. Выясним причину, по которой это работает: текстовый чат работает по протоколу WebSocket (обычно порты 80, 443 или 9094), а видео и звук передаются по протоколу UDP через широкий диапазон портов.

Рассмотрим шаги по блокировке:

При таком подходе пользователи смогут инициировать звонок, но соединение не будет установлено (будет вечный статус "Установка связи"), либо звонок сразу завершится с ошибкой. Это надежный способ снизить нагрузку на сеть, но он менее "красив" с точки зрения пользовательского интерфейса, чем первый способ.

Способ 3: Программное управление через встроенный язык 1С

Посмотрим на ситуацию со стороны разработчика 1С. Хотя штатных прав на разделение "Чат" и "Звонки" в ролях нет (есть только общее право ИспользованиеСистемыВзаимодействия), мы можем использовать возможности встроенного языка для проверки доступности функций. Разберем пример логики, которую можно внедрить в модули управляемого приложения.

Объект СистемаВзаимодействия позволяет управлять подключениями. Мы можем принудительно проверять условия перед запуском тех или иных функций, хотя само появление кнопок звонка в стандартной панели обсуждений регулируется платформой автоматически. Однако мы можем влиять на параметры системы при старте:


// Пример логики в модуле управляемого приложения
Процедура ПриНачалеРаботыСистемы()
    // Проверим, подключена ли система взаимодействия
    Если СистемаВзаимодействия.Подключена() Тогда
        // Здесь можно реализовать логику оповещения пользователя 
        // или программную настройку интерфейса, если используются 
        // собственные формы обсуждений
    КонецЕсли;
КонецПроцедуры

Важно понимать, что полное скрытие стандартных кнопок звонка в типовых конфигурациях без изменения кода платформы затруднительно. Поэтому наиболее действенным остается административный метод через настройки сервера.

Способ 4: Групповые политики (GPO) и настройки ОС

Если большинство ваших пользователей работают на ноутбуках со встроенными камерами, как упоминалось в обсуждении на форуме, можно ограничить доступ самого приложения 1С к устройствам записи. Проанализируем, как это сделать централизованно:

  1. Для тонкого клиента: Через настройки конфиденциальности Windows можно запретить классическим приложениям доступ к микрофону и камере. В масштабах домена это настраивается через GPO (Групповые политики).
  2. Для веб-клиента: Если пользователи работают через браузер, можно настроить политику безопасности веб-сервера (Content Security Policy) или политики самого браузера, запрещающие доступ к медиа-ресурсам для конкретного URL-адреса публикации 1С.

Выясним результат: когда платформа 1С при запуске обращается к драйверам мультимедиа и получает отказ в доступе, она зачастую скрывает функции звонков или делает их неактивными, так как "не видит" оборудования для захвата звука и видео.

Оптимизация без полного отключения

Если вашей целью является не полный запрет, а именно снижение нагрузки, рассмотрим вариант ограничения качества. В конфигурации Janus Gateway (Media Server) можно жестко ограничить битрейт и разрешение передаваемого видео. Например, установив предел в 300 kbps и разрешение 360p, вы снизите нагрузку на сервер в несколько раз, сохранив при этом функциональность для сотрудников. Это компромиссное решение, которое часто оказывается более предпочтительным в крупных компаниях.

Подводя итог, наиболее эффективным и быстрым способом отключения звонков является модификация файла application.yml на сервере системы взаимодействия путем удаления или комментирования настроек media-server. Это гарантированно отключает функционал на стороне сервера и выдает пользователям понятную ошибку при попытке вызова.

← На главную