四网合一短信平台使用手册V5.1
(Zealware Enterprise Short Message Gateway, 简称ESMG)
风起水流软件
Revision 0
|
网址: |
|
|
咨询: |
|
|
购买: |
|
|
支持: |
|
|
QQ: |
740828267 |
|
MSN: |
|
|
版本: |
Document Version 28-Oct-07 Issue 5.1 |
l SP LocalAddress=127.0.0.1. 35
l datasource=LOCALHOST\SQLSERVER_ESMG.. 38
l datapasswd=PASSWORDOFESMG.. 38
l sqlquery_mt=SELECT top 10 * FROM MTQUEUE WHERE issendflag = 0 ORDER BY RECID.. 39
l proc_updatemt=UPDATE_MTQUEUE_carrier 39
l proc_deletemt=DELETE_MTQUEUE_carrier 39
l proc_insertmo=INSERT_MODELIVER_carrier. 39
l proc_updatemtlog=update_mtqueuelog_carrier 39
l SMG LoginName=<smg_username>. 41
l SMG PassWord=<smg_password>. 41
本文是风起水流软件开发的短信平台使用手册,适用于E-SMG V5.1。
风起水流四网合一短信平台 – Zealware Enterprise SMS Gateway
手册维护:范圣刚 <princ...@gmail.com>
Version 5.1, Oct 28, 2007
风起水流四网合一短信平台(Zealware Enterprise SMS Gateway) 是一个全功能的短信增值网关平台,可以同时接入移动、联通、电信、网通四大运营商,支持国内国际各家运营商的大多数短信通信协议,包括CMPP2.0、CMPP3.0、SGIP1.2(修订版)、CNGP2.0、SMGP1.3、SMGP2.0、SMGP3,0、SMPP3.3、SMPP3.4、PROVISION以及EMPP等短信协议。
特点
l 支持四网合一等多家通信协议
l 支持ORACLE,SQLSERVER,MYSQL,SYBASE等多种数据库接口和HTTP接口
l 支持网关连接自动恢复,滑动窗口,流量控制和失败消息自动重发
l 支持通过web方式进行服务管理和配置
l 以系统服务方式运行,稳定高效
l 兼容各种厂商的不同协议实现(兼容非标准协议),兼容同一协议的不同版本接入
l 支持超长短信发送和群发功能
l 支持闪烁短信、免提短信等功能
l 支持铃声和图片功能
l 支持WAP PUSH功能
l 能够自动调节系统负载
更新说明
V5.1
1) 修正一些BUG.
2) 在服务管理器中和web管理中,增加了四个数据库连接和网关连接的状态显示.
3) 完善数据库异常处理和重发机制.
4) 增加根据系统负载,自动调节发送速度功能.
Windows
l 硬盘空间
600MB 可用空间
l RAM
最低要求:192MB
推荐使用:512MB或更大空间
l 处理器
兼容Intel® Pentium® III 或更高版本
最低要求:500MHz
推荐使用:1GHz或更高
l 操作系统
Windows Server 2003 SP1
Windows Server 2003 Enterprise Edition SP1
Windows Server 2003 Datacenter Edition SP1
Windows Small Business Server 2003 Standard Edition SP1
Windows Small Business Server 2003 Premium Edition SP1
Windows XP Professional SP2
Windows XP Home Edition SP2
Windows XP Tablet Edition SP2
Windows XP Media Edition SP2
Windows 2000 Professional Edition SP4
Windows 2000 Server Edition SP4
Windows 2000 Advanced Edition SP4
Windows 2000 Datacenter Server Edition SP4
Linux
即將推出
DataBase
l 安装Windows Server 2003
参考:
HOW TO:执行 Windows Server 2003 全新安装
Microsoft TechNet的安装 Windows Server 2003 R2
Microsoft Windows Server 2003 Service Pack 1 安装和部署指南
l 安装MS SQLServer 2005
l 参考:
MSDN网站的安装 SQL Server 2005
l 安装Oracle
Installing the Oracle9i Database
四网合一短信网关平台分为豪华版,标准版和快捷版。
短信网关平台标准版包括短信网关平台和相关文档,同时内置Microsoft SQL Server 2005 Express Edition SP2(SQLServer的免费精简版本),和Microsoft SQL Server Management Studio Express(SQLServer的图形管理界面免费版),以及安装所需要的全部组件,包括.NET Framework2.0和MSXML6.0 SP1。
标准版程序安装包大小大约是147MB.
快捷版短信网关平台只包含网关程序,不包含数据库,适用于您已经安装了数据库或者希望自己安装数据库的情况。
平台支持的数据库包括Oracle, Microsoft SQL Server2000/2005/2008, My SQL, Sybase等。
安装后,在安装目录下的SQL目录下有创建数据库需要的建库脚本 ,您可以手工创建,也可以使用我们提供的数据库安装向导来创建。
快捷版的平台安装程序大小约为16MB.
豪华版除包括标准版的所有功能外,还包括数据库报表模块,数据库配置向导,和日志服务器,综合测试模拟器等附加功能。
下面是各版本的功能对比。
|
ESMG |
快捷版 |
标准版 |
豪华版 |
|
CMPP网关服务 |
● |
● |
● |
|
SGIP网关服务 |
● |
● |
● |
|
CNGP网关服务 |
● |
● |
● |
|
SMGP网关服务 |
● |
● |
● |
|
协议和培训文档 |
|
● |
● |
|
Microsoft SQL Server 2005 Express Edition SP2 |
|
● |
● |
|
Microsoft SQL Server Management Studio Express |
|
● |
● |
|
.NET Framework 2.0 |
|
● |
● |
|
数据库报表模块 |
|
|
● |
|
数据库配置向导 |
|
|
● |
|
数据库安装脚本 |
● |
● |
● |
|
自动安装数据库 |
|
● |
● |
|
网关服务管理台 |
● |
● |
● |
|
平台日志服务器 |
|
|
● |
|
综合测试模拟器 |
|
|
● |
有关SQL Server 2005 Express Edition和其他版本的功能对比,请访问这个页面:
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx。
如何卸载SQL Server 2005请访问这个页面:
http://support.microsoft.com/?scid=kb%3Bzh-cn%3B909967&x=12&y=13。
下面以ESMG标准版为例来演示一下安装过程,操作系统是Windows 2003 Server中文版 SP2。有关如何安装风起水流四网合一短信网关平台,我们制作了一个视频教学,大家可以通过http://www.zealware.com/movies来查看。
标准版的安装过程:
l 准备工作
1.安装.NET FrameWork 2.0
2.安装Microsoft SQL Server 2005 Express Edition SP2
3.安装MSXML 6.0 SP1
4.安装Microsoft SQL Server Management Studio Express.
l 网关平台安装
双击”setup.exe”,安装过程开始。
首先是安装Microsoft SQL Server 2005 Express Edition SP2和Microsoft SQL Server Management Studio Express。选择“insall”。

