基于SIP协议的语音网关开发设计


引 言

1 关于SIP协议

目前基于VOIP的基本通信协议有三种:H 323协议、SIP协议和MGCP协议。下面就H 323协议和SIP协议进行比较介绍。

H.323是由国际电联提出来的。它企图把IP电话当作是众所周知的传统电话,只是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光纤传输。

目前,包括我国在内的许多国家都采用了H.323作为IP电话网关之间的协议,整个IP电话系统只是把IP网络作为传输媒介,在用户的接入上还是采用电路交换系统,把IP电话网关作为电路交换网和IP网络的接口。同时,大多数电信运营商也已经将H.323作为建立新一代视讯会议系统的首选,将传统的基于电路H.320视讯会议应用转移到基于IP的H.323系统中来。从应用的规模上说,在现实的电信运营中,H.323已经成为VOIP和多媒体通信协议的事实主导。

SIP称为会话发起协议Session Initiation Protocol)。SIP是Internet工程任务组IETF)提出的建议中的一项协议,其目的是为了替代H.323的部分协议,主要是考虑到在下一代网络NGN)中,由于IP产品和IP网关将在网络中得到大规模使用和集成,使得端到端都可以采用IP以实现纯IP的业务应用;而基于纯IP的SIP借鉴了HTTP和SMTP,结构简单并具有可扩充性和可扩展性。此外,SIP还提供良好的QoS支持。对于NGN在IP网络上实现VOIP和多媒体通信来讲,SIP在全面满足NGN特性要求的应用上具有独特的优势,必将成为下一代网络VOIP的重要解决方案。

目前,市场上支持SIP的产品特别是终端)也越来越多,出现了基于SIP的呼叫中心、视讯会议等多种企业级应用解决方案。因此,可以说SIP将成为下一代网络协议的主力军。

SIP是一个应用层的信令控制协议,用于创建、修改和终止一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发例如语音信箱)。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。更为详细的SIP介绍,可参考相关的网站和书籍,如SIP FORUM等。

2 SIP协议栈的开发

为了实现设备互通、网络互连等目的,需要开发相应的基于应用层的SIP协议栈。目前,开源开放源代码)的SIP协议栈中比较常用的有Vocal、OSIP两类。它们都是比较成熟和可商业化的SIP协议栈,特点如表1所列。

本设计采用Libosip2进行程序开发。它是一种GNU OSIP库,OSIP封装较好,只要写点回调函数就可以完成功能操作了;比较简单,是C语言编写的,可读性较好; 缺点是BUG较多,需调试时注意改进。

表1Vocal、OSIP特性比较

3 语音网关的硬件设计

目前,IP语音终端的设计方案比较多,有ARM+DSP解决方案,也有SoCSystem on Chip)方案。这些方案各有特点,此处采用了网络处理器+DSP的单口网关解决方案。下面就采用的方案作详细的介绍。

① 采用UBICOM公司IP2022网络处理器作为网关的主控芯片。它是一个16位的高性能的RISC处理器,执行速度为120 MIPS,片上有64 KB Flash、16 KB SRAM(program)、4 KB SRAM(data)、10位ADC;片内双工通信模块可以采用软件来实现各种常见的通信接口,再配以相关的集成开发环境,构成一功能强大、软件开发容易的嵌入式通用通信开发平台。

利用IP2022 网络处理器,可在一个芯片上支持通信物理层、协议堆栈、特定设备应用和特定设备的外设软件模块;同时,用户可使用预创建软件模块和配置工具来对其进行编程和重编程,从而可为各种设备间和人机间的通信创建真正的单片式网络应用方案。

IP2022内含全双工串化器/ 解串器SER/DES),能直接与各种常用网络接口连接,可实现片内10BaseT以太网MAC 和PHY)、USB以及其他各种快速串行协议。

IP2022以软件模块形式实现外设通信和控制功能,比传统硬件具有更大的系统设计灵活性。IP2022 还提供有TCP/IP网络协议栈,并具有一系列完整的端到端连通方案所必需的附加软件。

由于IP2022内含两SER/DES 部件,能方便地从一种格式转换为另一种格式,所以也能作协议转换器。大多数指令均为单周期执行,其吞吐量能满足各种新型网络连通应用的要求,且程序闪速存储器还能提供在线和离线重编程,IP2022内部具体结构框图如图1所示。

② DSP在网络语音产品中的作用是无可替代的。它主要完成音频、视频的编解码工作,因此在选择DSP时,既要考虑满足目前的基本需求,如会话功能,又要考虑今后的需要,如视频要求、Voice Email功能等。这里选择了Voice Pump公司的VP111产品,它具有以下特点:

片内集成程序和数据存储器;
主处理器接口;
时分复用串型接口;
Sigmadelta A/D、 D/A变换器;
多功能输入/输出引脚;
G.726 ADPCM语音音频编码;
G.711 A/mlaw PCM 语音编码;
静音检测(VAD);
舒适音生成(CNG);
G.168 抑制线路回声;
Q.24 DTMF检测;
Fax/Modem 检测;
音频音生成;
抗抖动缓冲;
T.38传真中继。

③ 外围接口电路采用Agere公司的L9214作为用户线接口(SLIC)。它的特点是采用小型有引线芯片载体(MLCC)封装。与标准封装相比,其所占的电路板空间减少约70 %,达到了非常低的功耗水平。由于该芯片体积小,所以有助于设备生产商降低总电子成本,增加设计的灵活度,可以接入所有厂商的编解码器。此外,该产品的低功耗还有助于降低设备系统的总成本,提高系统性能。这种芯片支持3.3 V的运行环境,不需要额外的5 V电源,从而可以节省额外成本。

图1IP2022内部结构框图

此外,还采用了CPC5610A作为标准电话机和通信设备与网关的接口,自称为工业上首创的单封装的DAA数据存取装置),包括一个芯片内的隔离势垒额定均方根值1 500 V)。这种DAA还提供正常的交流和直流电话线端接、二至四线混合功能、挂机和摘机检测,呼叫人身份识别,半波振铃检测电路;适合于机顶盒和电话应用的这种芯片可取代磁变压器和各式各样的其他分立元件,从而减少占用板上空间和成本。

网关硬件框图如图2所示。

图2网关硬件框图

4 语音网关的软件设计

语音网关主要完成几个功能:

拨号、DTMF传送、呼叫建立、来电显示;
呼叫建立后的基本会话。
在进行IP网络处理器IP2022开发时,开发商已提供了非常丰富的接口和协议模块供用户参考,这样就极大缩短了开发周期和时间,使用户能够专心细致地完成所需的功能。这些模块包括:
① 源代码编译,调试,环境,支持Windows98/ME/2000;
② IP Modules配置工具,各种通信接口功能都通过编译链接不同的IP模块;
③ GNUPRO编译工具,由Red hat开发,包括C编译器、linker、loader.debugger、libraries和utilities;
④ 网络通信开发IP模块;
⑤ IPOS——运行于IP2022的实时操作系统;
⑥ IPEthernet——实现10BaseT MAC/PHY;
⑦ IP Stack——实现TCP/IP stack,包括TCP、UDP、IP、ICMP、ARP、 DHCP、 Client、SLIP等。

在SIP协议处理上直接采用OSIP所给出的函数调用,实现基本的SIP 协议的功能,屏蔽了协议处理的内部细节。

VP111 DSP处理器直接采用所提供的函数库,可实现对DSP 的初始化和编解码算法。语音编解码类型包括G.723.1、G.729、G.711a和G.711u。

结语

按图3所编写的网关程序,已能够顺利注册到有关厂家的SIP测试平台,并可完成基本会话功能;同时,在LAN网中以DHCP或静态IP的方式皆能注册成功,并进行会话操作。

图3网关软件实现基本会话功能程序框图
由于我们采用的是开放源代码的OSIP的基本会话功能,网关的整体优势并没有发挥出来。网关的原设计思想就是能够实现基本会话功能,以达到所用的器件最少、整机体积最小的特点。事实证明此方案是可行的。如果采用已商业化的SIP协议栈,并适当扩充有关存储器件,完全可以实现更多的互联网应用如即时信息以及语音和电话功能如会议、语音邮件和“点击拨号”功能)。

相关文章】

  • 基于SIP协议的IP电话系统设计与实现
  • 新一代多媒体通信协议SIP及其实现
  • SIP协议中的VoIP来电ID显示技术

相关内容