短信網關開發設計

學識都 人氣:6.62K

摘 要:CMPP(中國移動點對點協議)規定了移動夢網短信業務開展過程中各網元(包括ISMG、GNS和SP)之間的消息類型和定義,本文講述基於CMPP3.0標準的企業短信網關設計,支持CONNECT,SUBMIT,DELIVER,QUERY,CANCEL,TERMINATE消息。

短信網關開發設計

關鍵詞:短信 短信網關CMPP SP ISMG

1 引言

隨着短信息業務的快速發展,短信息已經成爲手機用戶最經常使用的業務之一。除了大量使用的手機用戶到手機用戶的點對點短信業務之外,從信息平臺到手機用戶的短信信息服務業務也在快速發展,該業務已經成爲廣大用戶及時方便地獲取信息的一種手段。在廣大服務提供商(SP)的支持下,用戶可以採用短信點播或網站定製的方式得到大量有用信息,SP也能通過提供有償信息服務而獲得收益。

然而手機用戶和SP的交互必須通過基於CMPP的短信網關。CMPP(China Mobile Peer to Peer)中國移動點對點協議,目前爲3.0版本,是中國移動通信集團公司發佈,規定了移動夢網短信業務開展過程中各網元(包括ISMG、GNS和SP)之間的消息類型和定義,規定了以下三方面的內容:1)業務提供商與互聯網短信網關之間的接口協議;2)互聯網短信網關之間的接口協議;3)互聯網短信網關與匯接網關之間的接口協議。

文章組織如下:第2節分析介紹了CMPP3.0;第3節分析設計企業短信網關API;第4節給出了SP的發展趨勢,最後對全文進行總結。

2 CMPP3.0

2.1網絡結構

如圖1所示:

圖1 互聯網短信網關組網結構

如圖1所示,互聯網短信網關(ISMG)是業務提供商(SP)與移動網內短信中心之間的中介實體,互聯網短信網關一方面負責接收SP發送給移動用戶的信息和提交給短信中心。另一方面,移動用戶點播SP業務的信息將由短信中心通過互聯網短信網關發給SP。另外,爲了減輕短信中心的信令負荷,互聯網短信網關還應根據路由原則將SP提交的信息轉發到相應的互聯網短信網關。互聯網短信網關通過向匯接網關(GNS)查詢的方式獲得網關間的轉發路由信息。

另外,ISMG還必須與數據業務管理平臺DSMP進行連接,在業務流程中對用戶、業務以及定購關係等進行鑑權並對業務進行批價。

CMPP協議主要提供以下兩類業務操作:

(1)短信發送(Short Message Mobile Originate,SM MO)

(2)短信接收(Short Message Mobile Terminated,SM MT)

2.2 CMPP協議棧

CMPP協議以TCP/IP作爲底層通信承載,具體結構由圖2所示:

圖2 CMPP協議棧

2.3 通訊方式

各網元之間共有兩種連接方式:長連接和短連接。所謂長連接,指在一個TCP連接上可以連續發送多個數據包,在TCP連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包以維持此連接。短連接是指通信雙方有數據交互時,就建立一個TCP連接,數據發送完成後,則斷開此TCP連接,即每次TCP連接只完成一對CMPP消息的發送。

現階段,要求ISMG之間必須採用長連接的通信方式,建議SP與ISMG之間採用長連接的通信方式。

2.4 CMPP涉及的端口號

2.5交互過程中的應答方式

在SP與ISMG之間、SMSC與ISMG之間及ISMG之間的交互過程中均採用異步方式,即任一個網元在收到請求消息後應立即回送響應消息。舉例如圖3所示:

圖3 異步交互方式示意圖

3 企業短信網關設計

企業短信網關API必須實現CMPP3.0中業務提供商(SP)與互聯網短信網關(ISMG)間的消息定義所規定的七個操作。

⑴ SP請求連接到ISMG(CMPP_CONNECT)操作

CMPP_CONNECT操作的目的是SP向ISMG註冊作爲一個合法SP身份,若註冊成功後即建立了應用層的連接,此後SP可以通過此ISMG接收和發送短信。ISMG以CMPP_CONNECT_RESP消息響應SP的請求。

⑵ SP或ISMG請求拆除連接(CMPP_TERMINATE)操作

CMPP_TERMINATE操作的目的是SP或ISMG基於某些原因決定拆除當前的應用層連接而發起的操作。此操作完成後SP與ISMG之間的應用層連接被釋放,此後SP若再要與ISMG通信時應發起CMPP_CONNECT操作。

ISMG或SP以CMPP_TERMINATE_RESP消息響應請求。

⑶ SP向ISMG提交短信(CMPP_SUBMIT)操作

CMPP_SUBMIT操作的目的是SP在與ISMG建立應用層連接後向ISMG提交短信。

ISMG以CMPP_SUBMIT_RESP消息響應。

⑷ SP向ISMG查詢發送短信狀態(CMPP_QUERY)操作

CMPP_QUERY操作的目的是SP向ISMG查詢某時間的業務統計情況,可以按總數或按業務代碼查詢。ISMG以CMPP_QUERY_RESP應答。

⑸ ISMG向SP送交短信(CMPP_DELIVER)操作

CMPP_DELIVER操作的目的是ISMG把從短信中心或其它ISMG轉發來的`短信送交SP,SP以CMPP_DELIVER_RESP消息迴應。

⑹ SP向ISMG發起刪除短信(CMPP_CANCEL)操作

CMPP_CANCEL操作的目的是SP通過此操作可以將已經提交給ISMG的短信刪除,ISMG將以CMPP_CANCEL_RESP迴應刪除操作的結果。

⑺ 鏈路檢測(CMPP_ACTIVE_TEST)操作

本操作僅適用於通信雙方採用長連接通信方式時用於保持連接。

以下爲CMPPAPI實現的java部分代碼

4 結束語

當前短信業務蓬勃發展,移動數據業務將成爲運營商的重要收入來源,移動互聯網用戶數大幅增長。

CMPP作爲中國移動網關與服務提供商(SP)之間的交互協議,在SP技術發展中具有重要的作用。本文深入分析CMPP3.0協議的結構和底層通訊方式,給出實現CMPP3.0的企業短信網關API,爲SP接入移動短信業務提供實現方法。

但本文也存在一些不足,CMPP3.0是一個複雜的協議,也是互聯網短信網關的接口協議,作者將繼續對CMPP3.0的研究,進一步深化本文的工作。