JavaからCDMAネットワークINに接続する
-
07-07-2019 - |
質問
SMSメッセージを受信および処理するプログラムを開発するためにjavaを使用しています。受信したSMSメッセージの処理をコーディングし、完全に機能するようになりました。今、私が抱えている課題は、CDMAネットワークからSMSメッセージを受信することです。アプリケーションが公開される直前に、CDMAネットワークはVPN接続をセットアップします。これにより、アプリケーションがINに接続できるようになります。では、SMSはどのような形式でアプリケーションに送信されますか?または、VPNでリッスンし、データが利用可能になったときにデータを読み取るだけでよいですか?お時間をありがとうございました。
ありがとう。
解決
INとは、インテリジェントネットワークのことですか?通常、INはSMSメッセージの送受信には関係ありません-ショートメッセージサービスセンターに接続する必要があります(SMSC)(またはいくつかのプロキシ/ゲートウェイ)を実行するため。
Bombeからも指摘されているように、モバイルオペレーターSMSCに接続するために使用できるプロトコルがいくつかあります。歴史的な理由により、すべてベンダー固有です。一般的なプロトコルは次のとおりです。
- SMPP (最も人気があり、事実上の標準になっています)。 2つのSMPP javaライブラリがあります。
- SourceForgeのSMPP API -非常に安定した成熟したライブラリで、いくつかのプロジェクトで個人的に使用していますお勧めできます。
- Logica OpenSMPP -SMPP仕様を開発した会社のライブラリ。私はこれを使ったことがないので、その成熟度や安定性についてコメントすることはできません。
- UCP (仕様)-非常に古い標準。私は、このプロトコル用のオープンJavaライブラリを認識していません。ただし、すべてASCIIベースであるため、自分で実装するのはかなり簡単です(バイトをいじるのが好きである限り:-))。
- CIMD2 -Nokia SMSCと通信するための仕様。新しいNokia SMSCリリースもSMPPをサポートしていると聞いたので、レガシーになりつつあります。これに関する既知のオープンJavaライブラリもありません。
- そして最後に、それを「より簡単に」するために実装された膨大な数のカスタムプロトコルがあります。サードパーティ開発者がSMSCに接続するため。これらは通常、HTTPとXML(運が良ければSOAP)に基づいています。
要約すると、プロトコルの選択はあなたのものではありません。通常、SMSCベンダーまたはモバイルオペレーターによって決定されます(外部の開発者が行う可能性のあるプログラミングエラーからSMSCを保護するために、何らかの「プロキシ/ゲートウェイ」を開発した場合)。
PS Javaに限定されない場合は、 Kannel-オープンソースWAPおよびSMSゲートウェイ。私自身は使用していませんが、聞いた限りでは、すべての主要なプロトコルがカバーされているはずです。
他のヒント
SMPP経由でメッセージが届く場合は、SMPPAPIをご覧ください。
http://smppapi.sourceforge.net/
モバイルネットワークに話しかけると、メッセージの配信形式がわかります。