跳至內容

FreeSWITCH

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

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