中国电信集团公司企业标准
CT/T1-2001
基于固定电话网的信息终端及综合信息系统技术规范
第七分册短消息网关(SMGP)协议V1.3
2002-04-30发布2002-04-30实施
中国电信集团公司发布
基于固定电话网的信息终端及综合信息系统技术规范第七分册
目录
前言........................................................................................................................2
1适用范围.................................................................................................................3
2引用标准.................................................................................................................3
3缩略语.....................................................................................................................3
4SMGP概述............................................................................................................3
4.1.
4.2.
4.3.
SMGP功能...................................................................................................................3
SMGP定义...................................................................................................................3
SMGP通信流程...........................................................................................................4
5SMGP数据包定义................................................................................................6
5.1.
5.2.
5.3.
数据包结构...................................................................................................................6
请求标识说明...............................................................................................................6
包体结构.......................................................................................................................7
6编码说明...............................................................................................................15
6.1.
6.2.
6.3.
6.4.
6.5.
短消息格式代码表.....................................................................................................15
收费类型代码表.........................................................................................................15
短消息状态表.............................................................................................................16
Err错误代码表...........................................................................................................16
Status错误代码表......................................................................................................17
7基于SMGP协议的API函数............................................................................17
附录A基于SMGP协议的API函数说明...........................................................18
(提示的附录)...............................................................................................................18
A.1基本要求..............................................................................................................................19
A.2API数据结构说明(以C语言为例)..............................................................................19
A.3API函数说明.......................................................................................................................21
A3.7查询短消息流量(SMGPQuery可选).........................................................................25
A.4配置SMGPAPI...................................................................................................................25
A.5短信的自动分割功能..........................................................................................................26
A.6错误代码含义......................................................................................................................27
第1页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
前言
本标准介绍综合信息系统短消息网关和内容提供商(CP)之间、短消息网关
和短消息网关之间的通信协议。本协议简称SMGP(ShortMessageGateway
Protocol)。
本标准起草单位:中国电信集团公司、中国电信集团公司上海研发中心
本标准主要起草人:
特别感谢:亚信科技中国有限公司在本协议制订过程中的大力支持和帮助。
第2页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
1适用范围
本协议适用于短消息网关开发商和短消息内容提供商。
2引用标准
SMPP(ShortMessagePeertoPeerProtocolSpecification)v3.3
3缩略语
见总册
4SMGP概述
功能
SMGP协议是内容提供商与短消息网关,以及短消息网关与短消息网关之
间的通信协议。SMGP可以实现以下功能:
(1)内容提供商向综合信息系统短消息用户发送短消息,例如邮件通知、天
气预报等。
(2)综合信息系统短消息用户向内容提供商点播信息,例如股票查询、航班
信息等。
(3)内容提供商以某个短消息用户的身份向综合信息系统短消息用户发送
传情信息,例如图片传情、音乐传情等。
(4)综合信息系统短消息用户发送的短消息通过短消息网关前转发送给异
地的短消息用户。
定义
SMGP协议是一个基于数据包的交互式协议,底层通过TCP/IP协议传递数据。
每个数据包都包含请求标识,代表数据包的用途。内容提供商与短消息网关或者
短消息网关与短消息网关之间采用Client/Server方式交互信息,客户端向服务
器端发送一个请求包,服务器端向客户端返回回应包。
第3页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
客户端发送的所有请求包都包含一个唯一的序列号,服务器端返回的回应
包也带有相应的序列号,以便客户识别这是哪一个请求的回应。
客户端和服务器端之间可以采用长连接或者短连接的方式通信。如果采用
短连接,客户端必须以发送者、接收者或收发者的身份登录到服务器,通信完毕
后断开连接。如果采用长连接,一旦认证通过建立连接,客户端与服务器端可以
随时通信,在一定时间内两者之间没有发送合法的请求包,连接就中断。
通信流程
网关与CP之间通信连接采用端口号8890,网关与网关通信连接采用端口
号8900。
登录模式
在SMGP协议的一个会话中客户端可以采用三种登录方式与服务器端相
连:发送模式(sendmode)、接收模式(receivemode)和收发模式(transmitmode)。
在发送模式中客户端只能发送短消息、在接收模式中客户端只能接收短消息、在
收发模式中客户端既可以发送也可以接收短消息。三种模式均可以采用长连接与
短连接两种连接方式的一种,根据实际情况选择。
发送短消息
CP以发送者或者是收发者身份登录后,就可以发送短消息。CP可以不等
待上一个短消息发送回应包,就发送下一个短消息。
第4页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
CPSMGW
login(send/transmitmode)
login_resp
submit(1)
submit(2)
submit_resp(1)
submit_resp(2)
exit
exit_resp
接收短消息
CP以接收者或者是收发者身份登录后,短消息网关就向CP发送短消息,
短消息网关可以不等待上一个短消息回应包,就发送下一个短消息。
CPSMGW
login(receive/transmitmode)
login_resp
deliver(1)
deliver(2)
deliver_resp(1)
deliver_resp(2)
exit
exit_resp
转发短消息
短消息网关需要把异地MT/MO短消息转发到相应的短消息网关,在转发
短消息之前短消息网关需要通过对方网关认证。
第5页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
CPSMGW
login(send/receive/transmitmode)_
login_resp
forward(1)
forward(2)
forward_resp(1)
forward_resp(2)
exit
exit_resp
5SMGP数据包定义
SMGP基本数据类型定义如下表所示:
Integer
Octet
String
无符号整数
定长字符串。位数不足时,如果左补‘0’则补
ASCII表示的‘0’,如果右补‘0’则补二进制表示的
‘0’
5.1.数据包结构
SMGP数据包分为包头和包体两部分,包头的结构如下:
字段
PacketLength
RequestID
SequenceID
长度(字节)数据类型
4
4
4
Integer
Integer
Integer
说明
数据包长度(包头和包体的长度之
和。单位:字节)
请求标识
序列号(由客户端分配,循环递增)
5.2.请求标识说明
请求标识(RequestID)标识数据包的类型,请求包的请求标识和回应包的
第6页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
请求标识一一对应。
请求名称
login
login_resp
submit
submit_resp
deliver
deliver_resp
active_test
请求标识说明
0x00000001
CP或SMGW登录请求
0x80000001
CP或SMGW登录回应
0x00000002
CP发送短消息请求
0x80000002
CP发送短消息回应
0x00000003
SMGW向CP发送短消息请求
0x80000003
SMGW向CP发送短消息回应
0x00000004
测试通信链路是否正常请求(由客户端发起,
CP和SMGW可以通过定时发送此请求来维持
连接)
0x80000004
测试通信链路是否正常回应
0x00000005
SMGW转发MT/MO短消息请求
0x80000005
SMGW转发MT/MO短消息回应
0x00000006
退出请求
0x80000006
退出回应
0x00000007
CP统计查询请求
0x80000007
CP统计查询回应
0x00000008
MT路由更新请求
0x80000008
MT路由更新回应
0x00000009
MO路由更新请求
0x80000009
MO路由更新回应
active_test_resp
forward
forward_reCP
exit
exit_resp
query
query_resp
mt_route_update
mt_route_update_r
esp
mo_route_update
mo_route_update_
resp
5.3.包体结构
字段
ClientID
长度
8
数据类型
Octet
String
说明
CP编号或者SMGW编号
编号规则参见总册第6节
第7页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
AuthenticatorC
lient
16Octet
String
客户端密码
用于鉴别客户端的接入请求。其值通过
单向MD5hash计算得出,表示如下:
AuthenticatorClient=MD5
(ClientID+7字节的0+shared
secret+timestamp)
Sharedsecret由服务器端与客户端事
先商定,timestamp格式为:
MMDDHHMMSS,即月日时分秒,10位。
登录类型(0=发送短消息,1=接收短消
息,2=收发短消息,其他保留)
时间戳的明文,由客户端产生,格式为
MMDDHHMMSS,即月日时分秒,10位数字
的整型,右对齐
客户端支持的版本号(高位4bit表示主
版本号,低位4bit表示次版本号)
LoginMode
TimeStamp
1
4
Integer
Integer
Version1integer
_resp
字段长度(字节)数据类型
4Integer
Octet
String
说明
login请求返回结果
(参见错误代码表)
服务器端认证码,当客户端认证出错
时,此项为空
其值通过单向MD5hash计算得出,表
示如下:
AuthenticatorServer=MD5
(Status+AuthenticatorClient
+sharedsecret)
Sharedsecret由服务器端与客户端事
先商定,AuthenticatorClient为客户
端发送给服务器端的上一条消息login
中的值。
服务器支持的最高版本号
Status
Authenticator16
Server
+Version1Integer
第8页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
字段
SubType
长度(字数据类说明
节)型
1integer
短消息子类型(0=取消订阅,1=
订阅请求,2=点播,3=订阅,其
他保留)
是否要求返回状态报告(0=不要求,
=要求)
发送优先级(从0到9)
业务类型
收费类型(参见收费类型代码表)
资费代码(单位为分)
短消息格式(参见短消息格式代码
表)
有效时间,格式遵循SMPP3.3协议
定时发送时间,格式遵循SMPP3.3
协议
短消息发送用户号码
计费用户号码
短消息接收号码总数(≤100)
短消息接收号码(连续存储
DestTermIDCount个号码)
短消息长度
短消息内容
保留
eedReport
Priority
ServiceID
FeeType
FeeCode
MsgFormat
ValidTime
AtTime
SrcTermID
ChargeTermID
DestTermIDCount
DestTermID
1
1
10
2
6
1
17
17
21
21
1
21*
DestTerm
Count
1
≤252
8
integer
Integer
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
Integer
Octet
String
Integer
Octet
String
Octet
String
MsgLength
MsgContent
Reserve
_resp
字段长度(字节)数据类型说明
第9页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
MsgID10Octet
String
网关产生的短消息流水号,由三部分组
成:
网关代码:3字节(BCD码)
时间:4字节(BCD码)
序列号:3字节(BCD码)
Status
4Integer
Submit请求返回结果(参见错误代码
表)
r
字段
MsgID
长度(字数据类说明
节)型
1Integer
网关产生的短消息流水号,由三部
分组成:
网关代码:3字节(BCD码)
时间:4字节(BCD码)
序列号:3字节(BCD码)
IsReport
MsgFormat
RecvTime
1
1
14
Integer
Integer
Octet
String
Octet
String
Octet
String
Integer
Octet
String
Octet
String
是否状态报告(0=不是,1=是)
短消息格式(参见短消息格式代码
表)
短消息接收时间(格式:
yyyymmddhhmiss,例如
20)
短消息发送号码
短消息接收号码
短消息长度
短消息内容
保留
SrcTermID
DestTermID
MsgLength
MsgContent
Reserve
21
21
1
≤252
8
r_resp
第10页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
字段
MsgID
长度(长度)
1
数据类型
Integer
说明
网关产生的短消息流水号,由三部分组
成:
网关代码:3字节(BCD码)
时间:4字节(BCD码)
序列号:3字节(BCD码)
Status
4integer
Deliver请求返回结果(参见错误代码
表)
_test
没有包体
_test_resp
没有包体
d
字段
MsgID
长度(长数据类说明
度)型
10Octet
String
网关产生的短消息流水号,由三部
分组成:
网关代码:3字节(BCD码)
时间:4字节(BCD码)
序列号:3字节(BCD码)
DestSMGWo
SrcSMGWo
SMCo
SMType
6
6
6
1
Octet
String
Octet
String
Octet
String
Integer
目标网关代码
源网关代码
短消息中心代码
短消息类型(0=MT,1=MO,2=异
地点到点短消息,3=异网点到点短
消息,其他保留)
第11页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
SubType1integer
短消息子类型(0=取消订阅,1=
订阅请求,2=点播,3=订阅,其
他保留)
当SMType=0时,表示是否要求返
回状态报告(0=不要求,1=要求)
当SMType=1时,表示是否状态报
告(0=不是,1=是)
ReportFlag1Integer
Priority
ServiceID
FeeType
FeeCode
MsgFormat
ValidTime
AtTime
SrcTermID
DestTermID
ChargeTermID
MsgLength
MsgContent
Reserve
1
10
2
6
1
17
17
21
21
21
1
≤252
8
Integer
Octet
String
Octet
String
Octet
String
Integer
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
Integer
Octet
String
Octet
String
发送优先级(从0到9)
业务类型
资费类型(参见收费类型代码表)
资费代码(单位为分)
短消息格式(参见短消息格式代码
表)
有效时间,格式遵循SMPP3.3协议
定时发送时间,格式遵循SMPP3.3
协议
短消息发送用户号码
短消息接收用户号码
计费用户号码
短消息长度
短消息内容
保留
d_resp
字段
MsgID
长度(长度)
10
数据类型
Octet
String
说明
网关产生的短消息流水号
第12页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
Status
4Integer
Forward请求返回结果(参见错误代码
表)
没有包体
_resp
没有包体
(保留)
字段名
Time
Query_Type
字节数
8
1
属性描述
OctetString
查询时间(格式:yyyymmdd,精确到
日)
Integer
查询类别
0:总数查询
1:按业务代码查询
其他保留
OctetString
查询码1(业务类型)Query_Code10
_resp
字段名
Time
Query_Type
(保留)
属性描述
OctetString
查询时间(格式:yyyymmdd,精
确到日)
Integer
查询类别
0:总数查询
1:按业务代码查询
其他保留
OctetString
查询码(业务类型)
Integer
接收短消息总数
Integer
接收用户总数
Integer
成功转发数量
Integer
待转发数量
Integer
转发失败数量
Integer
成功送达数量
Integer
待送达数量
字节数
8
1
Query_Code
MT_TLMsg
MT_Tlusr
MT_Scs
MT_WT
MT_FL
MO_Scs
MO_WT
1
10
4
4
4
4
4
4
4
当Query_Type为0时,此项无效;当Query_Type为1时,此项填写业务代码Service_id.
第13页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
MO_FL
Reverse
4
8
Integer
送达失败数量
OctetString
保留
_route_update(保留)
字段名
UpdateType
RouteId
SrcGatewayId
SrcGatewayIP
SrcGatewayPort
StartTermId
EndTermId
AreaCode
字节数
1
4
6
15
2
6
6
4
属性
Integer
Integer
OctetString
OctetString
Integer
OctetString
OctetString
OctetString
描述
0-添加;1-删除;2-更新
其他保留
路由编号(若update_type为“添加”,
则此字段为零)
源网关代码
源网关IP地址
源网关IP端口
MT路由起始号码段
MT路由截止号码段
终端所属区号
_route_update_resp(保留)
字段名
Status
字节数
1
属性
Integer
描述
参见错误代码表
_route_update(保留)
字段名
UpdateType
RouteId
SrcGatewayId
SrcGatewayIP
SrcGatewayPort
SrcTermID
字节数
1
4
6
15
2
21
属性
Integer
描述
0-添加;1-删除;2-更新
其他保留
Integer
路由编号(若update_type为“添加”,
则此字段为零)
OctetString
源网关代码
OctetString
源网关IP地址
Integer
源网关IP端口
OctetString
CP代码
_route_update_resp(保留)
字段名
Status
第14页
字节数
1
属性
Integer
描述
参见错误代码表
基于固定电话网的信息终端及综合信息系统技术规范第七分册
5.3.19.状态报告格式
字段
id
Submit_date
done_date
Stat
Err
长度
10
14
14
7
3
数据类型
Octet
String
Octet
String
Octet
String
Octet
String
Octet
String
说明
状态报告对应原短消息的MsgID
短消息提交时间(格式:
yyyymmddhhmiss,例如)
短消息下发时间(格式:
yyyymmddhhmiss,例如)
短消息状态(参见短消息状态表)
参见错误代码表
6编码说明
6.1.短消息格式代码表
代码
0
3
4
8
15
含义
ASCII编码
短消息写卡操作
二进制短消息
UCS2编码
6.2.收费类型代码表
代码
00
01
02
03
其他
含义
免费
按条收费
包月
封顶
保留
第15页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
6.3.短消息状态表
状态名
DELIVERED
EXPIRED
DELETED
UDELIVERABLE
ACCEPTED
UKOW
REJECTED
状态值(字符串)
DELIVRD
EXPIRED
DELETED
UDELIV
ACCEPTD
UKOW
REJECTD
说明
短消息转发成功
短消息超过有效期
短消息已经被删除
短消息是不可转发的
短消息已经被最终用户接收
(为保持与SMPP兼容,保留)
未知短消息状态
短消息被拒绝
(为保持与SMPP兼容,保留)
错误代码表
状态值
(字符串)
000
001
002
003
004
005
006
007
008
009
010
说明
成功
用户不能通信
用户忙
终端无此部件号
非法用户
用户在黑名单内
系统错误
用户内存满
非信息终端
数据错误
数据丢失
对应状态
DELIVRD
EXPIRED
EXPIRED
UDELIV
UDELIV
UDELIV
UDELIV
EXPIRED
UDELIV
UDELIV
UDELIV
command_status
对应值
ESME_ROK
ESME_RUSRABS
ET
ESME_RUSRUS
Y
ESME_ROPART
ESME_RUSRIV
ALID
ESME_RBLACK
LIST
ESME_RSYSERR
OR
ESME_RMEMCA
P
ESME_PROTOC
OLERROR
ESME_DATAERR
OR
ESME_DATAMIS
SIG
Command_st
atus代码
0x00000001
0x00000400
0x00000401
0x00000402
0x00000403
0x00000404
0x00000405
0x00000406
0x00000407
0x00000408
0x00000409
注:err错误代码的定义对应了SMPP协议包头中command_status字段的相
应状态值。
第16页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
错误代码表
代码
0
1
2
3-9
10
11
12
13-19
20
21
22
23-29
30
31
32
33
34
35
36
37
38
39
40-127
128-255
含义
成功
系统忙
超过最大连接数
保留
消息结构错
命令字错
序列号重复
保留
IP地址错
认证错
版本太高
保留
非法消息类型(SMType)
非法优先级(Priority)
非法资费类型(FeeType)
非法资费代码(FeeCode)
非法短消息格式(MsgFormat)
非法时间格式
非法短消息长度(MsgLength)
有效期已过
非法查询类别(QueryType)
路由错误
保留
厂家自定义
7基于SMGP协议的API函数
详见附录A。
第17页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
附录A基于SMGP协议的API函数说明
(提示的附录)
第18页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
A.1基本要求
A.1.1安装
网关需要提供API软件包,解压到指定目录下后可以修改配置文件,配置
参数至少包括IcpId(ICP编号)、IcpShareKey(ICP密码)、ClientIP(客户主机
的IP地址)和ServerIP(短信网关地址)。
A.1.2例子程序
网关至少应该提供以下例程,供ICP调试使用,分别为:
Connect(参数),检查是否能够成功登录短消息网关;
TestAPI(参数),检查是否能够成功连接短信网关。
SetKey(参数),修改ICP密码。
SendSM(参数)尝试。
RecvSM(参数)尝试接收短信等。
RecvSMReport(参数),尝试接收短消息状态报告。
A.1.3操作系统平台要求
网关提供的API软件包至少要求支持以下操作系统平台:
FreeBSD3.x,4.2
Solaris5.6,5.7,5.8(包含x86)
Linux(Redhat和Slack等主流产品)
WindowsT/2000等
网关提供的API软件包至少要求支持以下编程语言:
C/C++
JAVA
A.2API数据结构说明(以C语言为例)
A.2.1接收短信的返回数据结构(DeliverResp)
第19页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
用途
保存SMGPDeliver函数返回的短信内容。
字段说明
字段名
sMsgID
nMsgFormat
sSrcTermID
nIsReport
nMsgLen
sMsgContent
sDestTermID
sRecvTime
数据类型
Char(11)
Int
Char(22)
Int
Int
Char(201)
char(21)
char(15)
说明
短消息标识
短消息格式(参照短消息格式代码表)。网
关不做判定,透明传输。
短消息发送用户号码
是否为应答信息。代码含义:非应答信息(0);
应答信息(1)
消息长度
消息内容
CP的接入代码
短消息接收时间(格式:yyyymmddhhmiss,
例如20)
A.2.2获取发短信的返回数据结构(SendBatchResp)
用途
使用SMGPSendBatch发短信后,每条短信的“消息标识”和“错误代码”
保存在文件里。SMGPAPI提供GetSendBatchResp函数获取每一条短信返回信
息,保存在SendBatchResp中。
字段说明
字段名
sMsgID
nErrorCode
sPhoneo
数据类型
Char(11)
Int
Char(22)
说明
短消息标识
错误代码(参照错误代码表)
发送号码
A.2.3查询短消息网关的返回数据结构(QueryResp可选)
用途
第20页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
保存SMGPQuery函数返回的查询结果。
字段说明
字段名
nMT_TLMsg
nMT_TLusr
nMT_Scs
nMT_WT
nMT_FL
nMO_Scs
nMO_WT
nMO_FL
数据类型
Int
Int
Int
Int
Int
Int
Int
Int
说明
接收短消息总数
接收用户总数
成功转发数量
待转发数量
转发失败数量
成功送达数量
待送达数量
送达失败数量
A.3API函数说明
A.3.1初始化API(InitSMGPAPI)
作用
初始化SMGPAPI,应用程序只需要调用一次此函数。
参数
参数名
SiniFile
数据类型说明
,缺省值
Char(100)
SMGPAPI配置文件名
是:”../config/”。
如果应用程序的执行目录不在smgpapi/bin下,就
需要通过绝对或相对路径指定sIIFile。
例如:
InitSMGPAPI(“/opt/smgpapi/config/”)
返回
0=成功
1=失败
A.3.2发送单条短信(SMGPSendSingle)
第21页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
作用
向短消息网关发送1条短消息到1个终端用户。短消息长度最长为200,
SMGPAPI在发送时自动建立ConnectionPool,采用长连接或者短连接发送短消
息。当Cache的connection中断时,API能够自动重新连接短消息网关。如果应
用程序采用多线程发送短消息,多个线程共享同一个ConnectionPool。在发送过
程中,如果因为通信原因导致发送失败,API能够自动重新发送,重试的次数在
配置文件设置。
参数
参数名
needReport
nMsgLevel
sServiceID
nMsgFormat
sFeeType
sFeeCode
sValidTime
sAtTime
sChargeTermI
D
sDestTermID
nMsgLen
sMsgContent
sMsgID
nErrorCode
返回
0=成功
1=失败
数据类型
Int
Int
Char(11)
Int
Char(3)
Char(7)
Char(18)
Char(18)
Char(22)
Char(22)
Int
Char(*)?
Char(11)
Int
说明
是否要求返回状态报告(0=不要求,1=要求)
信息级别(0-9,0=最低优先级)
业务类型
短消息格式(参照短消息格式表)。网关不做判定,透
明传输。
资费类别
资费代码(以分为单位)
存活有效期,格式遵循SMPP3.3协议
定时发送时间,格式遵循SMPP3.3协议
计费号码
短消息接收号码
短消息长度
短消息内容(nMsgLen=0时表示存放短消息的文件
名)
返回的短消息标识
错误代码(参照错误代码表)。
第22页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
A.3.3发短信(SMGPSendBatch)
作用
向短消息网关发送1条短消息到多个手机用户。短消息长度最长为200,此
函数使用文件传递短消息内容。SMGPAPI在发送时自动建立ConnectionPool,
采用长连接或者短连接发送短消息。当Cache的connection中断时,API能够自
动重新连接短消息网关。如果应用程序采用多线程发送短消息,多个线程共享同
一个ConnectionPool。在发送过程中,如果因为通信原因导致发送失败,API能
够自动重新发送,重试的次数在配置文件设置。
参数
参数名
needReport
nMsgLevel
sServiceID
nMsgFormat
sFeeType
sFeeCode
sValidTime
sAtTime
sSrcTermID
sChargeTermID
数据类型
int
int
Char(11)
Int
Char(3)
Char(7)
Char(18)
Char(18)
Char(22)
Char(22)
说明
是否要求返回状态报告(0=不要求,1=要求)
信息级别。(0=最低优先级,1=正常,2=紧急,
3=十分紧急)
业务类型
短消息格式(参照短消息格式表)。网关不做判
定,透明传输。
资费类别
资费代码(以分为单位)
存活有效期,格式遵循SMPP3.3协议
定时发送时间,格式遵循SMPP3.3协议
短消息发送用户号码(当为CP代码时须在前面加
118)
计费号码(若为空,则对被叫计费)
sDestTermIDFileChar(100)
保存所有目的号码的文件名
nMsgLen
sMsgContent
sMsgIDFile
sSubType
Int
Char(*)
消息长度
短消息内容(nMsgLen=0时表示存放短消息的文
件名)
Char(100)
保存所有短消息的返回MsgID和ErrorCode的文
件名
Char(2)
短消息子类型
第23页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
返回
0=成功
1=失败
A.3.4获取发短信的结果(GetSendBatchResp)
作用
从文件里读取发的某一个短信的标识、发送结果和发送号码。
参数
参数名
sMsgIDFile
nPos
pSendBatchRe
sp
数据类型说明
Char(100)
保存所有短消息的返回MsgID和ErrorCode的文件
名
Int
短消息位置,从0开始
SendBatch
用于保存结果的SendBatchResp结构指针
Resp*
返回
0=成功
1=失败
A.3.5接收短信(SMGPDeliver)
作用
连接短信网关,等待接收属于本ICP的短信。
参数
参数名
nTimeout
pDeliverResp
数据类型
int
DeliverRe
sp*
说明
等待时间,单位:秒。0表示永远等待。
保存短消息的DeliverResp结构指针
返回
0=成功
1=失败
第24页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
A.3.6检查短信网关是否能够提供服务(CMMPActiveTest)
作用
检查短信网关是否能够提供服务。
参数
参数名
nErrorCode
数据类型
Int
说明
错误代码(参照错误代码表)。
返回
0=成功
1=失败
A3.7查询短消息流量(SMGPQuery可选)
作用
向短消息网关查询某天的短消息流量。
参数
参数名
sDate
nQueryType
sServiceID
pQueryResp
数据类型
Char(10)
Int
Char(11)
QueryResp*
说明
查询日期,格式:yyyymmdd
查询类型,0=总数查询;1=按业务代码查询
查询码2(业务类型)
保存查询结果的QueryResp结构指针
返回
0=成功
1=失败
A.4配置SMGPAPI
配置文件在smgpapi/config/,以下是配置项的说明:
名称
CPId
第25页
说明
CP编号。
基于固定电话网的信息终端及综合信息系统技术规范第七分册
CPShareKey
CP密码。
WithPrevPage第1个以后的分割短消息的前置说明文字,可以为空。
例如(第2个分割短消息):(2/3)(continue)xxxxxx
“(continue)”是前置说明
AscII短消息的最大长度
文字WithextPage分
割短消息的后置说明文
字,可以为空,最后一
个短消息不带后置说明
文字。
例如(第1个分割短消
息):(1/3)xxxxxx(tobe
continued)
“(tobecontinued)”是后
置说明文字
PageSpaceAscii
PageSpaceGB
PageSpaceBinary
WithPageIndex
MaxPage
ClientIP
中文短消息的最大长度
二进制短消息的最大长度
在分割短消息时是否附加页号,0=否,1=是。
最大分割页数,最大是99页。
客户主机的IP地址,必须填写接入Internet的公网地址。
如果主机是通过Gateway接入Internet,就填写Gateway
地址。如果客户主机的IP地址填写错误会导致应用程
序不能通过SMGP用户认证。
短消息网关的IP地址
短消息网关的端口
发送短消息自动重试次数(1表示只发送1次,不重新
发送)
发送请求超时时间,单位:秒
ServerIP
ServerPort
SubmitRetry
RequestTimeout
A.5短信的自动分割功能
SMGPSendSingle和SMGPSendBatch提供自动分割短消息的功能,分割的
效果由的配置控制。
当参数nMsgFormat等于0或15时,API就提供分割短消息功能。API扫
描短消息的内容,把短消息分段,根据每一段的短消息内容设置nMsgFormat。
第26页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
如果某一段短消息含有中文,就把那一段短消息的发送格式设为15,取
PageSpaceGB为最大长度;如果不含中文,就把那一段短消息的发送格式设为0,
取PageSpaceAscii为最大长度。这样,可以充分利用短消息的最大发送长度,减
少分割数量。如果WithPrevPage或者PageSpaceGB含有汉字,所有分割短消息
的发送格式都设为15。
当参数nMsgFormat等于4时,API根据PageSpaceBinary配置分割短消息。
当参数nMsgFormat等于0并且长度小于PageSpaceGB,API扫描短消息内
容是否含有中文。如果发现中文,就自动把发送格式变为15。
A.6错误代码含义
编号
4
5
6
7
8
10
11
12
13
14
15
16
17
18
19
20
21
22
23
含义
非法短信长度
非法资费代码(FeeCode)
短信长度超长
非法业务类型(ServiceId)
短信发送速度太快
非法ICP编号
非法信息格式(MsgFormat)
非法自费类别(FeeType)
非法存活有效期(ValidTime)
非法定时发送时间(AtTime)
非法计费号码(ChargeTermId)
非法目标号码(DestTermId)
不能打开目标号码文件(DestTermIdFile)
不能打开短信内容文件(MsgFile)
非法短信(MsgContent)
连接短信网关失败
登录失败
接收结果数据包失败
发送队列满
第27页
基于固定电话网的信息终端及综合信息系统技术规范第七分册
24
99
其他
超出系统限制
系统错误
保留
第28页
本文发布于:2022-07-30 22:10:12,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/falv/fa/82/48042.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |