JSMPP - получить идентификатор сообщения от МО

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

Я хочу связать идентификатор сообщения, возвращенный из submitMultipleMessagesAtOnce, с полученным MO, но не похоже, что для MO можно получить тот же идентификатор сообщения, что и для 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()));
}

}

0 ответов

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