Control Room - JanHG98/netcore-tetra GitHub Wiki

Control Room und Node Gateway

Aktueller Quellenstand 07.10.2026: main 990bffb2; Release weiterhin v1.9.0. PR #59 mit Hell/Dunkel ist integriert, PR #60 ergänzt Projektarchive. Nur main ist als Branch vorhanden. Deployment/Discovery, Imagebuilder, Pi-VPN und neuere Syslog-Pipeline bleiben ausschließlich am historischen Featurecommit bbf0397 vorhanden. Keine neue Live-Abnahme. Roadmap und Releases · Upstream-Vergleich

Oberflächen auf main seit PR #59

26 TBS-Ansichten und 29 Dienst-WebUIs verwenden das gemeinsame Design mit Hell/Dunkel. Die Basisstation behält zusätzlich Blau. Die Auswahl gilt pro Browser-Origin; Host-/Portwechsel teilen sie nicht. Rust-Binaries sowie Python-/HTML-Bundles betten die Assets ein, ein Node-Dienst ist nicht nötig. Design aktiviert kein zentrales IAM. Roadmap und Releases

Nach dem Update Anmeldung, Theme nach Neuladen, Formulare/Tabellen/Dialoge, schmale Darstellung und vorhandene Fachaktionen prüfen. RF-Lücken bleiben fehlende Daten; DSP-Pegel ist keine kalibrierte Antennenleistung. Nachbarzellenanzeige ist keine Handovermessung. Bei alten Assets Browser hart neu laden.

Dispatch und Identität

Zentrale IAM-Anbindung bleibt geplant; lokale Konten/Rollen sind keine netzweite SSO-Lösung. tetra-dispatch ist neue Audio/PTT-/LIP-Referenz mit Brew-Wireformat und eigenem Operator. NetCore muss die eigene Call-Control-/Media-Switch-Autorität beibehalten; Browser-Audio und echte Headset/PTT-Abnahme bleiben eigene Aufgaben. Upstream-Vergleich

Im verteilten Aufbau sind Node Gateway und Control Room verschiedene Dienste. Die TBS verbindet sich über [control_room] per WebSocket mit dem Node Gateway (/ws/node, Managementport im Beispiel 8080). Control Room (9010 im Inventory) zeigt netzweite Zustände und verarbeitet Operatoraktionen. Ein TBS-WebSocket direkt zur Control-Room-WebUI ist in dieser Topologie der falsche Zielpfad.

Daten- und Befehlsweg

TBS ── /ws/node ──> Node Gateway ── Fach-APIs/Backend-Sessions ──> Control Room
  <─────────────── Health-Matrix und autorisierte Kommandos ───────────────

node_id bezeichnet die TBS stabil im Backend. Control Room besitzt Operatorprofile, Rollen und Arbeitsplatzansichten; die lokale TBS bleibt RF- und CMCE-Instanz. Der vollständige Control-Room-Quellort enthält Core, UI, Auth-/Profil- und Deploymentunterlagen. Daneben gibt es bins/netcore-control-room; beim Deployment nicht ältere Standalone-Beispiele mit dem 25-Dienst-Inventory vermischen.

TBS-Anbindung im Open Lab

[control_room]
enabled = true
host = "<NODE-GATEWAY-IP>"
port = 8080
use_tls = false
endpoint_path = "/ws/node"
node_id = "TBS-LAB-01"
station_name = "TBS-LAB-01"
site = "Lab"

Nur diesen Block in eine vollständige und passende TBS-TOML übernehmen. Die sanitisierte Vorlage deaktiviert die Anbindung zunächst. Bei aktivem Open-Lab-Modus sind Node- und Managementverbindungen im isolierten Testnetz zu halten. Bei gesicherter Bereitstellung müssen Authentisierung und TLS für alle beteiligten Endpunkte gemeinsam geplant werden. Security-and-Operations

Bedienung und Grenzen

Die Codebasis bereitet Operatorrollen und Profile für menschliche Zugriffe vor. Im aktuellen Open-Lab-Profil sind Authentisierung und Rollenprüfung jedoch absichtlich deaktiviert (auth.enabled=false und --no-auth). Vor einem gesicherten Betrieb müssen Anmeldung, TLS, Maschinenidentität und Rechte gemeinsam aktiviert und getestet werden. Ein Node-Token (falls konfiguriert) dient dagegen der TBS-Identität. Der UI-Arbeitsplatz ersetzt weder die Teilnehmerdaten des Subscriber Core noch die Gruppenpolicy des Group Core. Bei Ausfall des Control Room kann die TBS lokal weiterarbeiten; bei Node-Gateway-Ausfall folgt sie dem [Mehrzellenbetrieb]]- und [Fallback-Verhalten.

Für einen Fehler zuerst Gateway-Listener, /ws/node, Service-Matrix und TBS-Logs prüfen, anschließend Control Room und dessen Fach-APIs. Netzwerk-und-Ports · Troubleshooting

Lesende Gateway-Telemetrie für Warnungen

Ab v1.9.0 liest [node_gateway] die Teilnehmer-/GPS-Lage über ws://node-gateway:8080/ws/backend. Die Vorlage startet mit enabled=false, reconnect_secs=3, timeout_secs=10 und stale_after_secs=30. Dieselbe Gateway-Adresse wie beim SDS Router setzen und den tatsächlich von der Unit gelesenen Config-Pfad prüfen. Nach Erstverbindung neue Registrierung/GPS-Meldung abwarten; ein vollständiger alter Positionssnapshot wird nicht geliefert. Dieser Kanal ermöglicht die Warnzentrale, ersetzt aber keine Fachautorität der Core-Dienste.

Stand des nativen Leitstellen-Arbeitsplatzes

Die native Rust-UI verwendet eframe/egui und enthält bereits abtrennbare Fenster sowie Kartenansichten. Ein vollständiger Desktop-Audio-/PTT-Pfad und die gewünschte NFC/RFID-/AD-Anmeldung sind damit nicht belegt. Die weitere Planung umfasst kleine Touchscreens bis zu mehreren Monitoren, einen klar abgegrenzten Dispatch-/Audiopfad und ein wirksames Rollenmodell. Projektideen und Entwicklungsstand · Roadmap und Releases

Upstream-Prüfpunkt vom 02.10.2026

Bost FlowStation bb87b84c korrigiert die lokale LST-Konsole: Hangtime-Late-Entry ohne aktiven Sprecher darf RX/PTT nicht als belegt verriegeln; Rufende räumt RX und Preempt auf. NetCore hat einen eigenen nativen Control Room und kein entsprechendes net_lst_dispatch-Modul. Die Zustandsfälle sind als Testkonzept sinnvoll übertragbar, ein direkter Patch oder ein nachgewiesener NetCore-UI-Fehler folgt daraus nicht. Vor Umsetzung Event-Verträge zwischen Arbeitsplatz, Call Control, Medien und Brew abgleichen. Upstream-Vergleich

Planungsreferenzen: Zentrale Anmeldung und RBAC · NetCore Drive. Beide Vorhaben sind Planung; keine installierte main-Funktion.