当前位置:文档之家› 中国电信SMGP协议(V3.0.3)

中国电信SMGP协议(V3.0.3)

CT

1 适用范围.......................................................................2 2 引用标准.......................................................................3 3 缩略语.........................................................................4 4 SMGP 协议概述 (5)

4.1 定义 (5)

4.2 通信方式....................................................................5 4.3 协议应用及涉及的端口号......................................................7 5 SMGP 协议.....................................................................10 5.1 数据类型...................................................................10 5.2 消息结构...................................................................10 6 参数定义......................................................................25 6.1 消息头参数描述.............................................................25 6.2 消息体必选参数描述.........................................................27 6.3 消息体可选参数描述 (42)

7 基于SMGP 协议的API 函数 (49)

附录A 基于SMGP 协议的API 函数说明(规范性附录)....................................50 A.1基本要求.....................................................................50 A.2 API 数据结构说明(以C 语言为例).............................................51 A.3 API 函数说明.................................................................53 A.4配置SMGP API.. (57)

A.5短消息的自动分割功能.........................................................58 A.6错误代码含义.. (59)

附录B 短消息群发功能的实现(资料性附录)..........................................61 附录C 修改历史记录 (61)

专用

本标准规定了短消息网关与其它网元之间进行短消息传输的接口协议。

本标准是在SMGP 协议V2.0的基础上,基于3G 网络的短消息业务发展需求进行修订而成。 本标准共包含3部分:1、SMGP 基本协议;2、SMGP 协议扩展计费接口;3、SMGP 协议扩展电子商务接口。本文只描述了第1部分SMGP 基本协议,第2部分和第3部分同SMGP 协议V2.0。

本标准起草单位:中国电信股份有限公司、中国电信股份有限公司上海研究院 本标准主要起草人:葛敏 周文君 顾丽丽 蒋力 董斌 施唯佳

专用

1适用范围

本协议适用于短消息网络上(固定网、移动网)短消息网关与其它网元之间进行短消息的传输。

本协议适用于短消息网关、相关网元设备开发商及内容提供商。

2 引用标准

下列文件通过本文的参考而成为本规范的条款。凡是注日期的参考文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本文,凡是不注日期的参考文件,其最新版本适用于本文。

【1】Short Message Peer to Peer Protocol Specification 【2】中国电信CDMA 短消息网关设备规范v1.0.1 【3】中国电信CDMA 短消息网关测试规范v1.0.1

【4】中国电信综合业务管理平台ISMP 接口规范_RC1.0.1_-SS 接口

专用

3 缩略语

缩略语 英文全名

中文全名

ESME External Short Message Entity 外部短消息实体 GNS Gateway Name Server 汇接网关

SP Service Provider

服务提供商

SMSC

Short Message Service Center

短消息业务中心 SMGP Short Message Gateway Protocol 短消息网关协议 SMGW Short Message Gateway 短消息网关

SMPP Short Message Point to Point Protocol 短消息点到点协议

4 SMGP 协议概述

4.1 定义

SMGP 协议是SMGW 与其它网元设备(除SMC 外)进行短消息传输的接口协议。

非SMC 网元设备向SMGW 发送或从SMGW 接收短消息,这些非SMC 网元设备称为ESME 。

4.2 通信方式

SMGW 与ESME 之间共有两种连接方式:长连接和短连接。所谓长连接,指在一个TCP 连接上可以连续发送多个数据包,在TCP 连接保持期间,如果没有数据包发送,需要双方发链路检

测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP 连接,数据发送完成后,

则断开此TCP 连接,即每次TCP 连接只完成一对SMGP 消息的发送。

4.2.1 长连接

通信双方以客户-服务器方式建立TCP 连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C 发送链路检测包以维持此连接,当链路检测包发出超过时间T 后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。

参数C 、T 、N 原则上应可配置,现阶段建议取值为:C=3分钟,T=60秒,N=3。 通信双方之间的消息如果不能成功发送,应隔时间R 进行重发,再连续发送N-1次后仍未发

