资源描述
彩信/长短信数据库接口版
用户手册
版本:V3.01
目 录
1.产品概述 4
2.概念说明 5
3.工作流程 6
4.产品安装配置 8
5.数据库表说明 9
5.1信息发送表(MSG_Outbox) 9
5.2信息发送成功表(MSG_Sentbox) 12
5.3信息发送失败表(MSG_Failedbox) 12
5.4 信息接收表(MSG_Inbox) 13
6.发送功能实现 15
6.1 发送短信 15
6.2 发送wap push 15
6.3 发送彩信 15
7、应用环境 16
1.产品概述
本产品定位于为传统软件企业、无线增值业务服务公司和其他任何需要彩信/短信服务的实体提供二次开发接口服务。
对于使用彩信/短信的公司而言,传统的方式是通过专线或Internet等有线接入方式实现,而彩信产品则可通过gsm/gprs等移动通信网络直接将彩信/短信以无线的方式传输,无需通过移动运营商的接入平台就可以开展无线业务应用。
本系统提供基于数据库表的接口连接模式,这种方式可以跨越windows和Unix平台,同时可兼顾B/S和C/S应用,是一套全能的接口策略。
本产品可实现:
n 多种形式彩信发送
n 彩信接收
n 普通短信发送、快闪短信(免提短信)发送
n Wap push信息发送
n 普通短信接收
本产品提供给用户快速二次开发的能力,利用本产品普通的开发人员可以在几个小时之内快速开发、测试并启用彩信/短信服务。
本产品支持的数据库包括:Access、SQL Server、Oracle、MYSQL和Sybase
本产品支持的彩信文件种类包括:
n 单一资源文件:
² 文字:.txt .doc .ppt .pdf 和 .xls 文件
² 图片:.jpg .jpeg .gif .bmp 和.png文件
² 声音:.mid .amr .wav 和.mp3文件
² 影像:.3gp .mp4 .mpg4 .avi 和. asf文件
² 其他:.jar .jad 和 .sis 文件
n 自定义的ini简单彩信格式:后面数据表说明处有详细介绍
n Smil标准彩信格式:具体需查阅相关彩信资料
2.概念说明
名称
描述
快闪短信
也叫免提短信,当此类短信到达手机后,不需要用户点击就可自行显示
Wap push
Wap标准之一,将一个wap 链接地址发送到手机上
smil
Synchronized Multimedia Integration Language
即“同步多媒体集成语言”,是W3C的标准之一
彩信通知
类似于wap push,用户接收彩信的时候,首先接收一条彩信通知( MMS Notifycation),系统再根据彩信通知提供的地址去下载彩信
彩信
Multimedia Messaging Service,多媒体消息服务,中国移动规定彩信内容一般不要大于50k
3.工作流程
本产品作为应用系统与彩信/短信服务的中介,利用数据库表来交换数据,系统支持Access、SQL Server、Oracle、MYSQL和Sybase数据库,初次安装彩信系统,默认数据库为Access,数据库文件为安装目录下的 MMSServer.mdb,内有4张表,简单说明如下:
表名
中文名
用途
MSG_Outbox
信息发送表
用户要发送的彩信/短信存储于该表
MSG_Sentbox
信息发送成功表
存储发送成功的信息
MSG_Failedbox
信息发送失败表
存储发送失败的信息
MSG_Inbox
信息接收表
存储接收到的彩信/短信
下图为应用系统和彩信系统之间的连接图:
n 发送彩信/短信过程
1. 应用系统向数据库中的MSG_Outbox表填写要发送的手机号码和彩信数据
2. 彩信系统系统定时扫描MSG_Outbox表,一旦发现有符合条件的数据,则读出并控制GPRS彩信设备连接GPRS网络将信息发出
3. 彩信系统删除MSG_Outbox中的相应数据
4. 如发送成功,彩信系统将数据保存到MSG_Sentbox表中
5. 如发送失败,彩信系统将数据保存到MSG_Failedbox表中
6. 应用系统可通过读取MSG_Sentbox和MSG_Failedbox表中的信息来判断彩信/短信发送是否成功
n 接收彩信过程
1. 手机用户向GPRS彩信设备发送了一条彩信
2. 彩信系统将收到的“彩信通知“保存到MSG_Inbox中,并控制GPRS彩信设备连接GPRS网络,接收彩信
3. 如成功接收彩信,彩信系统将接收的彩信以文件的形式保存到指定目录,并把文件名称更新到数据库中的MSG_Inbox表
4. 如接收彩信失败,彩信系统将更新MSG_Inbox表中对应的下载状态字段,以后不再下载
5. 应用系统可读取MSG_Inbox表中的内容来操作成功接收的彩信
n 接收短信过程
1. 手机用户向GPRS彩信设备发送了一条短信
2. 彩信系统将收到的短信保存到MSG_Inbox中
3. 应用系统可读取MSG_Inbox表中的内容来操作成功接收的短信
4.产品安装配置
木鱼彩信(数据库接口版)是一单一可执行文件提供的,用户拿到该软件后,可按照下面的顺序来操作。
1. 安装硬件GPRS 彩信发送设备,并确保插入了SIM 卡,且该卡开通了彩信服务
2. 运行本软件的安装程序,完成产品的安装
3. 第一次运行本系统,配置通道连接、安装USB加密狗
4. 配置数据库连接:
a) 系统默认的数据库是Access,用户如需使用其他数据库系统,则需使用本软件提供的SQL建表语句,利用相应数据库的管理程序,建立数据库和表。
b) 对于Access数据库,在系统数据库配置界面直接选择就可以,无需其他配置。
c) 对于SQL Server、MySQL和Sybase数据库,需利用windows控制面板中的ODBC管理程序建立相应的数据库连接的数据源,将ODBC数据源名称填写到本系统的配置数据库界面的“数据库连接串“项目,并测试连接是否正常
d) 对于Oracle数据库,需安装Oracle的客户端程序,并将Oracle客户端设置的服务名填写到本系统配置数据库界面的在“数据库连接串“项目,并测试连接是否正常。
5. 配置其他参数
6. 启动服务、正式使用
n MMS-Examples:彩信例子目录,包含3种彩信,可用于测试发送
n MMS-IN:系统安装完成后,默认的彩信接收保存目录
5.数据库表说明
5.1信息发送表(MSG_Outbox)
序号
字段名
类型
长度
默认值
允许空
说明
1
MsgID
数字
自动编号字段,可作为要发送信息的ID标识,用户程序无需处理
2
ExpressLevel
数字
2
发送级别,系统分为3个级别:
l 0 为最高优先级
l 1 较高优先级
l 2 普通优先级
可通过此字段控制发送信息的先后顺序
3
Sender
文本
100
√
发送者名称,也可以是发送者的手机号码,为用户程序保留的字段,用户可根据自己的需要来填写,也可不填写。
4
Receiver
文本
200
接收者手机号码,此字段为必填字段。
l 发送短信,只能填写一个手机号码
l 发送彩信,可填写多个手机号,手机号之间用半角逗号分开,手机号的数量最多不超过10个,其数值与当地彩信网关有关,有的网关会过滤掉后面的手机号,这种情况只能填写一个手机号
5
MsgType
数字
1
0= 普通短信
1 = 彩信 (系统默认为1,彩信)
2 = wap push
3 = 免提短信(快闪短信)
6
MsgTitle
文本
500
√
该字段包含3个作用,其含义取决于MsgType字段:
l 可作为普通短信的内容
l 可作为wap push中的提示语和URL,提示语和url之间用 #### 分隔
例如:push测试####
l 可作为彩信的标题
7
MMSContentLocation
文本
500
√
彩信内容的全路径文件名,如发短信和wap push,则本字段不用填写,彩信内容文件以下3种方式提供:
l 单一资源文件 (比如一个图片文件或一个声音文件)
l ini简单彩信描述文件
l smil标准彩信描述文件
关于ini文件和smil的文件格式,下面有详细说明
8
SendTime
日期时间
计划发送时间,必填字段,一般填写当前时间
9
CommPort
数字
0
指定串口号
当彩信系统有多个设备同时工作的时候,如需指定使用某串口上的设备发送信息,则填写串口号,如不需要指定则填写0,这时系统根据各个设备的忙闲情况自动分配使用。
注:MMSContentLocation 字段需要的彩信文件说明
该字段填写的文件名称一定要使用全路径文件名:
比如:c:\测试彩信.jpg,而不能只是:测试彩信.jpg
n 单一资源文件
最简单的彩信,适用于只发送单个图片、声音或文字彩信的情况,系统支持如下格式:
² 文字: txt文件
² 图片: jpg .gif .bmp 和.png文件
² 声音: mid .amr .wav 和.mp3文件
n Ini简单彩信
这种为我公司自行定义的彩信文件格式,文件扩展名为 ini ,利用该文件可实现多帧彩信,并且每帧可包含多个内容:
Ini文件以“[新帧开始]“作为文件的开始,帧与帧之间都以”[新帧开始]“加换行回车作为分隔,每帧内各个彩信文件间用换行回车来分隔,每帧开始的时候可选择是否定义播放时间,用“播放时间=x”来定义,x是播放时间,单位是秒,默认时间为5秒。
下面是一个两帧彩信的例子:
第一帧的播放时间为10秒,包含的三个文件分别是:
“C:\MMS\三万英尺.mid”
“C:\MMS\单机.jpg”
“C:\MMS\单机介绍.txt”;
第二帧没有设定播放时间,按照默认值为5秒,包含的三个文件是:
“C:\MMS\三万英尺.mid”
“C:\MMS\机群.jpg”
“C:\MMS\机群介绍.txt”
n Smil格式彩信
Smil 的全称为Synchronized Multimedia Integration Language,即“同步多媒体集成语言”是W3C的标准之一,具体介绍可参见:http://www.w3.org/AudioVideo/
Smil格式的彩信举例如下,同样是一个包含两帧的彩信:
第一帧的播放时间为5秒,包含“music.mid”、“single.jpg”和“single.txt”三个资源文件;
第二帧的播放时间为10秒,包含包含“music.mid”、“group.jpg”和“group.txt”三个资源文件;
需要说明的是,smil文件中的资源文件名称必须用英文或数字,不能使用中文,另外,各个资源文件一定要与smil文件在同一个目录下。
5.2信息发送成功表(MSG_Sentbox)
序号
字段名
数据类型
长度
默认值
允许空
说明
1
ID
数字
自动编号字段,用户程序无需处理
2
OriginMsgID
数字
对应MSG_Outbox表中的MsgID字段,目的是为了能与MSG_Outbox表建立关联
3
ExpressLevel
数字
详见MSG_Outbox表对应字段说明
4
Sender
文本
100
√
详见MSG_Outbox表对应字段说明
5
Receiver
文本
200
详见MSG_Outbox表对应字段说明
6
MsgType
数字
详见MSG_Outbox表对应字段说明
7
MsgTitle
文本
500
√
详见MSG_Outbox表对应字段说明
8
MMSContentLocation
文本
500
√
详见MSG_Outbox表对应字段说明
9
SendTime
日期时间
详见MSG_Outbox表对应字段说明
10
CommPort
数字
该信息发送使用的串口号
11
ActualSendTime
日期时间
信息实际发送完成时间
12
ReceiveMMSTime
日期时间
√
对方接收到彩信的时间:
n 如此字段不为空,则表示对方肯定成功接收到了彩信。
n 如此字段为空,则有两种可能,一种是对方确实没有成功接收彩信,另一种可能是对方已成功接收了彩信。造成第二种情况的原因是运营商的系统返回状态有时候也不准确。
13
MMSMessageID
文本
200
√
彩信编号,为发送彩信完成后彩信中心返回的一个编号,该编号作为系统内部使用,用户不用干预。
5.3信息发送失败表(MSG_Failedbox)
序号
字段名
数据类型
长度
默认值
允许空
说明
1
ID
数字
自动编号字段,用户程序无需处理
2
OriginMsgID
数字
对应MSG_Outbox表中的MsgID字段,目的是为了能与MSG_Outbox表建立关联
3
ExpressLevel
数字
详见MSG_Outbox表对应字段说明
4
Sender
文本
100
√
详见MSG_Outbox表对应字段说明
5
Receiver
文本
200
详见MSG_Outbox表对应字段说明
6
MsgType
数字
详见MSG_Outbox表对应字段说明
7
MsgTitle
文本
500
√
详见MSG_Outbox表对应字段说明
8
MMSContentLocation
文本
500
√
详见MSG_Outbox表对应字段说明
9
SendTime
日期时间
详见MSG_Outbox表对应字段说明
10
CommPort
数字
该信息发送使用的串口号
11
ActualSendTime
日期时间
信息实际发送失败的时间
12
FailedReason
文本
500
√
发送信息失败的原因
5.4 信息接收表(MSG_Inbox)
序号
字段名
数据类型
长度
默认值
允许空
说明
1
ID
数字
自动编号字段,用户程序无需处理
2
Sender
文本
100
发送者手机号码或特服号码
3
MsgType
数字
信息类别
0 = 普通短信
1 = 彩信
4
MsgTitle
文本
500
√
该字段有2个作用,取决于MsgType中的值:
l 如果接收的信息类别为普通短信,则本字段表示短信内容
l 如果接收的信息类别为彩信,则本字段表示彩信标题
5
MMSUrl
文本
200
√
彩信下载地址,对于普通短信而言,此字段为空
6
MMSContentLocation
文本
5000
√
接收到的彩信资源文件全路径文件名,如果彩信包含多个文件,则两个文件名之间用半角的逗号分隔,大部分彩信都会包含一个以smi结尾的文件,这个文件是描述彩信格式的,具体可参见彩信协议,其他文件都是具体的图片、铃声和文字等。
7
MsgArrivedTime
日期时间
信息到达的日期时间,是指普通短信或彩信通知的到达时间,也就是信息接收时间
8
MMSDownloadedTime
日期时间
√
彩信实际下载完成或下载失败时间,如还未开始下载彩信,则该字段为空
9
MMSDownloadedState
数字
彩信是否已经成功下载:
0 = 彩信还未开始下载
1 = 已经开始下载彩信
100 = 彩信下载成功
-100 = 彩信下载失败
10
CommPort
数字
接收信息使用的串口号
6.发送功能实现
所有发送功能的实现都是应用程序向MSG-Outbox表中填写数据,下面各个功能的实现中,我们都模拟了一条SQL语句,以便于应用开发人员将来能模仿该语句建立自己的插入语句。
6.1 发送短信
n 普通短信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES ('13800008888',0,'普通短信','','2009-01-01 15:40:21')
n 快闪短信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES('13800008888',3,'快闪短信','','2009-01-01 15:41:40')
6.2 发送wap push
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES('13800008888',2,'wap push测试####','','2009-01-01 15:42:03')
6.3 发送彩信
n 单个图片彩信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES ('13800008888',1,'单个图片彩信','C:\MMS\单一资源彩信\美女头像.gif','2009-01-01 15:42:41')
n 单个声音彩信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES ('13800008888',1,'单个铃声彩信','c:\MMS\单一资源彩信\情非得意.mid','2009-01-01 15:43:43')
n 单个文字彩信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES('13800008888',1,'单个文本彩信','c:\MMS\单一资源彩信\念奴娇赤壁怀古.txt','2009-01-01 15:44:27')
n 单个简单结构彩信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES ('13800008888',1,'简单结构彩信','c:\MMS\ini简单结构彩信\测试彩信.ini','2009-01-01 15:45:07')
n 单个smil结构彩信
SQL示例:
INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES ('13800008888',1,'smil标准结构彩信','c:\MMS\smil结构彩信\测试彩信.smil','2009-01-01 15:46:18')
7、应用环境
n 服务器:
硬件配置:PC Server ,P4以上,50M以上空闲硬盘空间,内存512M以上
运行环境:windows XP
n GPRS Modem:
采用Wavecom GRPS Modem,连接速率为115200.
展开阅读全文