如果系统中没有安装.Microsoft NET 2.0 Framework的话,安装程序会提示进行.NET Framework的安装,选择“是”。

安装程序安装.NET Framework和SQLSERVER Express数据库时,采用静默安装方式,不需要用户进行干预。安装程序将会依次安装.net framework,SQL Server Expree, SQL Server Management Studio,全部安装的话,总时间大约需要15分钟。

.NET Framework安装过程

SQL Server 安装过程

SQL Server Management安装过程

安装程序的欢迎屏幕

阅读软件许可协议

输入用户信息

选择安装类型

选择安装文件夹

选择要安装的组件

确认设置

安装完成

安装完成后可以从“开始”菜单打开程序
Ø 在Microsoft SQLServer 2005下安装数据库
下面以英文版的Sql Server 2005为例,安装ESMG数据库。
第一步,打开Sql Server 2005。
从”开始”菜单中,选择“所有程序”,选择“Microsoft SQL Server 2005”, 选择“SQL Server Management Studio”打开SQLServer的管理台。

图2-1 Microsoft Sql Server 2005 管理控制台
第二步,打开建库脚本。
选择菜单栏中的“File”->”Open”->”File”,在弹出对话框中选择E-SMG的建库脚本,打开建库脚本。

图2-2 打开建库脚本
这里选择的是“create_sms_sqlserver.sql”。

图2-3 选择脚本文件
第三步,执行脚本,创建数据库。
打开脚本文件以后,点击工具栏上的“Execute”执行脚本文件。
可以根据需要修改脚本文件中的配置,如数据库文件存放的位置(图中红色边框框住的位置)。

图2-4 执行脚本
执行成功后,选择菜单“View”中的“Refresh”刷新,将会在左边树视图中看到新创建的数据库SMS。
Ø 在Sql Server 2000下安装E-SMG数据库。
即将推出
Ø 在Oracle 下安装E-SMG数据库。
打开SQLPLUS,或者打开PL/SQL Developer,登录ORACEL,执行文件“SMS_ORACLE.SQL”。
SMS_ORACLE.sql是ORACLE的建库脚本。
E-SMG目前由以下四个服务组成cmppsvc, sgipsvc, smgpsvc, cngpsvc。分别对应的是移动,联通,电信,和网通的短信网关服务。各个服务可以单独运行,也可以同时运行。
各个服务程序的配置可以保存在注册表中,也可以在与服务程序同目录的与可执行文件同名的配置文件中,配置项是在配置过程中由服务自动生成的,一般是在服务启动后,通过登录WEB进行配置,不需要手动修改。
各个服务配置在Windows注册表中的位置分别是:
|
服务名称 |
注册表位置 |
|
CMPPSVC |
HKEY_LOCAL_MACHINE\SOFTWARE\zealware\cmppsvc\CurrentVersion\Parameters |
|
SGIPSVC |
HKEY_LOCAL_MACHINE\SOFTWARE\zealware\sgipsvc\CurrentVersion\Parameters |
|
SMGPSVC |
HKEY_LOCAL_MACHINE\SOFTWARE\zealware\smgpsvc\CurrentVersion\Parameters |
|
CNGPSVC |
HKEY_LOCAL_MACHINE\SOFTWARE\zealware\cngpsvc\CurrentVersion\Parameters |
E-SMG是一组支持通过web页面进行管理的HTTP服务程序,通过登录web控制台,可以进行参数配置,服务启动,停止,和重启操作。各个服务的HTTP默认监听端口如下表所示(可以修改):
|
服务名称 |
HTTP管理端口 |
网关默认端口 |
|
CMPPSVC |
8900 |
7890 |
|
SGIPSVC |
8910 |
8801 |
|
CNGPSVC |
8920 |
9890 |
|
SMGPSVC |
8930 |
8890 |
安装并成功启动服务程序后,就可以通过web方式对其进行配置。如何安装和启动服务程序参考下面的安装服务,和启动服务。参数配置将在启动服务一节中叙述。
服务程序命令的语法如下:
usage: 服务名 [ Tray | NoTray | Version | Install | Remove | Start | Stop | Pause | Resume | Deinstall | NoWin ]
Tray
系统启动时,在系统托盘区显示程序图标
NoTray
系统启动时,在系统托盘区不显示程序图标
Version
显示版本和服务器信息
Install
安装服务
Remove
删除服务
Start
启动服务
Stop
停止服务
Pause
暂停服务
Resume
恢复服务
Deinstall
卸载服务(相关配置也一块删除)
NoWin
不显示程序窗口
Debug
以窗口模式运行服务
<some_path>/cmppsvc.exe install
安装cmppsvc服务
<some_path>/sgipsvc.exe start
启动sgipsvc服务
<some_path>/smgpsvc.exe debug
以调试方式(窗口)启动smgpsvc服务
<some_path>/cngpsvc.exe remove
删除cngpsvc服务
安装服务使用Install参数,服务程序被安装后,启动类型为”自动”(Automatic)。


启动E-SMG服务,使用“start”参数运行服务程序,或者通过WINDOWS的“管理工具”->“服务”,打开管理控制台启动服务。

服务启动后,可以对服务进行参数设置,打开网络浏览器,在地址栏中输入web配置的地址,如:http://localhost:8900,回车。出现以下页面,