送成功则停发。现阶段建议取值为:R=60秒,N=3。

通信双方之间的消息发送后等待T 秒后未收到响应,应立即重发,再连续发送N-1次后仍未

得到响应则停发。现阶段建议取值为:T=60秒,N=3。

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

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

长连接的操作流程举例如图1所示:

图4.1 长连接操作流程

4.2.2 短连接

通信双方以客户-服务器方式建立TCP 连接,应答与请求在同一个连接中完成。系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

通信双方之间的消息发送后等待T 秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。

短连接的操作流程举例如图2所示:

4.3 协议应用及涉及的端口号

SMGP 协议在中国电信中的应用主要体现在两类短消息业务上:一类是固定网短消息业务,

图4.2 短连接操作流程

另一类是移动网短消息业务。

4.3.1 固定网短消息业务

4.3 固定网短消息业务系统结构简图

固定网短消息业务系统结构简图如图3所示。SMGP 协议在固网短消息系统中应用情况如下: 1. 二级SMGW 与SP

二级SMGW 与SP 之间采用SMGP 协议进行短消息的传输,端口号为8890,二级SMGW 为服务器端,SP 为客户端; 2. 二级SMGW 与一级SMGW

二级SMGW 与一级SMGW 之间采用SMGP 协议进行短消息的传输,端口号为8900,二级SMGW 与一级SMGW 互为客户/服务器端;

二级SMGW 与一级SMGW 之间采用SMGP 协议扩展计费接口(参见SMGP V2.0)进行计费信息的传输,端口号为8900,二级SMGW 作为服务器端,一级SMGW 作为客户端;

3. 一级SMGW 与SP

一级SMGW 与SP 之间采用SMGP 协议进行短消息的传输,端口号为8890,一级SMGW 为服务器端,SP 为客户端;

4. 二级SMGW 和PHS 预付费平台

二级SMGW 与PHS 预付费平台之间采用SMGP 协议扩展计费接口(参见SMGP V2.0)进行计费信息的传输,端口号为9100,预付费平台作为服务器端,二级SMGW 作为客户端。

4.3.2 移动网短消息业务

移动网短消息业务系统结构简图如图4所示。SMGP 协议在移动网短消息系统中应用情况如下:

1. SMGW 与SP

? SMGW 与SP 之间采用SMGP 协议进行短消息的传输,端口号为8890,SMGW 为服务器

端,SP 为客户端;

2. SMGW 与SMGW

? SMGW 与SMGW 之间采用SMGP 协议进行短消息的传输,端口号为8900,SMGW 与

SMGW 互为客户/服务器端;

3. SMGW 与GNS

? SMGW 与GNS 之间采用SMGP 协议进行消息传输,端口号为8901,SMGW 为服务器端,

GNS 为客户端。

图4.4移动网短消息业务系统结构简图构图

5 SMGP 协议

5.1 数据类型

5.1.1 基本数据类型

Integer 无符号整数

Octet String

不强制以0x00结尾的定长字符串。当位数不足时,在不明确注明的情况下,应左对齐,右补0x00。在明确注明的情况下,以该字段的明确注明为准。

5.1.2 可选参数

可选参数采用TLV (Tag 、Length 、Value )形式定义,每个可选参数的Tag 、Length 、Value

的定义见6.3节。

字段 长度(字节) 数据类型

说明

Tag 2 Integer

字段的标签,用于唯一标识可选参数 Length 2 Integer 字段的长度 Value

可变长度 可变类型

字段内容

5.2 消息结构

项目

说明

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

Message Body

消息体

5.2.1 消息头结构

字段

长度(字节) 数据类型

说明 参考

PacketLength 4 Integer

数据包长度

6.1.1 RequestID 4 Integer 请求标识 6.1.2 SequenceID 4

Integer 消息流水号

6.1.3

