Устройство 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 отправляет предыдущее смс.

Другие вопросы по тегам