專利名稱::基于IPv6網(wǎng)SIP協(xié)議的遠程醫(yī)療實時信息交互方法
技術(shù)領(lǐng)域:
:屬于多媒體實時通信領(lǐng)域
背景技術(shù):
:遠程醫(yī)療是一種新的醫(yī)學(xué)模式,它是現(xiàn)代醫(yī)學(xué)技術(shù)、計算機網(wǎng)絡(luò)技術(shù)和現(xiàn)代通訊技術(shù)相結(jié)合的產(chǎn)物。所謂遠程醫(yī)療,一般是指通過網(wǎng)絡(luò)技術(shù)在相隔很遠的求醫(yī)者和醫(yī)生之間進行雙向信息傳送,完成求醫(yī)者的信息搜索、診斷以及醫(yī)療方案的實施等過程。遠程醫(yī)療最大的優(yōu)點是資源共享的高效性、對緊急情況能緊急處理的時效性、節(jié)省醫(yī)院和患者開支的經(jīng)濟性。如果能夠通過寬帶網(wǎng)絡(luò)或者電話線路等提供遠程醫(yī)療,不僅能夠為病人的治療提供了時間保障、減少病人費用開支,還能提高醫(yī)生和醫(yī)院的知名度。網(wǎng)絡(luò)多媒體技術(shù)是實現(xiàn)遠程醫(yī)療、網(wǎng)絡(luò)會議、交互式教學(xué)、在線游戲等大規(guī)模網(wǎng)絡(luò)應(yīng)用的核心技術(shù),而高速互聯(lián)網(wǎng)是實現(xiàn)這些應(yīng)用的基礎(chǔ)平臺。多媒體數(shù)據(jù)傳輸與播放技術(shù)是計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)、多媒體技術(shù)等多學(xué)科、多領(lǐng)域融合交叉所產(chǎn)生的網(wǎng)絡(luò)應(yīng)用技術(shù),廣泛用于多媒體新聞發(fā)布、在線直播、網(wǎng)絡(luò)廣告、電子商務(wù)、遠程教育和遠程醫(yī)療等領(lǐng)域。遠程醫(yī)療中的網(wǎng)絡(luò)通信技術(shù)是發(fā)展比較快,也比較復(fù)雜的技術(shù)。早期的遠程醫(yī)療,就是因為通信技術(shù)沒有能夠得到快速的發(fā)展而影響了遠程醫(yī)療技術(shù)的發(fā)展。如今,互聯(lián)網(wǎng)技術(shù)得到了飛速的發(fā)展,特別是IPv6網(wǎng)絡(luò)的不斷普及,為遠程醫(yī)療提供了發(fā)展的平臺。在遠程醫(yī)療的實時信息交互中,主要涉及的技術(shù)有會話信令的傳輸,音視頻實時通信,即時短消息發(fā)送,病歷文件傳輸和實時醫(yī)療數(shù)據(jù)(電子白板和醫(yī)療曲線)傳輸。其中,會話信令使用SIP協(xié)議實現(xiàn),音視頻通信使用RTP/RTCP協(xié)議傳輸,即時短消息攜帶于SIP信令的MESSAGE消息中進行發(fā)送,病歷文件傳輸和實時醫(yī)療數(shù)據(jù)是用自己設(shè)計的數(shù)據(jù)格式進行打包發(fā)送。用于會話信令傳輸?shù)腟IP協(xié)議是其中重要的技術(shù)。SIP(SeSSi0nInitiationProtocol)協(xié)議是2001年推出的IETF標(biāo)準(zhǔn)(RFC3261),用于IP數(shù)據(jù)網(wǎng)絡(luò)上建立、改變和結(jié)束多媒體會話。隨著SIP的標(biāo)準(zhǔn)的擴展,可以實現(xiàn)多種業(yè)務(wù),如IP電話、多媒體會議、遠程白板、即時消息等,并可以簡化對IPSecVPN的連接。而且,SIP還可以方便地將多媒體服務(wù)與其他類型的服務(wù)組合在一起,如目錄信息、Web瀏覽、定位和列席服務(wù)、尋找和跟蹤等。由于SIP是應(yīng)用層協(xié)議,它是相對獨立的,IP網(wǎng)絡(luò)上任何類型的參與者都可以被SIP連接起來。例如,SIP可以提供固定和移動網(wǎng)絡(luò)之間的無縫服務(wù)功能,這是實現(xiàn)固定與移動業(yè)務(wù)融合的關(guān)鍵要素,而且,這種功能隨著3G移動網(wǎng)絡(luò)在世界各地的部署而變得越來越重要。SIP已被公認是下一代網(wǎng)絡(luò)的核心控制協(xié)議,其功能在得到不斷擴展,在SIP基本標(biāo)準(zhǔn)文檔RFC3261的基礎(chǔ)上,IETF推出了許多SIP擴展標(biāo)準(zhǔn),例如RFC3262(規(guī)定臨時響應(yīng)的可靠性)、RFC3263(確定了PROXY的定位規(guī)則)、RFC3264(提出了提議和應(yīng)答模型)、RFC3265(提出事件通知規(guī)則)以及RFC3248(提出即時消息規(guī)則)等。因為SIP協(xié)議具有實現(xiàn)簡單、兼容性好和擴展性強等特點,所以,利用SIP協(xié)議進行遠程醫(yī)療系統(tǒng)開發(fā)具有很大的優(yōu)勢,即可以與其他用SIP開發(fā)的軟件系統(tǒng)相兼容,又可以保證系統(tǒng)以后的升級和功能擴展的便利。基于上述考慮,本發(fā)明提出了一種新型遠程醫(yī)療實時信息交換產(chǎn)品,該產(chǎn)品是一種基于IPv6網(wǎng)絡(luò)和SIP協(xié)議開發(fā)的醫(yī)療軟件終端,為了滿足目前廣泛流行的IPv4網(wǎng)絡(luò)應(yīng)用,該產(chǎn)品同時實現(xiàn)了IPv4網(wǎng)絡(luò)下的功能應(yīng)用。該產(chǎn)品的設(shè)計思想是通過SIP協(xié)議進行會話的協(xié)商、建立、修改和終止,利用RTP/RTCP等技術(shù)進行多媒體實時信息的交互。
發(fā)明內(nèi)容本發(fā)明是為了給相距很遠的異地醫(yī)護人員或者醫(yī)生和醫(yī)生之間提供一個實時就診的醫(yī)療數(shù)據(jù)交互平臺,不僅給處于偏遠的地區(qū)提供高質(zhì)量的醫(yī)療護理,更是為生命垂危的患者節(jié)省了醫(yī)治時間,提高了醫(yī)治效率。本發(fā)明可以在IPv6高速互聯(lián)網(wǎng)中提供實時的遠程醫(yī)療數(shù)據(jù)的交互,其中的醫(yī)療數(shù)據(jù)包括實時音視頻數(shù)據(jù)、醫(yī)療參數(shù)數(shù)據(jù)(體溫、心跳、脈搏、血壓等)、實時短消息和文件數(shù)據(jù)。本發(fā)明能滿足IPv4以及IPv6網(wǎng)絡(luò)中的遠程醫(yī)療實時通信,具有實現(xiàn)簡單、兼容性好以及易擴展的優(yōu)點。所述方法是在各客戶端和代理服務(wù)器之間依次按以下步驟實現(xiàn)的步驟(1)客戶端初始化在客戶端設(shè)立以下模塊會話初始化協(xié)議SIP信令處理模塊、音視頻傳輸模塊、即時短消息傳輸模塊、文件傳輸模塊、電子白板傳輸模塊和醫(yī)療曲線傳輸模塊,其中會話初始化協(xié)議SIP信令處理模塊,設(shè)有下列SIP消息注冊成功消息、注冊失敗消息、2000K應(yīng)答消息、ACK確認消息、INVITE音頻呼入消息、RE_INVITE視頻呼入消息、EXOSIP_MESSAGE_NEff消息,其中它包括即時短消息、文件發(fā)送消息、電子白板消息和醫(yī)療曲線消息,為了區(qū)別文件發(fā)送消息、電子白板消息和醫(yī)療曲線消息,將MESSAGE消息體中的文本內(nèi)容格式定義為“消息類型/消息實體”形式,“/”前面的消息類型用來標(biāo)識消息類型,其中即時短消息用“MESSAGE”標(biāo)識,文件發(fā)送請求消息用“FILESEND”標(biāo)識,文件發(fā)送同意接收回復(fù)用“FLSD_BACK”標(biāo)識,電子白板請求消息用“WHITEBOARD”,電子白板同意接收回復(fù)用“WHBD_BACK”標(biāo)識,醫(yī)療曲線用“MEDICAIXURVE”標(biāo)識,醫(yī)療曲線同意接收回復(fù)用“MEDOTR_BACK”標(biāo)識,在標(biāo)識為“MESSAGE”消息時,“/”后面的消息實體為短消息內(nèi)容,在標(biāo)識為“FILESEND","WHITEBOARD”、或“MEDICALCURVE”時“/”后面的消息實體填寫本機IP地址,還有會話結(jié)束消息EX0SIP_CALL_CL0SED,所有的信令傳輸使用端口5070,音視頻傳輸模塊,分為編碼發(fā)送部分和接收解碼部分,其中編碼發(fā)送部分,把通過麥克風(fēng)或攝像頭采集到的原始音視頻數(shù)據(jù)發(fā)往接收方,其中,原始音頻數(shù)據(jù)經(jīng)過G.711、G.723或G.729協(xié)議編碼以后打包成RTP包發(fā)送,原始視頻數(shù)據(jù)經(jīng)過H.263或者H.264協(xié)議以后打包成RTP包發(fā)送,接收解碼部分,把接收的RTP包解碼后,送往音頻播放器,音視頻通信所使用端口依次為15004和15005端口,即時短消息傳輸模塊,分為即時短消息發(fā)送部分和即時短消息接收部分,其中即時短消息發(fā)送部分,把輸入設(shè)備輸入的文字封裝到所述MESSAGE消息中發(fā)送,即時短消息接收部分,從接收到的所述MESSAGE消息中解析消息體得到即時短消息,該即時短消息使用所述SIP信令的端口5070,文件傳輸模塊,分為文件發(fā)送部分和文件接收部分,其中文件發(fā)送部分,在確定了所要發(fā)送文件的文件路徑后,把文件數(shù)據(jù)分為文件頭信息和文件內(nèi)容信息,分兩次發(fā)送,文件接收部分,通過文件傳輸信道分別接收文件頭信息和文件內(nèi)容信息,使用端Π8023,電子白板傳輸模塊,分為電子白板信息發(fā)送部分和電子白板信息接收部分,其中電子白板信息發(fā)送部分,輸入為鼠標(biāo)位置或按鍵信號輸出為該電子白板上的圖像或文字,然后把所述圖像或者文字打包成自定義的數(shù)據(jù)結(jié)構(gòu)后發(fā)送,此結(jié)構(gòu)體用來c++語言中的struct結(jié)構(gòu)體類型來描述,內(nèi)容包括曲線類型和點位置坐標(biāo)信息,電子白板信息接收部分,把接收到的數(shù)據(jù)包解壓后,再在電子白板上以圖標(biāo)或文字數(shù)據(jù)形式顯示,電子白板通信使用端口為5557,醫(yī)療曲線傳輸模塊,分為醫(yī)療曲線發(fā)送部分和醫(yī)療曲線接收部分,其中醫(yī)療曲線發(fā)送部分,把采集到的醫(yī)療數(shù)據(jù)按自定義的數(shù)據(jù)結(jié)構(gòu)打包后,用曲線形式在本地顯示,同時把所述醫(yī)療數(shù)據(jù)發(fā)送出去,此結(jié)構(gòu)體用來c++語言中的struct結(jié)構(gòu)體類型來描述,內(nèi)容包括畫筆屬性和點位置坐標(biāo)信息,醫(yī)療曲線接收部分,把接收到的醫(yī)療數(shù)據(jù)解包后,在醫(yī)療曲線窗口顯示,傳輸使用的端口為5559,客戶端還設(shè)立了下述SIP信令控制線程、音頻采集線程、音頻編碼發(fā)送線程、視頻采集線程、視頻編碼發(fā)送線程、音頻接收解碼線程、音頻播放線程、視頻接收解碼線程、視頻播放線程、醫(yī)療曲線發(fā)送線程、醫(yī)療曲線接收線程、電子白板發(fā)送線程、電子白板接收線程、文件發(fā)送線程以及文件接收線程,步驟(2)客戶端依次按以下步驟實現(xiàn)遠程醫(yī)療實時信息的交互傳輸步驟(2.1)客戶端向所述代理服務(wù)器注冊步驟(2.1.1)客戶端向所述代理服務(wù)器發(fā)送請求注冊消息REGESTER,步驟(2.1.2)客戶端收到所述代理服務(wù)器發(fā)出的成功應(yīng)答消息2000K,步驟(2.2)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)音視頻模塊進行通信時,要從下述主動發(fā)起模式或被動接收模式中任選一種通信模式,在音頻條件下的主動發(fā)起通信模式按以下步驟進行首先,輸入對方客戶端的SIP地址標(biāo)識,按下?lián)芴柊粹o,發(fā)起通話請求,發(fā)出INVITE請求消息,其次,當(dāng)先后依次收到對方的180臨時應(yīng)答消息和2000K最終應(yīng)答消息時,發(fā)送確認消息ACK,同時啟動所述音頻接收解碼線程、音頻編碼發(fā)送線程、音頻播放線程和音頻采集線程,在音頻條件下的被動接收通信模式按以下步驟進行第一步,創(chuàng)建一個監(jiān)聽線程,監(jiān)聽外來的SIP通信請求指令,第二步,當(dāng)監(jiān)聽到對方客戶端發(fā)出的所述INVITE請求時,本地振鈴提示客戶端有呼叫進入,同時,回復(fù)180臨時應(yīng)答消息,第三步,當(dāng)客戶端接受請求時,向所述對方客戶端發(fā)送2000K應(yīng)答消息,直到對方發(fā)出確認消息ACK為止,第四步,當(dāng)收到對方客戶端確認消息ACK后,同時啟動所述音頻接收解碼線程、音頻編碼發(fā)送線程、音頻播放線程和音頻采集線程,在視頻條件下,主動發(fā)起通信模式按以下步驟進行首先,輸入對方SIP地址標(biāo)識,再按下?lián)芴柊粹o,發(fā)出RE_INVITE請求消息,其次,當(dāng)先后依次收到對方的180臨時應(yīng)答消息和2000K最終應(yīng)答消息時,發(fā)送確認消息ACK,同時啟動視頻接收解碼線程、編碼發(fā)送線程、視頻播放線程以及視頻采集線程,在視頻條件下,被動接收模式按以下步驟進行第一步,創(chuàng)建一個監(jiān)聽線程,監(jiān)聽外來的SIP通信請求指令,第二步,當(dāng)監(jiān)聽到對方客戶端發(fā)起的請求消息RE_INVITE時,本地振鈴提示客戶端有呼叫進入,同時回復(fù)180臨時應(yīng)答消息,第三步,當(dāng)客戶端接受通信請求,按下接聽按鈕時,向所述對方客戶端發(fā)送2000K應(yīng)答消息,直到收到對方確認請求ACK為止,第四步,當(dāng)收到對方客戶端確認消息ACK時,同時啟動所述視頻接收解碼線程、視頻編碼發(fā)送線程、視頻播放線程和視頻采集線程,步驟(2.3)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)即時短消息通信時,按以下步驟進行利用所述SIP信令處理模塊對需要傳輸?shù)募磿r文本消息使用XML語言格式化,再通過所述MESSAGE消息發(fā)送到對方客戶端,即時短消息的消息格式修改為“MESSAGE/消息實體”,“消息實體”為所述即時短消息內(nèi)容,對方客戶端收到SIP消息MESSAGE消息后,解析消息體內(nèi)含的XML文本,得到所述即時短消息,步驟(2.4)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)文件發(fā)送通信時,按以下步驟進行客戶端使用TCP模式的套接字Socket,通過所述文件發(fā)送線程發(fā)送文件,對方客戶端使用文件接收線程接收所述文件,客戶端將使用文件發(fā)送請求消息FILESEND發(fā)送文件,客戶端使用文件發(fā)送應(yīng)答消息FLSD_BACK進行同意接收應(yīng)答,文件發(fā)送請求消息格式定義為“FILESEND/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“FLSD_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址,步驟(2.5)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)電子白板消息通信時,按以下步驟進行客戶端使用電子白板請求消息WHITEBOARD發(fā)起電子白板通信請求,對方客戶端使用電子白板通信同意應(yīng)答消息WHBD_BACK,電子白板請求消息格式定義為“WHITEBOARD/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“WHBD_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址,步驟(2.6)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)醫(yī)療曲線通信時,按以下步驟進行客戶端使用醫(yī)療曲線通信請求消息“MEDICAIXURVE”發(fā)起醫(yī)療曲線通信請求,對方客戶端同意接收應(yīng)答消息為“MEDCUR_BACK”,醫(yī)療曲線請求消息格式定義為“MEDICAIXURVE/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“MEDOTR_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址。圖1.系統(tǒng)平臺圖。圖2.終端總體流程框圖。圖3.客戶終端設(shè)計圖。圖4.客戶終端各線程通信圖。圖5.音視頻子線程通信圖。圖6.音頻通信過程圖。圖7.電子白板實現(xiàn)基本框架。圖8.電子白板線程關(guān)系圖。圖9.各子線程模塊數(shù)據(jù)流圖。圖10.主線程運作流程圖。圖11.實時曲線繪制模塊工作機制。圖12.實時曲線繪制過程示意圖。具體實施例方式遠程醫(yī)療系統(tǒng)采用傳統(tǒng)的C/S架構(gòu)設(shè)計。系統(tǒng)的設(shè)計主要包括服務(wù)器的配置和軟件客戶終端的開發(fā)。服務(wù)器主要負責(zé)SIP信令的交互,當(dāng)會話建立,也即SIP信令呼叫完成啟動醫(yī)療數(shù)據(jù)傳輸系統(tǒng)時,數(shù)據(jù)的交互不再需要服務(wù)器的支持,而是使用peer-to-peer的端到端傳輸,系統(tǒng)整體結(jié)構(gòu)如圖1所示。1.終端整體框架遠程醫(yī)療終端軟件實現(xiàn)的功能主要包括有音視頻通信、即時消息發(fā)送、文件發(fā)送、電子白板和醫(yī)療曲線。進行遠程醫(yī)療,就是要給人“近在眼前”的感覺,其中音視頻通信必不可少;當(dāng)網(wǎng)絡(luò)環(huán)境不是很好時,我們希望能夠提供最低的通信保障,即時消息發(fā)送因為占用的數(shù)據(jù)量較少,但又能明確的傳達個人意思,因而需要包含即時消息功能;病人和醫(yī)生之間的問診或者醫(yī)生與醫(yī)生之間的交流都免不了要交換病人的電子病歷等重要文件,此時能夠進行文件發(fā)送是很重要的一個功能;如果雙方需要共同查看某一張圖片,比如病人的X光圖片,這時用電子白板進行顯示并進行雙方的交流是很有必要的;醫(yī)療曲線能夠?qū)崟r的顯示病人的一些生理參數(shù)比如腦電圖曲線、心電圖曲線等,整個軟件終端的運行過程如圖2所示。實現(xiàn)以上功能,遠程醫(yī)療軟件終端設(shè)計采用分層設(shè)計思想,將軟件分為用戶界面層、接口層、功能層和傳輸層。其中,軟件的功能實現(xiàn)是在功能層,主要包括兩個模塊SIP信令處理模塊和醫(yī)療數(shù)據(jù)處理模塊。如圖3所示,用戶界面層是位于整個應(yīng)用程序的最上層,提供圖形界面,確定軟件的框架。接口層,它調(diào)用一些接口函數(shù),屏蔽了下層模塊的細節(jié),提供一些簡單的接口,便于用戶界面層中控件的回調(diào)函數(shù)調(diào)用,實現(xiàn)用戶界面跟功能層的對接。功能層,實現(xiàn)SIP信令的解析和生成,負責(zé)完成醫(yī)療數(shù)據(jù)的處理,是整個軟件的主體部分,是各個功能實現(xiàn)的關(guān)鍵模塊。TCP/UDP傳輸層,負責(zé)實現(xiàn)醫(yī)療數(shù)據(jù)的底層socket傳輸。2.各功能模塊實現(xiàn)本設(shè)計各功能之間相對獨立,分別使用子線程實現(xiàn)。在程序啟動時,首先運行SIP信令控制線程監(jiān)聽SIP請求消息。其他模塊所用線程只有當(dāng)相應(yīng)的模塊建立服務(wù)時,子線程才會建立,各個模塊中除了即時短消息發(fā)送是跟SIP信令控制模塊使用同一個子線程夕卜,其他模塊都需要建立自己獨立的線程。各個子線程之間的通信如圖4所示(I)SIP消息處理模塊SIP消息模塊在整個遠程醫(yī)療會話過程當(dāng)中主要負責(zé)會話的建立、保持和釋放。在遠程醫(yī)療會話建立之前,客戶端首先向注冊服務(wù)器發(fā)起注冊(Register),發(fā)送REGESTER消息,服務(wù)器將檢查用戶數(shù)據(jù)庫,并把用戶IP地址和用戶名交給位置服務(wù)器保存。注冊完成就可以進行呼叫和對話。SIP消息處理模塊具有兩個重要功能,一是當(dāng)發(fā)起呼叫時進行SIP信令的交互;二是時刻監(jiān)聽是否有SIP請求消息到來,SIP請求消息的監(jiān)聽是通過建立一個單獨的SIP信令控制線程來實現(xiàn)的。服務(wù)器主要是由SER服務(wù)器來提供服務(wù),客戶端的設(shè)計開發(fā)是重點。該產(chǎn)品中客戶終端的SIP信令交互包括標(biāo)準(zhǔn)協(xié)議中的信令使用和自己設(shè)計信令使用兩部分??蛻舳讼蚍?wù)器注冊時使用REGESTER消息進行注冊,客戶端與客戶端之間的會話處理信令如下表1所示表1客戶端之間交互信令<table>tableseeoriginaldocumentpage10</column></row><table>其中,音視頻會話和即時消息中使用的信令是SIP協(xié)議標(biāo)準(zhǔn)中規(guī)定的標(biāo)準(zhǔn)消息,文件發(fā)送、電子白板和醫(yī)療曲線中信令是自己設(shè)計的信令?!鱿蚍?wù)器注冊客戶端服務(wù)器I--------------------REGESTER------------------------><-------------------2000K------------------------------■客戶端之間的音視頻通話服務(wù)器1.··服務(wù)器2proxyproxyUCl........................................UC2IIINVITEFl||I--------------->IINVITEF2|II--------------->IINVITEF4III----------------->II12000KF9I2000KFlO<----------------2000KFll<----------------1<---------------1IIACKF12I--------------------------------------------------------------->IAudioMediaSession<========================================>IIIRE_INVITEF13||I---------------------->|RE_INVITEF14II---------------------->|RE_INVITEF15III---------------------->II2000KF16I2000KF17<---------------------2000KF18|<----------------------1<----------------------1IIACKF19I----------------------------------------------------------------------->IVideoMediaSessionI<=========================================>IBYEF20I<-----------------------------------------------------------------------1I2000KF21i----------------------------------------------------------------------->■客戶端之間的短消息通信UC1(Sender)UC2(Receiver)I-------------------MESSAGE----------------------------><------------------2000K----------------------------------注為了擴展文件發(fā)送、電子白板、醫(yī)療曲線的消息發(fā)送,將MESSAGE消息體中的XML文本內(nèi)容表示為“消息類型/消息實體”形式,“/”之前的消息類型用來標(biāo)識不同的消息,“/”后的消息實體在不同的消息中表示不同的內(nèi)容,MESSAGE消息格式為“MESSAGE/消息實體”,其中“消息實體”為要發(fā)送的具體即時短消息。■客戶端之間的文件發(fā)送UC1(Sender)UC2(Receiver)I-------------------FILESEND----------------------------><------------------FLSD_BACK--------------------------注FILESEND消息具體形式為“FILESEND/消息實體”,其中“消息實體”為文件發(fā)送方客戶端IP地址;FLSD_BACK消息具體形式為“FLSD_BACK/消息實體”,其中“消息實體”為文件接收方客戶端IP地址;■客戶端之間的電子白板會話UC1UC2I-------------------WHITEBOARD----------------------><------------------whbd_back------------------------注WHITEB0ARD消息具體形式為“WHITEBOARD/消息實體”,其中“消息實體”為電子白板會話發(fā)起方客戶端IP地址;WHBD_BACK消息具體形式為“WHBD_BACK/消息實體”,其中“消息實體”為電子白板會話接收方客戶端IP地址;■客戶端之間的醫(yī)療曲線會話UC1(Sender)UC2(Receiver)I-------------------MEDICALCURVE-------------------><------------------MEDCUR_BACK---------------------注MEDICAIXURVE消息具體形式為“MEDICAIXURVE/消息實體”,其中“消息實體”為醫(yī)療曲線會話發(fā)起方客戶端IP地址;MEDOTR_BACK消息具體形式為“MEDOTR_BACK/消息實體”,其中“消息實體”為醫(yī)療曲線會話接收方客戶端IP地址;(2)音視頻處理模塊采用多線程設(shè)計思路,音視頻傳輸模塊總共分配9個線程,如圖5,各線程功能如下SIP信令監(jiān)聽線程負責(zé)監(jiān)聽外來的SIP消息。音頻接收解碼線程負責(zé)接收RTP音頻數(shù)據(jù)包并進行解碼。音頻編碼發(fā)送線程負責(zé)對采集到的音頻數(shù)據(jù)編碼后進行RTP打包發(fā)送。音頻播放線程對解碼后的RTP音頻數(shù)據(jù)包進行本地播放。音頻采集線程利用麥克風(fēng)采集音頻數(shù)據(jù),并把采集到的數(shù)據(jù)放入消息隊列中。視頻接收解碼線程負責(zé)接收RTP視頻數(shù)據(jù)包并進行解碼。視頻編碼發(fā)送線程負責(zé)對采集到的視頻數(shù)據(jù)編碼后進行RTP打包發(fā)送。視頻播放線程對解碼后的RTP視頻數(shù)據(jù)包進行本地播放視頻采集線程利用攝像頭采集視頻數(shù)據(jù),并進行本地顯示然后放入消息隊列主線程啟動,在初始化時實現(xiàn)一些參數(shù)的設(shè)置,如獲取本地IP,設(shè)置程序通信端口Port等。音視頻的傳輸分為主動發(fā)起通信和被動接受通信兩種模式。音頻通信的整個過程的流程圖演示如圖6。實現(xiàn)被動接受通信模式(音頻為例)第一步,要時刻監(jiān)聽外來的SIP通信請求信令(本程序為eXosip協(xié)議棧信令),因此需要創(chuàng)建一個專用子線程(線程1)進行外來eXosip信令的監(jiān)聽,線程入口函數(shù)設(shè)為sip_event_listen。第二步,監(jiān)聽到EXOSIP_CALL_INVITE消息,即對方發(fā)起INVITE請求時,本地振鈴提示用戶有呼叫進入,在振鈴?fù)瑫r恢復(fù)180臨時應(yīng)答消息。第三步,當(dāng)用戶接受請求,即用戶按下接聽按鈕時,便開始向?qū)Ψ桨l(fā)送2000K最終應(yīng)答消息直到收到對方ACK確認消息為止。第四步,當(dāng)收到對方ACK確認消息后,便啟動音頻接收解碼線程(線程2),線程入口函數(shù)設(shè)為OS_SOimd_Start_thread;啟動音頻編碼發(fā)送線程(線程3),線程入口函數(shù)設(shè)為0S_S0und_Start_0ut_thread;啟動音頻播放線程(線程4);啟動音頻采集線程(線程5)。視頻通信的建立過程跟音頻通信過程類似,只不過在第二步接收到的為EX0SIP_CALL_REINVITE消息,即RE_INVITE消息。接收到ACK確認消息以后也要啟動4個子線程,分別為視頻接收解碼線程(線程6),入口函數(shù)0S_vide0_Start_thread,視頻編碼發(fā)送線程(線程7)os_video_start_out_thread,視頻播放線程(線程8)和視頻采集線程(線程9)。實現(xiàn)主動發(fā)起通信模式(音頻為例):第一步,用戶輸入對方SIP地址標(biāo)識,并按下?lián)芴柊粹o發(fā)起通話請求,即發(fā)出INVITE請求消息。第二步,當(dāng)收到對方180臨時應(yīng)答消息時在本地提示對方正在振鈴,再次收到對方2000K最終應(yīng)答消息時,發(fā)送ACK確認消息,同時啟動音頻接收解碼、音頻編碼發(fā)送線程和音頻播放、音頻采集線程4個線程,具體過程類似被動接受模式中第四步。視頻通信的發(fā)起過程跟音頻類似,只是INVITE改為RE_INVITE消息,同樣要建立4個線程。(3)即時消息模塊SIP協(xié)議實現(xiàn)即時通信的文本傳輸不是SIP的核心內(nèi)容,而是通過SIP協(xié)議的擴展9]來實現(xiàn)即時消息的傳輸。即時消息擴展的SIP消息為MESSAGE,此消息的消息格式按照SIP協(xié)議的標(biāo)準(zhǔn)實現(xiàn),需要傳輸?shù)募磿r文本消息使用XML語言格式化,通過MESSAGE捎發(fā)送到被叫方,被叫方收到MESSAGE消息后,解析消息體中的XML格式化文本,得到呼叫方發(fā)來的即時消息。因此,即時消息模塊的實現(xiàn)可以看作是在SIP信令處理模塊中實現(xiàn)的。(4)文件發(fā)送模塊文件發(fā)送的SIP會話建立以后,開始正式發(fā)送文件。文件的發(fā)送過程分為文件信息頭的發(fā)送和文件內(nèi)容的發(fā)送兩部分,傳輸時發(fā)送方新建一個發(fā)送子線程,接收方新建一個接收子線程,傳輸完成,子線程關(guān)閉,直接使用TCP模式的socket傳輸。本產(chǎn)品是在windows環(huán)境下進行的開發(fā),因此,文件信息的獲取使用windowsAPI函數(shù)。關(guān)于文件的全部屬性信息,總計有以下9種文件的標(biāo)題名、文件的屬性(只讀、存檔,隱藏等)、文件的創(chuàng)建時間、文件的最后訪問時間、文件的最后修改時間、文件大小的高位雙字、文件大小的低位雙字、保留、保留。在這里只有文件標(biāo)題名和文件的長度可以通過CFile類比較方便的獲得,而對于其他幾種屬性的獲取和設(shè)置就無能為力了。在用FindFirstO和FindNextO函數(shù)去查找磁盤文件時經(jīng)常使用的一個數(shù)據(jù)結(jié)構(gòu)WIN32_FIND_DATA的成員變量里包含了以上所有的文件屬性,因此可以通過這個結(jié)構(gòu)作為獲取和更改文件屬性的手段。該結(jié)構(gòu)的內(nèi)容如下typedefstruct_WIN32_FIND_DATA{DWORDdwFileAttributes;//文件屬性FILETIMEftCreationTime;//文件創(chuàng)建時間FILETIMEftLastAccessTime;//文件最后一次訪問時間FILETIMEftLastWriteTime;//文件最后一次修改時間DWORDnFileSizeHigh;//文件長度高32位DWORDnFileSizeLow;//文件長度低32位DWORDdwReservedO;//系統(tǒng)保留DWORDdwReservedl;//系統(tǒng)保留TCHARcFiIeName[MAX_PATH];//長文件名TCHARcAltemateFileName[14];//8·3格式文件名}WIN32_FIND_DATA,*PWIN32_FIND_DATA;可以通過FindFirstFileO函數(shù)根據(jù)當(dāng)前的文件存放路徑查找該文件來把待操作文件的相關(guān)屬性讀取到WIN32_FIND_DATA結(jié)構(gòu)中去WIN32_FIND_DATAffd;HANDLEhFind=FindFirstFileCc\\test.dat〃,&fid);在使用這個結(jié)構(gòu)時不能手工修改這個結(jié)構(gòu)中的任何數(shù)據(jù),結(jié)構(gòu)只能作為一個只讀數(shù)據(jù),其所有的成員變量都會由系統(tǒng)完成填寫。為了更好的保存獲取到的文件屬性信息,對應(yīng)于文件屬性構(gòu)造一個自定義的S0CKET_STREAM_FILE_INF0數(shù)據(jù)結(jié)構(gòu),獲取的屬性信息可暫存于此數(shù)據(jù)結(jié)構(gòu)當(dāng)中,S0CKET_STREAM_FILE_INF0的內(nèi)容如下typedefstruct_S0CKET_STREAM_FILE_INF0{TCHARszFileTitle[128];//文件的標(biāo)題名DWORDdwFileAttributes;//文件的屬性FILETIMEftCreationTime;//文件的創(chuàng)建時間FILETIMEftLastAccessTime;//文件的最后訪問時間FILETIMEftLastWriteTime;//文件的最后修改時間DWORDnFileSizeHigh;//文件大小的高位雙字DWORDnFileSizeLow;//文件大小的低位雙字DWORDdwReservedO;//保留,為0DWORDdwReservedl;//保留,為O}SOCKET_STREAM_FILE_INFO,*PSOCKET_STREAM_FILE_INFO;首先用FindFirstFileO函數(shù)將文件屬性獲取到WIN32_FIND_DATA結(jié)構(gòu)中去,之后可以用FindClose()將其關(guān)閉,并把WIN32_FIND_DATA結(jié)構(gòu)中的有關(guān)文件屬性信息的內(nèi)容復(fù)制到自定義結(jié)構(gòu)S0CKET_STREAM_FILE_INF0的結(jié)構(gòu)對象中備用。(5)電子白板模塊電子白板軟件需要提供一種特殊的軟件界面,其功能有進行遠程診斷中的雙方可以同時共享一塊白板,二者均可瀏覽到白板信息,并在該白板上繪制線段、矩形、橢圓等標(biāo)準(zhǔn)形狀,還可繪制不規(guī)則曲線,并可自由選擇這些形狀的畫筆顏色、畫筆粗細等屬性;使用者還可在白板中粘貼病人的醫(yī)療圖片,如X光片、CT片等,參加診斷的雙方可在該圖上進行標(biāo)注,包括畫線和輸入文字,以表達自己的意思;只要診斷過程中有一方打開白板,另外一方也彈出其自己的白板界面,在該界面上不僅可以看到對方在白板上的操作,還可自己在上面繪畫、粘貼、編輯圖像。該模塊的核心部分是一種消息共享機制模型。本軟件設(shè)計的消息共享機制要制定一系列的應(yīng)用層協(xié)議,以區(qū)分數(shù)據(jù)包內(nèi)數(shù)據(jù)的意義,如包內(nèi)數(shù)據(jù)是字符值或坐標(biāo)點。這種工作方式下的共享模型結(jié)構(gòu)框圖如圖7所示該模塊的實現(xiàn)思路如下采用多線程方式開發(fā),將電子白板功能在3個子線程中實現(xiàn),主線程負責(zé)軟件終端整體的維護,主線程用于產(chǎn)生軟件界面,以及協(xié)調(diào)各子線程的動作,用消息通知機制同子線程通信;主線程還可處理用戶操作,顯示給用戶相關(guān)信息;最后還需要利用主線程進行垃圾回收。各子線程與主線程的關(guān)系如圖8所示各子線程之間相互協(xié)作,分別完成不同的功能,其數(shù)據(jù)流圖如圖9所示繪圖線程運行繪圖模塊,繪圖模塊負責(zé)把緩存中的坐標(biāo)數(shù)據(jù)繪制到畫布中,緩存中的坐標(biāo)數(shù)據(jù)可以是用戶鼠標(biāo)操作產(chǎn)生的,也可以是接收到的遠程主機的繪圖坐標(biāo)數(shù)據(jù)。發(fā)送數(shù)據(jù)線程運行數(shù)據(jù)打包、發(fā)送模塊,該模塊將繪圖模塊產(chǎn)生的緩存中的坐標(biāo)數(shù)據(jù)打包,并發(fā)送到遠程主機;該模塊還負責(zé)發(fā)送請求信息。在電子白板中使用的數(shù)據(jù)結(jié)構(gòu)為自定義的數(shù)據(jù)結(jié)構(gòu),其結(jié)構(gòu)如下所示typedefstructMSG_BUFFER_WHITE{LPSTRoperations;IntPentype;//選擇畫筆類型IntxPoint;//畫點的χ坐標(biāo)IntyPoint;//畫點的y坐標(biāo)}MSG_BUFFER_WHITE,*PMSG_BUFFER_WHITE;接收數(shù)據(jù)線程運行數(shù)據(jù)接收、解包模塊,該模塊收到遠程主機傳來的繪圖坐標(biāo)數(shù)據(jù),將該數(shù)據(jù)解包、并保存到緩存中供繪圖模塊調(diào)用;該模塊還負責(zé)接收請求信息。主線程模塊在電子白板啟動時產(chǎn)生,啟動該線程后再由該線程啟動其他三個子線程。主線程的主要功能是用戶界面顯示、啟動子線程、向子線程發(fā)送通知消息、接收子線程的通知消息、垃圾回收和資源清理。該模塊是本系統(tǒng)的核心模塊。其實現(xiàn)過程如圖10所示。該線程模塊由主線程產(chǎn)生,主要功能是將用戶的鼠標(biāo)動作以坐標(biāo)數(shù)組的方式記錄下來,并根據(jù)不同的選擇(矩形、原型、自由線)將其繪制在畫板上。如果遠程主機同意建立連接,則將坐標(biāo)數(shù)組存儲到發(fā)送緩存中。如果本地主機同意接收數(shù)據(jù),則將接收緩存中的數(shù)據(jù)存儲到坐標(biāo)數(shù)組中,并繪制在畫板上。繪圖子線程被創(chuàng)建后即可繪圖,繪圖步驟分兩步,先將鼠標(biāo)動作記錄到坐標(biāo)數(shù)組中,再根據(jù)坐標(biāo)數(shù)組和所選的繪圖方式(矩形、圓、線等)在畫板上繪圖。該線程模塊由主線程產(chǎn)生,主要功能是利用TCP/IP協(xié)議,以套接字的方式將本地主機產(chǎn)生的請求數(shù)據(jù)和繪圖數(shù)據(jù)打包,并發(fā)送給遠程主機,其中請求數(shù)據(jù)和繪圖數(shù)據(jù)的數(shù)據(jù)包遵循一定的格式。發(fā)送子線程被創(chuàng)建后根據(jù)主線程的通知進行相應(yīng)動作。發(fā)送子線程被創(chuàng)建時同時也創(chuàng)建了發(fā)送套接字。該線程模塊由主線程產(chǎn)生,主要功能是利用TCP/IP協(xié)議,以套接字的方式接收遠程主機發(fā)來的數(shù)據(jù),并在本地將收到的請求數(shù)據(jù)和繪圖數(shù)據(jù)解包,其中請求數(shù)據(jù)和繪圖數(shù)據(jù)的數(shù)據(jù)包遵循一定的格式。接收子線程被創(chuàng)建后根據(jù)接收的遠程主機的信息進行相應(yīng)動作。接收子線程被創(chuàng)建時同時也創(chuàng)建了接收套接字。(6)醫(yī)療曲線模塊實時曲線繪制模塊的工作機制如圖11。該模塊主要利用高速網(wǎng)絡(luò)對數(shù)據(jù)進行傳輸,接收端接收數(shù)據(jù)并進行實時處理,在軟件界面中利用實時數(shù)據(jù)進行曲線繪制并實時更新曲線,最終達到所要求的目的。如圖11所示,在整個實時曲線的繪制過程中,主要涉及三個工作過程首先是在數(shù)據(jù)采集端對病人實時數(shù)據(jù)的采集,通過網(wǎng)絡(luò)發(fā)送給本地系統(tǒng),系統(tǒng)再利用實時曲線繪制模塊將曲線顯示在界面中;與此同時,本地系統(tǒng)分析這些數(shù)據(jù)并將這些數(shù)據(jù)進行打包,利用高速網(wǎng)絡(luò)發(fā)送給異地的系統(tǒng);在相隔千里的異地,系統(tǒng)接收數(shù)據(jù),用同樣的繪制實時曲線的原理,將這些實時曲線在自己的系統(tǒng)軟件界面中繪制出來,從而達到雙方近似同步觀察病人的實時生理曲線的目的,為共同治療病人提供有力的輔助手段。醫(yī)療曲線繪制打包傳輸中使用的數(shù)據(jù)格式為自定義數(shù)據(jù)結(jié)構(gòu),其具體結(jié)構(gòu)如下typedefstructMSG_BUFFER_CURVE{LPSTRoperations;IntCurvetype;//曲線類型IntxPoint;//畫點的χ坐標(biāo)IntyPoint;//畫點的y坐標(biāo)}MSG_BUFFER_CURVE,*PMSG_BUFFER_CURVE;實時曲線繪制模塊是通過主界面中查看實時曲線的菜單功能調(diào)用實現(xiàn)的,因此其內(nèi)部接口設(shè)計主要是通過調(diào)用函數(shù)實現(xiàn)模塊調(diào)用,從而實現(xiàn)曲線的繪制和顯示。模塊的用戶接口即為一個曲線顯示區(qū)域,該區(qū)域根據(jù)所顯示的數(shù)據(jù)類型自動匹配坐標(biāo)軸類型。在顯示區(qū)域內(nèi),通過曲線的不間斷重繪向觀察者展示曲線的動態(tài)變化,由于時間間隔很短,在觀察者看來,曲線是實時更新沒有間隔的,因此,對醫(yī)生的判斷沒有實質(zhì)性的影響。實時曲線的繪制過程示意圖如圖12所示。步驟1實時曲線繪制模塊首先從網(wǎng)絡(luò)接收數(shù)據(jù)包,調(diào)用處理函數(shù)解包并畫出對應(yīng)的第一個數(shù)據(jù)點;步驟2模塊繼續(xù)接收數(shù)據(jù),用同樣的方法畫出第二個數(shù)據(jù)點;步驟3前兩個數(shù)據(jù)點間存在一定的時間和空間間隔,由于該間隔足夠小,采用畫直線連接兩點的方法可以非常近似地表現(xiàn)兩個數(shù)據(jù)點間的前后聯(lián)系。循環(huán)重復(fù)以上步驟,直至數(shù)據(jù)量超過曲線顯示區(qū)域的顯示量程,此后再接收數(shù)據(jù)信息,可以從顯示區(qū)域中擦去最早顯示的數(shù)據(jù)點,其它數(shù)據(jù)點依次前移,即重繪曲線,并在顯示區(qū)域的最后位置畫出最新接收的數(shù)據(jù),用此種方法直至最后,在宏觀上該過程就表現(xiàn)為實時曲線的繪制。權(quán)利要求基于IPv6網(wǎng)SIP協(xié)議的遠程醫(yī)療實時信息交互方法,其特征在于,所述方法是在各客戶端和代理服務(wù)器之間依次按以下步驟實現(xiàn)的步驟(1)客戶端初始化在客戶端設(shè)立以下模塊會話初始化協(xié)議SIP信令處理模塊、音視頻傳輸模塊、即時短消息傳輸模塊、文件傳輸模塊、電子白板傳輸模塊和醫(yī)療曲線傳輸模塊,其中會話初始化協(xié)議SIP信令處理模塊,設(shè)有下列SIP消息注冊成功消息、注冊失敗消息、200OK應(yīng)答消息、ACK確認消息、INVITE音頻呼入消息、RE_INVITE視頻呼入消息、EXOSIP_MESSAGE_NEW消息,其中它包括即時短消息、文件發(fā)送消息、電子白板消息和醫(yī)療曲線消息,為了區(qū)別文件發(fā)送消息、電子白板消息和醫(yī)療曲線消息,將MESSAGE消息體中的文本內(nèi)容格式定義為“消息類型/消息實體”形式,“/”前面是消息類型,其中即時短消息用“MESSAGE”標(biāo)識,文件發(fā)送請求消息用“FILESEND”標(biāo)識,文件發(fā)送同意接收回復(fù)用“FLSD_BACK”標(biāo)識,電子白板請求消息用“WHITEBOARD”,電子白板同意接收回復(fù)用“WHBD_BACK”標(biāo)識,醫(yī)療曲線用“MEDICALCURVE”標(biāo)識,醫(yī)療曲線同意接收回復(fù)用“MEDCUR_BACK”標(biāo)識,在標(biāo)識為“MESSAGE”消息時,“/”后面消息實體為短消息內(nèi)容,在標(biāo)識為“FILESEND”、“WHITEBOARD”、或“MEDICALCURVE”時“/”后面填寫本機IP地址,還有會話結(jié)束消息EXOSIP_CALL_CLOSED,所有的信令傳輸使用端口5070,音視頻傳輸模塊,分為編碼發(fā)送部分和接收解碼部分,其中編碼發(fā)送部分,把通過麥克風(fēng)或攝像頭采集到的原始音視頻數(shù)據(jù)發(fā)往接收方,其中,原始音頻數(shù)據(jù)經(jīng)過G.711、G.723或G.729協(xié)議編碼以后打包成RTP包發(fā)送,原始視頻數(shù)據(jù)經(jīng)過H.263或者H.264協(xié)議以后打包成RTP包發(fā)送,接收解碼部分,把接收的RTP包解碼后,送往音頻播放器,音視頻通信所使用端口依次為15004和15005端口,即時短消息傳輸模塊,分為即時短消息發(fā)送部分和即時短消息接收部分,其中即時短消息發(fā)送部分,把輸入設(shè)備輸入的文字封裝到所述MESSAGE消息中發(fā)送,即時短消息接收部分,從接收到的所述MESSAGE消息中解析消息體得到即時短消息,該即時短消息使用所述SIP信令的端口5070,文件傳輸模塊,分為文件發(fā)送部分和文件接收部分,其中文件發(fā)送部分,在確定了所要發(fā)送文件的文件路徑后,把文件數(shù)據(jù)分為文件頭信息和文件內(nèi)容信息,分兩次發(fā)送,文件接收部分,通過文件傳輸信道分別接收文件頭信息和文件內(nèi)容信息,使用端口8023,電子白板傳輸模塊,分為電子白板信息發(fā)送部分和電子白板信息接收部分,其中電子白板信息發(fā)送部分,輸入為鼠標(biāo)位置或按鍵信號輸出為該電子白板上的圖像或文字,然后把所述圖像或者文字打包成自定義的數(shù)據(jù)結(jié)構(gòu)后發(fā)送,此結(jié)構(gòu)體用來c++語言中的struct結(jié)構(gòu)體類型來描述,內(nèi)容包括曲線類型和點位置坐標(biāo)信息,電子白板信息接收部分,把接收到的數(shù)據(jù)包解壓后,再在電子白板上以圖標(biāo)或文字數(shù)據(jù)形式顯示,電子白板通信使用端口為5557,醫(yī)療曲線傳輸模塊,分為醫(yī)療曲線發(fā)送部分和醫(yī)療曲線接收部分,其中醫(yī)療曲線發(fā)送部分,把采集到的醫(yī)療數(shù)據(jù)按自定義的數(shù)據(jù)結(jié)構(gòu)打包后,用曲線形式在本地顯示,同時把所述醫(yī)療數(shù)據(jù)發(fā)送出去,此結(jié)構(gòu)體用來c++語言中的struct結(jié)構(gòu)體類型來描述,內(nèi)容包括畫筆屬性和點位置坐標(biāo)信息,醫(yī)療曲線接收部分,把接收到的醫(yī)療數(shù)據(jù)解包后,在醫(yī)療曲線窗口顯示,傳輸使用的端口為5559,客戶端還設(shè)立了以下幾個線程SIP信令控制線程、音頻采集線程、音頻編碼發(fā)送線程、視頻采集線程、視頻編碼發(fā)送線程、音頻接收解碼線程、音頻播放線程、視頻接收解碼線程、視頻播放線程、醫(yī)療曲線發(fā)送線程、醫(yī)療曲線接收線程、電子白板發(fā)送線程、電子白板接收線程、文件發(fā)送線程以及文件接收線程,步驟(2)客戶端依次按以下步驟實現(xiàn)遠程醫(yī)療實時信息的交互傳輸步驟(2.1)客戶端向所述代理服務(wù)器注冊步驟(2.1.1)客戶端向所述代理服務(wù)器發(fā)送請求注冊消息REGESTER,步驟(2.1.2)客戶端收到所述代理服務(wù)器發(fā)出的成功應(yīng)答消息200OK,步驟(2.2)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)音視頻模塊進行通信時,要從下述主動發(fā)起模式或被動接收模式中任選一種通信模式,在音頻條件下的主動發(fā)起通信模式按以下步驟進行首先,輸入對方客戶端的SIP地址標(biāo)識,按下?lián)芴柊粹o,發(fā)起通話請求,發(fā)出INVITE請求消息,其次,當(dāng)先后依次收到對方的180臨時應(yīng)答消息和200OK最終應(yīng)答消息時,發(fā)送確認消息ACK,同時啟動所述音頻接收解碼線程、音頻編碼發(fā)送線程、音頻播放線程和音頻采集線程,在音頻條件下的被動接收通信模式按以下步驟進行第一步,創(chuàng)建一個監(jiān)聽線程,監(jiān)聽外來的SIP通信請求指令,第二步,當(dāng)監(jiān)聽到對方客戶端發(fā)出的所述INVITE請求時,本地振鈴提示客戶端有呼叫進入,同時,回復(fù)180臨時應(yīng)答消息,第三步,當(dāng)客戶端接受請求時,向所述對方客戶端發(fā)送200OK應(yīng)答消息,直到對方發(fā)出確認消息ACK為止,第四步,當(dāng)收到對方客戶端確認消息ACK后,同時啟動所述音頻接收解碼線程、音頻編碼發(fā)送線程、音頻播放線程和音頻采集線程,在視頻條件下,主動發(fā)起通信模式按以下步驟進行首先,輸入對方SIP地址標(biāo)識,再按下?lián)芴柊粹o,發(fā)出RE_INVITE請求消息,其次,當(dāng)先后依次收到對方的180臨時應(yīng)答消息和200OK最終應(yīng)答消息時,發(fā)送確認消息ACK,同時啟動視頻接收解碼線程、編碼發(fā)送線程、視頻播放線程以及視頻采集線程,在視頻條件下,被動接收模式按以下步驟進行第一步,創(chuàng)建一個監(jiān)聽線程,監(jiān)聽外來的SIP通信請求指令,第二步,當(dāng)監(jiān)聽到對方客戶端發(fā)起的請求消息RE_INVITE時,本地振鈴提示客戶端有呼叫進入,同時回復(fù)180臨時應(yīng)答消息,第三步,當(dāng)客戶端接受通信請求,按下接聽按鈕時,向所述對方客戶端發(fā)送200OK應(yīng)答消息,直到收到對方確認請求ACK為止,第四步,當(dāng)收到對方客戶端確認消息ACK時,同時啟動所述視頻接收解碼線程、視頻編碼發(fā)送線程、視頻播放線程和視頻采集線程,步驟(2.3)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)即時短消息通信時,按以下步驟進行利用所述SIP信令處理模塊對需要傳輸?shù)募磿r文本消息使用XML語言格式化,再通過所述MESSAGE消息發(fā)送到對方客戶端,即時短消息的消息格式修改為“MESSAGE/消息實體”,“消息實體”為所述即時短消息內(nèi)容,對方客戶端收到SIP消息MESSAGE消息后,解析消息體內(nèi)含的XML文本,得到所述即時短消息,步驟(2.4)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)文件發(fā)送通信時,按以下步驟進行客戶端使用TCP模式的套接字Socket,通過所述文件發(fā)送線程發(fā)送文件,對方客戶端使用文件接收線程接收所述文件,客戶端將使用文件發(fā)送請求消息FILESEND發(fā)送文件,客戶端使用文件發(fā)送應(yīng)答消息FLSD_BACK進行同意接收應(yīng)答,文件發(fā)送請求消息格式定義為“FILESEND/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“FLSD_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址,步驟(2.5)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)電子白板消息通信時,按以下步驟進行客戶端使用電子白板請求消息WHITEBOARD發(fā)起電子白板通信請求,對方客戶端使用電子白板通信同意應(yīng)答消息WHBD_BACK,電子白板請求消息格式定義為“WHITEBOARD/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“WHBD_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址,步驟(2.6)當(dāng)客戶端通過所述代理服務(wù)器實現(xiàn)醫(yī)療曲線通信時,按以下步驟進行客戶端使用醫(yī)療曲線通信請求消息“MEDICALCURVE”發(fā)起醫(yī)療曲線通信請求,對方客戶端同意接收應(yīng)答消息為“MEDCUR_BACK”,醫(yī)療曲線請求消息格式定義為“MEDICALCURVE/消息實體”,“消息實體”代表本機IP地址,同意接收應(yīng)答消息格式定義為“MEDCUR_BACK/消息實體”,“消息實體”代表應(yīng)答客戶端機IP地址。全文摘要基于IPv6網(wǎng)SIP協(xié)議的遠程醫(yī)療實時信息交互方法屬于遠程醫(yī)療通信
技術(shù)領(lǐng)域:
,其特征在于在各客戶端設(shè)有以下模塊SIP信令處理、音視頻傳輸、即時短消息傳輸、文件傳輸、電子白板信息傳輸以及醫(yī)療曲線傳輸各個模塊,其中,文件傳輸、電子白板傳輸以及醫(yī)療曲線傳輸采用自定義的發(fā)送和應(yīng)答消息,其余采用SIP協(xié)議信令標(biāo)準(zhǔn)消息,同時,在各客戶端設(shè)立了SIP信令控制線程,各客戶端通過SIP信令處理模塊,后經(jīng)代理服務(wù)器來實現(xiàn)各客戶端之間的通信。本發(fā)明能滿足IPv4以及IPv6網(wǎng)絡(luò)中的遠程醫(yī)療實時通信,具有實現(xiàn)簡單、兼容性好以及易擴展的優(yōu)點。文檔編號H04L29/08GK101815065SQ201010034389公開日2010年8月25日申請日期2010年1月21日優(yōu)先權(quán)日2010年1月21日發(fā)明者周賢偉,柏森,王方超,胡萍,黃永峰申請人:清華大學(xué)