Posted on 2006-10-30 09:09 阅读(1243) 所属分类:
By jirong on 大珠小珠
有关PBX应用和交互语音应答系统的方案数量众多。
Digium发起的Asterisk是首批开源VoIP项目之一,也是最早的VoIP PBX之一。Asterisk是一个非常成熟的平台,采用GPL许可证,它几乎支持连大企业都会希望VoIP网关解决方案提供的各种功能,包括语音邮件、呼叫转移、会议功能,甚至交互语音应答(IVR)等。它还有呼叫详细记录--这是VoIP的滚滚财源,以及适合用于虚拟教室或者虚拟会议室等场合的高级特性。其庞大的开发社区在为该平台贡献更多的附件,包括商业版本和开源版本。
不过,尽管Asterisk也许是个开拓者,但肯定绝不是只有它一个。如今已出现了许多竞争性的新型开源VoIP平台,它们基于会话初始化协议(SIP)。Pingtel已为其商用SIPxchange PBX发布了代码,目前由一家名为SIP-Foundry的非营利组织旗下的sipX加以管理。虽然成熟程度不及Asterisk,但sipX更加严格遵守开放的SIP标准,从而提高了软硬件的兼容性--至少目前是这样。
SIP快速路由器(SER)严格遵守SIP标准。它用C语言编写,采用GPL许可证发行,已被移植到Linux和Solaris上。除了充当SIP服务器外,SER还可以为短消息服务(SMS)、即时通信(IM)、RADIUS记账和授权以及基于Web的用户配置充当网关。基于SER的商用产品可从iptelorg购得。可启动的LiveCD版软件也可以获得,它扩展了SER的功能,添加了用起来方便得多的基于Web的管理工具,并支持思科和Mitel等厂商的通用VoIP硬件。
Yate(另一个电话引擎)采用GPL发行,这是个异常灵活的平台。Yate非常成熟,包括了对SIP、H.323及其他协议的支持,可以运行在Linux或者Windows上。它具有所有常见的PBX增强功能: 语音邮件和呼叫转移等,还可以作为IVR服务器使用。
不过,那些热衷于更稳定更可靠的IVR应用的人最好还是考虑Bayonne,这是GNU Project的脚本驱动的电话服务器。Bayonne历史悠久,为众多的电信级电话应用而设计。商业支持可以从许多途径获得。Bayonne最近已被纳入更齐全的GNU Telephony这面大旗麾下,GNU Telephony包括许多其他免费软件项目。
几种开源SIP协议栈对比
随着VoIP和NGN技术的发展,H.323时代即将过渡到SIP时代,在H.323的开源协议栈中,Openh323占统治地位,它把一个复杂而又先进的H.323协议栈展现在普通程序员的眼前,为H.323普及立下了汗马功劳。而然当在SIP时代,则出现了群雄割据的状况,SIP相对于H.323简单,灵活,于是各种协议栈层出不穷,下面将详细对比最具有代表性的5个开源项目:OPAL,VOCAL,sipX,ReSIProcate,oSIP
OPAL是Open Phone Abstraction Library,是Openh323的下一个版本,它仍然使用了Openh323的体系结构,并在其基础上进行扩展,同时实现了SIP,H.323,但在音频和视频的编码和传输部分有较大改动。OPAL初衷设计是包含任何电话通信协议,所以其底层进行了高度的抽象化,所以也能够很容易的支持MGCP,PSTN和将来会出现的协议。不过由于Openh323的最后一个版本还在开发中,所以原本6月发布的OPAL也被推迟,现有的OPAL还非常不完善,BUG也非常多,不过相信以Openh323的开发班底,一定能让OPAL十分优秀。
CVS : :Pserver:anonymous@cvs.sourceforge.net:/cvsroot/openh323/opal
Language : C++
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : No
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : 8MB
License : MPL
Do***ent : None
Samples : UA,GK
VOCAL是vovida.org开发的SIP系统,VOCAL应该是目前功能最完善,使用者最多的开源SIP协议栈了.它不只包括了协议栈,还包括了h323与sip转换网关,对SIP的各种Server的功能支持也非常完善.不过很可惜,不支持windows平台,而且自从vovida被CISCO收购以后就停止了开发,最后的版本是2003年4月的1.5.0。
CVS : :Pserver:anonymous@cvs.vovida.org:/cvsroot/vocal
Language : C++
VxWorks port : No
Win32 port : Partial
Linux port : Yes
Supports RFC 3261 : Partial
Supports RFC 2327 : Yes
Supports RFC 3264 :
Supports RFC 3263 :
Supports RFC 3515 : Yes
Supports RFC 3262 :
Supports RFC 3311 :
TCP : Yes
UDP : Yes
SIZE : 6MB
License: Vovida software licencse
Do***ent : Few
Samples : UA,GK,GW
sipX是一个SIP系统,由SIPFoundry开发。sipX是从reSIProcate分离出来的,sipX除了包括SIP stack外,还包括了sipXphone,sipXproxy,sipXregistry等等...,由它们构成了完整的SIP系统,而且sipx还支持嵌入式系统,各个模块可以按需取舍。不过可惜是几乎没有任何开发文档。
SVN :
Language : C++
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Yes
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : <4 Mb
License : LGPL
Do***ent : None
Samples : UA,GK,GW
ReSIProcate同样也是由SIPFoundry开发,ReSIProcate最开始起源于Vocal,由于Vocal开始只支持rfc3254,为了支持最新的rfc3261,ReSIProcate诞生了,但现在,ReSIProcate已经成为一个独立SIP协议栈了,它十分稳定,并且很多商业程序都在使用。
SVN :
Language : C++
VxWorks port : No
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Partial
Supports RFC 3515 : Yes
Supports RFC 3262 : No
Supports RFC 3311 : No
TCP : Yes
UDP : Yes
SIZE : < 2.5 Mb
License : Vovida
Do***ent : Few
Samples : None
oSIP的开发开始于2000年7月,第一个版本在2001年5月发布,到现在已经发展到2.0.9了。它采用ANSI C编写,而且结构简单小巧,所以速度特别快,它并不提供高层的SIP会话控制API,它主要提供一些解析SIP/SDP消息的API和事务处理的状态机,oSIP的作者还开发了基于oSIP的UA lib:exosip和proxy server lib:partysip.
CVS : :ext:anoncvs@savannah.gnu.org:/cvsroot/osip
Language : C
VxWorks port : Yes
Win32 port : Yes
Linux port : Yes
Supports RFC 3261 : Yes
Supports RFC 2327 : Yes
Supports RFC 3264 : Yes
Supports RFC 3263 : Yes
Supports RFC 3515 : No
Supports RFC 3262 : No
Supports RFC 3311 : Yes
TCP : Yes
UDP : Yes
SIZE : 400kb
License : LGPL
Samples : UA,GK
综合上述评测,可以看出5种SIP协议栈各有千秋,OPAL有发展潜力,VOCAL比较完善,sipX兼容性好,ReSIProcate教稳定,oSIP小巧而快速。所以要根据应用的不同选择恰当的协议栈进行研究开发。