RTSCon2020年FreeSWITCH开发者沙龙胜利闭幕(线上)

Published on

2020 年是被按下了暂停键,又开启了 2 倍速播放的一年,这一年总感觉还没有开始就结束了。我们赶在初雪后的周末,举办了我们第一届线上沙龙—RTSCon2020,也是我们举办的第九届沙龙活动。

RTS 的全称是 Real-Time Solutions(实时解决方案),RTSCon 是专门交流音视频实时解决方案的开发者年会。

今年我们的会议直播使用的是我们基于 FreeSWITCH 开发的视频会议平台,我们给大家提供了三种参会方式(WebRTC、WebRTC 直播模式、浏览器直播模式),大家可以自由选择参会方式。

9 点钟,经过了短暂会前的测试,我们的会议正式拉开了序幕。

第一位演讲嘉宾是杜金房先生,杜金房先生是 FreeSWITCH 中文社区创始人,同时也是小樱桃网络科技的 CTO,他带来的第一个演讲主题是《RTS 及 FreeSWITCH 社区 》。

杜老师本次主要是给大家介绍了通信的发展历史、WebRTC 的广泛使用以及 5G 支持的视频通话对于现有的生活方式的改革。

在科技发展的同时,FreeSWITCH 也在进步,从一开始的 1.0 版本到现在 1.10 版本,从一开始的原生 FreeSWITCH 到现在支持云原生支持 Docker 容器。同时对 SignalWire 进行了介绍,SignalWire 是 FreeSWITCH 社区的贡献主力,他们除了贡献代码也极力的优化着 FreeSWITCH 的各个单元模块测试。

杜老师接下来讲了关于开源的一些故事和为什么要建立 RTS 社区,同时介绍了 RTS 社区为开源做的贡献和增加的 FreeSWITCH 分支。

王老师介绍了一下之前做的 VoIP 系统以及接触到 FreeSWITCH 之后所进行的一些项目。也给我们普及了一下 4G 和 5G 之间的区别,以及 5G 的优点,一直到中移在线首先推出的居家客服等一系列振奋人心的业务。同时王老师也给大家列出了 5G 视频业务研发过程中需要的相关知识库信息和 5G 视频客服建设模型。

接下来,王老师主要的跟大家分享了融合 SBC(RFC5853),除了详细的介绍了系统的架构和融合 SBC 的服务流程之外,还给大家介绍了 SBC 的主要应用场景,例如:融合互通/智能路由/集中注册等场景。同时详细的给大家介绍了 SBC 部分的功能。

在本次演讲的尾声,王老师给大家分享了 5G 视频客服的一个小视频,感谢王老师在本次沙龙的无私分享。

上午场第三位讲师是来自 Telcobridges 中华地区总代理深圳星昊通科技总经理朱利中先生,他本次的主题是《开源免费的 FreePBX 为企业提供强大灵活的电话通信能力》。朱利中先生专注于 Asterisk 相关通信 产品,包括 Asterisk,接入设备,FreePBX,UC 融合通信/IPPBX/SBC/开源视频会议 Jitsi 解决方案。

首先给大家介绍一下,Telcobridges 是北美非常著名的通信设备和解决方案提供商。Telcobridges 生产各种类型的运营商级和企业级的通信接口产品,包括 SS7,PRI 高密度设备。telcobridges 的 SBC 具有非常灵活的各种场景支持,包括对接运营商 SIP/IMS trunk,托管 IPPBX 对接,SIP 服务器集群/HA,均衡负载和 SIP 终端 NAT 穿越,外网支持等解决方案。

朱老师首先给我们分享了 Asterisk,从 Asterisk 版本演进到 Sangoma 收购 Digium。两家致力于开源的公司合并将重构开源融合企业通信。Sangoma(VEGA+Sangoma+Digium+Dialogic 网关产品部)作为全球著名企业融合通信整体解决方案提供商 。大力支持了开源软交换平台包括:Asterisk, FreeSWITCH, FreePBX,kamailio, OpenSIPS 和 PJSIP。

接下来主要是介绍了 Asterisk 专业健康持久的生态链和 FreePBX 为企业提供强大灵活的电话通信能力以及 FreePBX 的相关功能

上午第四位老师是容联研发总监吴承宪先生,吴老师本次的演讲主题是《OpenSIPS 在话务体系中的运用》。

吴老师主要是介绍了 OpenSIPS 各个基础模块的主要负责功能及相应的配置,OpenSIPS 也在各个核心组件中担任了不可忽视的角色,实现高可用,也与网络机房配置在一起。使用本地缓存的相关配置,来完成对链路的回应,避免因为断电等不可抗力因素导致无法回应。业务资源则是尽量的简化操作逻辑减少人工操作量。

对于呼入呼出,OpenSIPS 对上承载各个平台或者进来的呼叫,对下是对接各个落地网关起到了枢纽的作用。在以上的系统架构中 OpenSIPS 负责了呼出的路由,同时也负责了信令的采集,使用异步 HTTP 服务队列来完成界面上的弹屏等事件消息。

在自由提问环节有同学提问了关于计费方面是如何设计实现的,吴老师也针对这个问题做了相关的解答:容联主要是通过抓取信令的方式统计呼叫信息。

上午场最后一位分享的老师是巨杉数据库的资深总监萧少聪先生,本次的演讲主题是《SQL+NoSQL+ 对象存储的混合数据模式管理》。

萧老师先是简单的给我们介绍了一个巨杉数据库的发展历程以及相关履历,然后就开始了这次的演讲。首先是关于企业为什么需要多模的问题的探讨,介绍了关于云数据库产品相关的信息

多模概念的提出,在一个数据库中基于同一个库同一堆数据同一堆索引同时的可以支持不同的数据类型去实现多模。在企业发展的经营过程中,开发商较多使用不同类型的数据库。或者其他的计费功能或者业务部分需要关系型数据库存储。在企业的发展过程中会需要不同的数据库去支撑,不同的数据库支撑和运维方式 又不一样。在 SequoiaDB 则会尽量的满足以上的需求。

支撑不同的数据库其实已经在各种云数据库中得到了实现,但是在现实中不同的数据库是不能互相访问数据的,但是巨杉数据库现在已经在进行探索,传统的数据库只有一台无法横向扩充容易遇到瓶颈。云数据库可以进行横向扩充但是由于不同的技术或品牌导致数据独立,数据交互或者共享比较困难。

巨杉数据库则在底层从源头提供了分布式的巨杉数据库的底座,对外提供了巨杉数据库的 api,哪怕是从其他方式写入,可以通过巨杉数据库 api 接口调用分布式数据库。其中的数据又可以提供给 Mysql 等其他的数据库使用,巨杉数据库提供了不同数据库的实例,完成与整个数据源的互通。。

基于以上的架构使得巨杉数据库拥有更好的横向扩展能力。也支持影像文件块并发写入。无论是哪个数据库实例宕机或者出现故障,底层的事务一致性都是得到底层数据库的保障,同时还可以根据需求提供其他不同的玩法或者模式。

以上就是上午场讲师演讲的全部内容,讲师演讲结束后,我们开始了上午场的抽奖,本次抽奖的工具是杜老师抽时间写的,第一次在公众面前亮相,进过一轮抽奖测试大家很快掌握了参与方式,然后我们就产生了本次抽奖的两个位幸运儿,分别获得了由鼎信通达公司赞助的 C63 话机一部,以及一本《龙文鞭影》的图书。

经过了上午的演讲,下午的演讲还没有开始的时候就有很多小伙伴早早的蹲守在屏幕前等待我们的直播。

第一位出场的嘉宾是烟台小樱桃网络科技的产品总监程祝波先生,程老师也是 FreeSWITCH 多年的开发和维护者,他本次给大家带来的演讲主题是《使用 LVS 实现 FreeSWITCH 用户注册负载均衡 》。

程总首先为大家简单介绍了一下究竟什么是 LVS 以及 LVS 所希望达到的技术目标。LVS 是 Linux Virtual Server 的简写,通俗的来说就是一个 Linux 虚拟服务器,是一个虚拟服务器集群系统。LVS 的架构从逻辑上可以分为调度层,Server 集群层和共享存储层,主要是由 IPVS 和 IPVSADM 两部分组成。

介绍完组成部分,程老师给大家介绍了 LVS 的三种工作模式:基于 NAT 的 LVS 负载均衡、基于 Tunnel 的 LVS 负载均衡以及基于 Direct Routing 的 LVS 负载均衡。同时介绍了负载算法。在演讲的最后介绍了关于 LVS 的命令设置以及三种拨号规则。

第二位讲师是来自速航云的创始人以及 CEO 闫华先生,本次带来的演讲主题是《RTC 赋能传统媒体》。

闫老师首先是给大家介绍了传统流媒体的场景,像传统视频会议和传统监控等,然后介绍了传统流媒体常用协议,例如标准协议,基于 UDP 的传输协议等。

介绍完传统流媒体之后,闫老师给大家介绍了 WebRTC 的技术优势,和 SFU 服务器的主要特点和相关优势,以及在其基础上如何实践各个端的 SDK 和服务器并发的负载均衡。

