爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: eric343
收起左侧

[求助] 求免提短信加的内容!!

[复制链接]
发表于 2007-3-31 20:57:09 | 显示全部楼层
我也想要钱!!!!!!!!!!!
西门子收到免提短信的时候 按#可以保存 显示的是紧急短信 说明西门子本来就是支持这种短信的  在NOKIA上 这种短信称为 即显短信。。。。。。。。
回复

使用道具 举报

 楼主| 发表于 2007-3-31 21:50:56 | 显示全部楼层
号码前加020不行啊!! 提示发送不了!

我想知道这个到底是怎么实现的,最好能讲解一下那个补丁的内容!
回复

使用道具 举报

发表于 2007-3-31 22:17:30 | 显示全部楼层

晕,你看12楼的贴子没有啊?修改短信报头啊!:-')
回复

使用道具 举报

发表于 2007-4-1 09:48:58 | 显示全部楼层
  前两天我已发类似帖,并化了几天研究,化了不少短信钱,那可是人民币哦,不是0110上的金钱数。没有找到结果。
  把狼大的话传给LZ,希望再接再厉!
  
GSM规范规定:DCS字段(一个Byte)
如果Bit8 Bit7为00,则Bit5-0意义如下
Class: Bit1 Bit0  00-〉直接显示 01-〉缺省存储在手机上, 10-〉缺省存储在SIM卡上
alphabet(字母表):Bit3 Bit2 00-〉Default 01-〉8Bit 10-〉UCS2(16Bit,中文就是) 11-〉保留
Bit5:是否压缩
Bit4:Class是否起作用

我的修改就是把英文段信的DCS由00改为F0(这种大多数手机都支持)
中文段信由08改成18,并去除前面的空格。(这种有部分手机不支持)

  也许LZ也在研究短信控制手机的方法--即短信命令,或叫接收短信执行任务,我已转贴了个小八的补丁,搜索一下即可。

[ 本帖最后由 ljmstock 于 2007-4-1 09:53 编辑 ]
回复

使用道具 举报

发表于 2007-4-1 11:53:25 | 显示全部楼层
楼上的和星友说的都是正确答案,楼主赶快掏钱吧!
回复

使用道具 举报

发表于 2007-4-2 16:34:02 | 显示全部楼层
尘埃落定了没??
回复

使用道具 举报

发表于 2007-4-2 16:36:08 | 显示全部楼层
从根本上说是加了免提的功能
回复

使用道具 举报

 楼主| 发表于 2007-4-6 19:48:38 | 显示全部楼层
我在其他手机平台上把00和08修改为0xF0和0x18后,并不能发送免提短信,而且我的中文输入法也没有了,只有英文和数字输入了...
回复

使用道具 举报

发表于 2007-4-7 11:57:19 | 显示全部楼层
原帖由 eric343 于 2007-4-6 19:48 发表
我在其他手机平台上把00和08修改为0xF0和0x18后,并不能发送免提短信,而且我的中文输入法也没有了,只有英文和数字输入了...

还是别的手机平台?怎么弄得?如果不成功,只可能是修改的不对。
另外是通过直接编写AT代码发送的么?这样才可能发送出免提短信。如果是修改短信内容,是绝对没可能成功的。
回复

使用道具 举报

发表于 2007-4-7 18:31:24 | 显示全部楼层
免提短信又称紧急短信,一般情况下,当对方手机里已存满短信后,营运商系统不会再向它发送短信了,除了这种直接显示在对方手机屏幕上的短信以外,它不存入到手机或SIM卡中,GSM手机都是符合这一规定的:)
回复

使用道具 举报

发表于 2007-4-7 20:08:58 | 显示全部楼层
你可以参考一下这篇文章http://www.delphibbs.com/keylife/iblog_show.asp?xid=22411

个人认为:
刷了补丁后,在短信内容前加个普通空格,那么在发出短信之前,根据是否有空格,对短信最终的PDU编码进行修改,然后发送。
对方根据含有标志该消息是免提短信的PDU编码进行解析

但我还没找到到底是哪个编码!

+:
是我所想:
参照:http://cwqu.3322.org/topic_list_detail?subject_id=42&topic_id=1980&topic_page_id=2
里面一小段:
   //普通
    if(!sms.m_nClass)
    {
      pdu.m_sPDUBody.Format(_T("001100%s000801%02X%s"),   
        sTPDA, sSMS.GetLength() / 2, sSMS);
      
    }
    //免提
    else
    {
      pdu.m_sPDUBody.Format(_T("001100%s001801%02X%s"),   
        sTPDA, sSMS.GetLength() / 2, sSMS);
    }
里面有一处红处标出的是不一样的!由于类是封装的,不知道具体是哪一节码。

再+:
啊,找到了,再结合:http://www.emsky.net/bbs/simple/index.php?t9626.html
不知NC系列的其他机器支不支持直接发送短信(不通过手机管理器),如果支持的话,就可以修改内核发送免提短信。
文曲星是使用AT指令集来发送短信的,就是通过串口(红外口)发送诸如“AT+CMGS”等等命令。短信编码一般使用PDU格式,比如:
001100 0D 91683168027581F0 001800 04 6D4B8BD5(为字符串,即ASCII码30 30 31 31 。。。)
其中,001100固定(具体意义可以上网找)
0D是电话号码长度,91683168027581F0即电话号码+8613862057180
001800就是关键所在,中间的如果是18就是免提短信,08就是普通短信。
04是短信内容长度,6D4B8BD5是短信内容的UNICODE编码。
我只有NC360,没有办法做别的机器的内核。不过根据上面说的原理,各位高手应该可以轻松完成。

问题解决了,08或18这个地方是编码方式,即TP-DCS。

18的二进制编码:
00010010

[ 本帖最后由 losehave 于 2007-4-7 20:42 编辑 ]
回复

使用道具 举报

发表于 2007-4-7 22:46:24 | 显示全部楼层
复杂

复杂
回复

使用道具 举报

发表于 2007-4-7 22:53:09 | 显示全部楼层
好象日系的手机不支持免提的!~~   不过欧洲的手机应该都支持的!NOKIA就可以收  

我朋友的三星不能显示免提
回复

使用道具 举报

 楼主| 发表于 2007-4-9 12:13:03 | 显示全部楼层
终于搞清楚了,哈哈,多谢各位啊 ,尤其是Russell , ljmstock  两位的回帖! ~~1000两值了!~:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-22 18:30

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表