关于SBC(会话边界控制器的详细说明和技术架构,应用场景),读者可以查阅笔者的历史文档做进一步学习。
基于CPU和GPU的超大并发会话边界控制器(SBC)的编码转换实现讨论以及测试对比测试结果
会话边界控制器(SBC)/SIP路由以及相关业务问题浅析
图解边界会话控制器(SBC)的20个最常用功能
边界会话控制器-SBC部署协议-RFC5853
SIP系列讲座-边界会话控制器-SBC全面剖析
实现拓扑图如下,通过SIP trunk/Teams/IMS对接云SBC,SBC对接IPPBX。

阿里云部署的Ribbon SBC对接IPPBX

安装完成后,用户实例的部署环境,笔者把Ribbon SBC和FreePBX部署在了同一区域网络环境中。

阿里云已配置好的实例
Ribbon SBC和IPPBX都部署在同一阿里云的区域内。Ribbon SBC可以提供目前所有的SBC部署场景,特别针对微软的Teams 提供了SBC的运营服务。这里,我们仅介绍SBC对接IPPBX的最常见的应用场景。通过SBC对接IPPBX(示例使用FreePBX),实现了企业网络的隐藏,保证了外网SIP分机注册不会暴露IPPBX公网的功能。除了SBC对接IPPBX的基本功能以外,Ribbon SBC可以支持更多超大并发(2W以上)和IPPBX均衡负载的解决方案,高可靠性HA解决方案,基于SIP trunk的智能路由呼叫,基于软硬件的语音编码转换,微软Teams SBC运营等运营级的产品服务。
- 阿里云安装Ribbon SBC
- 我们主要通过几个步骤来实现Ribbon SBC和云IPPBX的对接方式,具体流程包括:
- 阿里云安装Ribbon SBC
- 阿里云配置FreePBX-开源免费的IPPBX电话系统,配置分机账号
- 通过Ribbon SBC快速部署方式实现对接IPPBX
通过Ribbon SBC 监控工具,测试工具排查SIP注册,呼叫的问题
首先说明,笔者介绍的步骤有可以适用于腾讯云平台,百度云平台和华为云平台的安装。
开始实施前需要准备好如下工具环境:
1. 阿里云帐号
2. Ribbon SBC SWe 8.1版本的qcow2文件,可以从Ribbon官网申请下载,文件名为SBCSWeLite-disk.qcow2
以下指南步骤为全新环境建立,如果计划在已经运作的客户环境内部署Lite,请和云管理员协商建立网络和安全组相关的策略。
实施步骤概览:
- 建立一个专有网络
- 在这个专有网络下建立两个交换机(因为Lite最少需要两块网卡,所以需要两个交换机)
- 建立一个安全组
- 开通对象存储服务,创建存储桶bucket
- 上传qcow2镜像到bucket,并获取镜像文件的URL
- 导入自定义镜像
- 建立一个支持两块网卡实例,选择基于刚才导入的自定义镜像,并使用用户数据来初始化Lite
- 启动SBC,并把公网IP转换为弹性IP
- 把弹性IP绑定到第二块网卡
- 启动并登录SBC
以下是详细安装Ribbon SBC的步骤。如果用户比较熟悉阿里云通过存储桶安装的话,可以大概参考以下步骤。最主要的是关于公网IP地址设置,如果用户使用公网IP,不使用弹性公网IP的话,也可以自己设置。
1)首先创建一个专有网络,现在地址段

2)建立两个交换机,IPv4在不同的网段,注意交换机命名,方便后续使用方便,包括了管理口和业务口。

3)然后创建一个安全组,在入方向开放必要的端口,包括5060,RTP端口,80端口,443端口等。

4)开通对象存储,为了系统文件上传存储做准备。

5)上传qcow2文件到存储桶内。用户需要通过下载文件获得qcow2文件格式,然后上传到存储桶中。
请点击输入图片描述(最多18字)

6) 上传好的文件状态:

7)点击详情,获取文件的URL链接(将来安装系统时需要这个URL)。

请点击输入图片描述(最多18字)
8) 设置系统镜像,点击镜像

9)导入镜像文件,这里我们使用存储桶中的URL

10)然后选择创建实例,从镜像列表中选择我们刚才导入的SBC系统镜像。

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) 点击下一步进入系统配置

