7

Java でマルチパート 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();
}

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

ここで私が間違っていることについての指針。

4

1 に答える 1

1

ラク、

世界中のすべてのネットワーク、または世界中のすべてのハンドセットが、マルチパート SMS メッセージの送受信用に正しく構成されているわけではないことに注意してください。

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

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

于 2011-06-03T17:42:02.790 に答える