Sie benötigen einen USSD-Server/Gateway in Ihrem Mobilfunknetzbetreiber Umgebung, verbunden mit dem Betreiber SS7-Netzwerk. USSD-Nachrichten können entweder vom Mobiltelefon zum USSD-Server oder vom USSD-Server zum Mobiltelefon gesendet werden. Es ist nicht möglich, eine USSD-Nachricht direkt von einem Telefon an ein anderes zu senden, Sie müssten die Nachricht über den USSD-Server weiterleiten.
USSD-Nachrichten sind nicht standardisiert, sie sind spezifisch für das Mobilfunknetz und die USSD-fähigen Anwendungen. Es gibt jedoch einige De-facto-Standard-USSD-Nachrichten, die von vielen HLRs zum Abfragen und Konfigurieren von Dingen wie Anrufweiterleitung verstanden werden.
USSD wird über SS7 mit dem MAP-Protokoll transportiert. Die Geschäftslogik, die über MAP implementiert wird, ist an die tatsächliche Implementierung des Protokollstapels gebunden. Auf der Serverseite könnte das Hardware (Schnittstellenkarten) plus Betriebssystemtreiber oder Software-only sein, z. ein SIGTRAN-Stack, abhängig von der zu unterstützenden physikalischen Schicht (E1, SDH über Glasfaser, ATM oder Ethernet). Eine Beispielanwendung hängt vom Protokollstapel ab, auf dem sie ausgeführt wird. Suchen Sie nach Beispielanwendungen vom Hersteller Ihrer Schnittstellenhardware oder Ihres Protokollstapels. Auf der Client-Seite ist die USSD-Unterstützung geräteabhängig, z. über J2ME JSR 120 "Wireless Messaging API".
USSD kann nicht garantiert werden, insbesondere nicht in Roaming-Szenarien. Das hängt ausschließlich von Ihrem Mobilfunknetzbetreiber ab. Wenn Sie keine Vereinbarung mit dem Betreiber haben, kann er Ihre USSD-Nachrichten sperren, insbesondere wenn er große Mengen entdeckt, die seine Pay-Messaging-Dienste umgehen.
Siehe auch http://stackoverflow.com/questions/5234489/ussd-interface-java-web-app-comunication/6909364#6909364 –