幾類(lèi)SIP協(xié)議棧大比拼
網(wǎng)絡(luò)通訊的發(fā)展是讓人吃驚的。那么各種技術(shù)的產(chǎn)生,也給固有通訊帶來(lái)了沖擊,這里我們就介紹一下其中的SIP協(xié)議棧內(nèi)容。隨著VoIP和NGN技術(shù)的發(fā)展,H.323時(shí)代即將過(guò)渡到SIP時(shí)代,在H.323的開(kāi)源協(xié)議棧中,Openh323占統(tǒng)治地位,它把一個(gè)復(fù)雜而又先進(jìn)的H.323協(xié)議棧展現(xiàn)在普通程序員的眼前,為H.323普及立下了汗馬功勞。而然當(dāng)在SIP時(shí)代,則出現(xiàn)了群雄割據(jù)的狀況,SIP相對(duì)于H.323 簡(jiǎn)單,靈活,于是各種協(xié)議棧層出不窮,下面將詳細(xì)對(duì)比***有代表性的5個(gè)開(kāi)源項(xiàng)目:OPAL,VOCAL,sipX,ReSIProcate,oSIP。
OPAL是Open Phone Abstraction Library,是Openh323的下一個(gè)版本,它仍然使用了Openh323的體系結(jié)構(gòu),并在其基礎(chǔ)上進(jìn)行擴(kuò)展,同時(shí)實(shí)現(xiàn)了SIP,H.323,但在音頻和視頻的編碼和傳輸部分有較大改動(dòng)。OPAL初衷設(shè)計(jì)是包含任何電話通信協(xié)議,所以其底層進(jìn)行了高度的抽象化,所以也能夠很容易的支持MGCP, PSTN和將來(lái)會(huì)出現(xiàn)的協(xié)議。不過(guò)由于Openh323的***一個(gè)版本還在開(kāi)發(fā)中,所以原本6月發(fā)布的OPAL也被推遲,現(xiàn)有的OPAL還非常不完善, BUG也非常多,不過(guò)相信以O(shè)penh323的開(kāi)發(fā)班底,一定能讓OPAL十分優(yōu)秀。
- 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
VOCAL是vovida.org開(kāi)發(fā)的SIP系統(tǒng),VOCAL應(yīng)該是目前功能最完善,使用者最多的開(kāi)源SIP協(xié)議棧了.它不只包括了協(xié)議棧,還包括了 h323與sip轉(zhuǎn)換網(wǎng)關(guān),對(duì)SIP的各種Server的功能支持也非常完善.不過(guò)很可惜,不支持windows平臺(tái),而且自從vovida被CISCO 收購(gòu)以后就停止了開(kāi)發(fā),***的版本是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
- Document : Few
- Samples : UA,GK,GW
sipX是一個(gè)SIP系統(tǒng),由SIPFoundry開(kāi)發(fā)。sipX是從reSIProcate分離出來(lái)的,sipX除了包括SIP stack外,還包括了sipXphone,sipXproxy,sipXregistry等等...,由它們構(gòu)成了完整的SIP系統(tǒng),而且sipx還支持嵌入式系統(tǒng),各個(gè)模塊可以按需取舍。不過(guò)可惜是幾乎沒(méi)有任何開(kāi)發(fā)文檔。
- 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
ReSIProcate同樣也是由SIPFoundry開(kāi)發(fā),ReSIProcate最開(kāi)始起源于Vocal,由于Vocal開(kāi)始只支持 rfc3254,為了支持***的rfc3261,ReSIProcate誕生了,但現(xiàn)在,ReSIProcate已經(jīng)成為一個(gè)獨(dú)立SIP協(xié)議棧了,它十分穩(wěn)定,并且很多商業(yè)程序都在使用。
- 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
oSIP的開(kāi)發(fā)開(kāi)始于2000年7月,***個(gè)版本在2001年5月發(fā)布,到現(xiàn)在已經(jīng)發(fā)展到2.0.9了。它采用ANSI C編寫(xiě),而且結(jié)構(gòu)簡(jiǎn)單小巧,所以速度特別快,它并不提供高層的SIP會(huì)話控制API,它主要提供一些解析SIP/SDP消息的API和事務(wù)處理的狀態(tài)機(jī), oSIP的作者還開(kāi)發(fā)了基于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
綜合上述評(píng)測(cè),可以看出5種SIP協(xié)議棧各有千秋,OPAL有發(fā)展?jié)摿?,VOCAL比較完善,sipX兼容性好,ReSIProcate教穩(wěn)定,oSIP小巧而快速。所以要根據(jù)應(yīng)用的不同選擇恰當(dāng)?shù)膮f(xié)議棧進(jìn)行研究開(kāi)發(fā)。