Перейти к основному содержимому

Сетевые требования

Эта страница генерируется скриптом scripts/gen-network-requirements.sh из вывода mpbx ports --markdown. Не редактируйте её вручную: измените таблицу в pbx/bin/mpbx/src/ports_cli.rs и снова запустите скрипт.

Ту же таблицу можно вывести на установленном сервере командами mpbx ports (текст) или mpbx ports --markdown. Команда mpbx ports --config /etc/mpbx/mpbx.toml (или при заданной переменной MPBX_CONFIG) сначала выводит список слушателей, которые ваша конфигурация действительно открывает, из разделов [http], [tls], [sip], [metrics] и [ice], а затем таблицу. Команда не открывает сокетов и ничего не меняет. Чтобы проверить, что слушатели запущены на сервере, выполните mpbx doctor.

Правила, которые действуют для любой установки​

  • Открывайте наружу только входящие строки, которые вам нужны. Базы данных, кэш, ClickHouse и порт метрик остаются в закрытой сети.
  • Телефонам, браузерам и транкам нужен UDP, TCP или TLS до SIP-портов, которые они используют. Межсетевой экран, который блокирует SIP-порты, не даёт телефонам зарегистрироваться.
  • Медиа использует один диапазон UDP в обоих направлениях. Оставьте диапазон открытым для телефонов и транков, которые передают медиа, и настройте NAT для него, если АТС стоит за маршрутизатором.
  • Публичный HTTPS нужен для каналов обмена сообщениями (WhatsApp, Messenger, Telegram), виджета живого чата и браузерного софтфона. Meta, Telegram и виджет должны обращаться к адресу на порту 443 с сертификатом публичного центра сертификации.
  • В установках в изолированной среде остаются только входящие строки собственных пользователей и внутренние строки. Исходящие строки, которым нужен интернет, там не работают; см. страницу об установке в изолированной среде.

Порты по направлению​

НаправлениеПротоколПортФункцияКто подключаетсяЗадаётся
входящийhttps443 (адрес в [http] listen)Веб-клиент, REST API, вход в систему, URL автоматической настройкиБраузеры, софтфоны, настольные телефоны (автоматическая настройка), администраторы[http] listen, [setup] fqdn
входящийtcp80Простое перенаправление HTTP и проверка ACME HTTP-01Публичный интернет (центр сертификации)автоматические сертификаты (настройки ACME в [tls])
входящийudp5060 (пример; задаётся listen_udp)Сигнализация SIP по UDPНастольные телефоны, софтфоны в локальной сети, SIP-транки[sip] listen_udp
входящийtcp5060 (пример; задаётся listen_tcp)Сигнализация SIP по TCPНастольные телефоны, SIP-транки[sip] listen_tcp
входящийtls5061 (задаётся listen_tls)SIP через TLS (sips:)Настольные телефоны, софтфоны, SIP-транки, которым нужен TLS[sip] listen_tls
входящийhttps443 через обратный прокси, путь /sip (задаётся listen_ws, listen_wss)SIP через WebSocket и защищённый WebSocket (браузерный софтфон)Браузерные софтфоны[sip] listen_ws, listen_wss, trusted_proxies
входящийudp10000-59999 (диапазон rtpengine; используется в обоих направлениях)Медиа (RTP и SRTP, аудио и видео)Телефоны, софтфоны, браузеры, транкиrtpengine RTPE_PORT_MIN / RTPE_PORT_MAX
входящийtcp+udp3478 (STUN и TURN); 5349 для TURN через TLSМедиа-ретранслятор для обхода NAT (STUN и TURN)Браузеры и софтфоны за NAT[ice] stun_urls, [ice] turn_urls
входящийudp5060 на адрес 224.0.1.75 (только локальная сеть; не маршрутизируется)Обнаружение телефонов plug-and-play (multicast)Настольные телефоны в том же сегменте локальной сети[provisioning] pnp_listener
внутреннийtcp9464Метрики Prometheus, /healthz и /readyzТолько узел мониторинга; никогда не публикуется[metrics] listen
внутреннийtcp5432База данных (PostgreSQL)Только службы АТСстрока подключения к базе данных
внутреннийtcp6379Кэш и шина (Valkey)Только службы АТСстрока подключения к кэшу
внутреннийtcp8123История звонков и аналитика (ClickHouse HTTP)Только службы АТСURL ClickHouse
исходящийhttps443Push-уведомления через ретранслятор MonoPbxХост ретранслятора (публичный адрес ретранслятора)настройки ретранслятора ([push]); для установок в изолированной среде не нужны
исходящийhttps443Центр сертификации (ACME)Центр сертификациитолько для автоматических сертификатов
исходящийtcp+udp5060 (UDP, TCP) или 5061 (TLS), как указано у транкаSIP-транки и провайдерыSIP-провайдернастройки транка
исходящийudp10000-59999 (исходящий диапазон)Медиа к транкам и удалённым конечным точкамSIP-провайдер и удалённые конечные точкидиапазон rtpengine
исходящийhttps443SMS через провайдеров по HTTPS и провайдеров ИИ (со своим ключом)Публичный HTTPS-адрес провайдеранастройки провайдера
исходящийhttps443 (graph.facebook.com, api.telegram.org)Каналы обмена сообщениями (Meta WhatsApp и Messenger, Telegram)Провайдер канала; провайдер обращается обратно на входящий HTTPS-адреснастройки канала (омниканальность)
исходящийtcp2775 (по умолчанию; задаётся SMSC)SMS через SMPPSMS-центрhost, port провайдера SMPP
исходящийtcp587 (STARTTLS) или 465 (TLS)Электронная почта (голосовая почта, уведомления, отчёты)Почтовый сервернастройки SMTP в [email] или у провайдера
исходящийtcp+udp53DNS-запросы для SIP и сертификатовDNS-резолверсистемный резолвер хоста
исходящийudp123Синхронизация времени (рекомендуется)Сервер NTP; на изолированной площадке подойдёт локальныйслужба NTP хоста

В каждой строке указан ключ настройки, который её задаёт. Функция, которая отключена, не открывает ни одной своей строки.