短信接口.docx

上传人:b****8 文档编号:30060530 上传时间:2023-08-04 格式:DOCX 页数:18 大小:30.14KB
下载 相关 举报
短信接口.docx_第1页
第1页 / 共18页
短信接口.docx_第2页
第2页 / 共18页
短信接口.docx_第3页
第3页 / 共18页
短信接口.docx_第4页
第4页 / 共18页
短信接口.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

短信接口.docx

《短信接口.docx》由会员分享,可在线阅读,更多相关《短信接口.docx(18页珍藏版)》请在冰豆网上搜索。

短信接口.docx

短信接口

 

 

中国移动通信

互联网短信网关接口协议

ChinaMobilePointtoPoint

版本号:

3.0.0

 

1通信方式3

2消息定义4

2.1基本数据类型4

2.2消息结构4

2.3消息头格式(MessageHeader)4

2.4集团用户(EC)与短信服务平台(SSP)间的消息定义4

2.4.1EC请求连接到SSP(SSP_CONNECT)操作4

2.4.2EC或SSP请求拆除连接(SSP_TERMINATE)操作6

2.4.3EC向SSP提交短信(SSP_SUBMIT)操作6

2.4.4SSP向EC提交短信(SSP_DELIVER)操作7

2.4.5SSP向EC提交账户余额(SSP_REMAIN_NOTIFY)操作9

2.4.6SSP向EC送交状态报告(SSP_REPORT)操作9

2.4.7链路检测(SSP_ACTIVE_TEST)操作11

3Command_Id定义11

4API说明12

1通信方式

通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。

当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。

参数C、T、N原则上应可配置,现阶段建议取值为:

C=3分钟,T=60秒,N=3。

网关与EC之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。

现阶段建议取值为:

T=60秒,N=3。

消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建

服务器端

客户端

议为16,即接收方在应答前一次收到的消息最多不超过16条。

拆除TCP连接

建立TCP连接

对EC消息2的响应

对EC消息1的响应

EC消息2

EC消息1

 

链路检测包

链路检测包响应

 

建立TCP链接

 

拆除TCP连接

2消息定义

2.1基本数据类型

UnsignedInteger

无符号整数

Integer

整数,可为正整数、负整数或零

OctetString

定长字符串,位数不足时,右补齐,以二进制的零以表示字符串的结束符

2.2消息结构

项目

说明

MessageHeader

消息头(所有消息公共包头)

MessageBody

消息体

2.3消息头格式(MessageHeader)

字段名

字节数

属性

描述

Total_Length

4

UnsignedInteger

消息总长度(含消息头及消息体)

Command_Id

4

UnsignedInteger

命令或响应类型

Sequence_Id

4

UnsignedInteger

消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)

2.4集团用户(EC)与短信服务平台(SSP)间的消息定义

EC为客户端,向作为服务器端的SSP发起连接请求,在通过身份验证之后EC与SSP之间方可进行数据传输。

2.4.1EC请求连接到SSP(SSP_CONNECT)操作

SSP_CONNECT操作的目的是EC向SSP注册作为一个合法EC身份,若注册成功后即建立了应用层的连接,此后EC可以通过此连接发送短信。

SSP以SSP_CONNECT_RESP消息响应SP的请求。

2.4.1.1SSP_CONNECT消息定义(ECSSP)

字段名

字节数

属性

描述

Source_Addr

6

OctetString

源地址,此处为EC_Id,即EC的用户代码。

不足6位填\0.

AuthenticatorSource

16

OctetString

用于鉴别源地址。

其值通过单向MD5hash计算得出,表示如下:

AuthenticatorSource=

MD5(Source_Addr+9字节的0+sharedsecret+timestamp)

Sharedsecret由SSP与EC实现商定,timestamp格式为:

MMDDHHMMSS,即月日时分秒,10位。

Version

1

UnsignedInteger

双方协商的版本号(高位4bit表示主版本号,低位4bit表示次版本号),对于1.0的版本,高4bit为1,低4位为0

Timestamp

4

UnsignedInteger

时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐。

2.4.1.2SSP_CONNECT_RESP消息定义(SSPEC)

字段名

字节数

属性

描述

Status

4

UnsignedInteger

状态

0:

正确

1:

消息结构错

2:

非法源地址

3:

认证错

4:

版本太高

5~:

其他错误

AuthenticatorSSP

16

OctetString

SSP认证码,用于EC鉴别SSP。

其值通过单向MD5hash计算得出,表示如下:

AuthenticatorSSP=MD5(Status+AuthenticatorSource+sharedsecret),Sharedsecret由SSP与EC事先商定,AuthenticatorSource为源地址实体发送给ISMG的对应消息SSP_Connect中的值。

认证出错时,此项为空。

Version

1

UnsignedInteger

服务器支持的最高版本号,对于1.0的版本,高4bit为1,低4位为0

2.4.2EC或SSP请求拆除连接(SSP_TERMINATE)操作

SSP_TERMINATE操作的目的是EC或SSP基于某些原因决定拆除当前的应用层连接而发起的操作。

此操作完成后EC与SSP之间的应用层连接被释放,此后EC若再要与ISMG通信时应发起SSP_CONNECT操作。

SSP或EC以SSP_TERMINATE_RESP消息响应请求。

