Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » 移动互联网  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 通过at指令怎样发送短信????
liuziy



发贴: 0
积分: 0
于 2004-04-24 16:22 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我想用java写程序发送短信
编码和基本at指令都是对的
但是对方就是收不到短信。
各位仁兄,有没有样例,不胜感激!!!



作者 Re:通过at指令怎样发送短信???? [Re:liuziy]
tiantao78



发贴: 0
积分: 0
于 2004-05-26 14:04 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
九十年代初,AT命令仅被用于modem操作。由于没有控制移动电话文本消息的先例,因此开发了一种叫SMS Block Mode的协议,通过终端设备(TE)或电脑来完全控制SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT命令,其中包含对SMS的控制。AT命令在此基础上演化并被加入GSM 07.05标准,以及之后的GSM 07.07标准。 对SMS的控制共有三种实现途径: 最初的Block Mode 基于AT命令的Text Mode 基于AT命令的PDU Mode 到现在,PDU已取代Block Mode,后者逐渐淡出。 什么是PDU Mode? 它是发送或接收手机SMS消息的一种方法。消息正文经过十六进制编码后进行传送。 PDU命令有哪些? 基本的PDU命令是AT+CMGR,AT+CMGL,AT+CMGS。例如读取电话上全部未读过的SMS消息,最简单的办法是用AT+CMGL=0;而用AT+CMGL=4则可读取全部SMS消息,无论已读过与否。 -------------------------------------------------------------------------------- 实例: 15:38:58 TX:AT 15:39:05 TX:AT+CPMS="ME" 15:39:05 RX:AT+CPMS="ME" 15:39:05 RX: +CPMS: 15,15,4,10,15,15 15:39:05 RX: OK 15:39:07 TX:AT+CMGL=0 15:39:07 RX:AT+CMGL=0 15:39:07 RX: +CMGL: 5,0,,52 15:39:07 RX:07914408020033F40407D0B1582C060000003052518392002Cool43708 2E7FD3CB633A888E2E83EE6F399B0C32CBDF6D10B96C0FCFE9617AFAED76B95C 15:39:07 RX: OK 使用工具对上述收到的SMS进行解码后,可得到如下的解释: IEI: 00 LENGTH: 00 MESSAGE REF: 00 STATUS: 00 SC Address length: 07 SC Address type: 91 Type of number: International Numbering plan identifier: E.164 SC Address: 44802000334 Message Type Indicator: 04 Message Type: SMS-DELIVER / SMS-DELIVER REPORT More Messages To Send: No Status Report Indication: No Reply Path: No Originating Address Length: 07 Originating Address type: D0 Type of number: Alphanumeric Numbering plan identifier: Unknown Originating Address: 1B85C260 Decoded: 1111 Protocol Identifier: Default Data Coding Scheme: GSM Default Alphabet SC Timestamp: 00305251839200 decoded: 00/03/25 15:38:29 Time Zone: GMT+0.00H User Data Length: 28 decimal: 40 Message: To protect the world from devastation 于是我们知道这条SMS消息的第一部分是:07914408020033F4 07是跟在服务中心地址内的字节数; 91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还可有其他数值,但91最常用到。 44080200033F4是所使用的服务中心地址,由于位置上略有处理,实际号码应为: 44802000334F(字母F意指长度减1),这就是服务中心的准确地址(号码)。 下一单元是: 04 这是文件头字节(header byte, 是一种bitmask)。将每个字节设为1时,有如下含义: 10000000 回复路径(Reply Path):移动电话可循发送SMS消息的短消息中心进行回复(但并非所有SMSC都会这样设置)。 01000000 TP-UDH - 带有用户数据文件头。 00100000 TP-Status-Report-Indication - 发送状态报告给发信人,表示消息收到。 00010000 00001000 此两类在正常的移动终接短消息(MT,Mobile Terminated SMS)中不会使用。 00000100 TP-More Messages to Send - SMSC内再无新消息发送给该移动电话。 00000010 00000001 最后两个位数表示消息种类 - 10指是移动终接短消息(MT),01指移动起始短消息(MO,Mobile Originated SMS)。 所以"04"指此条消息是正常的移动终接短消息,SMSC内再无新消息发送给该手机。



flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923