丁常坤,夏 兵,王江淮,程 磊
(科大國創云網科技有限公司客服PBU,合肥 230088)
從最早的基于聲能與電能相互轉換并用話音電流來傳輸信息的電話通信,到如今基于網絡與軟件來實現的視頻通話,可以說遠程信息傳輸的手段是所有人都會密切關注的事情,而在現今社會,視頻通話所占比重更是越來越大。越來越多的企業在與客戶建立溝通橋梁時選擇了視頻通話的方式。基于此,在視頻通話服務相關領域,如何保證一個視頻通話能夠迅速且有序地建立、實時且流暢的維持就成了重點。
科大國創軟件股份有限公司是致力于云計算、大數據、物聯網和人工智能等領域的研發及應用,打造軟硬件一體化智能產品的高科技上市企業。立足行業需求、解決行業重點問題,在實時視頻的接入與排隊問題方面,科大國創軟件股份有限公司投入了多名專業技術人員,著眼實際、聚焦關鍵,為相關企業提供一個良好的解決方案,提升客戶的使用體驗,幫助相關企業打造好一個穩定可靠的視頻通話服務。
實時視頻接入與排隊技術能夠為企業提供許多便利之處,尤其后疫情時代對客戶的要求越來越高,構建電話、文字、視頻三種媒體于一體的融媒體客服,豐富媒體服務形式,拓展服務渠道和服務影響面,協同互轉、能力共享,整體提升客服交互能力,推進融媒體客服生態良性建設。
實時視頻接入與排隊技術能夠基于互聯網,通過PC 或手機之間實時傳送人的語音和圖像,這種便利的技術手段,自然也是眾多行業關注的一個重點。從最早發展起來的PC?to?PC 形式,到逐漸成為市場熱點的Phone?to?Phone 形式,融媒體客服通話的迅速普及是在持續發生著的。對視頻通話熱點趨勢的關注,也使得眾多企業持續著這方面的軟件開發。
科大國創軟件股份有限公司以中國科技大學為技術依托,以擅長的基于網絡的軟件技術、數據庫技術、云計算技術、移動互聯技術、系統集成技術、智能控制技術、網絡終端產品的研究與開發技術,立足于實際,以提供良好、完整的融媒體客服通話服務能力為目標,重點解決融媒體客服通話的實時接入與排隊問題,在已取得一定成果的現階段,繼續深耕與研究,為相關企業提供一個優秀的產品與服務。
伴隨著后疫情時代線上服務的崛起,融媒體客服蓬勃發展,風險投資成本也給該產業的繁榮注入了動力。目前融媒體客服還處于發展初期階段,未來一段時間內,基于客服呼叫平臺和WebRTC 的實時視頻接入與排隊技術將在融媒體應用中發揮作用,融合視頻客服、電話客服、文字客服等客服接入方式,實現三種方式無縫切換,提升渠道協同交互能力。
客服呼叫平臺是一個電話軟交換平臺,具有很強的可伸縮性,支持跨平臺、擴展性良好、配置靈活,包含了SIP 服務器、STUN 服務器、視頻轉發服務等。可以作為呼叫中心(排隊機)、交換機、多媒體網關以及多媒體服務器等使用。
客服呼叫平臺由一個穩定的核心以及外圍模塊組成,外圍模塊根據它的功能和用途的不同又分為EndPoint、Codec、Application 等不同的類別。內部使用線程模型來處理高并發的請求,每個連接都在單獨的線程中進行處理,不同的線程通過Mutex互斥訪問共享資源,通過消息和異步事件等方式進行通信。
WebRRTC 指的是網頁實時通信(web real?time communication),可以讓用戶在基于瀏覽器的基礎上實現實時通信。WebRTC無須在瀏覽器上安裝,不需要任何插件,通過在瀏覽器調用JavaScript接口,雙方建立連接后,在瀏覽器上實現網頁端的數據交互,完成通信[1]。WebRTC 通過接口創立的信道并不像WebSocket一樣,雙方建立實時通信是通過信令的交互,建立瀏覽器之間(peer?to?peer)的信道,通過信道我們可以發送任何的數據,比如文件、文本、視頻等不同類型的數據,不需要經過服務器。
整體的架構分為應用層和核心層。應用層主要提供的是相關業務邏輯的API,核心層提供應用層需要的核心API。
(1)第一層為C++ API,其中最主要的是PeerConnection,這個接口需要重點學習和掌握。
(2)第二層為Session層,為上下文管理層,應用里的音頻和視頻及非音視頻的數據處理邏輯都可以在這層進行。
(3)第三層為引擎和傳輸層,包括音頻引擎和視頻引擎,以及音視頻的傳輸,這也是整個架構中最重要的一層。
(4)第四層與硬件相關,包括音視頻的采集和網絡的IO。
歷年來科大國創以市場為導向,開展基于客服呼叫平臺和WebRTC 的實時視頻接入與排隊技術研究,在科大國創的基礎技術和產品之上進行架構設計,構建語音、文字、視頻三種媒體于一體的融媒體客服,豐富媒體服務形式,拓展服務渠道和服務影響面,協同互轉、能力共享,整體提升客服交互能力。總體架構主要由FreeSwitch 服務、坐席服務、用戶服務、監控服務、報表服務、以及AI機器人服務構成。
(1)FreeSwitch服務。FreeSwitch是一個跨平臺的、伸縮性極好的、免費的、多協議的電話軟交換平臺,FreeSwitch 服務的主要作用是用于用戶呼叫排隊、分發,以及技能隊列、分機號等管理,作為排隊機和信令服務器功能,呼叫時按照指定的排隊策略分配坐席代表[2]。
(2)坐席服務。提供給坐席工作臺服務的能力,主要包括文字、圖片、表情消息、語音流、語音通話、視頻通話等通信服務,以及提供通信網絡檢測、桌面共享、白板、抓拍視頻圖像等功能。
(3)用戶服務。提供給用戶融媒體通信的能力,主要包括文字問答、轉人工、文字消息、語音通話、視頻通話等通信服務,以及提供滿意度評價、網絡檢測等功能。
(4)監控服務。提供實時監控、現場監控、大屏監控、特殊會話監控的能力,主要包括客服狀態監控、客服負載監控、訪客排隊監控、會話數監控、訪客來源監控、會話超時預警、滿意度預警等功能,監控系統運行情況、服務質量情況。
(5)統計分析服務。提供融媒體通信相關的統計分析能力,主要包括當前會話、歷史會話、質檢統計、消息收發量、視頻接入量、機器人使用量等統計分析功能。
(6)AI 機器人服務。提供自動應答機器人的能力,可接入APP、QQ、微信等多種載體終端,全面覆蓋用戶日常使用媒介,讓用戶隨時可用、隨處可用;AI 機器人服務通過先進智能的人機對話引擎,精準理解用戶真實意圖,并給出準確且專業的應答,可回復用戶文字、語音、圖片、視頻等多種形式,真正成為用戶的貼心助手。
(7)穿透服務。提供解決復雜公網環境無法穿透問題的方案,Coturn 集成了stun+turn 協議,實現NAT 檢測,穿透就需要通過stun 協議,NAT 檢測無法進行穿越時就需要通過turn 服務進行流媒體的轉發了,而Coturn 就是將兩者協議進行整合并進行擇優優化。
(8)流媒體服務。提供轉碼、組內通訊、錄制等流媒體服務的能力,主要包括群組通信、媒體流的轉碼/錄制/廣播/路由、高級媒體處理相關的機器視覺/視頻索引/增強現實/語音分析。

圖1 總體架構
實時音視頻實現多種接入方式,系統的應用范圍廣泛,提供多渠道接入,分模塊建設,系統復用性高,減少系統間的耦合性,引入容器技術,采用微服務架構,可做到靈活性高,可方便擴展。
客戶端和坐席端分別向FreeSwitch 進行注冊,客戶端發起呼叫請求到FreeSwitch,Free?Switch 執行內部排隊策略,尋找空閑坐席代表,將呼叫的請求分發到指定的坐席代表。坐席代表在接收到客戶端的音視頻會話的請求后,雙方通過FreeSwitch 進行SDP 信息交換。在完成媒體協商和網絡協商后,雙方開始建立會話,音視頻會話由媒體服務器進行傳輸。
實時音視頻的工作流程如圖2所示。

圖2 音視頻通話工作流程
(1)客戶端與座席端跟FreeSwitch 建立連接,并向FreeSwitch注冊。
(2)客戶端發起呼叫請求到FreeSwitch,FreeSwitch 執行內部排隊策略,尋找空閑坐席代表,將呼叫的請求分發到指定的坐席代表。
(3)客戶端打開本地音頻設備,創建Peer?Connection。
(4)客戶端將媒體數據加入到本地流中,然后客戶端再將本地流添加到PeerConnection中。
(5)客戶端生成本地offer(SDP?媒體信息)協議。
(6)客戶端設置本地描述description。
(7)客戶端將offer(SDP?媒體信息)發送至FreeSwitch,再由FreeSwitch轉發至遠端B。
(8)座席端同樣進行步驟(2)~(5)操作后,接收客戶端發送過來的SDP 信息,進行媒體交換,做出應答,將座席端的SDP 信息發送至FreeSwitch,由FreeSwitch轉發至客戶端。
(9)步驟(6)、(7)主要完成了客戶端、座席端(SDP)媒體信息交換,根據SDP信息雙方創建相對應的音視頻通道。
(10)開啟candidate(網絡信息)數據收集(客戶端、座席端:IP 地址信息交換(本地IP 地址、公網IP地址))。
(11)客戶端收集本地的candidate(網絡信息),將candidate通過FreeSwitch發送至座席端,座席端保存客戶端的candidate(網絡信息)。
(12)座席端收到客戶端的candidate(網絡信息),做出應答,將座席端的candidate 信息通過信令服務器發送至客戶端。
(13)在完成媒體協商和網絡協商后,雙方開始建立會話,音視頻會話由媒體服務器進行傳輸。
(1)多媒體統一接入。兩個客戶端如需進行通話,需先與FreeSwitch 建立連接,客戶端與FreeSwitch 建立連接的方式是通過WebSocket 發送信令,將客戶端的信息注冊到FreeSwitch 中去,FreeSwitch 在這充當的是信令服務器,客戶端與FreeSwitch 交互發送的都是SIP 信息,實現APP、網頁、微信、QQ、微博等不同渠道不同用戶的統一接入[3]。
(2)多媒體統一排隊。FreeSwitch 的排隊流程簡單來說就是通過FreeSwitch 將客戶撥打進的呼叫通過內部指定的排隊策略分配到指定的坐席代表所在的終端[4]。FreeSwitch 排隊的策略有ring?all(選擇所有坐席)、long?idel?agent(選擇空閑時間最長的坐席)、round?down(輪)、top?down(按固定的順序選擇)、agent?with?least?talk?time(總選擇通話時間最短的坐席)、agent?with?fewest?calls(總選擇接話次數最少的坐席)、sequentially?by?agent?order(根據梯隊和順序選擇)、random(隨機選擇)。
(3)多媒體通信。基于FreeSwitch 的信令信息交互、媒體協商,以及基于Coturn 的網絡協商,通過WebRtc 進行客戶端和服務端之間P2P方式的融媒體客服通信[5]。
隨著實時視頻接入與排隊技術的發展逐漸成熟,各個領域都在開展融媒體客服方向的創新實踐,融媒體客服應用的范圍極為廣泛,在政企服務、視頻會議、在線教育、社交娛樂、在線醫療等行業均有較多的應用場景。例如在企業應用方面有如下相關的應用場景:
(1)終端故障可視化指導場景。針對一線運維人員工作中遇到的業務專業問題和技術難點問題,通過語音溝通、視頻溝通、屏幕展示、圖文溝通等交互,進行終端故障可視化指導、排查,簡化客戶服務流程、縮短業務處理時間,疑難問題可由客服坐席遠程協助指導完成操作,提升客戶服務效率,提高客戶體驗。
(2)營銷應用場景。通過在線進行如智能組網產品的視頻演示講解,讓客戶充分了解產品的內容以及產品的價值,并促進客戶與營銷人員對于客戶詳細需求的溝通,提升客服產品認知度。同時針對目前很多營業廳才能辦理的業務,通過在線視頻認證等功能,引導客戶在線辦理,提高業務的在線辦理率,促進企業網增收。
(3)復雜投訴處理場景。針對投訴咨詢單在線受理,在受理過程中語音播報信息為主,對于復雜信息或溝通不暢可文本信息發送,同時同屏核對確認信息,讓客戶清晰了解工單的詳細信息,確保客戶訴求信息準確可靠。讓客戶真實體驗到服務過程以及服務過程中呈現的信息,真實可見,提升客戶服務感知,提高客戶問題一次性解決率。
綜上所述,傳統的線上語音服務存在著復雜信息溝通不暢、客戶感知差等多種問題,尤其后疫情時代線上服務的要求越來越高,驅動企業加強融媒體客服服務的手段。通過前文的介紹,本文提供了基于WebRTC 與FreeSwitch 技術的實時視頻接入和排隊方案,保證了視頻通話可以穩定地接入,客戶通話按照既定策略進入排隊機,有序地被客服人員接聽,使得企業的服務效率和用戶的使用體驗都獲得明顯提升。融媒體客服作為創新的客戶服務方式,是在線渠道的方便快捷和視頻面對面溝通的服務場景的有機融合,具備了文字溝通、在線語音服務溝通和視頻溝通的多媒體服務模式,實現三種方式無縫切換,提升渠道協同交互能力,提升客戶服務體驗,提升坐席工作效率,推進融媒體客服生態良性建設。