编辑
14. 点击下一步进入系统配置
15) 勾选上服务条款,然后点击创建实例:

16) 系统提示实例创建成功

17) 把分配给SBC的公网IP更换成弹性公网IP, 这里,用户需要购买一个弹性公网IP,更加方便管理IP和数据。

18) 然后选择弹性公网IP

19) 把弹性公网IP从当前的主网卡上解绑

20) 然后点击绑定

21) 把这个弹性IP绑定到辅助弹性网卡上

完成以上流程以后,用户重新启动实例,通过弹性公网IP就可以访问Ribbon SBC 界面。

通过一系列配置以后,用户就可以通过弹性IP访问Ribbon SBC 管理界面。
阿里云配置FreePBX-开源免费的IPPBX电话系统,配置分机账号
这里,我们开始配置FreePBX,FreePBX是免费开源的IPPBX系统,用户可以通过源代码安装方式在阿里云,腾讯云或者百度云部署FreePBX。具体安装步骤,请读者参考链接中的网站,有完整的介绍流程。配置好FreePBX以后,用户需要在FreePBX界面创建两个SIP分机账号(我们使用的pjsip的100,101作为测试分机)。

已经创建的分机账号:


通过Ribbon SBC快速部署方式实现对接IPPBX
完成了IPPBX界面的SIP分机创建以后,通过Ribbon SBC 快速导航配置,配置SIP 分机注册和IPPBX对接的流程。


根据安装指导,输入IPPBX IP地址和端口,然后保存配置即可。
根据安装指导,现在SIP 电话配置,SIP端口,一步步配置即可。
通过monitor 可以看到注册组和IPPBX组都成功对接。



如果使用软电话和手机app分别注册到SBC地址,通过SBC界面就可以看到SIP分机已经完全注册成功,通过Asterisk CLI 后台也可以看到SIP 分机注册成功。

通过CLI命令查看SIP注册状态


通过SBC 界面查看SIP分机注册状态
通过外网SIP分机注册到企业IPPBX,并且实现SIP分机之间的呼叫
确认SIP分机注册成功以后,用户就可以通过手机APP 端的软电话呼叫电脑客户端的软电话。
图片
SIP分机双方呼叫的log和状态
图片
请点击输入图片描述(最多18字)
请点击输入图片描述(最多18字)
通过Ribbon SBC 监控工具,测试工具排查SIP注册,呼叫的问题
Ribbon SBC提供了很多的基于界面的检测工具,用户可以非常快速方便地排查和跟踪各种呼叫问题。
图片
通过SBC查看IPPBX和SIP分机信令系统。
SIP录音:
图片
数据统计工具
图片
通过呼叫测试工具,可以呼叫SIP分机来检测分机注册状态是否正常。
图片
通过界面呼叫不同的两个分机,也可以呼叫内网IPPBX
图片
图片
通过工具测试呼叫
通过Sonus LX 终端工具可以检查log日志,分析错误log
图片
下载系统log,通过Sonus检测log日志。
图片
用户可以通过其他的log日志,ping工具和SIP抓包工具来检查其错误日志信息。
总结
SBC是SIP网络非常重要的安全保护机制。Ribbon SBC为企业通信提供了世界级的SBC 会话边界控制器,同时也支持了微软 Teams的对接流程。我们在云平台部署过程中需要首先安装Ribbon SBC,然后通过快速配置方式可以快速对接IPPBX。通过外网分机注册可以实现基本的呼叫。
当然,除了以上SBC和IPPBX的基本配置以外,很多的Ribbon SBC功能还没有深入挖掘,包括编码转换功能,SIP均衡负载,逃生功能,SIP录音等功能。这些功能都是非常实用的企业通信功能,用户可以根据自己的部署场景做进一步的测试配置。
参考资料:
www.rbbn.com
www.freepbx.org.cn
www.rbbn.cn 更多SBC应用场景实例
融合通信/SBC/IPPBX/FreePBX商业解决方案:www.hiastar.com
最新Asterisk完整中文用户手册详解:www.asterisk.org.cn
Freepbx/FreeSBC技术文档: www.freepbx.org.cn
关注微信公众号:asterisk-cn,获得有价值的通信行业技术分享