点击“System Parameters”,在弹出的用户名密码输入框中输入默认用户名:admin,口令:zealware,进入参数配置页面(用户名和口令可以在参数配置里面修改)。





停止E-SMG服务,使用“stop”参数运行服务程序;或者通过“管理工具”->“服务”来停止服务。

卸载E-SMG服务,使“Deinstall”参数运行用服务程序。
注意:使用deinstall卸载服务以后,相应的在注册表中的配置内容全部丢失,因此卸载前注意做好配置备份。
移除E-SMG服务,使用“Remove”参数运行服务程序。与使用Deinstall参数不同的是,使用Remove移除服务后,服务从系统中卸载,但是服务的相应配置不会丢失,仍然保留。
使用debug参数,可以使服务程序以调试(窗口)状态运行,可以直观地观察程序运行情况。

Output to… 可以输出程序信息到特定的文件
Output to window 输出程序信息到窗口
Control 打开WEB管理控制台
Hide 隐藏窗口
Version 显示程序版本和系统信息
Install | Remove | Deinstall | Start | Stop | Pause | resume
参见“命令语法”一节。
设置输出信息的级别,E-SMG的程序信息默认记录为系统事件,可以通过WINDOWS的“事件查看器”在“应用程序“一类中查看。


程序输出信息分为以下级别:
|
信息级别 |
描述 |
|
Fatal error |
致命错误 |
|
Error |
错误 |
|
Warning |
警告 |
|
Information |
通知 |
|
Debug |
调试信息(一级) |
|
Debug2 |
调试信息(二级) |
|
Debug3 |
调试信息(三级) |
E-SMG中的四个服务程序配置项大同小异,下面的配置项如果没有特别说明则适用于所有的服务程序,只适用于某个特定程序的配置项会特别声明。
适用于E-SMG的所有服务程序。
默认值:admin
登录WEB管理台的用户名
默认值:zealware
登录WEB管理台的口令(加密存储)
默认值:各个服务程序默认端口不同,参见《服务端口》一节
WEB管理台监听端口
默认值:3
日志输出级别。
1 – Fatal only
2 – Errors
3 – Warning
4 – Info
5 – Debug
默认值:N/A
采用SSL加密连接时的证书文件
默认值:0.0.0.0
描述:要连接的网关的IP地址。
此参数需要运营商提供。
默认值:0.0.0.0
描述:SP服务器的本地地址。
默认值:N/A
描述:SP本地端口。
注意:在SGIPSVC中,SP LocalAddress和SP LocalPort表示本地监听地址和端口,用于SMG连接,接收mo消息;在CMPPSVC, SMGPSVC, 和CNGPSVC中,表示连接网关时使用的本地地址和端口,主要用在当服务器配置了多个地址时有用,否则可以不做设置,服务程序会取默认值。
默认值:N/A
描述:企业代码
运营商分配给SP的企业代码。CMPP协议中对企业代码有如下描述:网络中SP地址和身份的标识、地址翻译、计费、结算等均以企业代码为依据。企业代码以数字表示,共6位,从“9XY000”至“9XY999”,其中“XY”为各移动公司代码。SGIP中企业代码,长度5,取值范围0-99999.SMGP中没有企业代码参数的话就填用户名。
此参数需要运营商提供。
|
协议 |
长度 |
描述 |
|
CMPP |
6 |
企业代码以数字表示,共6位,从“9XY000”至“9XY999” |
|
SGIP |
5 |
取值范围0-99999. |
|
SMGP |
8 |
信息内容的来源 |
|
CNGP |
10 |
SMGW设置的SP接入标识 |
默认值:N/A
描述:接入号
运营商分配给SP的接入号,就是特服号码。如:9999, 1700等,就是要显示在用户手机上的号码。
默认值:32
描述:要连接的网关的版本号.
整数型,如2.0网关,这里填0x20=32;3.0网关,这里填0x30=48。
注意:sgip中无此配置项
默认值:N/A
描述:用户名
网关分配给SP的登录用户名,一般与企业代码相同,有些网关分配的企业代码和登录名不同,因此作了单独配置。
此参数需要运营商提供。
默认值:N/A
描述:网关口令
网关分配给SP的登录口令,此参数需要运营商提供。
注意:在系统中服务程序对此参数进行加密存储,只能通过WEB管理台进行更改。
默认值:各个网关的默认端口不同,参见《服务端口》一节
描述:要连接网关的上行消息(MO)端口,即接收端口。
此项配置只在连接上下行端口分开的短消息网关时有效,如清华深讯提供的CMPP短消息网关,和部分亚信网关;以及网通和电信的支持收发分开的短信网关。此参数需要运营商提供。
注意:sgip中无此配置。
在接入网通和电信短信网关时,无特殊需要一般不要使用单独的接收连接(MOConnections),或者发送连接(MTConnection),即收发分开的方式,建议都使用收发连接(MOAndMTConnection)。
默认值:各个网关的默认端口不同,参见《服务端口》一节
具体描述参见moport.
默认值:各个网关的默认端口不同,参见《服务端口》一节
描述:要连接网关的上下行消息(MT&MT)端口。
此项配置只在连接上下行消息使用同一个端口的短消息网关时有效,如东软,华为,思特奇等厂商提供的网关。此参数需要运营商提供。
在CMPP中,东软网关一般提供两种接入方式,标准CMPP和CMPPE,其中CMPPE是东软对CMPP的扩展。因此,东软网关一般提供两个接入端口,分别支持CMPP和CMPPE,E-SMG只支持标准CMPP协议,因此在接入东软网关时,要连接东软网关的标准CMPP接口。
默认值:0
描述:要建立的MT连接数。
MT连接是SP与网关之间建立的用来发送下行消息的TCP连接,运营商一般对允许建立的最大MO,MT连接数有限制,同样在每个MT连接上允许的每秒钟发送的消息条数也是有限制的,具体最大连接数,每个连接的流量,和SP的最大流量(即所有连接的每秒种允许的最大下发数)都需要向运营商咨询。此参数只对MO,MT收发分开的的接入网关有效,如清华深讯和亚信网关,网通和电信的网关。
默认值:0
描述:要建立的MO连接数。
MO连接是SP与网关之间建立的用来接收上行消息的TCP连接,运营商一般对允许建立的最大MO,MT连接数有限制,具体的最大MO连接数需要向运营商咨询。此参数只对MO,MT收发分开的的接入网关有效,如清华深讯和亚信网关,网通和电信的网关。
默认值:0
描述:要建立的收发连接数。
收发连接是SP与网关之间建立的,既可以发送MT消息,也可以接收MO消息的TCP连接。运营商一般对允许建立的最大连接数有限制,具体的最大连接数需要向运营商咨询。
默认值:mssqlserver
描述:数据库类型。
目前支持Microsoft Sql Server和ORACLE数据库,如果使用SQLServer数据库,该字段填”mssqlserver”;如果使用ORACLE数据库,该字段填“oracle”。
l datasource=LOCALHOST\SQLSERVER_ESMG
默认值:LOCALHOST\SQLSERVER_ESMG
描述:数据源名称。
如果是数据库类型配置的是ORACLE数据库,这里是ORACLE的服务名,如:datasource=SMS_192.168.0.1;如果是SQLServer数据库,这里是服务器地址和端口号,如:datasource=192.168.0.1,1433;或者是服务器名+数据库示例名,默认安装的SQL Server 2005 Express的默认实例名为SQLSERVER_ESMG.
默认值:sms
描述:数据库名。
该配置仅适用于使用SQLServer数据库的情况,使用Oracle数据库可以忽略此项配置。
默认值:sa
描述:数据库登录用户名
默认值:PASSWORDOFESMG
描述:数据库登录口令。
注意是大写。
在标准版安装的SQL Server 2005 Express中,默认的sa用户的口令为PASSWORDOFESMG
注意:在系统中服务程序对此参数进行加密存储,只能通过WEB管理台进行更改。
l sqlquery_mt=SELECT top 10 * FROM MTQUEUE WHERE issendflag = 0 ORDER BY RECID
默认值:select top 10 * from PROTOCOL_mtqueue where issendflag = 0 order by recid
描述:下行消息查询语句。
服务程序定时轮询数据库的下行消息表,使用该条Select SQL语句,从结果中读取数据进行发送。轮询时间间隔也在配置项里面设定(mttimer)。例如上面的语句是适用于Oracle数据库的一条查询语句,Issendflag是MTQUEUE表中的一个字段,值等于0表示该消息是待发数据;ROWNUM<10表示一次最多只取10条数据,RECID是数据库记录的ID号。
如果使用oracle数据库,该条语句可能类似于下面:
sqlquery_mt=SELECT * FROM MTQUEUE WHERE issendflag = 0 AND ROWNUM < 10 ORDER BY RECID
l proc_updatemt=UPDATE_MTQUEUE_carrier
默认值:N/A
描述:更新MT记录状态的存储过程名。
Carrier代表协议名称,如CMPP, SGIP, SMGP, CNGP等。
例如:CMPPSVC中,此配置项等于UPDATE_MTQUEUE_CMPP;SGIPSVC中,此配置项等于UPDATE_MTQUEUE_SGIP.
注意:用户可以使用自己编写的存储过程代替系统内置的处理过程,满足个性化的需求。它和后面的proc_deletemt, proc_insertmo, project_updatemtlog都属于高级配置,一般用户不需要做修改。
l proc_deletemt=DELETE_MTQUEUE_carrier
默认值:N/A
描述:更新网关回复的存储过程名。
l proc_insertmo=INSERT_MODELIVER_carrier
默认值:N/A
描述:插入Deliver消息的存储过程名。
l proc_updatemtlog=update_mtqueuelog_carrier
默认值:N/A
描述:更新状态报告的存储过程名。
默认值:25
描述:网络超时时间
TCP网络超时时间,也是发活动测试包的时间间隔,单位秒(s)。
默认值:1000
描述:发送时间间隔
轮询数据库发送表时间间隔,单位毫秒(ms)。
默认值:8
描述:工作线程数
使用完成端口实现的线程池工作线程数。工作线程是用来执行例如短信的收发,SUBMIT、DELIVER、ACTIVETEST等消息的业务处理,数据库操作等任务的线程数,所有任务共享工作线程池。
默认值:5
描述:数据库重连次数
服务程序初次启动时,重连数据库次数(主要考虑服务程序和数据库程序在一台服务器上时,当服务重启时,有可能是服务程序在数据库服务启动前启动)。
默认值:1
描述:是否自动调节系统负载
服务能够根据根据设定的工作线程数和系统负载,自动增加或者减少线程,但是当发送速度太快,而数据库等响应过慢时,会造成大量消息堵塞在服务中,无法及时得到处理,会造成内存和CPU资源占用过大,系统越来越慢.通过设置AutoAdjustSystemLoad,服务能够根据系统负载,自动调节发送速度,使系统一直处于高效稳定状态,不致使系统过载.
默认值:0
描述:是否是亚信网关(0-不是,1-是)。
由于亚信网关的特殊性,CMPP_CONNECT包的字段定义与标准协议稍有不同,因此在接入亚信网关时要特别设定该参数为1。
注意:该配置项仅在CMPPSVC中存在。
默认值:8801
远程网关端口
l SMG LoginName=<smg_username>
默认值:N/A
Smg登录SP使用的用户名
默认值:N/A
Smg登录SP使用的口令
注意:在需要对SMG进行鉴权时,配置SMG的用户名和口令,如果不配置,系统则不会对SMG登录的用户名口令进行鉴权。
默认值:16
允许的SMG建立的到SP的最大连接数
默认值:N/A
SP的节点编号,生成规则:3+四位区号+企业代码.
注意:区号不足四位的,要左对齐补足四位,如北京010->0100.
默认值:1
要建立的SP到SMG的连接数.
详情请参阅《E-SMG数据库详细文档》
系统日志存放在系统事件查看器中。


