Requisitos de red
Esta página la genera scripts/gen-network-requirements.sh a partir de mpbx ports --markdown. No la
edite a mano; cambie la tabla en pbx/bin/mpbx/src/ports_cli.rs y vuelva a ejecutar el script.
Para imprimir la misma tabla en un host instalado, use mpbx ports (texto) o mpbx ports --markdown.
mpbx ports --config /etc/mpbx/mpbx.toml (o con MPBX_CONFIG definido) muestra primero los listeners
que su configuración realmente abre, a partir de [http], [tls], [sip], [metrics] e [ice], y
después la tabla. El comando no abre ningún socket ni cambia nada. Para comprobar que los listeners
están activos en el host, ejecute mpbx doctor.
Reglas que aplican a todas las instalaciones
- Publique solo las filas de entrada que necesite. Las bases de datos, la caché, ClickHouse y el puerto de métricas permanecen en la red privada.
- Los teléfonos, los navegadores y las troncales necesitan UDP, TCP o TLS hacia los puertos SIP que usan. Un firewall que descarta los puertos SIP impide que los teléfonos se registren.
- El medio usa un rango UDP en ambos sentidos. Mantenga abierto el rango para los teléfonos y troncales que envían medio, y haga NAT del rango cuando el PBX esté detrás de un router.
- Para los canales de mensajería (WhatsApp, Messenger, Telegram), el widget de chat en vivo y el softphone de navegador se requiere HTTPS público. Meta, Telegram y el widget deben llegar a la dirección por el puerto 443 con un certificado de una autoridad certificadora pública.
- Las instalaciones aisladas conservan solo las filas de entrada de sus propios usuarios y las filas internas. Las filas de salida que necesitan Internet no funcionan ahí; vea la página de instalaciones aisladas.
Puertos por dirección
| Dirección | Protocolo | Puerto | Función | Quién se conecta | Configurado por |
|---|---|---|---|---|---|
| entrada | https | 443 (la dirección en [http] listen) | Cliente web, API REST, inicio de sesión, URL de aprovisionamiento | Navegadores, softphones, teléfonos de escritorio (aprovisionamiento), administradores | [http] listen, [setup] fqdn |
| entrada | tcp | 80 | Redirección HTTP sin cifrar y desafío ACME HTTP-01 | Internet público (autoridad certificadora) | certificados automáticos (ajustes ACME de [tls]) |
| entrada | udp | 5060 (ejemplo; lo define listen_udp) | Señalización SIP por UDP | Teléfonos de escritorio, softphones en la LAN, troncales SIP | [sip] listen_udp |
| entrada | tcp | 5060 (ejemplo; lo define listen_tcp) | Señalización SIP por TCP | Teléfonos de escritorio, troncales SIP | [sip] listen_tcp |
| entrada | tls | 5061 (lo define listen_tls) | SIP sobre TLS (sips:) | Teléfonos de escritorio, softphones, troncales SIP que exigen TLS | [sip] listen_tls |
| entrada | https | 443 a través del proxy inverso, ruta /sip (lo definen listen_ws, listen_wss) | SIP sobre WebSocket y WebSocket seguro (softphone de navegador) | Softphones de navegador | [sip] listen_ws, listen_wss, trusted_proxies |
| entrada | udp | 10000-59999 (el rango de rtpengine; ambos sentidos lo usan) | Medio (RTP y SRTP, audio y video) | Teléfonos, softphones, navegadores, troncales | RTPE_PORT_MIN / RTPE_PORT_MAX de rtpengine |
| entrada | tcp+udp | 3478 (STUN y TURN); 5349 para TURN sobre TLS | Relay de medios para atravesar NAT (STUN y TURN) | Navegadores y softphones detrás de NAT | [ice] stun_urls, [ice] turn_urls |
| entrada | udp | 5060 hacia 224.0.1.75 (solo LAN; no se enruta) | Descubrimiento de teléfonos plug-and-play (multicast) | Teléfonos de escritorio en el mismo segmento LAN | [provisioning] pnp_listener |
| interna | tcp | 9464 | Métricas de Prometheus, /healthz y /readyz | Solo el host de monitoreo; nunca se publica | [metrics] listen |
| interna | tcp | 5432 | Base de datos (PostgreSQL) | Solo los servicios del PBX | cadena de conexión a la base de datos |
| interna | tcp | 6379 | Caché y bus (Valkey) | Solo los servicios del PBX | cadena de conexión a la caché |
| interna | tcp | 8123 | Historial de llamadas y analítica (HTTP de ClickHouse) | Solo los servicios del PBX | URL de ClickHouse |
| salida | https | 443 | Notificaciones push a través del relay de MonoPbx | El host del relay (dirección pública del relay) | ajustes del relay ([push]); no necesario en instalaciones aisladas |
| salida | https | 443 | Autoridad certificadora (ACME) | La autoridad certificadora | solo certificados automáticos |
| salida | tcp+udp | 5060 (UDP, TCP) o 5061 (TLS), según lo indique la troncal | Troncales SIP y proveedores | El proveedor SIP | ajustes de la troncal |
| salida | udp | 10000-59999 (rango de origen) | Medio hacia troncales y extremos remotos | El proveedor SIP y los extremos remotos | rango de rtpengine |
| salida | https | 443 | Proveedores de SMS por HTTPS y proveedores de IA (con su propia clave) | La dirección HTTPS pública del proveedor | ajustes de cada proveedor |
| salida | https | 443 (graph.facebook.com, api.telegram.org) | Canales de mensajería (WhatsApp y Messenger de Meta, Telegram) | El proveedor del canal; el proveedor llama de vuelta a la dirección HTTPS de entrada | ajustes del canal (omnicanal) |
| salida | tcp | 2775 (por omisión; lo define el SMSC) | SMS por SMPP | El centro de SMS | host y port del proveedor SMPP |
| salida | tcp | 587 (STARTTLS) o 465 (TLS) | Correo electrónico (buzón de voz, notificaciones, reportes) | El servidor de correo | ajustes SMTP de [email] o del proveedor |
| salida | tcp+udp | 53 | Consultas DNS para SIP y certificados | El resolvedor DNS | resolvedor del host |
| salida | udp | 123 | Sincronización de hora (recomendado) | Un servidor NTP; uno local sirve en un sitio aislado | servicio NTP del host |
Cada fila indica la clave de configuración que la mueve. Una función desactivada no abre ninguna de sus filas.