欢迎访问华乐美文网

联通短信网关

祝福短信2018-03-28 19:32书业网

篇一:联通SGIP网关返回的错误代码(ErrorCode)

SGIP网关返回的错误代码(ErrorCode)

错误码错误说明短信网关定义错误代码

0 无错误,命令正确短信网关定义错误代码

1 非法登陆,一般为用户名密码错误短信网关定义错误代码

2 重复登陆短信网关定义错误代码

3 连接过多,超过限制短信网关定义错误代码

4 登陆类型错误短信网关定义错误代码

5 参数格式错误短信网关定义错误代码

6 非法手机号码,一般指ChargeNumber和UserNumber的填写不规范短信网关定义错误代码 7 消息ID错短信网关定义错误代码

8 消息长度错误短信网关定义错误代码

9 非法序列号,指序列号重复,第一个序列号即源节点编码错误短信网关定义错误代码

32 系统失败(一般指系统消息队列满)短信网关定义错误代码

33 超过流量限制,指发送方在一秒内的流量已经达到限制,拒绝发送短信网关定义错误代码

34 登陆太频繁,指同一个SP或者SMG在一分钟内登陆次数已经达到限制,拒绝登陆短信网关定义错误代码

90 SGIP包长度错误(用于RESP应答)短信网关定义错误代码

21 目的地址不可达短信网关定义错误代码

22 路由错短信网关定义错误代码

23 路由不存在短信网关定义错误代码

24 计费号码无效短信网关定义错误代码

25 用户不能通信短信网关定义错误代码

26 手机内存不足短信网关定义错误代码

27 手机不支持短消息短信网关定义错误代码

28 手机接收短消息出现错误短信网关定义错误代码

29 不知道的用户短信网关定义错误代码

30 不提供此功能短信网关定义错误代码

31 非法设备短信网关定义错误代码

93 后付费用户鉴权失败短信网关定义错误代码

94 预付费用户扣费失败短信网关定义错误代码

201 业务代码未分配 SP业务管理系统定义错误代码

202 业务资费类型错误 SP业务管理系统定义错误代码

202 信息费错误 SP业务管理系统定义错误代码

203 LINKID不匹配 SP业务管理系统定义错误代码

204 用户未订购 SP业务管理系统定义错误代码

205 下发用户数不为1 SP业务管理系统定义错误代码

206 该包格式错误 SP业务管理系统定义错误代码

207 下发的MT超过最大条数 SP业务管理系统定义错误代码

208 第三方付费 SP业务管理系统定义错误代码

209 SP不能将MOFLAG填为3 SP业务管理系统定义错误代码

210 WEB点播命令字不存在 SP业务管理系统定义错误代码

211 订制关系成功建立,但通知由SP管理平台发送,SP的MT被拦截 SP业务管理系统定义错误代码 212 包月话单被拦截 SP业务管理系统定义错误代码

213 SPNUMBER未分或不合法 SP业务管理系统定义错误代码

214 停机用户 SP业务管理系统定义错误代码

215 离网用户 SP业务管理系统定义错误代码

216 计费号码错 SP业务管理系统定义错误代码

217 重复订购 SP业务管理系统定义错误代码

218 重复点播 SP业务管理系统定义错误代码

219 被禁止的SP SP业务管理系统定义错误代码

219 非法登录 SP业务管理系统定义错误代码

220 重复登录 SP业务管理系统定义错误代码

221 连接过多 SP业务管理系统定义错误代码

222 登录类型错 SP业务管理系统定义错误代码

223 参数格式错 SP业务管理系统定义错误代码

224 非法手机号码 SP业务管理系统定义错误代码

225 消息ID错 SP业务管理系统定义错误代码

226 信息长度错 SP业务管理系统定义错误代码

227 非法序列号 SP业务管理系统定义错误代码

228 SP节点编号错 SP业务管理系统定义错误代码

229 节点忙 SP业务管理系统定义错误代码

230 不提供此功能 SP业务管理系统定义错误代码

231 等待应答超时 SP业务管理系统定义错误代码

232 系统错 SP业务管理系统定义错误代码

233 将发NOTISP包,原流程需要终止 SP业务管理系统定义错误代码

234 将发NOTIUSER包,原流程需要终止 SP业务管理系统定义错误代码

235 鉴权中心处理超时 SP业务管理系统定义错误代码

236 超过最大重试次数 SP业务管理系统定义错误代码

237 白名单SP,直接返回鉴权成功 SP业务管理系统定义错误代码

238 手机短信到SPPORTAL定制且不需要确认,这时返回该错误同时发一个NOTITOSP SP业务管理系统定义错误代码

239 MO鉴权的时候LINKID异常 SP业务管理系统定义错误代码

240 用户确认的时候回复N,流程终止,MO不上发 SP业务管理系统定义错误代码

241 错误的包类型 SP业务管理系统定义错误代码

242 包长度错误 SP业务管理系统定义错误代码

243 MD5验证码错误 SP业务管理系统定义错误代码

5001 连接SP失败

5002 发送BIND到SP失败

5003 接收SP的BIND_RESP失败

5004 SP返回BIND_RESP登陆失败

5005 SP返回的BIND_RESP长度错误

5007 SP返回BIND_RESP超时

5011 发送MO,REPORT到SP失败

5012 接收MO,REPORT的RESPONSE失败

5014 SP返回的RESPONSE的CommandID不匹配

5015 与SP连接断开

5017 SP返回RESPONSE超时

5021 与SP的连接关闭

篇二:中国联通短信网关sgip 第三方 api(java)

标题/Title: SGIP API(JAVA) For SP

一. 目录

二. 概述

本文提供的API支持多个SP通过英斯克短信网关iDAP接入短信中心,向终端用户发送短消息。SP的应用程序需要遵循联通的SGIP1.1协议,调用iDAP的API实现短信发送和点播功能。作为ISMG厂商,英斯克提供接入的Java API,本文解释了API中JAVA API的用法。

三. API文件说明

提供给SP使用的API包名称为spApi.jar,它共包括以下类:

SGIP_Command.class,Seq.class,MsgHead.class,Bind.class BindResp.class,Unbind.class,UnbindResp.class Submit.class,SubmitResp.class,Deliver.class,DeliverResp.class,Report.class,ReportResp.class,在使用此API前,请正确地将包设置到CLASSPATH环境变量中。

1. 类SGIP_Command说明

1.1.1

构造函数

1)public SGIP_Command()

作用:

1.1.2

构造函数,创建一个空的SGIP_Command对象

方法

2)public SGIP_Command read(InputStream in)

接收任何来自网关的命令。 InputStream in 输入流

作用: 参数:

异常:IOException

3)public int getCommandID()

作用: 获得读取的命令的代码返回值: 命令代码

4)示例:(具体示例见后面的完整程序)

//接收sgip的消息

?

Socket so=null;

OutputStream out=null; InputStream input=null;

so=new Socket("192.168.0.30",8801);

out=new DataOutputStream(so.getOutputStream()); input = new DataInputStream(so.getInputStream());

SGIP_Command sgip=new SGIP_Command();//创建一个空的SGIP_Command对象 SGIP_Command tmp=null; ?

tmp=sgip.read(input);// 接收sgip的消息 ?

if(sgip.getCommandID()==SGIP_Command.ID_SGIP_BIND_RESP) {

resp=(BindResp)tmp;//强制转换resp.readbody();//解包

System.out.println(tmp.getSeqno_1());

System.out.println(tmp.getSeqno_2());System.out.println(tmp.getSeqno_3());System.out.println(resp.GetResult());} ?

2. 类Bind (该类由SGIP_Command类扩展而来)

1.1.3 构造函数

1) public Bind(int NodeID)

作用: 构造函数

参数: NodeID节点编号,300000+CP_ID

2) public Bind(int NodeID,int LoginType,String LoginName,String LoginPassword) 作用: 构造函数

参数: NodeID, 节点编号LoginType, 登录类型。

1:SP向SMG建立的连接,用于发送命令 2:SMG向SP建立的连接,用于发送命令 3:SMG之间建立的连接,用于转发命令

4:SMG向GNS建立的连接,用于路由表的检索和维护 5:GNS向SMG建立的连接,用于路由表的更新 6:主备GNS之间建立的连接,用于主备路由表的一致性 11:SP与SMG以及SMG之间建立的测试连接,用于跟踪测试 其它:保留

LoginName, 服务器端给客户端分配的登录名

LoginPassword, 服务器端和Login Name对应的密码

1.1.4 3)

方法

public void SetLoginType(int LoginType) 作用: 设置LoginType 参数: int LoginType

4) public void SetLoginName(String LoginName) 作用: 设置LoginName

参数: String LoginName

5) public void SetLoginPassword(String Password)

作用: 设置Password 参数: String Password 6) public int write(OutputStream out)

作用: 发送命令

参数: OutputStream out,输出流

7) public int readbody()

作用: 读取从SMG发送过来的BIND命令内容

8) public int GetLoginType() 作用: 获取SMG的登录类型

返回值:Int LoginType 9) public String GetLoginName() 作用: 获取SMG的登录名 返回值:String LoginName 10) public String GetLoginPassword() 作用: 获取LoginPassword 返回值:String LoginPassword 11) public int getTotalLength()

作用:返回Bind命令的总长度 12) public int getCommandID()

作用:返回Bind名令的总长度

13) public int getSeqno_1()

作用:返回Bind命令的序列号中前四个字节的整数,第一部分源节点编号,NodeID 14) public int getSeqno_2()

作用:返回Bind命令的序列号中间四个字节的整数,第二部分时间(月日时分秒) 15) public int getSeqno_3()

作用:返回Bind命令的序列号后四个字节的整数, 第三部分序号 16)示例:(具体例子见后面的完整程序)

1.发送bind

?

Socket so=null;

OutputStream out=null; InputStream input=null;

so=new Socket("192.168.0.30",8801);

out=new DataOutputStream(so.getOutputStream()); input = new DataInputStream(so.getInputStream()); Bind command=new Bind(399000,//nodeID 3+CP_ID 1, //login type

"zhao",//login name

"zhao");//login password; ?

err=command.write(out);// 发送bind if(err!=0) { System.out.println("err"+err); } ?

2. 发送bind

?

Socket so=null;

OutputStream out=null; InputStream input=null; so=new Socket("192.168.0.30",8801);

out=new DataOutputStream(so.getOutputStream()); input = new DataInputStream(so.getInputStream()); Bind command=new Bind(399000//nodeID 3+CP_ID

);

command.SetLoginType(1);

command.SetLoginName("zhao");

command.SetLoginPassword("zhao"); ?

err=command.write(out);// 发送bind

if(err!=0) {

System.out.println("err"+err);

} ?

3. 接收bind

?

Socket so=null;

OutputStream out=null; InputStream input=null;

so=new Socket("192.168.0.30",8801);

out=new DataOutputStream(so.getOutputStream());

input = new DataInputStream(so.getInputStream());

SGIP_Command sgip=new SGIP_Command();//创建一个空的SGIP_Command对象 SGIP_Command tmp=null; Bind bind=null; ?

tmp=sgip.read(input);// 接收sgip的消息 ?

if(sgip.getCommandID()==SGIP_Command.ID_SGIP_BIND) { bind =(Bind)tmp;//强制转换 bind.readbody();//解包

System.out.println(tmp.getSeqno_1());

System.out.println(tmp.getSeqno_2());System.out.println(tmp.getSeqno_3()); System.out.println(bind.GetResult());

篇三:C#联通短信网关开发指南 含数据库部分 - 副本unicomm-sgip

-- 表生成

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sgip_Deliver]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[sgip_Deliver]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sgip_Report]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[sgip_Report]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sgip_bill]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[sgip_bill]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sgip_submit]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[sgip_submit]

GO

CREATE TABLE [dbo].[sgip_Deliver] (

[id] [int] IDENTITY (1, 1) NOT NULL ,

[phone] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[spNumber] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,

[MessageCoding] [int] NULL , [MessageLength] [int] NULL , [MessageContent] [varchar] (512) COLLATE Chinese_PRC_CI_AS NULL , [linkID] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,

[add_time] [datetime] NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[sgip_Report] (

[id] [int] IDENTITY (1, 1) NOT NULL ,

[SequenceNumber] [int] NULL ,

[SequenceNumber1] [int] NULL ,

[SequenceNumber2] [int] NULL ,

[ReportType] [int] NULL , [phone] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [State] [int] NULL , [ErrorCode] [int] NULL ,

[Reserve] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,

[add_time] [datetime] NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[sgip_bill] (

[id] [int] NOT NULL ,

[spNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[ChargeNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[UserNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[UserCount] [int] NULL ,

[CorpId] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL ,

[ServiceType] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,

[FeeType] [int] NULL ,

[FeeValue] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,

[GivenValue] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,

[AgentFlag] [int] NULL ,

[MorelatetoMTFlag] [int] NULL ,

[Priority] [int] NULL ,

[ExpireTime] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,

[ScheduleTime] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,

[ReportFlag] [int] NULL ,

[TP_pid] [int] NULL ,

[TP_udhi] [int] NULL ,

[MessageCoding] [int] NULL ,

[MessageType] [int] NULL ,

[MessageContent] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,

[linkID] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,

[smsFlag] [int] NULL ,

[sendCount] [int] NULL ,

[lastSendTime] [datetime] NULL ,

[submit_add_time] [datetime] NULL ,

[result] [int] NULL ,

[add_time] [datetime] NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[sgip_submit] (

[id] [int] IDENTITY (1, 1) NOT NULL ,

[spNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[ChargeNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[UserNumber] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[UserCount]

[int] NULL ,

[CorpId] [varchar] (5) COLLATE Chinese_PRC_CI_AS NULL ,

[ServiceType] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,

[FeeType] [int] NULL ,

[FeeValue] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL , [GivenValue] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL , [AgentFlag] [int] NULL , [MorelatetoMTFlag] [int] NULL ,

[Priority] [int] NULL ,

[ExpireTime] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,

[ScheduleTime] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,

[ReportFlag] [int] NULL ,

[TP_pid] [int] NULL ,

[TP_udhi] [int] NULL ,

[MessageCoding] [int] NULL ,

[MessageType] [int] NULL ,

[MessageContent] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,

[linkID] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,

[smsFlag] [int] NULL ,

[sendCount] [int] NULL ,

[lastSendTime] [datetime] NULL ,

[add_time] [datetime] NULL

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[sgip_Deliver] ADD

CONSTRAINT [DF_sgip_Deliver_add_time] DEFAULT (getdate()) FOR [add_time], CONSTRAINT [PK_sgip_Deliver] PRIMARY KEY CLUSTERED

(

[id]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[sgip_Report] ADD

CONSTRAINT [DF_sgip_Report_add_time] DEFAULT (getdate()) FOR [add_time], CONSTRAINT [PK_sgip_Report] PRIMARY KEY CLUSTERED

(

[id]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[sgip_bill] ADD

CONSTRAINT [DF_sgip_bill_UserCount] DEFAULT (1) FOR [UserCount],

CONSTRAINT [DF_sgip_bill_FeeValue] DEFAULT ('000000') FOR [FeeValue],

CONSTRAINT [DF_sgip_bill_GivenValue] DEFAULT ('000000') FOR [GivenValue], CONSTRAINT [DF_sgip_bill_AgentFlag] DEFAULT (0) FOR [AgentFlag],

CONSTRAINT [DF_sgip_bill_Priority] DEFAULT (0) FOR [Priority],

CONSTRAINT [DF_sgip_bill_ReportFlag] DEFAULT (0) FOR [ReportFlag],

CONSTRAINT [DF_sgip_bill_TP_pid] DEFAULT (0) FOR [TP_pid],

CONSTRAINT [DF_sgip_bill_TP_udhi] DEFAULT (0) FOR [TP_udhi], CONSTRAINT [DF_sgip_bill_MessageCoding] DEFAULT (0) FOR [MessageCoding], CONSTRAINT [DF_sgip_bill_MessageType] DEFAULT (0) FOR [MessageType], CONSTRAINT [DF_sgip_bill_smsFlag] DEFAULT (0) FOR [smsFlag],

CONSTRAINT [DF_sgip_bill_sendCount] DEFAULT (0) FOR [sendCount],

CONSTRAINT [DF_sgip_bill_add_time] DEFAULT (getdate()) FOR [submit_add_time], CONSTRAINT [DF_sgip_bill_add_time_1] DEFAULT (getdate()) FOR [add_time],

CONSTRAINT [PK_sgip_bill] PRIMARY KEY CLUSTERED

(

[id]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[sgip_submit] ADD

CONSTRAINT [DF_sgip_submit_UserCount] DEFAULT (1) FOR [UserCount],

CONSTRAINT [DF_sgip_submit_FeeValue] DEFAULT ('000000') FOR [FeeValue],

CONSTRAINT [DF_sgip_submit_GivenValue] DEFAULT ('000000') FOR [GivenValue], CONSTRAINT [DF_sgip_submit_AgentFlag] DEFAULT (0) FOR [AgentFlag],

CONSTRAINT [DF_sgip_submit_Priority] DEFAULT (0) FOR [Priority],

CONSTRAINT [DF_sgip_submit_ReportFlag] DEFAULT (0) FOR [ReportFlag],

CONSTRAINT [DF_sgip_submit_TP_pid] DEFAULT (0) FOR [TP_pid],

CONSTRAINT [DF_sgip_submit_TP_udhi] DEFAULT (0) FOR [TP_udhi],

CONSTRAINT [DF_sgip_submit_MessageCoding] DEFAULT (0) FOR [MessageCoding], CONSTRAINT [DF_sgip_submit_MessageType] DEFAULT (0) FOR [MessageType], CONSTRAINT [DF_sgip_submit_smsFlag] DEFAULT (0) FOR [smsFlag],

CONSTRAINT [DF_sgip_submit_sendCount] DEFAULT (0) FOR [sendCount],

CONSTRAINT [DF_sgip_submit_add_time] DEFAULT (getdate()) FOR [add_time], CONSTRAINT [PK_sgip_submit] PRIMARY KEY CLUSTERED

(

[id]

) ON [PRIMARY]

GO

-- 存储过程 --

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_GetData]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_GetData]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SendSMS]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_SendSMS]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_SendSMS_Simple]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_SendSMS_Simple]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_getdata_safe]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_getdata_safe]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_Recv_Deliver]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_Recv_Deliver]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_Recv_Report]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_Recv_Report]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_Recv_SubmitResp]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_Recv_SubmitResp]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_Research]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_Research]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_init]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_init]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_sms_switchlog]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[sp_sms_switchlog]

GO

SET QUOTED_IDENTIFIER ON

Copyright @ 2012-2024华乐美文网 All Rights Reserved. 版权所有