Repository navigation
Releases: JanHG98/netcore-tetra
Release list
v1.9.0 – NINA/KATWARN, eigene Meldungen und Funk-/SDS-Korrekturen
NetCore-TETRA v1.9.0
Dieser Release führt die NINA/KATWARN-Warnzentrale und die Funk-/SDS-Korrekturen aus katwarn/nina mit dem aktuellen main zusammen. Er enthält außerdem die im laufenden Testbetrieb ergänzte Verwaltung eigener Meldungen, die korrigierten Asterisk-Dateirechte und die reparierte Cargo-Abhängigkeitsdatei.
Warnzentrale
- Standortbasierte Warnungen aus NINA/KATWARN und eigene Kreiswarnungen mit Titel, Text, Warnstufe, Radius und Ablaufzeit.
- Individuelle SDS an angemeldete Funkgeräte mit verwendbarer GPS-Position im Warngebiet. Die dauerhafte Zuordnung von Warnung und Gerät verhindert Wiederholungen derselben Warnung auch nach einem Neustart.
- Geräteübersicht mit Standort, GPS-Alter, TBS-Verbindung, passendem Warngebiet und Zustellzustand. Fehlende oder veraltete Daten bleiben als Prüfbedarf sichtbar.
- Ein eigener Verwaltungsbereich hält selbst erstellte Meldungen nach dem Senden auffindbar. Suche und die Filter Alle / Aktiv / Beendet unterstützen das Wiederfinden.
- Löschen beendet weitere Zustellungen auch vor Ablauf. Bereits gesendete Nachrichten und die Zustellhistorie bleiben erhalten. Eine zusätzliche Entwarnungs-SDS wird nicht erzeugt.
- Ein veralteter Statusabruf kann neu erstellte oder gelöschte Meldungen nicht mehr kurzzeitig zurücksetzen.
Funkbetrieb und Backend
- Ergänzte CMCE-Weiterleitung zentraler SDS- und Statusaufträge durch die Basisstation.
- Control-Room-Anbindung an die Geräte- und GPS-Telemetrie des Node Gateways.
- Dauerhafte Idempotenz und Rücknahme ausstehender Aufträge im SDS Router; Korrekturen für kurze SDS-/Status-Nutzdaten und für die Behandlung von Persistenz und langsamen Abhängigkeiten in SDS Router und Call Control.
- Korrekte normale Downlink-Bursts für obligatorische BNCH-Übertragungen auf belegten Kanälen. Die Änderung allein belegt keine vollständige Behebung aller möglichen Reregistrierungen oder Funkunterbrechungen.
Installation und Betrieb
- Der SIP Switch erzeugt seine drei Asterisk-Includes ausdrücklich mit Modus
0640und bei Ausführung als root mit der Gruppeasterisk, sofern diese vorhanden ist. Ein restriktivesumask 077beim Update macht die Dateien dadurch nicht mehr für Asterisk unlesbar. - Die Root-
Cargo.lockenthält die fehlenden IoT-Gateway-Abhängigkeiten sowie die notwendigen Feature-Abhängigkeiten vonchronounduuid. Es werden dafür keine Paketversionen angehoben. Die relevanten CI-Builds verwenden--locked. - Der neuere separate Brew-Server und die überarbeitete Dokumentation aus
mainbleiben erhalten. Eine bestehende Python-Brew-Installation wird durch diesen Release nicht automatisch auf den Rust-Brew-Server umgestellt. - Die Warn- und Reparaturanleitungen verwenden jetzt
mainbeziehungsweise diesen Release. Bestehende Checkouts aus der älteren Git-Historie können mit einem expliziten Fetch und einem detached Checkout umgeschaltet werden; lokale Änderungen müssen vorher gesichert werden. - Die neu angelegte
main-Historie wird fortgeführt. Ältere Commits bleiben über den Archivbranch und vorhandene Release-Tags erreichbar.
Aktualisierung
Die Installations- und Update-Anleitung je LXC/TBS beschreibt die Reihenfolge und die jeweiligen Hostrollen. Konfigurationen und Datenbanken erhalten, insbesondere die Warn- und SDS-Empfängerhistorie. Für einen reproduzierbaren Checkout:
git clone --branch v1.9.0 --single-branch https://github.com/JanHG98/netcore-tetra.git netcore-tetra-v1.9.0Bei bereits funktionierender Warnzustellung genügt für die neue Meldungsverwaltung das Update des Warn-LXC und anschließendes Neuladen der WebUI. Eine laufende, manuell gestartete TBS wird weiterhin mit ihrem bisherigen Startbefehl und ihrer bestehenden Konfiguration betrieben.
Prüfungen und Grenzen
Der Testbetrieb hat die Aussendung einer eigenen Warnmeldung und eine anschließende Empfangsmeldung des Funkgeräts bestätigt. Automatisierte Tests decken Warnzustellung, Persistenz, Rücknahme, Web-API, UI, zentrale SDS-/Statusweiterleitung, SIP-Dateirechte und den Funk-Scheduler ab. Die Linux-CI prüft außerdem die beteiligten Rust-Dienste und den Build der Basisstation.
„Von TBS angenommen“ im Warn-UI bestätigt weiterhin die Annahme zum Senden und ist keine Empfangs- oder Lesebestätigung. Bereits empfangene SDS lassen sich auf Funkgeräten nicht zurückholen. Vollständiges Handover laufender Gespräche zwischen Funkzellen und die Übertragung laufender SIP-Dialoge bei einer Fallback-Umschaltung sind weiterhin nicht enthalten. Die Backend-Dienste bleiben für den dokumentierten OPEN-LAB-Betrieb vorgesehen.
Archiv: Projektstand vor dem Contributor-Reset – 26.09.2026
Dieses Archiv-Release sichert den Projektstand vor der Neuaufstellung der main-Historie am 26.09.2026. Es bewahrt die ursprünglichen Commits, ihre Autoren und die bis zu diesem Stand erreichbare Entwicklungshistorie.
Ursprünglicher Branch: archive/pre-contributor-reset-2026-09-26
Gesicherter Commit: 32af356ec276dd651f9e6be4d05f2baeb5e2d100
Die enthaltenen Änderungen, einschließlich des separaten Brew-Servers und der Dokumentation, wurden in den aktuellen Hauptzweig übernommen und sind Bestandteil von v1.9.0.
Dieses Release dient der Archivierung und Nachvollziehbarkeit. Für Installationen und weitere Updates steht [v1.9.0](https://github.com/JanHG98/netcore-tetra/releases/tag/v1.9.0) zur Verfügung.
Der Archiv-Tag bleibt nach dem Löschen des ursprünglichen Branches erhalten und sichert weiterhin den historischen Stand.
Archiv: KatWarn/NINA-Entwicklungsstand – 27.09.2026
Dieses Archiv-Release sichert den ursprünglichen Entwicklungsstand des Branches katwarn/nina einschließlich seiner Commit-Historie. Das Archiv wurde anlässlich der Übernahme in den Hauptzweig angelegt.
Ursprünglicher Branch: katwarn/nina
Gesicherter Commit: 32e0e87d0994107dd007a541df308eae7c691ed2
Der Stand enthält die KatWarn-/NINA-Warnsystem-Integration sowie die auf diesem Branch entwickelten Funk- und SDS-Korrekturen.
Diese Änderungen wurden in main integriert und zusammen mit weiteren Korrekturen als [v1.9.0](https://github.com/JanHG98/netcore-tetra/releases/tag/v1.9.0) veröffentlicht. Für Installationen und weitere Updates sollte dieses reguläre Release verwendet werden.
Dieses Archiv bewahrt den ursprünglichen Branchstand vor den abschließenden Release-Korrekturen. Der Archiv-Tag bleibt nach dem Löschen des Branches erhalten und sichert weiterhin dessen historische Zwischenstände.
v1.9.0-beta.1 – MQTT, zentraler SIP-Switch und erweiterte Netzfunktionen
Dieser Vorabrelease aus dem Branch mqtt erweitert NetCore-TETRA um MQTT- und IoT-Anbindungen, einen zentralen SIP-Switch mit lokalem Fallback sowie zusätzliche Verwaltungs- und Monitoringdienste. Außerdem enthält er zahlreiche Korrekturen für Funkbetrieb, Rufabbau und die Verarbeitung unter Netzlast.
Gegenüber v1.8.0 umfasst dieser Stand 141 zusätzliche Commits.
- MQTT und IoT: Neues IoT-Gateway mit einheitlichem Ereignismodell, Befehlsverarbeitung, Quittierungen und konfigurierbaren Freigaberegeln.
- Home Assistant und Homematic: MQTT Discovery, Übernahme ausgewählter Zustände und optionale Anbindung von CCU3 beziehungsweise RaspberryMatic über XML-RPC. Beispiele und Installationshilfen sind enthalten.
- Mobility und zentrale Rufsteuerung: Erweiterte Teilnehmer-Routenauflösung sowie Anbindung zentraler Rufkommandos und einer begrenzten TETRA-Sprachframe-Brücke an den bestehenden MAIN-COMPAT-Funkstack.
- Zentrale SIP-Vermittlung: Verbindung zwischen vorhandener PBX und Basisstationen über einen zentralen SIP-Switch. Eingehende Rufe werden anhand der vom Mobility Core gemeldeten Basisstation vermittelt. Unterstützt werden numerische Funkziele sowie Ziele mit
T-Präfix. - Lokaler SIP-Fallback: Überwachter Wechsel zwischen zentraler Vermittlung und direkter PBX-Anbindung. Pro TBS wird jeweils nur eine externe Registrierung aktiv gehalten; Rückkehr und Fehlerbehandlung sind berücksichtigt.
- Anruferkennung und Rufende: Erhalt der Funkgeräte-ISSI auf dem Telefoniepfad, überarbeitete Signalisierung eingehender Telefon-Anrufernummern und korrigierte Übersetzung von SIP-/Q.850-Beendigungsursachen.
- Funkbetrieb und Diagnose: Korrekturen an DQPSK-Phasenanpassung, TX-Trägerzuordnung, Signalkontinuität und TETRA-Netzzeit. Synchronisierte Dienstinformationen beider Träger sowie zusätzliche Diagnosewerte für Registrierung und TX-Unterbrechungen.
- Verarbeitung unter Last: Aufzeichnungs-I/O und SIP-Medienverarbeitung wurden aus dem zeitkritischen Funkpfad ausgelagert. Begrenzte Netzwerkverarbeitung und bevorzugte Bearbeitung von Zugriffsbestätigungen und Grants entlasten den Funkbetrieb.
- Gruppenrufe: Korrekturen an Hangtime-Signalisierung auf dem zweiten Träger, Sprecherfreigabe und Rufabbau durch den ursprünglichen Rufbesitzer.
- Verwaltung und Monitoring: Neue Dienste für Hardware- und RF-Monitoring, Alarm- und Aufgabenabläufe sowie Asset-Verwaltung. Dazu kommen Weboberflächen und WAP-Formulare für strukturierte Aufgaben.
- Installation und Tests: Erweiterte Installations-, Update- und Reparaturwerkzeuge, Schutz vor kollidierenden SIP-Serverrollen, Asterisk-Installationshilfe für Trixie sowie zusätzliche Regressionstests und CI-Prüfungen.
Im bisherigen Testaufbau funktionieren Gespräche zwischen Funkgerät und Telefon in beiden Richtungen. Die Funkgeräte-ISSI wird am Telefon angezeigt. Auch die eingehende Anruferanzeige am Sepura SC20 mit V10.24 wurde mit passend konfigurierter FreePBX-Outbound-CID erfolgreich getestet.
Der Stand wird als Beta veröffentlicht. Vollständiges Handover laufender Gespräche zwischen Funkzellen ist noch nicht enthalten. SIP verwendet weiterhin den lokalen Medien-/Codec-Pfad; laufende SIP-Dialoge werden bei einer Fallback-Umschaltung nicht auf den anderen Weg übertragen. Die neuen Backend-Dienste sind im dokumentierten OPEN-LAB-Modus für ein isoliertes Testnetz vorgesehen.
Für die Aktualisierung sind die jeweiligen Hostrollen zu beachten: zentraler SIP-Switch und lokaler TBS-Fallback werden getrennt installiert. Bestehende Konfigurationen und Dienstzustände vor einer Umstellung sichern. Der zentrale Medienpfad benötigt zusammenpassende TBS- und Backend-Versionen.
[Installations- und Update-Anleitung](https://github.com/JanHG98/netcore-tetra/blob/c128a83cd3eef463de1e7e0c909af1fff4b84b36/Docs/CENTRAL_NETWORK_ROLLOUT.md) · [Änderungen gegenüber v1.8.0](v1.8.0...c128a83)
V1.8.0
Archiv: Alter main-Stand – v1.8.0
Dieses Archiv-Release sichert den historischen Stand des Branches main_old einschließlich seiner ursprünglichen Commit-Historie.
Ursprünglicher Branch: main_old
Gesicherter Commit: f0a4ae39ba8d7d54597732de09bf2025ba45b403
Entspricht dem bestehenden Release: [v1.8.0](https://github.com/JanHG98/netcore-tetra/releases/tag/v1.8.0)
Archivierungsdatum: 27.09.2026
Das Archiv bewahrt den damaligen Entwicklungsstand und die bis zu diesem Commit erreichbaren Zwischenstände. Es dient der historischen Nachvollziehbarkeit und ermöglicht das Aufräumen des alten Branches.
Für aktuelle Installationen und weitere Updates steht [v1.9.0](https://github.com/JanHG98/netcore-tetra/releases/tag/v1.9.0) zur Verfügung.
Der Archiv-Tag bleibt nach dem Löschen von main_old erhalten. Der historische Stand ist zusätzlich über den bestehenden Tag v1.8.0 gesichert.
V1.7.0 - Added Core SNDCP Functions
Merge pull request #9 from JanHG98/wap Wap
minor bugfixes
v1.6.0 - Added Text to Speech for automated Calls
Merge pull request #7 from JanHG98/tts Tts
v1.5.0 — Complete Audio Center & NFS Integration
NetCore-Tetra v1.5.0
Version 1.5.0 erweitert die Basisstation um eine vollständige Audio-Zentrale für lokale Aufzeichnungen, WAV-/MP3-Aussendungen und netzwerkbasierte Medienablagen.
Audiodateien und aufgezeichnete Funkgespräche können direkt über das bestehende Web-Dashboard vorgehört und anschließend an eine TETRA-Gruppe oder ein einzelnes Funkgerät ausgesendet werden.
Zusätzlich können bereits durch das Betriebssystem eingebundene NFS-Speicher als Medienquelle verwendet und abgeschlossene Gesprächsaufzeichnungen automatisch auf einem Server archiviert werden.
Highlights
Audio-Zentrale im Web-Dashboard
Die bisher getrennten Funktionen für Aufzeichnungen und Aussendungen wurden in einer gemeinsamen Audio-Zentrale unter Integrationen zusammengeführt.
Enthalten sind:
- Verwaltung lokaler Gesprächsaufzeichnungen
- lokaler WAV-/MP3-Dateibrowser
- Browser für konfigurierte Netzwerkfreigaben
- Vorschau und Browser-Wiedergabe
- Aussendung an Gruppen oder Einzelgeräte
- Zielauswahl aus Geräte- und Gruppenverzeichnis
- manuelle Eingabe von ISSI oder GSSI
- Fortschrittsanzeige und Abbruch einer laufenden Aussendung
- responsive Bedienung für Desktop, Tablet und Smartphone
WAV- und MP3-Aussendung
Lokale oder auf einem Server gespeicherte Audiodateien können direkt über die Basisstation ausgesendet werden.
Unterstützt werden:
- WAV
- MP3
- Mono- und Mehrkanal-WAV
- unterschiedliche Abtastraten
- PCM mit 8, 16, 24 oder 32 Bit
- IEEE-Float-WAV
Audio wird automatisch:
- dekodiert,
- zu Mono gemischt,
- auf 8 kHz umgerechnet,
- in TETRA-ACELP codiert,
- anschließend TDMA-synchron ausgesendet.
MP3 und nicht direkt unterstützte WAV-Varianten werden über ffmpeg verarbeitet.
Gruppen- und Einzelrufe
Audiodateien können gesendet werden an:
- eine TETRA-Gruppe über GSSI
- ein einzelnes Funkgerät über ISSI
Gruppen- und Geräteziele können aus dem vorhandenen Verzeichnis ausgewählt oder manuell eingegeben werden.
Bei Einzelrufen wartet der Player auf den vollständigen Rufaufbau und beginnt die Wiedergabe erst, nachdem der Medienkanal bereitsteht.
Aufzeichnungen erneut aussenden
Vorhandene Funkaufzeichnungen können direkt aus der Aufzeichnungsliste:
- im Browser abgespielt,
- heruntergeladen,
- gelöscht,
- an eine Gruppe ausgesendet,
- an ein Einzelgerät ausgesendet
werden.
Damit lassen sich empfangene Durchsagen oder Funksprüche ohne manuellen Dateiexport erneut übertragen.
Audio-Vorschau
Jede WAV- oder MP3-Datei besitzt nun eine Vorschaufunktion.
Die Datei kann vor der Aussendung direkt im Browser:
- abgespielt,
- pausiert,
- vorgespult,
- zurückgespult
werden.
Die Vorschau funktioniert sowohl für lokale Dateien als auch für Dateien auf konfigurierten Netzwerkfreigaben.
NFS- und Server-Medienbrowser
Bereits durch Linux eingebundene Netzwerkfreigaben können als zusätzliche Medienquellen konfiguriert werden.
Beispiel:
[[audio_player.shares]]
id = "server"
name = "NFS-Server"
path = "/mnt/nfs-share"