FreeSWITCH
FreeSWITCH是一个自由開源的軟體型電話交換機。伊採用 Mozilla Public License(MPL)授權協議,MPL 是一个開源的軟體協議。伊的核心庫 libfreeswitch 會當騙入去系統抑是產品內底,嘛會當做一个單獨的應用存在。
歷史
FreeSWITCH 項目上頭先佇二空空六年一月佇 O'Reilly Media's ETEL 會議頂發布。二空空七年六月,FreeSWITCH 予被 Truphone 採用。二空空七年八月,Gaboogie 宣布使用 FreeSWITCH 做電話會議平台。
FreeSWITCH 的第一个官方的一孵空 . 空版(Phoenix)發布佇二空空八年五月二十六號。二空空八年七月二四發佈了一空細的換新版。一孵二 . 一版發布佇咧二空一二年八月 . Anthony Minessale announced 佇咧 ClueCon 二千空一十二上宣佈一爿二 . 零版的發布 . 二空二一年十月二五號發表一四一空 . 七版本。
設計的
若像主要開發者 Anthony Minessale 所說,FreeSWITCH 致力於做一个軟交換,伊建立佇一个堅實的核心頂懸,由一个有限狀態機驅動的。彼个項目的目標包括穩定,可伸勼性,以及抽象性。
為著欲減少複雜性佮避免重複發明輪仔,FreeSWITCH 使用其他開源免費的函式庫來提供必要的功能。典型的有:
- Apache Portable Runtime ( APR and APR-Util )
- SQLite–一个輕量級的 SQL ia̋n-jín
- PCRE–Perl 兼容的正則表達式 ia̋n-jín
- Sofia-SIP–一个開源的 SIP UA 庫
- libspeex–Speex DSP 庫
- mod \ _ spandsp 支持 T . 三十八傳真
- libSRTP–Secure Real-time Transport ProtocolSRTP 的一个開源實現編譯 FreeSWITCH 時間並毋是所有遮的庫攏是必要的,只是佇某一寡模塊需要用著𪜶,如 Codec 模塊等等。FreeSWITCH 是一个模塊化結構的程序,模塊會當楦闊核心的功能,若內底的抽象層會當避免模塊間的互相依賴關係。目標是避免加載一个模仔的時陣又閣依賴其他的模仔。
特性
FreeSWITCH 包含大量的模樣,如果預設的包括視訊會議,使用 XML-RPC 控制呼叫,Interactive voice response ( IVR ) , TTS / ASR ( 語音合成和語音識別 ) , Public switched telephone network ( PSTN ) 承喙,會當連接模擬佮數字中繼,VoIP 協議包括 SIP,SCCP , H . 三百二十三 , XMPP , GoogleTalk , t . 三十八等等。
使用 FreeSWITCH 庫開發程序會使使用 C / C + + , Python,Perl,Lua,JavaScript,Java 以及 Microsoft . NET 通過 Microsoft 的 CLR 抑是 Mono。不管是何種語言,FreeSWITCH 攏會當提供對外的呼叫控制接口佮 IVR 控制功能,通好提出予人開發。
呼叫控制接喙會當使用 Event Socket,伊是一个網路套接字連接軟體和協議。基本上任何語言攏會當通過 Event Socket 佮伊通批,進一步控制叫流程。FreeSWITCH 嘛自帶一个 Event Socket 庫 ( ESL ) 以及 " ESL-wrappers ",支持 Erlang , JavaScript , Lua , Perl , PHP , Python , and Ruby .
編解碼支持
FreeSWITCH 支持真濟的語音編解碼 :
FreeSWITCH 支持的視頻編碼(一板七版支持視頻轉碼):
- H 兩百六十一
- H 兩百六十三
- H 兩百六十三 + ( H 兩百六十三石一千九百九十八 )
- H 兩百六十三 + + ( H 兩百六十三追兩千 )
- H 兩百六十四
- VP 八
- Theora
- MP 四某一寡編碼干焦支持透傳,這意味對 FreeSWITCH 對遮的媒體無定定咧處理,毋過原始壓縮的內容直接「透傳」到對方。這予雙方攏有兼的編碼的時會當相通批,這編碼可能因為專利等等的原因袂當佇咧 FreeSWITCH 內部提供。因為使用遮的編碼里數據無法度解碼,某寡 IVR 抑是錄音應用就受著限制。
FreeSWITCH 閣支持硬體編碼軟體卡,如 Sangoma 的枋卡。通過硬體實現編解碼,會當節約侍服器捀的 CPU,而且通過硬體實現的捘碼攏已經包含正常的許可證,這嘛解決矣頂懸的透傳問題。
作業系統佮編譯環境支持
- AuroraUX ( LLVM + Clang / gmake )
- Sun Solaris 十 UNIX ( Sun Studio )
- BSD 系統(包括講 FreeBSD 八堵十,NetBSD 六,OpenBSD 五)( gmake )
- Mac OS X ( make )
- Linux 系統(包括講 Red Hat Enterprise Linux,CentOS,Debian ( 會使運行佇樹莓派 ),Ubuntu 等)
- Microsoft Windows ( 原生支持,有兩進位安裝程序 )
- Pfsense
問題
- BRI 支持需要基於 Sangoma 硬體板卡
佮其他的類似的電話軟體較
http : / / en . wikipedia . org / wiki / Comparison \ _ of \ _ VoIP \ _ software
FreeSWITCH 添補簡單的干焦是路由電話的純交換軟體如 GnuGK 和 SER , 佮遐的主要是用 PABX 抑是 IVR 的應用如 Asterisk 佮其衍生品之間的空白。FreeSWITCH 通做呢,如一个 PABX,一个 voicemail 系統,一个電話會議系統抑是一个電話卡系統–會當使用任何語言來構建這款的產品。
衍生產品
FreeSWITCH 是足濟商業的佮開源的 _ 裝佇盒仔內底 PABX _ 的核心組件。某一寡商業產品是軟硬體結合的。
比如講 Barracuda Networks CudaTel VOIP PBX 系列猶閣有 Gemeinschaft \ _ ( PBX ) .
參見
- 自由軟體列表–其他相關的軟體
參考資料
外部連結
- FreeSWITCH Project Home Page–FreeSWITCH 官方網站
- FreeSWITCH Confluence–FreeSWITCH 官方文檔
- FreeSWITCH-CN 中文社區–中文社區佮文檔大本營
- # freeswitch on freenode
Template : Instant messaging