1.1 CMPP协议
一、 简介
CMPP标准由中国移动通信集团公司技术部提出。规定了移动梦网短信业务开展过程中各网元(包括ISMG、GNS和SP)之间的消息类型和定义,目前为 3.0.0 版本
与CMPP对应的协议有,联通的SGIP协议,中国电信的SMGP协议,网通的CNGP协议。
二、 网络结构
图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)
四、 协议栈
CMPP协议以TCP/IP作为底层通信承载,具体结构由图4所示:
CMPP TCP IP 底层承载 |
ISMG |
CMPP TCP IP 底层承载 |
CMPP TCP IP 底层承载 |
CMPP TCP IP 底层承载 |
ISMG |
SP |
GNS |
图2 CMPP协议栈
五、 通信方式
各网元之间共有两种连接方式:长连接和短连接。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送。
现阶段,要求ISMG之间必须采用长连接的通信方式,建议SP与ISMG之间采用长连接的通信方式。
(一) 长连接
通信双方以客户-服务器方式建立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条。
长连接的操作流程举例如图5所示:
. . . . . . |
滑动窗口不大于W W |
CMPP消息1 |
客户端 |
服务器端 |
CMPP消息2 |
对CMPP消息1的响应 |
对CMPP消息2的响应 |
链路检测包 |
链路检测包响应 |
建立TCP连接 |
链路检测包 |
链路检测包响应 |
拆除TCP连接 |
. . . . . . |
图3 长连接操作流程
(二) 短连接
通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。
短连接的操作流程举例如图6所示:
对CMPP消息1的响应
|
CMPP消息1 |
建立TCP连接 |
拆除TCP连接 |
CMPP消息2 |
对CMPP消息2的响应
|
建立TCP连接 |
拆除TCP连接 |
. . . . . . |
客户端/服务器端 |
服务器/客户端 |
图4 短连接操作流程
(三) 本协议涉及的端口号
1. 端口号 | 2. 应用 |
3. 7890 | 4. 长连接(SP与网关间) |
5. 7900 | 6. 短连接(SP与网关间) |
7. 7930 | 8. 长连接(网关之间) |
9. 9168 | 10. 短连接(短信网关与汇接网关之间) |
(四) 交互过程中的应答方式
在SP与ISMG之间、SMSC与ISMG之间及ISMG之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送响应消息。举例如图7所示:
SMSC |
ISMG1 |
ISMG2 |
SP |
SMPP请求消息 |
SMPP响应消息 |
CMPP请求消息 |
CMPP响应消息 |
CMPP请求消息 |
CMPP响应消息 |
图5 异步交互方式示意图