北京理想固網科技股份有限公司 孫曉紅
伴隨無線和移動電話技術的發展,IP語音通信技術以其優異的遠程交互功能受到廣泛重視。現有用戶設備大都通過設置有防火墻和NAT路由器的IP數據網絡聯網,在此過程中,SIP(用于控制會話的信令協議)主要用于建立和終止語音或視頻通話。目前以SIP消息的方式穿越防火墻的典型方法包括發送虛擬數據包開啟穿越通道法、以短間隔方式重置客戶端、依據加密機制對數據包進行加密等。然而,此類復雜的信號傳輸過程對于系統效率造成較大的影響,會導致IP語音通話延遲,且當網絡斷開時將可能造成IP語音來電的漏接。本設計針對現有系統的漏洞展開研究,提出可實現設備之間自動網絡設置的IP電話交換機技術。
可實現設備之間自動網絡設置的IP電話交換機系統組成見圖1所示,圖中10、20、30分別為用戶終端、網關及SIP服務器。
其中,SIP服務器包括注冊單元和分配單元,互聯網與IP數據網絡之間設置有網關(包括異常檢測單元和通道控制單元)。

圖1 可實現設備之間自動網絡設置的IP電話交換機通信系統的組成
分配單元用于在接收到IP語音呼叫請求后經由移動網絡發送推送消息給指定的用戶終端,使得安裝在用戶終端上的應用程序以經由對應的IP數據網絡、網關和互聯網發送注冊消息的形式在SIP服務器上注冊,而注冊單元響應于注冊消息,對用戶終端上的應用程序的注冊數據進行更新。當用戶終端響應推送消息后將向網關發送注冊消息時,通道控制單元基于注冊消息和異常檢測單元發送的異常分析數據判定是否打開穿越通道,以建立IP語音通話連接。異常檢測單元根據推送消息、注冊消息和用戶驗證數據分析處理得出異常檢測數據,其中用戶驗證數據包括由用戶終端上的傳感器和攝像頭采集的圖像、聲音和地理位置,而分配單元基于IP語音呼叫請求查詢SIP服務器的數據庫中是否記錄有被叫用戶的注冊數據。在用戶終端未連接至IP數據網絡時,用戶終端的應用程序對收到的推送消息進行緩存,并且基于推送消息發出提醒動作。網關還包括與異常檢測單元相連的異常數據存儲單元,根據推送消息、注冊消息和異常數據存儲單元中存儲的異常數據分析處理得出異常檢測數據,并且將出現異常時的異常信息發送至異常數據存儲單元進行存儲。通道控制單元發出驗證指令給用戶終端,以使其采集用戶驗證數據,異常檢測單元進一步根據用戶驗證數據確定是否存在異常。SIP服務器定期或不定期地下發更新指令和服務器側安全數據至網關,網關響應于更新指令,從而反饋異常數據至SIP服務器中的安全控制單元,同時異常數據存儲單元根據服務器側安全數據對網關側安全數據進行更新。
在實際系統中,此項技術被應用在以下三個應用場景中:
(1)網關穿越
圖2所示為該系統在具體網關穿越應用中的實施框圖。用戶終端1和2分別為主叫用戶終端和被叫用戶終端。SIP服務器上的數據庫中存儲有用戶端應用程序的注冊數據,該注冊數據包括但不限于用戶名、密碼、設備信息、網絡端口數據和歷史數據。
主叫用戶終端發起的IP語音通話請求經由網關1傳輸至SIP服務器。SIP服務器收到該IP語音通話請求后,安全控制單元基于預先設置的安全策略和存儲的安全分析數據分析并輸出第一安全數據至分配單元。分配單元根據第一安全數據判定是否發送與IP語音呼叫請求相關的INVITE消息和推送消息給被叫用戶終端,并基于IP語音呼叫請求查詢數據庫中是否記錄有被叫用戶的注冊數據。

