You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ADN-DMR-Peer-Server/docs/es/server/user-guide/hotspot-proxy.md

5.0 KiB

Proxy hotspot (integrado)

ADN DMR Peer Server incluye un proxy hotspot integrado: un solo proceso (adn-server.py) acepta Homebrew (HBP) de muchos hotspots en un único puerto UDP e inyecta el tráfico en un MASTER configurado. No hace falta un proceso adn-proxy aparte cuando este modo está activo.

La configuración está en adn-server.yaml, bloques PROXY y opcional SELF_SERVICE (misma tabla MySQL Clients que adn-monitor).


Cuándo usarlo

Despliegue Qué ejecutar
Stack ADN habitual (monitor + panel + muchos hotspots Pi-Star) adn-server.py con PROXY + SELF_SERVICE.

El proxy integrado usa fan-in: los hotspots solo necesitan PROXY.LISTEN_PORT (p. ej. 62031). El MASTER destino es solo inyección — no abre su propio puerto UDP para ese system (sin rango de puertos por hotspot en el host del servidor).


Dependencia opcional (self-service)

El self-service con MySQL requiere mysqlclient:

pip install -e ".[selfservice]"

Si USE_SELFSERVICE: true pero falta mysqlclient, el arranque falla con un error claro. Pon USE_SELFSERVICE: false para usar el proxy sin BD (sin actualizaciones RPTO desde el panel).


Claves PROXY

Clave Rol
LISTEN_PORT Puerto UDP al que se conectan los hotspots (el que configuran en el dispositivo).
LISTEN_IP Dirección de bind; vacío = todas las interfaces.
TARGET_SYSTEM Nombre del MASTER en SYSTEMS que recibe el HBP inyectado (debe existir y estar ENABLED).
TIMEOUT Timeout de sesión inactiva (segundos); las sesiones caducadas se eliminan en el MASTER.
DEBUG Log detallado de paquetes.
CLIENT_INFO Log de conexión/desconexión por ID de radio.
BLACK_LIST Bloquea IDs de radio listados.
IP_BLACK_LIST Bloquea IPs origen (con caducidad opcional).

En PROXY integrado no hay MASTER, PORT ni GENERATOR — eso corresponde al proxy independiente legado. El MASTER destino usa MAX_PEERS (no un rango UDP) para limitar hotspots simultáneos.

Ejemplo (de adn-server.example.yaml):

PROXY:
  LISTEN_PORT: 62031
  LISTEN_IP: ""
  TARGET_SYSTEM: SYSTEM
  TIMEOUT: 30
  DEBUG: false
  CLIENT_INFO: true
  BLACK_LIST: []
  IP_BLACK_LIST: {}

MASTER destino solo inyección

Cuando PROXY.TARGET_SYSTEM apunta a un system (p. ej. SYSTEM), al arrancar se eliminan IP / PORT de ese bloque MASTER. Los hotspots nunca se conectan al puerto de conferencia; todo el HBP entra por LISTEN_PORT.

Define MAX_PEERS en el MASTER destino como máximo de hotspots simultáneos (p. ej. 102). Otros MASTER (ECHO, D-APRS, etc.) mantienen IP / PORT normales si no son el destino del proxy.


Claves SELF_SERVICE

Misma semántica que adn-monitor.yaml — tabla Clients compartida, flag modified, RPTO hacia el MASTER.

Clave Rol
USE_SELFSERVICE Activa sincronización de opciones con MySQL (true / false).
DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_PORT Conexión MySQL.
PBKDF2_SALT, PBKDF2_ITERATIONS Deben coincidir con adn-monitor.yaml para el hash de contraseñas.

Al arrancar el servidor registra (SELF_SERVICE) Database connection test: OK y (SELF_SERVICE) Enabled si el pool conecta. El self-service es asíncrono; el reenvío de voz no se bloquea por latencia de BD.

Detalle del flujo en el panel: Self-service.


Comportamiento con varios hotspots

  • Cada hotspot autenticado es un peer en el MASTER de inyección con sus OPTIONS (TG estáticas). Repeat y el fan-out del monitor respetan OPTIONS por peer — el tráfico de un TG no se envía a peers que no lo tienen seleccionado.
  • Los talkgroups eco 9990–9999 omiten el filtro OPTIONS y vuelven al hotspot llamante (ver Números especiales).

Recarga en caliente (SIGHUP)

Se aplica sin reiniciar (las sesiones activas del proxy se mantienen):

  • PROXY: TIMEOUT, DEBUG, CLIENT_INFO, BLACK_LIST, IP_BLACK_LIST
  • SELF_SERVICE: se fusiona en config (cambios de credenciales en nuevas operaciones BD; los bucles no se reinician en reload)

Requiere reinicio completo del proceso:

  • PROXY.LISTEN_PORT / LISTEN_IP (el cambio de bind se registra y se ignora en reload)
  • PROXY.TARGET_SYSTEM
  • Activar o desactivar USE_SELFSERVICE tras el arranque

Ver Configuración — recarga en caliente.


Ver también

Powered by TurnKey Linux.