JSMPP - получить идентификатор сообщения от MO - PullRequest
0 голосов
/ 23 октября 2018

Как извлечь идентификатор сообщения из MO?

Я хочу связать идентификатор сообщения, возвращенный от submitMultipleMessagesAtOnce, с полученным MO, но не похоже, что тот же идентификатор сообщения можно получить для MO, так какэто для DLR?

Как мне потом жениться на МО для DLR?

public void onAcceptDeliverSm(DeliverSm deliverSm)
    throws ProcessRequestException {

if (MessageType.SMSC_DEL_RECEIPT.containedIn(deliverSm.getEsmClass())) {
    // this message is delivery receipt
    try {
        DeliveryReceipt delReceipt = deliverSm.getShortMessageAsDeliveryReceipt();

        // lets cover the id to hex string format
        long id = Long.parseLong(delReceipt.getId()) & 0xffffffff;
        String messageId = Long.toString(id, 16).toUpperCase();

        /*
         * you can update the status of your submitted message on the
         * database based on messageId
         */

        LOGGER.info("Receiving delivery receipt for message '{}' from {} to {}: {}",
            messageId, deliverSm.getSourceAddr(), deliverSm.getDestAddress(), delReceipt);
    } catch (InvalidDeliveryReceiptException e) {
        LOGGER.error("Failed getting delivery receipt", e);
    }
} else {
    // this message is regular short message

    /*
     * HOW DO I GET THE MESSAGE ID HERE AS ABOVE FOR DLR
     */

    LOGGER.info("Receiving message : {}", new String(deliverSm.getShortMessage()));
}

}

...