在以前的文檔中,我們曾經(jīng)介紹過阿里云安裝腳本FreePBX的方法,很多企業(yè)終端用戶仍然掌握不了其配置的核心步驟,我們我們再次更新了腳本,支持了Asterisk-15,對NAT配置做了重點(diǎn)說明,也增加了PJSIP的配置說明。這樣用戶基本上就可以完全實(shí)現(xiàn)簡單的SIP 分機(jī)之間的呼叫測試。
1、環(huán)境準(zhǔn)備
用戶需要準(zhǔn)備以下配置環(huán)境:
阿里云購買ECS示例,設(shè)置安全訪問組,保證外網(wǎng)正常訪問。
星昊通官方網(wǎng)站下載FreePBX安裝腳本。訪問公司頁面主菜單,技術(shù)支持->Asterisk學(xué)習(xí)中心,點(diǎn)擊下載安裝腳本。
為了幫助中國用戶盡快了解開源語音通信的技術(shù)架構(gòu)和文檔配置,我公司一直不斷發(fā)布開源語音通信的相關(guān)配置文檔和翻譯資料。未來我們將按照一定的時間進(jìn)度定期發(fā)布開源通信相關(guān)學(xué)習(xí)資料。點(diǎn)擊下載:Asterisk中文語音包下載: 完整的Asterisk系統(tǒng)語音文件,用戶下載替換默認(rèn)的語音文件,重新加載,即可播放中文語音提示。點(diǎn)擊下載:FreePBX-12 電子書下載:FreePBX 用戶手冊中文版本,包括如何下載FreePBX,安裝PBX,配置FreePBX的各種功能。點(diǎn)擊腳本下載在阿里云安裝FreePBX-14,支持Centos-7
2、下載配置腳本和執(zhí)行腳本
下載腳本以后,通過命令行執(zhí)行Linux權(quán)限設(shè)置,然后開始執(zhí)行腳本。
注意,腳本中的Asterisk 源代碼下載鏈接可能有時失效。如果出現(xiàn)安裝錯誤,用戶到官方網(wǎng)站找一個新的下載鏈接,重新修改腳本中的鏈接。腳本成功執(zhí)行后,用戶就可以通過公網(wǎng)IP地址訪問阿里云安裝的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)境
安裝完成后,首先需要設(shè)置安全策略,修改端口。如果不修改端口的話,IPPBX可能是完全在公網(wǎng)上裸奔。
確認(rèn)以上步驟成功安裝了FreePBX以后,通過公網(wǎng)地址登錄FreePBX,輸入密碼,登錄訪問界面:
接下來,用戶需要設(shè)置阿里云用戶安全組,開啟我們使用的SIP端口和RTP端口,保證用戶SIP分機(jī)可以正常注冊。入口方向:
出口方向:
然后,我們需要在FreePBX界面做幾個方面的事情,這是防止外網(wǎng)注冊的第一步。首先,關(guān)閉chan_sip, 修改chan_sip 端口,防止外網(wǎng)使用默認(rèn)5060端口注冊,關(guān)閉chan_sip, 僅使用pjsip 啟動來進(jìn)行SIP注冊。在高級設(shè)置中,現(xiàn)在pjsip,關(guān)閉chan_sip。這里再次說明,F(xiàn)reePBX和Asterisk現(xiàn)在已經(jīng)切換到pjsip協(xié)議棧,不再使用chan_sip, 所以我們現(xiàn)在官方支持的方式。當(dāng)然,用戶也可以chan_sip。
在SIP 設(shè)置界面,修改NAT地址,開啟外網(wǎng)IP地址和端口號。注意,這里的外網(wǎng)地址系統(tǒng)已經(jīng)自動檢測到了,所以,無需人工填寫。
修改默認(rèn)端口5060為新的端口,我們將使用這個新端口來測試呼叫。
當(dāng)然,用戶需要在公司網(wǎng)絡(luò)的路由器開啟相應(yīng)的端口和RTP流端口,關(guān)閉ALG開關(guān)。阿里云安全設(shè)置創(chuàng)建好以后,F(xiàn)reePBX NAT 外網(wǎng)設(shè)置和端口創(chuàng)建以后,用戶就可以重新啟動一次FreePBX界面,然后進(jìn)行下一步的分機(jī)注冊。最后,確認(rèn)FreePBX 的防火墻關(guān)閉和iptables關(guān)閉。
4、創(chuàng)建SIP分機(jī)
登錄FreePBX界面,點(diǎn)擊分機(jī),選擇創(chuàng)建pjsip分機(jī)(這里,因?yàn)閏han_sip 已經(jīng)關(guān)閉,所以看不到chan_sip)。點(diǎn)擊刷新界面,F(xiàn)reePBX就會加載最新的配置文件。
5、登錄分機(jī)呼叫
FreePBX創(chuàng)建了分機(jī)以后,我們使用軟電話登錄這個公網(wǎng)IP地址和修改后的端口。如果以上安全策略設(shè)置成功的話,我們的軟電話是可以成功注冊的。
Asterisk CLI 命令也可以看到注冊的狀態(tài),這里兩個分機(jī)已經(jīng)成功注冊。表示可以進(jìn)行內(nèi)部呼叫。
6、分機(jī)呼叫測試
使用分機(jī)700呼叫分機(jī)701。
Asterisk CLI 呼叫日志,表示呼叫成功。
CDR報表可以看到呼叫記錄:
7、其他問題說明
有時,用戶安裝完成以后,可能在界面出現(xiàn)Asterisk 連接失敗的紅色提示,這表示Asterisk還沒有完全啟動。用戶可以使用fwconsole 命令重新啟動一次任務(wù),盡量不要使用Asterisk直接啟動的命令。
linux: fwconsole restart
我們在阿里云的Centos-7 進(jìn)行的測試,其他比較新的Centos 版本應(yīng)該也可以支持,用戶可以自己測試。
在腳本編譯過程中,有時可能出現(xiàn)SIP TLS 安全包安裝問題,用戶需要自己重新手動安裝。另外,如果出現(xiàn)Asterisk編譯失敗,一定要查找其真正的原因,或者源代碼鏈接失效或者支持包沒有安裝成功。
如果SIP 分機(jī)不能注冊的話,用戶需要重新檢查端口,防火墻,路由器設(shè)置和FreePBX NAT設(shè)置,另外,確認(rèn)系統(tǒng)防火墻和iptables關(guān)閉,或者保證其IP地址在白名單狀態(tài)。
如果用戶需要支持呼入呼出的話,用戶需要對接網(wǎng)關(guān)或者購買其他的SIP trunk服務(wù)來對接。這里不再討論。
如果需要安全防護(hù)的話,用戶或者購買阿里云的VPN服務(wù),或者通過FreeSBC實(shí)現(xiàn)對接服務(wù),保證系統(tǒng)的安全性。
8、總結(jié)
在本文檔中,我們技術(shù)類如何通過一鍵式安裝方式在阿里云部署開源免費(fèi)的FreePBX,以及如何配置NAT環(huán)境,保證分機(jī)可以正常注冊,并且成功呼叫。筆者重點(diǎn)介紹了阿里云的安全策略設(shè)置,F(xiàn)reePBXNAT設(shè)置和修改SIP協(xié)議以及端口,通過這樣的設(shè)置可以減少外網(wǎng)注冊的問題。通過一定的配置,F(xiàn)reePBX可以輕松實(shí)現(xiàn)開源免費(fèi)的云總機(jī),振鈴組,電話錄音,呼入呼出等強(qiáng)大的IPPBX功能。
關(guān)注微信公眾號:asterisk-cn,獲得有價值的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