您的位置:首页 > 其它

[原]Wap push over sms 实践

2006-03-23 16:18 323 查看
Wap push over sms 实践
 author:clapton_xpAThotmailDOTcom 20060323
通过短信进行点对点的WAP PUSH,本质上来说应该是发送一个wap页面(WBXML)到接收方,里面含有一段文字和一个url链接。
在发送端采用PDU模式发送,编码是UCS2。
整个发送的包大部分内容都是固定的,只需要对几个地方根据希望发送的内容进行一下替换即可。
我参考的例子是这样的,只用说明中红色的部分是需要变化的:
0051000BA13108086406F600F5A7850B05040B8423F0000303010129060603AE81EA8DCA02056A0045C6080C033231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231000103E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101

00 SMSC 地址信息的长度 00表示用手机上设置短信中心号码,PDU 串的“SMSC 址格式”段和“SMSC 地址”段将省去 
51 基本参数(TP-MTI/VFP) 不要求发送回复 
00 消息基准值(TP-MR) 
0B 对方电话的长度 
A1 目标地址格式 A1表示为国内格式 
3108086406F6 目标地址,补‘F’凑成偶数位后奇偶位互换 (因为手机号码是11位,需要补一个F,再将奇偶位互换,比如12345678901需要变成2143658709F1)
00 协议标识(TP-PID) 是普通GSM 类型,点到点方式 
F5 用户信息编码方式 (TP-DCS) 
A7 有效期(TP-VP) 
85 用户信息长度(TP-UDL) (此处是从下面的0B开始所有的字节数/2对应的十六进制数)
0B WAP PUSH头部的总长度 
05040B8423F0表示接下来是一个WAP PUSH 
00 表示是Concatenated Short Messages 
03 长度 
03 reference number 
01 表示分成1个短信发送 
01 当前包的序号 
29060603AE81EA8DCA WSP 
02 标记位 
05 -//WAPFORUM//DTD SI 1.0//EN 
6A UTF-8 
00 标记开始 
45 
C6 
08 
0C href=/"http:// 
03 字符串开始 
3231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231 URL (编码过的URL,不带http://)
00 URL 字符串结束 
01 > 
03 内容描述字符串开始 
E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9 内容描述字符串 (编码过的文字内容)
00 内容描述字符串结束 
01 
01 
 
 
AT指令发送时:
at+cmgf=0 //设置发送为二进制模式
OK
at+cmgs=93 //十进制的数字,值为 (上面生成的一大串的字节数/2)-1,还没搞清为啥要减一
> 0051000BA1。。。。。。。(就是那一大串了) Ctrl+Z
+CMGS: 14
OK
 
发送成功
 
―――――――――――――――――――――――――――――――
参考资料:
 
基于短信网关WAP推送的实现 http://www.spforum.net/spyy/Content.asp?iID=24868  
AT COMMANDS INTERFACE GUIDE http://www.sendsms.com.cn 有下载
 
手机串口发送wap-push的pdu编码类 http://spaces.msn.com/jinji/blog/cns!3843DA5271ADAAD3!131.entry  
[小学堂]sms 发送 wap push的方法和格式!  http://www.teeta.com/ttweb/User/icedot/2005-02/13805.html  
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息