漫谈VoIP网络中的核心设备-SBC
根据 Infonetics 研究报告指出,托管式IPPBX和融合通信市场将以每年至少20%的增长。由此不难看出,2016年SBC市场将以大幅度增长。统计数据表明用户需求数量的增加必然带动厂家设备的销售额。SBC将是一个井喷的市场。
SBC 是目前VoIP网络中核心的设备,中文意思是会话边界控制器。顾名思义,就是在网络边界处(内网和外网)对会话进行管理的设备。我们提到的会话当然是指SIP session。
我们将在接下来的章节中简单讨论以下几个方面的内容:
1)SBC在VoIP网络中扮演的是什么角色,通俗来说就是实现什么功能
因为我们一直讨论的是VoIP领域中SBC核心设备的应用,SBC本身具有很多功能,包括拓隐藏,呼叫路由管理,防攻击,NAT穿越,QOS,TDM接入,B2BUA,语音编码处理,SIP注册等等功能。从大部分的功能来看,主要的功能还是和SIP相关,所以SBC的重点还是针对SIP会话方面的管理。几个重点讨论的技术点包括:SIP 设备终端之间的通信,安全管理,中继管理。 因此简单来说,SBC重点负责SIP的安全管理当然包括了内部网络的拓扑隐藏,SIP加密和防攻击等等,另外就是对SIP中继进行管理通信,包括不同编码转换,SIP消息规范化处理。
2)VoIP中SBC设备的需求
VoIP网络中,通常情况下,如果VoIP设备设置在公网或者私网,都会经常遇到网络攻击,恶意注册,IP地址欺骗,电话盗打的等等安全问题,SBC支持了多种安全策略,可以非常安全地解决这些问题。以下图例是网络攻击的*常用的5种方式:
3)SBC的重要作用
SBC在VoIP中扮演着非常重要的角色,或者说是其他设备无法替代的角色。通常*重要的角色是防止网络攻击,SBC可以实现一些防火墙的功能,实现黑白名单过滤检测,SIP信令加密,同时设备本身是一个B2BUA形式,对内网设备进行了隐藏,不会完全对外网用户暴露,实现了网络的安全性。
SBC在VoIP网络环境中核心的功能包括:
3.1)SIP消息的规范化。因为在复杂的网络环境中,接入的设备终端可能来自于不同厂家,不同的私有协议标准。SCB必须对SIP消息进行规范化处理,确保其他的通信设备可以互相交换。
3.2)编码转换,因为多种设备和终端支持不同的语音编码,而且因为带宽的语音,语音编码传输方式完全不同。其中各种终端设备对编码支持的不一样可能有多种原因,例如厂家的设备暂时还不支持某种编码,或者可能语音编码的许可证费用太贵,或者本身设备的CPU性能不能处理一些编码。SBC 需要对来自不同网络的会话进行编码处理,确保双方可以实现互通。
3.3)无论网络带宽如何发展,目前看,带宽仍然是限制VoIP发展的重要因素之一,因此为了节省带宽资源,语音传输时不得不使用压缩比比较好的编码,这样,SBC就需要对编码进行转换处理,确保IPPBX,或者UC可以支持这些编码。
3.4)对NAT处理,VoIP网络环境中,绝大部分用户会面对NAT问题,通常的解决办法就是使用VPN或者防火墙开多余的端口来进行处理。这样的话,网络环境就可能充分暴露在外网的用户面前,导致安全问题。以下图例说明NAT状态下,语音数据通信出现的问题。
3.5)传真和语音检测功能。传真虽然慢慢在实际业务环境中越来越少,但是基本上仍然是企业业务沟通的重要工具,网络中的T38 传真需要SBC支持,因此SBC 必须可以检测传真音。想象一下,通过外网呼入到企业IPPBX,如果进入IVR或者其他的语音提示系统,用户需要输入DTMF进行语音检测,以便进入到其他的业务流程。因此,SBC必须能够精确地检测语音输入。
3.6)具有良好的性能,性能指标包括CPU的处理能力,可拓展性,会话并发处理,逃生,冗余处理,注册数处理。性能方面当然需要根据用户本身网络的环境进行评估,一些重要指标必须注意,例如逃生功能。如果整个IP侧的网络出现故障,用户可以通过TDM接口进行通信。或者用户需要拨打119 等紧急呼叫时,用户必须可以接通本地的紧急服务电话系统。
3.7)其他的设备无法替代SBC在VoIP网络中的地位。通常在VoIP网络中采用的方法包括:VPN隧道处理,或者企业防火墙设置。VPN 隧道在同一网络环境中具有配置简单的优势,但是VPN隧道技术本身不具有SIP会话握手释放和定时器等等相关功能,尤其在企业融合通信或者IPPBX 的环境下,容易出现连接问题。另外,VPN隧道不会对SIP加密的,解除加密进行处理,SBC 具有这样的功能,本身SBC支持了SRTP和TLS。防火墙也存在一些问题,SIP网络环境中,通常的做法是在防火墙打一个洞,或者开发某些端口来支持SIP通信。现实环境中,SIP的状态保护是非常多样的,还要支持文本通信,即时通讯工具,文件传输等等其他业务,这样可能导致防火墙管理非常开放,失去了防火墙应有的功能,导致安全问题。
4)SBC对SIP业务的管理更加简单
SBC 设备本身具有对SIP信令控制的能力,同时支持黑白名单过滤,防止非法用户侵入系统内部。另外无需部署多个设备,一台设备可以解决所有问题。
5)利用开源软交换来开发SBC
利用开源平台开发SBC图例
目前市场上主流的SBC 设备厂家相对来说技术实力比较强,同时对底层设备架构性能有充分的了解。硬件设备相对稳定一些。但是目前很多开源的软交换也具备SBC的某些功能,例如openSIPS, kamailio 或者FreeSWICTH。这些平台本身具有注册,路由,NAT处理的能力,但是首先这些软交换平台基本都不具有编码转换处理的能力,本身没有对编码的处理,只能对SIP消息做规范化处理,其次,几个平台对接的技术难度很高,维护成本高,所以只能部分实现SBC功能。如果需要对编码转换进行处理的话,必须借助第三方DSP处理或者软转码,目前类似的算法基本上都需要通过购买商业许可证来实现。所以严格意义上这样的架构并不是SBC的标准设备。
6)SBC 部署类型 目前SBC部署支持两种形式:
6.1)设备类型。设备类型支持企业级和运营商级的部署,从400路到2000路以上,或者更高级别的处理。
SBC 在企业语音业务中的应用拓扑图
6.2)VMware 平台安装部署eSBC。这样的方式适合于中小型企业的IPPBX对接,SIP中继对接或者企业融合通信的管理。SBC 是以软件形式安装在企业内部的虚拟机上,可以根据不同配置来支持编码转换,另外一个软编码的局限性在于支持的编码类型非常有限,而且市场上编码类型又不断丰富。编码转换的处理包括软件形式的,很多厂家都有自己的算法,但是并发数量和虚拟机的性能有严格的要求,同时支持的编码类型非常有限。Sangoma 的eSBC 则通过外置的编码DSP设备处理,通过IP对接,来对RTP流进行处理。这样保证了处理能力,可以根据企业用户的增加适当拓展并发数量,调整编码转换设备的容量。用户通过ESBC 对接基于云的IPPBX,例如可以部署IPPBX在阿里云,亚马逊云,百度云,然后在本地进行编码处理。
SBC 在AWS云平台部署图例
7)SBC 在VoIP环境中主要面对的挑战
VoIP的技术日新月异,笔者不敢轻易断定网络会有什么不可预知的问题。当然,以目前的技术水平和网络环境来看,无论是什么样的设备,什么样的功能,面对的一个主要问题就是网络的稳定性问题,用户网络环境复杂等等问题。这些问题通常是厂家不可预知的问题。这些也都是VoIP环境一直面对的难题。比较好的解决办法就是设备端必须支持完善的排查工具,包括QOS,SIP消息,语音抓包等等工具,用户可以轻松检查出问题所在,能够快速解决问题,或者反馈问题。
总结,从我们介绍的以上内容中我们不难看出,SBC设备是目前VoIP网络环境中*为可靠的解决方案,具有对SIP完整的支持,同时解决了安全问题。一句话,SBC 就是为SIP所生!
参考资料:
1)http://wiki.sangoma.com/NetBorder-Session-Controller
2)http://www.dummies.com/
3)http://en.wikipedia.org/wiki/Session_border_controller
4)http://en.wikipedia.org/wiki/Back-to-back_user_agent
5)http://blogs.trilogy-lte.com/post/77427158750/how-webrtc-is-revolutionizing-telephony
6)http://www.frafos.com/wp-content/uploads/2012/10/FRAFOS_Underdstanding_SBC.pdf