从来好事天生俭,自古瓜儿苦后甜。这篇文章主要讲述ORTC与SIP融合通信服务架构相关的知识,希望能为你提供帮助。
1 背景
OPPO实时音视频(OPPO Real-Time
Communication
ORTC),是我们推出一套低延时、高品质、跨平台的音视频互通解决方案,通过OPPO云服务器向开发者开放,提供多人音视频通话、实时监控、应急指挥调度、互通直播、IOT万物互融、云游戏等能力输出。以往的音视频通信技术大多是基于SIP/H323的实现方案,本文提供一种融合方案,实现RTC与SIP的互联互通,使得RTC能够很轻易的实现与PSTN、SIP Trunk的对接,同时传统的会议终端通过该方案也能轻易接入RTC系统。
2 ORTC简介
图1 :ORTC平台架构
ORTC万物互连下的重要基础设施,解决了不同平台各色终端之间实时互连互通问题,为众多产品提供实时音视频通信能力,目前已上线及计划产品包括,小布视频通话,远程协助,小游戏语音互动,云游戏,互动直播,小布会议,虚拟人,IOT等。
依托OPPO云优质的节点资源,全网协同,动态智能路由,区域中级,就近接入,层级扇出,全球连接的特点,ORTC提供超低延时,超高并发,超高可用的音视频服务。
?
3 ORTC系统架构
ORTC是一款输出实时通信能力的PAAS云服务产品,总体架构包含媒体服务、信令服务、监控服务、接口服务、端侧接入SDK等。其中信令媒体是分离的,信令通过SLB和Redis实现分布式及智能调度。媒体整体采用SFU架构,支持级联,单个房间不同用户可以分布在多个媒体实例上。媒体支持合流录制,音视频流级联到MCU上,可以进一步实现合流后的录制、转分发。音视频传输上支持jitterbuffer、NACK、FIR、PLI, 音频支持AGC、AEC、NS,FEC处理上音频传输上下行均支持RED,视频上行支持ULPFEC。端侧SDK基于WebRTC的流程规范,所有的SDK均支持simulcast,支持实时字幕、语音激励。ORTC是在OPPO全球混合云这个强大底座平台基础上建立的一款高并发、低延时、跨平台、高可用的RTC服务平台。
?
图3:ORTC信令架构
?
图4:ORTC媒体架构
4 SIP应用场景及架构
SIP的应用无处不在,无论是思科、华为、Polycom这些传统会议厂商,还是海康、大华、宇视这些监控厂商,我们都能找到SIP的影子,而基于SIP的产品在传统会议、监控等相关行业占据着很大一块市场。而5G及云服务的兴起,无疑会给传统行业注入新的活力,赋予其革新的动力,因为它不仅给传统行业大大降低成本,还会提升其效率及服务体验。举个例子,高速的监控如果上云存储上会节省一大笔的开销,而随时随地都能实时的看到监控画面并与之互动无疑也是监管部门及用户喜闻乐见的。这些能力都是RTC能够提供的,然而直接上RTC的话,无疑会给客户带去翻天覆地的改造,这也是大多数企业用户所不能接受的,他们乐见的是平滑的无缝的升级切换,而要做到这些就需要进行RTC与SIP的互联互通,并为之深度融合定制相应的解决方案。
RTC虽然是实时通信发展的必然,然后它也有依赖的靠山,那就是基础的网络设施,由于全球各地区,甚至同一地区的不同使用地点,不同人流量,网络信号都可能不同,造成基于纯数据网络的应用无法很好的服务,而这时候基于PSTN的普通电话网或PTT无线对讲机可能就展现出了其稳定可靠不掉线的特点,如果能把他们接入到RTC中无疑增强了RTC的抗弱网能力,拓展了其应用场景的范围,而这些网络及设备的接入也需要ORTC与SIP进行融通。
随着万物互联的深入,网络的触角延伸到了力所能及的智能设备,这也为RTC提供了更广阔的使用场景,这些设备平时可能对可靠性要求不高,偶尔掉线也能接受;或者说他们可能就没有直接接入互联网,接入的是独立的网络,比如智慧社区的门铃,老人的手环,儿童的手表等IOT设备,其对应紧急被叫端的APP可能不是实时在线状态,这时候要取得和他们的紧急联系就需要借助于SIP外呼PSTN/LTE网络的普通电话。
而以上这些都对RTC与SIP的融合提出了需求,而要想把RTC做强做大做成音视频通信的基础设施,同时能提供各种协议的接入能力也是对ORTC的基本要求。
图5:ORTC-SIP外呼架构
在上面的架构中,借助于SIP网关及SIP媒体服务器,实现了RTC服务与外部基于标准SIP协议的PSTN网络或SIP中继的无缝衔接。
?
在ORTC与SIP的对接过程中,ORTC内部的架构是相对独立的,经过SIP网关处理后SIP协议将会实现与WebRTC信令协议的映射转换,媒体流则通过标准的RTP/RTCP进行传输控制,而接入的SIP终端,也将被伪装成一个虚拟的WebRTC Client入会。
虽然从架构上看,ORTC到SIP只需实现信令控制和媒体传输就大功告成了,然后在实施过程上,要考虑的实现细节还有很多,这其中包括转码、合流、安全传输、抗弱网特性、双流输出等。
5 ORTC-SIP 合流转码
ORTC作为一款通用的音视频通信解决方案,其必然要求具备支持各种类型音视频编解码的能力,其中包括了前沿的音视频编解码Lyra、AV1,而传统SIP会议则大多使用相对保守通用的编解码器,这就要求两者对接时具备非对称编解码的能力,而作为切入方,ORTC就要求具备处理这种非对称编码的转码功能。同时如果要直接替换第三方的服务,而只保留对方终端的话,则对方终端要看到的ORTC的合流输出,而不是现在基于SFU的多路输出,因此ORTC需具备合流(MCU)能力,即我们的ORTC的媒体不能再仅仅是SFU,要同时具备SFU+MCU的能力输出。
图7:ORTC-SIP合流转码流程
具体架构兼容的实施如上图所示,sip终端经过sip服务器后,将于ORTC提供的虚拟sip终端实现点对点的音视频通信,这样在两端各自与sip服务器完成背靠背的SDP协商之后,外部的媒体将转发至ORTC内部的媒体接收端,经过pipe输出至中心媒体节点后加入ORTC的智能调度分发进程,同时ORTC所有接入方的媒体数据,也将汇聚到MCU,经其合流后分发调度给sip server,sip server做进一步的加密处理后转发至sip终端。
同样,经过MCU合流后的数据,也能旁路输出,能够以直播形式融合CDN系统进行分发,同时也具备云端录制能力。
6 ORTC-SIP抗弱网及安全控制
?
图8:ORTC-SIP抗弱网特性
作为全球化运营的通信解决方案,其所面临的接入网络的基础能力及使用场景可能千差万别,有些地方网络信号强,有些地方则较弱,有些地方可能拥堵较严重,这就要求我们的系统具备较强的抗弱网能力,而ORTC基于WebRTC规范实现的软件,天然具备了较强的抗弱网能力。作为后来者的SIP要想完美的接入进来,则必然要求其不仅具备ARQ、FEC、FIR、PLI这些必备的抗弱网特性,还要具备较完善的码率、帧率动态自适应能力。
图9:ORTC-SIP安全策略
作为一款商用的实时通信软件,保密无疑是其必备的属性,而ORTC基于wss+srtp的实现方案,给了用户全链路的信令及数据安全传输保障。而作为外来户的SIP服务,如果要完美的融入到ORTC上,则安全肯定也是必要条件。因此在信令接入上sip协议需要承载在TLS上,媒体数据要采用密级较高的SRTP传输,同时在服务部署上要做好相应的端口限制及防火墙防护。
7 ORTC-SIP 双流控制
对于视频会议、直播等场景,双流的呈现已成为音视频通信的必备技能。如何更好、更灵活的进行双流的切换及控制,也成为一项输出能力的重要指标。在ORTC与SIP的整个架构中,我们提供了基于BFCP的双流传输控制协议,很好的解决了多端双流之间的来回自由切换。
?
?
图10:ORTC-SIP双流控制
8 ORTC-SIP集群
随着业务的不断扩展与伸延,服务承载的并发也越来越大,而服务对象的特殊性,也要求系统具备较可靠的弹性扩缩容能力。服务高可靠可伸缩,涉及到的信令、sip、媒体、数据库服务均需支持集群及负载均衡。
?
图11:ORTC-SIP集群架构
ORTC内部借助与集群及智能路由已经实现了集群负载及服务的自动伸缩。而sip作为一个有状态的协议,要实现可靠的注册及呼叫上的负载均衡,则需要做不少工作。我们目前采用基于四层网络负载均衡外加内部服务桥接的方案,实现了端侧的均衡注册及业务分发,同时保障了在某台服务挂起时接入的sip终端自动切换至其他服务节点,不影响正常业务,提供了负载均衡能力的同时提高了软件的高可靠性。
9 展望
5G、AI技术的发展进一步推动了音视频技术的演进,并对RTC提出了更高的要求,更低的延时、更高的码率、帧率,给大规模的云上分析提供了可能,也反向拓宽了5G的应用场景,提升了AI的准确率,促进了云端AI的应用。
?
图12:视频测量心率
上图是一种采用视频流测量心率的方法,其原理是基于皮肤中血液的微弱变化从而引发其对可见光吸收强弱的变化,进而利用滤波及离散傅里叶变换计算出心率值。将其与ORTC结合,就可以实现远程会诊的实时心率检测。在工业及特殊行业领域结合5G及AI的应用场景还很多,而ORTC无疑将扮演越来越重要的基础通信角色,逐渐成为缺它不可的基础必备设施。
?
图13:ORTC全景
在目前ORTC+SIP架构基础上,我们可以进一步扩展形成ORTC+N的场景接入能力,融合更多的流媒体协议,聚合更多的媒体应用,使得我们的ORTC真正做到ALL IN ONE的基础通信能力平台。
10 引用
[1] 网络负载均衡
??http://cloud.oppoer.me/docsCenter/product1652b497b87d3cd5b22f0cc91??
作者简介
Sunny
OPPO高级后端工程师
拥有10多年流媒体相关研发经验,先后参与并主导过IPTV、电视聊天软件、基于实时音视频监控的应急指挥调度平台、基于实时视频的多模态微表情研判系统、RTC视频会议等项目的研发。
获取更多精彩内容,请扫码关注[OPPO数智技术]公众号
【ORTC与SIP融合通信服务架构】?
推荐阅读
- 详解数据中台的底层架构逻辑
- #yyds干货盘点# 使用Python分析网易云歌曲评论信息,通过可视化处理我发现了这些有趣的规律
- #展望我的2022Flag# 微服务你学明白了吗(火的一塌糊涂的Spring Cloud到底是什么?)
- WordPress中的page.php与index.php
- 从主题覆盖插件函数
- 覆盖子主题中的类和函数
- 在链接上,单击在同一页面上的div中显示帖子内容
- 一页wordpress模板-将所有页面重定向到首页
- “NetworkError(找不到404″/style.ccs)