前幾年,筆者發(fā)布過一個(gè)簡(jiǎn)單的平臺(tái)以及其子脈發(fā)展的圖例,隨著技術(shù)更迭和市場(chǎng)運(yùn)作,以及最新語音行業(yè)發(fā)生了新的變革,新的技術(shù)也不斷涌現(xiàn),例如WebRTC以及基于WebRTC的視頻會(huì)議。因此,新的開源項(xiàng)目也開始進(jìn)入到了人們的視眼。今天,筆者根據(jù)以前的技術(shù)發(fā)展的衍生環(huán)境,結(jié)合最新技術(shù)特點(diǎn),再次為讀者提供一個(gè)比較新的開源項(xiàng)目的簡(jiǎn)單匯總,希望能夠幫助用戶快速了解其整個(gè)SIP開源項(xiàng)目生態(tài)鏈和旗下產(chǎn)品的功能特點(diǎn)。
筆者匯總或者介紹這些項(xiàng)目,本身是基于以前的使用經(jīng)驗(yàn),其他用戶反饋,當(dāng)前狀態(tài)和其產(chǎn)品官方定位幾個(gè)方面做的總結(jié),希望客觀地對(duì)項(xiàng)目做一個(gè)介紹。如果有不準(zhǔn)確的地方,希望讀者自己親自去查閱和使用這些項(xiàng)目,自己做最終判斷。我們僅從產(chǎn)品功能本身來加以說明介紹,不涉及其未來判斷,開源項(xiàng)目運(yùn)營等其他方面內(nèi)容。
筆者將將來根據(jù)RFC3261的規(guī)范來從大類上做出歸納說明,同時(shí)兼顧在具體應(yīng)用場(chǎng)景中定義加以說明。其歸類可能不是非常準(zhǔn)確,如有不妥之處,請(qǐng)讀者諒解。
基于SIP Proxy 類型 開源項(xiàng)目:
- Kamailio:運(yùn)營級(jí)SIP Proxy, 主要功能為SIP 信令交換,其衍生產(chǎn)品包括運(yùn)營級(jí)的SIP 軟交換界面管理系統(tǒng):dsiprouter和官方維護(hù)的Siremis。 前者強(qiáng)調(diào)SIP路由和具體的業(yè)務(wù)場(chǎng)景的對(duì)接集成,后者是針對(duì)Kamalio開發(fā)的Kamailio系統(tǒng)管理界面系統(tǒng)。kamailio結(jié)合RTPEngine或者RTPProxy實(shí)現(xiàn)NAT轉(zhuǎn)換或者簡(jiǎn)單SBC功能。
- OpenSIPS: 運(yùn)營級(jí)SIP Proxy,出自于同一kamailio母開源項(xiàng)目,主要功能和kamailio 幾乎完全類似。比較新的功能增加了B2BUA模塊和其他SIP應(yīng)用功能。opensips GUI 可以支持一般的OpenSIPS配置功能。目前,沒有發(fā)現(xiàn)開源的基于OpenSIPS開發(fā)的衍生項(xiàng)目。(讀者補(bǔ)充)。OpenSIPS結(jié)合RTPEngine或者RTPProxy實(shí)現(xiàn)NAT轉(zhuǎn)換或者簡(jiǎn)單SBC功能。
- drachtio / jambonz,運(yùn)營級(jí)開源交互平臺(tái),目前沒有發(fā)現(xiàn)很多用戶使用。其社區(qū)是邀請(qǐng)制的管理方式,通過slack交流。
- FONOS,運(yùn)營級(jí)平臺(tái),目前沒有發(fā)現(xiàn)很多用戶在使用。
- 2600hz/Kazoo,基于Kamailio和FreeSWITCH開發(fā)的開源運(yùn)營平臺(tái),整個(gè)項(xiàng)目功能相對(duì)比較完整,但是部署運(yùn)維非常復(fù)雜,目前沒有發(fā)現(xiàn)很多用戶使用。
- Routr ,輕量級(jí)的SIP 服務(wù)器,實(shí)現(xiàn)定位,注冊(cè)等功能。目前沒有太多用戶關(guān)注此項(xiàng)目。
- Restcomm,完整的CPaaS平臺(tái),支持SIP語音和短信等
- Ivozprovider,基于kamailio的運(yùn)營平臺(tái)
基于SIP b2BUA 類型 開源項(xiàng)目:
- Asterisk, 完整的開源SIP 媒體服務(wù)器,因?yàn)槠漤?xiàng)目歷史久遠(yuǎn),很多開源項(xiàng)目,設(shè)備都是基于此平臺(tái)開發(fā),包括商業(yè)用途的IPPBX,UC系統(tǒng)。其開源衍生產(chǎn)品包括FreePBX,Elastix和Issable,VICIdial ,Astpp開源計(jì)費(fèi)系統(tǒng), Wazo和XiVo。目前最活躍的是FreePBX和VICIdial,分別支持企業(yè)IPPBX和外呼呼叫中心系統(tǒng)。其他項(xiàng)目相對(duì)比較小眾,分布在歐洲和南美洲地區(qū)。
- FreeSWITCH,完整的開源SIP媒體服務(wù)器,比Asterisk稍晚發(fā)布,更多用戶使用其平臺(tái)實(shí)現(xiàn)呼叫中心和運(yùn)營平臺(tái)。旗下衍生的比較有名的開源項(xiàng)目是FusionPBX和2600hz。FusionPBX使用用戶相對(duì)比較少。它畢竟是一個(gè)基于FreeSWITCH開發(fā)的開源IPPBX界面管理系統(tǒng),仍然有用戶在使用。
- Yate,傳統(tǒng)的老牌開源媒體服務(wù)器,旗下融合通信產(chǎn)品包括SIPfoundry和sipXecs,完整的界面管理系統(tǒng),支持yate 終端。筆者不清楚什么原因,此項(xiàng)目已經(jīng)幾乎已經(jīng)停滯。
針對(duì)SIP協(xié)議支持的RTP引擎項(xiàng)目:
- RTPProxy,支持kamailio和OpenSIPS,實(shí)現(xiàn)RTP語音的管理功能。
- RTPEngine,和RTP Proxy相同,其功能也是針對(duì)以上兩個(gè)開源SIP Proxy實(shí)現(xiàn)RTP流的管理處理,其母公司SIPwise被ALE收購以后,開發(fā)了很多開源項(xiàng)目,包括運(yùn)營級(jí)的IPPBX(Kamailio和asterisk)。
基于SIP開源的UAC/UAS項(xiàng)目:
- PJSIP,完整的SIP開源協(xié)議棧,目前是市場(chǎng)上最活躍的項(xiàng)目,很多公司使用其項(xiàng)目開發(fā)了媒體服務(wù)器平臺(tái)和SIP軟電話終端產(chǎn)品。Asterisk使用其項(xiàng)目作為最新SIP 協(xié)議邀請(qǐng)。Mircosip 軟電話終端使用其開發(fā)了著名的軟電話。
- baresip, 完整的SIP開源項(xiàng)目,支持比較多的SIP功能,是比較新的開源項(xiàng)目。它增加了比較多的新SIP業(yè)務(wù)支持和音視頻編碼能力支持。
- oSIP, SIP 協(xié)議包,最近幾年一直沒有太多更新。
- Sofia-SIP,F(xiàn)reeSWITCH的SIP引擎,諾基亞開源項(xiàng)目,項(xiàng)目幾年前已經(jīng)停止維護(hù)。
- mjSIP, 完整的SIP協(xié)議棧,包括了API接口,可以實(shí)現(xiàn)呼叫控制支持。
- 其他
基于SIP的壓力測(cè)試工具和排查工具
- SIPP,壓力測(cè)試工具
- sipsak
- sngrep 抓包排查工具
- Ngrep
- TCPdump
- sipgrep
- HOMER,排查,監(jiān)控工具
- Wireshark
- TCPflow
- 其他
基于SIP/WebRTC相關(guān)開源服務(wù)器端和終端
- Jitsi,完整的基于WebRTC的開源視頻會(huì)議系統(tǒng),支持SIP接口。
- anus, 開源WebRTC服務(wù)器端,通過模塊接口實(shí)現(xiàn)各種WebRTC/SIP網(wǎng)關(guān)連接轉(zhuǎn)換功能。
- Mediasoup,流媒體服務(wù)器,支持WebRTC/SIP接口
- Kurento,WebRTC 服務(wù)器端。
- JSSIP,JavaScript SIP Library,支持WebRTC/SIP終端開發(fā)
- EasyRTC, Open-EasyRTC 實(shí)現(xiàn)WebRTC 視頻會(huì)議
- 關(guān)于完整WebRTC 服務(wù)器端詳解,請(qǐng)讀者閱讀歷史文檔參考學(xué)習(xí)。
筆者通過目前市場(chǎng)上SIP技術(shù)開源項(xiàng)目使用情況和項(xiàng)目活躍程度,對(duì)關(guān)于SIP技術(shù)開源項(xiàng)目和webRTC項(xiàng)目中的簡(jiǎn)單匯總。很多開源項(xiàng)目因?yàn)楫a(chǎn)品定位和管理,功能問題等因素相對(duì)不是太活躍,在以上文章中可能有所遺漏,希望讀者自己更新。很多項(xiàng)目筆者在以前已經(jīng)有深入介紹,讀者可以搜索歷史文檔獲得完整詳細(xì)說明。