Не удается отправить многостраничное sms-сообщение через SMPP в java

Я пытаюсь отправить сообщение multipart sms в 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(*******************.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 ответ

Raks,

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

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

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

licensed under cc by-sa 3.0 with attribution.