【发布时间】:2014-02-27 01:57:44
【问题描述】:
我只是想知道 DLR 在 SMPP Kannel 中排队的具体原因是什么?或者被拒绝。
设置 SMS 流:客户端 SMPP -> SMPP -> HTTP -> HTTP 合作伙伴 -> 最终用户
谢谢!
【问题讨论】:
我只是想知道 DLR 在 SMPP Kannel 中排队的具体原因是什么?或者被拒绝。
设置 SMS 流:客户端 SMPP -> SMPP -> HTTP -> HTTP 合作伙伴 -> 最终用户
谢谢!
【问题讨论】:
排队 DLR 可能意味着几件事,其中 2 个似乎是最常见的。
第一个原因是您从未从 SMSC 收到 DLR。这可能意味着消息在某处丢失,或者终端运营商/中间跃点不支持 DLR。 DLR 将在您的平台上“排队”,直到收到 DLR 或超时。
第二个原因是您没有收到“最终”DLR,而是收到了中间 DLR。您可能会取回类型 4(排队/缓冲)DLR。对于某些 SMSC,这是您将返回的最接近的“最终”DLR 类型,因为运营商通常不会报告向实际手机发送成功/不成功的信息,而是使用 type=4 DLR 确认他们收到了消息,并将尝试交货。
Kannel 正在等待 DLR 或类型 1 或 2(最终),直到将 DLR 从队列中清除。在您的 Bearerbox.log 中,它看起来像这样。
DLR[internal]: Looking for DLR smsc=test, ts=<>, dst=<>, type=4
DLR[internal]: created DLR message for URL <>
DLR[internal]: DLR not destroyed, still waiting for other delivery report
不幸的是,如果第二个原因是您的问题,您可能需要修改 Kannel 源代码,因为据我所知,您不能强制 Kannel 从队列中删除 type=4 DLR。
希望这会有所帮助。
【讨论】: