接下来,人们可能会提出如何连接互联网的问题。无线局域网(WLAN)是一种可行方法。无线局域网提供了一定的移动性,用户能在WLAN接入点的附近区域内移动,从而实现VoIP
over WiFi应用。但是,由于WLAN属于局域网,只限于室内应用,一旦用户离开接入点的覆盖范围,VoIP呼叫就会掉线。尽管GSM和VoIP之间可以切换,但这些机制和协议又增加了额外成本。
WiMax 和 GPRS 是提供移动性的两种可能解决方案。WiMax是城域网,覆盖范围长达数英里。但是,它需要引入802.16e标准,才能支持移动。虽然与GPRS相比,WiMax的数据速率快得多,但它目前仍然是一种正在演进的技术,尚未确定最终标准。几家公司提供的现有芯片组没有遵循一定的标准,因而无法进行互操作。此外,这种芯片组的成本也比较高。因此,VoIP
over WiMax可能是未来的发展趋势,但就目前而言,这种技术还没有推广。
早期模拟表明,在GSM网络中,VoIP over GPRS比电路切换语音的容量更大。在本文中,我们将重点介绍VoIP
over GPRS在运行实时操作系统(RTOS)的低成本GSM移动电话上的实施。我们还将介绍VoIP over GPRS的系统和架构,以及它的设计局限。接下来,我们将介绍在飞思卡尔i.250
2.5G 平台上实施的概念验证原型。
注意,在呼叫过程中,SIP不参与语音/视频编码/解码,而只是为语音/视频谈话建立/终止一次会话。一旦建立会话,语音就由适当类型的编解码器(如GSM
AMR)进行编码,然后在RTP/UDP/IP中打包。在这里,RTP代表Real Time Protocol(实时协议),UDP代表User
Datagram Protocol(用户数据报协议),IP代表Internet Protocol(互联网协议)。如需了解更多信息,请咨询IETF。
该协议的公布名称为RFC3261。所有SIP消息分为3个部分:
起始行
报头
消息本体
所有SIP消息的开头都是起始行。起始行说明了消息类型(在请求情况下,消息为方法类型,在响应情况下,消息为响应代码)和协议版本。报头字段包含了信息属性,这些属性可以提供更多信息。报头的格式为::。报头可以横跨多行。一些SIP报头,例如Via、Contact、
Route 和 Record Route可能在一条消息中出现多次,或者也可能在一个报头中提供多个值,以逗号分隔。
在i.250 2.5G平台中,基带处理器带有双核,一个为ARM7 MCU,另一个为Onyx-lite DSP。GPRS
L1活动和语音编解码器计算工作都在DSP中完成,这有助于减少MCU的MIPS要求,在一个运行ARM7的平台上实现 VoIP
over GPRS功能。与此相反,一些现有解决方案通常需要至少一个ARM9 ,甚至ARM11 MCU。
在运行RTOS的低成本平台上实施VoIP over GPRS是非常困难的。智能电话通常运行开放式操作系统,例如Linux、Window
CE 或 Symbian OS,而低成本的 i.250 2.5G 平台则在专有RTOS系统上运行,所需的内存容量较低。坦白地说,它的软件开发支持不及那些开放式操作系统。我们可以很容易地在网络上找到开放式操作系统的技术论坛和知识中心,进行技术共享。而互联网上提供的代码样品通常只在开放式操作系统上运行,我们不能将这些代码直接移植到专有RTOS系统上。此外,我们还需要耗费大量精力来重新编写代码,以提高内存使用效率,最大程度地缩短代码,由此增加了编写代码的难度和时间。
VoIP变得日益普及,通常与以太网或WLAN集成。在本文中,我们介绍了GPRS的使用和优势,并将其与其它无线技术进行了比较。经济高效的VoIP
over GPRS 解决方案的设计会受到大量限制,包括MIPS和RTOS的局限。但是,通过VoIP over GPRS
解决方案的详细设计,我们在低成本的飞思卡尔 i.250 2.5G平台上建立了概念验证原型,并在实验室进行了验证。