基于联通SGIP协议的短信发送代码

合集下载

SGIP、SMGP长短信发送问题小结

SGIP、SMGP长短信发送问题小结

SGIP、SMGP长短信发送问题⼩结长短信发送问题。

1.将信息长度拆开发送。

2.为了解决长短信拆分发送,在⼿机终端,收到的顺序错乱,所以在每⼀段短信发送完成后,延时5秒,这样在⼿机终端客户收到的信息,就会按照拆分的顺序发送。

//信息总长度int sumlength = aMessage.length();int sta = 0; // 开始截取位置int end = 50; // 每次截取长度String msg = null; // 临时短信内容int mNumber; // 分割条数mNumber = sumlength / end + 1;// 将短信拆分到List中每50字⼀条发送if(sumlength>50){for (int i = 1; i < mNumber + 1; i++) {//最后⼀条截取⽅式if (i == mNumber) {msg = aMessage.substring(sta, sumlength);} else {msg = aMessage.substring(sta, end * i);}//发送的消息进⾏转码GB2312 /iso-10646-ucs-2byte[] MessageContent =msg.getBytes("GB2312");tResult=sendmessage(MessageContent,aPhoneNum);Thread.sleep(5000);sta = i * end;}}长短信6字节协议在⽹上也没找到具体的代码⽚段,如果能有更好的解决⽅法请⼤家积极参与,与评论。

联通短信服务代码

联通短信服务代码

0055:B计划156元3G 套餐
B156YTC
0056:B计划186元3G 套餐
B186YTC
0061:C计划46元3G套 C46YTC 餐
006:C计划4696元3G套餐
0062:C计划66元3G套 C66YTC 餐
0063:C计划96元3G套 C96YTC 餐
0071:手机音乐
SJYY
0072:手机电视
IPADTTY/IPAD 天天赢
其他指令集 业务 :WLAN免费业务开通 :WLAN套餐退订 :WLAN业务密码重置 :WLAN业务退订 :WLAN业务状态查询 帐户余额查询 短号组网取消 QXYY32 SWCS 修改亲情在线号码 短号组网加入 短号组网加入 取消亲情在线 查询亲情在线号码 归属地查询 当前套餐资费查询 查询自己短号 短号组网加入 PUK码查询 短号组网加入 客户经理查询 新定向长途业务了解 国际业务包 查询长短号 查询推荐数目 积分查询 手机音乐礼包取消 密码修改 重置密码
0027:手机邮箱 0028:即时通信 0029:手机阅读
3GSJYX 3GJSTX
0031:A计划46元3G套 A46YTC 餐
0032:A计划66元3G套 A66YTC 餐
0033:A计划96元3G套 A96YTC 餐 003:A计划46186元3G套餐
003:A计划46186元3G套餐 0034:A计划126元3G 套餐 A126YTC
0035:A计划156元3G 套餐
A156YTC
0036:A计划186元3G 套餐
A186YTC
0041:A计划226元3G 套餐
A226YTC
0042:A计划286元3G 套餐
A286YTC
004:A计划226- 0043:A计划386元3G 886A计划586元3G 套餐

sgip错误码

sgip错误码

1.1 SGIP协议登录错误码(bind响应)
1.2 网关错误码(report 状态是1)
1.3 网关错误码(report 状态是2)
1.4 SPMS常用错误代码
101 /* 定购业务失败 */
102 /* 退定业务失败 */
103 /* 非法SP */
104 /* 非法用户 */
105 /* 用户未定购此项业务,鉴权失败 */
106 /* 非法费用,鉴权失败 */
107 /* 重复包月话单 */
108 /* 非法指令*/
109 /* 非法业务代码*/
110 /* 已定购该业务 */
111 /*--需要用户回复的定制信息--*/
112 /*--需要用户回复的定制信息--*/
113 /*--需要用户回复的定制信息--*/
114 /*--用户回复的定制信息不存在--*/
115 /*--SP回复的定制信息不存在--*/
116 /* 用户未点播此项业务,鉴权失败 */
117 /* 等待用户作二次确认*/
118 /* 等待sp作定制确认*/
119 /* sp定制确认返回ERROR定制不成功要求复位*/ 121 /* 下行对应多个目的号码*/
199 /* SPMS 修正了SUBMIT */
122 /* 非法SERVICE */
123 /* 非法SERVICE */。

联通短信网关发送错误代码表

联通短信网关发送错误代码表
97在信黑名单
13
sgip_submit中的业务代码与prm发布的产品代码不相符
93
SGIP协议SP节点编号错,节点编码为30731spid
57
sp接入平台地址与工单申请地址不符合
100019短信中心流量超限
72找不到路由,可能为外省号段或未做号段数据。
100255(41011)短信中心系统过负荷,拒绝消息
101077短信用户欠费)
8
流控错误,超过系统容量。
99
用户关机或者系统容量问题
18
VAC鉴权失败,一般订购关系不存在.
27
VAC鉴权失败,一般余额不足.
96,97
用户黑名单
19
短信中心返回
26,73
鉴权等待应答超时。
10,11,12
短消息中心返回,一般为用户手机问题未正常接收。

sgip协议,最新

sgip协议,最新

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载sgip协议,最新甲方:___________________乙方:___________________日期:___________________sgip协议,最新篇一:中国联通sgip协议(v1.2)中国联合通信公司短消息网关系统接口协议(sgip)版本1.2中国联合通信公司二零零一年十月目录1概述.......................... (1)1.1协议说明.......................... (1) (1)1.3参考资料.......................... (1)1.4术语表.......................... (1)2系统体系结构.......................... (3)2.1消息从本地smsc到本地sp ................................................ .. (4)2.2消息从本地sp到本地smsc .............................................. (4)sp ................................................ .. (4)2.4消息从本地sp到异地smsc .............................................. . (4)2.5路由选择.......................... (4)3通信流程.......................... (6)3.1专用sgip方式.......................... (6)3.2通用http方式.......................... (6)3.3通信节点编号规则............................73.5通信的安全性............................83.6用户鉴权.......................... (8)3.6.1被叫方付费.......................... . (8)3.6.2sp 付费.......................... (8)3.6.3第三方付费..........................3.7sp与smg的通信.......................... .. (9)3.7.1 通用http方式.......................... .. (9)3.7.1.1 从sp 至1J smg 的命令.......................... . (10)3.7.1.2 从smg到sp的命令.......................... . (10)3.7.2专用sgip方式.......................... (10)3.7.2.1 通信初始化.......................... (10)3.7.2.2 通信过程.......................... (11)3.7.2.3 通信结 (12)3.7.2.4 故障处理.......................... . (12)3.7.2.5 从sp 至V smg 的消息.......................... . (13)3.7.2.6 从smg到sp的消息.......................... . (13)3.8smg与smg之间的通信.......................... .. (14)3.8.1通信初始化.......................... . (14)3.8.2通信过程..........................3.8.3通信结.153.8.4故障处理...........................153.8.5两个smg之间的消息.......................... .. (15)3.9smg与gns之间的通信.......................... .. (15)3.9.1通信初始化.......................... .. (15)3.9.2通信过程...........................163.9.3通信结束.......................... .163.9.4故障处理...........................163.9.5 从smg到gns的消息.......................... .. (16)3.9.6 从gns到smg的消息.......................... .. (17)4消息定义.......................... (18)4.1基于通用http的消息定义.......................... .. (18)4.1.1submit 操作..........................4.1.1.1submit 命令的请求内 (18)4.1.1.2submit 命令的应答内容.......................... .. (19)4.1.2deliver 操作.......................... .. (20)4.1.2.1deliver 命令的请求内容.......................... .. (20)4.1.2.2deliver 命令的应答内容.......................... .. (20)4.1.3Report 操作.......................... .. (21)4.1.3.1Report 命令的请求内容.......................... .. (21)4.1.3.2Report 命令的应答内 (21)4.1.4userRpt 操作.. (22)4.1.4.1userRpt 命令的请求内容.. (22)4.1.4.2userRpt 命令的应答内容.. (22)4.1.5trace 操作.. (2)24.1.5.1trace 命令的请求内容.. (22)4.1.5.2trace 命令的应答内容.. (23)4.2基于专用sgip的消息定 (23)4.2.1数据类型...........................234.2.2消息头的格式.......................... . (24)4.2.3消息体的格式.......................... . (24)4.2.3.1bind 操作.......................... . (24)4.2.3.2unbind 操作.......................... . (25)4.2.3.3submit 操作.......................... . (25)4.2.3.4deliver 操 (28)4.2.3.5Report 操作.......................... . (29)4.2.3.6addsp 操作.......................... . (29)4.2.3.7modifysp 操作.......................... .. (30)4.2.3.8deletesp 操作.......................... .. (31)4.2.3.9queryRoute 操作.......................... (31)4.2.3.10addteleseg 操作.......................... (32)4.2.3.11modifyteleseg 操作..........................4.2.3.12deleteteleseg 操作.......................... . (34)4.2.3.13addsmg 操作.......................... (34)4.2.3.14modifysmg 操作.......................... .. (35)4.2.3.15deletesmg 操作.......................... . (35)4.3鉴权消息定义..........................364.3.1checkuser 命令的语法.......................... (36)4.3.2checkuser_Resp 应答的语法..........................4.3.3userRpt 命令的语法.......................... .. (36)4.3.4userRpt_Resp 应答的语法.......................... .. (36)4.4测试消息定义..........................374.4.1trace 命令的语法.......................... . (37)4.4.2trace_Resp 应答的语法.......................... (37)5常H定义.......................... (38)5.1消息id定..385.2错误码定义.......................... (38)5.3计费类另U定义..........................395.4RepoRt状态与短消息状态的映射.......................... . (39)附录1:全网路由表的格式小范.......................... .. (40)附录2:本地路由表的格式示范.......................... .. (41)附录3:http承载方式示范.......................... (42)1概述1.1协议说明本协议是smg和sp之间、smg和gns之间、以及smg和smg之间的接口协议,简称sgip。

短信网关SP端应用程序接口使用说明(sgip1.2)

短信网关SP端应用程序接口使用说明(sgip1.2)

短信网关SP端应用程序接口使用说明---- SXIT_ISMG_SGIP_API一、使用说明本接口遵循SGIPv1.2 协议标准,以提供消息发送和接收函数的方式, 向ICP提供同联通网关进行信息交换的实现途径.客户可以依据具体需要,利用所提供的函数实现不同的连接方式(长连接和短连接)以及何时自动建立和中断连接, 除此之外, API 作为应用的接口,对SGIP描述的其它功能,象流量控制重发机制和并发处理都不预干预,需要应用程序处理3、向网关提交信息(SGIP_Submit)◆函数功能向网关提交短信◆返回值=0 标识成功<0 标识发送失败◆参数说明:◆注意:1、如果建立好连接后一段时间没有发送消息,网关可能会关闭连接,2、SGIP_Submit返回ERROR_SOCKET_CLOSE ,这时,必须重新建立连接并发送消息3、p_seq1,p_seq2,p_seq3是函数返回的序列号,可与状态报告中的序列号对应4、主动与网关断开连接(SGIP_Disconnect)◆函数功能主动和网关断开链接2、状态报告五、常见问题解答1、为何联接到网关时网关回复ERROR_SOCKET_READ错误码?答:造成此问题的原因很可能是你的IP同局方管理人员设置的IP不一致。

请与局方管理人员核对数据。

2、为何向网关提交短信时会返回ERROR_FEE_CODE错误码?答:深讯信科网关要求资费类别为按条计费时资费代码不能为0;3、接收MO消息时,为何进程会僵死?答:造成此现象的原因很可能是api没有得到网关发来的MO或者状态报告包,处于阻塞等待状态。

4、为何和网关建立的MT链路经常会断开?答:造成此问题的原因很可能是提交速度过快,以至超过网络的传输速度从而造成了网络阻塞。

六、Sp与网关间交易的基本流程。

联通SGIP开发注意事项

联通SGIP开发注意事项

联通SGIP开发注意事项联通ip:220.200.5.235联通port:8801联通企业代码:99050标准SGIP协议进⾏开发Tp_pidTp_udhiiPriority这些参数分别填写什么0,0,0FeeType填2,AgentFlag填0chargenumber就21个0现在service_typefeevalue givenvalue分别填写HELP、0、0在CMPP协议⾥Msg_src⼜称SP_Id,就是SGIP协议⾥的CorpID填写99050Spnumber填写10655对应接⼊号就是对联通上⾏给你的消息,你回给我的resp中的消息序列号要和联通上⾏的消息序列号⼀致现在是不⼀致的,导致联通⽹关认为你没有收到上⾏,所以会重复发送其他客户典型出现的问题:DATA_MSGHeadMessage_Length--/DWORD : 64Command_Id--/Hex4 : 0x00000005Sequence_Number--/3*DWORD : 755 311120057 316481 SGIP_REPORTSubmit_Seq_Number--/3*DWORD : 3000099050 311115841 88Report_Type--BYTE : 0User_Number--char : 8613120429497State--BYTE : 0Error_Code--BYTE : 0Reserve--char :上⾯这个是我送给你们的report的包内容DATA_MSGHeadMessage_Length--/DWORD : 29Command_Id--/Hex4 : 0x80000005Sequence_Number--/3*DWORD : 3000099050 311115841 88 SGIP_REPORT_RESPResult--BYTE : 0Reserve--char :这个是你们给我回的resp你给我的head中的Sequence_Number--/3*DWORD : 3000099050 311115841 88 要和我DATA_MSG HeadMessage_Length--/DWORD : 64Command_Id--/Hex4 : 0x00000005Sequence_Number--/3*DWORD : 755 311120057 316481这两个中的Sequence_Number 这个要⼀致你们程序,写成和Submit_Seq_Number⼀致了,这个不⾏DATA_MSGHeadMessage_Length--/DWORD : 64Command_Id--/Hex4 : 0x00000005Sequence_Number--/3*DWORD : 755 311151406 326671 SGIP_REPORTSubmit_Seq_Number--/3*DWORD : 3000099050 311151414 1Report_Type--BYTE : 0User_Number--char : 8613249435482State--BYTE : 0Error_Code--BYTE : 0Reserve--char :DATA_MSGHeadMessage_Length--/DWORD : 29Command_Id--/Hex4 : 0x80000005Sequence_Number--/3*DWORD : 755 311151406 326671SGIP_REPORT_RESPResult--BYTE : 0Reserve--char :建议还是在⼀定时间段内⽐如30秒,没有submit后再unbind,unbind后马上bind 以下是正确的的案例:以下是错误的案例:错误做法:这个是联通连接你们服务器的,你们不⽤unbind的,unbind也是联通这⾥发起你这样unbind,会造成信息丢失的联通有消息发过去到你们服务器,会bind,然后送完消息就unbind正确做法:SP没有给联通report回resp错误案例:正确的做法:错误的做法:对MO_Relate_To_MT_Flag 应该填写为2正确做法:以前接别的联通通道时上⾏会话都只有⼀条连接通讯这边华为的联通处理时,上⾏连接可能存在多条,这样我们程序在第⼀条连接上处理,后⾯的连接就堵上了,等到处理后⾯的连接时,⼜超时了这样就出现了我们没有读到联通给我们的上⾏那条连接就失效了现在处理⽅法必须更改成:第⼀条处理时,如果没数据就切换处理后⾯的112的问题是:我bind以后,你给我resp了,然后有段时间没有数据,但是还没超过我的超时设置,所以我不会unbind,还是保持数据链路这时候你们主动unbind了,⽽且很频繁,就导致,我这⾥每次都bind,送数据都bind太频繁了流程bind submit unbind closesocket 没错吗。

中国联通短消息网关联网协议-SGIP协议

中国联通短消息网关联网协议-SGIP协议

QB/CU 25-2003中国联通短消息网关联网协议(SGIP V1.0)中国联通公司2003年2月发布前言近年来,短消息业务发展迅速。

目前联通大部分分公司已经设立短消息中心并已投入使用,但由于缺少业务种类,加上联通总部对此缺乏统一规划,长期以来经济效益不明显,增值业务开展较少;现有的网络架构、人员、管理、技术等资源在支持短消息数据业务快速发展以形成规模效益及在新的技术平台上开展无线数据业务等方面已成为主要瓶颈。

为了统一短消息业务应用提供商(SP)的接入,大力发展中国联通短消息服务,联通公司以现有短消息网络资源为基础构建短消息网关系统,对所有SP的接入接口、短消息网关之间的接口等进行统一的规范。

本协议主要是参考了国际上相关技术规定以及我国移动通信网络的实际业务和功能需要而制订的。

主要内容包括:系统体系结构,通信流程,消息定义,常量定义等。

