2015-07-10 69 views
0

我剛剛閱讀SMPP協議V3.4(問題1.2)SMPP連接在響應前丟失

對於每個請求,都必須有相應的響應。 (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 

我看到2種可能性 一個°)的SMSC現在將發送DATA_SM響應 B [℃)的DATA_SM響應將永遠失去?

如果DATA_SM響應丟失,也許ESME將重新發送DATA_SM,最終客戶將收到2個DATA_SM。

如果DATA_SM響應被重新發送,它可能會有序列號不匹配?

回答

0

序列號是一個當前綁定連接的狀態,如果它下降,則任何_resp pdu將被丟棄,因爲它們在ESME上的相關序列號已被連接丟棄。

0

您不會在新綁定上獲得DATA_SM_RESP。首先,因爲序號對於特定的會話來說是唯一的。

它可能是運營商(SMSC)具體如何處理連接丟失之前,他們能夠發送一個RESP PDU的情況下,我想他們可能會忽略該消息。

如果您使用它作爲SUBMIT_SM的替代方案並設置了registered_delivery標誌,則可以使用送達回執來檢查消息的狀態。