IOSOR 知識庫
SMPP enquire_link 失敗不屬於已送達流量
了解 IOSOR 如何處理中斷的 SMPP 連線與無回應的 enquire_link 心跳,防止虛假 DLR 並保護預付帳戶餘額免於錯誤扣款。
當 SMPP enquire_link 握手超時,代表底層連線已中斷,所有未確認的訊息均不能視為已送達。若將 Socket 斷開誤判為傳輸成功,將導致錯誤的 DLR 紀錄與不當的 ledger 扣款。平台必須主動終止失效的 bind 並捨棄傳輸中的 PDU,同時立即釋放 prepaid 餘額的 hold 狀態以確保計費精確。
理解 enquire_link 心跳與死連線偵測
在 SMPP 整合中,enquire_link 請求是傳送端或收發端會話與 SMSC 之間的主要 L7 心跳機制。當 Socket 連線在未傳送明確 UNBIND 或 TCP FIN 封包的情況下凍結時,就會發生靜默會話中斷。若沒有主動的心跳檢查,發送隊列會繼續將 submit_sm PDU 注入已失效的會話中。這會造成系統塞車,並誤導路由引擎以為資料仍正常傳輸。
IOSOR 透過持續監控活性會話的時間間隔與序號來解決此問題。當在指定窗口內未收到回應時,系統會立即將該會話標記為不可用,避免資料持續丟失。
為何無回應的心跳必須攔截偽陽性 DLR
傳統 CPaaS 架構常見的漏洞是過於樂觀的送達報告機制。若會話在收到 submit_sm_resp 後但在下游確認送達前中斷,系統絕不能假設簡訊已成功送達。在 Socket 靜默中斷期間為未送達流量計費或給予下游點數,會導致嚴重的財務帳務不符。
為防止此問題,IOSOR 嚴格要求網路心跳與狀態回報保持一致。若 Socket 未回應 enquire_link,所有相關的狀態更新將被暫停,直到確認真實的網路狀態為止。
帳務對帳與 Socket 超時的保留款釋放
當發送的 submit PDU 進入路由引擎時,IOSOR 會在預付餘額上施加臨時預扣款(Hold)。若底層 SMPP 連線因缺少 enquire_link_resp 訊框而中斷,引擎會拒絕未確認的傳輸中封包。待處理的預扣款會立即釋放或退回,而非轉為永久扣款。這能有效防止幽靈扣款,確保客戶錢包餘額與可驗證的網路確認完全一致。
所有帳務異動皆會即時更新,提供完整的審計軌跡,確保每一筆資金流向皆透明可靠。
自動故障轉移與路由隔離
偵測到死連線時必須立即觸發流量重定向,而非靜默丟棄訊息。當 enquire_link 失敗次數超過設定的重試門檻(通常為連續兩次未收到回應)時,IOSOR 會隔離受影響的會話,觸發內部狀態事件,並將排隊中的 OTP 與交易型簡訊流量切換至預先設定的備用路徑。
此過程完全自動化,不會造成客戶端應用程式中斷,確保驗證碼等關鍵訊息能透過備用通道順利送達。
跨系統狀態同步與審計日誌
保持協定會話、財務帳簿與 API Webhook 之間的資料一致性,需要統一的狀態語言。當心跳丟失導致 SMPP 會話中斷時,IOSOR 會記錄未確認 PDU 序號的精確序列,向下游客戶發送結構化的 Webhook 事件,並同步修正帳務記錄。
詳細的審計日誌讓工程人員能快速排查連線異常原因。每個事件均包含精確的時間戳記與會話標識符。
相關閱讀: 首次扣款前的預付資金保留 · 正式流量前的錢包停損線 · OTP 的 TTL 與重送冷卻.
從 IOSOR 開始
請在閘道設定中開啟 IOSOR 主控台,並設定 SMPP 工作階段參數,對 enquire_link 心跳機制強制執行嚴格的兩次逾期門檻。確保路由規則會自動捨棄無回應的綁定並釋放待處理的餘額保留,而不是產生過於樂觀的送達回條。請驗證自動化通訊端容錯移轉觸發條件是否啟用,以便立即重新導路由未獲確認的 submit_sm 酬載。
IOSOR 要點
沉默的 SMPP 通訊端中斷絕不能被誤解為電信商成功投遞。實作主動式的 L7 心跳監控,可讓路由引擎立即隔離失效綁定、釋放暫時性帳本保留,並保護您的平台免受偽陽性 DLR 與財務落差的影響。當 enquire_link_resp 訊框未能送達時,務必強制執行嚴格的通訊端逾期門檻與即時保留釋放。切勿讓舊版計費邏輯在連線中斷時假設已完成投遞,或在下游無預警斷線時繼續扣除客戶餘額。請務必透過 console 檢查連結狀態,並在 ledger 中核對所有未確認的 OTP 或 SMS 流量。若發現異常,請立即執行 export 報表進行比對,並確保所有時間戳記均以 UTC 為基準,以避免因時區差異導致的數據偏差。透過即時監控機制,您可以有效降低因連線失效而產生的錯誤扣款,確保每一筆交易都能精確對應至實際的送達狀態,進而維護平台的營運穩定性與客戶信任。
這篇指南有幫助嗎?
相關指南
- SMPP 連結視窗與會話限制配置指南
深入瞭解如何在 IOSOR CPaaS 平台上針對高流量預付簡訊業務,精確報價並設定 SMPP 連結視窗 (Bind Windows)、會話限制 (Session Limits) 與未確認訊息緩衝區。
- SMPP Binds vs REST API Keys 預付走廊
比較 IOSOR 上的 SMPP 會話與 REST API 金鑰。了解滑動視窗機制、金鑰輪替流程與開發者憑證管理。