近年来随着宽带网络和IP技术的日益发展,VoIP(Volee over Internet Protoc01)技术的应用越来越广泛。网关是VoIP网络中的重要设备,按照应用领域可分为电信级网关和用户端网关。用户端网关设备主要应用于小区和企业,是连接终端电话和IP网络的桥梁,主要功能是进行语音编解码、信令处理、VoIP协议处理和路由协议处理等。用户端网关设备在VoIP网络中的位置如图1所示。可以看出,网关处于用户电话线路部分的末端、IP网络部分的起始端。
“双模”是指VoIP和PSTN两种模式。双模网关是一种同时连接PSTN网络和VoIP网络并能在两者之间自动切换的用户端网关设备。双模网关可以使用VoIP网络节省大量通话成本,还可以在VoIP网络不可用(断电或路由不可达)时使用PSTN网络保障电话线路永远畅通,而且使用双模网关不需要对PBX交换机做任何改动,用户还可以自由选择或由网关自动选择使用VoIP网络还是PSTN网络,具有很好的实用性和灵活性。
1 VoIP双模网关的工作原理
网关在VoIP网络中主要起协议转换、控制及关守作用,如呼叫控制和呼叫管理等。双模网关在普通VoIP网关的基础上增加了VoIP与PSTN之间的切换。双模网关系统从功能上可分为双模切换模块、FXS接口电路模块、语音处理模块和软件控制模块,其系统框图如图2所示。
外部交换站FXS(Fbreign eXchange Subscdber)接口和外部交换局FXO(Foreign eXchange Office)接口是VoIP网关中非常重要的两个接口。在传统的PSTN电话连接中,电话中心局端交换机提供馈电和铃流,电话本身完成Tip/Ring电路来请求服务或者应答PSTN上的呼叫。在VoIP电话连接中,FXS电路仿真了电话中心局端交换机的功能,提供馈电和铃流并检测环路电流。而FXO电路相当于仿真了电话机的功能,提供环路闭合和检测铃流。
FXS接口电路直接与模拟话机连接,提供拨号音、馈电、铃流电压,并能够检测话机的摘挂机和环路闭合,完成模拟信号与数字信号之间的相互转换。FXS接口电路包括编解码器CODEC和用户线接口电路SLIC(Subscriber Line Interface Circuit)。CODEC包括一个模数转换器(ADC)和一个数模转换器(DAC)。SLIC电路仿真了PSTN电压,它必须能够检测电话的摘挂机并能产生最高达120V的铃流电压。
双模切换模块主要包括FXO接口电路,它由CODEC和数据处理阵列DAA(Data Access Arrangement)组成。其中CODEC与FXS电路中的相同;DAA仿真了一部话机,通过提供PSTN的环路闭合来去除高压直流分量,只让PSTN线上的模拟交流信号通过。网关中使用FXO接口电路可实现以下功能:
(1)断电时线路保持畅通:当网关断电不能连接VoIP网络时,将线路切换到PSTN线路上。
(2)呼叫重定向:当VoIP网络由于拥塞或者其他原因而不可用时,能够将线路切换到PSTN上,而且能记住已拨号码并进行自动重拨。
(3)远端VoIP呼叫:VoIP用户可以在其他地方通过PSTN拨入的方式进行VoIP呼叫,FXO接口先把PSTN上的电话拨号音(模拟信号)接收下来,然后转换成数字信号送出,相当于将拨号音从一个FXO扩展到多个本地FXS。
网关的语音处理模块负责对PCM数字语音信号进行压缩与解压缩。压缩算法的标准包括G.711、G.723.1和G.729等,不同的算法压缩比不一样,占用的带宽也不同。压缩算法可以用硬件DSP实现,也可以用纯软件实现。
软件控制模块实现网关的协议栈处理和路由处理等功能。协议栈负责将压缩后的数据流进行封装,加上IP协议包头,形成可在VoIP网络中传输的IP数据包。目前VoIP的协议栈主要基于H.323和SIP两种标准。协议栈将数据流打成IP数据包后,选择适当路由经过以太网接口发送到VoIF网络中。接收端网关接收到IP数据包后,将数据包解压缩并将解压缩后的PCM数字信号解码,恢复原始语音信号。
2 VoIP双模网关系统设计
本节提出了一种基于H.323的双模网关的系统设计方案,该方案支持4路话音,使用一种经济实用的“假FXO接口”方式实现双模切换,能够在VoIP通话时检测到PSTN线上进来的呼叫并可通过按话机的拍簧或者Flash闪断键切换接听。
为了有效利用资源,系统使用三相转接头将电话线路与PSTN线路组合到一个RJ11接口上,每路话路使用一个三相转接头。三相转接头的连接方式如图3所示。
三相转接头的使用可简化双模切换的实现,也减少了设备的物理端口数量。
系统设计采用“硬件+嵌入式操作系统+应用层软件”的总体架构。
2.1 硬件设计方案
系统的硬件部分主要包括双模切换模块、FXS接口电路、语音处理模块电路、CPU模块和以太网模块,硬件设计原理图如图4所示。
双模切换模块使用了一种“假FXO接口”的方式。电路中用继电器控制各话路本身的VoIP和PSTN通路之间的双模切换。继电器在网关没有上电时默认将网关置于把话机线与PSTN线对接的状态,上电工作后由1片FPGA可编程逻辑芯片来控制继电器的切换。FPGA芯片是网关实现智能切换的关键部件,其中实现的控制逻辑包括PSTN线路上的铃流检测、话机拍簧动作检测等逻辑,并据此控制继电器进行切换。FPGA与CPU的接口可实现在VoIP网络路由不可达时切换到PSTN网络的逻辑。双模切换模块实现了FXO接口的部分功能,但不是真正的FXO接口,所以称之为“假FXO接口”。
FXS接口电路模块主要由SUC芯片和Codee芯片组成,分别选用Legerity公司的Le79R70芯片和Le58Q021芯片。Le58Q021是4通道的Codec芯片,可以控制SLIC芯片(Le79R70)的工作状态,选择编码方案(线性、a律、μ律),还支持软件可编程SLIC的输入阻抗、平衡阻抗和频率响应特性等。系统使用1片Le58Q021和4片Le79R70协同工作支持4路话音,向话机提供馈电,产生振铃信号、检测话机摘挂机等,并负责完成电话模拟信号与PCM数字信号的相互转换。
语音处理DSP芯片选用AudioCodes公司的AC483,它能同时支持4通道语音编解码器,支持G.729A、G.723.1、G.727、G.726、G.711等压缩算法标准,可完成实时的语音压缩、DTMF信号的检测、产生和回音消除等工作。
系统CPU芯片选用Samsung公司ARM7TDMI系列的S3C4510B,其工作频率为50NHz,片内集成了丰富的通用模块,含有支持10M/100M自适应的以太网控制器,可以直接通过PHY芯片引出以太网接口。以太网PHY芯片选用Intel公司的LXT972A芯片,它具有1OM/100M自适应收发功能,支持全双工操作。此外,系统还使用了2MB Flash、16MB SDRAM和512KB SRAM作为存储器。
2.2 软件设计方案
软件部分主要由嵌入式操作系统和应用层软件组成,完成协议栈处理、路由处理和其他控制功能,软件方案层次结构如图5所示。
嵌入式操作系统采用μCLinux。μCLinux是一种针对无内存管理单元的处理器定制的嵌入式操作系统,具有丰富的网络功能、源代码公开、内棱可剪裁和易于移植等特点。根据硬件平台的特点,还需要开发适应硬件平台的驱动程序,包括Bootloader、串口驱动和以太网驱动。其中Boofloader是移植uCLinux操作系统的关键,系统上电时,Bootloader负责进行硬件初始化、中断的处理和硬件时钟管理等工作,并加载操作系统映象到内存。为方便系统网络升级,Bootloader可实现TFTP网络功能。串口和以太网口驱动程序相对比较简单,实现数据的正确收发即可。
应用层的软件主要由H.323协议栈处理模块、路由处理模块和DSP控制模块组成。H.323协议栈负责呼叫控制和信令、音频处理和媒体实时传输等功能。系统采用比较成熟的开放源代码的OpenH323协议栈作为参考,应用层上的功能模块都是基于该协议栈开发的。路由寻址模块主要负责路由寻址和路由管理,确定目的网关的IP地址,并选择最佳路由将IP数据包经过IP网络传送到目的网关。DSP控制模块主要是在应用程序中根据通话流程编写相应的控制程序控制DSP芯片AC483的行为。网管模块提供了Web网管和CLI命令行界面,很容易对双模网关配置和维护。
3 应用方案
系统作为用户端网关设备,可广泛应用于小区和企业。对于用户数量比较少的小区,可以将话机直接与网关连接,如图6所示。对于用户量相对较多的企业,可以与PBX交换机连接,如图7所示。
该系统基于H.323协议栈设计。目前该系统基本功能已实现,能与其他网关设备互通,并能与运营商的Gatekeeper互通。在该设计的基础上,可以通过选用处理能力更强的芯片来支持更多话路,可以增加SIP协议栈以支持双协议栈架构,还可以实现真的FXO接口电路以支持远端VoIP呼叫,这些都是系统未来可以改进的地方。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !