客户端通过TCP连接到服务器(202.99.114.235:8020):
连接成功后客户端应首先发送注册串为:
Login Name=【注册名】&Pwd=【注册密码】&Type=【注册类型,0:接收和发送;1:接收;2:发送;默认为0】(回车换行)
如果所有服务注册成功,服务器返回给客户端字符串:
Pass(回车换行)
否则将断开连接。

指令集:
1:分发中心向服务方发送用户的短信请求,格式如下:

分发中心==>Deliver (空格)
CommandId=【命令标识,4字节整型,循环使用】
&GateName=【源网关名】
&ItemId=【节目标识】
&UserNumber=【用户号码】
&SpNumber=【服务号码,必须以9160开头】
&MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字;
24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字)】
&Msg:=【短信内容,经加码处理,需解码】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)

2:服务方向分发中心提交发送内容,格式如下:

服务方==>Submit (空格)
CommandId=【命令标识,4字节整型,循环使用】
&GateName=【目的网关名】,默认由分发中心根据手机号码决定目的网关名】
&ItemId=【节目标识】
&SpNumber=【服务号码,以9160开头】
&UserNumber=【目的用户号码,如果是群发将个号码之间用“,”隔开,注意最多只能有255个群发号码】
&FeeNumber=【计费号码,短信产生的费用由该号码承担,不填时默认向目的用户号码收费】
&FeeType=【计费类型,1:免费,需申请,2:按条计费,3:定制包月计费(同时要求ReportFlag=2)。默认:2】
&ScheduleTime=【定时发送时间,默认立即发送,格式举例:2002年09月10日20:08:00为:020910200800】
&ExpireTime=【短信寿命中止时间,格式举例:021201090508,默认为移动或联通(24小时后)中止时间】
&MtFlag=【*引起MT消息的原因,仅当向联通用户发短信时需要该参数,0-MO点播引起的第一条MT消息;1-MO点播引起的非第一条MT消息;
2-非MO点播引起的MT消息;3-系统反馈引起的MT消息。默认为0】
&ReportFlag=【状态报告标志,0:不需要 状态报告;1:无论成功与否都返回状态报告;2:该条消息仅携带包月计费信息,不下发给用户;
3:只有最后出错时要返回状态报告,默认:0】
注:在每次包月定制计费时都需发送一条内容为空串,ReportFlag=2,FeeType=3的记录,该短信不会下发给用户,仅用于告知网关向
该用户收取包月费用,在用户没有取消定制的情况下每月必须且只能发送一次。
&MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字;
24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字),123:铃声图片,内容为<LS,手机类型,铃声代码>或<TP,手机类型,图片代码>】
&MsgId=【用户自定义消息标识,推荐格式:月日时分秒+6位自递增码,例如:9月23日10:00:03发出的序号为1记录可定义为
923100003000001。自定义格式最大不超过20个字符且不能有需加码解码的特殊字符】
&ExtData:=【短信扩展数据,服务方短信发送的附加信息,在有报告反馈时会连带该扩展数据反馈给服务方,需加码处理,但加码后不能超过
120个字节长度。默认为空串】
&TP_pId=【GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9】
&TP_udhi=【GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐】
&Msg:=【短信内容,需加码处理】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)

3:分发中心向服务方发送报告,格式如下:

分发中心==>Report (空格)
CommandId=【命令标识,4字节整型,循环使用】
&GateName=【源网关名】
&MsgId=【服务方在Submit时写在MsgId参数中的值】
&ExtData=【服务方在Submit时写在ExtData参数中的值】
&State=【发送状态,0:向网关提交成功,1:向网关提交失败,2:发送成功,3:等待发送,4:发送失败,5:Submit参数错误】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)
注:只要是报告发送失败请先找原因,不要再重发,只要有错无论重发多少次都是失败。

4:分发中心为了测试服务方是否连接,会在等待1分钟未收到任何数据发送测试指令,该指令也可由服务方主动发起:

分发中心或服务方==>ActiveTest CommandId=【命令标识,4字节整型,循环使用】(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)

5:无论分发中心还是服务方,只要3分钟之内未收到任何数据要主动断开连接,对于服务方在断开后重新连接。

客户端通过HTTP连接到服务器(202.99.114.235:8030):
1:服务方向分发中心提交发送内容,格式如下:

