Wer mein Blog verfolgt, der weiß, dass ich immer mal wieder ein APRS-IGate betreibe, sofern mir nicht die Hardware einen Strich durch die Rechnung macht. Kern des ganzen bildet ein Python-Script bzw. Programm, welches unter https://github.com/asdil12/pymultimonaprs herunterzuladen und entsprechend zu installieren ist. Zusammen mit dem Programm „multimon-ng“ realisiert sich ein IGate, welches die APRS-Daten, die auf der Frequenz 144.800 MHz ausgesendet werden in das APRS-IS überträgt.
Im Original werden hier sämtliche Datenpakete, die empfangen und sauber decodiert werden, ins Internet übertragen, was bedeutet, dass natürlich diverse doppelte Datenpakete auf den Servern des APRS-IS auflaufen, die dort mittels komplizierter Algorithmen schlussendlich dann doch verworfen werden. Ebenso werden als RFONLY oder NOGATE gekennzeichnete Datenpakete an das APRS-IS übermittelt, die dort ebenfalls verworfen werden.
Da ich an meinem Standort zum einen sämtlichen Datenverkehr des naheliegenden WIDE-Repeaters empfange, der seinerseits ebenfalls als IGate läuft, auf der anderen Seite aber auch Datenpakete auffische, die dieser offensichtlich nicht hört, saß ich ein wenig in er Zwickmühle. Wer sich z.B. die Status-Seite des TIER2-Servers in Karlsruhe anschaut, der stellt fest, dass ich mit der Problematik jedoch nicht alleine bin: Sehr häufig sieht man hier, dass von den empfangenen Paketen der Gates nur ca. 10 bis 25% Uniques sind, alles andere war bereits irgendwie schon einmal als Datenpaket ins Netz gekommen. Diesen Zustand dachte ich mir, muss ich nicht für mein Gate provozieren. Also ging ich hin und erweiterte das Script (was aktuell bei mir im Testbetrieb läuft) um einige Programmzeilen, die nun anhand einer Liste von Rufzeichen, die im Pfad der Datenpakete zu finden sind, festlegt, ob diese ins APRS-IS übertragen werden oder nicht. Also konkret ist das jetzt als Blacklist implementiert und enthält neben den Begriffen „NOGATE“, „RFONLY“, „TCPIP*“ die APRS-Server „DB0VKL-10*“, „DB0MYK*“, „DB0XIT*“ (aktueller Stand von heute morgen), da diese mir als IGates bekannt sind und Datenpakete, die per Funk zu mir gelangen und von diesen Systemen bereits relayed wurden, nicht mehr übertragen werden brauchen.
Durch diese Erweiterung des Scripts, konnte ich die Effizienz meines IGates (und die damit verbundene Datenmenge, die nicht mehr an das APRS-IS übertragen wird) steigern, da nun zu 2/3 nur noch Pakete übertragen werden, die unique sind. das übrige Drittel besteht (leider) noch aus Duplikaten, die ich noch detektieren muss. Hier lässt sich sicherlich noch durch die Aufnahme des ein oder anderen Digipeaters in die Blacklist, der ebenfalls schon als IGate fungiert, die Effizienz weiter steigern.
Hi,
I’m currently working on this problem:
https://github.com/asdil12/pymultimonaprs/issues/15#issuecomment-106842385
Hi Dominik,
do you have interrest in my modifications on the sources? I could send you a tar.gz of my sources here so you can do a diff by yourself. It’s just a few lines of code that I added.
Waiting for your reply
73’s Kim
DG9VH