SMPP協議解析

           SMPP 協議是一個開放式的工業標準協議爲信息中心和短消息系統應用端在短信數據傳輸時提供靈活的數據通信接口規範信息中心有短消息中心SMSC GSM 非結構化補充服務數據服務器USSD 等類型短消息系統應用端包括WAP 代理服務器EMAIL 網關和其它一些信息網關等。

           SMPP支持以下雙向信息傳送功能:

                     1. 通過SMSC,從ESME外發消息到單個/多個目的地址
                     2. 通過SMSC,ESME能夠接收來自其他SME(如移動臺)消息;
                     3. 查詢存儲在SMSC中的短消息狀態;
                     4. 刪除或替換存儲在SMSC中的一條短消息;
                     5. 發送一條註冊短消息;
                     6. 列出短消息發送的時間和日期;
                     7. 選擇消息模式,如數據報,存儲和轉發;
                     8. 設置短消息發送的優先級
                     9. 定義短消息的數據代碼類型;
                     10. 設置短消息的有效期
                     11. 對每條短消息設置服務類型,例如語音提示等。

          SMPP會話描述
                      在SMSC和ESME之間的SMPP會話由ESME首先發起,建立同SMSC的網絡連接,然後發送SMPP連接請求,開始SMPP會話。期望提交和接收消息的ESME要求建立兩種網絡連接(TCP/IP或X.25)和兩種SMPP會話層(轉發端和接收端)。在協議規範裏,ESME也可以選擇在單一網絡連接上建立SMPP收發會話層。
                      在SMPP會話是,ESME可以向SMSC發起一系列請求,從SMSC收到響應的響應。反之亦然。

          SMPP協議是一個應用層協議,不提供傳輸功能。因此,底層網絡連接將提供點對點的可靠數據傳輸。這些傳輸包括加密包,窗口,流量控制和錯誤處理等。下圖顯示了ESME和SMSC之間的運行情況。

                          

           ESME到SMSC的消息

                      1. submit_sm——向SMSC提交短消息數據

                      2. data_sm——向SMSC傳輸數據

                      3. query_sm——向SMSC查詢以前提交的消息狀態

                      4. cancel_sm——取消以前提交的短消息發送

                      5. replace_sm——替換以前提交的短消息

             SMSCESME的應答消息

                      1. submit_sm_resp

                      2. data_sm_resp

                      3. query_sm_resp

                      4. cancel_sm_resp

                      5. replace_sm_resp

              消息模式

                      1. 存儲和轉發模式,一般情況下,短消息在發送之前是被存放在SMSC的數據庫中。這樣短消息能夠被安全的保存直到SMSC嘗試轉發成功。這種消息模式就被稱爲“存儲和轉發”

                      2. 數據報消息模式,借鑑了在其他諸如UDP數據報包裹傳輸等通信協議的數據報經驗,集中於大信息量發送。他的缺點是缺乏安全存儲,也沒有存儲和轉發模式的嘗試轉發保證。在數據報消息模式中,消息發起者並不接收任何形式的發送狀態迴應。

                      3. 事務處理消息模式,允許ESME消息發起者在SMPP響應PDU中接收發送應答(以顯示短消息是否被成功發送到移動終端)

              消息類型

  除了正常短消息外,submit_sm,deliver_sm或data_sm操作命令在ESME和SMSC之間也能傳輸一些特別消息。這些消息類型在上面的SMPP命令中定義在esm_class參數裏。

                      下面是SMPP中支持的消息類型。
                               SMSC Delivery Receipt:SMSC在偵測到存儲在其中的某一條註冊消息的最後狀態後,將會發送一條接收信息給消息的發起者。
                               Intermediate Notification:一箇中間提示對移動終端消息發送者來說,是SMSC可以向ESME發送的特別消息形式。它提供一次消息發送嘗試的中間狀態報告。
                              SME Delivery Acknowledgement:SME發送應答並不是指短消息發送到SME的提示,而是來自用戶已經閱讀短消息的指示。
                              SME Manual/User Acknowledgement:針對請求消息的回覆信息。
                              Conversation Abort:並不是在所有網絡類型支持。 

              ESME建立連接模式

      ESME轉發端(BIND_TRANSMITTER):作爲轉發端的ESME可以向SMSC發送短消息,接收SMSC的應答消息。此時ESME不能接收其他SME(例如移動基站)發送的原始消息。
                      ESME接收端(BIND_RECEIVER):作爲接收端的ESME可以接收SMSC發送的短消息,並返回相應的應答消息。
                      ESME收發端(BIND_TRANSCEIVER):作爲收發端的ESME可以通過一個SMPP對話向SMSC發送短消息和接收短消息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章