本规范由中国联合通信有限公司技术部提出并归口本规范起草单位:中讯邮电咨询设计院本规范主要起草人:张范李海燕康建雄左丽李明铎张岩许建宏本规范的修改和解释权属于中国联通公司目录1.总则 (1)2.系统体系结构 (2)2.1 消息从本地SMSC到本地SP (3)2.2 消息从本地SP到本地SMSC (3)2.3 消息从本地SMSC到异地SP (3)2.4 消息从本地SP到异地SMSC (3)2.5 路由选择 (4)3.通信流程 (5)3.1专用SGIP方式 (5)3.2通用HTTP方式 (5)3.3通信节点编号规则 (6)3.4序列号的定义 (6)3.5通信的安全性 (7)3.6用户鉴权 (7)3.6.1被叫方付费 (7)3.6.2SP付费 (7)3.6.3第三方付费 (8)3.7SP与SMG的通信 (8)3.7.1通用HTTP方式 (8)3.7.1.1从SP到SMG的命令 (9)3.7.1.2从SMG到SP的命令 (9)3.7.2专用SGIP方式 (9)3.7.2.1通信初始化 (10)3.7.2.2通信过程 (10)3.7.2.3通信结束 (11)3.7.2.4故障处理 (12)3.7.2.5从SP到SMG的消息 (13)3.7.2.6从SMG到SP的消息 (13)3.8SMG与SMG之间的通信 (13)3.8.1通信初始化 (14)3.8.2通信过程 (14)3.8.3通信结束 (14)3.8.4故障处理 (14)3.8.5两个SMG之间的消息 (14)3.9SMG与GNS之间的通信 (15)3.9.1通信初始化 (15)3.9.2通信过程 (15)3.9.3通信结束 (15)3.9.4故障处理 (15)3.9.5从SMG到GNS的消息 (16)3.9.6从GNS到SMG的消息 (16)4.消息定义 (17)4.1基于通用HTTP的消息定义 (17)4.1.1Submit操作 (17)4.1.1.1Submit命令的请求内容 (17)4.1.1.2Submit命令的应答内容 (18)4.1.2Deliver操作 (19)4.1.2.1Deliver命令的请求内容 (19)4.1.2.2Deliver命令的应答内容 (19)4.1.3Report操作 (20)4.1.3.1Report命令的请求内容 (20)4.1.3.2Report命令的应答内容 (20)4.1.4UserRpt操作 (20)4.1.4.1UserRpt命令的请求内容 (21)4.1.4.2UserRpt命令的应答内容 (21)4.1.5Trace操作 (21)4.1.5.1Trace命令的请求内容 (21)4.1.5.2Trace命令的应答内容 (21)4.2基于专用SGIP的消息定义 (22)4.2.1数据类型 (22)4.2.2消息头的格式 (22)4.2.3消息体的格式 (23)4.2.3.1Bind操作 (23)4.2.3.2Unbind操作 (24)4.2.3.3Submit操作 (24)4.2.3.4Deliver操作 (26)4.2.3.5Report操作 (27)4.2.3.6AddSP操作 (28)4.2.3.7ModifySP操作 (28)4.2.3.8DeleteSP操作 (29)4.2.3.9QueryRoute操作 (30)4.2.3.10AddTeleSeg操作 (31)4.2.3.11ModifyTeleSeg操作 (31)4.2.3.12DeleteTeleSeg操作 (32)4.2.3.13AddSMG操作 (33)4.2.3.14ModifySMG操作 (33)4.2.3.15DeleteSMG操作 (34)4.3鉴权消息定义 (34)4.3.1CheckUser命令的语法 (35)4.3.2CheckUser_Resp应答的语法 (35)4.3.3UserRpt命令的语法 (35)4.3.4UserRpt_Resp应答的语法 (35)4.4测试消息定义 (35)4.4.1Trace命令的语法 (36)4.4.2Trace_Resp应答的语法 (36)5.常量定义 (37)5.1消息ID定义 (37)5.2错误码定义 (37)5.3计费类别定义 (38)5.4R EPORT 状态与短消息状态的映射 (38)附录1 缩略语 (39)附录2 全网路由表的格式示范 (40)附录3 本地路由表的格式示范 (41)附录4 HTTP承载方式示范 (42)附录5 引用标准 (44)1.总则本协议是SMG和SP之间、SMG和GNS之间、以及SMG和SMG之间的接口协议,简称SGIP。

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

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

标题/Title: SGIP API(JA V A) For SP 一. 目录二. 概述本文提供的API支持多个SP通过英斯克短信网关iDAP接入短信中心,向终端用户发送短消息。

SP 的应用程序需要遵循联通的SGIP1.1协议,调用iDAP的API实现短信发送和点播功能。

作为ISMG厂商,英斯克提供接入的Java API,本文解释了API中JA V A 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 前,请正确地将包设置到CLASSPA TH环境变量中。

1.类SGIP_Command说明1.1.1构造函数1)public SGIP_Command()作用:构造函数,创建一个空的SGIP_Command对象1.1.2方法2)public SGIP_Command read(InputStream in)作用:接收任何来自网关的命令。

参数:InputStream in 输入流异常: IOException3)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_ID2) public Bind(int NodeID,int LoginType,String LoginName,String LoginPassword)作用:构造函数参数:NodeID, 节点编号LoginType,登录类型。

通过短信网关发送Wappush

通过短信网关发送Wappush

通过短信网关发送Wappush(包括超长Wappush)2010年01月16日星期六 09:55Wappush可以通过短信行业网关发送出去(通过submit消息体),移动和联通都是一样,至于电信的协议没试过,不过应该也一样,因为都是参照标准协议改编的。

我参考了网上N多文章后才总结出来的一种规则,而且实际测试过发到手机,应该说比较靠谱,写出来节省一下大家时间。

我介绍的仅仅是一种能发送出去的方法,而且不是只有这种方法才能发送,如果你要深究原理,需参考GSM协议的相关章节。

具体规则如下:1首先要设置字段:setTpPid((byte) 0);setTpUdui((byte) 1);setMsgFmt((byte) 4);2修改短信内容体的字段。

一个Wappush包发出去的时候(这里的包,仅仅是指短信协议里面的内容字段),是由WDP+WSP+SI三个部分组成。

WDP由固定的一串编码加一个refrence number + 总包数 + 当前包数。

refrence number 应该是同一条Wappush唯一的标识(如果拆分成了多条,这几条的refNO应该相同),当然当你发送了128条后,肯定重复了,总包数指的是你这条Wappush分成几个包发送出去,当前包数顾名思义指的是当前这个包是第几条,如果不需要拆分的Wappush这两个字段当然均填1。

WDP = { 0x0B, 0x05, 0x04, 0x0B, (byte) 0x84, 0x23, (byte) 0xF0, 0x00, 0x03 } + refNO + total + currIndex;WSP 由固定的3个字节的编码组成。

WSP = { 0x06, 0x01, (byte) 0xAE }SI里面包括了一些标记和推送链接以及内容。

SI = TransactionId(又是一个ID,每条Wappush应该不同,拆分时这个字段只会出现一次,详见后面描述) + { 0x02, 0x05, 0x6A, 0x00, 0x45, (byte) 0xC6, 0x08, 0x0C, 0x03 } + urlBytes(推送链接的UTF-8编码数组) + { 0x00, 0x01, 0x03 (这一串标记地址结束)} + contentBytes(推送内容的UTF-8编码数组) + { 0x00, 0x01, 0x01(这一串标记整个Wappush的结束) }好了,你的消息体如果按上面规则(WDP+WSP+SI)组合起来的长度小于等于140(短信内容体字段要求),直接发送出去就OK了。

中国联通短信网关SGIP 第三方 API(JAVA)

中国联通短信网关SGIP 第三方 API(JAVA)
System.out.println(tmp.getSeqno_2()); System.out.println(tmp.getSeqno_3()); System.out.println(resp.GetResult()); } …
2. 类 Bind (该类由 SGIP_Command 类扩展而来)
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,输出流
Confidential
Page 2
SGIP API(JAVA) for SP Product: iDAP
Document No.1.2 Date: Nov 25, 2001
INTRINSIC
Update:Zhang Feng,Zhao Jiang
resp=(BindResp)tmp;//强制转换 resp.readbody();//解包 System.out.println(tmp.getSeqno_1());

SGIP协议长短信实现方案

SGIP协议长短信实现方案

1.设置UDHI标志
TP_udhi
Value1IntegerGSM协议类型。

详细解释请参考GSM
03.40中的
9.2.
3.23,仅使用1位,右对齐。

SGIP的Submit信令中的TP_udhi设置为0x40。

2.消息内容增加用户数据包头UDH
包头一共6个字节,如下:
1、字节一:
包头xx,固定填写0x05;
2、字节二:
包头类型标识,固定填写0x00,表示长短信;
3、字节三:
子包长度,固定填写0x03,表示后面三个字节的长度;
4、字节四到字节六:
包内容:
1)字节四:
长消息参考号,每个SP给每个用户发送的每条参考号都应该不同,可以从0开始,每次加1,最大255,便于同一个终端对同一个SP的消息的不同的长短信进行识别;
2)字节五:
本条长消息的的总消息数,从1到255,一般取值应该大于2;3)字节六:
本条消息在长消息中的位置或序号,从1到255,第一条为1,第二条为2,最后一条等于第四字节的值。

注:
移动终端支持的一条消息的内容长度为140字节,因此后面还可以增加134个字节的真实的消息内容,若编码格式为0(纯ASCII字符串编码)则可以增加134个ASCII字符,若编码格式为8(USC2编码)则可以增加67个中英文字符。

例子:
05 00 03 00 02 01
05 00 03 00 02 02。

联通SGIP错误码分类整理表

联通SGIP错误码分类整理表

2102 2103 2104 3001
3002 3003 3004 3005 3006 3009 3010 4001
4002 4003
4005
4006 4007 4008
4009 4999 短信中心defined
如意通用户金额不足 非法手机号码 签约用户状态无效 Charge Phone手机号不在路由表 中,这条MT业务终止。主叫手机号 不在路由表中,这条MO业务终止。 User Phone手机号不在路由表中, 这条MT业务终止。 CP ID 在 (MO_Route)表中没找到, 这条MT或MO业务终止。 CP Phone 在 (MO_Route)表中没找 到,这条MT或MO业务终止。 (MT_Route)对应SMSC ID的项没找 到,这条MT或MO业务终止。 (MT_Route)Invalid Moblie User Type 路由请求消息长度错误 路由请求消息command_id错误 与该SMSC多次尝试连接失败,无法 发送MT请求,这条MT业务终止。 Response HASH表中,原记录被新记 录覆盖,导致该响应无法核销,这 条MT业务终止。 收到错误响应,这条MT业务终止。 Report HASH表中,原记录被新记录 覆盖,导致该状态报告无法核销, 这条MT业务终止。4005表示状态报 告hash表中的一条旧的记录没有超 时(48小时)同时在还没有收到短 信中心的状态报告的情况下,一条 新的记录需要覆盖该记录,则将该 旧的记录取出,而将新的记录插入 到hash表中,同时会生成中间状态 报告,其错误代码为4005。 该SMSC没有激活,无法发送MT请 求,这条MT业务终止。 该SMSC的发送队列已满,无法接收 MT请求,这条MT业务终止。 重发队列已满,无法接收重发请 求,这条MT业务终止。 禁止重发:SMSC超时无响应,这条 MT业务终止。允许重发:重发超过 次数,这条MT业务终止。 如意通号码拦截 各种短信中心所发的发送失败的状 态报告

短消息业务联网协议SGIPV12适应性修改部分

短消息业务联网协议SGIPV12适应性修改部分

“联通在信”SGIP1.2协议修改部分说明(修订版)中国联合通信公司2004年01月20日目录1.SGIP 1.2版的变化1.1.新增字段无。

1.2.S GIP协议变化部分1.2.1.Deliver包中的Reserve字段该Reserve字段为8个字节的保留字段;现将该字段作为MO和MT之间一一对应的LinkID 来用。

该Reserve的值(LinkID)由SPMS业务鉴权平台生成,传给SPSMG,由SPSMG不做任何改动传给SP。

用来标识点播的MO消息,使得MT(如果MO引起多条MT ,则每条MT都要将MO中的Reserve中的值取出,赋值到Submit包中的Reserve)消息能够匹配对应的MO消息;非MO所引起的MT,SP不填写该LinkID。

1.2.2.Submit中的Reserve字段该Reserve字段为8个字节的保留字段;现将该字段作为MO和MT之间一一对应的LinkID 来用。

该Reserve字段的值(LinkID)由SPMS业务鉴权平台生成,传给SPSMG。

SPMS将对MO 所引起的下发MT进行Reserve(LinkID)值的匹配校验。

1.2.3.Submit包的UserCount字段填写限制该字段,SP下发时必须填写1;否则视为业务非法包处理。

1.2.4.Submit包的MORelatetoMTFlag字段SP需要如实填写Submit消息中的MorelatetoMTFlag字段,从而说明引起MT消息的原因:0 :MO 点播引起的第一条MT 消息;1 :MO 点播引起的非第一条MT 消息;2 :非MO 点播引起的MT 消息;3 :系统反馈引起的MT 消息。

2.业务逻辑变化部分2.1.定制(订购)业务管理规范实施SPMS系统后,凡是订购(定制)业务都需要SPMS给用户发送确认短信,得到用户确认后,才形成临时订购关系;当SPMS短信通知SP成功后(业务定制),才将用户的临时订购(定制)关系改为正式订购(定制)关系。

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

联通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的连接关闭。

联通接收发送程序配置说明文档

联通接收发送程序配置说明文档

将程序Submit.exe(Deliver.exe)及配置文件SGIP12.ini拷贝到指定目录,按照如下说明配置参数即可正常运行该程序。

// 以下为参数配置项[Option]// 此处设定中国联通网关的IP地址;网关IP地址IP = 127.0.0.1// 此处设置中国联通网关接收Socket数据的监听端口,用以接收提交到短信网关的数据;远程发送短信网关端口ClientPORT = 8801// 此处设置中国联通短信接收程序本地的监听端口,用以接收状态报告和上行信息;本地接收短信网关端口ServerPORT = 8802// 中国联通接收发送程序对应的短信接收发送端口;SP接入号SPCode = 10658// 中国联通接入SP的企业代码;SP企业代码SPCorpID = 90123// 登录中国联通网关的该SP的用户名;登陆网关的用户名User = test// 登录中国联通网关的该SP的用户密码;登陆网关的口令Password = test// 登录中国联通网关的该SP的节点号;节点号NodId = 3311090123// 程序每次从数据库Select获取记录之间的间隔时间,增大该值可以减轻CPU空闲时负担,但降低程序运行效率;发送短信时间间隔(单位毫秒)DelayTime = 50// 程序每次从数据库Select获取的记录条数,当表中数据小于该数时,获取全部记录;每次轮询数据库获取记录上限MaxRecCount = 500// 当数据库表中没有可发送的数据记录时,数据库的轮询检测时间间隔,增大该值可以减轻CPU空闲时负担,但降低程序运行效率;轮循数据库读取发送队列时间间隔(单位毫秒)LoopTime = 50// 清空主界面中列表框信息的触发数量,当达到指定条数时自动清空列表减少内存占用;执行清空信息框条件的触发行数ClearInfoLineCount = 500// 是否进行日志的记录操作,如果需要记录日志,该参数设定为1,否则设置为0;是否记录日志(0不记录, 1记录)CanWriteLog = 0// 数据库参数配置Provider=SQLOLEDB.1; 数据库连接类型Data Source=127.0.0.1; 数据库服务器IP地址Initial Catalog=testdb; 数据库名称User ID=sa; 数据库用户名Password=sa; 数据库用户密码;数据库连接字符串AdoConn=Provider=SQLOLEDB.1;Data Source=127.0.0.1;Initial Catalog=testdb;User ID=sa;Password=sa;// 启动接收发送程序的并发数量(若启动程序的并发数量为5,则五个接收发送的编号依次为0、1、2、3、4);数据库访问索引数量TotalIndex = 1// 启动接收发送程序的当前编号(若启动程序的并发数量为5,则五个接收发送的编号依次为0、1、2、3、4);数据库访问索引号码SelectIndex = 0。

基于联通SGIP协议的短信发送代码

基于联通SGIP协议的短信发送代码

