`
teamojiao
  • 浏览: 343936 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

超长短信的处理办法

 
阅读更多

超长短信的处理办法

GSM 03.40规范(TP-06 1999-12-15 7.4.0)中规定了SME对于超长短信的合并处理。规范制定至今,已经超过6年,绝大多数正在使用的手机,都支持这一功能。

CMPP协议中,CMPP_SUBMIT_MESSAGE中有两个字段pk_total和pk_numer,恰看起来,这就是发送超长短信的设置参数,其实不然,这两个参数的设置,应该是没有用处。

发送超长短信,需要做两件事情:设置TP_udhi的值设置为1,在消息正文中增加协议头。协议后可以两种格式,分别是长度为6和长度为7的协议头。格式如下:
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

7位的协议头格式:06 08 04 XX XX MM NN
byte 1 : 06, 表示剩余协议头的长度
byte 2 : 08, 这个值在GSM 03.40规范9.2.3.24.1中规定,表示随后的这批超长短信的标识位长度为2(格式中的XX值)。
byte 3 : 04, 这个值表示剩下短信标识的长度
byte 4-5 : XX XX,这批短信的唯一标志,事实上,SME(手机或者SP)把消息合并完之后,就重新记录,所以这个标志是否唯一并不是很重要。
byte 6 : MM, 这批短信的数量。如果一个超长短信总共5条,这里的值就是5。
byte 7 : NN, 这批短信的数量。如果当前短信是这批短信中的第一条的值是1,第二条的值是2。
例如:06 08 04 00 39 02 01

7位协议头和6位协议头的区别是,6位协议头短信的标识字段是1个byte,而7位协议头短信的标志字段为2个byte。大多手机采用6位的协议头,也就是05 00 03 XX MM NN。

发送的短信这么处理,接受短信反过来就可以了。上述内容,在CMPP协议以及多款手机上经过测试验证。
分享到:
评论
1 楼 wenshao 2010-03-22  
这篇文章是我写的,你转载了也不注明出处。
http://www.cnblogs.com/jobs/archive/2006/11/29/445584.html

相关推荐

    中国移动通信CMPP3.0短消息网关开发接口

    运行稳定。经过五年在线运行,目前在全国有超过100家SP采用CMPP2API接口库。 效率高,资源占用率低。...支持自动重连,活动检测,超长短信的功能。参数定制性强,可以同时连接多个网关进行消息收发。

    网络安全知识测试.pdf

    15、为了防御网络监听,最常用的方法是 ()[单选题] * A、采用物理传输(非网络) B、信息加密(正确答案) C、无线网 D、使用专线传输 16. 16、向有限的空间输入超长的字符串是哪一种攻击手段?()[单选题] * A、缓冲...

    PHP程序开发范例宝典III

    实例178 超长文本的分页显示 276 实例179 查询结果的分栏显示 278 实例180 分类、分栏和分页的综合应用 279 第7章 PHP与其他数据库技术 283 7.1 PHP操纵ACCESS数据库 284 实例181 通过ADO方式连接ACCESS...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例307 打印超长字符串自动换行 实例308 批量打印文档 实例309 实现横向打印 实例310 设置打印纸大小 实例311 获取打印纸的左边距和上边距 10.11 打印预览 实例312 修改文档/视图结构默认的打印预栏工具栏 ...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例307 打印超长字符串自动换行 实例308 批量打印文档 实例309 实现横向打印 实例310 设置打印纸大小 实例311 获取打印纸的左边距和上边距 10.11 打印预览 实例312 修改文档/视图结构默认的打印预栏工具栏 ...

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例235 SQL语句的应用方法   cc实例236 SQL语句的模糊查询   cc实例237 利用查询语句复制表结构   9.2 查询控件   cc实例238 查询指定控件内字符串   cc实例239 查询日期控件内数据   cc实例...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例235 SQL语句的应用方法   cc实例236 SQL语句的模糊查询   cc实例237 利用查询语句复制表结构   9.2 查询控件   cc实例238 查询指定控件内字符串   cc实例239 查询日期控件内数据   cc实例...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    3.3 图片效果 cc实例089 图片马赛克效果 cc实例090 图片百叶窗效果 cc实例091 电影胶片特效 cc实例092 翻转图片效果 3.4 图片颜色转换 cc实例093 图像的锐化处理 cc实例094 图片反色处理 cc实例095 ...

Global site tag (gtag.js) - Google Analytics