關(guān)于SBC(會(huì)話邊界控制器的詳細(xì)說明和技術(shù)架構(gòu),應(yīng)用場(chǎng)景),讀者可以查閱筆者的歷史文檔做進(jìn)一步學(xué)習(xí)。
基于CPU和GPU的超大并發(fā)會(huì)話邊界控制器(SBC)的編碼轉(zhuǎn)換實(shí)現(xiàn)討論以及測(cè)試對(duì)比測(cè)試結(jié)果
會(huì)話邊界控制器(SBC)/SIP路由以及相關(guān)業(yè)務(wù)問題淺析
圖解邊界會(huì)話控制器(SBC)的20個(gè)最常用功能
邊界會(huì)話控制器-SBC部署協(xié)議-RFC5853
SIP系列講座-邊界會(huì)話控制器-SBC全面剖析
實(shí)現(xiàn)拓?fù)鋱D如下,通過SIP trunk/Teams/IMS對(duì)接云SBC,SBC對(duì)接IPPBX。

阿里云部署的Ribbon SBC對(duì)接IPPBX

安裝完成后,用戶實(shí)例的部署環(huán)境,筆者把Ribbon SBC和FreePBX部署在了同一區(qū)域網(wǎng)絡(luò)環(huán)境中。

阿里云已配置好的實(shí)例
Ribbon SBC和IPPBX都部署在同一阿里云的區(qū)域內(nèi)。Ribbon SBC可以提供目前所有的SBC部署場(chǎng)景,特別針對(duì)微軟的Teams 提供了SBC的運(yùn)營(yíng)服務(wù)。這里,我們僅介紹SBC對(duì)接IPPBX的最常見的應(yīng)用場(chǎng)景。通過SBC對(duì)接IPPBX(示例使用FreePBX),實(shí)現(xiàn)了企業(yè)網(wǎng)絡(luò)的隱藏,保證了外網(wǎng)SIP分機(jī)注冊(cè)不會(huì)暴露IPPBX公網(wǎng)的功能。除了SBC對(duì)接IPPBX的基本功能以外,Ribbon SBC可以支持更多超大并發(fā)(2W以上)和IPPBX均衡負(fù)載的解決方案,高可靠性HA解決方案,基于SIP trunk的智能路由呼叫,基于軟硬件的語音編碼轉(zhuǎn)換,微軟Teams SBC運(yùn)營(yíng)等運(yùn)營(yíng)級(jí)的產(chǎn)品服務(wù)。
- 阿里云安裝Ribbon SBC
- 我們主要通過幾個(gè)步驟來實(shí)現(xiàn)Ribbon SBC和云IPPBX的對(duì)接方式,具體流程包括:
- 阿里云安裝Ribbon SBC
- 阿里云配置FreePBX-開源免費(fèi)的IPPBX電話系統(tǒng),配置分機(jī)賬號(hào)
- 通過Ribbon SBC快速部署方式實(shí)現(xiàn)對(duì)接IPPBX
通過Ribbon SBC 監(jiān)控工具,測(cè)試工具排查SIP注冊(cè),呼叫的問題
首先說明,筆者介紹的步驟有可以適用于騰訊云平臺(tái),百度云平臺(tái)和華為云平臺(tái)的安裝。
開始實(shí)施前需要準(zhǔn)備好如下工具環(huán)境:
1. 阿里云帳號(hào)
2. Ribbon SBC SWe 8.1版本的qcow2文件,可以從Ribbon官網(wǎng)申請(qǐng)下載,文件名為SBCSWeLite-disk.qcow2
以下指南步驟為全新環(huán)境建立,如果計(jì)劃在已經(jīng)運(yùn)作的客戶環(huán)境內(nèi)部署Lite,請(qǐng)和云管理員協(xié)商建立網(wǎng)絡(luò)和安全組相關(guān)的策略。
實(shí)施步驟概覽:
- 建立一個(gè)專有網(wǎng)絡(luò)
- 在這個(gè)專有網(wǎng)絡(luò)下建立兩個(gè)交換機(jī)(因?yàn)長(zhǎng)ite最少需要兩塊網(wǎng)卡,所以需要兩個(gè)交換機(jī))
- 建立一個(gè)安全組
- 開通對(duì)象存儲(chǔ)服務(wù),創(chuàng)建存儲(chǔ)桶bucket
- 上傳qcow2鏡像到bucket,并獲取鏡像文件的URL
- 導(dǎo)入自定義鏡像
- 建立一個(gè)支持兩塊網(wǎng)卡實(shí)例,選擇基于剛才導(dǎo)入的自定義鏡像,并使用用戶數(shù)據(jù)來初始化Lite
- 啟動(dòng)SBC,并把公網(wǎng)IP轉(zhuǎn)換為彈性IP
- 把彈性IP綁定到第二塊網(wǎng)卡
- 啟動(dòng)并登錄SBC
以下是詳細(xì)安裝Ribbon SBC的步驟。如果用戶比較熟悉阿里云通過存儲(chǔ)桶安裝的話,可以大概參考以下步驟。最主要的是關(guān)于公網(wǎng)IP地址設(shè)置,如果用戶使用公網(wǎng)IP,不使用彈性公網(wǎng)IP的話,也可以自己設(shè)置。
1)首先創(chuàng)建一個(gè)專有網(wǎng)絡(luò),現(xiàn)在地址段

2)建立兩個(gè)交換機(jī),IPv4在不同的網(wǎng)段,注意交換機(jī)命名,方便后續(xù)使用方便,包括了管理口和業(yè)務(wù)口。

3)然后創(chuàng)建一個(gè)安全組,在入方向開放必要的端口,包括5060,RTP端口,80端口,443端口等。

4)開通對(duì)象存儲(chǔ),為了系統(tǒng)文件上傳存儲(chǔ)做準(zhǔn)備。

5)上傳qcow2文件到存儲(chǔ)桶內(nèi)。用戶需要通過下載文件獲得qcow2文件格式,然后上傳到存儲(chǔ)桶中。
請(qǐng)點(diǎn)擊輸入圖片描述(最多18字)

6) 上傳好的文件狀態(tài):

7)點(diǎn)擊詳情,獲取文件的URL鏈接(將來安裝系統(tǒng)時(shí)需要這個(gè)URL)。

請(qǐng)點(diǎn)擊輸入圖片描述(最多18字)
8) 設(shè)置系統(tǒng)鏡像,點(diǎn)擊鏡像

9)導(dǎo)入鏡像文件,這里我們使用存儲(chǔ)桶中的URL

10)然后選擇創(chuàng)建實(shí)例,從鏡像列表中選擇我們剛才導(dǎo)入的SBC系統(tǒng)鏡像。

11)這里,我們需要支持兩塊彈性網(wǎng)卡的機(jī)器,所以這里選擇4vCPU和4G內(nèi)存的實(shí)例,注意鏡像的選擇:

12) 選擇好相關(guān)的交換機(jī)和安全組,并添加第二塊網(wǎng)卡放在pkt的交換機(jī)上:

13) 登錄憑證選擇使用鏡像預(yù)設(shè)密碼,同時(shí)在自定義數(shù)據(jù)處貼入后面相關(guān)的用戶數(shù)據(jù),密碼和網(wǎng)關(guān)等參數(shù)根據(jù)實(shí)際情況來修改:

把以下配置參數(shù)填寫到自定義參數(shù)中。
{
"setup": {
"admin_account": {
"adminUserName": "admin",
"adminUserPassword": "admin321"
},
"rest_account": {
"restUserName": "rest_user",
"restUserPassword": "rest_password"
},
"netconfig_account": {
"netconfigUserPassword": "netconfig_password"
},
"dns": {
"primaryDNSServerIP":"8.8.8.8",
"secondaryDNSServerIP":"8.8.4.4",
"hostName": "SWELite81",
"domainName": "cutomer.com"
},
"ntp":{
"Ntp1ServerName":"20.189.79.72",
},
"mgt0": {
"adminDHCPSuppliedParamUsage":"1"
},
"pkt0": {
"applicationDHCPSuppliedParamUsage":"0",
"NextHopIP1":"192.168.2.253"
}
}
}
注意拷貝時(shí)一定要拷貝完整以上數(shù)據(jù)。
14) 點(diǎn)擊下一步進(jìn)入系統(tǒng)配置

編輯
14. 點(diǎn)擊下一步進(jìn)入系統(tǒng)配置
15) 勾選上服務(wù)條款,然后點(diǎn)擊創(chuàng)建實(shí)例:

16) 系統(tǒng)提示實(shí)例創(chuàng)建成功

17) 把分配給SBC的公網(wǎng)IP更換成彈性公網(wǎng)IP, 這里,用戶需要購(gòu)買一個(gè)彈性公網(wǎng)IP,更加方便管理IP和數(shù)據(jù)。

18) 然后選擇彈性公網(wǎng)IP

19) 把彈性公網(wǎng)IP從當(dāng)前的主網(wǎng)卡上解綁

20) 然后點(diǎn)擊綁定

21) 把這個(gè)彈性IP綁定到輔助彈性網(wǎng)卡上

完成以上流程以后,用戶重新啟動(dòng)實(shí)例,通過彈性公網(wǎng)IP就可以訪問Ribbon SBC 界面。

