林偉嘉,畢金龍,李盛閣,鄭 敏,鄭丁瑜
(中移互聯網有限公司,廣東 廣州 510000)
5G消息是基于全球移動通信系統協會(Global System for Mobile Communications Association,GSMA)的通用概要文件RCS UP2.4進行構建,將傳統短信變革升級為富媒體通信套件(Rich Communication Suite,RCS)業務,實現了消息的富媒體化和輕量化。目前,國內5G消息依賴于原生終端內置軟件開發工具包(Software Development Kit,SDK)進行實現,受制于各大手機終端廠商的集成進度,因此會存在一些終端暫不支持5G消息的情況,也有一些傳統的終端無法支持升級[1]。本文將闡述一種結合5G消息回落方式實現瀏覽器打開H5鏈接后的交互服務系統,在不支持的終端上實現相同的用戶體驗。
5G消息是基礎通信產品短信的歷史性變革,是5G+戰略首批落地的5G應用之一,亦是運營商全面賦能5G+生態的創新平臺[2]。2019年10月,GSMA將RCS納入5G手機必備功能,明確了5G消息即RCS消息,并號召全球運營商進行升級。根據服務客戶的特征,5G消息分為兩大類:一類是個人對個人(Person to Person,P2P)消息,是個人用戶與個人用戶之間交互的消息,包括點對點消息、群發消息以及群聊消息;另一類是平臺即訊息(Message as a Platform,MaaP)消息,是行業客戶與個人用戶之間交互的消息[3]。MaaP消息是RCS UP2.0標準中引入的新消息服務,通過構建“RCS+Platform+Chatbot”的方式,在P2P消息的基礎上增加了商戶與用戶之間的交流[4]。運營商5G消息示意如圖1所示。

圖1 運營商5G消息示意
運營商為了實現5G商業部署,在自身網絡上架設了MaaP網關和聊天機器人(Chatbot)管理平臺,平臺面向企業端開放通信接口,提供5G行業消息服務[5]。在5G消息業務中,行業客戶使用聊天機器人作為自有業務系統與運營商5G消息系統之間的媒介以及和終端用戶進行消息交互的載體[6]。5G消息交互模式通過Chatbot實現了終端用戶在消息界面的搜索、發現以及交互等。用戶可以在消息窗口直觀便捷地享受繳費充值、票務訂購、酒店預訂、物流查詢、餐飲訂座、外賣下單等各類5G消息應用服務[7]。
5G消息終端支持接收Chatbot發送的5G消息,消息類型包括文本、音頻、視頻、圖片、vCard、地理位置以及富媒體卡片消息(Rich Card)[8]。上述所有類型的消息中都可以包含建議菜單,包括建議回復和建議操作。
5G消息系統采用了GSMA RCS UP2.4標準,將作為一個較為獨立的系統存在,5G消息用戶在網絡上的附著、注冊都遵循了不同于現有長期演進語音承載(Voice over Long-Term Evolution,VoLTE)用戶的模式,5G消息的樣式解析、交互實現都依賴于原生支持5G消息(RCS)的手機終端實現[9]。目前,5G消息發展的核心瓶頸在于終端的覆蓋量,終端覆蓋率低導致了5G消息未能快速規模化發展。5G消息系統架構如圖2所示。

圖2 5G消息系統架構
首先,運營商5G消息網關根據用戶手機終端上報消息,形成當前支持5G消息的號碼庫。其次,當行業客戶Chatbot進行消息下發時,由運營商的5G消息網關根據手機終端號碼庫進行判斷,支持5G消息的終端進行5G消息投遞,對不支持5G消息的終端進行其他渠道的消息回落處理[1]。現有主流解決方案為投遞5G消息強制轉為短信(純文本)或是彩信(富媒體文件+文本),以達到全面覆蓋手機終端的目的。
一是回落5G消息為短信或是彩信僅僅是展示當前的消息內容,無法實現與商業Chatbot進行交互,而這是5G消息的業務核心所在。二是無法實現5G消息的展現及交互能力,如固定菜單欄、建議回復以及特色卡片等。
總體系統架構設計如圖3所示,通過回落文本鏈接的方式,使得非5G終端手機點擊鏈接后能夠在瀏覽器中實現5G消息的展現以及Chatbot的交互,核心功能層有H5后臺服務(接入層)和H5前端邏輯層。其中,H5后臺服務(接入層)通過協議轉換等關鍵功能模塊實現5G消息的發送及接收機制,包括終端狀態判斷、端側長連接、消息上下行等系統功能,對接5G消息系統(網關);H5前端邏輯層通過HTML5+JavaScript技術完成終端界面層仿真,實現用戶終端UIUE層面與Maap消息的一致。
3.2.1 H5后臺服務主要功能模塊
H5后臺服務(接入層)是對接Maap 5G消息網元的服務系統,實現的功能包括協議轉換、鑒權認證、邏輯處理、連接狀態判斷及管理、消息存儲及緩存、消息投遞路由,主要層次模塊有6個。
一是協議轉換層,負責把普通瀏覽器H5(JavaScript)無法處理的5G Maap消息報文轉換為普通瀏覽器H5可以處理的通用格式報文,包括但不僅限于JSON、XML等通用格式。二是鑒權認證層,負責確認連接上來的瀏覽器終端用戶身份的可靠性,使用包括短信驗證、移動認證一鍵取號、SIM認證、賬密登錄等不同方式獲取身份信息。其作用在于實現Chatbot對于連接上來的用戶身份認證以及保障消息路由投遞的可靠性。三是邏輯處理層,負責處理上下行消息的分發及消息響應的處理,包括消息排隊、消息亂序處理、消息模板解析、關鍵詞匹配(優選)。四是連接服務層,包括實現與5G消息系統主要部件的對接、與用戶瀏覽器終端的長連接保持、心跳檢測、狀態檢測等功能,使用的協議包括但不僅限于HTTP(HTTPS)、TCP、MQTT、WebSocket等。五是消息路由層,負責上下行消息的路由,包括Chatbot與用戶之間多對多的路由關系。六是消息存儲層,上下行的消息均有相關的存儲服務,可模擬5G Maap原生終端的收件箱消息存儲以及當用戶瀏覽器不在線(無有效連接)時的離線消息存儲服務。當用戶重新連接上來后,會給與相關的消息推送。
3.2.2 H5前端邏輯層主要功能模塊
H5前端邏輯層實現與H5接入服務層的連接,并由瀏覽器進行相關的報文解析渲染,實現瀏覽器仿真Maap(5G消息)的功能,主要的功能模塊有以下4部分。
一是網絡連接層,實現與H5后臺服務(接入層)的有效長連接,使用TCP、MQTT或是WebSocket等多種協議進行消息的收發與狀態的保持。二是數據格式處理層,將接收到的XML或是JSON等通用格式的報文進行解析,提取其中的各種文本、圖片、富媒體信息以及各種消息指令,包括但不僅限于固定菜單欄、建議回復、浮動菜單欄等各種操作指令。三是邏輯處理層,從H5服務層接收消息,并且根據消息ID進行排序。處理從H5服務推動過來實時消息,并且拉取已有的存量離線消息,完成本地瀏覽器數據的暫存以及排序展現。響應用戶對于菜單、卡片的點擊請求,包括上行回復消息或是打開URL。四是UIUE渲染層,根據消息格式處理層提取出來的各種5G Maap消息元素進行HTML的渲染,實現包括普通消息(文本或圖片、音視頻文件)、普通消息+固定菜單欄、普通消息+懸浮按鈕(建議回復)、模板卡片(單卡片)、模板卡片(多卡片)、模板卡片(單卡片)+懸浮按鈕(建議回復)、模板卡片(多卡片)+懸浮按鈕(建議回復)等各種UIUE樣式。
3.3.3 消息主要交互流程
H5瀏覽器連接H5接入層后實現與5G Chatbot的交互,初始動作可能是打開攜帶在短信、彩信、視頻短信、Wap Push等多種信息中的鏈接,也可能是通過掃描二維碼等其他主動進入手段。
連接鑒權流程。根據GSMA規范,5G消息終端對于SIP應用要求支持AKA鑒權方式;對于HTTP應用,則要求支持GBA認證。5G消息系統通過網絡鑒權信息獲得當前連接終端的用戶身份信息,其中最為重要的是用戶手機號碼[10]。對于非5G終端,通過設計短信驗證碼、移動認證取號、SIM號碼認證等基于SIM卡號碼的方式來確定當前瀏覽器訪問用戶的身份。
H5瀏覽器發起連接請求,并攜帶鑒權類型;H5接入層服務根據鑒權類型,下發鑒權指令給鑒權中心,如短信網關、移動認證取號、SIM認證等;H5瀏覽器攜帶鑒權token再次請求H5接入層服務;H5接入層服務進行鑒權token的校驗,通過后返回長連接的access token;H5 瀏覽器攜帶 access token 建立二進制長連接,基于MQTT、WebSocket或是TCP協議。
(2)下行消息流程。下行消息流程如圖4所示,Chatbot發送消息到5G消息網關,5G消息網關投遞Maap協議報文到達H5接入層;H5接入層進行消息協議轉換,將特定的Maap協議報文轉換為通用格式報文;H5接入層對于消息進行入庫存儲,做好緩存及根據用戶ID存儲歷史消息數據;H5接入層通過長連接把消息推送到瀏覽器端;瀏覽器端拿到數據后,由數據格式處理層進行處理,抽取出關鍵元素,如卡片格式、按鈕要求、排列順序等,并將相關元素集合發送到邏輯處理層;邏輯處理層根據解析出來的關鍵元素及樣式要求,進行HTML格式的報文拼接及動效處理;UIUE前端根據邏輯處理層傳遞過來的HTML報文樣式進行前端渲染,實現與用戶的正常交互。
(3)上行消息流程。上行消息流程如圖5所示,用戶通過前端界面發起操作,如點擊卡片或是按鈕亦或是上行文本、多媒體消息;邏輯處理層進行相關的判斷,將需要上行的意圖告訴數據格式處理層;數據格式處理層進行通用格式報文的封裝,并傳遞給網絡連接模塊;瀏覽器通過長連接推送通用格式報文給H5接入層;H5接入層進行消息緩存,并根據用戶ID存儲歷史消息數據;消息協議轉換,將通用格式報文轉為Maap 5G消息報文;H5接入層投遞到5G消息網關,由5G消息網關繼續轉發到Chatbot。
(4)拉取歷史、離線消息。實現用戶進入Chatbot H5頁面后可以看到原歷史聊天記錄,仿真5G Maap消息終端的收件箱效果,具體流程如下。一是用戶打開Chatbot H5頁面,可以是通過打開攜帶在短信、彩信、視頻短信、wap push等多種信息中的鏈接,或是通過掃描二維碼等其他主動進入手段;二是瀏覽器完成鑒權認證流程后建立長連接,發起對H5接入層的歷史、離線消息拉取請求;三是H5接入層讀取數據存儲層的數據,通過用戶ID篩選出相關的消息記錄;四是H5接入層通過長連接下行消息。
5G消息帶來了全新的人機交互模式,本文闡述了一種基于H5技術實現5G消息交互系統的技術方案,可解決5G消息發展初期面臨的終端覆蓋不足的重要問題。