1
、縮略語解釋
? ISMG????????????????????????? Internet Short Message Gateway????
互聯網短信網關
?SMPP?????????????????????????? ?Short Message Peer to Peer???????????
短消息點對點協議
?CMPP?????????????????????????? China Mobile Peer to Peer?????????????
中國移動點對點協議
?SMC???????????????????????????? Short Message Center????????????????????
短消息中心
?GNS???????????????????????????? Gateway Name Server????????????????????
網關名稱服務器(匯接網關)
?SP??????????????????????????????? ?Service Provider?????????????????????????????
業務提供者,即信息資源站實體
SMC???????????????????????????? Short Message Control??? SP
為收取包月業務費用而向網關發送的消
????????????????????????????????????????????????????????????????????????????
息,網關收到后不送給用戶僅產生相應的話單;
ISMG_Id??????????????????????
網關代碼:
???????????????? 0XYZ01~0XYZ99
,其中
XYZ
為省會區號,
??????????????????????????????????????????????????????????????????????????
位數不足時左補
SP_Id??????????????????????????? SP
的企業代碼:
???????
網絡中
SP
地址和身份的標識、地址翻譯、計費、結算等
??????????????????????????????????????????????????????????????????????????
均以企業代碼為依據。企業代碼以數字表示,
共
6
位,
??????????????????????????????????????????????????????????????????????????
從
“ 9XY
?????????????????????????????????????????????????????????????????????????
各移動公司代碼。
SP_Code????????????????????? SP
的服務代碼:
???????
服務代碼是在使用短信方式的點播類業務中,
提供給
?????????????????????????????????????????????????????????????????????????
用戶點播的內容
/
應用服務提供商代碼。服務代碼以數
???????????????????????????????????????????????????????????????????????????
字表示,全國業務服務代碼長度統一為
4
位,
即
???????????????????????????????????????????????????????????????????????? “
?????????????????????????????????????????????????????????????????????????
一為
5
位,
即
“
Service_Id????????????????????SP
的業務類型
??????????
數字、字母和符號的組合,
由
SP
自定,
如圖片傳情
????????????????????????????????????????????????????????????????????????
可定為
TPCQ
,股票查詢可定義為
11
。
2
、
CMPP
功能概述
CMPP
協議主要提供以下兩類業務操作:
(
1
)
短信發送(
Short Message Mobile Originate
,移動臺始發
SM MO
)
?
1
)手機發出數據請求(可能是訂閱信息或圖片點播等),被歸屬
ISMG
接收;
2)
歸屬
ISMG
對接收到的信息返回響應;
3)
歸屬
ISMG
在本地查詢不到要連接的
SP
,向
GNS(
匯接網關
)
發路由請求信息;
4) GNS
將路由信息返回;
5)
歸屬
ISMG
根據路由信息將請求前轉給接入
ISMG
;
6)
接入
ISMG
對接收到的信息返回響應;
7)
接入
ISMG
將請求信息送
SP
;
8) SP
返回響應;
(
2
)
短信接收(
Short Message Mobile Terminated
,移動臺終止
SM MT
)??
1)SP 發出數據請求(可能是短信通知或手機鈴聲等),被接入ISMG 接收;
2) 接入ISMG 對接收到的信息返回響應;
3) 接入ISMG 在本地數據庫中找不到要目的手機號段所對應網關代碼,向GNS(匯接網
關)發路由請求信息;
4) 匯接網關將路由信息返回;
5) 接入ISMG 根據路由信息將請求前轉給歸屬ISMG;
6) 歸屬ISMG 對接收到的信息返回響應;
7) 歸屬ISMG 將請求信息發送至SMC;
8) SMC 向歸屬ISMG 返回響應;
在上述操作中,步驟1 到步驟6 均使用CMPP 協議;
在隨后的操作中,SMC 將通過NO.7 信令網向移動用戶發送信息,移動用戶收到后將返回
狀態報告(Delivery-Receipt)給短信中心,短信中心將按照MO 操作的流程將狀態報告返回
給SP(如果SP 要求返回狀態報告)。
3、協議棧
CMPP 協議以TCP/IP 作為底層通信承載,具體結構由圖所示:
?
4
、通信方式
SP
與
ISMG
之間、
ISMG
之間進行信息交互時,可以采用長連接方式,也可以采用短連接
方式;現階段建議均采用長連接的方式。所謂長連接,指在一個
TCP
連接上可以連續發送
多個數據包,在
TCP
連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包以維持
此連接。短連接是指通信雙方有數據交互時,就建立一個
TCP
連接,數據發送完成后,則
斷開此
TCP
連接,即每次
TCP
連接只完成一對
CMPP
消息的發送。
1
)
長連接
通信雙方以客戶
-
服務器方式建立
TCP
連接,用于雙方信息的相互提交。當信道上沒有數據
傳輸時,通信雙方應每隔時間
C
發送鏈路檢測包以維持此連接,當鏈路檢測包發出超過時
間
T
后未收到響應,應立即再發送鏈路檢測包,再連續發送
N-1
次后仍未得到響應則斷開
此連接。
參數
C
、
T
、
N
原則上應可配置,現階段建議取值為:
C=3
分鐘,
T=60
秒,
N=3
。
網關與
SP
之間、網關之間的消息發送后等待
T
秒后未收到響應,應立即重發,再連續
發送
N-1
次后仍未得到響應則停發。現階段建議取值為:
T=60
秒,
N=3
。
消息采用并發方式發送,加以滑動窗口流量控制,窗口大小參數
W
可配置,現階段建
議為
16
,即接收方在應答前一次收到的消息最多不超過
16
條。
長連接的操作流程舉例如圖所示:
?
2
)短鏈接
通信雙方以客戶
-
服務器方式建立
TCP
連接,應答與請求在同一個連接中完成。系統采用客
戶
/
服務器模式,操作以客戶端驅動方式發起連接請求,完成一次操作后關閉此連接。
網關與
SP
之間、網關之間的消息發送后等待
T
秒后未收到響應,應立即重發,再連續
發送
N-1
次后仍未得到響應則停發。現階段建議取值為:
T=60
秒,
N=3
。
短連接的操作流程舉例如圖
6
所示:
3
)涉及到的端口號
端口號
|
應用
|
7890
|
長連接(
SP
與網關間) |
7900 |
短連接(
SP
與網關間或網關之間)
|
7930 |
長連接(網關之間)
|
9168 |
短連接(短信網關與匯接網關之間) |
4
、消息定義
1
)基本數據類型
Unsigned Integer
|
無符號整數
|
Integer
|
整數,可為正整數、負整數或零
|
Octet String
|
定長字符串,位數不足時,如果左補
0
則補
ASCII
表示的零以填充,如果右補
0
則補二進制的零以表示字符串的結束符
|
2
)消息結構
和一般的消息一樣,CMPP消息也包括消息頭(所有消息公共包頭
)和消息體。
3
)消息頭格式(
Message Header
)
字段名
|
字節數
|
類型
|
描述
|
Total_Length
|
4 |
Unsigned Integer
|
消息總長度
(
含消息頭及消息體
) |
Command_Id
|
4 |
Unsigned Integer
|
命令或響應類型 |
Sequence_Id
|
4 |
Unsigned Integer
|
消息流水號
,
順序累加
,
步長為
1,
循環使用(一對請求和應答消息的流水號必須相同)
|
4
)
MO
流程中的消息流程
?
?
說明:
上面消息流程中有幾條消息由于我偷懶沒有畫出來,比如CMPP_TERMINATE、CMPP_TERMINATE_RESP等,希望大家注意
?