资源描述
绚华短信平台V2.0
系统开发手册
深圳市绚华软件有限公司
2011-08
一.短信平台业务简述
1 概述
短信平台业务模块3.6.4是在3.6.3基础上发展改进的新版本.目的是支持最新的infomaster3.6.4版和兼容以前的3个子版本,包括V2.5R120,V3.0R170,V3.5R627。
版本环境
操作系统: 运行于win2000或XP或更高版本的MS操作系统.
不能在UNIX或LINUX或其他系统下运行.
数据库 :基于MS SQL SERVER 2000的数据库环境
数据库连接:支持ADO方式
或基于ORACLE 9i 数据库环境
数据库连接: 支持ADO
2 业务模式
业务模块支持2种业务
1. 上行消息处理
2. 主动下行业务
2.1.1 上行消息处理业务
l 业务处理过程:
n 通过被叫业务代码和消息内容命令字进行命令解析
n 命令解析结果定位处理该上行消息的业务逻辑
n 根据逻辑接口赋值实际参数,调用该逻辑
n 根据业务逻辑返回值构造返回的下行消息包,发出下行消息
l 支持的业务逻辑方式
n 直接存储过程
调用存储过程,根据存储过程返回的结果集,直接发出下行信息
n 直接URL :在V3.6.4版本中又分为通过命令解析直接URL
2.1.2 主动下行
通过存储过程接口,定时调用,获得下行信息,主动发出
支持业务的模式为:
n 群发
3 请求业务处理模式
3.1 上行点播的消息处理步骤
Ø 业务平台模块通过TCP/IP连接到switch平台,接收到用户上行消息,通过命令解析存储过程返回的结果集中得到存储过程或者URL,并且调用该处理方式。
Ø HTTP方式处理是构造对应的URL发出HTTP请求,处理的业务逻辑在后台的WEB服务中完成。
Ø 存储过程接口方式处理首先通过路由匹配算法根据目标号码和消息内容匹配查找,定位出处理此上行短信的存储过程,再调用存储过程接口,处理的业务逻辑在存储过程中完成。
3.2 业务处理流程
在HTTP的接口流程中,是通过路由匹配定位处理的URL。
上行点播消息
路由匹配
存储过程
存储过程
…..
存储过程
URL
URL
…..
URL
HTTP请求
HTTP请求
HTTP请求
HTTP请求
存储过程接口
存储过程接口
存储过程接口
存储过程接口
switch平台
1 HTTP接口
2 存储过程接口
业务平台
对于两种接口,都是用路由匹配算法定位处理上行短信的业务逻辑,决定是哪个URL或者哪个存储过程来处理,在根据接口的不同,构造URL发出HTTP请求或者调用存储过程,完成对上行短信的处理。
3.3 存储过程接口规则
3.3.1 逻缉图
说明:
当手机点播时,手机短信经过switch平台,由平台路由到请求业务模块。请求业务模块在初始化和执行期间加载命令解析表。上行消息根据其中的接入码,命令字与命令解析表中的内容进行匹配。找到用于处理该条消息的存储过程。执行该存储过程,从库中取得数据并返回给手机用户。
3.3.2 MO的业务
业务程序接收到从switch传过来的消息,通过调用命令解析的存储过程,找到相应的记录,记录中的FPROC表明本次点播所对应的存储过程。并把记录中FTOPID,FSRVCODE,FCODE ,FFEETYPE,FEXTPARAM的值及手机号码,接入码,内容。传入存储过程的输入参数: topid,srvcode, cmd,param1,param2 , srcaddr,srcaddrtype,dstaddr,msg,switchid,zoneid;如果消息中有LINKID也会传入,然后执行存储过程。如果想返回消息给手机,则只要在存储过程中将需要返回的消息各字段写入输出参数retmsgs的结构体中。所以,要做一下处理MO的业务,只要编写一个存储过程即可。
存储过程的输入参数的个数,含义是固定的,而存储过程名是可变的,由自已定义。 输出参数也是是固定的,结构中每个字段的含义也是固定的。
3.3.3 存储过程接口
l ADO方式存储过程接口说明
@srcaddr varchar(50), --源号码
@srcadd_type varchar(1), --源号码类型,0真号码,1伪号码
@destaddr varchar(50), --目的号码
@msg varchar(300), --消息内容
@topid varchar(20), --栏目代码
@srvcode varchar(20), --业务代码
@cmd varchar(300), --命令码
@linkid varchar(60), --mo的linkid
@switchid varchar(50), -- switchID
@zoneid varchar(50), --地区编号
@SubmitMsgType varchar(3), --发送消息类型
@SPDealResult varchar(1), -- Sp对消息的处理结果
@param1 varchar(20) --备用参数
@param2 varchar(20) --备用参数
@ret int OUTPUT
3.4 直接URL接口规则
3.4.1 URL参数传递规则
采用URL处理时,默认的URL串为命令解析表中的URL前缀加上实际的参数.
?SRCADDR=& SRCADDR_TYPE=& DESTADDR=& MSG=&TOPID=& SRVCODE=& CMD=& PARAM1=& PARAM2=& LinkID=
(注:上行消息处理方式有3种,存储过程、直接url。在存储过程中输入接口扩展了2个参数switchid、zoneid。由于实际用途不大没有对直接url和url存储过程与处理2种方式的借口没有进行扩展,所以存储过程接口同其它接口有点不同,不过不影响其它功能。)
这些参数在命令表中可以进行转换配置.这些参数的值1,2,3,4 由上行的命令决定,其他字段由命令解析表决定.
序号
传出字段名称
描述
规则
1
SRCADDR
主叫号码(源地址)
2
SRCADDR_TYPE
主叫号码(源地址)类型
3
DESTADDR
目标号码(目标地址)
4
MSG
消息内容(命令字)
5
TOPID
栏目编号
6
SRVCODE
子业务号码
7
CMD
命令字
8
LinkID
上行linkid
9
PARAM1
参数1
10
PARAM2
参数2
设值规则为命令表里的FSMSURL字段决定.
名称=实际参数名称; 名称=实际参数名称; 名称=实际参数名称
中间用分号”;”隔开.
如果在URL参数里面设定,则按照规则进行参数变换,填写实际的值,构造实际的URL发出去.
3.4.2 下行URL response包规则
Ø 反馈response包格式,可包含协议字段(包括短消息内容),但是必须按照规则格式填写.
Ø 协议字段填写格式是”名称=值”.例如”szMsg=您已经成功订购….”
Ø 反馈response包中可以包含多个消息体,每个消息体中均包含szDestAddr,szSrcAddr ,szMsg等各协议字段。消息体分隔符为”%split”.
例如:Response=”DestAddr=13900000001$Msg=您已经成功订购%split DestAddr=13900000002$Msg=您已经成功订购%splitDestAddr=13900000003 $Msg=您已经成功订购” 可以同时给多个用户发送消息
Ø 反馈response包中每个消息体的格式为:各协议字段分割符为’$’,消息内容分割符为”%end”。
Ø 如果在一个消息体中包含众多协议字段的时候 ,则消息内容协议字段必须放在最后
例如:Response=”DestAddr=13970890052$Msg=您已经成功订购….”合法,
而:Response=”Msg=您已经成功订购…. $DestAddr=13970890052 ”则不合法.
Ø 各消息体中可以不包含协字段 ,直接返回消息内容,消息内容可用”%end”分割,多条下发
例如:Response=”Msg=您已经成功订购…%end此条是免费赠送笑话”
Ø 以上各分割符均可以在配置文件中配置。
Ø 反馈response包中协议字段可选,可以包含一个或若干个协议字段
u 所有协议字段所有协议字段
序号
协议字段名称
说明
规则
1
Msg
命令字
2
DestAddr
目标地址号码
3
SrcAddr
源地址号码
4
PID
GSM协议类型
一般填0
5
SrcTon
发送号码的TON
国际号码(86开头)为1,国内为2
6
SrcNpi
发送号码的NPI
填1
7
DestTon
接收号码的TON
国际号码(86开头)为1,国内为2
8
DestNpi
接收号码的NPI
填1
9
DCS
数据的编码方式
数据的编码方式
0 ASCLL 4 二进制
8 UCS2 15 GB编码
10
ServiceType
下行业务代码
11
Pri
优先级
1为高,0为普通
12
Report
是否需要状态报告
1为要,0为不要,2 为包月扣费消息
13
Fee_UserType
计费用户类型字段
0 真实号码 1 伪码
14
Fee_termial_id
被计费用户的号码
15
TP_Udhi
数据里是否含头结构
1为有,0为无
16
Msg_src
信息内容来源(即sp代码)
17
FeeType
资费类别
18
FeeCode
资费代码
19
Reserve
保留字段
20
GivenCode
赠送话费
(以分为单位)(联通适用)
21
Mt
引起MT消息的原因
0-MO点播引起的第一条MT消息
1-MO点播引起的非第一条MT消息 2-非MO点播引起的MT消息
3-系统反馈引起的MT消息( 比如发包月扣费消息时)
22
ServiceU
内部业务码
23
FixedFee
封顶资费
24
MsgType
消息子类型
25
Fee_termial_id_Type
扣费号码类型
0 真实号码 1 伪码
26
DestAddr_Type
目标地址号码类型
27
AreaCode
区域码
28
InforMasterID
ID号
29
SubmitMsgType
Sp发送消息类型
30
SPDealResult
Sp对消息的处理结果
31
MServiceID
业务代码(用于移动网业务)
3.5 下行业务处理
通过存储过程接口,定时调用,获得下行信息,主动发出。
3.5.1 任务发布
l ADO方式任务发布接口
@eachcount int,
@ret int OUTPUT
3.5.2 任务控制接口
l 在ADO方式环境下,V3.6.4版本不支持任务控制
无。
4 业务程序及业务配置文件
4.1.1.1 业务平台界面
程序启动后,界面如图所示:
业务程序界面
短消息连接参数:
参数
参数说明
数据库指示灯
绿灯表示与指定的数据库连接正常,红灯表示不正常
短信平台指示灯
绿灯表示与InfoMaster连接正常,红灯表示不正常
命令解析指示灯
绿灯表示命令解析正常,红灯表示不正常
清零
把统计数置0
接收MO数
接收从 Infomaster过来的短信个数
发送MT数
提交到 Infomaster过来的短信个数
MO成功数
发送到 Infomaster 成功的个数
MT成功数
下行成功个数
URL成功数
URL方式提交数
ACK失败数
发送产生ACK失败的个数
时钟消息
内部数据
普通MO消息数
主动上行点播的个数
普通MT消息数
点播引起的下行的个数
4.1.1.2 命令解析表界面
显示当前命令解析表中的内容
4.1.1.3 业务模块配置文件:smservic.ini
[smconnect]
count = 1 #连接平台(INFOMASTER)的个数
[connection0] #连接平台(INFOMASTER)帐户信息
ipaddr = 10.108.20.120
port = 5047
loginname = ser47
password =
systemtype =
rcvsnd = 2
#初始化数据源
[broadcastmng]
#数据源名
datasourcename = DBSMSERVICE
#LoadMTTask 的PROC 输入参数 主动发布信息存储过程
broadcastproc = xx_PubProc_ADO
#下发速度
DefaultSpeed = 10
#下行消息内容分割符号
MsgContentSplit=%end%
#下行消息内容换行符号
MsgContentRn=%cr%
[mopromng]
datasourcename =DBSMSERVICE
#下行消息内容分割符号
MsgContentSplit=%end%
#下行消息内容换行符号
MsgContentRn=%cr%
[mourlmng]
datasourcename =DBSMSERVICE
#MOURLPro 的PROC 输入参数 处理上行的URL
defaultprocname = xx_GetUrl_ADO
#下行消息内容分割符号
MsgContendSplit=%fin%
#下行消息协议字段分割符号
UrlParamSplit= $
#下行消息分割符号
UrlMsgSplit=%end
#下行消息内容换行符号
MsgContentRn=%cr%
#下行信息禁止下发特殊字符串
#程序中没有使用
URL_ForbitStr=SHARE_NULL_SHARE
[main]
#初始化存储过程请求线程 启用存储过程业务模式时填1,否则填0
MOProcThreads= 0
#初始化URL请求线程 启用URL方式时填1,否则填0
MOURLThreads= 1
#初始化主动下发线程,启用主动下发时填1,否则为0
BroadcastThreads= 0
#SMSPLIT 是否分割消息 0 不分割直接切断 1分割
SMSPLIT = 1
#SMSPLIT 分割消息最大长度,按照运营商情况设置,移动140,联通140,小灵通建议110
SMSPLITLEN = 140
#SMSPLIT 分割消息方式,0 默认方式(直接切割不编码) 1 GSM长消息分割方式(有特殊的编码方式)
SMSPLITTYPE = 1
[linkmng]
#数据源的个数
count =1
[datasrc0]
DataSrcName=DBSMSERVICE
#数据库名
DBName=sms
#MS_SQL_DB_LIB = 0,SYBASE_CT_LIB = 1,ODBC_LIB = 2,ADO_LIB = 3,ORACLE_PROC_LIB = 4
DBType=3
#服务器名
ServerName=127.0.0.1
#数据库用户名
UserID=sa
#对应密码
UserPass=sa
#对于ADO可以通过Provider指定连接什么类型的数据库,如1->SQLServer 2->Oracle
Provider=1
[parsermng]
datasourcename =DBSMSERVICE
loadtime = 5
#加载命令,不通过UP_COMMAND表直接URL方式时为空
loadprocname=xx_LOADPARSER_ADO
#解析需要提供的运营商,空表示所有运营商 1移动、2联通、3电信、4网通
loadprovider=
#解析需要提供的SP号码,空表示所有SP号码
loadspnum=
#解析需要提供的业务,空表示所有业务
loadservice=
#大小写敏感 0不敏感 1敏感
parsercase=1
#不通过UP_COMMAND表,直接URL方式页地址,其它方式为空
defaultproc=http://10.108.20.120:8089/geturl36.asp
#QuickSearch //如果解析表为空,取默认值
defaultservicecode=
defaultsubservice=
# 0 存储过程 1 getURL 2 直接URL
defaultflag=2
#不通过UP_COMMAND表,直接URL方式的下行字段
defaultURLParamOUT=
#数据库超时退出时间
[Contral]
TimeOut=60
二.数据库接口及业务开发
5 数据库存储过程,表结构说明
5.1 ADO方式存储过程接口
5.1.1 命令加载接口及结构
业务模块在启动时自动加载命令解析存储过程:
Ø 命令加载接口:
@provider varchar(4), --运营商编号,1移动、2联通、3电信、4网通
@spnumber varchar(20), --接入码,可为空
@servicecode varchar(20) --业务标识,可为空
Ø 这个存储过程返回一个数据集,数据集格式:
select FISP,FCODE,FPROC,FTOPID,FSRVCODE,FFEETYPE,FEXTPARAM
Ø 字段长度定义:
字段名称
字段类型
默认值
字段描述
Nullable
FISP
varchar(20)
接入码
No
FCODE
varchar(20)
命令码
Yes
FPROC
varchar(256)
存储过程名或URL
Yes
FTOPID
varchar(20)
所属栏目
Yes
FSRVCODE
varchar(20)
所属业务
Yes
FFEETYPE
varchar(20)
0
计费类型
Yes
FEXTPARAM
varchar(100)
扩展参数,根据不同的存储过程含义不同
Yes
FTYPE
Number (4)
'0'
指定FPROC的类型,0存储过程,1 URL,2 直接URL
No
5.1.2 写话单接口及结构
倒库程序调用话单存储过程从文本文件读取后写入数据库,数据库会每天新建一张话单表。在倒库时,当天话单导进话单表中,历史话单会导进对应的历史表中,如果找不到与之对应历史表,话单会导进话单表。
@FUniKey varchar(65),
@Fsmid varchar (65),
@ForgAddr varchar(50),
@ForgAddrType varchar(1),
@FdestAddr varchar(21) ,
@FdestAddrType varchar(1),
@FsubmitTime varchar(19) ,
@FdeliverTime varchar(19) ,
@FUD varchar (300) ,
@FmsgType int ,
@Fackstatus int ,
@Fservice int ,
@FserviceID varchar (10) ,
@FFeeUserType int ,
@FFeeType varchar (2) ,
@FfeeCode varchar (6) ,
@FfeeTerminal varchar (50) ,
@FFeeTerminalType varchar(1),
@FrcvAccount varchar (20) ,
@FsendAccount varchar (20) ,
@FReportFlag int ,
@FMoFlag int ,
@FGivenCode varchar (6) ,
@FServiceUpID varchar (50) ,
@FMsgSrc varchar (10),
@FSmType varchar(4),
@FFixedFee varchar(7),
@FLinkID varchar(61) ,
@FTransactionID varchar(21),
Ø 各字段说明:
字段名称
字段类型
字段描述
Nullable
FuniKey
Varchar(65)
网关返回的ID+手机号码,只有MT消息有值
Yes
Fsmid
Varchar(65)
内部流水号
No
ForgAddr
Varchar(50)
发送号码
Yes
ForgAddrType
Varchar(1)
发送号码类型
Yes
FdestAddr
Varchar(50)
接收号码
Yes
FdestAddrType
Varchar(1)
接收号码类型
Yes
FsubmitTime
Varchar(19)
本消息到平台的时间
Yes
FdeliverTime
Varchar(19)
本消息转发出去的时间
Yes
FUD
Varchar(300)
内容
Yes
FmsgType
Int(4)
62 MO,60 MT
Yes
Fstatus
Number
ACK值,默认值-1
Yes
Fservice
Varchar(10)
标明是那个业务模块发来的短信
Yes
FServiceID
Varchar(10)
业务码
Yes
FFeeUserType
Varchar(1)
计费用户类型:0 表示对目地号码计费1 表示对源号码计费 2 表示对SP计费3 表示对 @Fee_termial_id所指定的号码计费
Yes
FfeeType
Varchar(2)
计费类型
Yes
FfeeCode
Varchar(6)
费用
Yes
FFeeTerminal
Varchar(50)
计费号码
Yes
FFeeTerminalType
Varchar(1)
计费号码类型
Yes
FRcvAccount
Varchar(20)
接收帐号 表示消息从本帐号发出去
Yes
FSendAccount
Varchar(20)
发送帐号 表示消息从本帐号
进来
Yes
FReportFlag
Int(4)
0 不需要状态报告1 需要状态报告
2 包月扣费
Yes
FMoFlag
Int(4)
引起MT消息的原因
0-MO点播引起的第一条MT消息;
1-MO点播引起的非第一条MT消息;
2-非MO点播引起的MT消息;
3-系统反馈引起的MT消息
Yes
FGivenCode
Varchar(6)
赠送话费
Yes
FServiceUpID
Varchar(50)
内部业务码
Yes
FMsgSrc
Varchar(10)
企业代码
Yes
FSmType
Varchar(4)
消息类型
Yes
FFixedFee
Varchar(7)
封项资费
Yes
Flinkid
Varchar(61)
LINKID
Yes
FTransactionID
Varchar(21)
业务逻辑使用的字段,保存于话单表中
Yes
5.1.3 状态报告接口及结构
当下行MT成功发送,并且收到网关的正确ACK时,才会收到状态报告。通过调用状态报告存储过程读取状态报告文本后,根据FUniKey值查找与之对应的话单数据后更新话单表最后FackStatus,FreportStatus,FbillStatus三个字段。
Ø 状态报告更新存储过程接口:
@Unikey varchar(65),
@SubTime varchar(19),
@DlRTime varchar(19),
@Protocol int,
@SrcStatusCode varchar(9),
@ErrCode varchar(9),
@nStatus int
Ø 状态报告存储过程参数含义:
字段名称
字段描述
Nullable
FUniKey
唯一标识网关返回的ID+手机号码,只有MT消息有值
No
FsubmitTime
状态报告到到平台的时间
No
FdeliverTime
状态报告到到平台的时间
No
FProtocol
协议类型 0 SMPP 1 CMPP 2 SGIP 3 SMGP 4 CNGP
No
FSrcStatusCode
状态报告码 对应CMPP,SMGP,CNGP协议中状态报告消息中的内容字段的STAT域,如DELIVRD,SGIP为空
Yes
FErrcode
对应SGIP,SMGP,CNGP协议中状态报告消息中的内容字段的Err域,CMPP为空
Yes
FSTATUS
状态值0为成功,其他为失败
No
5.1.4 存储过程处理方式MO接口及结构
上行短消息通过命令解析存储过程返回的结果得到需要调用的存储过程,然后调用存储过程下发短消息。以下分别列出所有版本的接口。
@srcaddr varchar(50), --源号码,不能空
@srcadd_type varchar(1), --源号码类型,0真号码,1伪号码
@destaddr varchar(50), --目的号码,不能空
@msg varchar(300), --消息内容,不能空
@linkid varchar(60), --mo的linkid,不能空
@SrcTon int,
@SrcNpi int,
@DestTon int,
@DestNpi int,
@ret int OUTPUT
Ø 上行命令存储过程返回一个数据集,数据集各个字段定义:
字段名称
类型
字段描述
Nullable
SendMsg
varchar(300)
发给手机的短信内容
No
Phone
varchar(20)
接收短信的号码(手机号码)
No
PhoneType
varchar(1)
接收短信的号码(手机号码)的真伪标志
No
SpNum
varchar(20)
发送短信的号码
No
Pid
char(4)
GSM协议类型,一般填0
No
SpNumTon
char(1)
发送号码的TON国际号码(86开头)为1,国内为2
No
SpNumNpi
char(1)
发送号码的NPI,填1
No
PhoneTon
char(1)
接收号码的TON 国际号码(86开头)为1,国内为2
No
PhoneNpi
char(1)
接收号码的NPI,填1
No
Dsc
char(2)
数据的编码方式 0 ASCLL 4 二进制 8 UCS2 15 GB编码
No
Service
varchar(11)
下行业务代码
No
Pri
char(4)
优先级 1为高,0为普通
No
Report
char(4)
是否需要状态报告 0不需要状态报告1需要状态报告 2 表示包月扣费信息
No
Uhdi
char(4)
数据里是否含头结构 1为有,0为无
No
Fee_UserType
char(4)
计费用户类型:0 表示对目地号码计费1 表示对源号码计费 2 表示对SP计费3 表示对 @Fee_termial_id所指定的号码计费
No
Fee_termial_id
varchar(20)
被计费用户的号码
No
Fee_termial_id _type
varchar(1)
被计费用户的号码的真伪标志
No
Msg_src
varchar(7)
企业代码
No
FeeType
varchar(4)
资费类型
No
FeeCode
varchar(7)
资费代码(以分为单位)
No
Reserve
varchar(8)
保留字段
Yes
GivenCode
varchar(7)
赠送话费(以分为单位)(联通适用)
Yes
MOFlag
char(1)
引起MT消息的原因 0-MO点播引起的第一条MT消息 1-MO点播引起的非第一条MT消息 2-非MO点播引起的MT消息 3-系统反馈引起的MT消息( 比如发包月扣费消息时)
No
ServiceU
varchar(10)
内部业务码
Yes
AtTime
varchart(17)
计划下发时间,它为以下格式YYMMDDhhmmsstnnp
Yes
ValidTime
varchart(17)
消息有效时间,它为以下格式YYMMDDhhmmsstnnp,
Yes
SmType
varchar(4)
短消息了类型
No
FixedCode
varchar(7)
封顶资费(以分为单位)
Yes
Linkid
varchar(61)
对应于原MO的LINKID
Yes
5.1.5 ADO方式群发接口及结构
Ø 群发模块调用存储过程接口
eachcount int, -每次发送条数
@ret int OUTPUT -当取到任务时返回任务ID,这个ID传到控制存储过程中,失败时返回小于零的数
Ø 上行命令存储过程返回一个数据集,数据集各个字段定义:
字段名称
类型
字段描述
Nullable
SendMsg
Varchar(300)
发给手机的短信内容
No
Phone
Varchar(20)
接收短信的号码(手机号码)
No
PhoneType
Varchar(1)
接收短信的号码(手机号码)的真伪标志
No
SpNum
Varchar(20)
发送短信的号码
No
Pid
char(4)
GSM协议类型,一般填0
No
SpNumTon
char(1)
发送号码的TON
国际号码(86开头)为1,国内为2
No
SpNumNpi
char(1)
发送号码的NPI,填1
No
PhoneTon
char(1)
接收号码的TON
国际号码(86开头)为1,国内为2
No
PhoneNpi
char(1)
接收号码的NPI,填1
No
Dsc
char(2)
数据的编码方式 0 ASCLL 4 二进制 8 UCS2
15 GB编码
No
service
Varchar(11)
下行业务代码
No
Pri
char(4)
优先级 1为高,0为普通
No
report
char(4)
是否需要状态报告
0不需要状态报告
1需要状态报告
2 表示包月扣费信息
No
uhdi
char(4)
数据里是否含头结构
1为有,0为无
No
Fee_UserType
char(4)
计费用户类型:
0 表示对目地号码计费
1 表示对源号码计费
2 表示对SP计费
3 表示对 @Fee_termial_id所指定的号码计费
No
Fee_termial_id
Varchar(20)
被计费用户的号码
No
Fee_termial_id _type
varchar(1)
被计费用户的号码的真伪标志
No
Msg_src
Varchar(7)
企业代码
No
FeeType
Varchar(4)
资费类型
No
FeeCode
Varchar(7)
资费代码(以分为单位)
No
Reserve
Varchar(8)
保留字段
Yes
GivenCode
Varchar(7)
赠送话费(以分为单位)(联通适用)
Yes
MOFlag
char(1)
引起MT消息的原因
0-MO点播引起的第一条MT消息
1-MO点播引起的非第一条MT消息
2-非MO点播引起的MT消息
3-系统反馈引起的MT消息( 比如发包月扣费消息时)
No
serviceU
Varchar(10)
内部业务码
Yes
AtTime
varchart(17)
计划下发时间,它为以下格式YYMMDDhhmmsstnnp
Yes
ValidTime
varchart(17)
消息有效时间,它为以下格式YYMMDDhhmmsstnnp,
Yes
SmType
Varchar(4)
短消息了类型
No
FixedCode
Varchar(7)
封顶资费(以分为单位)
Yes
Linkid
Varchar(61)
对应于原MO的LINKID
Yes
6 短信平台存储过程及收发实例
在业务开发方面我们只提供业务接口,具体业务实现需要客户自己完成开发,以下是简单的几个业务存储过程(以下例子连接SQL数据库)。
6.1 通过存储过程方式点播
手机用户发送上行消息时,业务模块调用命令解析存储过程通过命令字和特服号在up_command表中匹配到对应数据集后得到这条命令需要调用的点播的存储过程,业务代码,栏目代码等等。存储过程返回一个结果集发送出去。
上行点播存储过程OrderProc:
6.1.1 编写存储过程(sqlserver)
/****** Object: Stored Procedure dbo.OrderProc_V36 Script Date: 2006-9-7 14:39:20 ******/
/****** 对象: 存储过程 dbo.Order
展开阅读全文