写点什么

ORTC 与 SIP 融合通信服务架构

  • 2022 年 1 月 11 日
  • 本文字数:3511 字

    阅读完需:约 12 分钟

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 提供超低延时,超高并发,超高可用的音视频服务。

图2: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 中继的无缝衔接。

图6:ORTC-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 数智技术]公众号

发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2019.12.23 加入

OPPO数智技术干货及技术活动分享平台

评论

发布
暂无评论
ORTC与SIP融合通信服务架构