OK, seit Version 0.3.0 unterstützt gsm-ussd also USSD Sessions. Wie schon erwähnt, sind USSD Sessions ein Mittel, vom Anwender weitere Daten abzufragen. Das kann ein Cashcode sein, um die Karte wieder aufzuladen, aber häufig sind es einfache Menüs, von denen man dann einen Eintrag auswählen soll. Als Beispiel eine Sitzung bei Tchibo Mobile (O2-Reseller):

$ gsm-ussd ‚*100#‘
USSD session open, to cancel use „gsm-ussd -c“.
Tchibo mobil Servicemenü:
1 Kontoabfrage
2 Guthaben-Verfügbarkeit
3 Aufladung Guthabenkarte
4 Optionsmanager
$

Die erste Zeile in der Ausgabe (USSD session open, …) wird nach STDERR geschrieben und stammt von gsm-ussd selbst. Der Rest der Ausgabe ist die USSD-Antwort. Weitere USSD-Abfragen funktionieren wegen der geöffneten Session nun nicht wie gewohnt, sondern es werden nur die o.a. Ziffern akzeptiert:

$ gsm-ussd 4
USSD session open, to cancel use „gsm-ussd -c“.
Optionsmanager

1 Optionsstatus
2 Option buchen

$ gsm-ussd 2
USSD session open, to cancel use „gsm-ussd -c“.
Folgende Optionen sind für Sie buchbar

1 Festnetz-Flatrate
2 Tchibofon-Flatrate
3 100 Minuten-Option
4 50 Minuten-Option
5 weitere
0 Abbruch

$ gsm-ussd 5
No answer for 20 seconds!
$

Nanu? Das ist unerwartet. Nun ja, dann brechen wir die Session eben ab:

$ gsm-ussd -c
No USSD session to cancel.
$

Hm, die Session war schon weg. Um dem Fehler auf die Spur zu kommen, habe ich die SIM dann doch mal in ein Handy gesteckt und die USSD Session per Handy bis zu diesem Punkt verfolgt. Ergebnis: „Netzwerkfehler„.

Die gute Nachricht lautet also, dass gsm-ussd im Rahmen seines Designs funktioniert. Die schlechte dagegen ist, dass die USSD-Anwendungen, die die Provider anbieten, nicht unbedingt fehlerfrei sind! Ein anderer gsm-ussd-Anwender hat das Original-O2-Menü durchforstet und ist ebenfalls auf nicht korrekt aufrufbare Menüpunkte gestoßen. Mangels Handy mit funktionierender USSD-Session-Unterstützung (!) konnte er dies aber leider nicht weiter nachvollziehen.

Daraus ergibt sich allerdings ein Bild:

  • Viele Handys haben keine, eine fehlerhafte oder schlechte USS-Session-Unterstützung.
  • Die wenigen USSD-Anwendungen werden nicht viel benutzt (und scheinbar auch nicht bzw. nicht ausreichend getestet).
  • Fehler bleiben unentdeckt.
  • Wegen der Fehler benutzen auch diejenigen die USSD-Anwendungen nicht mehr, bei denen es ginge.
  • Noch weniger Anwender…
  • Bugfixing der Anwendung lohnt sich für den Anbieter nicht.

Zumindest ist das meine Interpretation der Dinge. Wenn ihr also ein Problem mit gsm-ussd und USSD-Sessions habt, dann schaut mal, ob ihr das nicht auch per Handy nachvollziehen könnt!