炒冷饭:再论Asterisk与FreeSWITCH
在多年前,我写过一篇《论Asterisk与FreeSWITCH》,在通信行业越来越萧条,或者说通信由原来的纯语音沟通变得更多样化的时候,再回过头来看,Asterisk和FreeSwitch这两个开源的sip b2bua系统间,在未来的语音通信中,即使脱离PSTN这一块,在实时通信中,还是会有一席之地的。
最近在弄语音的实时采集和识别时,就有人不断地问Asterisk能做到吗?改代码肯定都会做到,但是现有的机制中,Asterisk要实时实现还是有些困难的,不是吗?因为FreeSwitch的媒体旁路输出(Media bug)等机制,它在实时进行语音转发时,语音媒体数据的实时采集才更有效。可参考:模拟一个简单的智能客服系统。在未来的人工智能交互时,文字有非常多的im协议来支撑,而语音交互,笔者认为当前的sip协议模型还是会持续使用下去,因为人的声音沟通的需求不会消失,远距离的语音电信号传输更是会一直持续下去。那么这和FreeSwitch及Asterisk有什么关系呢?一直到现在Asterisk的产品体系在呼叫中心,特别是小型呼叫中心中占据了非常大的份量,前几天还听到一个笑话,有公司直接装了一套开源的freepbx到一台小型机器上,去按分机数等卖给终端客户,而客户认为这种模式还是要比纯软件的的东西要好得多,但是该公司在客户的一些需求时,无能为力。在这里,还是要看好FreeSwitch些,因为它的用户相对专业,从而让技术人员对它进行大并发还有媒体旁路输出(Media bug)中实现更大用户的功能和性能方面改造。
在云通信平台的方面,Asterisk以前有个Elastix 4.0号称为多租户(Multi domains)平台,笔者没有尝试过,但据说基本不好用,随后由3CX收购Elastix后,一切烟消云散了,然后再没有哪个Asterisk系列出相关版本做多租户的相关的。而FreeSwitch则在早先1.x版本中一直有无界面的多租户的版本,随后由2600HZ.com和Fusionpbx两家实现过相应的简易的多租户的管理GUI,那么在这块来说,FreeSwitch稍胜一筹。但是Asterisk实在对硬件资源消耗得很少,所以也有企业,直接采用Opensips挂前边,无数套Asterisk作为业务处理模块的模式实现多租户,的确也可曲线救国。
在客户使用情况来看,FreeSwitch的用户是有自己相当的研发人员,花大量的费用的企业使用的多一些,其中就包括了最近纷纷扬扬的“全球最大呼叫中心”拥有者一携程。而用户数上,Asterisk系列的用户则是N多倍以FreeSwitch,因为Asterisk的整个生态圈,虽不健康(比如克隆卡、屡屡的侵权),但它的生态是完整的;而FreeSwitch则生态太过于单一,只有软件技术的输出。
在实现PSTN的对接上,Asterisk一般由于工具的丰富,配置更容易些;而FreeSwitch的配置则要复杂不少,但这种情况也在不断地改进,笔者自己开发的FSGUI:FSGUI-V2.3.5.8发布了,作为V2.3.5.x最后一个版本,我们更期待后续的版本,也对此进行了GUI化和一部分的自动化处理。
老生常谈,又要回性能上来,Asterisk也在不断地改进,但由于篇头提到的原因,全球的传统通信在不断萎缩,Asterisk重构的可能性也基本不大,所以这块还是FreeSwitch占优,笔者开发的《回拨及计费平台》则可以做到实体机配置:16核32G+ SSD 达到2000线以上的PSTN回拨使用。
总之,在通信行业中,开源产品干倒了传统的商业产品,虽有些夸张,但是传统的商业产品不断在缩减是不争的事实,而Asterisk和FreeSwitch作为两大块产品体系,总有一款是属于或大或小的你们公司。
论Asterisk与FreeSWITCH
产品部分链接:
FSGUI-V2.3.5.8发布了,作为V2.3.5.x最后一个版本,我们更期待后续的版本
呼叫中心开发培训及服务链接: