CMPP接口协议(移动)
业务提供者与互联网短信网关之间的接口协议
互联网短信网关之间的接口协议
互联网短信网关与汇接网关之间的接口协议
术语和定义
网络结构:
互联网短信网关(ISMG)是业务提供者(SP)与移动网内短信中心之间的中介,
SP发送给移动用户的信息 给ISMG
ISMG接收到后提交给短信中心.
移动用户点播SP业务的信息由短信中心 通过 ISMG发给SP
为了减轻短信中心的负荷,ISMG根据路由原则将SP提交的信息转发到相应的ISMG
ISMG通过汇接网关(GNS)查询的方式获取网关间的转发路由信息
ISMG必须与数据业务管理平台DSMP连接,对用户,业务以及订购关系等进行鉴权并对业务进行批价
CMPP功能:
短信发送
短信接收
CMPP底层:
TCP/IP作为底层通信,
通信方式:
长连接:
一个TCP连接可以发送多个数据包,
没有数据包发送时,双方每隔C时间发送链路监测包维持连接.
当链路检测包发出超过T未收到响应,应立即再发链路监测包,
再连续发送N-1 次后仍未响应则断开连接
消息并发发送,滑动窗口流量控制,窗口大小为W,
即接收方在应答前一次收到的消息最多不超过W条
默认参数值:
C=3分钟
T=60秒
N=3
W=16条
短链接:
有数据交换才建立TCP连接,
应答与请求在同一连接完成,
数据发送后断开.
网关与业务提供者 之间,网关之间的消息发送后等待T秒后未响应
立即重发,连续发送N-1次后未响应停发
默认值:
T=60秒
N=3
要求:
互联网短信网关必须长连接,
建议业务提供者与互联网短信网关采用长连接
端口号:
7890 长连接(业务提供者与网关之间)
7900 短连接(业务提供者与网关之间)
7930 长连接(网关之间)
9168 短链接(短信网关与汇接网关之间)
应答方式:
异步
CMPP3.0与2.0区别
.CMPP_SUBMIT中计费字段和目的字段都增加了一个类型,指明是真实号码还是伪码 伪码是什么含义啊,没解释? 2.CMPP_SUBMIT增加了一个LinkID字段,说"点播业务使用的LinkID,非点播类业务的MT流程不使用该字段" 具体怎么用,也不太明白. 3.状态报告加了MA:xxxx、MB:xxxx、CA:xxxx、CB:xxxx的状态值,意料之中. 4.Register_Delivery字段删除对2(产生SMC话单)的支持;以后包月我猜应该是告诉ISMG某个用户包月了,ISMG每个月自动扣费,直到SP告诉ISMG,
消息定义:
1.基本数据类型
Unsigned Integer 无符号整数
Integer 整数,可为正整数,负数,零
Octet String 定长字符串,
位数不足时,左补0则补ASCll表示的零以填充,
右补0则补二进制的零以表示字符串的结束符
2.消息结构
Message Header 消息头(所有消息公共包头)
Message Body 消息体
3.业务提供者SP与互联网短信网关ISMG间的消息定义
3.1 SP请求连接到ISMG操作(CMPP_CONNECT) SP–>ISMG
SP向ISMG注册一个合法身份, 成功后建立应用层连接
SP可通过此ISMG接受和发送短信
3.2 ISMG响应SP操作(CMPP_CONNECT_RESP) ISMG–>SP
ISMG以CMPP_CONNECT_RESP消息响应SP的请求
3.3ISMG或SP请求拆除连接操作(CMPP_TERMINATE)
此操作完成后, 之间的应用层连接释放,
若SP再要向ISMG通信需发起CMPP_CONNECT操作
以CMPP_CONNECT_RESP消息响应请求
3.4 SP向ISMG提交短信(CMPP_SUBMIT) SP–>ISMG
ISMG以CMPP_CONNECT_RESP消息响应
3.5 SP向ISMG查询发送短信状态(CMPP_QUERY) SP–>ISMG
SP向ISMG查询某个时间业务统计情况,可以按总数或按业务代码查询,
ISMG以CMPP_CONNECT_RESP应答
3.6 ISMG向SP送交短信(CMPP_DELIVER) ISMG–>SP
ISMG把从短信中心或其它ISMG转发来的短信送交SP,
SP以CMPP_CONNECT_RESP消息响应
3.7 SP向ISMG发起删除短信(CMPP_CANCEL) SP–>ISMG
ISMG以CMPP_CONNECT_RESP消息响应
3.8 链路检测(CMPP_ACTIVE_TEST)
本操作仅适用于通信双方采用长连接通信方式时用于保持连接
4.互联网短信网关ISMG之间的消息定义
4.1 源ISMG请求连接到目的ISMG (CMPP_CONNECT)
消息定义同3.1 其中Source_Addr参数为源网关代码
4.2 源ISMG请求拆除到目的ISMG的连接 (CMPP_TERMINATE)
4.3 链路检测 (CMPP_ACTIVE_TEST)
仅用于通信双方采用长连接通信方式时保持连接
4.4 源ISMG向目的ISMG转发短信 (CMPP_FWD)
源ISMG根据一定路由策略将SP提交的短信,MO状态报告,短信中心产生的状态报告,用户提交的短信发到ISMG,
目的ISMG以CMPP_FWD_RESP回应
5.ISMG与汇接网关(GNS)之间的消息定义
要求使用短链接通信,ISMG与GNS可互为客户/服务器
5.1 ISMG请求连接到GNS或GNS请求连接到ISMG (CMPP_CONNECT)
消息定义同3.1 其中Source_Addr参数为源网关代码
5.2 ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG (CMPP_TERMINATE)
5.3 ISMG向GNS查询 MT路由 (CMPP_MT_ROUTE)
ISMG不知道需要转发MT消息的路由时查询CNS.
CNS以CMPP_FWD_RESP回应
5.4 ISMG向汇接网关查询MO路由 (CMPP_MO_ROUTE)
ISMG不知道需要转发MO消息的路由时 可向 CNS查询得到
CNS以CMPP_FWD_RESP回应
5.5 ISMG向GNS获取MT路由 (CMPP_GET_MT_ROUTE)
ISMG可向GNS查询MT的路由信息。
GNS以CMPP_GET_MT_ROUTE_RESP消息回应。
5.6 SMG向GNS获取MO路径 (CMPP_GET_MO_ROUTE)
5.7 ISMG向GNS更新MT路由(CMPP_MT_ROUTE_UPDATE)
GNS以CMPP_MT_ROUTE_UPDATE _RESP消息回应
5.8 ISMG向GNS更新MO路由 (CMPP_MO_ROUTE_UPDATE)
GNS以CMPP_MO_ROUTE_UPDATE _RESP消息回应
5.9 GNS向ISMG更新MT路由(CMPP_PUSH_MT_ROUTE_UPDATE)
GNS可向ISMG更新MT路由信息。
ISMG以CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消息回应。
5.10 汇接网关向ISMG更新MO路由(CMPP_PUSH_MO_ROUTE_UPDATE)
GNS可向ISMG更新MO路由信息。
ISMG以CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消息回应。