一、主要名词解释
SP:业务提供者,信息资源站实体
SP_ID:
SP
的企业代码:网络中
SP
地址和身
份的标识、地址翻译、计费、结算等均以企业代码为依据。企业代码以数字表示,共
6
位,从“
9XY000
”至“
9XY999
”,其中“
XY
”为各移动公
司代码。
SP_Code:
SP
的服务代码:服务代码是在使用
短信方式的点播类业务中,提供给
用户点播的内容
/
应用服务提供商代码。服务代码以数字表示,全国业
务服务代码长度统一为
4
位,即“
1000
”-“
9999
”;本地业务服务
代码长度统一为
5
位,即“
01000
”-“
09999
”。飞信12520
Service_Id:
SP
的业务类型,数字、字母和符号的
组合,由
SP
自定,如图片传情可定为
TPCQ
,股票查询可定义为
11
。
二、CMPP协议栈:
- 手机发出数据请求(可能是订阅信息或图片点播等),被归属ISMG接收;
- 归属ISMG对接收到的信息返回响应;
- 归属ISMG在本地查询不到要连接的SP,向GNS(汇接网关)发路由请求信息;
- GNS将路由信息返回;
- 归属ISMG根据路由信息将请求前转给接入ISMG;
- 接入ISMG对接收到的信息返回响应;
- 接入ISMG将请求信息送SP;
- SP返回响应;
SMC和ISMG之间使用的是NO.7信令。其他步骤使用的CMPP协议。
三、通讯方式:
SP
与
ISMG
之间、
ISMG
之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式;现阶段建议均采用长连接的方式。所谓长连接,指在一个
TCP
连接上可以连续发送多个数据包,在
TCP
连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个
TCP
连接,数据发送完成后,则断开此
TCP
连接,即每次
TCP
连接只完成一对
CMPP
消息的发送。
1.长连接:
通信双方以客户
-
服务器方式建立
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
条。
2.短连接(完成一次发送后断连)
通信双方以客户
-
服务器方式建立
TCP
连接,应答与请求在同一个连接中完成。系统采用客户
/
服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
网关与
SP
之间、网关之间的消息发送后等待
T
秒后未收到响应,应立即重发,再连续发送
N-1
次后仍未得到响应则停发。现阶段建议取值为:
T=60
秒,
N=3
。
3. 梦网使用的长短连接端口号:
端口号
|
应用
|
7890
|
长连接(
SP
与网关间)
|
7900
|
短连接(
SP
与网关间或网关之间)
|
7930
|
长连接(网关之间)
|
9168
|
短连接(短信网关与汇接网关之间)
|
四、消息格式:
1.数据类型:
Unsigned Integer
|
无符号整数
|
Integer
|
整数,可为正整数、负整数或零
|
Octet String
|
定长字符串,位数不足时,如果左补
0
则补
ASCII
表示的零以填充,如果右补
0
则补二进制的零以表示字符串的结束符
|
2.消息结构:
项目
|
说明
|
Message Header
|
消息头
(
所有消息公共包头
)
|
Message Body
|
消息体
|
3.消息头格式(固定为12个字节)
字段名
|
字节数
|
类型
|
描述
|
Total_Length
|
4
|
Unsigned Integer
|
消息总长度
(
含消息头及消息体
)
|
Command_Id
|
4
|
Unsigned Integer
|
命令或响应类型
|
Sequence_Id
|
4
|
Unsigned Integer
|
消息流水号
,
顺序累加
,
步长为
1,
循环使用(一对请求和应答消息的流水号必须相同)
|
4.消息类型:
CMPP_CONNECT:SP主动发起连接请求到ISMG,验证SP。
CMPP_CONNECT_RESP:ISMG对SP发出的连接请求的响应。
CMPP_TERMINATE:SP活ISMG发出终止连接的信令。(无消息体)
CMPP_TERMINATE_RESP:中断连接的回应。(无消息体)
CMPP_SUBMIT:SP提交短信到ISMG。
CMPP_SUBMIT_RESP:ISMG给SP的响应。
CMPP_QUERY:SP向ISMG进行查询。
CMPP_QUERY_RESP:ISMG返回给SP的查询结果。
CMPP_DELIVER:ISMG给SP提交的短信。(
Registered_Delivery是否为状态报告
)
SP
等待状态报告缺省时间为
48
小时。
CMPP_DELIVER_RESP:SP给ISMG的确认
CMPP_CANCEL:
操作的目的是
SP
通过此操作可以将已经提交给
ISMG
的短信删除,
ISMG
将以
CMPP_CANCEL_RESP
回应删除操作的结果。(消息体MsgId)
CMPP_CANCEL_RESP:消息体(Success_Id) 0成功 1失败。
CMPP_ACTIVE_TEST:SP->ISMG或ISMG->SP 无消息体。
CMPP_ACTIVE_TEST_RESP:消息体Received