一、主要名词解释
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