圖2 可實現設備之間自動網絡設置的IP電話交換機通信系統網關穿越的實施框圖
由于INVITE消息是通過互聯網、網關和IP數據網絡傳輸給被叫用戶終端的,因而當網關上存在打開的通道時,INVITE消息相比于推送消息早到達被叫用戶終端。被叫用戶終端響應INVITE消息,與主叫用戶終端建立IP語音通話連接。在注冊消息到達網關后,網關中的通道控制單元基于注冊消息和異常檢測單元發送的異常分析數據判定是否打開穿越通道,以建立IP語音通話連接。當通道控制單元經分析判定不存在異常時則打開穿越通道,SIP服務器上的注冊單元響應于注冊消息,對用戶終端上的應用程序的注冊數據進行更新。當通道控制單元分析存在異常時,通過應用程序界面對用戶進行提示,并且將異常信息發送至異常數據存儲單元進行存儲。
(2)在被叫方暫時斷網時接通呼叫
如果被叫方暫時斷網,也可以保證順利實現穿越和接通。當有IP語音通話請求指向用戶終端時,SIP服務器的分配單元在進行安全驗證后經由移動通信網絡發送推送消息給用戶終端。用戶終端的應用程序在檢測到設備的網絡連接狀態后,提醒用戶有新的IP語音呼叫。具體地,當應用程序檢測到設備不具有WiFi或LAN連接后,對收到的推送消息進行緩存,并基于推送消息發出提醒動作。用戶可以根據需要對前述提醒動作進行設置。用戶選擇打開WiFi連接,從而使得注冊消息經由IP數據網絡到達網關。網關中的通道控制單元基于注冊消息和異常檢測單元發送的異常分析數據判定是否打開穿越通道,以建立IP語音通話連接。當通道控制單元經分析判定不存在異常時則打開穿越通道,SIP服務器上的注冊單元響應于注冊消息,對用戶終端上的應用程序的注冊數據進行更新。這樣,被叫用戶就能及時、安全地與主叫用戶進行IP語音通話。本應用方案能夠使用戶在不連接WiFi的情況下也能夠及時并且安全地接聽IP語音電話,具有非常便捷的使用效果。
(3)安全提示
用戶可以在應用程序中設置IP語音通話的安全級別。在高安全級別的狀態下,當通道控制單元分析存在異常時,通過應用程序界面對用戶進行提示,并且將異常信息發送至異常數據存儲單元進行存儲。當用戶希望避免高安全級別狀態下可能出現的錯誤攔截時,可以將安全級別設置為正常狀態。當通道控制單元分析存在異常時,系統發出驗證指令給用戶終端,使得終端上的應用程序調用終端上的硬件設備采集用戶驗證數據,其中用戶驗證數據包括圖像、聲音和地理位置,或驗證口令和與時間相關的動態驗證碼。異常檢測單元進一步地通過用戶驗證數據確定是否存在異常。安全控制單元還能夠根據預先設置的安全策略和存儲的安全分析數據并結合用戶終端發送的注冊消息向注冊單元發送第二安全數據,第二安全數據用于判定是否響應于注冊消息,對用戶終端上的應用程序的注冊數據進行更新,可避免IP語音通話被惡意劫持和竊聽的風險。
SIP服務器定期或不定期地下發更新指令和服務器側安全數據至網關。網關響應于更新指令,從而反饋異常數據至SIP服務器中的安全控制單元。同時,異常數據存儲單元根據服務器側安全數據對網關側安全數據進行更新。通過將安全控制單元上的服務器側安全數據與異常數據存儲單元上的異常數據進行交互更新,使得IP語音通信系統能夠隨著實際使用情況自動地進行安全升級。
本文對于網絡交互式IP電話交換機進行了優化設計,在SIP服務器接收到IP語音呼叫請求后,才經由移動網絡向被叫用戶終端發送推送消息,以使得穿越通道打開,被叫用戶與主叫用戶建立通話,從而克服了現有技術中終端設備耗電量大的缺陷,同時避免了防火墻/路由器設置的可變時間到期、通道關閉導致的被叫用戶不能收到來電提醒的問題。實現了用戶端與服務器端與安全相關的數據的交互更新,增強了IP電話的安全性。
[1]岳坤.IP PBX應用風險與解決措施分析[J].信息與電腦:理論版,2017(12).
[2]王文華.鐵路企業基于PTN網絡的IP電話系統研究與實現[J].信息通信,2017(10):207-209.
[3]陳欣.基于IP軟交換的通訊網絡設計及應用[J].電腦迷,2016(11).
[4]梁歆.關于移動軟交換網絡IP接入技術的相關分析[J].電子制作,2016(22):74-74.