2.4.2.1SSP_TERMINATE消息定义(ECSSP或SSPEC)

无消息体。

2.4.2.2SSP_TERMINATE_RESP消息定义(ECSSP或SSPEC)

无消息体。

2.4.3EC向SSP提交短信(SSP_SUBMIT)操作

SSP_SUBMIT操作的目的是EC在与ISMG建立应用层连接后向ISMG提交短信。

ISMG以SSP_SUBMIT_RESP消息响应。

2.4.3.1SSP_SUBMIT消息定义(ECSPP)

字段名

字节数

属性

描述

DestUsr_tl

1

UnsignedInteger

接收信息的用户数量(小于等于200个用户)

Dest_terminal_Id

11*DestUsr_tl

OctetString

接收短信的MSISDN11位号码,号码与号码之间无任何间隔

Msg_Length

1

UnsignedInteger

EC长短信长度<=254个字节;如EC无长短信业务,则长度根据EC的签名而定,短信内容长度+签名长度<=140字节,否则返回错误

Msg_Content

Msg_length

OctetString

信息内容,GB2312编码

Long_number

5

OctetString

长号码

2.4.3.2SSP_SUBMIT_RESP消息定义(SSPEC)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识,生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)序列号:

bit32~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

(EC根据请求和应答消息的Sequence_Id一致性就可得到CMPP_Submit消息的Msg_Id)

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

5:

超过最大信息长

6:

流量超过限制

7:

需充值

2.4.4SSP向EC提交短信(SSP_DELIVER)操作

SSP_DELIVER操作的目的是SSP把从行业网关转发来的短信送交EC,EC以SSP_DELIVER_RESP消息回应。

2.4.4.1SSP_DELIVER消息定义(SSPEC)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

行业网管请求的MSG_ID

Dest_Id

21

OctetString

目的号码

EC的服务代码,前缀为EC服务代码的长号码;该号码是手机用户短消息的被叫号码。

Src_terminal_Id

11

OctetString

发送短信的MSISDN11位号码

Msg_Length

1

UnsignedInteger

消息长度的字节数

Msg_Content

Msg_length

OctetString

信息内容

2.4.4.2SSP_DELIVER_RESP消息定义(ECSSP)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

对应于SSP_DELIVER请求的Msg_Id

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

5:

超过最大信息长

6:

流量超过限制

7:

需充值

2.4.5SSP向EC提交账户余额(SSP_REMAIN_NOTIFY)操作

2.4.5.1SSP_REMAIN_NOTIFY消息定义(SSPEC)

字段名

字节数

属性

描述

Remain_count

4

UnsignedInteger

EC的短信余额,系统每小时提供一次数据

2.4.5.2SSP_REMAIN_NOTIFY_RESP消息定义(ECSSP)

字段名

字节数

属性

描述

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

2.4.6SSP向EC送交状态报告(SSP_REPORT)操作

2.4.6.1SSP_REPORT消息定义(SSPEC)

状态报告表示SSP已提交信息到行业网关

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)序列号:

bit32~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

Stat

7

OctetString

状态,详见下表FINALMESSAGESTATES

Src_terminal_Id

11

OctetString

源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)如Src_terminal_Id为空则表示该Msg_Id所对应的目的手机号码均提交成功。

Stat字段定义

MessageState

FinalMessageStates

Description

DELIVERED

DELIVRD

Messageisdeliveredtodestination

EXPIRED

EXPIRED

Messagevalidityperiodhas

Expired,当天的超时信息如最后接受到,会发送DELIVRD状态报告

DELETED

DELETED

Messagehasbeendeleted.

UNDELIVERABLE

UNDELIV

Messageisundeliverable

ACCEPTED

ACCEPTD

UNKONWN

UNKNOWN

REJECTED

REJECTD

 

2.4.6.2SSP_REPORT_RESP消息定义(ECSSP)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

(CMPP_DELIVER中的Msg_Id字段)

Result

4

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

2.4.7链路检测(SSP_ACTIVE_TEST)操作

本操作仅适用于通信双方采用长连接通信方式时用于保持连接。

2.4.7.1SSP_ACTIVE_TEST定义(ECSSP或SSPEC)

无消息体。

2.4.7.2SSP_ACTIVE_TEST_RESP定义(ECSSP或SSPEC)

无消息体。

3Command_Id定义

消息

Command_Id值

说明

SSP_CONNECT

0x00000001

请求连接

SSP_CONNECT_RESP

0x80000001

请求连接应答

SSP_TERMINATE

0x00000002

终止连接

SSP_TERMINATE_RESP

0x80000002

终止连接应答

SSP_SUBMIT

0x00000003

提交短信

SSP_SUBMIT_RESP

0x80000003

提交短信应答

SSP_ACTIVE_TEST

0x00000004

激活测试

SSP_ACTIVE_TEST_RESP

0x80000004

激活测试应答

SSP_REPORT

0x00000005

状态报告提交

SSP_REPORT_RESP

0x80000005

状态报告提交应答

SSP_DELIVER

0x00000006

短信上行请求

SSP_DELIVER_RESP

0x80000006

短信上行请求应答

SSP_REMAIN_NOTIFY

0x00000007

余额提醒

SSP_REMAIN_NOTIFY_RESP

0x80000007

余额提醒应答

 

4API说明

详见API测试代码

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1