網易雲信在融合通訊場景下的探索和實踐之 SIPGateway 服務架構

本文做者:網易雲信技術專家朱振昊、官仕富html

1 背景

2020年初始,新冠疫情爆發,總體經濟下行,卻依然給部分領域帶來了巨大的商機,尤爲是在實時音視頻領域,愈來愈多的企業選擇了 RTC 雲端會議的方式進行溝通和協做。雖然由於在過去的十幾年裏,傳統視頻會議的市場基礎,有不少企業還在使用着諸如 Polycom、思科等提供的傳統硬件會議系統(採用 PSTN/SIP 協議接入),短期內 RTC 雲端會議方式可能還沒法徹底取代硬件會議系統,可是在目前的市場環境下,融合通訊確定是愈來愈多企業傾向選擇的一大需求web

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 協議接入網關;

想要了解更多,歡迎點擊

相關文章
相關標籤/搜索