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