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

注意,腳本中的Asterisk 源代碼下載鏈接可能有時失效。如果出現安裝錯誤,用戶到官方網站找一個新的下載鏈接,重新修改腳本中的鏈接。腳本成功執(zhí)行后,用戶就可以通過公網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)境
安裝完成后,首先需要設置安全策略,修改端口。如果不修改端口的話,IPPBX可能是完全在公網上裸奔。
確認以上步驟成功安裝了FreePBX以后,通過公網地址登錄FreePBX,輸入密碼,登錄訪問界面:


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

出口方向:

然后,我們需要在FreePBX界面做幾個方面的事情,這是防止外網注冊的第一步。首先,關閉chan_sip, 修改chan_sip 端口,防止外網使用默認5060端口注冊,關閉chan_sip, 僅使用pjsip 啟動來進行SIP注冊。在高級設置中,現在pjsip,關閉chan_sip。這里再次說明,FreePBX和Asterisk現在已經切換到pjsip協議棧,不再使用chan_sip, 所以我們現在官方支持的方式。當然,用戶也可以chan_sip。

在SIP 設置界面,修改NAT地址,開啟外網IP地址和端口號。注意,這里的外網地址系統已經自動檢測到了,所以,無需人工填寫。

修改默認端口5060為新的端口,我們將使用這個新端口來測試呼叫。

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

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


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

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

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

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

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



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