Не могу отправить составное SMS-сообщение через SMPP в Java - PullRequest
7 голосов
/ 11 января 2011

Я пытаюсь отправить составное смс-сообщение в java.

    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();
}

Но этот код, похоже, не работает.Я получаю сообщения, разбитые на разные сообщения и не соединенные на телефоне.

Любые указания на то, что я здесь делаю неправильно.

1 Ответ

1 голос
/ 03 июня 2011

Raks,

Помните, что не все сети в мире и не все трубки в мире правильно настроены для отправки / получения составных SMS-сообщений.

Поскольку вы (правильно) замаскировали свой фактический разъем SMSC, я не уверен, к какому носителю / агрегатору вы подключаетесь.Поэтому я не могу комментировать, если это проблема в вашей конкретной ситуации.

Но, как сказал Alexrs, включите вывод TCP Dump, и мы по крайней мере сможем прокомментировать правильный вывод, поступающий из вашего приложения.

...