国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于CMPP3.0的企業短信網關API設計

2019-11-18 19:10:23
字體:
來源:轉載
供稿:網友

  摘 要 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涉及的端口號

端口號 應用
7890 長連接(SP與網關間)
7900 短連接(SP與網關間)
7930 長連接(網關之間)
9168 短連接(短信網關與匯接網關之間)

  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部分代碼

public final class CMPPAPI
{
 …….
 public CMPPAPI()
 {
  ….. //初始化,完成SP請求連接到ISMG(CMPP_CONNECT)操作
 }
 public int CMPPSendSingle(…)
 {
  …..//發送短信,完成SP向ISMG提交短信(CMPP_SUBMIT)操作
 }
 public int CMPPSendBatch(…)
 {
  …..//群發短信
 }
 public int CMPPQuery(…)
 {
  …..//查詢短信流量,完成SP向ISMG發起刪除短信(CMPP_CANCEL)操作
 }
 public int CMPPDeliver(…)
 {
  …..//接受短信,完成ISMG向SP送交短信(CMPP_DELIVER)操作
 }
 public int CMPPCancel(..)
 {
  …..//取消短信,完成SP向ISMG發起刪除短信(CMPP_CANCEL)操作
 }
 public int CMPPActiveTest(..)
 {
  …// 檢查ISMG短信網關是否提供服務,鏈路檢測(CMPP_ACTIVE_TEST)操作
 }
 public int CMPPAnalyzeStatusReport(..)
 {
  …..//分析狀態報告內容
 }
}

  4 結束語

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城步| 屏东市| 灵璧县| 略阳县| 汝南县| 鹤庆县| 偃师市| 偏关县| 扎兰屯市| 浮梁县| 彰化县| 卫辉市| 潼关县| 体育| 金山区| 盐城市| 万年县| 湘潭市| 邹城市| 凤台县| 印江| 上栗县| 瓮安县| 锦屏县| 奉贤区| 大安市| 儋州市| 横山县| 乌苏市| 尚义县| 隆德县| 香港 | 杂多县| 景洪市| 波密县| 华容县| 庆城县| 漯河市| 克拉玛依市| 安泽县| 罗定市|