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

阿里云部署的Ribbon SBC對接IPPBX

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

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

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

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

4)開(kāi)通對象存儲,為了系統文件上傳存儲做準備。

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

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

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

請點(diǎn)擊輸入圖片描述(最多18字)
8) 設置系統鏡像,點(diǎn)擊鏡像

9)導入鏡像文件,這里我們使用存儲桶中的URL

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

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

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

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

把以下配置參數填寫(xiě)到自定義參數中。
{
"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í)一定要拷貝完整以上數據。
14) 點(diǎn)擊下一步進(jìn)入系統配置

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

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

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

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

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

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

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

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

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

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


通過(guò)Ribbon SBC快速部署方式實(shí)現對接IPPBX
完成了IPPBX界面的SIP分機創(chuàng )建以后,通過(guò)Ribbon SBC 快速導航配置,配置SIP 分機注冊和IPPBX對接的流程。


根據安裝指導,輸入IPPBX IP地址和端口,然后保存配置即可。
根據安裝指導,現在SIP 電話(huà)配置,SIP端口,一步步配置即可。
通過(guò)monitor 可以看到注冊組和IPPBX組都成功對接。



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

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


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

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

請點(diǎn)擊輸入圖片描述(最多18字)
請點(diǎn)擊輸入圖片描述(最多18字)
通過(guò)Ribbon SBC 監控工具,測試工具排查SIP注冊,呼叫的問(wèn)題
Ribbon SBC提供了很多的基于界面的檢測工具,用戶(hù)可以非常快速方便地排查和跟蹤各種呼叫問(wèn)題。

通過(guò)SBC查看IPPBX和SIP分機信令系統。
SIP錄音:

數據統計工具

通過(guò)呼叫測試工具,可以呼叫SIP分機來(lái)檢測分機注冊狀態(tài)是否正常。

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


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

下載系統log,通過(guò)Sonus檢測log日志。

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