こんにちはみんな!(Logica Javaライブラリを使用して)国際SMSvíaSMPPを送信しようとして問題が発生しました。私が行ったテストを要約します。私はWireSharkを使用してSMPP関連のアクティビティを監視しています。
(働く)
//Connect and stablish session Connection conn = new TCPIPConnection(providerAddress, port); Session session = new Session(conn); BindRequest breq = new BindTransmitter(); breq.setSystemId(user); breq.setPassword(pass); breq.setSystemType("CMT"); breq.setInterfaceVersion((byte)34); breq.setAddressRange((byte)0x01, (byte)0x01,null); Response resp = session.bind(breq); //Create message SubmitSM msg = new SubmitSM(); msg.setDestAddr((byte)1, (byte)1, "58412014XXXX"); msg.setSourceAddr((byte)1, (byte)1, "58412014XXXX"); msg.setShortMessage("Test from tedexis","ISO-8859-1"); //Here we submit message session.submit(msg); //Disconnect session.unbind();
結果:メッセージは正しく配信されます。ここでは、資格情報が有効であることを検証し、送信元アドレスと宛先アドレスが同じであることに注意してください
(失敗)メッセージの宛先アドレスが国際電話番号に設定されていることを除いて、コードは同じままです。
msg.setSourceAddr((byte)1, (byte)1, "1321237XXXX");
結果:失敗し、WireSharkをチェックします送信中に次の例外が発生します: SMPP Submit_sm --resp:"無効な宛先アドレス"
私たちのクレデンシャルは国際配信には無効であると思われるかもしれませんが、現在、これらのクレデンシャルを使用して、Webサービスインターフェイスを介して国際メッセージを配信しています。
設定が足りないか、間違って設定しているに違いありませんが、アイデアが足りなくなってしまいました。誰かが正しい方向に向けてくれたら嬉しいです。