林偉嘉,畢金龍,李盛閣,鄭 敏,鄭丁瑜
(中移互聯(lián)網(wǎng)有限公司,廣東 廣州 510000)
5G消息是基于全球移動通信系統(tǒng)協(xié)會(Global System for Mobile Communications Association,GSMA)的通用概要文件RCS UP2.4進行構(gòu)建,將傳統(tǒng)短信變革升級為富媒體通信套件(Rich Communication Suite,RCS)業(yè)務(wù),實現(xiàn)了消息的富媒體化和輕量化。目前,國內(nèi)5G消息依賴于原生終端內(nèi)置軟件開發(fā)工具包(Software Development Kit,SDK)進行實現(xiàn),受制于各大手機終端廠商的集成進度,因此會存在一些終端暫不支持5G消息的情況,也有一些傳統(tǒng)的終端無法支持升級[1]。本文將闡述一種結(jié)合5G消息回落方式實現(xiàn)瀏覽器打開H5鏈接后的交互服務(wù)系統(tǒng),在不支持的終端上實現(xiàn)相同的用戶體驗。
5G消息是基礎(chǔ)通信產(chǎn)品短信的歷史性變革,是5G+戰(zhàn)略首批落地的5G應(yīng)用之一,亦是運營商全面賦能5G+生態(tài)的創(chuàng)新平臺[2]。2019年10月,GSMA將RCS納入5G手機必備功能,明確了5G消息即RCS消息,并號召全球運營商進行升級。根據(jù)服務(wù)客戶的特征,5G消息分為兩大類:一類是個人對個人(Person to Person,P2P)消息,是個人用戶與個人用戶之間交互的消息,包括點對點消息、群發(fā)消息以及群聊消息;另一類是平臺即訊息(Message as a Platform,MaaP)消息,是行業(yè)客戶與個人用戶之間交互的消息[3]。MaaP消息是RCS UP2.0標準中引入的新消息服務(wù),通過構(gòu)建“RCS+Platform+Chatbot”的方式,在P2P消息的基礎(chǔ)上增加了商戶與用戶之間的交流[4]。運營商5G消息示意如圖1所示。
圖1 運營商5G消息示意
運營商為了實現(xiàn)5G商業(yè)部署,在自身網(wǎng)絡(luò)上架設(shè)了MaaP網(wǎng)關(guān)和聊天機器人(Chatbot)管理平臺,平臺面向企業(yè)端開放通信接口,提供5G行業(yè)消息服務(wù)[5]。在5G消息業(yè)務(wù)中,行業(yè)客戶使用聊天機器人作為自有業(yè)務(wù)系統(tǒng)與運營商5G消息系統(tǒng)之間的媒介以及和終端用戶進行消息交互的載體[6]。5G消息交互模式通過Chatbot實現(xiàn)了終端用戶在消息界面的搜索、發(fā)現(xiàn)以及交互等。用戶可以在消息窗口直觀便捷地享受繳費充值、票務(wù)訂購、酒店預(yù)訂、物流查詢、餐飲訂座、外賣下單等各類5G消息應(yīng)用服務(wù)[7]。
5G消息終端支持接收Chatbot發(fā)送的5G消息,消息類型包括文本、音頻、視頻、圖片、vCard、地理位置以及富媒體卡片消息(Rich Card)[8]。上述所有類型的消息中都可以包含建議菜單,包括建議回復(fù)和建議操作。
5G消息系統(tǒng)采用了GSMA RCS UP2.4標準,將作為一個較為獨立的系統(tǒng)存在,5G消息用戶在網(wǎng)絡(luò)上的附著、注冊都遵循了不同于現(xiàn)有長期演進語音承載(Voice over Long-Term Evolution,VoLTE)用戶的模式,5G消息的樣式解析、交互實現(xiàn)都依賴于原生支持5G消息(RCS)的手機終端實現(xiàn)[9]。目前,5G消息發(fā)展的核心瓶頸在于終端的覆蓋量,終端覆蓋率低導(dǎo)致了5G消息未能快速規(guī)模化發(fā)展。5G消息系統(tǒng)架構(gòu)如圖2所示。
圖2 5G消息系統(tǒng)架構(gòu)
首先,運營商5G消息網(wǎng)關(guān)根據(jù)用戶手機終端上報消息,形成當前支持5G消息的號碼庫。其次,當行業(yè)客戶Chatbot進行消息下發(fā)時,由運營商的5G消息網(wǎng)關(guān)根據(jù)手機終端號碼庫進行判斷,支持5G消息的終端進行5G消息投遞,對不支持5G消息的終端進行其他渠道的消息回落處理[1]?,F(xiàn)有主流解決方案為投遞5G消息強制轉(zhuǎn)為短信(純文本)或是彩信(富媒體文件+文本),以達到全面覆蓋手機終端的目的。
一是回落5G消息為短信或是彩信僅僅是展示當前的消息內(nèi)容,無法實現(xiàn)與商業(yè)Chatbot進行交互,而這是5G消息的業(yè)務(wù)核心所在。二是無法實現(xiàn)5G消息的展現(xiàn)及交互能力,如固定菜單欄、建議回復(fù)以及特色卡片等。
總體系統(tǒng)架構(gòu)設(shè)計如圖3所示,通過回落文本鏈接的方式,使得非5G終端手機點擊鏈接后能夠在瀏覽器中實現(xiàn)5G消息的展現(xiàn)以及Chatbot的交互,核心功能層有H5后臺服務(wù)(接入層)和H5前端邏輯層。其中,H5后臺服務(wù)(接入層)通過協(xié)議轉(zhuǎn)換等關(guān)鍵功能模塊實現(xiàn)5G消息的發(fā)送及接收機制,包括終端狀態(tài)判斷、端側(cè)長連接、消息上下行等系統(tǒng)功能,對接5G消息系統(tǒng)(網(wǎng)關(guān));H5前端邏輯層通過HTML5+JavaScript技術(shù)完成終端界面層仿真,實現(xiàn)用戶終端UIUE層面與Maap消息的一致。
3.2.1 H5后臺服務(wù)主要功能模塊
H5后臺服務(wù)(接入層)是對接Maap 5G消息網(wǎng)元的服務(wù)系統(tǒng),實現(xiàn)的功能包括協(xié)議轉(zhuǎn)換、鑒權(quán)認證、邏輯處理、連接狀態(tài)判斷及管理、消息存儲及緩存、消息投遞路由,主要層次模塊有6個。
一是協(xié)議轉(zhuǎn)換層,負責(zé)把普通瀏覽器H5(JavaScript)無法處理的5G Maap消息報文轉(zhuǎn)換為普通瀏覽器H5可以處理的通用格式報文,包括但不僅限于JSON、XML等通用格式。二是鑒權(quán)認證層,負責(zé)確認連接上來的瀏覽器終端用戶身份的可靠性,使用包括短信驗證、移動認證一鍵取號、SIM認證、賬密登錄等不同方式獲取身份信息。其作用在于實現(xiàn)Chatbot對于連接上來的用戶身份認證以及保障消息路由投遞的可靠性。三是邏輯處理層,負責(zé)處理上下行消息的分發(fā)及消息響應(yīng)的處理,包括消息排隊、消息亂序處理、消息模板解析、關(guān)鍵詞匹配(優(yōu)選)。四是連接服務(wù)層,包括實現(xiàn)與5G消息系統(tǒng)主要部件的對接、與用戶瀏覽器終端的長連接保持、心跳檢測、狀態(tài)檢測等功能,使用的協(xié)議包括但不僅限于HTTP(HTTPS)、TCP、MQTT、WebSocket等。五是消息路由層,負責(zé)上下行消息的路由,包括Chatbot與用戶之間多對多的路由關(guān)系。六是消息存儲層,上下行的消息均有相關(guān)的存儲服務(wù),可模擬5G Maap原生終端的收件箱消息存儲以及當用戶瀏覽器不在線(無有效連接)時的離線消息存儲服務(wù)。當用戶重新連接上來后,會給與相關(guān)的消息推送。
3.2.2 H5前端邏輯層主要功能模塊
H5前端邏輯層實現(xiàn)與H5接入服務(wù)層的連接,并由瀏覽器進行相關(guān)的報文解析渲染,實現(xiàn)瀏覽器仿真Maap(5G消息)的功能,主要的功能模塊有以下4部分。
一是網(wǎng)絡(luò)連接層,實現(xiàn)與H5后臺服務(wù)(接入層)的有效長連接,使用TCP、MQTT或是WebSocket等多種協(xié)議進行消息的收發(fā)與狀態(tài)的保持。二是數(shù)據(jù)格式處理層,將接收到的XML或是JSON等通用格式的報文進行解析,提取其中的各種文本、圖片、富媒體信息以及各種消息指令,包括但不僅限于固定菜單欄、建議回復(fù)、浮動菜單欄等各種操作指令。三是邏輯處理層,從H5服務(wù)層接收消息,并且根據(jù)消息ID進行排序。處理從H5服務(wù)推動過來實時消息,并且拉取已有的存量離線消息,完成本地瀏覽器數(shù)據(jù)的暫存以及排序展現(xiàn)。響應(yīng)用戶對于菜單、卡片的點擊請求,包括上行回復(fù)消息或是打開URL。四是UIUE渲染層,根據(jù)消息格式處理層提取出來的各種5G Maap消息元素進行HTML的渲染,實現(xiàn)包括普通消息(文本或圖片、音視頻文件)、普通消息+固定菜單欄、普通消息+懸浮按鈕(建議回復(fù))、模板卡片(單卡片)、模板卡片(多卡片)、模板卡片(單卡片)+懸浮按鈕(建議回復(fù))、模板卡片(多卡片)+懸浮按鈕(建議回復(fù))等各種UIUE樣式。
3.3.3 消息主要交互流程
H5瀏覽器連接H5接入層后實現(xiàn)與5G Chatbot的交互,初始動作可能是打開攜帶在短信、彩信、視頻短信、Wap Push等多種信息中的鏈接,也可能是通過掃描二維碼等其他主動進入手段。
連接鑒權(quán)流程。根據(jù)GSMA規(guī)范,5G消息終端對于SIP應(yīng)用要求支持AKA鑒權(quán)方式;對于HTTP應(yīng)用,則要求支持GBA認證。5G消息系統(tǒng)通過網(wǎng)絡(luò)鑒權(quán)信息獲得當前連接終端的用戶身份信息,其中最為重要的是用戶手機號碼[10]。對于非5G終端,通過設(shè)計短信驗證碼、移動認證取號、SIM號碼認證等基于SIM卡號碼的方式來確定當前瀏覽器訪問用戶的身份。
H5瀏覽器發(fā)起連接請求,并攜帶鑒權(quán)類型;H5接入層服務(wù)根據(jù)鑒權(quán)類型,下發(fā)鑒權(quán)指令給鑒權(quán)中心,如短信網(wǎng)關(guān)、移動認證取號、SIM認證等;H5瀏覽器攜帶鑒權(quán)token再次請求H5接入層服務(wù);H5接入層服務(wù)進行鑒權(quán)token的校驗,通過后返回長連接的access token;H5 瀏覽器攜帶 access token 建立二進制長連接,基于MQTT、WebSocket或是TCP協(xié)議。
(2)下行消息流程。下行消息流程如圖4所示,Chatbot發(fā)送消息到5G消息網(wǎng)關(guān),5G消息網(wǎng)關(guān)投遞Maap協(xié)議報文到達H5接入層;H5接入層進行消息協(xié)議轉(zhuǎn)換,將特定的Maap協(xié)議報文轉(zhuǎn)換為通用格式報文;H5接入層對于消息進行入庫存儲,做好緩存及根據(jù)用戶ID存儲歷史消息數(shù)據(jù);H5接入層通過長連接把消息推送到瀏覽器端;瀏覽器端拿到數(shù)據(jù)后,由數(shù)據(jù)格式處理層進行處理,抽取出關(guān)鍵元素,如卡片格式、按鈕要求、排列順序等,并將相關(guān)元素集合發(fā)送到邏輯處理層;邏輯處理層根據(jù)解析出來的關(guān)鍵元素及樣式要求,進行HTML格式的報文拼接及動效處理;UIUE前端根據(jù)邏輯處理層傳遞過來的HTML報文樣式進行前端渲染,實現(xiàn)與用戶的正常交互。
(3)上行消息流程。上行消息流程如圖5所示,用戶通過前端界面發(fā)起操作,如點擊卡片或是按鈕亦或是上行文本、多媒體消息;邏輯處理層進行相關(guān)的判斷,將需要上行的意圖告訴數(shù)據(jù)格式處理層;數(shù)據(jù)格式處理層進行通用格式報文的封裝,并傳遞給網(wǎng)絡(luò)連接模塊;瀏覽器通過長連接推送通用格式報文給H5接入層;H5接入層進行消息緩存,并根據(jù)用戶ID存儲歷史消息數(shù)據(jù);消息協(xié)議轉(zhuǎn)換,將通用格式報文轉(zhuǎn)為Maap 5G消息報文;H5接入層投遞到5G消息網(wǎng)關(guān),由5G消息網(wǎng)關(guān)繼續(xù)轉(zhuǎn)發(fā)到Chatbot。
(4)拉取歷史、離線消息。實現(xiàn)用戶進入Chatbot H5頁面后可以看到原歷史聊天記錄,仿真5G Maap消息終端的收件箱效果,具體流程如下。一是用戶打開Chatbot H5頁面,可以是通過打開攜帶在短信、彩信、視頻短信、wap push等多種信息中的鏈接,或是通過掃描二維碼等其他主動進入手段;二是瀏覽器完成鑒權(quán)認證流程后建立長連接,發(fā)起對H5接入層的歷史、離線消息拉取請求;三是H5接入層讀取數(shù)據(jù)存儲層的數(shù)據(jù),通過用戶ID篩選出相關(guān)的消息記錄;四是H5接入層通過長連接下行消息。
5G消息帶來了全新的人機交互模式,本文闡述了一種基于H5技術(shù)實現(xiàn)5G消息交互系統(tǒng)的技術(shù)方案,可解決5G消息發(fā)展初期面臨的終端覆蓋不足的重要問題。