软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
发送OTA书签的sms的格式

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

发送OTA书签的sms的格式

首先需要写一个bookmark的xml文件,这个格式可以去nokia网站下载。下面是一个例子:
<?xml version="1.0"?>
<!DOCTYPE CHARACTERISTIC-LIST PUBLIC "" "characteristic_list.dtd">
<CHARACTERISTIC-LIST>
     <CHARACTERISTIC TYPE="BOOKMARK">
          <PARM NAME="NAME" VALUE="bookmark name"/>
          <PARM NAME="URL" VALUE="http://www.bookmark.com"/>
     </CHARACTERISTIC>
</CHARACTERISTIC-LIST>


尽量让name和url短点,这样编码后可以放到一条短消息里面,而不需要把一个设置拆分成多个短消息体。大致的一个封装是把xml文件转成wbxml,然后再在外面封装WSP层,最外面是WDP层。

WDP的一般格式是“0B0504C34FC002000304xxyy”,其中xx就是整个数据包的总片断数目,而yy表示当前片断是第几个片断。举个例子,一个简单的bookmark全部放在一个sms中这样xx=01,yy=01。
下面是每个byte的意思:

# 0B | User-Data-Header (UDHL) Length = 11 bytes
# 05 | UDH IE identifier: Port numbers                        
# 04 | UDH port number IE length                             
# C3 | Destination port (high)                                     
# 4F | Destination port (low)                                     
# C0 | Originating port (high)                 
# 02 | Originating port (low)                   
# 00 | UDH IE identifier: SAR                 
# 03 | UDH SAR IE length                      
# 04 | Datagram ref no.                        
#
# Two variable bytes, intentionally missing from WDP header, user must
# calculate and add at send time.
#
# xx | Total number of segments in datagram    
# yy | Segment count                            

bookmark的WSP层的格式一般是"01062D1F2A6170706C69636174696F6E2F782D7761702D70726F762E62726F777365722D626F6F6B6D61726B730081EA"
每个byte的具体意思是:

# 01 | Transaction ID /                         
# 06 | PDU type (push)                          
# xx | Header length (content type headers)     
# 1F | Value length quote length greater than 30
# 2A | Value length (value name not used)       
# xx | Mimetype encoded, variable bytes          | application/x-wap-prov.browser-{bookmarks | settings}
# 00 | Null termination of content type string   |
# 81 | Charset                                   | Well known PARM. (short integer)
# EA | UTF-8 (using short integer)              
最里层就是WBXML了,首先必须有个xml的头"01016A00"

# 01 | Version                                   | WBXML 1.1
# 01 | Unknown public identifier         |
# 6A | Charset                                   | UTF-8
# 00 | String table length                      |

至于其他的具体编码可以去http://www.forum.nokia.com查看OTA_settings_general_7_0.pdf这个文档,里面很详细的描述了每一个XML元素对应的十六进制。最后注意一点,发送的时候要按8bit格式的发送,而不是7bit格式。




相关文章

相关软件