0
我正在使用JSMPP(SMPP的Java實現)從我的web應用程序向SMS中心發送SMS。我有以下代碼來接收任何發送的短信的發送報告。在JSMPP中獲取發送消息的狀態
public class MessageListenerImplementation implements MessageReceiverListener {
public void onAcceptDeliverSm(DeliverSm deliverSm) throws ProcessRequestException {
if (MessageType.SMSC_DEL_RECEIPT.containedIn(deliverSm.getEsmClass())) {
try {
DeliveryReceipt deliveryReceipt = deliverSm.getShortMessageAsDeliveryReceipt();
long id = Long.parseLong(deliveryReceipt.getId()) & 0xffffffff;
String messageId = Long.toString(id, 16).toUpperCase();
System.out.println("Delivery receipt for message '" + messageId + " ' from " + deliverSm.getSourceAddr() + " to " + deliverSm.getDestAddress() + " : " + deliveryReceipt);
}catch (InvalidDeliveryReceiptException e) {
System.err.println("Failed getting delivery receipt");
e.printStackTrace();
}
}
}
}
當我註冊一個短信」送達回執上面的監聽器和發送,它獲得送達回執如下
和送達回執如下
id:5 sub:001 dlvrd:001 submit date:1312091213 done date:1312091213 stat:DELIVRD err:000 text:Hello SMSC from ESME
現在我我想知道如何檢索一些整數範圍內的發送狀態,無論它是發送,失敗還是仍然掛起,以便我可以使用它來相應地更新我的數據庫?
什麼,如果我想根據其ID的SMS狀態後檢查,有沒有辦法做到這一點? – sikander
您將在submitsm中獲取該id,將其存儲在db中,並在更新時檢查此ID。 – GP32
可以使用存儲的ID稍後檢查SMS狀態嗎? – sikander