【问题标题】:SMPP connection lost before responseSMPP 连接在响应前丢失
【发布时间】:2015-07-10 11:41:22
【问题描述】:

我刚刚阅读了 SMPP 协议 V3.4(问题 1.2)

对于每个请求,都必须有相应的响应。 (ALERT_NOTIFICATION 除外)。

但它没有解释如果在收到响应之前连接丢失(断开、关闭)会发生什么。

ESME send BIND request to SMSC
ESME receive BIND response from SMSC

ESME send DATA_SM request to SMSC
** connection is lost **

SMSC 有响应,但无法转发给 ESME

ESME send BIND request to SMSC
ESMS receive BIND response from SMSC

我看到了两种可能性 a°) SMSC 现在将发送 DATA_SM 响应 b°) DATA_SM 响应将永远丢失?

如果 DATA_SM 响应丢失,ESME 可能会重新发送 DATA_SM,最终客户将收到 2 个 DATA_SM。

如果重发DATA_SM响应,可能是序列号不匹配?

【问题讨论】:

    标签: smpp


    【解决方案1】:

    序列号是当前绑定连接的状态,如果它断开,则任何 _resp pdu 都将被丢弃,因为它们在 ESME 上的相关序列号已随连接一起被丢弃。

    【讨论】:

      【解决方案2】:

      您不会在新绑定中获得 DATA_SM_RESP。一方面,因为序列号仅在特定会话方面是唯一的。

      这可能是运营商 (SMSC) 特定的如何处理在他们能够发送 RESP PDU 之前连接丢失的情况,我想他们可能会忽略该消息。

      如果您使用它作为 SUBMIT_SM 的替代方法并设置了注册的交付标志,则可以使用交付收据来检查您的消息状态。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-27
        • 1970-01-01
        • 2017-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多