即将推出
MO
MT
SPID
ICPID
SMG
SMSC
SMS
CP
SP
ME
|
错误码 |
描述 |
|
1 |
消息结构错 |
|
2 |
命令字错误 |
|
3 |
消息序列号重复 |
|
4 |
消息长度错 |
|
5 |
资费代码错 |
|
6 |
超过最大信息长 |
|
7 |
业务代码错 |
|
8 |
流量控制错 |
|
9 |
本网关不负责此计费号码 |
|
10 |
Src_ID错 |
|
11 |
Msg_src错 |
|
12 |
计费地址错 |
|
13 |
目的地址错 |
|
14~49 |
扩展 |
|
51 |
尚未建立连接 |
|
52 |
尚未成功登录 |
|
53 |
发送消息失败 |
|
54 |
超时未接收到响应消息 |
|
55 |
等待状态报告超时 |
|
60 |
保留 |
|
61 |
有效时间已经过期 |
|
62 |
定时发送时间已经过期 |
|
63 |
不能识别的FeeType |
|
64 |
发送服务源地址鉴权失败 |
|
65 |
发送服务目的地址鉴权失败 |
|
66 |
接收服务源地址鉴权失败 |
|
67 |
接收服务目的地址鉴权失败 |
|
68 |
用户鉴权失败 |
|
69 |
此用户为黑名单用户 |
|
70 |
网络断连或目的设备关闭接口 |
|
71 |
超过最大节点数 |
|
72 |
找不到路由 |
|
73 |
等待应答超时 |
|
74 |
送SCP失败 |
|
75 |
送SCP鉴权等待应答超时 |
|
76 |
信息安全鉴权失败 |
|
77 |
超过最大Submit提交数 |
|
78 |
SPID为空 |
|
79 |
业务类型为空 |
|
80 |
CPCode错误 |
|
81 |
发送接收接口重复 |
|
82 |
循环路由 |
|
83 |
超过接收侧短消息MTU |
|
84 |
送DSMP重发失败 |
|
85 |
DSMP系统忙重发 |
|
86 |
DSMP系统忙,且缓存满重发 |
|
87 |
DSMP流控重发 |
|
88 |
等DSMP应答超时重发 |
|
100 |
信息格式错,一般指GB转Unicode失败 |
|
101 |
计费类型(Fee_Type)错误 |
|
102 |
有效时间(Valid_Time)错误 |
|
103 |
At_Time错误 |
|
106 |
Msg_Src错误 |
|
110 |
用户类型(User_Type)错误 |
|
111 |
队列满错误,包括保存本地MT和前转MT失败 |
|
113 |
送SCP失败 |
|
116 |
SP业务代码或资费检查失败 |
|
118 |
用户鉴权失败,用户状态为开机 |
|
119 |
用户鉴权失败,用户状态为单向停机 |
|
120 |
用户鉴权失败,用户状态为停机 |
|
121 |
用户鉴权失败,用户状态为预消号 |
|
122 |
用户鉴权失败,用户状态为消号 |
|
123 |
用户鉴权失败,用户状态为过户 |
|
124 |
用户鉴权失败,用户状态为改号 |
|
201~240 |
SCP错误码 |
|
202 |
非神州行预付费用户 |
|
203 |
数据库操作失败 |
|
206 |
移动用户帐户数据异常 |
|
208 |
用户余额不足 |
|
210 |
超过最高欠费额 |
|
215 |
重复发送消息序列号msgid相同的计费请求消息 |
|
218 |
SCP互联失败 |
|
222 |
未登记的SP |
|
232 |
月消费超额 |
|
241~255 |
SMC错误码(其中250~255为康为短消息中心错误应答映射,根据smpp3.4协议) |
|
241 |
未定义 |
|
250 |
消息队列满 |
|
300 |
暂还没有设置定义255号以上错误的,建议SP查一下是否存在 |
|
CB:0001 |
非神州行预付费用户 |
|
CB:0005 |
PPS用户状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失) |
|
CB:0007 |
用户余额不足 |
|
CA:0054 |
发送消息失败 |
|
CB:0001 |
非神州行预付费用户(用户已经被销号) |
|
CB:0002 |
数据库操作失败 |
|
CB:0053 |
梦网用户不存在 |
|
CB:0005 |
移动用户帐户数据异常 |
|
CB:0007 |
用户余额不足 |
|
DELIVRD |
消息发送成功 |
|
EXPIRED |
表示因为用户长时间关机或者不在服务区等导致的短信息超时没有递交到用户手机上 |
|
REJECTD |
消息因为某些原因被拒绝 |
|
UNDELIV |
表示全球通用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务 |
|
MC:xxxx |
系统未从短信中心接收到状态报告 |
|
MC:xxxx |
没有从SMSC处接收到状态报告时的状态报告 |
|
MI:xxxx |
同“EXPIRED” |
|
MN:xxxx |
同“REJECTD” |
|
MB:0066 |
短信中心回的,超作最大发送次数,可能是手机满了。 |
|
MK:0015 |
可能是手机满了。 |
|
MK:xxxx |
同“UNDELIV” |
|
DA:0054 |
出现这个问题是由于网关发送鉴权批价请求到MISC时,MISC不给响应或者网关和MISC连接阻塞引起; |
|
DB:0100 |
手机号码不存在 |
|
DB:0101 |
手机号码错误 |
|
DB:0102 |
用户停机.用户冲值后,要主动上行一条信息到SP,才能激活用户的短信接收服务 |
|
DB:0103 |
用户欠费 |
|
DB:0104 |
用户没有使用该业务的权限 |
|
DB:0105 |
业务代码错误 |
|
DB:0106 |
服务代码错误 |
|
DB:0107 |
业务不存在 |
|
DB:0108 |
该业务暂停服务 |
|
DB:0109 |
该服务种类不存在 |
|
DB:0110 |
该服务种类尚未开通 |
|
DB:0111 |
该业务尚未开通 |
|
DB:0112 |
SP代码错误 |
|
DB:0113 |
SP不存在 |
|
DB:0114 |
SP暂停服务 |
|
DB:0115 |
用户没有定购该业务 |
|
DB:0116 |
用户暂停定购该业务 |
|
DB:0117 |
该业务不能对该用户开放 |
|
DB:0118 |
用户已经订购了该业务 |
|
DB:0119 |
用户不能取消该业务 |
|
DB:0120 |
话单格式错误 |
|
DB:0121 |
没有该类业务 |
|
DB:0122 |
接收异常 |
|
DB:0123 |
业务价格为负 |
|
DB:0124 |
业务价格格式错误 |
|
DB:0125 |
业务价格超出范围 |
|
DB:0126 |
该用户不是神州行用户 |
|
DB:0127 |
该用户没有足够的余额 |
|
DB:0128 |
补款,冲正失败 |
|
DB:0129 |
用户已经是梦网用户 |
|
DB:0130 |
用户在BOSS中没有相关用户数据 |
|
DB:0131 |
BOSS系统数据同步出错 |
|
DB:0132 |
相关信息不存在 |
|
DB:0133 |
用户数据同步出错 |
|
DB:0134 |
SP数据同步出错 |
|
DB:0135 |
业务数据同步出错 |
|
DB:0136 |
用户密码错误 |
|
DB:0137 |
伪码信息错误 |
|
DB:0138 |
用户相关信息不存在 |
|
DB:0140 |
用户未点播该业务 |
|
DB:9001 |
网络异常 |
|
DB:9007 |
业务网关超过限制的流量 |
具体描述如下:
0 : 成功
1 : 未知错误
2-99:保留
4000-4999为DSMP与SP之间的接口消息中的错误代码:
4000: 无效的msgtype
4001: 无效的action_id;
4002: 无效的action_reasonid;
4003: 无效的SP ID
4004: 无效的serviceID
4005: 无效的pseudocode
4006: 无效的accessmode
4007: MISC同步开通服务,但SP端已存在订购关系,且状态为开通
4008: MISC同步开通服务,且SP端不存在订购关系,但开通服务失败
4009: MISC同步开通服务,但SP端已存在订购关系, 且状态为暂停
4010: MISC同步停止服务, 且SP端存在订购关系, 但取消服务失败
4011: MISC同步停止服务, 但SP端不存在订购关系
4012: MISC同步暂停服务, 且SP端存在订购关系, 但暂停服务失败
4013: MISC同步暂停服务, 但SP端不存在订购关系
4014: MISC同步暂停服务, 但SP端已存在订购关系, 且状态为暂停
4015: MISC同步激活服务, 但SP端已存在订购关系, 且状态为开通
4016: MISC同步激活服务, 但SP端不存在订购关系
4017: MISC同步激活服务, 且SP端存在订购关系, 但激活服务失败
9000-9999为系统级错误:
9000: 系统磁盘读写错误
9001: 网络异常
9002: 网络错误
9003: 业务网关忙,业务网关缓存
9004: 业务网关忙,并且业务网关缓冲区满,DSMP缓存,并暂时不要发送消息,等待一段时间重试。
9005: DSMP忙,DSMP缓存
9006: DSMP忙,并且DSMP缓冲区满,业务网关缓存,并暂时不要发送消息,等待一段时间重试。
9007: 业务网关超过限制的流量
9008: DSMP异常,并不可用
9009: 业务网关异常,并不可用
9010: 该业务网关没有权限调用该接口消息
9011: DSMP没有权限发送该接口消息给业务网关
9012: 版本不支持
9013: 消息类型不对,系统不支持
9014: 验证错误,无法解析SOAP和XML结构、缺少必须存在的字段,或者消息格式不正确
9015: 拒绝消息,服务器无法完成请求的服务
参见联通《集中网关错误码列表(SP部分).doc》文档和《SP测试注意事项以及错误代码表.DOC》文档。
|
错误码 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
错误码 |
描述 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
即将推出
1) 移动网关直接返回200号错误是什么意思?
由于今天下午到神州行鉴权响应回复比较慢(20和30网关共用一套scp鉴权系统和后台系统),引起了smsAgent队列有些积压,当某些SP刚好下发的消息经过这个smsAgent进行下发时,会出现较大的延时,或是200错误:发送MT到smsAgent失败。
>>MI:0000
1721
表示因为用户长时间关机或者不在服务区等导致的短信息超时没有递交到用户手机上
>>CB:0001 1065
非神州行预付费用户
>>CB:0053 855
神州行帐户销号停机等
>>CB:0005 557
PPS用户状态异常(包括未头次使用、储值卡被封锁、储值卡进入保留期、储值卡挂失)
>>CB:0007 405
用户余额不足
>>MK:0000 161
表示全球通用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务
>>MC:0015 112
系统未从短信中心接收到状态报告
系统的Provision接口会收到多个退定Provision动作。
MISC系统对XML文件有比较严格的显示。
1) 请将XML文件中无关的\r\n\t等字符全部去掉。
2) 请不要使用<...>表示空,而要使用<..../>表示空。
好像消除不了多余的空行。 JSP/ASP都会产生多余的空行,一般是由开头部分的声明引起的。
ASP可以使用Response.Write顶头写来解决这个问题。
<%Response.Write(".......
JSP可能要使用Servlet作为替代,否则由于开头的<@page声明,将总是两行。
是的,第一次是正常测试,然后全部退订再测试一遍。
6) 刚才我们试了,发00000后,它没提示取消的是哪个业务?是不是一交全部取消了?
是的,全部取消。
出现这个问题是由于网关发送鉴权批价请求到MISC时,MISC不给响应或者网关和MISC连接阻塞引起;
处理办法:
请联系移动网关人员解决;
8) 定购业务的那条短信提醒是MISC直接发的吧,我们的流程里面不需要另外加了吧?
应该如此。
SendAddess表示是SP这方。
Type应该是400
ID应该是SP的企业代码。
DestAddress表示是MISC这方。
Type应该是0
ID应该是MISC的号码。这个可以通过对方的同步信息里面的ID来确定。
首次定购的时候,定购的MO会流转成PROV的同步,所以首次定购不会有MO上行到SP的短信网关
一般是3-5分钟。具体可以通过测试来检查。
1. 首先要检查service_id是否为帮助类别。
2. 检查费率是否为免费模式。
3. 不要携带link_id。只有点播才使用link_id。
4. 检查下发号码是否为测试手机号码。
5. 检查网关是否应答,应答是否有错误。
6. 设置报告标志,看看具体的原因。
7. 检查企业代码是否为正确的测试代码。
8. 检查下行src_id是否正确。
9. 如果以上都没有问题,则需要寻求卓望工程师的协助。
全量就是指在割接前,SP所有的用户业务定购列表。
增量就是从全量业务提交开始到正式割接之前的用户业务增加记录。
15) 请问一下,定制的业务短信提醒如果有几条的话怎么办呢?我们这边还可以加别的定制流程和提醒吗?
对于定制业务,下行的MT是有一个上限的,其上限值在业务申请中可以体现 。
1:用户发起行为;2:Admin & 1860发起行为;3:Boss停机;4:Boss开机;5:Boss过户;6:Boss销号;7:Boss改号;8:扣费失败导致的服务取消;9:其他。
1 > 定购
2 > 退定
3 > 激活
4 > 暂停
link_id仅在点播的时候有用。包括手机点播,或者SSo点播。
手机点播的时候。MO里面有一个link_id,下发的时候一定要带上。
点播业务要注意MT的信息的Service_id,Link_id要与上行MO的保持一致。
另外,费率要填写正确了。否则可能会导致下发失败。
20) SOAP业务管理>>短信业务管理>>业务详情>>业务处理地址怎么改阿,我怎么都改不了
先在短信合作申请里面点接受,然后再业务详情里面最下面点修改。
21) 中午要交现网业务测试表,那里面是填写正式服务代码呢还是测试服务代码?
测试的。
文件名格式:qdz+SP特符号+时间.txt,例如qdz335520041020.txt 内容格式要求:手机号码 + “,” + 业务代码 + “,” + 定购时间
比如:
13912345678,XWDB,2003-02-03 12:30:20
13987654321,TPLS,2004-01-30 18:23:04
1. 检查Provision申报的业务处理地址和实际的程序处理地址是否完全一致。
2. 检查处理程序所在的服务器是否有Firewall限制。
3. 检查手机是否为测试注册手机,非本地测试手机是无法进行测试的。
4. 检查手机的操作指令是否正确。
5. 检查日志文件,看看是否有accepted
socket记录。以及IP地址。
6. 检查自己的程序是否有问题。
MT为乱码一般要检查如下问题:
1. 数据库编码和发送程序之间是否存在转码问题。
2. Submit数据包的msg_fmt或data_coding是否设置错误。
3. tp_pid和tp_udhi必须是0。特别是tp_udhi,很多手机会解析这个数据,导致解析错误。
必须是本地全球通的SIM卡,千万不要用神州行的进行测试。否则将出现无法上行等奇怪现象。
25) 提交全量定购关系,是只发注册用户的,还是以前退订的也发?
全量定购只需要还处于定购状态的用户资料。
服务代码,手机号,业务代码,时间
如:1234,13800000001,-XWDZ,2004-10-12
08:30:20
27) 时间字段是:2004-11-12 12:22:12.234 有效吗?
无效
在数据业务中心登记后,湖北MISC可以在每月10,20号主动将加密(解密密码为登陆密码)的定购关系清单FTP上载登记FTP服务器,并通过邮箱通知到达.
登记内容包括:企业代码,ftp服务器地址,端口号,登陆用户名,登陆密码,邮箱地址。
如果有SSO业务,把SSO业务测试做完。
接着做“导入成功率”测试。
1. 注意Link_ID要带到Submit包里面。
2. 注意计费方式要使用第三方付费方式。
是的,如果你向两个手机发送,就有两个link_id,你要拆开一个个发送。
一种是你们的定购数据没做进去,定购失败。另外一种是格式错误引起的。 建议下载DSMP常见错误表来核对Provision操作中的各种错误。
对于反向取消SP端请求地址需要对应的MISC做相关关联登记,如未登记,也会有122错误应答或者9017错误应答.
33) 如果发00000,misc会送几条短信到我们系统,tranctionid是否一致
有变化。
34) 各位我想问一下,填写的短信提醒格式里面的企业ID和服务代码是填公司正式的还填这次分配的测试的号码啊
填正式的。
35) 反向退定的时候,同一个手机会出现不同的情况,115错误,122错误,110错误等等,有时候又能成功,怎么回事情啊!
115可能是一个手机号反复取消造成的,第一次取消成功后,如不再次订购,第二次重复取消就会有115错,122,110造成原因很多,得具体查,不过多半是反向取消包的格式有问题
业务代码区分大小写。
37) 定制成功,但是我们(03414)给用户下发的业务短信回来的状态报告为:[REJECTD]
1. 检查service_id的大小写,以及费率是否正确。
2. link_id千万不要带。不要填写任何数值。
是的。
39) 现在MISC发包月话单是不是还按原来的处理方式。如当月内超过72小时发话单,当月内二次定制发话单
对,还是这样!
40) 假如我们有个点播类按条收费的业务叫姓名玄机!费用是1元/条!用户发姓名上来之后,我们会下行5条,这个是MISC收一元钱,还是收5元钱?
1块!
须注意,在首条下行时,需要将PK_TOTAL值与PK_NUMBER值一致,否则,这1块钱可能也收不到了.
41) 对于用户发送了错误的定制代码,但是我公司没有免费的下行通道,如何把提示信息发给用户啊?
申请一个空模糊匹配到根接入号的免费点播就行!申请这样一个免费点播业务,用户发送错误的指令就会匹配到这个业务上。或者使用手机发送,或者申请企业通道。
LinkID:20位字符串,该字段的值由MISC产生,编码格式为4位MISCID+12位时间+4位序列号。用于点播类业务中MT与MO消息的匹配。
比如有一个业务,是给你免费定制的。 但是定制后发一条信息给用户,就收用户0.1元。
单条合计最高收费不得高于包月申请的费用。
好像是没有link_id。
参见文档《中国联通联通在信业务SP业务接入FAQ.doc》
SMGW
向PSC发送计费请求时,因为发送失败、网络原因、PSC超时等原因造成的SMGW未接收到PSC应答消息,SMGW生成的状态报告中status字段的取值,其中XXXX为SMGW认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值见对XXXX的说明
XXXX的值(4位,不足4位前面补0) 含义
0051 尚未建立连接
0052 尚未成功登录
0053 发送消息失败
0054 超时未接收到应答消息
0100-0499 厂家自定义的错误码
其它 保留未用
SMGW向PSC发送计费请求时,接收到PSC的应答消息表明计费失败,SMGW生成的状态报告中的status字段的取值,其中YYYY为PSC返回给SMGW的错误码,其长度为4位,不足4位在前面补0,具体值参见对YYYY的说明
0001 非预付费用户
0002 数据库操作失败
0003 鉴权失败
0004 超过最大错误次数
0005 PHS用户帐户数据异常
0006 服务没有激活
0007 用户余额不足
0008 超过包月费用上限
0009 超过最高欠费额
0010 用户已注册该项服务
0011 用户没有注册该项服务
0014 未登记的SMGW
0015 SMGW登录摘要错误
0016 参数错误
0017 服务器端数据未传完
0018 重复发送消息序列号MsgID相同的计费请求消息
0020 未知错误
0021 数据库错误
0022 SP互联失败
0023 数值越界
0024 字段超长
0025 无相关数据
0026 数据重复
0040 未登记的SP
0041 SP帐户状态异常
0042 SP无权限
0043 SP帐户已存在
0044 未登记的SP业务类型
0045 SP业务类型数据异常
0046 SP业务类型已存在
0052 保留
0053 保留
0054 保留
0055 签约信息已存在
0056 签约信息不存在
0057 签约数据异常
0061 月消费超额
0062 单笔消费超额
0063 用户拒绝
0064 短消息编号已存在
0065 对应扣费请求不存在
0066 扣费请求已被确认
0067 未定义的计费类型
0068 未定义的编码方式
0100-0499 厂家自定义的错误码
其它 保留未用
SMGW 向SMSC发送短消息时,因为发送失败、网络原因、SMSC超时等原因造成的SMGW未接收到SMSC应答消息,SMGW生成的状态报告中的status 字段的取值,其中XXXX为SMGW认定的错误原因代码,其长度为4位,不足4位在前面补0,具体值参见对XXXX的说明
XXXX的值(4位,不足4位前面补0) 含义
0051 尚未建立连接
0052 尚未成功登录
0053 发送消息失败
0054 超时未接收到应答消息
0100-0499 厂家自定义的错误码
其它 保留未用
SMGW向SMSC发送短消息时,接收到SMSC的应答消息表明SMSC处理消息失败,SMGW生成的状态报告中的status字段的取值,其中ZZZZ为SMSC返回给SMGW的错误码,其长度为4位,不足4位在前面补0,具体值参见对ZZZZ的说明
ZZZZ的值(4位,不足4位前面补0) 含义
0X00000001 – 0X0000000F 保留给SMSC厂商定义错误
0X00000010 消息长度错误
0X00000011 命令长度错误
0X00000012 消息ID无效
0X00000013 没有执行此命令的权限
0X00000014 – 0X0000001F 保留
0X00000020 无效的SYSTEMID
0X00000021 无效的密码
0X00000022 无效的SYSTEMTYPE
0X00000023 – 0X0000003F 保留
0X00000040 地址错误
0X00000041 超过最大提交数
0X00000042 超过最大下发数
0X00000043 无效的用户
0X00000044 无效的数据格式
0X00000045 创建消息失败
0X00000046 无效的MsgID
0X00000047 数据库失败
0X00000048 取消消息失败
0X00000049 短消息状态错误
0X0000004A 替换消息失败
0X0000004B 替换消息源地址错误
0X0000004C – 0X0000005F 保留
0X00000060 保留
0X00000061 保留
0X00000062 源地址错误
0X00000063 保留
0X00000064 保留
0X00000065 目的地址错误
0X00000066 无效的定时时间
0X00000067 无效的超时时间
0X00000068 无效的IsReport
0X00000069 保留
0X0000006A 无效的PRI
0X0000006B 无效的NeedReport
0X0000006C 保留
0X0000006D – 0X0000007F 保留
0X00000080 指定用户已经存在
0X00000081 创建用户失败
0X00000082 用户ID错误
0X00000083 指定用户不存在
0X00000084 – 0X0000008F 保留
0X00000090 – 0X00000FFF 保留给SMSC厂商定义错误
其他 保留
1) 状态报告stat为CB:0005:表示PHS后付费用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务;
2) 状态报告stat为CB:0007:表示PHS预付费用户因为余额不足而导致用户无法享受服务;
3) 状态报告stat为EXPIRED:表示因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上;
4) 状态报告stat为UNDELIVERABLE:表示PHS后付费用户因为状态不正确如处于停机、挂起等状态而导致的用户无法享受服务。
状态值(字符串) 说明 对应状态
000 成功 DELIVRD
001 用户不能通信 EXPIRED
002 用户忙 EXPIRED
003 终端无此部件号 UNDELIV
004 非法用户 UNDELIV
005 用户在黑名单内 UNDELIV
006 系统错误 UNDELIV
007 用户内存满 EXPIRED
008 非信息终端 UNDELIV
009 数据错误 UNDELIV
010 数据丢失 UNDELIV
注:没有的错误类型一律用系统错误,即006
代码 含义
0 成功
1 系统忙
2 超过最大连接数
3-9 保留
10 消息结构错
11 命令字错
12 序列号重复
13-19 保留
20 IP地址错
21 认证错
22 版本太高
23 非法FeeUserType
24 非法SubType
25 NodesCount 超过阈值
26 非法MsgID
27-29 保留
30 非法消息类型(SMType)
31 非法优先级(Priority)
32 非法资费类型(FeeType)
33 非法资费代码(FeeCode)
34 非法短消息格式(MsgFormat)
35 非法时间格式
36 非法短消息长度(MsgLength)
37 有效期已过
38 非法查询类别(QueryType)
39 路由错误
40 帐户不存在
41 余额不足
42 帐户不可用
43 非预付费用户
44-127 保留
128-255 厂家自定义
SubType FeeType
FeeUserType FeeCode
点播下发 2 1 0 xx
订阅结果 3 1 2 0
取消订阅 0 1 1 0
包月扣款请求3/null 4 0 xx
订阅下发 3 2 0 0
(包月)
订阅下发 3 1 0 xx
(按条)
帮助信息 2 0 0 0