開源軟交換系統 FreeSwitch 與 Asterisk 比較


Asterisk 與freeswitch都是流行的開源軟交換服務器,Asterisk出現的比較早,大概在1999年開始此項目,應該是最流行的開源軟交換服務器,整個社區上下游都已經很成熟。

freeswitch 算是后起之秀,2005年才開始,但性能和穩定性都明顯優於Asterisk,但由於出現的 晚,導致其功能的多樣性及與其他系統的集成難度高於asterisk.


下面為Asterisk與freeswitch比較。

1:Asterisk是針對百人左右的小型系統,相同的硬件配置下單系統並發也就幾百路(不同版本性能有一定差異,大概在 200-400之間),而根據國外愛好者測試freeswitch 可達到2000-3000路sip通道(媒體流並發),

2:Asterisk用動態鏈表來管理每個打開的通道,這樣在多線程中非常難於管理(需要頻繁的鎖定和解鎖)。而freeswitch每個呼叫通道都會用一個線程來管理呼叫狀態,大大減少了死鎖發生的幾率,freeswitch核心代碼高度抽象,盡量將復雜代碼集中化。


3:Asterisk用DUNDi協議設計分布式系統,Fs使用外部數據庫實現分布系統,做得更好,甚至可以一台服務器通過數據庫注冊到另一台服務器上。

4:freeswitch 支持誇平台,linux, unix, windows 等,asterisk基本只支持 linux, bsd系列。

5. freeswitch配置采用xml,asterisk采用linux下面通用配置文件格式語法,而 采用xml格式配置文件是freeswich使用者抱怨最多的部分,對於不懂xml格式的開發者在剛開始使用時是個折磨。


學習freeswitch需要掌握的內容:


c/c++編程, socket編程 ,sip ,sdp,rtp ,tcp/ip 協議,XML,腳本語言JavaScript,lua,erlang,perl。數據庫sqlite,MySQL


系統編程知識:多進程線程同步(臨界區,互斥量,信號燈,事件),APR,模塊動態共享機制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM