2011-01-11 25 views
7

JavaでマルチパートSMSメッセージを送信しようとしています。JavaのSMPPでマルチパートSMSメッセージを送信できません

public static void main(String[] args) throws Exception { 
    SMPPSession session = new SMPPSession(); 
    session.connectAndBind("0.0.0.0", 00000, new BindParameter(
       BindType.BIND_TX, "User", "Pass", "SMPP", TypeOfNumber.UNKNOWN, 
       NumberingPlanIndicator.UNKNOWN, null)); 
    Random random = new Random(); 

    final int totalSegments = 3; 
    OptionalParameter sarMsgRefNum = OptionalParameters.newSarMsgRefNum((short) random.nextInt()); 
    OptionalParameter sarTotalSegments = OptionalParameters.newSarTotalSegments(totalSegments); 

    for (int i = 0; i < totalSegments; i++) { 
     final int seqNum = i + 1; 
     String message = "Message part " + seqNum + " of " + totalSegments + " "; 
     OptionalParameter sarSegmentSeqnum = OptionalParameters 
       .newSarSegmentSeqnum(seqNum); 
     String messageId = session.submitShortMessage("CMT", TypeOfNumber.INTERNATIONAL, 
       NumberingPlanIndicator.UNKNOWN, "919999999999", TypeOfNumber.INTERNATIONAL, 
       NumberingPlanIndicator.UNKNOWN, "919999999999", new ESMClass(), 
       (byte) 0, (byte) 1, timeFormatter.format(new Date()), null, 
       new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT), (byte) 0, 
       new GeneralDataCoding(false, false, MessageClass.CLASS1, 
         Alphabet.ALPHA_8_BIT), (byte) 0, message.getBytes(),sarSegmentSeqnum, sarTotalSegments, sarMsgRefNum); 
     System.out.println("Message submitted, message_id is " + messageId); 
    } 
    session.unbindAndClose(); 
} 

しかし、このコードは機能していないようです。私が受け取るのは、異なるメッセージで分割され、ハンドセットで連結されていないメッセージです。

私はここで間違っています。

+0

[Wireshark](http://www.wireshark.org/)で送信のネットワークトレースを取得することをお勧めします。それはパケットのすべてのフラグとオプションを表示する素晴らしいSMPPプロトコルハンドラを持っています。それでも問題が残っていれば、詳細を投稿すると助けてくれるかもしれません。 – alexrs

答えて

1

ラックス、

世界では、世界のすべてのネットワーク、また、すべての携帯電話は、マルチパートSMSメッセージを送信/受信するために正しく設定されていないことに注意してください

実際のSMSCコネクタを(正しく)偽装しているため、どのキャリア/アグリゲータに接続するかわかりません。したがって、私はこれがあなたの特定の状況で問題である場合、コメントすることはできません。

しかし、Alexrs氏によると、TCP Dumpの出力を含めると、アプリからの正しい出力について少なくともコメントすることができます。

+0

私が知っているキャリアや携帯電話でも、マルチパートメッセージ(それらの両方を送受信している)をサポートしていますが、上記と同様のコードで送信されると、複数パートのメッセージが複数のシングルメッセージとして受信されるという問題があります。 – ADTC

関連する問題