亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種VoIP數(shù)據(jù)包的處理方法及系統(tǒng)的制作方法

文檔序號:7901175閱讀:227來源:國知局
專利名稱:一種VoIP數(shù)據(jù)包的處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別地涉及一種VoIP數(shù)據(jù)包的處理方法及系統(tǒng)。
背景技術(shù)
VoIP (Voice over Internet Protocol,互聯(lián)網(wǎng)協(xié)議語音)是將模擬語音信號數(shù)字化,以數(shù)據(jù)包(Data Packet)的形式在IP數(shù)據(jù)網(wǎng)絡(luò)(IP Network)上做實時傳遞;通俗地說,VoIP就是網(wǎng)絡(luò)電話。近年來,網(wǎng)絡(luò)通信勢不可擋,基于VoIP技術(shù)的各種通信方式?jīng)_擊著傳統(tǒng)的電話通信方式,基于VoIP的各種即時通訊軟件,被企業(yè)和個人廣泛應(yīng)用于國內(nèi)外長途通話中。在如今的Internet網(wǎng)絡(luò)環(huán)境中,大多數(shù)計算機主機都位于防火墻或NAT (NetworkAddress Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)之后,且在網(wǎng)絡(luò)環(huán)境較差時,為保證通信的進行,VoIP信令和媒體都基于TCP協(xié)議傳輸。目前大多數(shù)的VoIP數(shù)據(jù)包分析還原都是基于理想 的信令及媒體協(xié)議架構(gòu)及簡單的組網(wǎng)場景,不能滿足復(fù)雜場景的需要。

發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題在于提供了一種VoIP數(shù)據(jù)包的處理方法及系統(tǒng),以滿足復(fù)雜場景的需要。本發(fā)明提供了一種VoIP數(shù)據(jù)包的處理方法,包括,接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包;對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息;根據(jù)所述會話控制通知消息完成對媒體會話節(jié)點的管理;在建立媒體會話節(jié)點后,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器;在需要實時播放時,文件服務(wù)器將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。上述方法中,其中,所述對信令數(shù)據(jù)包進行解析,得到會話控制通知消息具體為,收到SIP(Session Initiation Protocol,會話初始協(xié)議)協(xié)議消息后進行SIP協(xié)議解析,查找所述信令數(shù)據(jù)包對應(yīng)的信令會話,若沒有對應(yīng)信令會話則新建信令對話;判斷SIP協(xié)議消息的消息類型,若為結(jié)束消息時,判斷信令會話的狀態(tài),若處于穩(wěn)定狀態(tài),向媒體處理模塊發(fā)送關(guān)閉媒體會話通知,否則關(guān)閉信令會話;若不為結(jié)束消息,判斷該消息是否攜帶會話描述協(xié)議SDP信息;若有SDP信息,則解析SDP信息后存儲在信令會話中,判斷SIP信令消息是否是呼叫請求INVITE請求對應(yīng)的呼叫應(yīng)答200 OK消息,若是則通知媒體處理模塊新建媒體會話,并將媒體通道地址和媒體編碼信息發(fā)送至媒體處理模塊。上述方法中,其中,所述根據(jù)所述會話控制通知消息建立媒體會話節(jié)點具體為,收到會話控制通知消息后,查找基于TCP傳輸?shù)膶崟r傳輸協(xié)議RTP數(shù)據(jù)包的媒體會話地址信息,若找到將該地址信息添加到媒體地址數(shù)組中;
判斷會話控制通知消息的類型,若為會話創(chuàng)建通知則查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,在找到媒體會話節(jié)點后更新媒體會話的媒體信息,結(jié)束處理,否則,創(chuàng)建媒體地址對應(yīng)的會話節(jié)點,判斷媒體地址中的媒體元素是否匹配完,匹配完成后結(jié)束處理;上述方法中,其中,所述解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器具體為,收到普通數(shù)據(jù)包,進行IP和傳輸層協(xié)議解析,判斷數(shù)據(jù)包是否符合實時傳送協(xié)議RTP數(shù)據(jù)包格式;若符合RTP格式,查找普通數(shù)據(jù)包對應(yīng)的媒體會話,若沒有找到丟棄該數(shù)據(jù)包;若找到媒體會話確定該數(shù)據(jù)包的會話方法、媒體格式信息,判斷該數(shù)據(jù)包是否為該媒體會話收到的第一條媒體流,若是發(fā)送相關(guān)報告給后臺服務(wù)器,并由后臺服務(wù)器寫發(fā)送至客戶端,將媒體流封裝成客戶端播放器需要的碼流格式;否則將媒體流封裝成客戶端播放器需要的碼流格式; 若不符合RTP格式,則判斷數(shù)據(jù)包的傳輸層協(xié)議類型,若不是用戶數(shù)據(jù)包協(xié)議UDP則查找TCP方式的RTP協(xié)商媒體地址的關(guān)鍵數(shù)據(jù),找到則存儲該媒體地址的關(guān)鍵數(shù)據(jù),以備在收到信令處理模塊的新建媒體會話通知時用;否則丟棄數(shù)據(jù)包,結(jié)束處理;若為UDP包則丟棄,處理后續(xù)包。上述方法中,其中,在需要實時播放時,文件服務(wù)器將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放具體為判斷是否有實時播放語音流的需求,若是將封裝后的實時碼流發(fā)送至文件服務(wù)器,由文件服務(wù)器發(fā)送至客戶端的播放器,實時解碼并播放,將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存,若數(shù)據(jù)緩存已達到閾值,將緩存的數(shù)據(jù)發(fā)送至文件服務(wù)器寫文件,處理后續(xù)包。本發(fā)明還提供了一種VoIP數(shù)據(jù)包的處理系統(tǒng),包括,預(yù)處理模塊,用于接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包;信令處理模塊,用于對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息;媒體處理模塊,用于根據(jù)所述會話控制通知消息建立媒體會話節(jié)點,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器;文件服務(wù)器,用于在需要實時播放時,將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。采用本發(fā)明的方法及系統(tǒng),能在處理各種復(fù)雜場景中對VoIP數(shù)據(jù)包進行還原處理,增強了 VoIP數(shù)據(jù)包處理的適應(yīng)性。


此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖I是本發(fā)明第一實施例流程圖;圖2是信令處理模塊對信令數(shù)據(jù)包的解析流程圖;圖3是媒體處理模塊的數(shù)據(jù)包處理流程圖4是媒體處理模塊的媒體會話控制處理流程圖;圖5是本發(fā)明第二實施例系統(tǒng)結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖I所示,是本發(fā)明第一實施例流程圖,提供了一種VoIP數(shù)據(jù)包的處理方法,具體包括,步驟S101,預(yù)處理模塊接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行過濾,分為信令數(shù)據(jù)包和普通數(shù)據(jù)包(無明顯協(xié)議特征的數(shù)據(jù)包),將所述信令數(shù)據(jù)包發(fā)送給信令處理模塊,將所述普通數(shù)據(jù)包發(fā)送給媒體處理模塊;步驟S102,信令處理模塊對接收到的所述信令數(shù)據(jù)包進行解析,將得到的媒體會話控制信息、媒體通道地址及媒體編碼信息發(fā)送至媒體處理模塊;步驟S103,媒體處理模塊根據(jù)所述媒體會話控制信息、媒體通道地址及媒體編碼信息完成對媒體會話節(jié)點的管理,包括對媒體會話節(jié)點的建立、更新和刪除等操作,在建立媒體會話節(jié)點后解析普通數(shù)據(jù)包以匹配媒體會話節(jié)點,在匹配成功后將相關(guān)報告信息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件存儲和轉(zhuǎn)發(fā)模塊;步驟S104,在需要實時播放時,文件存儲和轉(zhuǎn)發(fā)模塊將媒體流實時發(fā)送至客戶端進行解碼播放。上述方法中,如圖2所示,是信令處理模塊對一個信令數(shù)據(jù)包的解析流程圖,具體包括,步驟S201,信令處理模塊對接收到的所述信令數(shù)據(jù)包后,所述信令數(shù)據(jù)包為SIP協(xié)議消息,進行SIP協(xié)議解析,查找所述信令數(shù)據(jù)包對應(yīng)的信令會話,若沒有找到對應(yīng)的信令會話進入步驟S202,找到對應(yīng)的信令會話轉(zhuǎn)入步驟S203 ;步驟S202,判斷所述SIP信令消息是否為關(guān)鍵信令消息,若是呼叫請求INVITE消息或其對應(yīng)的呼叫應(yīng)答200 OK消息,新建信令會話;否則,丟棄該數(shù)據(jù)包,結(jié)束處理;步驟S203,判斷SIP信令消息的消息類型,若為結(jié)束消息時,判斷信令會話的狀態(tài),若處于穩(wěn)定狀態(tài),向媒體處理模塊發(fā)送關(guān)閉媒體會話通知,否則關(guān)閉信令會話;若不為結(jié)束消息,判斷該消息是否攜帶SDP(Session Description Protocol,會話描述協(xié)議)描述信息,若有SDP載荷則轉(zhuǎn)入步驟204 ;否則結(jié)束處理;步驟S204,解析SDP信息后存儲在信令會話中,判斷當(dāng)前消息是否是INVITE請求對應(yīng)的200 OK消息,若是則通知媒體處理模塊新建媒體會話,并將媒體通道地址和媒體編碼信息等相關(guān)信息發(fā)送至媒體處理模塊,否則結(jié)束處理。上述方法中,其中,如圖3所示,是媒體處理模塊的數(shù)據(jù)包處理流程圖,具體包括,步驟S301,收到預(yù)處理的數(shù)據(jù)包,進行IP和傳輸層協(xié)議解析,獲取IP和PORT(端口)及傳輸協(xié)議等信息,判斷數(shù)據(jù)包是否符合實時RTP(Real-time Transport Protocol,傳送協(xié)議包)的格式,若符合轉(zhuǎn)入步驟S302,否則轉(zhuǎn)入步驟S305 ;步驟S302,查找數(shù)據(jù)包對應(yīng)的媒體會話,若沒有找到丟棄該數(shù)據(jù)包;若找到媒體會話確定該消息的會話方法、媒體格式等信息,判斷該消息是否為該會話收到的第一條媒體包,若是發(fā)送相關(guān)報告給后臺服務(wù)器,由后臺服務(wù)器寫發(fā)送至客戶端,并將媒體流封裝成客戶端播放器需要的碼流格式;若為后續(xù)媒體包,則將媒體流封裝成客戶端播放器需要的碼流格式即可;步驟S303,判斷是否有實時播放語音流的需求,若是將封裝后的實時碼流發(fā)送至文件服務(wù)器,由文件服務(wù)器發(fā)送至客戶端的播放器,實時解碼并播放,并將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存;若沒有實施播放語音流需求,則將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存;步驟S304,判斷數(shù)據(jù)緩存是否已到閾值,若是發(fā)送碼流給文件服務(wù)器存文件,結(jié)束處理;否則直接結(jié)束處理;
步驟S305,判斷數(shù)據(jù)包的傳輸層協(xié)議類型,若不是UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)則從該包中查找TCP方式的RTP協(xié)商媒體地址的關(guān)鍵數(shù)據(jù),找到則存儲該媒體地址的關(guān)鍵數(shù)據(jù),以備在收到信令處理模塊的新建媒體會話通知時用;否則丟棄數(shù)據(jù)包,結(jié)束處理;若為m)P則丟棄數(shù)據(jù)包,結(jié)束處理。上述方法中,其中,如圖4所示,是媒體處理模塊的媒體會話控制處理流程圖,具體包括,步驟S401,收到信令處理模塊的會話控制通知消息,查找基于TCP的媒體會話地址信息,若找到將該地址信息添加到信令處理模塊送過來的媒體地址數(shù)組中,進入步驟S402,否則進入步驟S402 ;步驟S402,判斷通知消息的類型,若為會話創(chuàng)建通知則轉(zhuǎn)入步驟S403,否則轉(zhuǎn)入步驟S405 ;步驟S403,查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,若找到該會話后更新媒體會話的媒體信息,結(jié)束處理,否則,創(chuàng)建媒體地址對應(yīng)的會話節(jié)點,進入S404 ;步驟S404,判斷媒體地址中的媒體元素是否匹配完,匹配完則結(jié)束處理,否則轉(zhuǎn)入步驟S403 ;步驟S405,查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,若找到會話后關(guān)閉媒體地址對應(yīng)的會話節(jié)點,進入下一步;步驟S406,判斷媒體地址中的媒體元素匹配完,匹配完后結(jié)束處理,否則轉(zhuǎn)入步驟S405。如圖5所示,是本發(fā)明第二實施例系統(tǒng)結(jié)構(gòu)圖,提供了一種VoIP數(shù)據(jù)包的處理系統(tǒng),包括,預(yù)處理模塊501,用于接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包;信令處理模塊502,用于對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息;媒體處理模塊503,用于根據(jù)所述會話控制通知消息建立媒體會話節(jié)點,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器;文件服務(wù)器504,用于在需要實時播放時,將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。所述信令處理模塊,用于對信令數(shù)據(jù)包進行解析,得到會話控制通知消息具體為,
所述信令處理模塊用于收到SIP協(xié)議消息后進行SIP協(xié)議解析,查找所述信令數(shù)據(jù)包對應(yīng)的信令會話,若沒有對應(yīng)信令會話則新建信令對話;以及用于判斷SIP協(xié)議消息的消息類型,若為結(jié)束消息時,判斷信令會話的狀態(tài),若處于穩(wěn)定狀態(tài),向媒體處理模塊發(fā)送關(guān)閉媒體會話通知,否則關(guān)閉信令會話;若不為結(jié)束消息,判斷該消息是否攜帶會話描述協(xié)議SDP信息;以及用于在有SDP信息時,解析SDP信息后存儲在信令會話中,判斷SIP信令消息是否是呼叫請求INVITE請求對應(yīng)的呼叫應(yīng)答200 OK消息,若是則通知媒體處理模塊新建媒體會話,并將媒體通道地址和媒體編碼信息等相關(guān)信息發(fā)送至媒體處理模塊。所述媒體處理模塊,用于根據(jù)所述會話控制通知消息建立媒體會話節(jié)點具體為,所述媒體處理模塊,用于收到會話控制通知消息后,查找基于TCP的媒體會話地址信息,若找到將該地址信息添加到媒體地址數(shù)組中;以及·用于判斷會話控制通知消息的類型,若為會話創(chuàng)建通知則查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,在找到媒體會話節(jié)點后更新媒體會話的媒體信息,結(jié)束處理,否則,創(chuàng)建媒體地址對應(yīng)的會話節(jié)點,判斷媒體地址中的媒體元素是否匹配完,匹配完成后結(jié)束處理。所述媒體處理模塊,用于解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器具體為,所述媒體處理模塊,用于收到普通數(shù)據(jù)包,進行IP和傳輸層協(xié)議解析,判斷數(shù)據(jù)包是否符合實時傳送協(xié)議RTP格式;若符合RTP格式,查找普通數(shù)據(jù)包對應(yīng)的媒體會話,若沒有找到丟棄該數(shù)據(jù)包;若找到媒體會話確定該數(shù)據(jù)包的會話方法、媒體格式信息,判斷該數(shù)據(jù)包是否為該媒體會話收到的第一條媒體流,若是發(fā)送相關(guān)報告給后臺服務(wù)器,并由后臺服務(wù)器寫發(fā)送至客戶端,將媒體流封裝成客戶端播放器需要的碼流格式;否則將媒體流封裝成客戶端播放器需要的碼流格式;若不符合RTP格式,則判斷數(shù)據(jù)包的傳輸層協(xié)議類型,若不是為用戶數(shù)據(jù)包協(xié)議UDP則查找TCP方式的RTP協(xié)商媒體地址的關(guān)鍵數(shù)據(jù),找到則存儲該媒體地址的關(guān)鍵數(shù)據(jù),以備在收到信令處理模塊的新建媒體會話通知時用;否則丟棄數(shù)據(jù)包,結(jié)束處理;若是UDP則丟棄數(shù)據(jù)包,結(jié)束處理。所述文件服務(wù)器,用于在需要實時播放時,將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放具體為所述文件服務(wù)器用于判斷是否有實時播放語音流的需求,若是將封裝后的實時碼流發(fā)送至文件服務(wù)器,由文件服務(wù)器發(fā)送至客戶端的播放器,實時解碼并播放,將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存;以及用于判斷數(shù)據(jù)緩存是否已到閾值,在到閾值時發(fā)送碼流給文件服務(wù)器存儲,結(jié)束處理。上述說明示出并描述了本發(fā)明的一個優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保 護范圍內(nèi)。
權(quán)利要求
1.一種VoIP數(shù)據(jù)包的處理方法,其特征在于,包括, 接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包; 對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息; 根據(jù)所述會話控制通知消息建立媒體會話節(jié)點,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器; 在需要實時播放時,文件服務(wù)器將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述對信令數(shù)據(jù)包進行解析,得到會話控制通知消息具體為, 收到會話初始協(xié)議SIP協(xié)議消息后進行SIP協(xié)議解析,查找所述信令數(shù)據(jù)包對應(yīng)的信令會話,若沒有對應(yīng)信令會話則新建信令對話; 判斷SIP協(xié)議消息的消息類型,若為結(jié)束消息時,判斷信令會話的狀態(tài),若處于穩(wěn)定狀態(tài),向媒體處理模塊發(fā)送關(guān)閉媒體會話通知,否則關(guān)閉信令會話;若不為結(jié)束消息,判斷該消息是否攜帶會話描述協(xié)議SDP信息; 若有SDP信息,則解析SDP信息后存儲在信令會話中,判斷SIP信令消息是否是呼叫請求INVITE請求對應(yīng)的呼叫應(yīng)答200 OK消息,若是則通知媒體處理模塊新建媒體會話,并將媒體通道地址和媒體編碼信息發(fā)送至媒體處理模塊。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述會話控制通知消息建立媒體會話節(jié)點具體為, 收到會話控制通知消息后,查找基于TCP傳輸?shù)膶崟r傳輸協(xié)議RTP數(shù)據(jù)包的媒體會話地址信息,若找到將該地址信息添加到媒體地址數(shù)組中; 判斷會話控制通知消息的類型,若為會話創(chuàng)建通知則查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,在找到媒體會話節(jié)點后更新媒體會話的媒體信息,結(jié)束處理,否則,創(chuàng)建媒體地址對應(yīng)的會話節(jié)點,判斷媒體地址中的媒體元素是否匹配完,匹配完成后結(jié)束處理。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器具體為, 收到普通數(shù)據(jù)包,進行IP和傳輸層協(xié)議解析,判斷數(shù)據(jù)包是否符合實時傳送協(xié)議RTP格式; 若符合RTP格式,查找普通數(shù)據(jù)包對應(yīng)的媒體會話,若沒有找到丟棄該數(shù)據(jù)包;若找到媒體會話確定該數(shù)據(jù)包的會話方法、媒體格式信息,判斷該數(shù)據(jù)包是否為該媒體會話收到的第一條媒體流,若是發(fā)送相關(guān)報告給后臺服務(wù)器,并由后臺服務(wù)器寫發(fā)送至客戶端,將媒體流封裝成客戶端播放器需要的碼流格式;否則將媒體流封裝成客戶端播放器需要的碼流格式; 若不符合RTP格式,則判斷數(shù)據(jù)包的傳輸層協(xié)議類型,若不是用戶數(shù)據(jù)包協(xié)議UDP則查找TCP方式的RTP協(xié)商媒體地址的關(guān)鍵數(shù)據(jù),找到則存儲該媒體地址的關(guān)鍵數(shù)據(jù),以備在收到信令處理模塊的新建媒體會話通知時用;否則丟棄數(shù)據(jù)包,結(jié)束處理;若為UDP則丟棄數(shù)據(jù)包。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在需要實時播放時,文件服務(wù)器將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放具體為 判斷是否有實時播放語音流的需求,若是將封裝后的實時碼流發(fā)送至文件服務(wù)器,由文件服務(wù)器發(fā)送至客戶端的播放器,實時解碼并播放,將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存; 判斷數(shù)據(jù)緩存是否已到閾值,若是發(fā)送碼流給文件服務(wù)器寫文件。
6.一種VoIP數(shù)據(jù)包的處理系統(tǒng),其特征在于,包括, 預(yù)處理模塊,用于接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包; 信令處理模塊,用于對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息; 媒體處理模塊,用于根據(jù)所述會話控制通知消息建立媒體會話節(jié)點,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器; 文件服務(wù)器,用于在需要實時播放時,將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述信令處理模塊,用于對信令數(shù)據(jù)包進行解析,得到會話控制通知消息具體為, 所述信令處理模塊用于收到SIP協(xié)議消息后進行SIP協(xié)議解析,查找所述信令數(shù)據(jù)包對應(yīng)的信令會話,若沒有對應(yīng)信令會話則新建信令對話;以及 用于判斷SIP協(xié)議消息的消息類型,若為結(jié)束消息時,判斷信令會話的狀態(tài),若處于穩(wěn)定狀態(tài),向媒體處理模塊發(fā)送關(guān)閉媒體會話通知,否則關(guān)閉信令會話;若不為結(jié)束消息,判斷該消息是否攜帶會話描述協(xié)議SDP信息;以及 用于在有SDP信息時,解析SDP信息后存儲在信令會話中,判斷SIP信令消息是否是呼叫請求INVITE請求對應(yīng)的呼叫應(yīng)答200 OK消息,若是則通知媒體處理模塊新建媒體會話,并將媒體通道地址和媒體編碼信息等相關(guān)信息發(fā)送至媒體處理模塊。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述媒體處理模塊,用于根據(jù)所述會話控制通知消息建立媒體會話節(jié)點具體為, 所述媒體處理模塊,用于收到會話控制通知消息后,查找基于TCP的媒體會話地址信息,若找到將該地址信息添加到媒體地址數(shù)組中;以及 用于判斷會話控制通知消息的類型,若為會話創(chuàng)建通知則查找媒體地址數(shù)組中對應(yīng)的媒體會話節(jié)點,在找到媒體會話節(jié)點后更新媒體會話的媒體信息,結(jié)束處理,否則,創(chuàng)建媒體地址對應(yīng)的會話節(jié)點,判斷媒體地址中的媒體元素是否匹配完,匹配完成后結(jié)束處理。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述媒體處理模塊,用于解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器具體為, 所述媒體處理模塊,用于收到普通數(shù)據(jù)包,進行IP和傳輸層協(xié)議解析,判斷數(shù)據(jù)包是否符合實時傳送協(xié)議RTP格式; 若符合RTP格式,查找普通數(shù)據(jù)包對應(yīng)的媒體會話,若沒有找到丟棄該數(shù)據(jù)包;若找到媒體會話確定該數(shù)據(jù)包的會話方法、媒體格式信息,判斷該數(shù)據(jù)包是否為該媒體會話收到的第一條媒體流,若是發(fā)送相關(guān)報告給后臺服務(wù)器,并由后臺服務(wù)器寫發(fā)送至客戶端,將媒體流封裝成客戶端播放器需要的碼流格式;否則將媒體流封裝成客戶端播放器需要的碼流格式; 若不符合RTP格式,則判斷數(shù)據(jù)包的傳輸層協(xié)議類型,若不是用戶數(shù)據(jù)包協(xié)議UDP則查找TCP方式的RTP協(xié)商媒體地址的關(guān)鍵數(shù)據(jù),找到則存儲該媒體地址的關(guān)鍵數(shù)據(jù),以備在收到信令處理模塊的新建媒體會話通知時用;否則丟棄數(shù)據(jù)包,結(jié)束處理;若為UDP則丟棄數(shù)據(jù)包。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述文件服務(wù)器,用于在需要實時播放時,將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放具體為 所述文件服務(wù)器用于判斷是否有實時播放語音流的需求,若是將封裝后的實時碼流發(fā)送至文件服務(wù)器,由文件服務(wù)器發(fā)送至客戶端的播放器,實時解碼并播放,將封裝后碼流存入對應(yīng)的數(shù)據(jù)緩存;以及 用于判斷數(shù)據(jù)緩存是否已到閾值,在到閾值時發(fā)送碼流給文件服務(wù)器存儲。
全文摘要
本發(fā)明涉及一種VoIP數(shù)據(jù)包的處理方法,包括,接收到網(wǎng)元側(cè)發(fā)送的VoIP數(shù)據(jù)包后進行預(yù)處理,將所述VoIP數(shù)據(jù)包分為信令數(shù)據(jù)包和普通數(shù)據(jù)包;對所述信令數(shù)據(jù)包進行解析,得到會話控制通知消息;根據(jù)所述會話控制通知消息媒體會話節(jié)點,解析普通數(shù)據(jù)包與媒體會話節(jié)點進行匹配,在匹配成功后將報告消息通過后臺服務(wù)器發(fā)送至客戶端,并將媒體數(shù)據(jù)發(fā)送至文件服務(wù)器;在需要實時播放時,文件服務(wù)器將所述媒體數(shù)據(jù)發(fā)送至客戶端進行解碼播放。本發(fā)明還提供了一種VoIP數(shù)據(jù)包的處理系統(tǒng)。采用本發(fā)明的技術(shù)方案,能在各種復(fù)雜場景中對VoIP數(shù)據(jù)包進行還原處理,增強了VoIP數(shù)據(jù)包處理的適應(yīng)性。
文檔編號H04M7/00GK102984402SQ201110261690
公開日2013年3月20日 申請日期2011年9月6日 優(yōu)先權(quán)日2011年9月6日
發(fā)明者吳銀霞, 許建昆, 曹明明 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1