一种因特网协议通信数据传输的实现方法

文档序号:7947593阅读:379来源:国知局
专利名称:一种因特网协议通信数据传输的实现方法
技术领域
本发明涉及一种因特网协议(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日
发明者甘泉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1