在动手之前google了一下相关资料,查了下规范更正了以前的错误理解:以前以为是与短信头有关,现在才明白原来只是在内容里面增加协议头就可以了,但怎么让短信网关知道你发的是长短信呢?TP_udhi 设置为1即可.
TP_udhi设置好了,就要组装协议头了,GSM 03.40规范中说协议头有两种,分别是长度为6和长度为7的协议头,我用的是长度为6的协议头,格式如下:
6位协议头格式:05 00 03 XX MM NN
byte 1 : 05, 表示剩余协议头的长度
byte 2 : 00, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为1(格式中的XX值)。
byte 3 : 03, 这个值表示剩下短信标识的长度
byte 4 : XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
byte 5 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。
byte 6 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
例如:05 00 03 39 02 01
用JAVA代码的话可以新建这样一个字节数组,然后后面加上UTF-8转换后的短信内容得字节数组就可以了
byte[] tp_udhiHead=new byte[6];
tp_udhiHead[0]=0x05;
tp_udhiHead[1]=0x00;
tp_udhiHead[2]=0x03;
tp_udhiHead[3]=0x0A;//每条长短信的唯一标示
tp_udhiHead[4]=(byte)contentArrCount;
tp_udhiHead[5]=0x01;//默认为第一条
注意事项:(从google上搜来的,基本上也就遇到这些问题)
1、TP_udhi设置为 0x01
2、Msg_Content 按TP_udhi协议填写6字节或者7字节的TP_udhi协议头然后加上经过USC2编码的消息内容。由TP_udhi协议头和消息内容体组成的Msg_Content总长度不能超过140个字节
3、Msg_Fmt 设置为 0x08 UCS2编码;
4、Pk_total和Pk_number 可以不设置,如果要设置,就要分别跟TP_udhi的MM和NN字段一致
感觉用JAVA做这样的东西比较麻烦,要转换过来转换过去的.
分享到:
相关推荐
用C语言设计PDU正常短信以及长短信的编码解码
虽然网上有很多关于 利用CMPP、SGIP协议等发送超长短信发送格式说明,但是不够直观,本处结合现网运行5年的经验总结更详细,更直观。
SIM900A 短信发送 加超 长短信 注解
delphi7开发,短信猫、手机串口连接电脑,PUD发送长短信。短信接收、删除。 GSM。
短信猫 AT 发送 接收短信 长短短信 短信猫 AT 发送 接收短信 长短短信 短信猫 AT 发送 接收短信 长短短信 一个简单的DEMO 本人测试
两种方式发送短信,发送长短信两种方式的区别,群发短信
控件提供必要接口可以实现普通汉字短信(最长70个汉字)、普通英文短信(使用7Bit编码,单条最长160字节)、超长汉字短信(拆分后每条63个汉字)、超长英文短信(使用7Bit编码,每条152字节)的发送和接收功能;
超长短信软件是一款具备最多249汉字超长短信发送能力的软件,并集成有客户名片管理、AA发送、自动回复等功能。是一款专业的企业短信办公平台 【资料来源】http://www.sms-hb.com 深圳汉邦科技 电话:0755-36537765...
完美实现GSM模块发送中文PDU格式短信,包含常用字库
系统介绍:本程序是一套极具通用性的中间件服务系统,该版本在界面上设计上简单易上手,无需注册即可免费使用,系统支持多个短信猫的并发进程,支持发送超长短信,短信收发效率高,短信设备离线可以自动重连。...
长短信需要由SP侧做好拆分工作,再提交到行业短信网关。网关对SP提交上来拆分好的长短信做透传处理 ...文档帮助大家解决开发过程中使用电信smgp协议不能发送长短信问题,参考文档中的设置解决困扰
1、发送短信字符过长会导致发送失败 解决方法:设置发送每条短信为70个字以内。 原理:每条短信限制160字符以内,每个汉字是2个字符。平时我们发送短信几乎不限长度,是因为一旦超过了单条短信的长度,手机会自动分...
中国移动短信网关模拟器支持cmpp2.0
详细描述聊如何构建PUD数据包、如何开发超长短信、以及7bit编码
3、支持发送长短信,与现有的GSM手机具有同等的短信功能支持。 4、支持接收长短信,接收显示和手机发送的字数和格式完全一致。 5、支持发送状态回执,解决了短信发出去不能确切知道短信到达状况的问题。 6、UNICODE...
"GSM && GPRS 短信猫网关"是一款以数据库为接口的短信收发中间件,系统界面友好易懂,用户操作极易上手,支持多个短信猫的并发进程,支持发送超长短信,短信收发效率高,短信设备离线可以自动重连。 本程序是一套极具...
短信猫C#、asp.net webservice发短信
发送短信,长短信,群发短信.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
myMNo字段(字符型,长20):发送短信手机的号码 myMPass字段(字符型,长30):发送短信手机的飞信密码 toMNo字段(字符型,长250):接收短信手机的号码,多个接收号码可以用逗号","分开 (是飞信好友才会发送成功,当与发送...
实时检测数据库发送的短信猫,不支持长短信