服务方==>http://202.99.114.235:8030/Submit (空格)
CommandId=【命令标识,4字节整型,循环使用】
&Name=【注册名】
&Pwd=【注册密码】
&GateName=【目的网关名】,默认由分发中心根据手机号码决定目的网关名】
&ItemId=【节目标识】
&SpNumber=【服务号码,以9160开头】
&UserNumber=【目的用户号码,如果是群发将个号码之间用“,”隔开,注意最多只能有255个群发号码】
&FeeNumber=【计费号码,短信产生的费用由该号码承担,不填时默认向目的用户号码收费】
&FeeType=【计费类型,1:免费,需申请,2:按条计费,3:定制包月计费(同时要求ReportFlag=2)。默认:2】
&ScheduleTime=【定时发送时间,默认立即发送,格式举例:2002年09月10日20:08:00为:020910200800】
&ExpireTime=【短信寿命中止时间,格式举例:021201090508,默认为移动或联通(24小时后)中止时间】
&MtFlag=【*引起MT消息的原因,仅当向联通用户发短信时需要该参数,0-MO点播引起的第一条MT消息;1-MO点播引起的非第一条MT消息;
2-非MO点播引起的MT消息;3-系统反馈引起的MT消息。默认为0】
&ReportFlag=【状态报告标志,0:不需要 状态报告;1:无论成功与否都返回状态报告;2:该条消息仅携带包月计费信息,不下发给用户;
3:只有最后出错时要返回状态报告,默认:0】
注:在每次包月定制计费时都需发送一条内容为空串,ReportFlag=2,FeeType=3的记录,该短信不会下发给用户,仅用于告知网关向
该用户收取包月费用,在用户没有取消定制的情况下每月必须且只能发送一次。
&MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字;
24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字),123:铃声图片,内容为<LS,手机类型,铃声代码>或<TP,手机类型,图片代码>】
&MsgId=【用户自定义消息标识,推荐格式:年月日时分秒+6位自递增码,例如:9月23日10:00:03发出的序号为1记录可定义为
923100003000001。自定义格式最大不超过20个字符且不能有需加码解码的特殊字符】
&ExtData:=【短信扩展数据,服务方短信发送的附加信息,在有报告反馈时会连带该扩展数据反馈给服务方,需加码处理,但加码后不能超过
120个字节长度。默认为空串】
&TP_pId=【GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9】
&TP_udhi=【GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐】
&Msg:=【短信内容,需加码处理】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)

2:接收短信
分发中心==>【服务方HTTP链接地址】?
Command=deliver【该指令表示接收到用户短信】
&CommandId=【命令标识,4字节整型,循环使用】
&GateName=【源网关名】
&ItemId=【节目标识】
&UserNumber=【用户号码】
&SpNumber=【服务号码,必须以9160开头】
&MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字;
24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字)】
&Msg:=【短信内容,经加码处理,需解码】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)

3:分发中心向服务方发送报告,格式如下:

分发中心==>【服务方HTTP链接地址】?
Command=report 
&CommandId=【命令标识,4字节整型,循环使用】
&GateName=【源网关名】
&MsgId=【服务方在Submit时写在MsgId参数中的值】
&ExtData=【服务方在Submit时写在ExtData参数中的值】
&State=【发送状态,0:向网关提交成功,1:向网关提交失败,2:发送成功,3:等待发送,4:发送失败,5:Submit参数错误】
(回车换行)

回应:Received CommandId=【对应于发送时的命令标识】(回车换行)
注:只要是报告发送失败请先找原因,不要再重发,只要有错无论重发多少次都是失败。

加码解码规则:
加码时将字符串中的所有字符转换成其对应的ASCII值的16进制值,例如:“A”的ASCII码值为65,以16进制值表示为41,故应发送两个字符
“41”以代表字符“A”。对于汉字则以其内码的16进制值来表示,如“测试”应为:B2E2CAD4。参数中只要参数标识与内容之间用
“:=”连接的都需要解码后方可使用,解码时将没两位当成其ASCII值的16进制值将其还原。

注: 
1、命令和回应并非一个命令完了后紧接者就回应,服务方可一次发出许多条指令,可能在若干条后才陆续收到回应,根据“Received”的
“CommandId”可知道是对于哪一条发出指令的回应。
2、指令和参数标识不区分大小写,但各参数内容区分大小写。
3、不需要的参数可不参与发送,此时系统认为该参数值为系统默认值。同时所有参数的位置并不固定,请不要按照位置获取特定参数值。
4、信息发送方对于参数如果进行过加码处理的其参数标识和参数之间用“:=”连接,否则用“=”连接。同样对于接收方,只要发现参数标识和
参数之间用“:=”连接,接收方必须对参数内容进行解码方可使用。
5、当注册类型为发送,回应内容也是从该通道反馈,但报告的反馈是从同注册名的接收注册通道反馈的。
6、新网关测试需向鸿讯要求提供测试的注册名和密码。
7、Http接收短信要求提供接收的链接地址。
8、Http接收和发送的流量无法提供很大,因此需求流量大且要求即时发送时建议选用Tcp协议连接。
9、包月计费信息在Submit时要求必须ReportFlag=2,FeeType=3。
10、对于向联通用户的Submit参数MtFlag必须填写。对于移动用户即时填写了参数MtFlag也会被忽略。

