?? smppv3.3規范(翻譯) ---第二期;.txt
字號:
作者:退退
email: jasmine@2911.net
日期:7/31/2001 6:22:13 PM
3. 接口規范
SMSC和ESME間的接口可以是基于X.25網的,也可以是TCP/IP的.對于特定實現的細節請參考SMPP應用指南[1].
無視底層網絡類型的SMSC和ESME間的接口將是客戶-服務器模式,也就是說,SMSC扮演服務器角色而ESME扮演客戶角色.在本文檔的剩余部分,"客戶"指系統初始化一個連接而"服務器"指系統為一個連接服務.
注意這份文檔確定了接口在網絡層.然而事實是,這個接口也可能會在傳輸層實現.
4. 協議消息
所有發出的消息,或者從ESME到SMSC,或者從SMSC到ESME,都將立即產生相應.
就向剛才提到的,一條消息從ESME提交到了SMSC最多能產生兩條響應.它們是:
一個應用程序級的"resp"
SMSC處理完消息后將返回一個狀態報告.
圖4.1描繪了這些消息可能的遞送順序(基于X.25或TCP/IP實現的例子).Figure 4.1 Sample Message Sequence
ESME SMSC
| |
| submit_sm (1) |
|---------------------------------------------->|
| |
| submit_sm_resp(1) |
|<----------------------------------------------|
| |
| deliver_sm(1) |
|<----------------------------------------------|
| |
| deliver_sm_resp (1) |
|---------------------------------------------->|
| |
| submit_sm (2) |
|---------------------------------------------->|
| |
| submit_sm_resp(2) |
|<----------------------------------------------|
| |
圖4.1 消息順序樣例
想獲得ESME/SMSC協議消息順序的更多詳情,請參考SMPP應用指南[1]
5. 基本應用
本章主要講述ESME和SMSC之間基本的交換機制.有關網絡的具體實現,比如X.25或TCP/IP,請看SMPP應用指南[1].
5.1 SMSC通信的初始化
ESME通過實現特定的機制(見SMPP應用指南[1])建立與SMSC的通信.
連接需要兩個虛擬連接.一個用于ESME系統中消息的產生,以及它的響應消息.(比如,submit_sm, query_sm, cancel_sm,等等);另一個將用于SMSC中消息的產生和它們的響應(比如: delivery_sm);
一旦一個"虛擬連接"被建立,ESME的兩個進程都將發送一個請求,或者是綁定發送(Bind-Transmitter)的,或者是綁定接受(Bind-Reciver)的.假如是綁定發送的請求被發送出去,SMSC的進程將接收產生于ESME系統的消息;如果是綁定接收的請求被發送,SMSC上的進程將把消息給ESME.在同一個的"虛擬連接"上,響應總是根據相應的請求信息被返回.
關于上述描述見下圖說明:
-----------------------------------------------------------
| ----------------------- ------------------------- |
| | | | | |
| | | ESME | | |
| | | | | | |
| |_____|_______________| |_______________________| |<----|
|_______|_________________________________________________| |
| |
| |
(虛擬連接)| ------------------------- |(虛擬連接)
| | | |
|------>| 通訊供應商 |_______________________|
| 比如:X.25, TCP/IP |
----------------| |<---------------
| |_______________________| |
| |
| ----------------- ------------------- |
|------>| SMSC應用程序 | | SMSC應用程序 |-----
________|(綁定發送) | | (綁定接收) |<-----
| |_______________| |_________________| |
| |
| |
| ----------------------------------------- |
| | | |
------> | SMSC內核 |_______|
| |
|_______________________________________|
圖5.1 ESME/SMSC通信
5.2 與SMSC間的穩固狀態通信
一旦連接被建立,授權"綁定"請求被應答,更多的請求/響應消息可以被交換.響應是針對某個請求而發送的.
5.3 停止與SMSC的通信
在任何時間,ESME或SMSC需要終止與對方的通信,它都將在合適的"虛擬連接"上發出"unbind"請求.這將使得接收系統有序地中斷通信.兩種虛擬連接的unbind請求都應該在虛擬連接關閉前被接收系統應答,
5.4 錯誤處理和重發
接收系統必須確保所收數據類型的合法,并且檢查消息體各字段的值是否恰當并且合法.如果消息類型或者字段的值不正確,將返回錯誤代碼.本規范的7.1章將有關于錯誤狀態碼的完整列表.
不論錯誤是由于底層通信網絡產生的,還是由主機用于發送的應用程序產生的,重發消息的任務都是屬于發送者的.發信方應該設置好重發的次數以及當重發次數用完后連接應該關閉.ESME應該嘗試重新連接.重新連接的方法與啟動協議一樣.
消息頭中的序列號應該由ESME生成.這個號碼應該隨著每一個新生成的事務遞增.這個字段被接收系統保存并隨著應答消息一同返回.這樣可以允許事務的映射和檢測重復的消息.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -