您当前的位置是:  首页 > 资讯 > 国内 >
 首页 > 资讯 > 国内 >

FreeSBC对接FreeSWITCH实现拓扑隐藏和SIP分机外网注册

2019-08-21 09:26:04   作者:james.zhu   来源:Asterisk开源派   评论:0  点击:


  目前比较热门的开源媒体服务器除了Asterisk以外,可能就是FreeSWITCH。很多中国用户使用FreeSWITCH来开发外呼系统等呼叫中心应用。很多用户都将基于FreeSWITCH的呼叫中心或云总机部署在阿里云上。但是,如果把FreeSWITCH部署在云平台,大部分情况下,因为公网地址暴露,用户需要面对一个被攻击的风险。为了防止被外网的攻击者的各种攻击,很多开源用户不得不在FreeSWITCH前端再增加其他的服务(例如,Kamailio)来实现拓扑隐藏。通常情况下,大部分的用户也对Kamailio缺乏了解,花费很多资源也最终不能真正实现对FreeSWITCH的保护。
  选择FreeSBC和FreeSWITCH是相对比较经济靠谱的解决方案,而且实现了很多其他开源软交换不能充分处理媒体的功能。以前,我们介绍了如何通过FreeSBC对接Asterisk/FreePBX做完整的呼叫测试。今天,我们本文章重点介绍如何通过FreeSBC对接FreeSWITCH实现SIP分机公网注册的功能。此功能完全可适用于呼叫中心座席注册,IPPBX注册和云总机的注册。
  1、FreeSWITCH公网暴露的问题
  很多用户使用FreeSWITCH开发呼叫中心和云总机。为了实现分机的注册功能,FreeSWITCH不得不裸露在公网上,包括SIP端口和RTP端口。这种部署方式是目前大部分企业所采用的方式。但是,这种方式带来了很多的安全隐患,很多用户只能简单粗暴的修改一下SIP端口来避免被攻击,这样有同时给终端用户的管理和接入带来了很多问题。笔者在以前的文章中介绍了公网暴露的一些细节,这些公网地址时时刻刻存在着很大的安全隐患,非常容易被攻击者攻击。笔者可以参考:谁的SIP软交换呼叫中心终端摄像头正在公网裸奔,关于SBC的介绍,读者可以参考:SBC使用场景说明
  了解决公网暴露的问题,很多用户使用开源软交换来实现。笔者前几年也帮助几个客户做了类似的案例和技术支持服务,基本功能满足了初期的需求。但是,笔者发现,在实际环境中,如果从短期和初始部署成本来看,好像是节省了开销。事实上,如果用户从长期来看和未来的运维成本来看,用户成本大幅增加,包括对隐形成本可能是技术人员离职,管理配置不方便,学习成本和拓展后的技术架构升级等后期维护。因此,笔者看来,解决公网暴露的问题,FreeSBC配合FreeSWITCH是一个相对比较可行,最合适的解决方案。笔者为读者提供了以下示例来说明FreeSBC和FreeSWITCH的部署结构。
  通过以上拓扑可以看出,用户可以在自己的运营平台根据不同区域部署多台FreeSBC和FreeSWITCH,运营商/系统用户都通过FreeSBC的WAN口注册到FreeSBC平台,FreeSWITCH完全被隐藏起来。同时,FreeSWITCH的WAN口设置安全策略,过滤所有SIP/RTP端口数据,仅支持SSH/80端口支持管理员访问。一个FreeSBC可以对接多台FreeSWITCH或者其他的媒体服务器,拓展非常灵活。同时,可以在同一区域内部署多台FreeSBC,实现备份逃生功能。
  千万不要为了吃一碗面条而去租一亩地,种小麦,  磨面粉。专业的人做专业的事。------------------Mr.right
  www.freepbx.org.cn
  2、如何在阿里云安装FreeSBC
  用户可以使用阿里云的实例安装FreeSBC,关于FreeSBC的安装方式,笔者在以前的文章做有非常完整的介绍,读者可以参考。安装好以后,通过官方的邮箱激活码激活FreeSBC,然后进行登录配置。FreeSBC基本功能免费,这些功能完全满足了拓扑隐藏的需求,并且配置非常简单,支持阿里云安装,本地物理机,虚拟机安装方式。参考文档:SBC安装部署说明
  3、如何对接FreeSBC和FreeSWITCH
  配置FreeSBC以前,用户需要在阿里云安装FreeSWITCH,并且创建或者使用默认的SIP账号登录测试。配置测试的实例如下:
  配置网口:WAN和LAN口,然后配置其他相关路由设置,域名设置:
  • 通过SBC的LAN口对接FreeSWITCH的LAN口。
  • 配置完成以后,如果FreeSWITCH分机创建成功,软电话登录后,FreeSBC会显示成功注册的用户信息。
  如果完成配置后,用户可以通过FreeSBC对FreeSWITCH发起呼叫测试:
  4、在阿里云安装配置FreeSWITCH
  配置完FreeSBC以后,我们再看看如何配置FreeSBC。如果是分机注册的场景的话,用户仅需要配置FreeSWITCH的分机即可,无需改动任何FreeSBC的相关配置,仅仅处理FreeSWITCH测而已。阿里云安装配置FreeSWITCH比较简单,网上也有很多配置文档,笔者这里不再做太多介绍。通过官方源代码安装包下载编译FreeSWITCH,然后根据默认的SIP测试分机账号开始测试流程。这里需要提醒用户,修改默认SIP账号的密码,防止被外网人员盗用。分机注册,通过SBC服务器地址和域名,对分机进行注册:
  以下看到的是外网分机注册到FreeSWITCH的状态信息。使用SIP物理话机注册到SBC以后,FreeSWITCH的分机注册信息:
  其他SIP分机的注册信息:
  FreeSWITCH分机之间的呼叫log日志
  5、基于云平台SBC和对讲系统对接
  除了呼叫中心,云IPPBX等可以使用FreeSBC部署以外,目前,很多云对讲的运营平台也越来越多,外网的SIP门禁对讲系统可以注册到阿里云的SBC上,通过SBC对接到对讲系统或者云的IPPBX。这样就可以增加IPPBX或者云对讲平台的安全性。除了对讲机之间的互通以外,用户也可以同时连接运营商的SIP trunk,如果SIP终端无人接听,则可以实现分机随行功能,呼叫转到用户手机。
  在上面的章节中,我们首先说明了外网暴露的隐患,然后介绍了SBC的部署环境,接下来,我们又介绍了SBC和FreeSWITCH的对接测试。通过这个文章的介绍,用户基本上了解了在阿里云部署呼叫中心,云总机或者IPPBX时SBC或者FreeSBC所扮演的角色。用户通过部署FreeSBC实现网络的拓扑隐藏,从而增加网络的安全性。当然,随着网络环境越来越复杂,除了简单的拓扑隐藏以外,一些比较大型的应用还需要备份功能,宿主机配置,例如电话录音,CDR,均衡负载,域名注册和多租户运营等功能,这些功能都可以通过FreeSBC更强大的功能来实现。
  参考连接:
  https://freesbc.telcobridges.com/
  www.freepbx.org.cn
   
   
  SIPlab@知识星球学习SIP语音相关技术
  asterisk@知识星球免费获取关于Asterisk的完整知识资料
  关注微信公众号:asterisk-cn,获得有价值的Asterisk行业分享
  Asterisk freepbx,FreeSBC技术文档: www.freepbx.org.cn
  融合通信商业解决方案,协同解决方案首选产品:www.hiastar.com
  Asterisk/FreePBX中国合作伙伴,官方qq技术分享群(3000人):589995817
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业