通過一系列配置以后,用戶就可以通過彈性IP訪問Ribbon SBC 管理界面。
阿里云配置FreePBX-開源免費(fèi)的IPPBX電話系統(tǒng),配置分機(jī)賬號(hào)
這里,我們開始配置FreePBX,F(xiàn)reePBX是免費(fèi)開源的IPPBX系統(tǒng),用戶可以通過源代碼安裝方式在阿里云,騰訊云或者百度云部署FreePBX。具體安裝步驟,請(qǐng)讀者參考鏈接中的網(wǎng)站,有完整的介紹流程。配置好FreePBX以后,用戶需要在FreePBX界面創(chuàng)建兩個(gè)SIP分機(jī)賬號(hào)(我們使用的pjsip的100,101作為測(cè)試分機(jī))。

已經(jīng)創(chuàng)建的分機(jī)賬號(hào):


通過Ribbon SBC快速部署方式實(shí)現(xiàn)對(duì)接IPPBX
完成了IPPBX界面的SIP分機(jī)創(chuàng)建以后,通過Ribbon SBC 快速導(dǎo)航配置,配置SIP 分機(jī)注冊(cè)和IPPBX對(duì)接的流程。


根據(jù)安裝指導(dǎo),輸入IPPBX IP地址和端口,然后保存配置即可。
根據(jù)安裝指導(dǎo),現(xiàn)在SIP 電話配置,SIP端口,一步步配置即可。
通過monitor 可以看到注冊(cè)組和IPPBX組都成功對(duì)接。



如果使用軟電話和手機(jī)app分別注冊(cè)到SBC地址,通過SBC界面就可以看到SIP分機(jī)已經(jīng)完全注冊(cè)成功,通過Asterisk CLI 后臺(tái)也可以看到SIP 分機(jī)注冊(cè)成功。

通過CLI命令查看SIP注冊(cè)狀態(tài)


通過SBC 界面查看SIP分機(jī)注冊(cè)狀態(tài)
通過外網(wǎng)SIP分機(jī)注冊(cè)到企業(yè)IPPBX,并且實(shí)現(xiàn)SIP分機(jī)之間的呼叫
確認(rèn)SIP分機(jī)注冊(cè)成功以后,用戶就可以通過手機(jī)APP 端的軟電話呼叫電腦客戶端的軟電話。

SIP分機(jī)雙方呼叫的log和狀態(tài)

請(qǐng)點(diǎn)擊輸入圖片描述(最多18字)
請(qǐng)點(diǎn)擊輸入圖片描述(最多18字)
通過Ribbon SBC 監(jiān)控工具,測(cè)試工具排查SIP注冊(cè),呼叫的問題
Ribbon SBC提供了很多的基于界面的檢測(cè)工具,用戶可以非?焖俜奖愕嘏挪楹透櫢鞣N呼叫問題。

通過SBC查看IPPBX和SIP分機(jī)信令系統(tǒng)。
SIP錄音:

數(shù)據(jù)統(tǒng)計(jì)工具

通過呼叫測(cè)試工具,可以呼叫SIP分機(jī)來檢測(cè)分機(jī)注冊(cè)狀態(tài)是否正常。

通過界面呼叫不同的兩個(gè)分機(jī),也可以呼叫內(nèi)網(wǎng)IPPBX


通過工具測(cè)試呼叫
通過Sonus LX 終端工具可以檢查log日志,分析錯(cuò)誤log

下載系統(tǒng)log,通過Sonus檢測(cè)log日志。

用戶可以通過其他的log日志,ping工具和SIP抓包工具來檢查其錯(cuò)誤日志信息。
總結(jié)
SBC是SIP網(wǎng)絡(luò)非常重要的安全保護(hù)機(jī)制。Ribbon SBC為企業(yè)通信提供了世界級(jí)的SBC 會(huì)話邊界控制器,同時(shí)也支持了微軟 Teams的對(duì)接流程。我們?cè)谠破脚_(tái)部署過程中需要首先安裝Ribbon SBC,然后通過快速配置方式可以快速對(duì)接IPPBX。通過外網(wǎng)分機(jī)注冊(cè)可以實(shí)現(xiàn)基本的呼叫。
當(dāng)然,除了以上SBC和IPPBX的基本配置以外,很多的Ribbon SBC功能還沒有深入挖掘,包括編碼轉(zhuǎn)換功能,SIP均衡負(fù)載,逃生功能,SIP錄音等功能。這些功能都是非常實(shí)用的企業(yè)通信功能,用戶可以根據(jù)自己的部署場(chǎng)景做進(jìn)一步的測(cè)試配置。
參考資料:
www.rbbn.com
www.freepbx.org.cn
www.rbbn.cn 更多SBC應(yīng)用場(chǎng)景實(shí)例
- 融合通信/SBC/IPPBX/FreePBX商業(yè)解決方案:www.hiastar.com
- 最新Asterisk完整中文用戶手冊(cè)詳解:www.asterisk.org.cn
- Freepbx/FreeSBC技術(shù)文檔: www.freepbx.org.cn
- 關(guān)注微信公眾號(hào):asterisk-cn,獲得有價(jià)值的通信行業(yè)技術(shù)分享