免費開(kāi)源的FreePBX是完整的開(kāi)源IPPBX系統,全部的底層技術(shù)都依賴(lài)于開(kāi)源的軟件來(lái)搭建。

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