Устройство Android не может получить сообщение от SMPPGW
Я реализовал функцию отправки смс с помощью Cloud Hopper.
public static SubmitSmResp sendShortMessage(String sourceAddress, byte[] textBytes, String destinationAddress) {
SubmitSmResp submitResponse = null;
try {
// set encoding for sending SMS
submit.setDataCoding(SmppConstants.DATA_CODING_JIS);
submit.setShortMessage(textBytes);
submit.setSourceAddress(new Address((byte) 0x05, (byte) 0x01, sourceAddress));
submit.setDestAddress(new Address((byte) 0x01, (byte) 0x01, destinationAddress));
// submit message to SMSC for delivery with a timeout of 10000ms
submitResponse = session.submit(submit, 10000);
if (submitResponse.getCommandStatus() == SmppConstants.STATUS_OK) {
System.out.println("SMS submitted, message id {}" + submitResponse.getMessageId());
} else {
throw new IllegalStateException(submitResponse.getResultMessage());
}
} catch (RecoverablePduException | UnrecoverablePduException | SmppTimeoutException |
SmppChannelException | InterruptedException e) {
throw new IllegalStateException(e);
} catch (Exception e) {
e.printStackTrace();
}
return submitResponse;
}
Но когда я вставляю свою сим-карту в устройство ios, я могу получать сообщение от smppgw. Затем я вставляю свою сим-карту в устройство Android, submitResponse.getCommandStatus() == SmppConstants.STATUS_OK имеет значение ИСТИНА, но я не могу получить свои смс. Наконец, я вставляю свою сим-карту обратно в свое устройство ios, и я получаю сообщение, когда отправляю с устройства Android. Кто-нибудь знает, как исправить эту проблему?
1 ответ
Это не похоже на проблему клиента SMPP. Я имею в виду, что пока вы получаете submit_sm_resp со статусом OK, когда вы отправляете свой submit_sm, это означает, что сообщение было принято SMSC/SMPPGW. Это больше похоже на проблему с SMSC или на проблему с терминалом, поскольку проблема связана с доставкой от SMSC на терминал.
Простое объяснение может заключаться в том, что у терминала Android есть проблемы / отсутствует сигнал / не зарегистрирован в сети, и это причина того, что SMSC не доставляет смс. Как только вы меняете терминал, сим становится онлайн и SMSC отправляет предыдущее смс.