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

阿里云部署的Ribbon SBC對接IPPBX

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

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

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

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

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

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

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

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

請點擊輸入圖片描述(最多18字)
8) 設置系統(tǒng)鏡像,點擊鏡像

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

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

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

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

13) 登錄憑證選擇使用鏡像預設密碼,同時在自定義數據處貼入后面相關的用戶數據,密碼和網關等參數根據實際情況來修改:

把以下配置參數填寫到自定義參數中。
{
"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"
}
}
}
注意拷貝時一定要拷貝完整以上數據。
14) 點擊下一步進入系統(tǒng)配置

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

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

17) 把分配給SBC的公網IP更換成彈性公網IP, 這里,用戶需要購買一個彈性公網IP,更加方便管理IP和數據。

18) 然后選擇彈性公網IP

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

20) 然后點擊綁定

21) 把這個彈性IP綁定到輔助彈性網卡上

完成以上流程以后,用戶重新啟動實例,通過彈性公網IP就可以訪問Ribbon SBC 界面。

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

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


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


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



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

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


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

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

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

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

數據統(tǒng)計工具

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

通過界面呼叫不同的兩個分機,也可以呼叫內網IPPBX


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

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

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