Google で USSD コマンドの送信方法を検索するのに疲れました。オペレーターから残高を確認したい。
私が見たサンプルはすべて、次のようなコマンドを使用しています。
"AT+CUSD=1,\"*140*1#\"\r\n";
それは正しいようです。私はうまくいくと思うこのようなものを使用しています。私は D-Link GSM モデムを持っており、それを使用してこのコマンドを送信すると、スピーカーからノイズが発生します。これは、何かが起こったことを示していると思います。
自分のアプリケーションでモデムを切断したとき、モデムには独自の Windows アプリケーションがあります。モデムのアプリケーションでチェックすると、USSD タブで、自分のアプリケーションで送信したコマンドの結果を見つけることができます。
その後、そのコマンドは正常に機能しますが、コマンドを送信したときに何が起こるか混乱しています。「OK」が返され、オペレーターの応答が返されず、モデムのアプリケーションがその応答をどのように読み取ることができるか????????
これらのコマンドをテストしましたが、結果が得られず、モデムは次のようなものを返すだけです: "AT+CUSD=1,\"*140*1#\"\r\n\OK\r\n" のみ。
1) "AT+CUSD=1,\"*140*1#\",15\r\n"
2) "AT+CUSD=1,\"*140*1#\",1\r\n"
3) "AT+CUSD=1,\"*140*1#\",15\r"
4) "AT+CUSD=1,\"*140*1#\",1\r"
5) "AT+CUSD=1,\"*140*1#\""
コマンドの結果を読み取ると、おそらくコマンドが異なるか、モデムに構成を設定する必要があると思います。
モデムがエラーを返さず、常に OK を返すことは、私にとって非常に興味深いことです。