《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之44---QChat 技术

从本质上说,POC/PTT技术是把VoIP技术应用于移动终端,将原来由运营商承担的部分VoIP功能转移到手机终端来实现。因此,POC可参照传统的网络分层概念。其中,POC系统中的移动信道层、应用层以及IP层分别等同于TCP/IP模型中的网络访问层、应用层以及传输层与互联网层。

与许多VoIP解决方案一样,SIP协议被用来作为“一键通”协议的控制层面,语音包的传输是通过RTP协议实现的,也就是说,大部分的RTP链路传输的是语音包,其余的控制信息是通过RTCP来传输。实时控制协议(RTCP)提供了会话中谈话者的仲裁器,并且对RTP会话质量进行判决。具有POC/PTT功能的手机的特定插件和接口如图10-18所示。

10-18支持POC/PTT的手机设备

QChat借助IP技术,实现的语音一键通业务具有“始终在线”特性,对蜂窝接入和无线资源的利用效率比电路交换蜂窝业务要高很多,运营商通过信道的高利用率使得POC/PTT业务可以得到赢利性的实施。向手机上移植QChat需要BREW3.1.5或更高版本的支持,对网络也有相应的要求,例如需要至少3条以上的QoS通道等等。在CDMA的网络环境中,QChat的在客户端和应用服务器侧的协议模型如图10-19所示。

10-19QChat的客户端和应用服务器之间的协议模型

其中RTP(Real - time Transport Protocol) 是针对多媒体数据流的一种传输协议,工作于一对一或一对多的传输情况,可提供时间信息和实现流同步。RTP 通常使用UDP 来传送数据,也可在TCP 协议上工作。

SIP作为应用层上的一个控制(信令)协议,用来建立、修改和终止有多个参与者参加的多媒体会话进程,参与会话的成员可以通过组播(multicast)、单播(unicast)或者两者结合的方式进行通信。SIP可以用于邀请新的成员加入一个已经存在的会话,也可以用于创建一个全新的会话。

作为SIP的核心思想之一,它可以用于明确地邀请某一个成员加入或者创建会话,这一点相对多播、SAP(会议通告协议)等是一个很大的进步.通信双方可以共同协商使用的媒体参数(比如是否支持视频)SIP独立于它所处理的多媒体会话类型和描述会话所使用的机制,能够用一个可扩展的体系结构应用于视频会议、语音通话、共享白板、游戏会话、应用共享、桌面共享、文件传输等各种情况.一般情况下,SIP协议使用RTP协议传送音频和视频流,使用SDP协议进行媒体描述。SIP通过这样的机制来实现其扩展性:通信双方或多方使用SDP进行音、视频的会议描述,如果通信的几方希望在建立的SIP框架上进行一个游戏会话,那么只需要使用一个适用于描述游戏会话的协议来取代SDP协议。使用SIP协议进行会话的管理包括发起和终止会话、修改会话参数、调用服务、引入其他用户、设置转移呼叫、呼叫保持等。SIP的可扩展性还表现在它可以通过定义新的消息头(header)和方法(method)来增加新的功能,这一点应用在大部分增加新功能的SIP扩展RFC中。

SIP的另一个重要功能是支持用户的移动性,通过SIP定义的代理(proxy)服务器和重定向(redirection)服务器来实现。由于SIP实现了通信用户终端的定位,保证了无论被呼叫方在网络的任何位置上都可以确保呼叫达到被呼叫方。它通过SIP URL(uniform resource indicator,统一资源标识符)进行标识,其格式和Email地址很相似,通常采用user@domain的形式。用户必须首先向一个服务器登记他当前的位置,才能被呼叫者找到,如果用户的位置发生变化,必须将新位置向服务器重新注册.服务器支持一个用户同时拥有多个地址记录,存到数据库中,当服务器需要联系这个用户时,它会按顺序依次联系记录里的位置信息,直到从一个位置里得到反馈信息或者没找到.SIP提供了重定向和代理两种操作模式来完成对用户的定向.另外,SIP可以用于其他的IETF协议以建立一个完整的多媒体体系结构,如传输实时数据、提供QoS反馈的RTP协议、控制流媒体发送的实时流传输协议RTSP、控制到公共交换电话网(PSTN)网关的媒体网关控制协议MEGACO、描述多媒体会话的会话描述协议SDP.

对应于BREW的移植,QChat有自身的移植工具(QPK,如图10-20所示)。为了支持QChat客户端应用的运行,需要修改OEM层以便实现对PTT的按键事件进行处理。根据代码移植的方向,QChat的移植过程有两种,一种手机厂商采用自己的移植代码,然后将QChat的相关改变合并到这些代码里,另一种是手机厂商采用QChat的移植代码,然后将自己移植的相关改变合并到QChat的移植代码中。尤其需要主要的是,要对操作系统层进行优化,否则难以实现QChat的目标参数,例如连接建立时间等等。

你可能感兴趣的:(游戏,应用服务器,网络协议,网络应用,brew)