在以前的文檔中,我們曾經(jīng)介紹過(guò)阿里云安裝腳本FreePBX的方法,很多企業(yè)終端用戶(hù)仍然掌握不了其配置的核心步驟,我們我們再次更新了腳本,支持了Asterisk-15,對NAT配置做了重點(diǎn)說(shuō)明,也增加了PJSIP的配置說(shuō)明。這樣用戶(hù)基本上就可以完全實(shí)現簡(jiǎn)單的SIP 分機之間的呼叫測試。
1、環(huán)境準備
用戶(hù)需要準備以下配置環(huán)境:
阿里云購買(mǎi)ECS示例,設置安全訪(fǎng)問(wèn)組,保證外網(wǎng)正常訪(fǎng)問(wèn)。
星昊通官方網(wǎng)站下載FreePBX安裝腳本。訪(fǎng)問(wèn)公司頁(yè)面主菜單,技術(shù)支持->Asterisk學(xué)習中心,點(diǎn)擊下載安裝腳本。
為了幫助中國用戶(hù)盡快了解開(kāi)源語(yǔ)音通信的技術(shù)架構和文檔配置,我公司一直不斷發(fā)布開(kāi)源語(yǔ)音通信的相關(guān)配置文檔和翻譯資料。未來(lái)我們將按照一定的時(shí)間進(jìn)度定期發(fā)布開(kāi)源通信相關(guān)學(xué)習資料。點(diǎn)擊下載:Asterisk中文語(yǔ)音包下載: 完整的Asterisk系統語(yǔ)音文件,用戶(hù)下載替換默認的語(yǔ)音文件,重新加載,即可播放中文語(yǔ)音提示。點(diǎn)擊下載:FreePBX-12 電子書(shū)下載:FreePBX 用戶(hù)手冊中文版本,包括如何下載FreePBX,安裝PBX,配置FreePBX的各種功能。點(diǎn)擊腳本下載在阿里云安裝FreePBX-14,支持Centos-7
2、下載配置腳本和執行腳本
下載腳本以后,通過(guò)命令行執行Linux權限設置,然后開(kāi)始執行腳本。

注意,腳本中的Asterisk 源代碼下載鏈接可能有時(shí)失效。如果出現安裝錯誤,用戶(hù)到官方網(wǎng)站找一個(gè)新的下載鏈接,重新修改腳本中的鏈接。腳本成功執行后,用戶(hù)就可以通過(guò)公網(wǎng)IP地址訪(fǎng)問(wèn)阿里云安裝的FreePBX。
systemctl enable httpd.service
systemctl start httpd.service
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
cd /usr/src
tar vxfz jansson.tar.gz
3、配置NAT環(huán)境
安裝完成后,首先需要設置安全策略,修改端口。如果不修改端口的話(huà),IPPBX可能是完全在公網(wǎng)上裸奔。
確認以上步驟成功安裝了FreePBX以后,通過(guò)公網(wǎng)地址登錄FreePBX,輸入密碼,登錄訪(fǎng)問(wèn)界面:


接下來(lái),用戶(hù)需要設置阿里云用戶(hù)安全組,開(kāi)啟我們使用的SIP端口和RTP端口,保證用戶(hù)SIP分機可以正常注冊。入口方向:

出口方向:

然后,我們需要在FreePBX界面做幾個(gè)方面的事情,這是防止外網(wǎng)注冊的第一步。首先,關(guān)閉chan_sip, 修改chan_sip 端口,防止外網(wǎng)使用默認5060端口注冊,關(guān)閉chan_sip, 僅使用pjsip 啟動(dòng)來(lái)進(jìn)行SIP注冊。在高級設置中,現在pjsip,關(guān)閉chan_sip。這里再次說(shuō)明,FreePBX和Asterisk現在已經(jīng)切換到pjsip協(xié)議棧,不再使用chan_sip, 所以我們現在官方支持的方式。當然,用戶(hù)也可以chan_sip。

在SIP 設置界面,修改NAT地址,開(kāi)啟外網(wǎng)IP地址和端口號。注意,這里的外網(wǎng)地址系統已經(jīng)自動(dòng)檢測到了,所以,無(wú)需人工填寫(xiě)。