基于联通SGIP协议的短信发送代码public class Send {// private static Logger log = LogManager.getLogger("send");private static String SPNumber = "xxxx";//接入号码private static String ChargeNumber = "000000000000000000000"; // 计费号码,我们是白名单private static String ServiceType = "xxxxx";//服务类型private static String host = "xxx.xxx.xxx.xxx"; // 主机名,网关IPprivate static int port = 8881; // 端口号,这里特别注意下,接入协议中写的是8804,害得我调了很久,后来才知道改了,所以,这个在接入前,建议与网关人员确定private static String CorpId = "xxxxx"; // 企业代码private static String login_Name = "xxxxxxxx"; // 登陆名private static String login_PassWord = "xxxxxxx"; // 登陆密码public static void main(String[] args) throws UnsupportedEncodingException {int srcnode =new BigInteger("30000+企业代码").intV alue(); //源节点编号,这一步非常重要,华为包中,该字段类型为int,而接入协议中要求在企业代码前加上30000,这样就超过了int的取值范围,所以需要用BigInteger转一下就可以了Args argstr = new Args();argstr.set("host", host);argstr.set("port", port);argstr.set("transaction-timeout", 10); // 操作超时时间(单位:秒)argstr.set("read-timeout", 15); // 物理连接读操作超时时间(单位:秒)argstr.set("source-addr", srcnode); // SP…ID(最大为六位字符)argstr.set("login-name", login_Name);argstr.set("login-pass", login_PassWord);argstr.set("debug", "true");// 连接登陆zhuxiao5SGIPSMProxy sgipsmp = new SGIPSMProxy(argstr); // 这里try {boolean reslut = sgipsmp.connect(login_Name, login_PassWord); // 登陆得到true和falseSystem.out.println("reslut:::::::" + reslut);if (reslut) {System.out.println("连接成功...........");} else {System.out.println("连接失败(用户名或密码错误)...........");return;}} catch (Exception ex) {System.out.println("网络异常...........");ex.printStackTrace();return;}String[] UserNumber = { "86156xxxxxxxx","86156xxxxxxxx"};//接收短信的手机号码,前边要加上86String content = "短信测试内容";byte[] MessageContent = content.getBytes("GB2312");try {// 下发短息SGIPSubmitMessage sgipsubmit = new SGIPSubmitMessage(SPNumber, // SP的接入号码ChargeNumber, // 付费号码stringUserNumber, // 接收该短消息的手机号,最多100个号码string[]CorpId, // 企业代码,取值范围为0~99999 stringServiceType, // 业务代码,由SP定义stirng03, // 计费类型int"0", // 该条短消息的收费值stirng"0", // 赠送用户的话费string0, // 代收费标志0:应收1:实收int0, // 引起MT消息的原因int06, // 优先级0~9从低到高,默认为0 intnull, // 短消息寿命的终止时间datenull, // 短消息定时发送的时间date1, // 状态报告标记int0, // GSM协议类型int0, // GSM协议类型int15, // 短消息的编码格式int0, // 信息类型intMessageContent.length, // 短消息内容长度intMessageContent, // 短消息的内容btye[]"0" // 保留,扩展用string);// 收到的响应消息转换成repint status = ProcessSubmitRep(sgipsmp.send(sgipsubmit));System.out.println(status);if (status == 0) {System.out.println("消息发送成功..........");} else {System.out.println("消息发送失败..........");}} catch (Exception ex) {// log.error("发送消息异常:"+ex.getMessage(),ex);ex.printStackTrace();}}private static int ProcessSubmitRep(SGIPMessage msg) {// 收到的响应消息转换成repMsgSGIPSubmitRepMessage repMsg = (SGIPSubmitRepMessage) msg;System.out.println(repMsg.getSrcNodeId());System.out.println("status:::::::" + repMsg.getResult());if (repMsg != null && repMsg.getResult() == 0) {System.out.println("发送成功:::");}return repMsg.getResult();}}。

联通短信服务代码

联通短信服务代码

IPADTTY/IPAD 天天赢
其他指令集 业务 :WLAN免费业务开通 :WLAN套餐退订 :WLAN业务密码重置 :WLAN业务退订 :WLAN业务状态查询 帐户余额查询 短号组网取消 QXYY32 SWCS 修改亲情在线号码 短号组网加入 短号组网加入 取消亲情在线 查询亲情在线号码 归属地查询 当前套餐资费查询 查询自己短号 短号组网加入 PUK码查询 短号组网加入 客户经理查询 新定向长途业务了解 国际业务包 查询长短号 查询推荐数目 积分查询 手机音乐礼包取消 密码修改 重置密码
设置亲情在线号码 国际业务包 更改资费
ZJQQ CXGJCTTB2 DHTC
用户接收短信内容说明 回复格式(示意) (一)活动规则:■■为答谢中国联通用户,支付宝与中国联通公司联合推出此 活动。凡活动期间2011年03月05号---2011年04月04号在中国联通网上营业厅 (),通过支付宝支付功能交费(包括用银行卡为手机、固话交 费、用银行卡为手机、固话充值和购买充值卡)成功并达到规定金额的用户都有 机会参加抽奖。其中,交费金额(以实际支付金额为准)达到40元的用户可参与 抽取红包,每天8个名额;交费金额(以实际支付金额为准)达到90元的用户还 可参与抽取iPad大奖,每天一台。■■(二)活动时间:■■2011年3月5日起至 2011年4月4日。■■(三)抽奖及领奖等活动详情请登录中国联通网上营业厅 。 无线上网卡业务是基于移动通信网络,为计算机用户提供在3G移动通信网络覆盖 范围内任何地点高速无线上网的服务。 手机上网业务是指用户采用手机终端通过移动网络接入互联网获得音乐、资讯、 娱乐、商务、生活等信息服务。 手机搜索通过移动通信网络和移动终端,利用中国联通3G门户内的搜索引擎入 口,为移动用户提供所需信息的服务,可搜索站内和站外信息。 手机音乐是为用户提供的一项综合音乐服务,用户可以通过音乐手机客户端或音 乐门户(WEB、WAP、IVR等)使用音乐俱乐部、榜单查询、振铃、整曲、MV、在 线收听、炫铃、音乐搜索、音乐社区、音乐资讯等丰富多彩的音乐服务。 手机电视是通过手机电视的手机客户端或门户(WEB、WAP),基于移动网络,利 用流媒体、视频IVR等技术在移动终端上观看视频节目的业务。 手机报是一项资讯类业务,指与媒体机构合作,通过手机为用户提供各类资讯信 息的服务。手机报提供的资讯包括新闻、体育、娱乐、文化、生活、财经等,并 以具体“报刊”产品体现相关内容。 手机邮箱业务是通过固定或移动互联网络为手机用户提供的邮箱服务。手机邮箱 业务默认手机号码作为邮箱用户名,具有邮件到达实时通知功能,用户可以在电 脑或手机上收发、查阅、回复、转发和管理电子邮件及附件。 即时通信业务支持用户通过多种终端类型(PC、移动终端等)接入即时消息业务 系统,实现任何地方、任何时间的实时的信息交互。 手机阅读是通过多种方式为您提供各种手机读物的无线阅读服务。手机阅读提供 的读物内容包括图书、杂志、听书(有声读物),为您提供前所未有的手机阅读 新体验。 套餐月费46元,包国内流量150MB,包国内语音拨打分钟数50分钟,包多媒体内 容3个M,包文本内容5个T,包国内可视电话拨打分钟数5分钟,全国范围内(含 可视电话)接听免费,国内语音拨打超出部分按0.25元/分钟收取,国内可视电 话拨打超出部分按0.60元/分钟收取,超出流量部分按0.0003元/KB收取,其他执 行标准资费。 套餐月费66元,包国内流量300MB,包国内语音拨打分钟数50分钟,包多媒体内 容6个M,包文本内容10个T,包国内点对点短信发送240条,包国内可视电话拨打 分钟数10分钟,全国范围内(含可视电话)接听免费,国内语音拨打超出部分按 0.20元/分钟收取,国内可视电话拨打超出部分按0.60元/分钟收取,超出流量部 分按0.0003元/KB收取,其他执行标准资费。 套餐月费96元,包国内语音拨打分钟数240分钟,包国内流量300MB,包多媒体内 容12个M,包文本内容20个T,包国内可视电话拨打分钟数10分钟,全国(含可视 电话)接听免费,国内语音拨打超出部分按0.15元/分钟收取,国内可视电话拨 打超出部分按0.60元/分钟收取,超出流量部分按0.0003元/KB收取,其他执行标 准资费。

中国联合通信公司短消息网关系统接口协议(SGIP1

中国联合通信公司短消息网关系统接口协议(SGIP1

中国联合通信公司短消息网关系统接口协议(SGIP)版本1.2中国联合通信公司二零零一年十月目录1概述ﻩ错误!未定义书签。

1.1协议说明ﻩ错误!未定义书签。

1.2适用范围............................................................................. 错误!未定义书签。

1.3参考资料............................................................................ 错误!未定义书签。

1.4术语表ﻩ错误!未定义书签。

2系统体系结构ﻩ错误!未定义书签。

2.1消息从本地SMSC到本地SPﻩ错误!未定义书签。

2.2消息从本地SP到本地SMSC......................................... 错误!未定义书签。

2.3消息从本地SMSC到异地SPﻩ错误!未定义书签。

2.4消息从本地SP到异地SMSCﻩ错误!未定义书签。

2.5路由选择 (3)3ﻩ通信流程ﻩ错误!未定义书签。

3.1专用SGIP方式 ............................................................... 错误!未定义书签。

3.2通用HTTP方式. (5)3.3通信节点编号规则ﻩ错误!未定义书签。

3.4序列号的定义....................................................................... 错误!未定义书签。

3.5通信的安全性ﻩ错误!未定义书签。

3.6用户鉴权............................................................................ 错误!未定义书签。

3.6.1被叫方付费ﻩ错误!未定义书签。

短信平台源代码

短信平台源代码

北信正通电信级短信平台企信通平台(MC-SMS)产品说明书联系人:戴先生QQ:2247937678目录一. 平台概述 (2)二. 平台构架 (5)2.1 网络构架.......................................................................................... 错误!未定义书签。

2.2 系统构架.......................................................................................... 错误!未定义书签。

三. 功能模块 (6)一. 平台概述北信正通电信级短信平台MC-SMS,是一套全协议多链路跨平台可集群分布式的基于最底层通讯协议构架起来的一套电信级短信平台,与现有市场上的短信平台有着质的区别,应用于增值业务提供商(SP)、各级电信通道运营商及代理商、各种大中型电信通道应用商。

北信正通电信级短信平台MC-SMS在通讯模块、数据接受和发送模块、数据处理模块等方面据具有强大的海量处理能力。

平台支持现行运营商的所有短信通信协议(包括Cmpp3.0、Cmpp2.0、Sgip1.2、Sgip2.0、Isag\Ismp以及其他三方扩展协议),在通信方面采用多链路多队列集群方式,满足电信级用户的海量通信处理要求。

在业务接口方面,我们也做到了多样,灵活,简单,可靠,能满足客户各种业务需求,为第三方提了一个具有高度开放性,灵活性及可伸缩性的电信级应用解决方案。

北信正通电信级短信平台MC-SMS具有以下特点:1、全协议:北信正通电信级短信平台MC-SMS支持中国移动CMPP协议,支持中国联通SGIP 协议,支持中国电信SMGP协议,支持原中国网通CNGP协议,支持国际通信协议SMPP协议,同时,平台还支持新电信C网接入协议暨《中国电信综合业务接入网关_ISAG_开放接口协议》,另外,还支持多种自定义的Socket、Http及WebService等三方自定义协议;2、多链路:北信正通电信级短信平台采用多链路(Multi-Homing)方式接入各运营商网关,如一条链路出现故障时,将自动切换到其他链路;并在一条链路流量大时自动分配其余流量到其他的链路上,链路数以及链路处理机制的参数都是可以配置和调节的;3、多队列:所有的数据都是采用独立内存队列缓冲设计,这样能够最大限度的发挥内存的极致速度,加上可扩展的滑动窗口机制,能从容应对突发的爆发式信息的处理,而不至于系统有丝毫呆滞的感觉;同时也利于系统的分布式部署和复杂业务的扩展,同时又能为彻底解决系统处理的速度瓶颈提供支持;4、极致高效:所有协议都是基于最底层的Socket通讯实现,因此可以完全摒除冗余数据,使数据处理和传递效率得到极致发挥,充分发挥服务器Cpu、内存、硬盘之间的作用和效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于联通SGIP协议的短信发送代码
public class Send {
// private static Logger log = LogManager.getLogger("send");
private static String SPNumber = "xxxx";//接入号码
private static String ChargeNumber = "000000000000000000000"; // 计费号码,我们是白名单
private static String ServiceType = "xxxxx";//服务类型
private static String host = "xxx.xxx.xxx.xxx"; // 主机名,网关IP
private static int port = 8881; // 端口号,这里特别注意下,接入协议中写的是8804,害得我调了很久,后来才知道改了,所以,这个在接入前,建议与网关人员确定
private static String CorpId = "xxxxx"; // 企业代码
private static String login_Name = "xxxxxxxx"; // 登陆名
private static String login_PassWord = "xxxxxxx"; // 登陆密码
public static void main(String[] args) throws UnsupportedEncodingException {
int srcnode =new BigInteger("30000+企业代码").intValue(); //源节点编号,这一步非常重要,华为包中,该字段类型为int,而接入协议中要求在企业代码前加上30000,这样就超过了int的取值范围,所以需要用BigInteger转一下就可以了
Args argstr = new Args();
argstr.set("host", host);
argstr.set("port", port);
argstr.set("transaction-timeout", 10); // 操作超时时间(单位:秒)
argstr.set("read-timeout", 15); // 物理连接读操作超时时间(单位:秒)
argstr.set("source-addr", srcnode); // SP…ID(最大为六位字符)
argstr.set("login-name", login_Name);
argstr.set("login-pass", login_PassWord);
argstr.set("debug", "true");
// 连接登陆zhuxiao5
SGIPSMProxy sgipsmp = new SGIPSMProxy(argstr); // 这里
try {
boolean reslut = sgipsmp.connect(login_Name, login_PassWord); // 登陆得到true和false
System.out.println("reslut:::::::" + reslut);
if (reslut) {
System.out.println("连接成功...........");
} else {
System.out.println("连接失败(用户名或密码错误)...........");
return;
}
} catch (Exception ex) {
System.out.println("网络异常...........");
ex.printStackTrace();
return;
}
String[] UserNumber = { "86156xxxxxxxx","86156xxxxxxxx"};//接收短信的手机号码,前边要加上86
String content = "短信测试内容";
byte[] MessageContent = content.getBytes("GB2312");
try {
// 下发短息
SGIPSubmitMessage sgipsubmit = new SGIPSubmitMessage(
SPNumber, // SP的接入号码
ChargeNumber, // 付费号码string
UserNumber, // 接收该短消息的手机号,最多100个号码string[]
CorpId, // 企业代码,取值范围为0~99999 string
ServiceType, // 业务代码,由SP定义stirng
03, // 计费类型int
"0", // 该条短消息的收费值stirng
"0", // 赠送用户的话费string
0, // 代收费标志0:应收1:实收int
0, // 引起MT消息的原因int
06, // 优先级0~9从低到高,默认为0 int
null, // 短消息寿命的终止时间date
null, // 短消息定时发送的时间date
1, // 状态报告标记int
0, // GSM协议类型int
0, // GSM协议类型int
15, // 短消息的编码格式int
0, // 信息类型int
MessageContent.length, // 短消息内容长度int
MessageContent, // 短消息的内容btye[]
"0" // 保留,扩展用string
);
// 收到的响应消息转换成rep
int status = ProcessSubmitRep(sgipsmp.send(sgipsubmit));
System.out.println(status);
if (status == 0) {
System.out.println("消息发送成功..........");
} else {
System.out.println("消息发送失败..........");
}
} catch (Exception ex) {
// log.error("发送消息异常:"+ex.getMessage(),ex);
ex.printStackTrace();
}
}
private static int ProcessSubmitRep(SGIPMessage msg) {
// 收到的响应消息转换成repMsg
SGIPSubmitRepMessage repMsg = (SGIPSubmitRepMessage) msg;
System.out.println(repMsg.getSrcNodeId());
System.out.println("status:::::::" + repMsg.getResult());
if (repMsg != null && repMsg.getResult() == 0) {
System.out.println("发送成功:::");
}
return repMsg.getResult();
}
}。

相关文档
最新文档