馮春華
(武漢工程科技學(xué)院信息工程學(xué)院,湖北武漢 430200)
隨著科技的發(fā)展,視頻會(huì)議系統(tǒng)的應(yīng)用越來越普及[1-3],在商業(yè)、教育、安防以及人們生活的方方面面,對(duì)高清視頻的需求越來越多[4]。視頻會(huì)議系統(tǒng)通過現(xiàn)有通信介質(zhì)傳輸媒體,將人物靜動(dòng)態(tài)圖像等多種資料發(fā)送到各用戶的終端上,使得用戶可通過系統(tǒng)載體設(shè)備進(jìn)行遠(yuǎn)程交流[5],實(shí)現(xiàn)即時(shí)且互動(dòng)的溝通[6-7]。視頻會(huì)議系統(tǒng)大多是嵌入式系統(tǒng),其作用是硬件系統(tǒng)依靠軟件系統(tǒng)來實(shí)現(xiàn)音視頻數(shù)據(jù)處理、網(wǎng)絡(luò)通信和各項(xiàng)會(huì)議功能,與軟件視頻會(huì)議相比可靠性更好、系統(tǒng)性能更高[8]。
該文介紹了一款集成PSTN 電話功能的終端設(shè)備,該終端既可作為視頻指揮系統(tǒng)末級(jí)節(jié)點(diǎn),配合實(shí)現(xiàn)視頻監(jiān)控、視頻指揮、視頻會(huì)議等業(yè)務(wù)應(yīng)用;也可在網(wǎng)絡(luò)抖動(dòng)、擁塞、終端或服務(wù)故障等情況下,通過電話語音保底功能保障指揮延續(xù)。會(huì)議終端可以持久化地存儲(chǔ)電話號(hào)碼信息,在離線時(shí)也能夠進(jìn)行電話業(yè)務(wù),功能更為豐富[9]。
視頻會(huì)議終端主要由編碼模塊、解碼模塊、電話語音模塊等組成。編碼模塊的主要功能是將設(shè)備采集的音視頻信號(hào)轉(zhuǎn)換為IP 數(shù)據(jù),并傳送到IP 網(wǎng)絡(luò)中。解碼模塊的主要功能是接收IP 網(wǎng)絡(luò)中的數(shù)據(jù),并解碼為音視頻信號(hào)在本地播放。電話語音模塊的主要功能是將設(shè)備采集的音頻信號(hào)轉(zhuǎn)換為電話數(shù)據(jù),并傳送到PSTN 網(wǎng)絡(luò)中。
視頻會(huì)議終端組成示意圖如圖1 所示。

圖1 視頻會(huì)議終端組成示意圖
該會(huì)議終端除了具有傳統(tǒng)的音視頻編解碼功能外,還具備如下功能:
1)PSTN 電話功能。支持在線/離線狀態(tài)下通過撥號(hào)方式與電話終端、通訊錄其他終端進(jìn)行通話;支持來電響鈴、可顯示對(duì)方用戶名或號(hào)碼信息。
2)網(wǎng)絡(luò)監(jiān)測功能。支持顯示終端與所屬節(jié)點(diǎn)網(wǎng)絡(luò)連接狀態(tài);支持業(yè)務(wù)過程中在界面上顯示業(yè)務(wù)兩端之間的網(wǎng)絡(luò)信息(包括丟包、時(shí)延、碼率、帶寬)。
3)獨(dú)立使用功能。支持離線狀態(tài)下,設(shè)備能夠離線啟動(dòng),并能支持本地預(yù)覽、PSTN 電話功能。
4)電話保底功能。終端與所屬服務(wù)節(jié)點(diǎn)之間監(jiān)測到網(wǎng)絡(luò)狀態(tài)不佳時(shí),支持由音視頻業(yè)務(wù)自動(dòng)切換為純音頻業(yè)務(wù);終端與所屬服務(wù)節(jié)點(diǎn)之間網(wǎng)絡(luò)中斷條件下,支持由IP 音視頻業(yè)務(wù)自動(dòng)切換為PSTN 電話,支持可設(shè)置功能開啟/關(guān)閉切換保底功能,最終確保系統(tǒng)能夠處于穩(wěn)定安全的狀態(tài)[10]。
電話信令通過USB/串口/按鍵等進(jìn)行控制,音頻的聲音采用模擬接口,需要進(jìn)行消側(cè)音和回聲消除。
消回聲模塊使用編解碼板上的硬件模塊,增加一個(gè)回聲抑制模塊進(jìn)行消側(cè)音功能,電話模塊的硬件方案示意圖如圖2 所示。

圖2 電話模塊的硬件方案示意圖
視頻會(huì)議終端集成撥打/接聽電話,控制方式要兼容紅外搖控器和手柄。
在手柄上資源列表都有對(duì)應(yīng)的按鍵,紅外搖控器無對(duì)應(yīng)的按鍵,在主菜單增加各個(gè)資源菜單,主菜單如圖3 所示,通過方向鍵選擇進(jìn)入。手柄操作時(shí)既可以通過按鍵一鍵進(jìn)入相應(yīng)的資源列表,也可以在主菜單通過方向鍵選擇進(jìn)入。

圖3 主菜單
電話模塊主要包括獲取電話通訊錄、呼叫外線、外線呼入、外線掛斷、主動(dòng)掛斷、呼入響應(yīng)、呼出響應(yīng)、電話保底、視頻通話中斷轉(zhuǎn)電話呼叫、主動(dòng)撥號(hào)呼叫等功能。
為了保護(hù)用戶個(gè)人信息,視頻會(huì)議終端從平臺(tái)獲取的電話號(hào)碼信息已經(jīng)是加密的,直接將加密的電話號(hào)碼存儲(chǔ)到數(shù)據(jù)庫,需要使用電話號(hào)碼時(shí)再解密。通訊錄獲取流程圖如圖4 所示,通過用戶IDS 獲取對(duì)應(yīng)的電話號(hào)碼,獲取成功后,將加密的電話號(hào)碼寫到數(shù)據(jù)庫中;然后將加密電話號(hào)碼解密,寫到事先分配好的電話號(hào)碼內(nèi)存池中。

圖4 通訊錄獲取流程圖
會(huì)議終端內(nèi)部集成了VOIP 網(wǎng)關(guān),可以對(duì)外提供電話呼叫業(yè)務(wù),內(nèi)部模塊與VOIP 關(guān)系采用SIP 協(xié)議進(jìn)行交互,以RTP 協(xié)議傳輸音頻。用戶在電話通訊錄中選擇要呼出的對(duì)象,點(diǎn)擊確定后發(fā)起對(duì)外呼出請求,呼叫處理對(duì)象接收到呼出請求后進(jìn)入電話顯示處理流程,然后通過消息接口將該請求發(fā)送給業(yè)務(wù)處理模塊,最后將呼叫狀態(tài)更新到播放列表對(duì)象,業(yè)務(wù)處理對(duì)象接收到呼出請求后,進(jìn)入呼出處理流程,呼出處理流程圖如圖5 所示。在呼出處理中,首先判斷電話呼叫記錄是否存在,若存在,則直接反饋呼出結(jié)果;若不存在,則創(chuàng)建電話呼叫記錄,開啟呼出定時(shí)器,將電話請求通過消息隊(duì)列發(fā)送給電話處理模塊。

圖5 呼出處理流程圖
在接收到來自電話處理模塊的外線呼入請求時(shí),進(jìn)入呼入請求處理流程。在進(jìn)入呼入請求處理流程時(shí),首先檢測是否有呼叫記錄存在,若存在,則直接給電話處理模塊反饋呼叫響應(yīng)結(jié)果為拒絕;若不存在,則創(chuàng)建電話呼叫記錄,將所有正在發(fā)生的業(yè)務(wù)置為靜音狀態(tài),最后將這一請求發(fā)送給界面顯示對(duì)象。在界面顯示對(duì)象接收到呼入請求時(shí),進(jìn)入呼入處理流程,呼入處理流程圖如圖6 所示。在呼入處理流程中,首先判斷電話號(hào)碼是否允許呼入,若不允許,則直接反饋呼入結(jié)果為拒絕;若允許,則進(jìn)入電話呼叫顯示窗口流程,并開啟響應(yīng)定時(shí)器,若定時(shí)器超時(shí),則進(jìn)入電話呼叫顯示窗口流程,并直接反饋呼入請求為拒絕。

圖6 呼入處理流程圖
在接收到來自電話處理模塊的外線掛斷請求時(shí),業(yè)務(wù)處理對(duì)象進(jìn)入掛斷請求處理流程,在電話呼叫記錄存在的情況下,銷毀電話呼叫記錄,將所有正在發(fā)生的業(yè)務(wù)置為非靜音,停止電話呼出定時(shí)器,將這一掛斷請求發(fā)送給呼叫處理對(duì)象,在呼叫處理對(duì)象接收到掛斷請求后,進(jìn)入掛斷處理流程,在接收到掛斷請求后,則進(jìn)入電話呼叫顯示窗口流程,并將該記錄更新到播放列表對(duì)象中。
在播放列表中,選擇對(duì)應(yīng)的項(xiàng)或直接選擇掛斷所有的情況下,播放列表對(duì)象會(huì)將掛斷請求發(fā)送給呼叫處理對(duì)象,呼叫處理對(duì)象在接收到內(nèi)部掛斷請求時(shí),進(jìn)入掛斷處理流程。在掛斷處理流程中,進(jìn)入電話呼叫顯示窗口流程,并隱藏電話警告窗口,同時(shí)發(fā)送掛斷請求給業(yè)務(wù)處理對(duì)象,停止警告定時(shí)器。在業(yè)務(wù)處理模塊接收到來自界面的掛斷請求時(shí),進(jìn)入內(nèi)部掛斷流程。在內(nèi)部掛斷流程中,在電話呼叫記錄存在的情況下,將所有正在發(fā)生的業(yè)務(wù)置為非靜音狀態(tài),刪除電話呼叫記錄,發(fā)送掛斷請求給電話處理模塊。
在界面顯示模塊中,接收到按鍵事件,如果呼入提示窗口仍然存在,則進(jìn)入呼入響應(yīng)處理流程,在呼入響應(yīng)處理中,將響應(yīng)結(jié)果發(fā)送給業(yè)務(wù)處理模塊,若選擇結(jié)果為接受,則將這一電話呼叫更新到播放列表對(duì)象,停止呼入響應(yīng)定時(shí)器,顯示電話通話提示框,隱藏呼入提示框,在業(yè)務(wù)處理模塊接收到內(nèi)部對(duì)呼入的響應(yīng)時(shí),進(jìn)入呼入響應(yīng)處理流程,在呼入響應(yīng)流程中,在呼叫記錄存在的情況下,將這一響應(yīng)結(jié)果發(fā)送給電話處理模塊,若結(jié)果為接受,則更新電話呼叫記錄;否則刪除電話呼叫記錄,并且將其他正在發(fā)生的業(yè)務(wù)置為非靜音狀態(tài)。
當(dāng)業(yè)務(wù)處理對(duì)象接收到來自電話處理模塊的呼出結(jié)果時(shí),進(jìn)入呼出結(jié)果處理流程,在呼出結(jié)果處理流程中,在電話呼叫記錄存在的情況下,若結(jié)果為拒絕,則刪除電話呼叫記錄,并停止電話呼出定時(shí)器,同時(shí)設(shè)置其他正在進(jìn)行的業(yè)務(wù)為非靜音狀態(tài);若結(jié)果為接受,則更新電話呼叫記錄,并停止電話呼出定時(shí)器,然后將呼出結(jié)果發(fā)送給界面呼叫處理對(duì)象,界面呼出結(jié)果處理流程圖如圖7 所示。在界面顯示呼叫處理對(duì)象中,接收到呼出結(jié)果時(shí),進(jìn)入呼出結(jié)果處理流程,在呼出結(jié)果處理中,若結(jié)果為接受,則進(jìn)入電話顯示窗口處理,更新播放對(duì)象窗口的狀態(tài);若結(jié)果為拒絕,則銷毀播放對(duì)象中對(duì)應(yīng)的號(hào)碼條目,進(jìn)入電話顯示窗口處理,開啟警告提示定時(shí)器,顯示呼叫失敗窗口。