修改默認端口5060為新的端口,我們將使用這個(gè)新端口來(lái)測試呼叫。

當然,用戶(hù)需要在公司網(wǎng)絡(luò )的路由器開(kāi)啟相應的端口和RTP流端口,關(guān)閉ALG開(kāi)關(guān)。阿里云安全設置創(chuàng )建好以后,FreePBX NAT 外網(wǎng)設置和端口創(chuàng )建以后,用戶(hù)就可以重新啟動(dòng)一次FreePBX界面,然后進(jìn)行下一步的分機注冊。最后,確認FreePBX 的防火墻關(guān)閉和iptables關(guān)閉。
4、創(chuàng )建SIP分機
登錄FreePBX界面,點(diǎn)擊分機,選擇創(chuàng )建pjsip分機(這里,因為chan_sip 已經(jīng)關(guān)閉,所以看不到chan_sip)。點(diǎn)擊刷新界面,FreePBX就會(huì )加載最新的配置文件。

5、登錄分機呼叫
FreePBX創(chuàng )建了分機以后,我們使用軟電話(huà)登錄這個(gè)公網(wǎng)IP地址和修改后的端口。如果以上安全策略設置成功的話(huà),我們的軟電話(huà)是可以成功注冊的。


Asterisk CLI 命令也可以看到注冊的狀態(tài),這里兩個(gè)分機已經(jīng)成功注冊。表示可以進(jìn)行內部呼叫。

6、分機呼叫測試
使用分機700呼叫分機701。

Asterisk CLI 呼叫日志,表示呼叫成功。

CDR報表可以看到呼叫記錄:

7、其他問(wèn)題說(shuō)明
有時(shí),用戶(hù)安裝完成以后,可能在界面出現Asterisk 連接失敗的紅色提示,這表示Asterisk還沒(méi)有完全啟動(dòng)。用戶(hù)可以使用fwconsole 命令重新啟動(dòng)一次任務(wù),盡量不要使用Asterisk直接啟動(dòng)的命令。
linux: fwconsole restart
我們在阿里云的Centos-7 進(jìn)行的測試,其他比較新的Centos 版本應該也可以支持,用戶(hù)可以自己測試。
在腳本編譯過(guò)程中,有時(shí)可能出現SIP TLS 安全包安裝問(wèn)題,用戶(hù)需要自己重新手動(dòng)安裝。另外,如果出現Asterisk編譯失敗,一定要查找其真正的原因,或者源代碼鏈接失效或者支持包沒(méi)有安裝成功。
如果SIP 分機不能注冊的話(huà),用戶(hù)需要重新檢查端口,防火墻,路由器設置和FreePBX NAT設置,另外,確認系統防火墻和iptables關(guān)閉,或者保證其IP地址在白名單狀態(tài)。
如果用戶(hù)需要支持呼入呼出的話(huà),用戶(hù)需要對接網(wǎng)關(guān)或者購買(mǎi)其他的SIP trunk服務(wù)來(lái)對接。這里不再討論。
如果需要安全防護的話(huà),用戶(hù)或者購買(mǎi)阿里云的VPN服務(wù),或者通過(guò)FreeSBC實(shí)現對接服務(wù),保證系統的安全性。
8、總結
在本文檔中,我們技術(shù)類(lèi)如何通過(guò)一鍵式安裝方式在阿里云部署開(kāi)源免費的FreePBX,以及如何配置NAT環(huán)境,保證分機可以正常注冊,并且成功呼叫。筆者重點(diǎn)介紹了阿里云的安全策略設置,FreePBXNAT設置和修改SIP協(xié)議以及端口,通過(guò)這樣的設置可以減少外網(wǎng)注冊的問(wèn)題。通過(guò)一定的配置,FreePBX可以輕松實(shí)現開(kāi)源免費的云總機,振鈴組,電話(huà)錄音,呼入呼出等強大的IPPBX功能。



關(guān)注微信公眾號:asterisk-cn,獲得有價(jià)值的Asterisk行業(yè)分享
Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817
Asterisk freepbx 中文官方論壇:http://bbs.freepbx.cn/forum.php
Asterisk freepbx技術(shù)文檔: www.freepbx.org.cn
融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
Asterisk/FreePBX中國合作伙伴,官方qq技術(shù)分享群(3000千人):589995817