正文

几种开源SIP协议栈对比2005-12-21 09:57:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ddtme/8653.html

分享到:

 

随着VoIPNGN技术的发展,H.323时代即将过渡到SIP时代,在H.323的开源协议栈中,Openh323占统治地位,它把一个复杂而又先进的H.323协议栈展现在普通程序员的眼前,为H.323普及立下了汗马功劳。而然当在SIP时代,则出现了群雄割据的状况,SIP相对于H.323简单,灵活,于是各种协议栈层出不穷,下面将详细对比最具有代表性的5个开源项目:OPAL,VOCAL,sipX,ReSIProcate,oSIP

1OPAL

OPALOpen 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
  
Document : None
  Samples : UA,GK

2VOCAL

VOCALvovida.org开发的SIP系统,VOCAL应该是目前功能最完善,使用者最多的开源SIP协议栈了.它不只包括了协议栈,还包括了h323sip转换网关,对SIP的各种Server的功能支持也非常完善.不过很可惜,不支持windows平台,而且自从vovidaCISCO收购以后就停止了开发,最后的版本是20034月的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
  
Document : Few
  Samples : UA,GK,GW

3sipX

sipX是一个SIP系统,由SIPFoundry开发。sipX是从reSIProcate分离出来的,sipX除了包括SIP stack外,还包括了sipXphone,sipXproxy,sipXregistry等等...,由它们构成了完整的SIP系统,而且sipx还支持嵌入式系统,各个模块可以按需取舍。不过可惜是几乎没有任何开发文档。
  SVN : http://scm.sipfoundry.org/viewsvn/
  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
  Document : None
  Samples : UA,GK,GW

4ReSIProcate

ReSIProcate同样也是由SIPFoundry开发,ReSIProcate最开始起源于Vocal,由于Vocal开始只支持rfc3254,为了支持最新的rfc3261,ReSIProcate诞生了,但现在,ReSIProcate已经成为一个独立SIP协议栈了,它十分稳定,并且很多商业程序都在使用。
  SVN : http://scm.sipfoundry.org/viewsvn/resiprocate/main/sip/
  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
  Document : Few
  Samples : None

5OSIP

oSIP的开发开始于20007月,第一个版本在20015月发布,到现在已经发展到2.0.9了。它采用ANSI C编写,而且结构简单小巧,所以速度特别快,它并不提供高层的SIP会话控制API,它主要提供一些解析SIP/SDP消息的API和事务处理的状态机,oSIP的作者还开发了基于oSIPUA lib:exosipproxy 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、综合评价

综合上述评测,可以看出5SIP协议栈各有千秋,OPAL有发展潜力,VOCAL比较完善,sipX兼容性好,ReSIProcate教稳定,oSIP小巧而快速。所以要根据应用的不同选择恰当的协议栈进行研究开发。

协议

开发语言

系统接口

支持RFC

支持的协议

大小

文档支持

备注

OPAL

C++

VxWorksWin32Linux

3261 2327 3515

TCP  UDP

8M

None

有发展潜力

VOCAL

C++

Win32p)、Linux

3261p3515 2327

TCP  UDP

6M

Few

比较完善

sipX

C++

VxWorksWin32Linux

3261 3263 3264 2327 3515

TCP  UDP

4M

None

兼容性好

ReSIProcate

C++

Win32Linux

3261 2327 3264 3515 3263p

TCP  UDP

2.5 M

None

较稳定

oSIP

ANSI C

VxWorksWin32Linux

3261 3262 3263 3264  2327

TCP  UDP

400KB

Few

小巧而快速

注:带(p)就代表Partial (部分支持)

RFC3261SIPSession Initiation Protocol 

RFC2327SDPSession Description Protocol 

RFC3264SDPSession Description Protocol 

RFC3263Locating SIP Servers 

RFC3515The Session Initiation Protocol (SIP) Refer Method 

RFC3262Reliability of Provisional Responses in the Session Initiation Protocol 

RFC3311UPDATE Method

阅读(7105) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册