问题描述
我正在尝试使用 opensmpp 实现 smpp 解决方案。消息发送成功,但对于送达回执,我只收到一些提交的消息,并且多次收到相同的送达回执。有人可以帮我吗。
private void receiveSms() {
try {
if (session != null && session.isBound()) {
PDU pdu = session.receive(1500);
if (pdu instanceof DeliverSM) {
DeliverSM received = (DeliverSM) pdu;
if (received.getEsmClass() == 0) {
// new message
System.out.println("RECEIVE NEW MESSAGE " + received.debugString());
} else {
//delivry Repport
System.out.println("RECEIVE NEW DELIVERED REPORT: " + received.debugString());
}
}
}
...
解决方法
我对opensmpp不熟悉,但是注意norm smpp34中的messageId还是NULL, 与 SUBMIT_SM 关联的 messageId 位于 DELIVER_SM“receipted_message_id”字段中, 或者在 short_message 中,如果使用了 appendixB,
如果“receipted_message_id”字段总是相同的值,你应该检查 SMSC 配置/代码,DELIVER_SM 是在那里生成的