5.2.2 消息体结构

5.2.2.1 登录操作(Login )

Login 操作的目的是客户端向服务器端注册作为一个合法客户端身份,若注册成功后即建立了应用层的连接,此后客户端可以与此服务器端进行消息的接收和发送。

服务器端以Login_Resp 消息响应客户端的请求。

5.2.2.1.1 Login

字段

长度 (字节)

数据类型

说明

参考

ClientID 8 Octet String 客户端用来登录服务器端的

用户账号。

6.2.1

AuthenticatorCli ent 16 Octet String 客户端认证码,用来鉴别客户端的合法性。 6.2.2

LoginMode 1 Integer

客户端用来登录服务器端的登录类型。 6.2.3 TimeStamp 4 Integer 时间戳

6.2.4 必选

参数

ClientVersion 1

Integer 客户端支持的协议版本号

6.2.5

5.2.2.1.2 Login_Resp

字段

长度 (字

节)

数据类型

说明

参考

Status 4 Integer 请求返回结果 6.2.6 必

选参AuthenticatorSe rver

16 Octet String 服务器端返回给客户端的认

证码

6.2.7

专用

数 ServerVersion 1

Integer 服务器端支持的最高版本号 6.2.8

5.2.2.2 SP 向SMGW 提交短消息的操作(Submit ) 5.2.2.2.1 Submit

字段

长度 (字节)

数据类型说明 参考

MsgType 1 Integer 短消息类型 6.2.9

NeedReport 1

Integer SP 是否要求返回状态报告

6.2.10 Priority 1 Integer 短消息发送优先级 6.2.11 ServiceID 10 Octet String 业务代码

6.2.12 FeeType 2 Octet String

收费类型

6.2.13 FeeCode 6 Octet String

资费代码

6.2.14 FixedFee 6 Octet String

包月费/封顶费 6.2.15 MsgFormat 1

Integer 短消息格式

6.2.16 ValidTime 17 Octet String

短消息有效时间

6.2.17 AtTime 17 Octet String 短消息定时发送时间 6.2.18 SrcTermID 21 Octet String

短信息发送方号码

6.2.19 ChargeTermID 21 Octet

String 计费用户号码

6.2.20 DestTermIDCou

nt

1 Integer 短消息接收号码总数

6.2.21

DestTermID

21*Dest TermCo unt

Octet String* 短消息接收号码

6.2.22

MsgLength 1 Integer 短消息长度

6.2.23 MsgContent MsgLeng th

Octet String

短消息内容

6.2.24 必 选 参 数

Reserve 8 Octet String

保留 6.2.25

字段 数据类型

说明

参考

可选TP_pid TLV GSM 协议类型

6.3.2

TP_udhi TLV GSM 协议类型 6.3.3 LinkID TLV 交易标识 6.3.4 MsgSrc TLV 信息内容的来源 6.3.17 ChargeUserType TLV 计费用户类型 6.3.5 ChargeTermType TLV 计费用户的号码类型 6.3.6 ChargeTermPseudo TLV 计费用户的伪码

6.3.7 DestTermType TLV 短消息接收方号码的类型 6.3.8 DestTermPseudo TLV 短消息接收方的伪码 6.3.9 PkTotal TLV 相同MsgID 的消息总条数 6.3.10 PkNumber TLV 相同MsgID 的消息序号 6.3.11 SubmitMsgType TLV SP 发送的消息类型

6.3.12 SPDealResult TLV SP 对消息的处理结果

6.3.13

参数

MServiceID TLV 业务代码(用于移动网业务) 6.3.19

短信平台支持短信的群发功能,关于短信群发功能的实现请参阅“附录 B 短消息群发功能

的实现”。

5.2.2.2.2 Submit_Resp

字段

长度 (字节)

数据类型说明

参考

MsgID 10

Octet String

短消息流水号 6.2.26 必选

参数 Status 4

Integer 请求返回结果 6.2.6

