Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Инсталляция Р7 Команда за NAT и интеграция с SIP

Обновлено: 15.12.25

Подготовка инфраструктуры

Требования к инфраструктуре

Серверы

Схема работы доступна по ссылке ↗.

Для развертывания системы необходимо 5 серверов (или виртуальные машины) со следующими ролями:

  • R7Office — Р7-Офис Сервер (установка производится по отдельной инструкции размещённой на сайте АО «Р7» ↗);
  • R7Team-m — медиа-сервер для работы звонков и ВКС модуля Команды.
  • R7Team-e — сервер шлюз позволяющий работать модулю Команда за NAT для возможности подключатся пользователям из сети Интернет;
  • R7Team — сервер управления и чатов Р7-Офис модуль Команда;
  • Сервер SIP с ролью АТС

Минимальные требования к ресурсам приведены ниже по ролям.

Р7-Офис Сервер
  • Кол-во ядер процессора (CPU cores) — 4;
  • Частота процессора (CPU MHZ per core) — 2ГГц;
  • ОЗУ (RAM) — 8 ГБ;
  • Диск 1 (используется для хранения файлов и ОС) — рекомендуем использовать SSD не менее 50 ГБ;
  • (Опционально) Диск 2 (используется для хранения файлов на внешнем диске) — рекомендуем использовать HDD не менее 100 ГБ;
  • 1 внутренний IP адрес в локальной сети Заказчика (или сети ДМЗ Заказчика);
Сервер Р7-Офис модуль Команда с ролью Сервер управления:
  • Кол-во ядер процессора (CPU cores) — 4;
  • Частота процессора (CPU MHZ per core) — 2ГГц;
  • ОЗУ (RAM) — 12 ГБ;
  • Диск 1 (используется для хранения установочных файлов и ОС) — рекомендуем использовать SSD не менее 60 ГБ;
  • (Опционально) Диск 2 (используется для хранения файлов, отправляемых пользователями) — рекомендуем использовать HDD не менее 100 ГБ;
  • 1 внутренний IP адрес в локальной сети Заказчика (или сети ДМЗ Заказчика);
Сервер Р7-Офис модуль Команда с ролью Медиа-сервер:
  • Кол-во ядер процессора (CPU cores) — 4;
  • Частота процессора (CPU MHZ per core) — 2ГГц;
  • ОЗУ (RAM) — 4 ГБ;
  • Диск 1 (используется для хранения установочных файлов, ОС и установки ПО медиа-сервера) — рекомендуем использовать SSD не менее 60 ГБ;
  • 1 IP адрес
  • в случае использования виртуальных машин KVM нужно принудительно указать процессор как host;
  • должна быть одна партиция (не считая swap-партиции), то есть чтобы не было отдельной партиции для /home;
  • необходимо установить системный hostname в r7team-m.<domain>.
Сервер Р7-Офис модуль Команда с ролью Шлюз:
  • Кол-во ядер процессора (CPU cores) — 2;
  • Частота процессора (CPU MHZ per core) — 2ГГц;
  • ОЗУ (RAM) — 4 ГБ;
  • Диск 1 (используется для хранения установочных файлов, ОС и установки ПО) — рекомендуем использовать SSD не менее 50 ГБ;
  • 1 внутренний IP адрес в локальной сети Заказчика (или сети ДМЗ Заказчика);
  • 1 публичный IP адрес (настраивается на маршрутизаторе/межсетевом экране с функцией перенаправления портов на внутренний IP адрес в локальной сети или сети ДМЗ Заказчика).
Сервер SIP с ролью АТС:
  • Кол-во ядер процессора (CPU cores) — 2;
  • Частота процессора (CPU MHZ per core) — 2ГГц;
  • ОЗУ (RAM) — 4 ГБ;
  • Диск 1 (используется для хранения установочных файлов, ОС и установки ПО) — рекомендуем использовать SSD не менее 40 ГБ;
  • 1 внутренний IP адрес в локальной сети Заказчика (или сети ДМЗ Заказчика);
  • 1 публичный IP адрес (настраивается на маршрутизаторе/межсетевом экране с функцией перенаправления портов на внутренний IP адрес в локальной сети или сети ДМЗ Заказчика).
