Hi,
für die Ausgabe der Verkehrsmeldungen stehen verschiedene Quellen zur Verfügung, Michael (DK5HH), favorisiert die Bremer Verkehrsmeldezentrale, ich habe das inzwischen auch auf anderem Wege realisiert.
Um nun beide (und möglicherweise mehr) Varianten unter einen Hut zu bekommen würde ich die folgende Herangehensweise vorschlagen:
Die Meldungen werden in jeweils zwei Dateien von der jeweiligen Stau-Applikation in das Verzeichnis /var/spool/svxlink/trafficinfo abgelegt, einmal als reine TXT-Datei und einmal das generierte WAV-File. Das Format der Dateien soll bitte das folgende Format besitzen:
username.Hashwert.info - für die Textdatei
username.Hashwert.wav - für das Wav-File
Beispiel für eine Meldung:
DB0WSF.a3d6b5a85a032ec74a64695f15b8d8ac.info
DB0WSF.a3d6b5a85a032ec74a64695f15b8d8ac.wav
wobei username dem Call innerhalb der konfigurierten Logic entspricht und der Hash-Wert aus dem Inhalt der info-Datei erstellt wurde (z.B. Perl-Funktion: md5_hex($inhalt)), dieses Verfahren garantiert, dass mehrfach eingehende eMail's mit identischem Text nur einmal als wav generiert und ausgegeben werden. Das passiert leider sehr häufig. Mit der User-Kennung am Anfang kann man die Meldungen logic-/repeaterspezifisch ausgeben lassen.
Diese Dateien werden von SvxLink aus diesem Verzeichnis zunächst nach /usr/share/svxlink/sounds/de_DE/TrafficInfo kopiert, per HF ausgegeben und danach in das Verzeichnis /usr/share/svxlink/sounds/de_DE/TrafficInfo/archive verschoben wo sie für $DELETE_AFTER Minuten lagern. In späteren Versionen soll die Möglichkeit bestehen, diese Meldungen bei Bedarf nochmals aufrufen zu können. Weiterhin soll es später möglich sein, Meldungen nach bestimmten Kriterien auszugeben, z.B. per Modul-Subkommando 11#: Gib mir die 5 letzten Meldungen, die das Wort "Falschfahrer" enthalten. Aus diesem Grund muss das beschreibende info-File mit kopiert werden, damit der Inhalt von SvxLink vor der Ausgabe analysiert werden kann.
Es bestand noch die Forderung, vor der Ausgabe der eigentlichen Meldungen eine Information "Achtung, es erfolgt die Ansage einer Verkehrsmeldung!" auszugeben und $TIME Sekunden bzw. bis sich die Rauschsperre geschlossen hat zu warten um erst dann mit der Ausgabe zu beginnen. Das wird sich nicht alleine per tcl lösen lassen, weil man dafür einen Async-Timer implementieren muß und so was im tcl nicht vorhanden ist, d.h. es läuft letztendlich auf ein C++-Modul hinaus.
Wer weitere Ideen hat, bitte im Forum (an-)melden, vielen Dank.
73's de Adi, DL1HRC