5.2.2.3 SMGW 向SP 下发短消息的操作(Deliver ) 5.2.2.3.1 Deliver

字段

长度 (字节)

数据类型

说明 参考

MsgID 10 Octet String 短消息流水号

6.2.26 IsReport 1 Integer 是否为状态报告 6.2.27 MsgFormat 1

Integer 短消息格式

6.2.16 RecvTime 14 Octet String

短消息接收时间

6.2.28 必

参 SrcTermID 21 Octet String

短消息发送号码 6.2.19

专用

DestTermID 21 Octet String

短消息接收号码 6.2.22 MsgLength 1 Integer 短消息长度 6.2.23 MsgContent MsgLeng

th

Octet String

短消息内容

6.2.24 数

Reserve 8 Octet String

保留

6.2.25

字段 数据类型说明 参考

TP_pid TLV GSM 协议类型

6.3.2 TP_udhi TLV

GSM 协议类型 6.3.3 LinkID TLV

交易标识 6.3.4

SrcTermType TLV 短消息发送方的号码类型 6.3.14 SrcTermPseudo TLV 短消息发送方的伪码 6.3.15 SubmitMsgType TLV SP 发送的消息类型

6.3.12 可选参数

SPDealResult TLV SP 对消息的处理结果 6.3.13

5.2.2.3.2 Deliver_Resp

字段

长度 (字节)

数据类型

说明

参考

MsgID 10

Octet String 短消息流水号 6.2.26 必选

参数

Status 4 Integer 请求返回结果 6.2.6

5.2.2.4 源SMGW 向目的SMGW 转发短消息的操作(Forward ) 5.2.2.4.1 Forward

字段

长度 (字节)

数据类型说明 参考

MsgID 10

Octet String

短消息流水号 6.2.26 DestSMGWNo 6 Octet String 目的SMGW 代码 6.2.29 SrcSMGWNo 6 Octet String 源SMGW 代码 6.2.30 必

选 参

SMCNo 6 Octet

String

短消息中心代码

6.2.31

MsgType 1 Integer 短消息类型 6.2.9 ReportFlag 1

Integer

状态报告标志 6.2.32 Priority 1 Integer 短消息发送优先级 6.2.11 ServiceID 10 Octet

String

业务代码 6.2.12 FeeType 2 Octet

String

资费类型 6.2.13 FeeCode 6 Octet

String

资费代码 6.2.14 FixedFee 6 Octet

String

包月费/封顶费 6.2.15

MsgFormat 1

Integer 短消息格式 6.2.16 ValidTime 17 Octet String

有效时间

6.2.17 AtTime 17 Octet

String

定时发送时间

6.2.18 SrcTermID 21 Octet

String 短消息发送用户号码

6.2.19

DestTermID 21 Octet

String 短消息接收用户号码 6.2.22 ChargeTermID 21

Octet String 计费用户号码 6.2.20 MsgLength 1 Integer

短消息长度 6.2.23 MsgContent MsgLeng

th

Octet String 短消息内容

6.2.24 数

Reserve 8 Octet

String

保留

6.2.25

字段 数据类型说明 参考

TP_pid TLV

GSM 协议类型

6.3.2 TP_udhi TLV

GSM 协议类型 6.3.3 LinkID TLV 交易标识 6.3.4 ChargeUserType TLV 计费用户类型 6.3.5 NodesCount TLV 经过的网关数量 6.3.16 MsgSrc TLV 信息内容的来源 6.3.17

ChargeTermPseudo TLV 计费用户的伪码 6.3.7

SrcTermPseudo TLV 短消息发送方的伪码 6.3.14 可选参

数 DestTermPseudo TLV 短消息接收方的伪码

6.3.15

专用

SrcType TLV 传递给SP 的源号码的类型 6.3.18 PkTotal TLV 相同MsgID 的消息总条数 6.3.10 PkNumber TLV 相同MsgID 的消息序号 6.3.11 SubmitMsgType TLV SP 发送的消息类型 6.3.12 SPDealResult TLV SP 对消息的处理结果

