摘要 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 互联网短信网关组网布局
图2 CMPP协议栈
端标语 应用 7890 长毗连(SP与网关间) 7900 短毗连(SP与网关间) 7930 长毗连(网关之间) 9168 短毗连(短信网关与汇接网关之间)
图3 异步交互方法示意图
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(..)
{
…..//阐明状态陈诉内容
}
}
当前短信业务发达成长,移动数据业务将成为运营商的重要收入来历,移动互联网用户数大幅增长。
CMPP作为中国移动网关与处事提供商(SP)之间的交互协议,在SP技能成长中具有重要的浸染。本文深入阐明CMPP3.0协议的布局和底层通讯方法,给出实现CMPP3.0的企业短信网关API,为SP接入移动短信业务提供实现要领。
但本文也存在一些不敷,CMPP3.0是一个巨大的协议,也是互联网短信网关的接口协议,作者将继承对CMPP3.0的研究,进一步深化本文的事情。 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部门代码 2.5交互进程中的应答方法
在SP与ISMG之间、SMSC与ISMG之间及ISMG之间的交互进程中均回收异步方法,即任一个网元在收到请求动静后该当即回送响应动静。举譬喻图3所示: 2.3 通讯方法
各网元之间共有两种毗连方法:长毗连和短毗连。所谓长毗连,指在一个TCP毗连上可以持续发送多个数据包,在TCP毗连保持期间,假如没有数据包发送,需要两边发链路检测包以维持此毗连。短毗连是指通信两边有数据交互时,就成立一个TCP毗连,数据发送完成后,则断开此TCP毗连,即每次TCP毗连只完成一对CMPP动静的发送。
现阶段,要求ISMG之间必需回收长毗连的通信方法,发起SP与ISMG之间回收长毗连的通信方法。
2.4 CMPP涉及的端标语 如图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所示: