
為了讓用戶能夠快速了解基本的FreePBX技術架構,本系列我們主要介紹FreePBX核心的底層架構和相關的安裝部署工具:
1. 媒體服務器Asterisk,FreePBX的基本底層是基于Asterisk來實現的,Asterisk是目前世界上最受歡迎的開源軟交換平臺和開源企業(yè)通信IPPBX底層核心層。Asterisk本身完全實現了企業(yè)通信接口的所有支持,包括PSTN,SIP,IMS 等第三方的接口,例如Skype 等等。Asterisk同時負責企業(yè)通信的媒體處理,包括基本的呼叫功能,隊列功能,錄音功能,語音郵箱功能,企業(yè)IVR,振鈴組等等功能。
2. Web 服務器,FreePBX本身是一個基于Asterisk軟交換的管理界面系統(tǒng),所以需要一個web 服務器來實現界面配置和管理。FreePBX 所支持的web 服務器是Apache web 服務器。
3. 數據庫,為了管理企業(yè)通信的數據,保存必要的配置數據,我們也需要一個數據庫來保存數據。目前,FreePBX使用的是MySQL 開源數據庫來實現對系統(tǒng)數據的保存管理。
4. 開發(fā)工具:有了數據庫和web 服務器,當然需要開發(fā)工具和開發(fā)語言來支持整個系統(tǒng)的開發(fā)。界面管理使用的是PHP語言,此語言的易用性和學習成本比較低,這也是很多開源項目使用PHP來做開發(fā)語言的主要原因。
當然,FreePBX 底層的交互語言或者需要底層通信的語言最早使用的是Perl語言,最近的版本使用了Python。通過Python的來實現對FreePBX framework 進行后臺管理,相當方便。
另外,在FreePBX-11 開始使用了bootstrap 前端框架來實現界面的重新設計,完全支持了PC端和其他設備對界面的靈活訪問,使得管理界面更加人性化更加友好。
5. 安裝部署,FreePBX安裝部署的方式非常靈活,充分考慮了企業(yè)用戶的使用場景。
首先,它可以支持云服務器的安裝方式,包括著名的阿里云和亞馬遜云都可以通過源代碼的方式進行安裝,同時也支持了Docker的安裝方式,使得安裝部署變得更加靈活。
其次,用戶也可以下載ISO光盤在本地通過虛擬機安裝或者物理機例如一些硬件服務器進行安裝配置。當然目前市場上很多的mini 電腦和樹莓派不斷出現,價格和性能都得到了很大的提升,用戶可以通過源代碼安裝或者直接拷貝鏡像的方式實現這些mini電腦的安裝,支持簡單用戶場景。
最后,所有部署方式都需要用戶根據自己的使用場景和業(yè)務需求來考慮自己的系統(tǒng)環(huán)境資源,例如存儲介質,帶寬,網卡等因素。