我只想知道DLR在SMPP Kannel中排队的具体原因是什么?或者被拒绝。
短消息流程的设置: Client SMPP -> SMPP -> HTTP -> HTTP合作伙伴->最终用户
谢谢!
发布于 2014-03-06 06:58:32
排队DLR可能意味着一些事情,其中两个似乎是最常见的。
第一个原因是您从未从SMSC收到过DLR。这可能意味着消息在某处丢失,或者终端运营商/中间跳不支持DLR。DLR将在您的平台上“排队”,直到它收到DLR或超时。
第二个原因是您接收的不是“最终”DLR,而是中间DLR。您可能会得到类型4(排队/缓冲) DLR。对于某些type=4,这是您将得到的最接近的“最终”DLR类型,因为运营商通常不会报告实际手机的成功/不成功传递,而是通过SMSCs确认他们收到了消息,并将尝试传递。
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。
希望这能有所帮助。
https://stackoverflow.com/questions/22057549
复制相似问题