圖7 界面呼出結(jié)果處理流程圖
電話保底是指在人員離線的情況下,將視頻呼叫或語音通話請求直接轉(zhuǎn)換成電話呼叫請求功能。在視頻呼叫或語音通話功能中,在呼叫對(duì)象為離線的情況下,判斷是否為電話保底,如果是電話保底,則將人員呼叫方式轉(zhuǎn)換成電話呼叫方式,同時(shí)激活電話呼叫窗口,則電話呼叫窗口進(jìn)入正常的電話呼叫流程。
在進(jìn)行視頻通話過程中,若出現(xiàn)網(wǎng)絡(luò)不佳或人員離線的情況,主動(dòng)發(fā)起的視頻通話鏈路將轉(zhuǎn)換成電話呼叫。在接收到視頻中斷消息時(shí),若當(dāng)前中斷通道為視頻呼出且當(dāng)前配置項(xiàng)為視頻呼叫中斷自動(dòng)轉(zhuǎn)電話呼叫,則清除視頻呼叫記錄,并觸發(fā)呼叫處理對(duì)象去觸發(fā)電話通信窗口發(fā)起電話呼叫,否則進(jìn)入正常的中斷流程,視頻通話中斷轉(zhuǎn)電話呼叫流程圖如圖8 所示。

圖8 視頻通話中斷轉(zhuǎn)電話呼叫流程圖
通過紅外搖控器或控制手柄可以通過配置界面對(duì)呼叫等待時(shí)間、白名單、自動(dòng)轉(zhuǎn)電話呼叫選項(xiàng)和電話保底選項(xiàng)進(jìn)行配置。參數(shù)獲取和設(shè)置時(shí),界面通過一定的方式直接調(diào)用或間接調(diào)用業(yè)務(wù)處理模塊對(duì)相關(guān)參數(shù)進(jìn)行配置。
網(wǎng)絡(luò)通信技術(shù)的快速發(fā)展使得視頻會(huì)議成為現(xiàn)實(shí),通過視頻會(huì)議人們可以進(jìn)行面對(duì)面交流,提高了效率[11]。該系統(tǒng)實(shí)現(xiàn)的視頻會(huì)議終端系統(tǒng)運(yùn)行穩(wěn)定、畫面流暢,當(dāng)會(huì)議終端發(fā)起音視頻呼叫成功后,檢測到網(wǎng)絡(luò)中斷時(shí),能夠自動(dòng)切換成電話呼叫;對(duì)于離線的人員,發(fā)起音視頻呼叫時(shí)自動(dòng)轉(zhuǎn)成電話呼叫,很好地解決了網(wǎng)絡(luò)中斷時(shí)不能按時(shí)進(jìn)行視頻會(huì)議的問題,該系統(tǒng)可以滿足不同會(huì)議模式的使用需求,使會(huì)議不受地域限制[12],為企業(yè)溝通提供了有效的保障[13-14]。隨著科技和經(jīng)濟(jì)的發(fā)展,視頻會(huì)議系統(tǒng)的應(yīng)用場景將愈發(fā)廣泛[15-16]。