联通 SIGP 手机短信接口标准相关推荐

  1. 短信发送显示服务器失败,手机短信发不出去怎么办 手机故障解决方法【方法步骤】...

    手机短信发不出去怎么办? 短信可以由移动通信终端(手机)始发,也可由移动网络运营商的短信平台服务器始发,还可由与移动运营商短信平台互联的网络业务提供商SP(包括ICP.ISP等)始发.平常我们除了打电 ...

  2. JAVA发送手机短信,httpclient短信发送接口示例(java)

    httpclient短信发送接口示例(java),可用于直接用电脑发送短信,可根据实际情况,与联通移动公司洽谈接口,完成网上发送短信功能,如需jar包,可向联通移动公司项目部沟通. package c ...

  3. 联通不断发短信-尊敬的用户请回复以下编码办理业务:599

    最近联通一天一条短信,拉进黑名单吧又怕会有其他有用的信息,于是想解决一下这个问题,搜了搜网上似乎指出是手机管家的问题(后台自己更新流量信息,触发了联通的业务短信服务),猜测小米手机也是,于是打开安全中 ...

  4. 全国手机短信中心号码

    全国手机短信中心号码 手机不能正常收发短信的根本原因在于短信中心号码设置有误,水货手机或者港行的机子短信中心号码一般都不是大陆的短信中心号码,行货手机刷机或者复位后也会变成出厂时的短信设置,一般是上海 ...

  5. 手机短信服务接口合作协议原理与分析

    1 短信协议 1.1 分发中心接口 分发中心接口分为TCP接口和HTTP接口协议,都用的是文本指令方式,也就是说每条指令都是以回程换行结束的,服务端只有接收到回程换行才会进入指令处理.  为了安全,无 ...

  6. 手机短信验证服务,为个人信息安全提供保障

    近年来,随着科技的不断创新与进步,电子商务网站已经成为了人们日常生活中不可缺少的一部分.与传统商务模式相比,电子商务的确有着其无可比拟的巨大优势,随着电子商务的不断兴盛,也衍生了许许多多的新兴服务产业 ...

  7. android 短信 失败怎么办,手机短信发不出去怎么办 手机故障解决方法【方法步骤】...

    手机短信发不出去怎么办? 短信可以由移动通信终端(手机)始发,也可由移动网络运营商的短信平台服务器始发,还可由与移动运营商短信平台互联的网络业务提供商SP(包括ICP.ISP等)始发.平常我们除了打电 ...

  8. Android 集成Mob实现手机短信验证码

    项目中集成MOB.com提供的三方短信SDK. 当然这些短信都是免费的.并且可以在您申请的MOB.com后台去查看短信注册用户的相关信息. 这篇文后半部分会提供一个简单的验证短信Demo,有界面,当然 ...

  9. 为 Asp.net 网站新增发送手机短信功能

    本文旨在帮助那些为网站发送手机短信正在寻求解决方案还未最终找到解决方案的朋友提供参考. 适合人群 须满足一下条件之一,如果以下3个条件您都不满足,为节约您宝贵的时间,请终止阅读本篇文章. 条件如下: ...

最新文章

  1. mysql参数文件选项组_my.cnf文件关于组选项的总结
  2. 为什么有些画面让你终生难忘?GAN来告诉你原因
  3. 换硬币c语言编程_如何才能成为编程高手?别人都不告诉你的东西,我来说给你听...
  4. 专家提醒:计算机专业毕业生求职三要点!
  5. 看看这些大龄程序员都做了些什么
  6. VTK:饼图动画用法实战
  7. 遍历所有点的最短路径python_所有节点最短路径
  8. A Complete Machine Learning Walk-Through in Python
  9. JavaScript内置对象Date----格式化时间
  10. 计算机专业中agp是什么意思,计算机中AGP是什么意思及其特性介绍
  11. 用SSAS将多个FLV和MP3合成一个FLV文件
  12. 微型计算机的主要,微型计算机组成,微型计算机主要由什么组成
  13. swift python 性能_Swift 性能探索和优化分析
  14. 初尝Spring Cloud Config
  15. LintCode_13 字符串查找
  16. 如何安装.net framework?Win11安装net framework的方法
  17. Voicemeeter Potato —— Windows 平台下的终极虚拟音频混音器
  18. 找不到本地计算机策略组,Win10家庭版找不到本地组策略gpedit.msc解决办法
  19. 革命三部曲系列——《邪不压正》中,究竟布了多大的一个局!
  20. 【MATLAB】进阶绘图 ( 双 y 轴图形 | plotyy 函数 | Histogram 统计图形 | hist 函数 )

热门文章

  1. linux 打开防火墙和关闭防火墙
  2. ubuntu+vscode+C/C++与单步调试
  3. python爬虫 之 完整代码
  4. 1688获得店铺所有商品API调用展示
  5. 首席信息官面临的三个云计算咒语
  6. 剧情反转,国产机创新不断,苹果无奈降价不断
  7. IOS音视频(三)AVFoundation 播放和录音
  8. java计算机毕业设计水星家纺网站源码+系统+数据库+lw文档+mybatis+运行部署
  9. java随机点名器的思路_JAVA基础 随机点名器案例
  10. 【干货】Spring的生命周期(持续更新)