專利名稱:H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法。
背景技術(shù):
在基于H.323協(xié)議實(shí)現(xiàn)的VoIP(基于IP的語(yǔ)音)或其他的應(yīng)用中,呼叫過程中需要?jiǎng)討B(tài)協(xié)商媒體通道地址來(lái)進(jìn)行媒體流信息的交互。
下面將結(jié)合一個(gè)具體的應(yīng)用實(shí)例,對(duì)相應(yīng)的呼叫過程進(jìn)行描述。
以A和B間的H.323呼叫為例,相應(yīng)的呼叫處理流程如下首先,A向B的H.323知名端口1720建立了一條連接;然后,B和A在此連接上發(fā)送Q.931包。在這些交換的數(shù)據(jù)包中,B和A發(fā)送動(dòng)態(tài)的端口用于建立H.245連接。
隨后,呼叫者根據(jù)在Q.931流中協(xié)商的臨時(shí)端口建立H.245連接。H.245處理所有的呼叫參數(shù)協(xié)商,例如所要用的編碼解碼算法等。一旦這些參數(shù)協(xié)商完畢,H.245會(huì)話開始執(zhí)行OpenLogicalChannel(打開邏輯通道),這個(gè)過程為特定的媒體流(如音頻或視頻)發(fā)送傳輸者和發(fā)送者的RTP(實(shí)時(shí)傳輸協(xié)議)和RTCP(實(shí)時(shí)傳輸控制協(xié)議)地址和端口。
然后,這些媒體流就可以在兩個(gè)端點(diǎn)之間進(jìn)行傳輸,直到會(huì)話結(jié)束。
媒體通道地址的獲取在很多場(chǎng)合的得到廣泛的應(yīng)用,例如基于H.323業(yè)務(wù)在采用ALG方式的FW/NAT穿越中,為了打開動(dòng)態(tài)通道和修改私網(wǎng)地址,需要進(jìn)行對(duì)動(dòng)態(tài)媒體通道地址信息進(jìn)行檢測(cè)。
在VoIP的應(yīng)用識(shí)別中,需要獲得媒體通道地址。
為此,如何快速的從H.323協(xié)議中取得媒體通道地址的信息,是一個(gè)必須解決的問題。
對(duì)于從H.323協(xié)議交互信令數(shù)據(jù)單元中提取媒體通道地址,最常用的方法是對(duì)H.323信令進(jìn)行監(jiān)視,通過對(duì)H.323的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包進(jìn)行ASN.1的PER(包編碼規(guī)則)解碼,然后將解碼后的數(shù)據(jù)進(jìn)行協(xié)議解析,從中提取媒體通道地址信息。
采用上述方式獲取媒體通道地址,由于需要對(duì)H.323協(xié)議數(shù)據(jù)單元數(shù)據(jù)包進(jìn)行PER的解碼解析,而且PER解碼是一個(gè)非常繁瑣的過程,因此使得媒體通道地址的提取效率非常低,無(wú)法滿足應(yīng)用的需要。
而且,由于H.323協(xié)議比較復(fù)雜,因此,對(duì)各種H.323信令包的解析的處理過程中很容易產(chǎn)生軟件實(shí)現(xiàn)的漏洞,從而使得系統(tǒng)被異常包攻擊的可能性大大增加,影響了系統(tǒng)的安全性。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,從而使得媒體通道地址的獲取過程實(shí)現(xiàn)簡(jiǎn)單,且可以大大提高獲取的效率。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,包括A、確定并設(shè)置媒體通道地址在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)出的特征信息;B、根據(jù)所述的特征信息在業(yè)務(wù)流中確定符合所述特征信息的VoIP流;C、從所述的VoIP流中獲取相應(yīng)的媒體通道地址。
本發(fā)明中,步驟A所述的特征信息包括協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中的值為0x00或0x80的特征字節(jié)前面6個(gè)字節(jié)中的前5個(gè)字節(jié)與所述特征字節(jié)后面的5個(gè)字節(jié)內(nèi)容相同,且特征字節(jié)前面6個(gè)字節(jié)中的第6個(gè)字節(jié)與特征字節(jié)后面的第6個(gè)字節(jié)值差1。
本發(fā)明中,步驟A所述的特征信息還包括信令包的源地址信息與媒體通道的地址相同。
所述的步驟B包括B1、獲取IP網(wǎng)絡(luò)中的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并搜索其中是否存在值為0x00或0x80的特征字節(jié),如果存在,則執(zhí)行步驟B2,否則,執(zhí)行步驟B3;B2、判斷協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中特征字節(jié)前后的字節(jié)值是否符合所述的特征信息,如果符合,執(zhí)行步驟C,否則,執(zhí)行步驟B3;B3、忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并執(zhí)行步驟B1。
所述的步驟B包括B4、獲取IP網(wǎng)絡(luò)中的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,判斷數(shù)據(jù)包中是否存在與其源地址信息相同的字段,如果存在,則執(zhí)行步驟B5,否則,執(zhí)行步驟B6;B5、搜索協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中值為0x00或0x80的特征字節(jié),并判斷協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中特征字節(jié)前后的字節(jié)值是否符合所述的特征信息,如果符合,執(zhí)行步驟C,否則,執(zhí)行步驟B6;B6、忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并執(zhí)行步驟B4。
所述的步驟C包括獲取確定為VoIP應(yīng)用的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中的值為0x00或0x80的特征字節(jié)的前面6個(gè)字節(jié)為媒體通道地址信息。
所述的媒體通道地址信息包括媒體通道的IP地址信息和端口號(hào)信息。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明由于提取過程只是對(duì)協(xié)議數(shù)據(jù)單元數(shù)據(jù)包進(jìn)行關(guān)鍵字符段搜索,而不需要經(jīng)過復(fù)雜的協(xié)議解碼解析過程;因此,可以使得提取媒體通道地址的效率大大提高。
另外,本發(fā)明提供的整個(gè)媒體通道地址提取處理過程非常簡(jiǎn)單,即只需對(duì)13個(gè)字節(jié)進(jìn)行簡(jiǎn)單的對(duì)比即可實(shí)現(xiàn),因此,本發(fā)明不存在可能增加系統(tǒng)漏洞的問題,有效保證了系統(tǒng)的安全性。
圖1為媒體通道地址在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)的特征示意圖;圖2為本發(fā)明所述的方法的具體實(shí)現(xiàn)流程圖1;圖3為本發(fā)明所述的方法的具體實(shí)現(xiàn)流程圖2。
具體實(shí)施例方式
本發(fā)明所述的方法的核心是利用媒體通道地址在H.323協(xié)議信令中出現(xiàn)的特征對(duì)整個(gè)協(xié)議數(shù)據(jù)單元數(shù)據(jù)包進(jìn)行搜索,從而實(shí)現(xiàn)媒體通道地址的獲取。
為對(duì)本發(fā)明有清楚的了解,下面首先對(duì)媒體通道地址在H.323協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中所表現(xiàn)的特征進(jìn)行說明。
所述的特征具體為一方媒體通道地址和端口號(hào)與媒體控制控制通道地址和端口號(hào)在同一個(gè)數(shù)據(jù)包中連續(xù)出現(xiàn),中間隔一個(gè)字節(jié)可能值為0x00或0x80;并且IP地址相同,端口號(hào)差一。
如圖1所示,圖中的數(shù)據(jù)段就符合上述特征。圖中前5字節(jié)與從第8字節(jié)開始的5字節(jié)值相同??梢耘卸镮P地址。第6字節(jié)與第13字節(jié),值差1??梢詫⒌?、6字節(jié)判定為媒體通道端口號(hào)。中間一個(gè)字節(jié)的值為00。
因此,可以看出,圖1中的媒體通道IP地址為10.0.0.1(0A 00 0001),相應(yīng)的端口號(hào)為5000(13 88)。
上述媒體通道地址在H.323協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)出的特征并非偶然,其主要依據(jù)的原理為在H.323協(xié)議媒體通道地址和媒體控制通道地址描述總是成對(duì)出現(xiàn),而且中間相隔1Bit。其ASN.1描述如下......
mediaChannel TransportAddress OPTIONAL;媒體通道 選擇傳輸?shù)刂沸畔?;mediaGuaranteedDelivery BOOLEAN OPTIONAL;媒體交付保證 選擇布爾類型;mediaControlChannel TransportAddress OPTIONAL,--reverse RTCP;媒體控制通道 選擇傳輸?shù)刂沸畔ⅲ?.......
基于上述描述,對(duì)于經(jīng)過PER編碼后的字段在數(shù)據(jù)單元中就表現(xiàn)除了本發(fā)明所描述的上述特征。
本發(fā)明所述的方法正是基于上述媒體通道地址在H.323協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)的特有的特征,通過在H.323的協(xié)議交互的數(shù)據(jù)單元中去匹配具有該特征的字節(jié)串實(shí)現(xiàn),下面將對(duì)本發(fā)明的具體實(shí)現(xiàn)方法進(jìn)行詳細(xì)說明。
本發(fā)明所述的方法的具體實(shí)現(xiàn)方式如圖2所示,具體包括以下步驟步驟21首先從H.323的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包(即業(yè)務(wù)數(shù)據(jù)包)中搜索值為0x00或0x80的特征字節(jié),當(dāng)搜索到相應(yīng)的特征字節(jié)后,則執(zhí)行步驟22;當(dāng)然,如果未搜索到所述的特征字節(jié),則忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包的媒體流,并繼續(xù)從下一個(gè)協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中搜索所述特征字節(jié);步驟22取所述特征字節(jié)的前后各6字節(jié)的值共組成13字節(jié),并將這13字節(jié)看作是可疑的特征字節(jié)串;步驟23根據(jù)特征字節(jié)串的特征去匹配該可疑的特征字節(jié)串,也就是將所述的可疑的特征字節(jié)串與具有特有的特征的字節(jié)串匹配比較,以便于確定是否可以獲取相應(yīng)的媒體通道地址;
步驟24,判斷該可疑的特征字節(jié)串是否與特征字節(jié)串匹配,如果是,則執(zhí)行步驟25,否則,執(zhí)行步驟26;該步驟具體為判斷可疑的特征字節(jié)串是否前5字節(jié)與第8字節(jié)開始的5字節(jié)的值相同,并且第6字節(jié)和第13字節(jié)是否值差1;步驟25確定可以獲得相應(yīng)的媒體通道地址,并獲取所述特征字節(jié)前面的6字節(jié)作為媒體通道地址,具體包括媒體通道的IP地址和端口號(hào)信息;步驟26忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,即如果該協(xié)議數(shù)據(jù)單元不是要查找的VoIP流,則繼續(xù)查找可疑的特征字節(jié)串直到搜索完畢或搜索到相應(yīng)的可疑的特征字節(jié)串為止。
所利用的媒體通道地址特征除了上述本發(fā)明已經(jīng)指出的特征外,還有一種可利用的特征就是大多數(shù)媒體通道與信令包源地址相同。為此,本發(fā)明還可以利用在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中搜索與數(shù)據(jù)包原地址相同的字段,進(jìn)而利用本發(fā)明中提到媒體通道地址特征來(lái)判斷是否為包含媒體通道地址信息的媒體流,以加快搜索媒體通道地址信息的處理過程。
基于這一特征,本發(fā)明所述的方法還提供了另一種具體實(shí)現(xiàn)方式,如圖3所示,具體包括以下步驟步驟31首先從H.323的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中獲取其源地址信息;步驟32,在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中進(jìn)行搜索并判斷是否存在與所述源地址信息相同的字段,如果存在,則執(zhí)行步驟33,否則,執(zhí)行步驟34;步驟33在所述的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中搜索值為0x00或0x80的特征字節(jié),當(dāng)搜索到相應(yīng)的特征字節(jié)后,則執(zhí)行步驟35;步驟34忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并執(zhí)行步驟31;也就是說,如果該協(xié)議單元數(shù)據(jù)包不是要查找的VoIP流,則繼續(xù)查找可疑的特征字節(jié)串直到搜索完畢或搜索到相應(yīng)的可疑的特征字節(jié)串為止。
步驟35取所述特征字節(jié)前面及后面各6字節(jié)的值共組成13字節(jié),并將這13字節(jié)看作是可疑的特征字節(jié)串;步驟36根據(jù)特征字節(jié)串的特征去匹配該可疑的特征字節(jié)串,也就是將所述的可疑的特征字節(jié)串與具有特有的特征的字節(jié)串匹配比較,以便于確定是否可以獲取相應(yīng)的媒體通道地址;步驟37,判斷該可疑的特征字節(jié)串是否與特征字節(jié)串匹配,如果是,則執(zhí)行步驟38,否則,執(zhí)行步驟34;該步驟具體為判斷可疑的特征字節(jié)串是否前5字節(jié)與第8字節(jié)開始的5字節(jié)的值相同,并且第6字節(jié)和第13字節(jié)是否值差1;步驟38確定可以獲得相應(yīng)的媒體通道地址,并獲取所述特征字節(jié)前面的6字節(jié)作為媒體通道地址,具體包括媒體通道的IP地址和端口號(hào)信息;綜上所述,本發(fā)明中,媒體通道地址的提取效率大大提高,而且不存在增加系統(tǒng)漏洞的問題。整個(gè)媒體通道地址提取處理過程只需對(duì)13個(gè)字節(jié)進(jìn)行簡(jiǎn)單的對(duì)比,因此,非常簡(jiǎn)單、快捷。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,包括A、確定并設(shè)置媒體通道地址在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)的特征信息;B、根據(jù)所述的特征信息在業(yè)務(wù)流中確定符合所述特征信息的VoIP流;C、從所述的VoIP流中獲取相應(yīng)的媒體通道地址。
2.根據(jù)權(quán)利要求1所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,步驟A所述的特征信息包括協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中的值為0×00或0×80的特征字節(jié)前面6個(gè)字節(jié)中的前5個(gè)字節(jié)與所述特征字節(jié)后面的5個(gè)字節(jié)內(nèi)容相同,且特征字節(jié)前面6個(gè)字節(jié)中的第6個(gè)字節(jié)與特征字節(jié)后面的第6個(gè)字節(jié)值差1。
3.根據(jù)權(quán)利要求2所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,步驟A所述的特征信息還包括信令包的源地址信息與媒體通道的地址相同。
4.根據(jù)權(quán)利要求1、2或3所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括B1、獲取IP網(wǎng)絡(luò)中的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并搜索其中是否存在值為0×00或0×80的特征字節(jié),如果存在,則執(zhí)行步驟B2,否則,執(zhí)行步驟B3;B2、判斷協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中特征字節(jié)前后的字節(jié)值是否符合所述的特征信息,如果符合,執(zhí)行步驟C,否則,執(zhí)行步驟B3;B3、忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并執(zhí)行步驟B1。
5.根據(jù)權(quán)利要求1、2或3所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括B4、獲取IP網(wǎng)絡(luò)中的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,判斷數(shù)據(jù)包中是否存在與其源地址信息相同的字段,如果存在,則執(zhí)行步驟B5,否則,執(zhí)行步驟B6;B5、搜索協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中值為0×00或0×80的特征字節(jié),并判斷協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中特征字節(jié)前后的字節(jié)值是否符合所述的特征信息,如果符合,執(zhí)行步驟C,否則,執(zhí)行步驟B6;B6、忽略該協(xié)議數(shù)據(jù)單元數(shù)據(jù)包,并執(zhí)行步驟B4。
6.根據(jù)權(quán)利要求1、2或3所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,所述的步驟C包括獲取確定為VoIP應(yīng)用的協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中的值為0×00或0×80的特征字節(jié)的前面6個(gè)字節(jié)為媒體通道地址信息。
7.根據(jù)權(quán)利要求6所述的H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法,其特征在于,所述的媒體通道地址信息包括媒體通道的IP地址信息和端口號(hào)信息。
全文摘要
本發(fā)明涉及一種H.323應(yīng)用過程中獲取媒體通道地址的實(shí)現(xiàn)方法。該方法主要包括確定并設(shè)置媒體通道地址在協(xié)議數(shù)據(jù)單元數(shù)據(jù)包中表現(xiàn)出的特征信息;之后,便可以根據(jù)所述的特征信息在業(yè)務(wù)流中確定符合所述特征信息的VoIP流;最后,從所述的VoIP流中獲取相應(yīng)的媒體通道地址。因此,本發(fā)明不需要經(jīng)過復(fù)雜的協(xié)議解碼解析過程,從而可以使得提取媒體通道地址的效率大大提高。另外,本發(fā)明提供的整個(gè)媒體通道地址提取處理過程非常簡(jiǎn)單,而且,本發(fā)明不存在增加系統(tǒng)漏洞的問題,有效保證了系統(tǒng)的安全性。
文檔編號(hào)H04L12/56GK1838662SQ20051005565
公開日2006年9月27日 申請(qǐng)日期2005年3月22日 優(yōu)先權(quán)日2005年3月22日
發(fā)明者劉利鋒, 鄭志彬, 劉廷永, 劉淑玲, 尹瀚, 涂衛(wèi)華 申請(qǐng)人:華為技術(shù)有限公司