6.3.13

MServiceID TLV 业务代码(用于移动网业务) 6.3.19

5.2.2.4.2 Forward_Resp

字段

长度 (字节)

数据类型

说明

参考

MsgID 10 Octet

String SMGW 产生的短消息流水号 6.2.26

必选

参数

Status 4 Integer 请求返回结果

6.2.6

字段 数据类型说明 参考

PkTotal TLV 相同MsgID 的消息总条数 6.3.10 可

选参

数 PkNumber

TLV

相同MsgID 的消息序号

6.3.11

5.2.2.5 链路检测操作(Active_Test )

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

5.2.2.5.1 Active_Test

无消息体。

5.2.2.5.2 Active_Test_Resp

无消息体。

5.2.2.6 请求关闭连接的操作(Exit )

Exit 操作的目的是客户端或服务器端基于某些原因决定拆除当前的应用层连接而发起的操作。此操作完成后客户端与服务器端的应用层连接被释放,此后通信时应由客户端重新发起Login

操作。

5.2.2.

6.1 Exit

无消息体。

5.2.2.

6.2 Exit_Resp

无消息体。

5.2.2.7 SP 向SMGW 查询短消息发送状态的操作(Query ,可选)

5.2.2.7.1 Query

字段 长度 (字节)

数据类型

说明

参考

QueryTime 8

Octet String

查询时间 6.2.33 QueryType 1 Integer

查询类别

6.2.34 必

选参

数 QueryCode 10 Octet String

查询码

6.2.35

5.2.2.7.2 Query_Resp

字段

长度 (字节)

数据类型

说明 参考

QueryTime 8 Octet String

查询时间

6.2.33 QueryType 1 Integer

查询类别 6.2.34 QueryCode 10 Octet String 查询码(业务类型)

6.2.35 MT_TLMsg 4

Integer 接收短消息总数

6.2.36 MT_Tlusr 4 Integer 接收用户总数 6.2.37 MT_Scs 4 Integer 成功转发数量 6.2.38 MT_WT 4 Integer 待转发数量 6.2.39 MT_FL 4 Integer 转发失败数量 6.2.40 MO_Scs 4 Integer 成功送达数量 6.2.41 MO_WT 4 Integer 待送达数量 6.2.42 必选

参数

MO_FL 4 Integer 送达失败数量

6.2.43

Reverse 8 Octet String 保留

6.2.25

5.2.2.8 SMGW 向GNS 查询终端路由的操作(Query_TE_Route ,可选) 5.2.2.8.1 Query_TE_Route

字段

长度 (字节)

数据类型

说明

参考

SrcGatewayID 6

Octet

String 源网关代码 6.2.44 必 选 参 数

QueryTermID 21

Octet String

查询号码

6.2.45

5.2.2.8.2 Query_TE_Route_Resp

字段

长度 (字节)

数据类型

说明

参考

Status 4 Integer 请求返回结果

6.2.6

RouteID 4 Integer 路由编号

6.2.46 DestGatewayID 6

Octet

String 目标网关代码 6.2.47 DestGatewayIP 15

Octet String 目标网关IP 地址

6.2.48 DestGatewayPor t

2 Integer 目标网关IP 端口

6.2.49 TermRangeID 10 Octet String 路由号码段 6.2.50 ProvinceCode 4

Octet String

终端所属省代号

6.2.51 UserType 1 Integer 用户类型(该字段保留) 6.2.52 必 选 参 数

Time 14 Octet String

时间戳

6.2.53

5.2.2.9 SMGW 向GNS 查询SP 路由的操作(Query_SP_Route ,可选) 5.2.2.9.1 Query_SP_Route

字段

长度 (字节)

数据类型

说明

参考

专用

相关主题
文本预览
相关文档 最新文档