欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

H.245消息解析方法

文檔序號(hào):8226022閱讀:1736來(lái)源:國(guó)知局
H.245消息解析方法
【專利說(shuō)明】
[0001](一)、技術(shù)領(lǐng)域:本發(fā)明涉及一種消息解析方法,特別是涉及一種H.245消息解析方法。
[0002](二)、【背景技術(shù)】:H.245協(xié)議(Control protocol for multimedia communicat1n)是H.323協(xié)議族中用于媒體信道控制的協(xié)議,主要完成多媒體通信中每個(gè)邏輯通道的建立、維護(hù)和釋放,具體包括邏輯通道的打開(kāi)和關(guān)閉、參數(shù)設(shè)定、收發(fā)雙方的能力協(xié)商等控制功能,同時(shí)它還要完成多點(diǎn)會(huì)議呼叫中邏輯信道的配合控制功能。H.245定義了在通信過(guò)程中交互消息的語(yǔ)法和語(yǔ)義,對(duì)主要消息的交互過(guò)程進(jìn)行了描述,其對(duì)消息語(yǔ)法的定義采用一種逐層嵌套的消息結(jié)構(gòu)。
[0003]H.245在OSI框架中屬于應(yīng)用層協(xié)議,其功能決定了 H.245消息要用到非常復(fù)雜的信令,因此使用抽象語(yǔ)法表示法ASN.1來(lái)定義信令的類型和格式,采用非對(duì)齊的緊縮編碼規(guī)則(PER, Packet Encoding Rules)來(lái)進(jìn)行表示。由于PER是以比特為單位編碼的,且每個(gè)信息單元之間沒(méi)有填充,因此實(shí)現(xiàn)起來(lái)比較復(fù)雜。
[0004](三)、
【發(fā)明內(nèi)容】
:
本發(fā)明要解決的技術(shù)問(wèn)題是:提供一種H.245消息解析方法,該方法能為可視電話業(yè)務(wù)數(shù)據(jù)幀的復(fù)用提供關(guān)鍵參數(shù)和函數(shù)接口。
[0005]本發(fā)明的技術(shù)方案:
一種H.245消息解析方法,含有下列步驟:
步驟1、H.245解碼信令樹(shù)的構(gòu)建:
H.245消息的頂層是多媒體系統(tǒng)的控制消息(Multimedia System Control Message),多媒體系統(tǒng)的控制消息含有四種類型:接收方需響應(yīng)并且應(yīng)答的請(qǐng)求消息(RequestMessage)、應(yīng)答請(qǐng)求消息(Request Message)的響應(yīng)消息(Response Message)、接收方需響應(yīng)但無(wú)需應(yīng)答的命令消息(Command Message)、接收方不響應(yīng)且無(wú)需應(yīng)答的指示消息(Indicat1n Message);這四種類型的消息是H.245控制協(xié)議的第一級(jí)消息類型,每種類型消息結(jié)構(gòu)又包含了 N種子消息類型,作為下一層子樹(shù),以此類推,依層嵌套,最終形成H.245整體信令消息;按照H.245整體信令消息的層次性嵌套結(jié)構(gòu),將其整個(gè)協(xié)議消息定義為一個(gè)樹(shù)形的結(jié)構(gòu)類型;對(duì)于H.245信令樹(shù)結(jié)構(gòu),一條控制消息單元在樹(shù)形結(jié)構(gòu)中可能有很多條路徑可以到達(dá),但是對(duì)于待解碼的比特流,每次有且只有一條路徑有效,可以到達(dá)。要得到底層節(jié)點(diǎn)的信息,必須走完上層的節(jié)點(diǎn),所以在解碼時(shí),必須考慮所有可能出現(xiàn)的路徑,才能保證解碼的正確性。
[0006]步驟2、消息定義、映射:
將用ASN.1 PER定義描述的H.245數(shù)據(jù)類型和對(duì)應(yīng)的消息結(jié)構(gòu)定義、映射為程序語(yǔ)言描述的數(shù)據(jù)結(jié)構(gòu)文件,這是解碼的基礎(chǔ);映射后的結(jié)構(gòu)具有足夠的信息進(jìn)行編碼或者具有足夠的域存放解碼后的數(shù)據(jù);映射完成的功能是將ASN.1描述的每種數(shù)據(jù)類型都映射到其對(duì)應(yīng)的解碼函數(shù)中去,這些解碼函數(shù)再調(diào)用下層相應(yīng)的解碼函數(shù)實(shí)現(xiàn)消息的解碼功能。
[0007]步驟3、解碼:
當(dāng)數(shù)據(jù)類型和消息結(jié)構(gòu)映射到程序文件后,接下來(lái)就是利用解碼函數(shù)庫(kù)進(jìn)行解碼,解碼函數(shù)庫(kù)是H.245解析的核心部分;依據(jù)H.245信令數(shù)結(jié)構(gòu),必須對(duì)每一條消息結(jié)構(gòu)編寫(xiě)對(duì)應(yīng)的解碼函數(shù);由于H.245消息的解碼函數(shù)中包括對(duì)于基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)結(jié)構(gòu)的調(diào)用,所以對(duì)于基本的數(shù)據(jù)類型和復(fù)合數(shù)據(jù)結(jié)構(gòu),也需要對(duì)應(yīng)的解碼函數(shù)庫(kù);解碼函數(shù)部分以API接口向其它模塊提供調(diào)用接口,其本身也對(duì)接口模塊透明,消息的解碼函數(shù)必須確定其所取得的比特?cái)?shù),并初始化緩沖區(qū)字節(jié)和比特兩個(gè)指針位置,傳給比特提取函數(shù);通過(guò)接口部分接收經(jīng)過(guò)ASN.1 PER編碼后的H.245數(shù)據(jù)流,然后調(diào)用解碼函數(shù)庫(kù)對(duì)應(yīng)的消息解碼函數(shù),完成解碼工作,并將結(jié)果通過(guò)接口部分送出;
步驟4、消息比特提取:
對(duì)于H.245信令樹(shù),即使所需單元是必選單元并且比特?cái)?shù)固定,仍需逐比特的按照樹(shù)形結(jié)構(gòu)走到信息所在的節(jié)點(diǎn)。為此,在解析模塊中設(shè)計(jì)一個(gè)靈活地從比特流中取出任意比特的函數(shù),此函數(shù)接受解碼函數(shù)的調(diào)用,提取對(duì)應(yīng)的信息流比特位,并將數(shù)值返回給解碼函數(shù);函數(shù)自身返回所取比特的位數(shù),以驗(yàn)證提取比特位數(shù)量的正確性,并且根據(jù)所取比特位數(shù)調(diào)整雙指針的位置;這樣,即使H.245的信息層層嵌套,也可以通過(guò)反復(fù)調(diào)用此函數(shù)實(shí)現(xiàn)對(duì)信息單元的提取。
[0008]步驟5、H.245信令樹(shù)的數(shù)據(jù)填充:
對(duì)于每條控制信息,通過(guò)調(diào)用自己的解碼函數(shù)返回所取的比特值,解碼函數(shù)將對(duì)應(yīng)的數(shù)值填充到本條消息對(duì)應(yīng)的節(jié)點(diǎn)上,本級(jí)其余節(jié)點(diǎn)不填充,值為空;
步驟6、解碼結(jié)果輸出:
當(dāng)一條H.245信令解析完畢后,消息對(duì)應(yīng)的信令樹(shù)填充完畢,調(diào)用輸出顯示模塊,對(duì)此條消息的信令樹(shù)進(jìn)行遍歷,逐級(jí)讀取各層節(jié)點(diǎn)上填充的數(shù)據(jù)值,并進(jìn)行可視化輸出,驗(yàn)證解碼的正確性。
[0009]步驟2中的H.245數(shù)據(jù)類型含有基本類型和復(fù)合類型。
[0010]步驟4中的根據(jù)所取比特位數(shù)調(diào)整雙指針的位置是指后移雙指針的位置。
[0011]在調(diào)用解碼函數(shù)庫(kù)之前,必須執(zhí)行初始化操作,完成雙指針的置O、H.245 信令樹(shù)各節(jié)點(diǎn)清空這些操作;
消息的解碼函數(shù)必須確定其所取得的比特?cái)?shù),并初始化緩沖區(qū)字節(jié)和比特兩個(gè)指針位置,傳給比特提取函數(shù);
比特提取函數(shù)取得所需要的比特后,將內(nèi)容返回給對(duì)應(yīng)的解碼函數(shù),自身返回所取比特的位數(shù),以驗(yàn)證正確性,并且根據(jù)所取比特位數(shù)調(diào)整雙指針的位置;雙指針是關(guān)鍵,不能輕易修改位置;
C語(yǔ)言中,并沒(méi)有對(duì)應(yīng)存儲(chǔ)比特位(小于8)的數(shù)據(jù)結(jié)構(gòu),因此,比特?cái)?shù)值的讀取方法為:將包含待讀取比特U位)的字節(jié)從緩沖區(qū)中取出,先進(jìn)行左移(由bit指針確定),進(jìn)行左對(duì)齊,然后進(jìn)行右對(duì)齊,將所取比特位之前的bit位清0,完成實(shí)際比特位讀??;
每條H.245消息的結(jié)構(gòu)定義就是復(fù)合數(shù)據(jù)類型的定義,各消息的解碼函數(shù)最終需要調(diào)用基本類型的解碼函數(shù),將返回值填入信令樹(shù)對(duì)應(yīng)節(jié)點(diǎn);
對(duì)于H.245消息定義中個(gè)數(shù)不定的參數(shù),根據(jù)實(shí)際消息中參數(shù)數(shù)量的多少,提供不同的存儲(chǔ)空間分配方案;如果參數(shù)數(shù)量較少,則使用靜態(tài)存儲(chǔ)空間;如果靜態(tài)空間不足以存放參數(shù),則動(dòng)態(tài)申請(qǐng)空間。這種方法既能適應(yīng)協(xié)議定義出的各種情況,又能在大多數(shù)消息解碼過(guò)程中保證效率。
[0012]本發(fā)明的有益效果:
1、本發(fā)明在深入研究ASN.1描述的緊縮編碼規(guī)則PER基礎(chǔ)上首先提出了PER樹(shù)型解碼結(jié)構(gòu),并設(shè)計(jì)實(shí)現(xiàn)了可用于通信系統(tǒng)的PER解碼器;本發(fā)明針對(duì)信令樹(shù)中每個(gè)結(jié)點(diǎn)對(duì)應(yīng)的消息編寫(xiě)對(duì)應(yīng)的解碼函數(shù),層層嵌套;在對(duì)消息解碼時(shí),以深度優(yōu)先搜索方式對(duì)信令樹(shù)進(jìn)行遍歷,消息的解碼函數(shù)調(diào)用包含的基本和復(fù)合類型數(shù)據(jù)對(duì)應(yīng)的解碼函數(shù),提取對(duì)應(yīng)的比特值,并將數(shù)據(jù)值逐層填充到消息信令樹(shù)對(duì)應(yīng)的結(jié)點(diǎn)上,直到葉子結(jié)點(diǎn)結(jié)束。本發(fā)明對(duì)經(jīng)過(guò)ASN.1 PER編碼后的消息結(jié)構(gòu)進(jìn)行解碼分析,獲取控制消息的具體內(nèi)容,為可視電話業(yè)務(wù)數(shù)據(jù)幀的復(fù)用提供關(guān)鍵參數(shù)和函數(shù)接口。
[0013](四)、【附圖說(shuō)明】:
圖1為H.245信令樹(shù)結(jié)構(gòu)示意圖;
圖2為H.245數(shù)據(jù)類型與消息結(jié)構(gòu)到C數(shù)據(jù)結(jié)構(gòu)文件的映射示意圖;
圖3為解碼程序流程圖。
[0014](五)、【具體實(shí)施方式】:
H.245消息解析方法含有下列步驟:
步驟1、H.245解碼信令樹(shù)的構(gòu)建:
H.245消息的頂層是多媒體系統(tǒng)的控制消息(Multimedia System Control Message),多媒體系統(tǒng)的控制消息含有四種類型:接收方需響應(yīng)并且應(yīng)答的請(qǐng)求消息(RequestMessage)、應(yīng)答請(qǐng)求消息(Request Message)的響應(yīng)消息(Response Message)、接收方需響應(yīng)但無(wú)需應(yīng)答的命令消息(Command Message)、接收方不響應(yīng)且無(wú)需應(yīng)答的指示消息(Indicat1n Message);這四種類型的消息是H.245控制協(xié)議的第一級(jí)消息類型,每種類型消息結(jié)構(gòu)又包含了 N種子消息類型,作為下一層子樹(shù),以此類推,依層嵌套,最終形成H.245整體信令消息;按照H.245整體信令消息的層次性嵌套結(jié)構(gòu),將其整個(gè)協(xié)議消息定義為一個(gè)樹(shù)形的結(jié)構(gòu)類型(如圖1所示);對(duì)于H.245信令樹(shù)結(jié)構(gòu),一條控制消息單元在樹(shù)形結(jié)構(gòu)中可能有很多條路徑可以到達(dá),但是對(duì)于待解碼的比特流,每次有且只有一條路徑有效,可以到達(dá)。要得到底層節(jié)點(diǎn)的信息,必須走完上層的節(jié)點(diǎn),所以在解碼
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
揭阳市| 成安县| 南昌市| 当阳市| 贵德县| 曲阳县| 太和县| 上饶县| 安达市| 观塘区| 罗山县| 吉林市| 浮山县| 临安市| 类乌齐县| 周宁县| 巫山县| 龙里县| 南溪县| 吴堡县| 登封市| 开封市| 德州市| 勐海县| 玉环县| 阿拉善盟| 岳阳市| 聂拉木县| 和顺县| 晋宁县| 林口县| 奉节县| 明水县| 乐至县| 黎川县| 鄂温| 台江县| 罗源县| 冀州市| 根河市| 根河市|