各位大虾请进,急求CDMA短信编码问题

leixp3636 2009-02-26 02:38:11
如题,小弟要用MFC做一个测试GSM和CDMA终端能否发短信的程序,现在GSM已经可以测试,是用的PDU编码

但是请教CDMA中如何对短信进行编码?谢谢

下面是小弟在CDMA模式下收到的一条短信(未解码)

00 00 02 10 02 02 07 02 c4 cd 99 98 58 e0 06 01 04 08 16 00 03 10 00 30 01 04 10 16 1d 40 03 06 09 02 25 13 19 43 0a 01 00

谢谢大家了
...全文
698 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yellowhwb 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 leixp3636 的回复:]
哦,知道了是NUM_FIELDS,我看漏了
[/Quote]
:)
alan001 2009-02-27
  • 打赏
  • 举报
回复
学习学习
leixp3636 2009-02-27
  • 打赏
  • 举报
回复
哦,知道了是NUM_FIELDS,我看漏了
leixp3636 2009-02-27
  • 打赏
  • 举报
回复
谢谢,我还有一点疑问,麻烦指点下
Address Parameters
0x02,0x07,0x02,0xC4,0xCD,0x99,0x98,0x58,0xE0,
是13366661638发过来的
0x02是发送或接收
0x07是长度
0x02,0xC4,0xCD,0x99,0x98,0x58,0xE0, 转换成2进制是
00000010 11000100 11001101 10011001 10011000 01011000 11100000

13366661638用二进制表示是:
0001 0011 0011 0110 0110 0110 0110 0001 0110 0011 1000

刚好可以匹配
00000010 11“000100 11001101 10011001 10011000 01011000 111000”00 的中间一段

对于前面的00000010 11
如果第1位的‘0’是DIGIT_MODE
第2位的‘0’是NUMBER_MODE
那么跟着后面的“00001011”是指什么?


小弟在线等,拜托了,谢谢
  • 打赏
  • 举报
回复
进来学习下.
leixp3636 2009-02-26
  • 打赏
  • 举报
回复
谢谢,我先看看,

小弟在线等大侠帮我把其它打包,希望大侠快点有空。。。
yellowhwb 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 leixp3636 的回复:]
呵呵,说最简单的就是
怎么把短信号码(比如13312345678)和内容(test)
变成这串代码
另外,这种方式不用设置短信中心什么的吗?


我不用支持中文,只是测试能不能发,

太感谢了,小弟加分

[/Quote]
cdma是不用设置MC号码的
你所说的把号码,和内容打包,就是编码的过程,你想要自己拼出一条短信的话,就要了解协议的字段,否则无法拼出来!

=============================
我可以帮你打包teleservice层的bear data,就是上面最后一个数据
Bearer Data
0x08,0x16,0x00,0x03,0x10,0x00,0x30,0x01,0x04,0x10,0x16,0x1D,0x40,0x03,0x06,0x09,0x02,0x25,0x13,0x19,0x43,0x0A,0x01,0x00

换成
0x08,0x15
0x00,0x03,0x2F,0xFF,0xF0, //Message ID
0x01,0x06,0x10,0x27,0x4C,0xBC,0xFA,0x00,//user data,就是内容“test”,已经打包为7bit数据
0x03,0x06,0x09,0x02,0x26,0x15,0x43,0x36//时间


============================
号码解码比较麻烦,因为cdma协议都是按bit来编码的,用眼睛不容易看出来,不想GSM的编码,按byte编码,比较容易看
解码Address Parameters 我有空再看
0x02,0x07,0x02,0xC4,0xCD,0x99,0x98,0x58,0xE0,
leixp3636 2009-02-26
  • 打赏
  • 举报
回复
因为需要编码之后才能够发,所以要了解编码,谢谢
leixp3636 2009-02-26
  • 打赏
  • 举报
回复
不好意思,好像一天以后才能加
leixp3636 2009-02-26
  • 打赏
  • 举报
回复
呵呵,说最简单的就是
怎么把短信号码(比如13312345678)和内容(test)
变成这串代码
另外,这种方式不用设置短信中心什么的吗?


我不用支持中文,只是测试能不能发,

太感谢了,小弟加分
Dinelgua 2009-02-26
  • 打赏
  • 举报
回复
好心
帮顶
yellowhwb 2009-02-26
  • 打赏
  • 举报
回复
如果你只要发短信,那要了解编码干什么呢?
yellowhwb 2009-02-26
  • 打赏
  • 举报
回复
你还想知道什么东西呢?问具体点我好回答
leixp3636 2009-02-26
  • 打赏
  • 举报
回复
谢谢了,小弟只是要测试能不能将短信发出去,
能不能多介绍一下这种编码格式,让小弟不用看协议就可以搞定(hehe),十分多谢了
yellowhwb 2009-02-26
  • 打赏
  • 举报
回复
0x00,

Teleservice Identifier =0x1002 (4098) 即CMT-95
0x00,0x02,0x10,0x02,

Address Parameters
0x02,0x07,0x02,0xC4,0xCD,0x99,0x98,0x58,0xE0,

Bearer Reply Option
0x06,0x01,0x04,


Bearer Data
0x08,0x16,0x00,0x03,0x10,0x00,0x30,0x01,0x04,0x10,0x16,0x1D,0x40,0x03,0x06,0x09,0x02,0x25,0x13,0x19,0x43,0x0A,0x01,0x00
yellowhwb 2009-02-26
  • 打赏
  • 举报
回复
is637协议 3GPP2.org上下载

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