1

我有 kannel SMPP (kannel.org) 并通过参数接收 SMS 状态:%d

这是表格:

16 = 未发送至 smsc 8 = 您已提交至 smsc。即 smsc 告诉 kannel 他有 msg 4 = msg 在 smsc 队列中。即 smsc 告诉 kannel 他将 msg 排在队列中。2 = 失败 1 = 发送到手机

但这里的信息非常少。我如何才能收到有关(错误号码或类似内容)的更多信息?现在只是失败了,什么都没有,如果我们想知道失败的原因,我们必须寻求我们的合作伙伴的支持。

4

2 回答 2

3

您可以从以下来源获取有关交付错误的更多详细信息:

  • network_error_code TLV (0x0423) - 见 p. SMPP v3.4 规范的 5.3.2.31
  • DLR 消息的文本部分(dlr-url 中的 %A)
  • command_status 在拒绝的情况下(表示为“NACK/ $code

DLR 中的文本部分示例:

id:0832095221 sub:001 dlvrd:000 提交日期:1203311115 完成日期:1204010436 stat:UNDELIV err:011 text:some text here

在这里,您可以在无法投递的消息中看到011错误代码。

但是,对于每个新的 SMSC,您需要发现许多特定于供应商的问题。并且 SMPP 规范中对 DLR 中表示的信息没有严格的要求。

于 2012-04-01T09:56:35.143 回答
0

为您的 DLR URL 添加以下内容:dlr_mask=31 dlr_url=....?answer=%A&status=%d

其中 DLR 位掩码表示: 1:通过电话接收 2:未能传送到电话 4:排队等待传送 8:被其他 SMSC 接受 16:被其他 SMSC 拒绝

如果你得到 16,或者你得到 2,它看起来像这样: status=<2 or 16 here> answer=NACK//

从运营商处获取将 hex_code 映射到其供应商特定含义的表

于 2013-08-21T20:17:57.563 回答