陸屹 趙巍



關(guān)鍵詞:WebSocket;音視頻通信;WebRTC;SIP;視頻營業(yè)廳
0 引言
隨著全社會數(shù)字化轉(zhuǎn)型的加快,電信運營商內(nèi)部也正在不斷推送業(yè)務(wù)向著線上化、智能化、云化方向發(fā)展,做強做大線上觸點,拉通線下線上能力。隨著5G 時代移動互聯(lián)網(wǎng)VOIP 技術(shù)發(fā)展,以及視頻應(yīng)用的普及,大眾客戶在日常生活中越來越接受與認(rèn)可視頻通話的交流方式,傳統(tǒng)的線下營業(yè)廳服務(wù)方式正呈現(xiàn)客流下降、廳店減少的趨勢。與此同時,線上自助服務(wù)方式發(fā)展迅猛。
然而,對于不了解運營商業(yè)務(wù)、不熟悉智能手機操作的各類人群,線上服務(wù)存在一定的使用門檻,特別是面對復(fù)雜業(yè)務(wù)處理流程的場景,難以通過自助的方式順暢的完成信息查詢與業(yè)務(wù)辦理。因此,探索和建設(shè)基于音/視頻協(xié)同的遠程自助營業(yè)廳,在線上服務(wù)中融入視頻交互人工服務(wù)非常必要。
1 視頻營業(yè)廳定義
視頻營業(yè)廳是以4、5G 網(wǎng)絡(luò)技術(shù)、WebRTC 實時通訊、在線業(yè)務(wù)辦理等手段為基礎(chǔ)的新型服務(wù)平臺,通過音視頻交互的方式實現(xiàn)客戶與營業(yè)員進行一對一、面對面溝通與業(yè)務(wù)辦理操作,為客戶提供一種方便快捷的服務(wù)方式。通過該新型服務(wù)設(shè)施的建設(shè),建立起客戶與運營商的在線紐帶,幫助運營商降低實體營業(yè)廳數(shù)量及規(guī)模,有效降低固定資本和運營成本,提升運營成效。
2 關(guān)鍵技術(shù)
2.1 WebRTC 音視頻通信
WebRTC(Web Real-Time Communications)是一項基于Web 的實時通訊技術(shù),由Google 收購VoIP軟件開發(fā)商Global IP Solutions 的GIPS 引擎后于2011 年開放并更名為“WebRTC”。它允許網(wǎng)絡(luò)上不同的應(yīng)用或者Web 站點,在不借助中間媒介的情況下,建立點對點(Peer-to-Peer)的連接,實現(xiàn)音、視頻流或者其他任意數(shù)據(jù)的傳輸。WebRTC 提供的核心技術(shù)有音視頻的采集、編解碼、網(wǎng)絡(luò)傳輸功能[1],其技術(shù)框架如圖1 所示。
WebRTC 具備良好的跨平臺支持,應(yīng)用開發(fā)者可以集成WebAPI 進行自有應(yīng)用的構(gòu)建,主要通過Network Stream API、RTCPeerConnection、Peer-topeerData API 三類開放接口,其分別負責(zé)媒體流定義、通信控制和數(shù)據(jù)交換[2]。本文設(shè)計的端側(cè)應(yīng)用,將開放接口集成在NativeAPP 中,以SDK 方式封裝,和手機營業(yè)廳客戶端整合。
本文在設(shè)計實現(xiàn)中,采用的視頻通信技術(shù)架構(gòu)主要包含用戶端、視頻網(wǎng)關(guān)、信令媒體、資源服務(wù)模塊,如圖2 所示。用戶端實現(xiàn)PC 端和APP 移動端的WebRTC 客戶端,視頻網(wǎng)關(guān)實現(xiàn)了SIP over Websoket與WebRTC 的RTP 轉(zhuǎn)換為SIP 網(wǎng)絡(luò)所支持的標(biāo)準(zhǔn)SIP與RTP 協(xié)議,信令媒體模塊提供PBX 和媒體服務(wù),資源服務(wù)提供文件NAS 存儲服務(wù)。
2.2 WebSocket
WebSocket 是HTML5 開始提供的一種瀏覽器與服務(wù)器間進行全雙工通訊的網(wǎng)絡(luò)技術(shù),是一種在單個TCP 連接上進行全雙工通信的協(xié)議。WebSocket 通信協(xié)議于2011 年被IETF 定為標(biāo)準(zhǔn)RFC 6455,并由RFC7936 補充規(guī)范[3]。WebSocket API 也被W3C 定為標(biāo)準(zhǔn)。相對于HTTP這種非持久的協(xié)議來說,WebSocket是一個持久化網(wǎng)絡(luò)通信的協(xié)議,它不僅可以實現(xiàn)客戶端請求服務(wù)器,同時可以允許服務(wù)端主動向客戶端推送數(shù)據(jù),是真正的雙向平等對話[4]。
在本文視頻營業(yè)廳系統(tǒng)的設(shè)計實現(xiàn)中采用了基于WebSocket 的SIP over WebSocket 信令方案,并通過WebSocket 實時同步客戶端與服務(wù)端之間的排隊信息、接續(xù)狀態(tài)、網(wǎng)絡(luò)延遲信息等。
3 系統(tǒng)設(shè)計
3.1 架構(gòu)設(shè)計
視頻營業(yè)廳基于微服務(wù)架構(gòu)設(shè)計,主體部分采用了JavaEE 的Sping 框架開發(fā),數(shù)據(jù)庫使用MySQL,并運用了Redis 緩存基礎(chǔ)配置和熱點數(shù)據(jù),各個微服務(wù)之間主要采用RabbitMQ 消息隊列進行數(shù)據(jù)狀態(tài)同步,主要架構(gòu)可分為四個部分,包括用戶端系統(tǒng)、視頻通信系統(tǒng)、座席工作臺、配套基礎(chǔ)應(yīng)用組成,如圖3 所示。
⑴ 用戶端是提供給客戶、座席人員操作界面,可支持智能手機、PC 的接入,手機端通過集成了WebRTC功能SDK 的手機營業(yè)廳客戶端實現(xiàn)接入,PC 端通過Chrome、Edge 等原生支持WebRTC 的瀏覽器接入。
⑵ 視頻通信系統(tǒng)是視頻營業(yè)廳的核心組件,包括接入管理、視頻網(wǎng)關(guān)、信令控制、媒體處理、音視頻錄制等功能模塊,用于實現(xiàn)客戶與座席人員的語音、視頻及數(shù)據(jù)傳輸?shù)葘崟r通訊功能。
接入管理:對用戶端的呼叫接入請求進行處理,并根據(jù)技能信息路由分配座席,反饋排隊狀態(tài)和接續(xù)應(yīng)答通知。
視頻網(wǎng)關(guān):提供SIP 與流媒體的代理服務(wù),將SIP over Websoket 與WebRTC 的RTP 轉(zhuǎn)換為SIP 網(wǎng)路所支持的SIP 與RTP。
信令控制:控制音視頻媒體的開啟與關(guān)閉,并交換雙方網(wǎng)絡(luò)信息、協(xié)商媒體編碼、分辨率等功能。
媒體處理:對音視頻媒體的采集、編解碼、渲染等進行統(tǒng)一處理。
音視頻錄制:對音視頻媒體進行轉(zhuǎn)碼、錄制、存儲等功能。
⑶ 座席工作臺提供了營業(yè)廳座席人員使用的統(tǒng)一操作平臺,集成了CRM(客戶關(guān)系管理)系統(tǒng)、業(yè)務(wù)中臺、人像比對的系統(tǒng)能力。
CRM 系統(tǒng):提供客戶基礎(chǔ)信息與業(yè)務(wù)信息的查詢功能。
業(yè)務(wù)中臺:提供業(yè)務(wù)的訂單下單、二次確認(rèn)、訂單的處理能力。
人像比對:提供實現(xiàn)視頻圖像的人像識別、實人認(rèn)證能力。
⑷ 配套基礎(chǔ)服務(wù)包含日志中心、配置中心、數(shù)據(jù)分析、監(jiān)控告警等模塊。
日志中心:實現(xiàn)座席接續(xù)操作日志,用戶接入流轉(zhuǎn)日志,會話信息等日志信息的記錄與管理。
配置中心:對技能與技能組、平臺工號權(quán)限、路由分配策略等進行統(tǒng)一的配置管理。
數(shù)據(jù)分析:對系統(tǒng)和業(yè)務(wù)數(shù)據(jù)進行統(tǒng)計分析,并提供相關(guān)報表查詢功能。
監(jiān)控告警:實時監(jiān)控系統(tǒng)個模塊的運行狀態(tài)、性能、負載等各項指標(biāo),并對異常情況進行實施的維護告警。
3.2 高可用設(shè)計
視頻營業(yè)廳系統(tǒng)采用高可用、高并發(fā)、高可擴展的設(shè)計思路,核心模塊均支持跨機房的集群化部署,集群間通過KeepAlived 保活機制實現(xiàn)服務(wù)的高效連續(xù)運行,避免單點故障。KeepAlived 是一個TCP/IP 協(xié)議棧中第3,4,5 層交換機制的軟件,它的作用是檢測服務(wù)器狀態(tài),如果有一臺服務(wù)器死機或故障,它將有故障的服務(wù)器從系統(tǒng)中剔除,當(dāng)服務(wù)器工作正常后,KeepAlived 自動將Web 服務(wù)器加到服務(wù)器群中,這些工作全部自動完成,不需要人工干涉[5],即使部分應(yīng)用節(jié)點即使宕機也能做到前臺無感知或者快速自動恢復(fù)。視頻營業(yè)廳的核心組件視頻通信系統(tǒng)的部署架構(gòu),如圖4 所示。
3.3 業(yè)務(wù)流程設(shè)計
客戶使用手機營業(yè)廳APP 的視頻通話申請,經(jīng)過接入管控層、視頻通信系統(tǒng),與視頻營業(yè)廳座席人員建立視頻通信,座席人員通過視頻工作臺與CRM系統(tǒng)、業(yè)務(wù)中臺等協(xié)同實現(xiàn)客戶信息查詢、人像比對、業(yè)務(wù)下單、訂單信息推送、客戶遠程確認(rèn)后,完成業(yè)務(wù)辦理。主要流程如圖5 所示。
⑴ 客戶通過手廳APP 申請視頻服務(wù),視頻通信系統(tǒng)進行技能隊列排隊,反饋排隊進度,手廳端展示排隊信息;
⑵ 排隊完成后,視頻通信系統(tǒng)根據(jù)策略分配座席人員,同步反饋手廳APP 端和通知座席工作臺端,手廳端展示等待接聽,座席側(cè)進行振鈴;
⑶ 座席側(cè)接續(xù)應(yīng)答后,通過視頻通信系統(tǒng)通知手廳APP 側(cè),并建立視頻通信連接,實現(xiàn)視頻通話,手廳APP 和座席工作臺分別展示客戶和座席人員視頻圖像,如圖6 所示;
⑷ 座席工作臺根據(jù)呼入的客戶號碼展示業(yè)務(wù)信息,如果客戶有辦理業(yè)務(wù)需求,則根據(jù)視頻圖像關(guān)鍵幀,通過人像比對功能完成實人認(rèn)證,并提交業(yè)務(wù)訂單;
⑸ 座席工作臺將業(yè)務(wù)訂單信息、協(xié)議遠程推送給客戶,客戶進行業(yè)務(wù)二次確認(rèn),如圖7 所示。確認(rèn)后系統(tǒng)完成訂單處理,并通知客戶業(yè)務(wù)辦理結(jié)果;
⑹ 當(dāng)客戶完成所有業(yè)務(wù)咨詢、辦理后,進行掛斷操作,視頻通信系統(tǒng)接收到掛斷指令后,通知座席工作臺,結(jié)束通信;
4 平臺應(yīng)用效果
中國移動浙江公司已于2021 年9 月將視頻營業(yè)廳投入使用,目前已在全省開設(shè)了22 個視頻營業(yè)廳共44 個專席,月均通話服務(wù)量2391 單,系統(tǒng)建設(shè)容量可支持200 個專席同時進行視頻通話,并可根據(jù)開設(shè)專席的需要隨時進行擴容,有效的解決了客戶在到實體廳店、線上自助辦理時遇到的困境,并將線上面對面咨詢、業(yè)務(wù)辦理的模式融入千家萬戶的日常生活,滿足不同的服務(wù)需求。同時視頻營業(yè)廳在日常的使用中也不斷進行優(yōu)化打磨,努力打造出更規(guī)范、更智能的服務(wù)平臺,積極推進數(shù)智化轉(zhuǎn)型。
2022.1-2022.12 期間,浙江移動使用視頻營業(yè)廳的情況如表1 所示。
5 結(jié)束語
本文通過對WebSocket、WebRTC 等技術(shù)的研究,設(shè)計并實現(xiàn)了視頻營業(yè)廳系統(tǒng),客戶通過手機營業(yè)廳APP 與視頻營業(yè)廳座席人員進行實時音視頻通信,運用在各類的服務(wù)咨詢、業(yè)務(wù)辦理等場景,提供了全新的服務(wù)方式與用戶體驗,實現(xiàn)了營業(yè)廳的降本增效。后續(xù)將進一步優(yōu)化客戶端接入能力,擴展通過微信、手機瀏覽器等更多種的接入方式,提升客戶使用的便捷性。同時不斷擴展平臺的能力,將音視頻通信平臺的能力運用于視頻客服、視頻會議和遠程視頻培訓(xùn)等更多場景中。