共计 3865 个字符,预计需要花费 10 分钟才能阅读完成。
本文作者:网易云信技术专家朱振昊、官仕富
1 背景
2020 年初始,新冠疫情暴发,整体经济上行,却仍然给局部畛域带来了微小的商机,尤其是在实时音视频畛域,越来越多的企业抉择了 RTC 云端会议的形式进行沟通和合作 。尽管因为在过来的十几年里,传统视频会议的市场根底,有很多企业还在应用着诸如 Polycom、思科等提供的传统硬件会议零碎(采纳 PSTN/SIP 协定接入),短时间内 RTC 云端会议形式可能还无奈齐全取代硬件会议零碎,然而在目前的市场环境下, 交融通信必定是越来越多企业偏向抉择的一大需要。
2 硬件视频会议和 RTC 云端会议比照
咱们先来看一下硬件视频会议跟 RTC 云端会议别离是如何通过哪些具体技术实现的,又别离有什么优缺点。
硬件视频会议个别采纳 MCU 架构(MCU:多人通信架构之一,多点管制单元,特点是服务器将所有上行媒体流混成一路转给接收端),PSTN/SIP 规范(SIP 协定:Session Initiation Protocol 的简称,通信畛域的协定规范)协定接入,其部署简单,硬件老本低廉,然而可能节俭带宽和终端解决能力。
RTC 云端会议以网易会议为例,它采纳的是 SFU 架构 (SFU:多人通信架构之一,抉择转发单元,特点是 服务器别离转发每一条订阅的上行流给接收端,而不做混流),公有信令接入,采纳 NERTC(NERTC:网易云信自研的音视频通信计划)音视频编码体系,实现较好的音视频成果体验,反对 Simulcast(Simulcast:多流发送,即容许同一终端在同一时刻发送不同分辨率档位的视频流)部署灵便,然而带宽占用较大及对终端解决能力要求较高。
那么如何实现硬件视频会议与 RTC 云端会议两者的互通,是当下一个迫切需要解决的问题。网易云信也在交融通信场景下进行了很多的摸索与实际,摸索出通过 SIPGateway(SIP 协定接入网关)的形式来实现交融通信 ,并在网易会议中利用。明天咱们就来 分享一下网易会议在交融通信场景下对 SIPGateway 服务端架构的实际。
3 SIPGateway
架构图
图为 SIPGateway 服务端的架构图,次要分为几个模块:
- SIP 协定接入模块:用来实现 SIP 用户的接入,反对 RTP/RTCP 协定;
- 云信 RTC 协定接入模块:用来实现云信 RTC 用户的接入,反对云信 RTC 公有协定;
- 会议治理模块:次要保护房间及参会者的状态、会议号治理等;
- 编解码模块:次要解决音视频编解码以及转码;
- MCU 模块:SIPGateway 实现了混音混屏的性能,因为 SIP 规范终端不反对 Simulcast 的能力,也不反对接管多流,故在 SIPGateway 上须要做混屏混音发送给 SIP 端;
- SFU 模块:反对纯转发模式或者依据语音激励来抉择转发的模式;
应用 SIPGateway 服务端是如何实现云端会议的呢,咱们通过 两个具体的利用场景来看一下理论的利用状况。
实例利用场景
场景 1:由网易会议 APP 发动会议,反对 SIP 终端退出网易会议。
如上图显示,当由网易会议 APP 发动会议时,网易会议会同步创立一个 SIP 会议短号,使用者在 SIP 终端输出短号后即可退出会议。
具体 SIP 登录流程不做过多论述,能够参照 SIP 标准协议(本文末有具体协定链接)。
咱们来看在这样的场景下,具体的媒体流转向如下:
- SIP 用户登录后,SIPGateway 同步创立房间并治理用户状态;
- 当用户退出会议时其为 SIP 用户,SIPGateway 会将这个 SIP 用户模仿成一个 RTC 用户后退出网易会议,这里走的是 NERTC 流程,与媒体服务器建设上行 RTCSession 后,即可进行推流,SIP 端的上行流在 SIPGateway 上进行 MCU 混屏混音的同时,也会复制一份发往媒体服务器,这样做的益处在于媒体服务不须要对 SIP 用户进行非凡解决,从而能够缩小对它的侵入;
- 在 RTC 用户登录会议时,SIPGateway 将这个 RTC 用户模仿成一个 SIP 用户退出到网关上的房间里,同时与媒体服务器建设上行 RTCSession 进行收流,RTC 用户的媒体流通过混音混屏转发给 SIP 用户;
在这个流程中,须要对音视频进行编解码:
- 音频方面,PSTN/SIP 广泛应用 G.722 或 G.729 编解码,而 NERTC 体系中采纳 OPUS 编解码,所以音频须要做转码;
- 视频方面,引入了 MCU 性能,过程对服务器的性能会带来肯定影响,但整体性能合乎预期;
最终出现的画面布局如下图所示:
场景 2:由传统视频会议发动会议,反对网易会议 APP 退出硬件视频会议
如图所示,具体的流程:当由传统视频会议发动会议时,会议治理预零碎会创立硬件视频会议房间,RTC 用户输出硬件视频会议号,通过网易会议,零碎会同步创立网易会议号以及 SIP 会议短号,并告诉到 SIPGateway,SIPGateway 起到信令协定及 SIP 智能路由作用,让 RTC 用户与硬件视频会议媒体互通。
在这个过程中波及到 3 个会议:硬件视频会议房间、网易会议房间、网关会议房间,具体的媒体流转向以及数据转发策略如下:
- 当硬件视频会议创立房间时,网易会议 APP 会拨打硬件视频会议号,同步创立网易会议房间与 SIPGateway SIP 会议短号;
- 创立 SIPGateway 房间后会在网关会议房间中进行融屏;
- 当用户退出会议时其为 RTC 用户,SIPGateway 将 RTC 用户模仿 SIP 用户退出网关会议房间,同时与媒体服务器建设上行 RTCSession 进行收流;
- SIPGateway 总体策略是 通过奇妙的信令转换,将硬件视频会议上的所有用户模仿成一个 RTC 用户退出网易会议,而将所有 RTC 用户模仿成一个 SIP 用户退出到硬件视频会议中;
- SIPGateway 在视频画面推送上,依据能量选路策略,抉择声音能量最大的那个 RTC 用户视频流,进行融屏发送到硬件视频;
- SIP 布局画面可由硬件视频会议会控设置,SIP 主会场、分会场切换,轮询而扭转,并且也可选择性观看其中一路 RTC 或所有 RTC 参会成员画面;
- RTC 退出硬件视频会议场景,做到了真正的会议互联互通,SIP 端用户既能够退出硬件视频会议房间,还能够退出网易会议房间;
最终出现的画面布局如下图所示:
_
以上为 SIPGateway 的架构图介绍以及两个利用场景的具体技术实现,上面咱们看一下应用 SIPGateway 的次要特点以及反对的部署形式。
4 SIPGateway 特点以及部署
SIPGateway 的特点
应用 SIPGateway 次要有以下几个方面的特点:
灵便的呼入形式
- 反对 PSTN/SIP 端被动退出网易会议,网易会议创立会议的同时也为 SIP 终端调配了一个对应的 SIP 会议短号,SIP 用户只须要输出 SIP 会议短号即可退出网易会议;
- 反对邀请 PSTN/SIP 端退出网易会议,在会议进行中,主持人抉择通讯录中的 SIP 终端,被动把他邀请入会;
- 反对网易会议 APP 退出到第三方视频会议零碎;
全平台互通
- 反对与 iOS、安卓、PC、Mac 各个平台的互通;
- 反对 PSTN/SIP 终端接入;
MCU 级联
反对 SIPGateway MCU 与传统硬件视频会议 MCU 的级联,这种场景能够反对多画布的实现。
负载平衡
负载平衡模块会依据 SIPGateway 的理论 Load 状况调配适合的 SIPGateway,前提是同一个房间调配到同一台 SIPGateway 上。
高安全性
- IP 白名单:在 SIPGateway 的 Proxy 是代理 SIP 终端的入会申请,为了避免歹意攻打,咱们针对租户设置 IP 白名单,避免非法 IP 拜访;
- 区域隔离:不同的租户能够路由到同一 SIPGateway 上,也能够路由到专门的 SIPGateway 或集群;
- 对于网络安全性要求高的企业,SIP Proxy 部署在企业 DMZ 区,DMZ 区起到企业内网爱护,避免内网攻打,又可与外网通信的作用;
高可用性
- SIPGateway 采纳集群部署,当其中一台 SIPGateway 宕机了,不会影响其余用户的音视频通话;
- SIP Proxy 之间通过 Keep-Alive 保活,当一台宕机,会切换到另一台 Proxy, 不影响 SIP 通话状态与用户音视频通话,实现无感切换;
数据监控平台
- 数据平台:定时采集 SIP 用户的在线状态、流量状态、网络状态,当出现异常时,有助于及时定位剖析问题;
- 监控平台: 主动监控服务器状态,服务出现异常时自动弹出报警,有助于及时解决服务异样问题;
SIPGateway 部署形式
在部署形式上,SIPGateway 采纳容器化部署,反对私有云或者私有化的多种形式,灵便多变,满足不同场景下的需要。
5 结语
本文次要分享了在网易会议中应用 SIPGateway 实现交融通信场景,并通过两个实例利用场景,剖析具体的媒体流转向以及数据转发策略。
随着利用场景越来越丰盛,比方企业外部 APP 挪动工作台,系统集成电话呼叫性能,智能硬件,诸如智能门禁,智能机器人等将会对全终端的互通能力提出更高的要求,网易云信在这条赛道的摸索会将继续进行,尽力满足用户不同场景的需要,真正做到助力用户内成长。
文中提到的相干术语以及衍生浏览:
- MCU:多人通信架构之一,多点管制单元,特点是服务器将所有上行媒体流混成一路转给接收端;
- SFU:多人通信架构之一,抉择转发单元,特点是服务器别离转发每一条订阅的上行流给接收端,而不做混流;
- SIP 协定:Session Initiation Protocol 的简称,通信畛域的协定规范;
- RTCSession:网易云信的 RTC 流传输组件;
- Simulcast:多流发送,即容许同一终端在同一时刻发送不同分辨率档位的视频流;
- NERTC:网易云信自研的音视频通信计划;
- SIPGateway:SIP 协定接入网关;
想要理解更多,欢送点击