DLR

送达回执报告移动网络针对已发送短信返回的状态,例如已送达、已过期、已拒绝或未知。

仅解释——此处解释的术语不是我们销售的服务。

送达回执(DLR)是移动网络针对已提交短信返回的状态,只代表网络侧结果,不能证明有人读过这条短信。

各网络的代码不同,因此要把每种状态映射到内部状态。

回执与状态

SMSC 接受提交后会返回消息 ID,随后异步发送回执。对账按 ID 匹配,而不按发送顺序。这些状态来自 SMPP 的 message_state 取值(已接受、在途、已送达、已过期、已删除、无法送达、已拒绝和未知),并非 3GPP TS 23.040 的状态报告值。并非每个网络都会发送全部状态,中间状态也可能被抑制。有些路由会丢失回执或转换状态。

回执来自哪里

  1. 应用
  2. SMPP 网关
  3. SMSC
  4. HLR / HSS
  5. MSC / MME
  6. 手机
  7. 送达回执
应用通过 SMPP 网关和 SMSC 提交,送达回执作为最后一步高亮显示。
文字说明

应用向 SMPP 网关提交,网关再把短信传给 SMSC。流程随后显示归属位置寄存器和 MSC,最后到达手机。送达回执是最后一步,以高亮标出。

状态不能证明什么

“已送达”表示网络认为短信已到达手机,但不能证明手机已显示,也不能证明内容完整到达。发送方 ID 可能无法保留。拼接短信的回执可能按分段或按消息到达,因此对账必须了解路由采用哪种模式。SMPP 解码器会显示原始回执字段。

常见问题

为什么 DLR 比短信慢?

回执来自接收方网络,因此可能晚于短信到达。重试和手机关机还会增加延迟。

“未知”是什么意思?

网络无法确定最终状态,通常是因为下游链路没有返回状态。应视为未决,不要当作已送达。

失败时应该重试吗?

只在状态可能改变时重试,例如暂时不可达。对无效号码重试只会增加发送次数,并不能改善送达。

了解更多

来源

  1. 3GPP TS 23.040:短消息服务(SMS)的技术实现,状态报告
  2. SMPP v3.4 规范第 5.2.28 节 message_state