一種網際網路協議通信數據傳輸的實現方法
2024-03-06 03:19:15
專利名稱:一種網際網路協議通信數據傳輸的實現方法
技術領域:
本發明涉及一種網際網路協議(IP)通信的傳輸方法,特別是指一種利用二進位格式取代文本格式進行媒體網關控制協議(MGCP)消息通信的IP數據傳輸方法。
MGCP的消息傳輸格式採用文本行的形式,MGCP消息包括命令和響應兩種消息,所有命令由命令頭部和會話描述兩部分組成,所有響應由響應頭部和會話描述兩部分組成。頭部和會話描述由若干文本行組成,兩部分之間由空行分隔。其中,命令頭部由一個命令行和若干參數行組成,響應頭部由響應行和若干參數行組成。命令行或響應行主要由MGCP操作變量、事務標識、端點名稱以及MGCP版本信息構成。
該種消息的實現方式易於表達和調試,但是該方式在編碼時需要將內存結構或變量,即機器格式,轉換為文本格式,解碼時再對文本行進行分析處理,由於文本格式更接近於自然語言,而不是機器語言,用計算機處理反而不是很方便,實現較複雜;另外,文本形式的消息容易被截獲、分析與模仿,保密性差,不利於保護客戶隱私與網絡安全。
為達到上述目的,本發明具體的技術方案是這樣實現的一種網際網路協議(IP)通信數據傳輸的實現方法,重要的是,該方法至少包括以下的步驟以媒體網關控制協議(MGCP)進行IP數據傳輸時,順序發送由二進位格式形成的MGCP消息的消息頭,以及該消息二進位形式的消息體。
其中,所述的消息頭主要包括命令響應標識、版本信息、消息包總長度、命令標識和事務標識。該消息頭中的消息包總長度與命令標識信息之間間隔一個字節,該字節為零。所述的命令響應標識佔用一個二進位位,通過該位兩個不同的取值分別表示命令消息和響應消息。
所述的消息體由一個以上的參數組成,該參數為數字形,或為字符串形。其中,參數為數字形時,至少包括參數類型、參數總長度和參數值;參數為字符串形時,至少包括參數類型、參數總長度和字符串。所述的參數類型指該參數為數字,或字符串。
當參數為數字形時,參數類型佔一個字節,參數總長度佔一個字節,參數值佔四個字節,參數總長度為6位元組。
當參數為字符串形時,其中的字符串由可見字符,或不可見字符,或其組合構成。
本發明的關鍵在於保留了MGCP消息原有的構成形式,即一個消息由命令或響應行和一個以上參數行兩部分組成。只是將命令或響應行變為以二進位格式形成的消息頭,而參數行變為以二進位形式出現的消息體。
由以上分析說明可以看出,消息參數的存儲形式基本一致,這樣做的好處在於編解碼時可以大量的重用代碼,將參數處理的重點放在如何組合上,而實際的編碼工作可以由公共函數完成。解碼時也可通過消息類型快速分發消息,根據參數長度取出參數的值,進行處理。在實現的方便與快捷上是文本方式無法比擬的。
另外,由於二進位方式是不可閱讀的,消息包被截取後,在不知道二進位編碼格式的情況下也無法知道消息的內容,在客觀上增強了消息的保密性。使得MGCP消息的傳輸既方便、快捷,又可提高保密性。
圖1~圖3所示為本發明中用二進位實現傳輸的MGCP消息格式,其中,二進位格式上方的數字代表二進位位,一共32位,即四個字節。每個組成部分對應的範圍表示其佔用二進位位的數目,以及在該消息中的位置關係。由現有技術可知,MGCP消息格式主要由命令或響應行和若干參數行構成,以二進位消息格式取代文本格式之後,命令或響應行和若干參數行的構成形式依然不變,只是命令或響應行變成了消息頭,而若干參數行構成了消息體,消息頭和消息體內部各組成部分由二進位形式表示。
命令或響應行表示成消息頭,其格式如圖1所示取固定的八個字節做消息頭,包含有版本號(Version)、命今響應標識(C)、消息包總長度(Length)等關鍵信息,這些信息在每個命令或響應中都會出現。C表示的命令響應標識放在消息內容的第一位,這樣只用判斷第一位的取值就知道是命令還是響應,可以快速分類處理。而且命令標識(Command ID)、事務標識(Transaction ID)等適合枚舉的內容用數字表示,取出後可以很方便的在程序中用分支語句進行判斷,避免了文本分析的複雜性。
在消息頭後面的內容是參數組,包括一個以上的參數,每個參數分為兩類一類是數字,另一類是字符串(包括字符)。
對於數字形式的參數,其格式如圖2所示,其中Type表示參數類型,用數字表示,佔用一個字節,可以通過參數類型判斷出其取值是數字還是字符串,Length表示參數總長度,佔一個字節,可以據此判斷參數值的長度,對數字形參數而言總長度始終為六個字節,也就是說,參數值都用四字節長整數的二進位方式存儲,按網絡字節序傳輸。如此,可以簡化參數處理,可用統一的工具函數取出參數值。
對於字符串形式的參數而言,其格式如圖3所示,其中Type與Length的意義與數字形參數一致,但字符串不用結束符,因為其長度可由Length域的值決定。字符串存儲的並不一定都是可見字符,有一些結構複雜的參數可以先存儲在結構中,然後按字節拷貝到消息緩衝區中,取出時可以按字節拷貝到響應的結構中,直接就可以使用,非常方便。
以上為每個參數的定義,當有多個參數時,多個參數按順序排列,如type1 length1 value1 type2 length2 value2......或是 type1 length1 string1 type2 length2 string2......
本發明以二進位格式實現MGCP協議的方式,在ONLY業務或其它同類IP業務的實際應用中,可快速方便的實現媒體網關伺服器與PC客戶端、語音郵箱以及交互式語音伺服器之間的通訊,不僅保證了通訊質量,同時也為用戶提供了更快、更好、更方便的服務。
權利要求
1.一種網際網路協議(IP)通信數據傳輸的實現方法,其特徵在於該方法至少包括以下的步驟以媒體網關控制協議(MGCP)進行IP數據傳輸時,順序發送由二進位格式形成的MGCP消息的消息頭,以及該消息二進位形式的消息體。
2.根據權利要求1所述的實現方法,其特徵在於所述的消息頭主要包括命令響應標識、版本信息、消息包總長度、命令標識和事務標識。
3.根據權利要求2所述的實現方法,其特徵在於所述消息頭中的消息包總長度與命令標識信息之間間隔一個字節,該字節為零。
4.根據權利要求2所述的實現方法,其特徵在於所述的命令響應標識佔用一個二進位位,通過該位兩個不同的取值分別表示命令消息和響應消息。
5.根據權利要求1所述的實現方法,其特徵在於所述的消息體由一個以上的參數組成。
6.根據權利要求5所述的實現方法,其特徵在於所述的參數為數字形,或為字符串形。
7.根據權利要求6所述的實現方法,其特徵在於所述參數為數字形時,至少包括參數類型、參數總長度和參數值。
8.根據權利要求6所述的實現方法,其特徵在於所述參數為字符串形時,至少包括參數類型、參數總長度和字符串。
9.根據權利要求7或8所述的實現方法,其特徵在於所述的參數類型指該參數為數字,或字符串。
10.根據權利要求7所述的實現方法,其特徵在於所述的參數類型佔一個字節,參數總長度佔一個字節,參數值佔四個字節。
11.根據權利要求8所述的實現方法,其特徵在於所述字符串由可見字符,或不可見字符,或其組合構成。
全文摘要
一種網際網路協議(IP)通信數據傳輸的實現方法,關鍵在於該方法至少包括以下的步驟以媒體網關控制協議(MGCP)進行IP數據傳輸時,順序發送由二進位格式形成的MGCP消息的消息頭,以及該消息二進位形式的消息體。採用本發明的方法,能夠方便、快捷地實現MGCP消息傳輸,且提高數據傳輸的安全保密性,進一步保護用戶的利益。
文檔編號H04L29/06GK1402475SQ0112421
公開日2003年3月12日 申請日期2001年8月15日 優先權日2001年8月15日
發明者甘泉 申請人:華為技術有限公司