闫老师还给大家介绍了系统架构和设计以及 SIP 与 WebRTC 的架构图,实现边缘流媒体业务的接入,实现标准 RTSP 的接入和实现 GB28181 的接入。其优点是实现物联网智能硬件与 RTC 客户端的互联互通,对具有 AI 算力的智能硬件提供了无缝集成的接口,同时还可以面向更低端的嵌入式硬件,为其提供可靠的解决方案。

接下来是来自安徽广播电视台直播技术工程师张博力先生,本次他分享主题是《SRT 协议在电视直播中的应用》。演讲的开始张老师给大家介绍了行业背景,工作流程以及介绍了 SRT 在广电领域的应用。

SRT 协议在广电领域使用是比较早的,甚至在该协议还没有开源之前就已经开始使用了。SRT(Secure Reliable Transport)代表的是安全/可靠/传输的缩写。在 GitHub 上可以搜索到 SRT 协议的相关仓库,张老师还给我们分享了相关的 SRT 协议学习资料。

张老师详细的给我们介绍了 SRT 协议以及相关知识点,详细的介绍了 SRT 协议的流程图,以及 SRT 的数据包结构和如何利用数据包结构来完成故障的诊断等。

接下来通过数据包首部/握手包首部/AC 包首部/NAk 控制数据包/详细的介绍了数据包中各个部分代表的含义,以及在实际的工作中需要注意的问题。直接打开了 Wireshark 中的有问题的包,从实际的情况出发给大家演示了如何利用数据包的结构知识来判断链路故障,根据 UDP 过滤一下包,这样看起来更加的直观清晰。

张老师详细的给大家介绍了 SRT 协议在电视直播中的应用,但是在使用了 SRT 之后,作为传统的做信号传输工作的多少会有点担心。无论是卫星还是光纤链路都能够知道线路的冗余量。例如距离链路崩溃还有多少距离。我们在 SRT 中是并没有这样的一个直观的值的,所以后来就提出了 SRT 的安全配置。就使用了延时量 Latenry 这个概念,让双方都知道延时量参数以此来大致判断状态的好坏和可靠程度。

演讲的最后张老师贴心的给大家总结了一下关于本次演讲的相关知识点。

演讲结束后,也有同学对张老师本次的演讲提出问题,问题是:SRT 在弱网环境中效果如何?,针对这个问题张老师也给出了回答:SRT 在弱网环境中丢包或抖动问题不大,但是 SRT 是使用带宽来换取对丢包和抖动的恢复。所以在弱网环境中要保证带宽,毕竟鱼与熊掌不可兼得。

接下来登场的是北京鸿博信通联合创始人及研发总监崔钢先生,崔老师分享的主题是《从 FreeSWITCH 谈开源商业模式》。

崔老师首先是简单的介绍了一下从业经历和技术的发展过程。也跟我们谈了一下开源软件的价值,自由软件的源代码开放,可以支持大家自主学习和二次开发;也涉及到资源的整合,能够整合开发者的资源、需求资源的整合、测试的资源(可以提供非常丰富的场景和应用),这也是开源软件的价值的存在。

接下来分享了开源软件的商业模式,就是如何在开源软件中盈利。同时大家分享了国内开源软件的发展现状,作为开源产品的从业者,肯定希望这个产品能够创造它特有的价值。在自身的行业中能够在使用开源软件的基础上开发属于自己行业的应用,但是和社区的融合度并不是很深入。当然有能力的团队有自研的项目,经过本身技术的发展将自用的项目在适当的时机开放出来。也有很多开源的创新就像之前的巨杉数据库等国内的一些优秀的开发团队,也在为开源做贡献。

开源软件的发展过程中,我们首先要先活下来,活下来才有去创造奇迹的可能性。FreeSWITCH 也是坚持了很多年才到了今天。除了活下来我们还要活得长久一点,这样大家才能成长的更加健康保证项目的持久的运行。我们在生存的过程中也涉及到产品的质量和能力的提升,这样才会更有价值。

经过了短暂的休息,在下午最后一场演讲开始之前,我们又为大家进行了一轮抽奖,本次的奖品是《FreeSWITCH 源代码分析》纸质书,鼎信通达提供的 C64 话机以及《龙文鞭影》纸质书,有了上午的经验,许多小伙伴早早的发起了弹幕,都在为自己心仪的奖品努力,让我们祝贺中奖的小伙伴们。

会议终于接近了尾声,杜老师是本场的最后一位演讲嘉宾,也是本次大会的最后一位嘉宾,他给大家带来的最后一个会议主题是:《小樱桃在 FreeSWITCH 上做了什么》。

杜老师首先给大家分享了从 07 年接触 FreeSWITCH 到现在的经历,2011 年成立了信悦通公司,做了呼叫中心、指挥调度、集群等一系列。万事开头难嘛,刚开始的时候都是极其痛苦的。有一段时间还和程总做过 RTMP 的研究,所幸结果是好的,后续做起视频和 H264 就得心应手多了。视频画面也从一开始的花屏到现在的视频逐渐清晰。也使用了 MCU 拼出来了视频会议的 demo 杜老师也将这次的示例带到了 ClueCon。

杜老师也给我们详细的讲解了 FreeSWITCH 中的 h323 模块和其他模块,以及我们自己研发的模块。例如我们与 Agora 的互通,百度和阿里云的 ASR/TTS 等功能。这部分模块并没有对外开源,有需要的小伙伴可以联系我们(xyt@x-y-t.cn)。

接下来就是给大家介绍了目前我们已经准备开源的代码部分。小樱桃版的 FreeSWITCH 分支是永远的包含最新版的 FreeSWITCH 代码如果大家对我们的支持足够的话我们也会开源的,感谢大家对我们的支持。我们提供了开源版的 XSWITCH Docker 镜像,精简了私有的模块,使用了 FreeSWITCH 标准的模块。介绍了 xswitch-free 的设计理念,在有一定的 Docker 基础的情况下,启动镜像,不需要配置复杂的配置文件,提供了简单的配置文件。极大地简化和省略了配置过程。

接下来杜老师就给我们分享了 Lua 在 FreeSWITCH 中的普遍使用。举例了 Lua 对 JSON 的操作/Verto HTTP Server 等的操作,也添加了 xdb 完成增删改查。使用了 Google 的 Blockly 实现了积木功能,使用搭积木搭建代码逻辑。

接下来就是小樱桃的视频会议,以下就是视频会议的几种方式,以及多画布方式。

同时也给大家介绍了我们目前视频会议中的一些优化,例如多人轮循展示,2 秒前开启解码、限制 FIR 请求频率、不同编码使用不同编码器、降低分辨率、帧率、特殊终端使用独立编码器等。

杜老师也给我们详细的介绍了 FreeSWITCH 与 TRTC/Agora/PSTN/微信小程序等会议系统的对接。XSWITCH 除了新增的模块也支持 xTalk(本次参会使用的视频会议界面)/手机版/Web 版/Electron/机顶盒版。小樱桃也有自身开发的小樱桃电话(Android/iOS/机顶盒/Agora/WebRTC/微信小程序)。ASR/TTS 也有多种模块,支持智能控制/自动会议记录/自动翻译等功能。也支持各种应用的 NAT 穿越(ICE/stun/TURN/VPN/iptables/CLB/LVS 等),除了以上功能,我们也在探索着 4G/5G。

我们现在也推出了具备以上功能也支持集群的小樱桃企业云通信平台这款产品。FreeSWITCH 中使用 mod_xcc,前端使用 JS,后台使用 Go 语言。我们希望打造一套支持集群可以无限伸缩云原生的产品。这将是我们将来主推的产品,我们也会将开源进行到底。

大会在杜老师最后一页 PPT 播放结束后也结束了,很感谢进入我们视频会议系统参加本次沙龙的每一位同学和讲师。

最后,要感谢本次大会的赞助商们,以及主办方,他们分别是:

主办方:烟台小樱桃网络科技有限公司、北京信悦通科技有限公司

赞助商:

深圳星昊通科技有限公司

北京容联七陌科技有限公司

深圳鼎信通达股份有限公司

深圳飞音时代网络通讯技术有限公司

广州巨杉软件开发有限公司

北京鸿博信通科技有限公司

成都天润通信技术有限公司

沙龙过程中,很多学习 FreeSWITCH 或者从事相关工作的小伙伴们表示学习过程艰难、使用 FreeSWITCH 中有很多问题不知道该问谁,一直有一种找不到组织的感觉,在这里,我们提供几个渠道来解决大家这方面的问题:

FreeSWITCH 官方 Wiki

https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+First+Steps)

  1. 杜老师的知识星球,随时和业内人员互动交流

另外,如果您在参加本次沙龙之后,对本次活动的组织、流程以及其它任何环节上有什么意见建议,请发邮件至xyt@x-y-t.cn,标题 FreeSWITCH 第八届开发者沙龙反馈+个人姓名(匿名也可),我们会积极采纳您的建设性意见,并将其用于下次沙龙,期待您的反馈。

最后,希望更多的人参与 FreeSWITCH 开源社区中来,也希望更多的人能同去参加一场 ClueCon!