bericht aus der CQDL

Eine Idee lernt laufen - ICQ für Packet Radio

Der  Internetversion von ICQ, "I seek you" oder auch "Ich suche Dich" folgt nun eine Variante für Packet Radio. Kurzmitteilungen von bis zu 255 Zeichen sind möglich.

Viele Nutzer der Betriebsart Packet Radio kenen das sicherlich: Man hat so seube QSO-Partner, mit denen man sich nur alle 20 min eine Zeile schreibt. Den Rest der Zeit ist der Connect quasi ungenutzt. Wenn dann der Einstieg auch noch eine Connect-Beschränkung hat, muss man sich entscheiden, ob man das QSO bestehen lässt oder nicht.

"Das kann es doch nicht sein", meinten Sven, DO1OSC, und ich und suchten nach einer Möglichkeit, uns Nachrichten zu schreiben ohne einen Connect aufbauen zu müssen.
Wir versuchten es anfangs mit UI-Frames Paketen, die zwar geroutet werden, aber keine Empfangsbestätigung auslösen. Wenn sie unterwegs verloren gehen, wird nichts wiederholt. Das Datenpaket ist dann einfach weg. Diese haben wir über den Monitorkanal von Graphic Packet (GP ausgesandt. Das war aber auch nicht das Wahre, da die Pakete auf dem belebten Digi öfter mal untergingen.

Ein Protokoll muss her

Die Zielsetzung war ein Programm zu schreiben, welches kompakt, benutzerfreundlich und leicht zu bedienen ist. Auf der Packet-Seite sollte es weiterhin UI-Frames nutzen, aber mit seinen Aussendungen so sparsam wie möglich sein. Gleichzeitig sollte natürlich gewährleistet sein, dass keine Nachricht unterwegs verloren geht.
Sven und ich setzten uns ein Wochenende zusammen an die Rechner und bastelten "auf die Schnelle" ein auf FlexNet32 basierendes Programm für Windows (ab Version 95) und eine Linux-Version. Es ist einige Zeit ins Land gegangen und aus den ersten Anfängen hat sich eni recht nützliches Tool entwickelt, dass nun den Namen icqUI trägt.
icqUI ähnelt stark dem im Internet gebräuchlichen ICQ. Mit Hilfe dieses Programmes kann man mit Freunden u.a. kurze Texte austauschen, sofern sie gerade online sind.
icqUI erlaubt auf Packet-Ebene bis zu 255 Zeichen lange Texte an andere icqUI-Nutzer. Ein Mini-Protokoll sorgt dafür, dass die Nachrichten korrekt übertragen werden und nichts doppelt ankommt. EInfach ausgedrückt, wiederholt das Programm die Aussendungen so lange, bis entweder die Gegenstation das Paket bestätigt hat, oder aber die Maximale Anzahl an Versuchen erreicht ist. Erst dann wird die Nächste ausgesendet. Das Programm kann nicht nur einfache Nachrichten schreiben, sondern ist auch in der Lage Fernsteuerbefehle zu verarbeiten. Mit "//Info" kann man eine Stationsinfo der Gegenstation anfordern und mit "//cs" bekommt man die Nutzerliste des Partners in Kurzform.

Für Kurzstrecke gedacht

Zu erwähnen sei noch, dass icqUI von Anfang an für Kurzstrecken-Verbindungen konzipiert worden ist. Je mehr Digipeater zwischen dem Sender und Empfänger liegen bzw. je schlechter die Verbindung zwischen 2 Digis ist, desto schlechter stehen die Chancen, dass ein UI-Paket durchkommt.
Persönliche Erfarungen haben gezeigt, dass eine icqUI-"Verbindung" von DB0ABZ in JO52FD bis zu DB0AAB in JN58SD möglich ist. Allerdings kann es schon mal passieren, dass eine Verbindung als abgerissen gemeldet wird, wenn die Empfangsbestätigung nicht innerhalb von fünf bis sechs Sendeversuchen ihren Weg zurück findet.

Sollte eine Verbindung mal abgerissen sein, kann sie mit einem Mausklick "durchgepingt" und so wiederbelebt werden.

Flexnet32 ist der Grundstein

icqUI läuft auf jedem Rechner, auf dem auch Flexnet32 läuft und installiert ist. Allerdings ist eine Übertragung nur möglich, wenn der Einstiegsdigipeater die UI-Pakete auch routen bzw. weiterleiten kann. Der RMNC hat damit keine Probleme und auch X-Net ist da recht kooperativ, sofern die Weiterleitung von UI-Frames aktiviert ist. Wie das bei TNN-Digis läuft, weiss ich ehrlich gesagt nicht. Entweder können die TNNs in meiner Umgebung das nicht, oder die Sysops haben diese Funktion deaktiviert. Im Zweifelsfall einfach ausprobieren oder den zuständigen Sysop fragen.
Die Installation von icqUI ist ganz einfach: Aus einer Packet-Mailbox oder im Internet das Programm herunterladen, in ein beliebiges Verzeichnis kopieren und starten.
Das wars.

Optisch ist icqUI an das aus dem Internet bekannte ICQ angelehnt. Beim Starten des Programms wird ein kleines Icon neben der Uhr in der Start-Leiste eingefügt.

Mit einem Klick auf das Icon kann man das Programmfenster einblenden, mit einem Rechtsklick icqUI beenden oder "online" gehen, d.h. sich bei den anderen icqUI-Nutzern anmelden. Neue Nachrichten werden durch eine Änderung dieses Icons angezeigt. Selbst wenn das Programmfenster mal nichtim Vordergrund steht, hat man alles Wichtige immer im Blick.

Sehen wer QRV ist

Das Programmfenster von icqUI zeigt die Liste mit den eingetragenen Nutzern. Die Icons vor den Namen zeigen den aktuellen Zustand an. Im Abgebildeten Beispiel ist DH8GHH online- genauergesagt LoopBack Modus, dazu später mehr - , man kann jetzt also Nachrichten senden. Die Nachricht an DG1RKB ist gerade unterwegs, aber noch nicht bestätigt. DL4YDR ist derzeit offline, von DD6ZJ ist eine neue Nachricht eingetroffen und DO1SCB hat gerade einen Poll gesendet.

Dieser Poll hat zweierlei Funktion. Zum einen dient er dazu, abgerissene Verbindungen wiederzubeleben, zum anderen kann icqUI bei empfangenen Polls eine Wave-Audiodatei abspielen, so dass man wachgeklingelt wird, wenn ein befreundeter Funkamateur "online" - oder besser "QRV" - ist. Alle Wichtigen Funktionen wie Nachrichten senden, lesen oder Poll abschicken, lassen sich über einen Doppelklick bzw. die Return-Taste auf einen Namenseintrag aktivieren. Je nach Status des gewählten Users wählt icqUI die passende Aktion aus. Alle weiteren Funktionen und das Seup erreicht man über ein komfortables Rechtsklick-Popup-Menü.

Bevor man nun Nachrichten mit icqUI versenden kann, muss das Programm konfiguriert werden. Im Setup, welches über das Popup-Menü aufgerufen wird, sollte zunächst das MyCall und SSID korrekt eingestellt werden. Die anderen Optionen, beispielsweise Soundeffekte oder Farben, können nach Geschmack eingerichtet werden.
Spätestens jetzt sollte man sich auf die suche nach einem anderen icqUI-Nutzer machen, mit dem man Nachrichten austauschen kann.
Findet sich keiner, ist das auch nicht weiter schlimm, denn es besteht die Möglichkeit, sich selbst einzutragen. Hier genügt als Pfad das Rufzeichen des Einstiegsdigipeaters. Dieser Loopback-Test eignet sich gut um zu testen, ob der Einstiegsdigi überhaupt UI-Frames routen kann.

Nutzer hinzufügen

Über Rechtsklich "Eintrag erstellen" öffnet sich ein Fenster, in dem das Call-SSID, optional der Name sowie der "Connectpfad" eingetragen werden. Zum Beispiel: Der Nutzer DO1FMD möchte DL7NDR-7 in seine Liste eintragen. Er weiss, dass DL7NDR auf DB0SWR einsteigt. Selber ist er auf DB0SIF QRV. Der einzutragende Pfad ist also "DB0SIF DB0SWR". Das vielerorts genutzte "via" kann weggelassen werden.

Möchte man sich selbst eintragen, genügt es, das eigene Mycall als Zielcall und den Einsteigsdigi als Pfad einzutragen. Wenn alles konfiguriert wurde, ist es an der Zeit "online" zu gehen. Ein Doppelklick auf das Wort "Offline" genügt. Wenn alles geklappt hat, ändert sich das Halteverbot-Icon nach einem kurzen Augenblick in ein Computer-Icon. Doppelklick auf den Eintrag öffnet das Sendefenster.

Sollte sich wider Erwarten nichts tun, kann das verschiedene Ursachen haben. Klarheit bringt vielleicht ein Blick in die mit F1 aufgerufene Hilfe, Abschnitt Problemlösung, ansonsten finden sich im Packet-Convers auf Kanal 299 meist einige erfahrene icqUI-Nutzer, die weiterhelfen können.

Klänge für Nachrichten

Trotz seiner geringen Grösse auf dem Desktop und der Festplatte beherbergt icqUI zahlreiche nützliche Funktionen. Einen Überblick, welche Features schon implementiert oder in Vorbereitung sind, gibt es auf der Todo-Liste. Einen BUG-Report oder Anregungen/Kommentare kann man dort ebenfalls loswerden.

Ich möchte darauf hinweisen, dass icqUI ein noch nicht fertiges Bastelprojekt ist, welches gelegentlich noch Fehler enthalten kann. Sollte doch mal ein Fehler auftauchen, nicht sofort verzweifeln sondern einfach mal das Programm neu starten. Meisstens funktioniert es dann.