
基于短信网关WAP推送的实现.doc
11页基于短信网关 WAP 推送的实现摘要 WAP PUSH 既有信息发送主动、及时的特点,又有可随时随地接收信息的优势,因而具有良好的 应用 前景该文简单介绍了 WAP PUSH 系统框架、推送协议和推送方式,重点介绍了通过短信网关实现 WAP 推送的实现 方法 关键词 无线应用协议,WAP 推送,短信网关,PDU 模式1 WAP 推送技术简介什么是 WAP 推送WAP 推送技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术同传统的拉技术相比,最主要的区别在于推送技术是由服务器主动向客户机发送信息,而拉技术则是由客户机主动请求信息PUSH技术的优势在于信息的主动性和及时性PUSH 技术在 Internet 中没能取得大的成功,原因是多方面的主要原因在于固定网中 计算 机等固定设备为用户提供了足够的资源和能力去查找信息所以用户通常将它作为一个浏览信息的窗口,而不是被动的信息接收者同时固定网用户对于信息准确性的要求远甚于对其及时性的要求,因此 PUSH 技术未能得到广泛的应用而在移动网中,由于存在着 网络 带宽、移动终端能力以及自费标准高昂等诸多限制,使得用户查找信息受到了一定的限制,如果将重要的信息主动及时地推送到用户的移动设备上无疑会大大方便用户。
移动通信的优点是移动设备能够随时随地接收信息因此 PUSH 技术在移动网中可以大展拳脚,WAP PUSH 正是 PUSH 技术和移动通信两者扬长避短相结合的产物WAP PUSH 是在移动网络中应用的 PUSH 技术,它结合了一般 PUSH 技术和移动网络的特点它的系统框架、使用协议和服务方式与固定网上的PUSH 技术有很大不同WAP PUSH 系统框架WAP PUSH 框架主要包括推送发起者、推送代理网关(PPG:PUSH ProxyGateway)和推送客户(PC:PUSH Client)三个功能部分PI 位于 Internet 中,而 PC 在 WAP领域,PI 和 WAP 客户端所使用的协议是不同的,需要在中间建立一个协议转换网关即 PPGPPG 通过推送访问协议与 PI 通信,通过推送空间传输协议完成向客户推送信息的数据传输任务PPG 完成推送体系结构中的大部分工作,包括从Internet 到移动网的访问接入,以及与其有关的认证、安全、客户端控制等所有工作PG 所提供的主要服务包括:1)PI的标识、鉴权和访问控制;2)对推送 内容 进行语法 分析 ,并依据数据类型定义检错纠错;3)客户寻址与信息传输;4)PAP 与 PUSH OTA 间的协议转换;5)为提高无线信道中的传输效率,对信息进行压缩、编译等处理。
另外,PPG 还可以通过别名机制实现组播和广播,即将某些特定的地址别名映射到组播或广播的操作中,具体方案可以由系统实现者决定不同的客户端,其能力是不同的,PPG 还要负责响应 PI 的客户能力查询请求,以便于 PI 针对不同的客户端构造合适的内容格式1.推送协议PAP 是 PI 与 PPG 间的通信协议,它使用可扩展标记语言作为消息的描述语言,通过简单的请求响应机制完成数据的传输PAP 可以在多种通信协议、简单邮件传输协议等)之上实现而 PUSH OTA 是运行于无线会话协议之上的一个较为简单的协议层,负责从 PPG 到客户代理的数据传输PUSH OTA 可使用面向连接的会话和无连接会话两种 WSP层服务,对于使用连接会话的推送,需要在 PPG 和客户端间预先有一个激活的会话上下文;对于无连接的推送,则通过预留的端口来完成通信1.推送服务方式WAP 的推送协议中定义了服务指示和服务加载两项服务,以给用户和网络运营者更多的选择服务指示是将新信息的指示和相关的通用资源标识符推送给用户,由用户选择是立即处理信息还是以后处理服务加载是将一项服务的 URI 推送给用户,然后客户端自动地使用 PULL 技术根据该 URI 启动服务。
两种服务的区别在于用户是否介入推送信息的处理过程SL 对推送信息的处理对用户来说是透明的,而 SI 则在指示用户的同时,请用户对随后的处理做出选择PUSH 可以将某一站点或某一业务的链接通过短信发送到支持 WAP PUSH 功能的上,这样用户只需要阅读这条短信,打开短信中的链接,就可以直接访问业务了因此,WAP PUSH 实现了短信和 WAP 业务的结合,节省了用户寻找业务的时间,方便用户直接找到并使用自己喜欢的业务2 短消息网关简介 短消息网关是处于短消息中心和业务提供商之间的设备,它为这两个实体的数据交换提供安全、快捷的通道网关与短消息中心之间使用 SMPP 协议, 与 SP 之间使用 CMPP协议,因此短消息网关需要完成协议的转换、计费、路由、安全和网络管理等功能具体说来, SMPP 通信代理系统主要实现网关和 GSM 网中短消息中心的连接,确保准确接收和发送数据,实现高效、可靠的数据传输为了达到规范要求的不超过%的数据丢包率,SMPP 通信代理需要支持流量控制CMPP 通信代理系统主要是实现和 SP 服务提供商的连接,与 SMPP 通信代理系统不同的是,由于协议的 影响 ,CMPP 通信代理是服务器端,需等待 SP 的连接,而 SMPP 通信代理是客户端,需要主动连接 SMSC。
短消息网关处理系统是网关中最复杂的处理进程,它完成的任务包括:向 GNS(汇接网关) 查询路由,维护路由表,进行协议转换和数据分发防火墙系统主要为网关系统提供安全保障,它包括 IP 包过滤和身份验证短信网关计费系统主要形成各种计费话单,为计费提供依据业务管理系统主要完成对业务进行统计报告,生成报表,为运营者对用户数据的添加、修改、删除以及对网关系统的监控、查询、操作和维护提供接口和界面3 基于短信网关发送 WAP PUSH WAP PUSH 的发送有两种途径,一个是通过 PPG 网关,另外一个是通过 SMPP 协议其中 SMPP 是一个基本协议,在中国主要有三个由其派生的协议:中国移动的 CMPP 协议,中国联通的 SGIP,以及小灵通的 SMGP通过中国移动的 PPG 网关发送 WAP PUSH 有着开发周期长,调测流程较复杂等不足,而使用 CMPP 协议即基于短信网关来进行WAP PUSH 发送灵活性比较高,相对比较简单WAP PUSH 发送的实现模式 可通过计算机串口上连接 GSM MODEM,用它向发送 WAP PUSH这种方法发 WAP PUSH 又分三种模式:BLOCK 模式、 TEXT 模式和 PDU 模式。
BLOCK 模式现在用的很少了, TEXT 模式则只能发送 ASCII 码,它不能发送中文的 UNICODE 码,而 PDU 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为 PDU 格式,但PDU 模式被所有支持,可以使用任何字符集,它也是默认的编码方式,所以选用 PDU 模式发送 WAP PUSH.PDU 模式 用 PDU 模式发送 WAP PUSH 可以使用三种编码 :-bit 编码、8-bit 编码和UCS 编码7-bit 编码用于发送普通的 ASCII 字符,8-bit 编码通常用于发送数据消息,UCS 编码用于发送 Unicode 字符由于要实现中文 WAP PUSH 的发送,所以选择用UCS 编码,即中文 Unicode 码 ⑴ UCS 编码原理 所谓 UCS 编码,是将单个的字符 (1-个字节)按 ISO/IEC1064 的规定,转变为 1 位 的 Unicode 宽字符即将单个的字符转换为由四位的‘0’-‘9’ 、 ‘A’-‘F’的数字和字 母组成的字符串待发送的消息以 UCS码的形式进行发送 ⑵ 通过 UCS 编码我们得到中文 Unicode 码,接着就可以进行发送 PDU 串的编制了。
从表面上看,PDU 串是ASCII 码串,同样由 ‘0’-‘9’、 ‘A’-‘F’这些数字和字母组成它们是位字节的十六进制数,或者 BCD 码十进制数PDU 串除了包含所发送的消息本身外,还包含很多其它参数信息,如服务中心号码、目标号码和编码方式等例如0051000BA13108086406F600F5A7850B05040B8423F0000303010129060603AE81EA8DCA02056A0045C6080C033231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231000103E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101为一串可以成功发送的 WAP PUSH,其中包括了汉字描述和 WAP 页面地址具体 分析 如下00 SMSC 地址信息的长度 00 表示用上设置短信中心号码,PDU 串的“SMSC 址格式”段和“SMSC 地址”段将省去51 基本参数(TP-MTI/VFP) 不要求发送回复00 消息基准值(TP-MR)0B 对方的长度A1 目标地址格式 A1 表示为国内格式3108086406F6 目标地址,补‘F ’凑成偶数位后奇偶位互换00 协议标识(TP-PID) 是普通 GSM 类型,点到点方式F5 用户信息编码方式 (TP-DCS)A7 有效期(TP-VP)85 用户信息长度(TP-UDL)0B WAP PUSH 头部的总长度05040B8423F0 表示接下来是一个 WAP PUSH 00 表示是 Concatenated Short Messages03 长度03 reference number01 表示分成 1 个短信发送01 当前包的序号29060603AE81EA8DCA WSP02 标记位05 -//WAPFORUM//DTD SI //EN6A UTF-800 标记开始45 C6 0C href=“03 字符串开始3231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231 URL00 URL 字符串结束01 >03 内容 描述字符串开始 E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9 内容描述字符串00 内容描述字符串结束01 01 由以上分析可以看出,WAP PUSH 可以被当作一种特殊的短信来发送,WAP PUSH 包发送的内容实际上跟通过PPG 网关发送的 XML 原理相同,但是经过了压缩。
压缩之后的格式称为 WBXML,这种格式将一些标记用代码来表示然而 WBXML 的缩略标记分为两部分,一部分是所有类型的 XML 都通用的,另一部分是不同类型的 XML 有着不同的解释用户接收到此类信息时,在客户端支持 WAP 的情况下,可以直接访问到信息中加载的 WAP 网站地址,这样服务器也达到了推广业务方便用户使用的目的由于在 UCS编码方式下,可发送短消息的最大字符数是 140 字节,即WAP PUSH 中的推送 URL 与描述文字的总字符数为 140,因此描述文字的字数限制与推送的URL 长度有关4 结束语WAP PUSH 技术结合了 PUSH 技术。
