Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

路漫漫,长修远,我们不能没有钱

基于cmpp协议的超长短信格式

//当短信超过70个汉字时短信的第一部分
E0 00 00 00               //4byte 数据总长度
05 00 00 00               //4byte 命令号
3F 38 0B 01               //4byte 流水号
31 3B 6E 0B A2 84 61 F0   //8byte msg_id
30 35 37 37 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  //21byte Dest_Id
00 00 00 00 00 00 00 00 00 00  //10byte  Service_Id
00                        //1byte TP_pid
01                        //1byte TP_udhi
08                        //1byte Msg_Fmt
38 36 31 33 37 35 30 32 34 33 33 30 33 00 00 00 00 00 00 00 00  //21byte Src_terminal_Id
00                        //Registered_Delivery
8B                        //Msg_Length

06                        //表示超长短信头信息的长度
08                        //表示以两个字节的数字mod 65536 作为一条超长短信的标识
00 2A                     //定义了一条超长短信的标识号

02                        //超长短信总条数
01                        //序号
00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 00 61 4E 00 4E 2A 4E BA 6C 11 4E 3B 4E 49 52 A1 5B 9E 57 28 8F D9 4E 2A 4E BA 6C 11 4E 3B 4E 49 52 A1 5B 9E 57 28 8F D9 4E 2A 4E BA 6C 11 4E 3B 4E 49 52 A1 5B 9E 57 28 8F D9 4E 2A 4E BA 6C 11 4E 3B 4E 49 52 A1 5B 9E 57 28 8F D9 4E 2A 4E BA 6C 11 4E 3B 4E 49 52 A1 5B 9E 57 28 8F D9 4E 2A 4E BA 6C 11 4E 3B 00 61 00 61 00 61 00 61 00 61 00 61  //短信内容
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00   //8byte Reserved


//当短信超过70个汉字时短信的第二部分
78 00 00 00
05 00 00 00
49 38 0B 01
31 3B 74 8B A2 84 62 0D
30 35 37 37 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00
01
08
38 36 31 33 37 35 30 32 34 33 33 30 33 00 00 00 00 00 00 00 00
00
23

06 08 04 00 2A           //06表示短信正文内容从6+2的位置开始读取
02                       //超长短信总条数
02                       //序号
00 61 00 61 00 61 00 61 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62 00 62  //短信内容
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 //8byte Reserved

posted on 2006-02-20 09:36 Khan 阅读(6797) 评论(17)  编辑 收藏 引用 所属分类: 周边技术

评论

# re: 基于cmpp协议的超长短信格式 2006-02-22 10:02 cmpp3

请问怎么判断是超长短信呢?
06 08 04 00 2A //06表示短信正文内容从6+2的位置开始读取《-这部分不是固定的
有时候也有5 0 3 13 开头的  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-02-22 10:05 Khan's Notebook

是啊,不同品牌的终端 这段也不相同,多测试几个就知道了,我当时只测试了nokia的,好象siemens的这段数据有些不同  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-02-23 11:34 CMPP3

楼主,有时候收到msgfrm=8 信息中有00 A0这个两字,但转换完后就变成乱码?,楼主有没有遇到这种情况??  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-02-23 11:39 Khan's Notebook

msgfrm=8?
我没有太注意  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-02-23 12:02 cmpp3

msgfrm=8 就是UCS2啊
  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-02-23 12:33 Khan's Notebook

没有注意过  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-03-10 15:30 Khan's Notebook

# re: 基于cmpp协议的超长短信格式
msgfrm=8 就是UCS2啊
cmpp3


刚刚才发现你说d 应该是msg_fmt=8 这个才是ucs2编码
你自己看过上面的数据包就应该发现,这个数据包的msg_fmt也同样=8
所以我不确定你负责解码部分代码的正确性  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-03-16 18:13 游客

如果用cmpp协议的话,怎么设置内容呢?
byte[] flagByte = new byte[7];
flagByte[0] = (byte)6;
flagByte[1] = (byte)8;
flagByte[2] = (byte)4;
flagByte[3] = (byte)0;
flagByte[4] = (byte)42;
flagByte[5] = (byte)2;
flagByte[6] = (byte)1;
将这个数组的内容加在协议的msgContent前面嘛?

不过这样做了,好像不行  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-06-08 08:08 刘昱

非常感谢!
你是从什么地方知道叫做cmpp协议的???  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-07-06 11:45 summerchow

楼主现在说的是从移动网关发过来的超长短信,能讲一下,SP和ISMG之间发送超长短信的过程吗?谢谢  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-09-11 18:50 hb

。。。。。。。。。。。。。。。。这笔记好象是我的  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-09-11 19:03 思春贴调查员(Khan)

# re: 基于cmpp协议的超长短信格式
非常感谢!
你是从什么地方知道叫做cmpp协议的???

我本来就是从cmpp的数据包中解析出来的  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-09-11 19:05 思春贴调查员(Khan)

如果用cmpp协议的话,怎么设置内容呢?

这里是接收部分的数据包解析,
发送部分你对照cmpp协议的submit数据包就可以了  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2006-09-11 19:06 思春贴调查员(Khan)

楼主现在说的是从移动网关发过来的超长短信,能讲一下,SP和ISMG之间发送超长短信的过程吗?谢谢

过程部分参阅移动的cmpp协议, 相当详细,网上很多下载  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2007-04-24 16:58 小和尚

06 08 04 00 2A //06表示短信正文内容从6+2的位置开始读取
说明楼主的一个错误
06表示超长短信头信息的长度
08表示以两个字节的数字mod 65536 作为一条超长短信的标识
002a定义了一条超长短信的标识号
  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2007-04-24 17:24 Khan's Notebook

受教了受教了..这几个字节找不到资料..有没有办法分析..所以自己瞎猜的..谢谢楼上了  回复  更多评论   

# re: 基于cmpp协议的超长短信格式 2009-06-15 11:33 小陈

GG,能否给我一份代码,跪谢!chrc@163.com  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

公告

短信大全 for android 1.5
豌豆荚一键安装

现在时刻

IM在线情况:
点击这里给我发消息

常用链接

留言簿(33)

随笔分类(218)

随笔档案(163)

相册

技术

友情链接

最新随笔

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