Skip to content

Releases: JanHG98/netcore-tetra

v1.9.0 – NINA/KATWARN, eigene Meldungen und Funk-/SDS-Korrekturen

Choose a tag to compare

@JanHG98 JanHG98 released this 26 Sep 23:02
086a81f

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 0640 und bei Ausführung als root mit der Gruppe asterisk, sofern diese vorhanden ist. Ein restriktives umask 077 beim Update macht die Dateien dadurch nicht mehr für Asterisk unlesbar.
  • Die Root-Cargo.lock enthält die fehlenden IoT-Gateway-Abhängigkeiten sowie die notwendigen Feature-Abhängigkeiten von chrono und uuid. Es werden dafür keine Paketversionen angehoben. Die relevanten CI-Builds verwenden --locked.
  • Der neuere separate Brew-Server und die überarbeitete Dokumentation aus main bleiben erhalten. Eine bestehende Python-Brew-Installation wird durch diesen Release nicht automatisch auf den Rust-Brew-Server umgestellt.
  • Die Warn- und Reparaturanleitungen verwenden jetzt main beziehungsweise 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.0

Bei 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

Choose a tag to compare

@JanHG98 JanHG98 released this 26 Sep 23:11
32af356

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

Choose a tag to compare

@JanHG98 JanHG98 released this 26 Sep 23:12
32e0e87

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

Choose a tag to compare

@JanHG98 JanHG98 released this 18 Sep 20:11
c128a83

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

Choose a tag to compare

@JanHG98 JanHG98 released this 30 Jul 17:24
f0a4ae3
Merge pull request #10 from JanHG98/swmi

Implement SWMI Mobility Packages and Core Services Enhancements

Archiv: Alter main-Stand – v1.8.0

Pre-release

Choose a tag to compare

@JanHG98 JanHG98 released this 26 Sep 23:13
f0a4ae3

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

Choose a tag to compare

@JanHG98 JanHG98 released this 21 Jul 22:23
5ba1929
Merge pull request #9 from JanHG98/wap

Wap

minor bugfixes

Choose a tag to compare

@JanHG98 JanHG98 released this 21 Jul 16:12
7c3aea8

Full Changelog: v1.6.0...v1.6.1

v1.6.0 - Added Text to Speech for automated Calls

Choose a tag to compare

@JanHG98 JanHG98 released this 20 Jul 18:06
274c713
Merge pull request #7 from JanHG98/tts

Tts

v1.5.0 — Complete Audio Center & NFS Integration

Choose a tag to compare

@JanHG98 JanHG98 released this 19 Jul 20:03
679d026

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:

  1. dekodiert,
  2. zu Mono gemischt,
  3. auf 8 kHz umgerechnet,
  4. in TETRA-ACELP codiert,
  5. 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"