Общие требования
  • Для публикации серверов R7Team и R7Team-M в интернет требуется установка дополнительного сервера шлюза R7Team-e с 1 внутренним и 1 внешним IP адресом.
    Внешний IP адрес может быть установлен на маршрутизаторе (межсетевом экране) и настроена переадресация сетевых портов.
  • Для интеграции с R7Team-M с АТС Заказчика на АТС должен быть выделен пользователь для подключения или настраиваться режим trunk. Сервера должны иметь доступ друг к другу через локальную сеть.
  • Для работы решение ОБЯЗАТЕЛЬНО использование SSL сертификатов. Желательно использовать подписанные общеизвестным центром сертификации, например Let`s Encript. Если сертификаты подписаны собственным корневым центром сертификации организации, то требуется дополнительная настройка сред исполнения и браузеров, а так же установка корневых сертификатов в ОС на ПК на мобильные устройства.
  • Серверы должны определятся по доменным именам прописанным в сертификатах.
  • Для взаимодействия с серверами (для установки ПО и взаимодействия между серверами) необходим канал связи не менее 100 Мбит/с.

Таблица сетевого взаимодействия

Протокол / Порт Источник Получатель Примечания
1. TCP: 443, 3478, 5349, 10000-30000

UDP: 3478, 5349, 10000-30000

Клиенты модуля Команда в сети интернет Внешний IP адрес Межсетевой экран Подключение к сервису внешних клиентов по протоколу WSS, API и хождения media трафика
2. TCP: 443, 3478, 5349, 10000-30000

UDP: 3478, 5349, 10000-30000

Межсетевой экран Сервер Шлюз Подключение к сервису внешних клиентов по протоколу WSS, API и хождения media трафика
3. TCP: 443 Сервер Шлюз Корпоративный сервер 2024 Аутентификация, работа с хранилищем документов и онлайн редактирование документов
4. TCP: 443 Сервер Шлюз Управляющий сервер Р7 Команда Подключение к сервису внешних клиентов по протоколу WSS, API
5. TCP: 443, 5060, 5061, 10000-30000

UDP: 5060, 5061, 10000-30000

Сервер Шлюз Медиа сервер Р7 Команда Подключение внешних клиентов к медиа серверу Р7-Офис модуль Команда
6. TCP:443 Клиенты модуля Команда в локальной сети Заказчика Корпоративный сервер 2024 Аутентификация, работа с хранилищем документов и онлайн редактирование документов
7. TCP:443 Клиенты модуля Команда в локальной сети Заказчика Управляющий сервер Р7 Команда (Внутренний IP адрес) Подключение к сервису внутренних клиентов по протоколу WSS, API
8. TCP: 443, 10000-30000

UDP: 10000- 30000

Клиенты модуля Команда в локальной сети Заказчика Медиа сервер Р7 Команда (Внутренний IP адрес) Подключение внешних клиентов к медиа серверу Р7-Офис модуль Команда
9. TCP: 443 Управляющий сервер Р7 Команда Медиа сервер Р7 Команда Управление медиа сервером
10. TCP: 443 Медиа сервер Р7 Команда Сервер управления R7Team Сигнализация входящего звонка
11. TCP: 443, 5672 Управляющий сервер Р7 Команда Корпоративный сервер 2024 Запрос авторизации и синхронизацию пользователей на сервере Р7-Офис Сервер
12. TCP: 5060, 10000-30000

UDP: 10000-30000

Медиа сервер Р7 Команда АТС Заказчика (или Шлюз к АТС Заказчика) Подключение медиа сервера к АТС Заказчика
13. TCP: 5060, 10000-30000

UDP: 10000-30000

АТС Заказчика (или Шлюз к АТС Заказчика) Медиа сервер Р7 Команда Подключение медиа сервера к АТС Заказчика
14. TCP 389, 636 или 443 Корпоративный сервер 2024 LDAP или сервер сквозной аутентификации Заказчика Подключению к серверу авторизация через LDAP/LDAPS или сервису сквозной аутентификации по протоколу SAML
15. TCP: 443 Управляющий сервер Р7 Команда Apple PNS (api.push.apple.com) Отправка push уведомлений через сервис push сервера Apple

2620:149:208:430b::b
2620:149:208:4306::b
2620:149:208:4302::d
2620:149:208:4307::8
2620:149:208:430c::b
2620:149:208:4308::9
2620:149:208:4307::a
2620:149:208:430f::b
17.188.178.6
17.188.143.8
17.188.178.232
17.188.179.9
17.188.178.133
17.188.143.74
17.188.178.166
17.188.178.72

16. TCP: 443, 5228, 5229, 5230 Управляющий сервер Р7 Команда Google FCM (fcm.googleapis.com) Отправка push уведомлений через сервис push сервера Google

2001:4860:4802:38::39
2001:4860:4802:36::39
2001:4860:4802:38::37
2001:4860:4802:36::37
216.239.36.55
216.239.36.57
216.239.38.57
216.239.38.55

Подготовка сервера с ролью Р7 Диск

Уточнение

Установка Корпоративного сервера 2024 производится по инструкции ↗.

Настройка Корпоративного Сервера 2024

Создайте единый сертификат для работы службы синхронизации в формате .pfx
Обратите внимание

Важно. Не задавайте пароль для сертификата .pfx. Оставьте поле пароля пустым. Файлы *.pem должны быть с шифрованием RSA. Сертификат типа pfx содержит в себе открытый ключ, закрытый ключ и цепочку сертификатов. Для его создания необходимо наличие закрытого, открытого ключей и цепочки сертификатов.

Пример команды для создания:

openssl pkcs12 -export -out /opt/r7-office/Api/certificate.pfx -inkey private-key.pem -in certificate.pem -certfile certificate-chain.pem

Где:

  • -export — указывает на экспорт сертификата в формат PFX.
  • -out certificate.pfx — задает имя файла, в который будет сохранен PFX сертификат.
  • -inkey private-key.pem — указывает путь к файлу с закрытым ключом.
  • -in certificate.pem — указывает путь к файлу с открытым ключом.
  • -certfile certificate-chain.pem — указывает путь к файлу с цепочкой сертификатов.

Сертификат будет размещен в директории /opt/r7-office/Api/.

Внесите изменения в файле конфигурации /opt/r7-office/Api/appsettings.json
"OAuth20": {
    "SigningCertificateFile": "certificate.pfx"
},
"DbType": "postgre"
}

Полный путь до pfx-сертификата не указывается, если он находится в текущей для конфигурации директории.

В секции SigningCertificateFile добавьте реальное имя сертификата, созданного на шаге создания, например, certificate.pfx.

Права на созданный файл выставьте 755:

chmod 755 /opt/r7-office/Api/certificate.pfx
Перезапустите зависимые службы командой:
supervisorctl restart cddisk:api cddisk:processing
Доступ к RabbitMQ

При включенной службе firewalld необходимо выполнить настройку:

sudo firewall-cmd --permanent --add-port=5672/tcp
sudo firewall-cmd --reload

Проверьте, что в Админ панели диска есть данные пользователя RabbitMQ.

Для этого откройте админ панель и авторизуйтесь под УЗ суперадмина. Перейдите в общие настройки и выберите «Включить» в Команде.

Если пользователь RabbitMQ отображен, то следующий пункт создания пропускается.

Создание пользователя RabbitMQ

Если строки нет, то необходимо создать пользователя.

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

rabbitmqctl add_user commands commands
rabbitmqctl set_user_tags commands administrator
rabbitmqctl set_permissions -p / commands ".*" ".*" ".*"

Установка и настройка серверов

Установка Медиа-сервера модуля Команда

Подготовка к установке

Обратите внимание

Важно. ОС для установки используется Debian 11 Bullseye английская версия (локализация) без графического интерфейса. Установка производится только из под суперпользователя (root).

Важно

При установке ПО в виртуальную машину необходимо проверить, что все команды физического процессора (CPU) передаются виртуальному процессору. Для этого проверьте что в виртуальной машине НЕ включены режимы совместимости со старыми процессорами (процессорами разных поколений).

Например: в гипервизоре Microsoft Hyper-V, это опция называется «Migrate to a physical computer with different processor verion» (данная настройка находится в настройка конкретной виртуальной машины в разделе «Processor» -> «Compatibility»).

Уточнение

Для установки кластера медиа-серверов воспользуйтесь инструкцией ↗

Важно

Чтобы исключить влияние на процесс установки разрывов связи рекомендуется использовать tmux/screen (мультиплексор) при установке системы.

Файл /etc/hosts необходимо привести к виду:

127.0.0.1 localhost
ip_адрес домен

Например:

Скопировать установочный архив и ранее выписанный ssl сертификат и ключ на сервер.

Архив с дистрибутивом размещаем в каталоге /opt, ssl сертификат и ключ в каталоге /etc/ssl.

Переходим в каталог с архивом:

cd /opt

Проверяем чексумму с чек суммой на сайте командой:

md5sum install_r7_team*

Распаковываем архив:

mkdir -p install && tar -xzf install_r7_team*.tar.gz -C install

Переходим в каталог с разархивированным содержимым:

cd install

Выполняем команду перед запуском скрипта установки:

apt remove libx11-6

И запускаем скрипт установки:

chmod +x install.sh && ./install.sh

Процесс установки медиа сервера

Выбираем язык и переходим в установку медиа сервера:

Продолжаем установку:

Вводим имя медиа сервера:

Настроить https отвечаем Да:

И указываем путь к сертификату и ключу на сервере:

После этого запустится процесс установки, ожидаем завершения.

По завершению процесса инсталляции пользователю будет выдано информационное сообщение о результатах инсталляции.

Для доступа к функционалу видеоконференцсвязи необходим идентификатор приложения и его токен доступа.
По умолчанию он будет сохранен в файл /root/.team/config

Выходим из скрипта установки:

Установка сервера управления модуля Команда

Подготовка к установке

Уточнение

ОС для установки используется Debian 11 Bullseye английская версия (локализация) без графического интерфейса.
Установку производить только из под суперпользователя (root)

Файл hosts приводим к виду:

127.0.0.1 localhost
ip_адрес домен

Например:

Скопировать установочный архив и ранее выписанный ssl сертификат и ключ на сервер.

Архив с дистрибутивом размещаем в каталоге /opt, ssl сертификат и ключ в каталоге /etc/ssl.

Переходим в каталог с архивом:

cd /opt

Проверяем чексумму с чек суммой на сайте командой:

md5sum install_r7_team*

Распаковываем архив:

mkdir -p install
tar -xzf install_r7_team*.tar.gz -C install

Переходим в каталог с разархивированным содержимым:

cd install

Выполняем команду перед запуском скрипта установки:

apt remove libx11-6

И запускаем скрипт установки:

chmod +x install.sh
./install.sh

Процесс установки сервера управления

Переходим в меню установки сервера управления:

Отмечаем компоненты для установки, если не используются внешние:

Вводим используемое имя сервера:

Выбираем порт для HTTP:

Настраиваем HTTPS:

Выбираем порт для HTTPS:

Указываем пути к ssl сертификату и ключу:

Задаем учетные данные администратора и название его организации:

Вводим путь для хранения файлов:

Настраиваем подключение к медиа серверу:

И указываем адрес для подключения:

где r7team-m.sip2.p7office.ru — это адрес обращения к медиа серверу, который указывается на сервере шлюз в файле /etc/nginx/conf.d/r7teamm.conf по умолчанию.

Повторяем адрес в следующем окне:

Значения applicationId и applicationToken вводим из файла /root/.team/config на медиа сервере:

Выбираем Yes для проверки доступа до медиа сервера:

В случае возникновения проблем с соединением получим ошибку:

Настройку SIP выполним позже:

Выбираем интеграцию с Корпоративным сервером 2024:

Вводим адрес админ панели корпоративного сервера:

И адрес диска:

Client Id и Client Secret для Р7 Команда вводим из админ панели Корпоративного сервера 2024:

Если для КС 2024 используется брокер, расположенный на том же сервере, что и сам КС 2024, то в адрес и порт очереди вводим ip адрес диска (в ином случае вводим адрес и порт брокера):

Логин и пароль вводим из админ панели Диска:

Проверяем подключения к брокеру:

В случае возникновения проблем с соединением, получим ошибку:

При необходимости включаем push-уведомления для мобильных устройств:


Уточнение

Если вы планируете использовать push-сервис для получения уведомлений, необходимо запросить значения Application ID и Application KEY. Для этого обратитесь в техническую поддержку по электронной почте: support@r7-office.ru. Эти данные требуются для активации и корректной работы push-уведомлений.

Далее вводим полученные значения:

Выбираем, как хотим передавать данные:


Уточнение

При настройке push-сервиса вы можете выбрать один из двух вариантов передачи данных:

  • Обезличенные данные — в этом режиме в push-уведомлениях передаются только технические идентификаторы событий, без текста и личной информации.
  • Данные в зашифрованном виде — в этом режиме текст уведомления передаётся через сервис Google, но в зашифрованном виде. Расшифровка возможна только на устройстве получателя.

Выбор режима зависит от ваших требований к безопасности и удобству отображения уведомлений.

Проверяем данные для подключения к сервису:

В случае ошибки ввода получим ошибку:

В последнем окне проверяем введенные данные и нажимаем Продолжить (или Настроить заново для изменения):

И ожидаем завершения установки:

После завершения установки переходим в админ панель сервера управления ↗.

Вводим учетные данные администратора и загружаем файл лицензии.

Далее переходим в админ панель Р7 Диска и, на вкладке Общие настройки, нажимаем Синхронизировать.

После синхронизации в админ панели сервера управления должно быть указано количество пользователей равное количеству пользователей Р7 Диска:

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

После ввода учетных данных пользователя Р7 Диск во всплывающем окне вы будете автоматически перенаправлены в Р7 Команда:

Установка сервера с ролью Шлюз модуля Команда

Подготовка сервера с ролью Шлюз

Установим nginx выполнив команды (дальнейшие примеры для debian):

apt-get update -y && apt-get install nginx coturn -y

Настройка nginx прокси-сервера

Настройте обратный прокси-сервер nginx выполнив выполнив следующие действия.

Настройка проксирования админ панели диска

Создадим файл конфигураций /etc/nginx/conf.d/r7admin.conf выполнив команду:

nano /etc/nginx/conf.d/r7admin.conf

И добавив туда следующий текст:

server {
    listen 80;
    server_name admin.{your.domain.ru};
    server_tokens off;
  
    ## Redirects all traffic to the HTTPS host
    return 301 https://$server_name$request_uri;
}
server {
    listen  443 ssl http2;
    server_name admin.{your.domain.ru};
    ssl_certificate     /etc/ssl/{your.domain.ru}.crt;
    ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
    ssl_session_timeout 24h;
#    ssl_session_cache shared:SSL:16m;
    ssl_session_tickets on;
    ssl_prefer_server_ciphers on;
    ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    add_header Strict-Transport-Security "max-age=31536000;";
  
    location / {
  
        proxy_pass         https://admin.{your.domain.ru};
  
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                real_ip_header X-Forwarded-For;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header P3P;
                proxy_pass_header Set-Cookie;
  
    }
}

Где:

  • admin.{your.domain.ru} — имя модуля Р7-Админ Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования диска

Создайте файл конфигураций /etc/nginx/conf.d/r7disk.conf выполнив команду:

nano /etc/nginx/conf.d/r7disk.conf

Добавив туда следующий текст:

server {
    listen 80;
    server_name cddisk.{your.domain.ru};
    server_tokens off;
  
    ## Redirects all traffic to the HTTPS host
    return 301 https://$server_name$request_uri;
}
server {
    listen  443 ssl http2;
    server_name cddisk.{your.domain.ru};
    ssl_certificate     /etc/ssl/{your.domain.ru}.crt;
    ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
    ssl_session_timeout 24h;
#    ssl_session_cache shared:SSL:16m;
    ssl_session_tickets on;
    ssl_prefer_server_ciphers on;
    ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
    add_header Strict-Transport-Security "max-age=31536000;";
  
    location / {
  
        proxy_pass         https://cddisk.{your.domain.ru};
  
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                real_ip_header X-Forwarded-For;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header P3P;
                proxy_pass_header Set-Cookie;
  
    }
}

Где:

  • {your.domain.ru} — имя модуля Р7-диск Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования сервера документов

В случае если модуль Р7-Офис сервер документов установлен на отдельном имени создайте файл конфигураций /etc/nginx/conf.d/r7ds.conf выполнив команду:

nano /etc/nginx/conf.d/r7ds.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name ds.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name ds.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://ds.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Офис «Сервер документов» Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает сервер документов.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер документов.
Настройка проксирования модуля Проекты

В случае если модуль Р7-Проекты используется, создайте файл конфигураций /etc/nginx/conf.d/r7projects.conf выполнив команду:

nano /etc/nginx/conf.d/r7projects.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name projects.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name projects.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://r7projects.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Проекты Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования модуля Почта

В случае если модуль Р7-Почта используется, создайте файл конфигураций /etc/nginx/conf.d/r7mail.conf выполнив команду:

nano /etc/nginx/conf.d/r7mail.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name mail.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name mail.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://mail.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Проекты Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования модуля Календарь

В случае если модуль Р7-Календарь используется, создайте файл конфигураций /etc/nginx/conf.d/r7calendar.conf выполнив команду:

nano /etc/nginx/conf.d/r7calendar.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name calendar.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name calendar.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://calendar.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Проекты Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования модуля Контакты

В случае если модуль Р7-Контакты используется, создайте файл конфигураций /etc/nginx/conf.d/r7contacts.conf выполнив команду:

nano /etc/nginx/conf.d/r7contacts.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name contacts.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name contacts.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://contacts.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Проекты Корпоративный сервера 2024
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024
Настройка проксирования модуля Графика

В случае если модуль Р7-Графика сервер используется, создайте файл конфигураций /etc/nginx/conf.d/r7draw.conf выполнив команду:

nano /etc/nginx/conf.d/r7draw.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name draw.{your.domain.ru};
        server_tokens off;
 
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name draw.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
 
 
        location / {
                #if ($request_method = POST) {
                #        add_header Content-Type text/plain;
                #        return 403 $uri;
                #}
                proxy_pass https://draw.{your.domain.ru};
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

Где:

  • {your.domain.ru} — имя модуля Р7-Проекты Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата на котором работает Корпоративный сервера 2024.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата на котором работает сервер Корпоративный сервера 2024.
Настройка проксирования сервера управления Р7 Команда

Создайте файл конфигураций /etc/nginx/conf.d/r7team.conf выполнив команду:

nano /etc/nginx/conf.d/r7team.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name r7team.{your.domain.ru};
        server_tokens off;
  
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name r7team.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
  
        #location ~ ^/api/v2/file/webdav/files(.*)$ {
        #        deny all;
        #        return 403;
        #}
        #location ~ ^/api/upload(.*)$ {
        #        deny all;
        #        return 403;
        #}
        location / {
                proxy_pass https://ip_mgmt;
  
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                real_ip_header X-Forwarded-For;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header P3P;
  
        }
}

Где:

  • r7team.{your.domain.ru} — имя сервера Р7 Команда с ролью сервер управления.
  • ip_mgmt — внутренний IP сервера Р7 Команда с ролью сервер управления.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата, на котором работает сервер Р7 Команда с ролью сервер управления.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата, на котором работает сервер Р7 Команда с ролью сервер управления.
Настройка проксирования медиа сервера Р7 Команда

Создайте файл конфигураций /etc/nginx/conf.d/r7teamm.conf выполнив команду:

nano /etc/nginx/conf.d/r7teamm.conf

Добавив туда следующий текст:

server {
        listen 80;
        server_name r7team-m.{your.domain.ru};
        server_tokens off;
  
        ## Redirects all traffic to the HTTPS host
        return 301 https://$server_name$request_uri;
}
server {
        listen 443 ssl http2;
        server_name r7team-m.{your.domain.ru};
        ssl_certificate /etc/ssl/{your.domain.ru}.crt;
        ssl_certificate_key /etc/ssl/{your.domain.ru}.key;
        ssl_session_timeout 24h;
        #    ssl_session_cache shared:SSL:16m;
        ssl_session_tickets on;
        ssl_prefer_server_ciphers on;
        ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
        add_header Strict-Transport-Security "max-age=31536000;";
  
        #location ~ ^/api/v2/file/webdav/files/(.*)$ {
        #        deny all;
        #        return 403;
        #}
        location / {
                proxy_pass https://ip_media;
  
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Forwarded-Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                real_ip_header X-Forwarded-For;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass_header P3P;
                proxy_pass_header Set-Cookie;
  
        }
}

Где:

  • r7team-m.{your.domain.ru} — имя сервера Р7 Команда с ролью медиа-сервер.
  • ip_media — внутренний IP сервера Р7 Команда с ролью медиа-сервер.
  • /etc/ssl/{your.domain.ru}.crt — путь на диске сервера шлюза к открытому ключу SSL сертификата, на котором работает сервер Р7 Команда с ролью медиа-сервер.
  • /etc/ssl/{your.domain.ru}.key — путь на диске сервера шлюза к закрытому ключу ключу SSL сертификата, на котором работает сервер Р7 Команда с ролью медиа-сервер.

Проверяем корректность конфигурационных файлов nginx:

nginx -t

Если ошибок нет, перезапускаем сервис nginx:

systemctl restart nginx

Настройка ретрансляции медиа потоков coturn

Конфигурационные файлы coturn

Откройте файл /etc/default/coturn выполнив команду:

nano /etc/default/coturn

Измените параметр TURNSERVER_ENABLED=1 для автоматического запуска сервиса COTURN (раскомментировать).

Запустите сервис командой:

systemctl enable --now coturn

Сделайте резервную копию файла конфигурации командой:

mv /etc/turnserver.conf /etc/turnserver.conf.backup

Измените настройки в файле конфигураций /etc/turnserver.conf выполнив команду:

nano /etc/turnserver.conf

Приводим к виду:

realm=r7team-gw.sip2.p7office.ru
fingerprint
listening-ip=0.0.0.0
relay-ip=188.68.219.164
relay-ip=192.168.26.151
external-ip=188.68.219.164
min-port=5000
max-port=20000
log-file=/var/log/coturn/turnserver.log
verbose
Verbose
user=mediauser:12345678
lt-cred-mech

Где укажите следующие параметры:

  • realm — имя сервера Р7 Команда с ролью шлюз определяющееся из локальной сети и сети интернет.
  • listening-ip — IP адреса откуда разрешены запросы для подключения. (по умолчанию 0.0.0.0 слушает все).
  • relay-ip — укажите внешний IP адрес сервера шлюза к которому будут подключатся клиенты для перенаправления медиа трафика.
  • relay-ip — укажите внутренний IP адрес сервера шлюза.
  • external-ip — внешний IP адрес сервера шлюза к которому будут подключатся клиенты.
  • min-port — начальное значение диапазона портов при выделении порта сессии медиа трафика.
  • max-port — конечное значение диапазона портов при выделении порта сессии медиа трафика.
  • log-file — путь к файлу журнала событий сервиса coturn. По умолчанию: /var/log/coturn/turnserver.log.
  • user — имя пользователя и пароль для подключения к сервису coturn.

Перезапустите сервис coturn выполнив команду:

systemctl restart coturn

В случае когда Р7 Команда публикуется в сеть интернет через сервер Шлюз необходимо произвести донастройку файла конфигураций на сервере медиа.

Создаем каталог:

mkdir -p /root/.team/config.d

Внутри каталога создаем файл:

nano /root/.team/config.d/ss-production.properties

Добавляем в файл следующий текст:

mind.turn.url=turn:r7team-gw.sip2.p7office.ru:3478
mind.turn.username=mediauser
mind.turn.password=12345678

Где:

  • mind.turn.url — имя и порт сервер Р7 Команда с ролью шлюз определяющееся из локальной сети и сети интернет указанное при установке в пункте 3.4.15.4.
  • mind.turn.username — имя пользователя указанное при настройке сервиса coturn сервера Р7 Команда с ролью шлюз, записано в файле /etc/turnserver.conf сервера Шлюз.
  • mind.turn.password — пароль пользователя указанный при настройке сервиса coturn сервера Р7 Команда с ролью шлюз.

Перезапустите сервис coturn выполнив команду:

systemctl restart coturn

Настройка SIP телефонии

В примере рассмотрим настройку с сервером телефонии Asterisk со следующими требованиями:

на отдельной виртуальной машине должно быть установлено следующее программное обеспечение:

  • IP-АТС Asterisk версии не ниже 16.
  • Панель управления FreePBX версии не ниже 15.

Настройка SIP-домена на стороне Asterisk

В консоли сервера Asterisk отредактируйте файл /etc/asterisk/pjsip_custom_post.conf, добавив него строки:

[global](+)
default_realm=<Внутренний IP сервера Asterisk>

Перезапустите сервер Asterisk.

Настройка trunk с медиасервером

Переходим в раздел Подключения - Транки:

Выбираем Добавить SIP Trunk:

На вкладке Общие прописываем значения, как на скриншоте:

На вкладке PJSIP Settings отключаем регистрацию и аутентификацию, пропишем контекст и IP-адрес медиасервера в локальной сети:

На вкладке с расширенными настройками установите режим информации:

Остальные параметры транка оставьте без изменений. Для применения внесенных изменений нажмите Apply Config в верхнем правом углу.

Настройка маршрута для вызова на медиа сервер

Выбираем исходящие маршруты:

Заполняем поля, как на скриншоте и указываем созданный ранее транк:

На второй вкладке указываем префикс и шаблон номера, соответствующий внутренней нумерации в Командах:

Остальные параметры исходящего маршрута оставьте без изменений.

Сохраните конфигурацию и примите изменения.

Для подключения внешней АТС воспользуйтесь инструкцией ↗ пункт 6.

Реконфигурация Р7 Команды для Настройки SIP телефонии

Переходим на сервере управления Р7 Команды и запускаем скрипт установки/конфигурации:

cd /opt/install && ./install.sh

Выбираем Конфигурация сервера управления:

Оставляем все значения по умолчанию до появления запроса настройки SIP телефонии и выбираем Yes:

Режим интеграции ставим TRUNK:

Вводим SIP-адрес учетной записи в формате sip:9999@ip-адрес медиа сервера:

Далее 9999 будет использоваться для звонков в Р7 команды:

Вводим локальный адрес сервера asterisk с портом:

Можно указать коды для пропуска нормализации номера или оставить поле пустым.

При настройке АТС часто задают коды для звонка в город или иных целей.

В таком случае необходимо чтобы сервер управления не производил нормализацию номера, а передавал номер как есть:

Далее минимальная длина номер для нормализации:

Далее оставляем настройки для подключения к Р7 диску и завершаем конфигурацию.

После завершения необходимо настроить медиа сервер.

Настройка медиа сервера

В файл /etc/gate/gate.conf убираем локальную сеть из раздела blacklist:

В файле /etc/gate/gate.conf.d/applications.conf добавляем строку "telephone": "0:0006" и вносим адрес webhook вида <адрес сервера управления команд>/api/v2/mind/sipcall:

В файл /etc/gate/gate.conf.d/webhook.conf также вносим webhook:

Создаем файл /etc/gate/gate.conf.d/sip.conf с содержимым:

{
    "sip": {
        "blacklist": [
            "127.0.0.0/8"
        ],
        "gateways": [{
            "id": "0",
            "server": "192.168.26.92",
            "username": "media",
            "password": "12345678",
            "expires": 3600
        }]
    }
  
}

Где:

  • server-ip — адрес в локальной сети сервера asterisk.
  • username — логин для авторизации из файла /etc/turnserver.conf сервера coturn.
  • password — его пароль.

Сохраняем файл.

И перезапускаем медиа сервер после сохранения.

Тестовый звонок

Asterisk

Переходим в панель управления Asterisk на вкладку Applications/Extensions и создаем новый Extension:

Указываем имя, отображаемое имя и пароль:

Переходим в админ панель Р7 Диска.

Добавляем роль администратора выбранной УЗ для авторизации в Р7 Командах:

Далее авторизуемся под этой УЗ в админ панели Р7 Команд ↗.

На вкладке Пользователи создаем нового пользователя и добавляем ему SIP номер:

Сохраняем пользователя и авторизуемся в Р7 Команда под этим пользователем.

И выполняем тестовый звонок с SIP устройства на номер 2007 в формате 992007:

Где:

  • 99 — префикс номера указанный в настройках исходящего маршрута.
  • 2007 — SIP номер пользователя, который задан в админ панели Р7 Команды.

Если все настроено корректно, то вызов пройдет к пользователю Р7 Команды.