为媒体网关控制协议扩展提供透明传输通道的方法 所属领域
本发明涉及一种为媒体网关控制协议扩展提供透明传输通道的方法,属于数字信息传输中的以信号形式表征的信道传输技术领域。背景技术
媒体网关控制器MGC和媒体网关MG是下一代网络(NGN,Next GenerationNetwork)中两个最重要的组成元素,媒体网关控制器MGC负责处理媒体网关MG上的资源注册和管理,完成呼叫信令流的处理,媒体网关MG则完成媒体流的处理。媒体网关控制协议(MGCP,Media Gateway Control Protocol)处于媒体网关控制器MGC与媒体网关MG之间,用于网络设备对端局的控制。常见的网络结构中媒体网关控制器MGC与媒体网关MG之间的关系如图1所示。在呼叫过程中,媒体网关控制器MGC1通过MGCP协议对媒体网关MG1、MG2...等设备进行控制。媒体网关控制协议MGCP是一个主从协议,媒体网关控制器MGC在其中起主要的控制作用。
媒体网关控制协议MGCP可以做私有应用扩展,私有应用扩展主要用于在该设备制造商的MGC、MG设备对接时提供更丰富的控制功能。然而,现有技术采用的只是通过扩展私有命令、扩展私有参数两个方面对协议进行扩展,从而将私有协议承载到MGCP标准协议中。MGCP协议对上述两种扩展方式和规则都做出了明确的规定:扩展命令要求命令名以“X”开头,扩展必选参数时要求参数名以“X+”开头,扩展可选参数时要求参数名以“X-”开头。协议规定,当MGC或者MG收到符合上面规定地命令或者参数时,就可以判断出是扩展的命令或者参数,如果能够处理这些命令或者参数,就对其进行处理,否则直接丢弃。
这种现有技术存在两个缺点:由于现有技术的协议扩展是基于协议本层的,当扩展的设备协议比较复杂时,需要扩展很多个命令和参数,这样会增加消息编码、解码的复杂程度;另外,如果以后应用层协议有更改,或者进行不同的私有扩展时,需要增加新的扩展命令和参数,导致维护成本很高。发明内容
本发明的目的是提供一种为媒体网关控制协议扩展提供透明传输通道的方法,该方法较好地解决现有技术中的两个缺陷,为应用扩展提供了一种不同于现有方式的新的协议扩展途径,可以支持媒体网关控制器MGC对媒体网关MG的设备维护功能。
本发明的目的是这样实现的:一种为媒体网关控制协议扩展提供透明传输通道的方法,其特征在于:该方法的操作步骤为:
(1)发送方的MGCP协议从协议应用层取出私有命令或响应;对该应用层的私有命令或响应的二进制码流进行字符映射;再对映射后的字符串进行编码转换为文本信息,然后通过MGCP协议扩展命令和扩展参数将该文本信息发送出去;
(2)接收方的MGCP协议接收发送过来的扩展命令或响应,取出扩展参数中的文本信息,并对之进行解码处理;对解码后的字符串按照映射关系进行还原处理;再将还原后的二进制码流码的私有命令或响应存放至协议应用层,即完成私有协议的扩展和将已有的私有协议承载到MGCP协议中。
所述的步骤(1)中的MGCP协议扩展命令和扩展参数是一个扩展命令和一个可选参数,其命名规则应符合该协议对命令和参数扩展的一般规则;即该扩展命令的命令名以“X”开头,可选参数的参数名以“X-”开头。
所述的协议扩展命令中的参数是一个或多个字符的组合。
所述的响应是接收方在执行完解码操作,将其转换为扩展命令后,向发送方发出的应答信号,其中包括该扩展命令的执行结果信息。
所述的步骤(1)中的对应用层私有命令或响应的二进制码流进行字符映射是将原ASCII码0x00到oxff之间的字符组合映射到0x20到0x7f之间的字符组合。
所述的映射方式是由用户根据需要自行定义的,可以采取加密算法进行字符组合的转换。
所述的发送方是媒体网关控制器,接收方是媒体网关;也可以由媒体网关作为发送方,主动向接收方的媒体网关控制器发出扩展命令。
该方法要求命令有序执行时,发送方在收到前一个扩展命令的响应后,才能发送新的扩展命令。
该方法不要求命令有序执行时,发送方在收到前一个扩展命令的响应之前,可以发送下一个扩展命令。
本发明与现有技术基于协议层的扩展不同之处是:其提供的扩展方法是基于协议应用层的,由协议应用层解析扩展命令和参数,即可在MGC和MG之间增加使用已有的私有协议,实现扩展应用;从而较好地解决了现有技术的扩展过程手续繁杂,且对协议本身影响较大的缺陷。
本发明的优点是利用该方法可以将现有的私有扩展协议不加改动地承载到MGCP协议中,而不需要对MGCP协议做任何新的改动。此外,利用本发明的透明传输技术扩展协议可以对扩展应用进行平滑升级,且无须对协议进行新的改动,降低了维护成本;并且,在对应用层采用加密方式后还可增加安全性能。
例如,利用本发明的方法,通过私有扩展的应用,使得MGC可以更好地完成对MG设备的维护功能。从设备可维护性角度考虑,MGC不仅需要对MG上端点的呼叫状态进行控制,还需要能够对MG设备(包括MG上的端点)进行监视和测试等维护功能。而这些功能在现有的MGCP协议标准上都未作规定。附图说明
图1是常见的网络结构中媒体网关控制器MGC与媒体网关MG之间的关系示意图。
图2是本发明在MGC与MG之间扩展应用的信令处理流程图。
图3是本发明要求有序执行一个完整的扩展协议的消息流程图,即MGC向MG发起扩展命令、且要求有序执行的消息流程图。。
图4是本发明在不要求有序执行一个完整的扩展协议的消息流程图,即MGC向MG发起扩展命令、且不要求有序执行的消息流程图。具体实施方式
参见图2,本发明是一种为媒体网关控制协议扩展提供透明传输通道的方法,其是将协议扩展命令和参数交由协议应用层解析,由应用层对该私有扩展命令和参数的分析而实现扩展应用的目的。其具体操作步骤为:
(1)发送方的MGCP协议从协议应用层取出私有命令或响应;对该应用层的私有命令或响应的二进制码流进行字符映射,因为应用层协议是基于二进制编码的协议,需要将ASCII码0x00到oxff的字符组合映射到0x20到0x7f之间的字符组合,由于不是一一对应的关系,映射方式可根据用户需要自行定义,包括采取加密算法进行字符组合的转换;再对映射后的字符串进行编码转换为文本信息,然后通过MGCP扩展命令和扩展参数将该文本信息发送出去;
(2)接收方的MGCP协议接收发送过来的扩展命令或响应,取出扩展参数中的文本信息,并对之进行解码处理;对解码后的字符串按照映射关系进行还原处理;再将还原后的二进制码流的私有命令或响应存放至协议应用层,即完成私有协议的扩展和将已有的私有协议承载到MGCP协议中。
本发明操作步骤(1)中的MGCP协议扩展命令和参数是一个扩展命令和一个可选参数,其命名规则应符合MGCP协议对命令和参数扩展的一般规则;即该扩展命令的命令名以“X”开头,可选参数的参数名以“X-”开头。扩展命令中的扩展参数是一个或多个字符的组合。
本发明的发送方是媒体网关控制器,接收方是媒体网关;也可以由媒体网关作为发送方,主动向接收方的媒体网关控制器发出请求维护设备的扩展命令。
参见图3,当扩展要求保证有序执行命令时,由于MGCP协议不能保证有序执行命令,本发明就通过对扩展命令的响应的监视,来保证扩展协议的有序执行。该响应是接收方在执行完解码操作,将其转换为扩展命令后,向发送方发出的应答信号,其中包括该扩展命令的执行结果信息。也就是说,当要求有序地执行一个完整的扩展协议时,发送方发出第一个扩展命令(其命令信息由扩展系数携带)之后,只有在其收到该第一个扩展命令的响应(该命令执行结果由扩展系数携带)之后,才能发送新的扩展命令。
图3所示的消息流程图表明:首先是MGC向MG发送第一个扩展命令,通过基于二进制码流的应用层协议编码转换为文本信息后,由扩展参数发送给MG。MG收到该命令后,将扩展参数取出,通过对应的解码操作后,转换为应用层协议命令,向MGC发送成功响应,并且将该扩展命令的执行结果通过响应中的扩展参数发送给MGC。MGC在收到响应后方可向MG发送下一个扩展命令。
同样MG也可以通过扩展命令向MGC主动发出扩展命令,其过程与图3相同,在此不再赘述。
参见图4,当扩展不要求有序执行命令时,发送方发出第一个扩展命令(其命令信息由扩展系数携带)之后,无须等待收到第一个扩展命令的响应(该命令执行结果由扩展系数携带)之前,就可以接着发送下一个扩展命令(其命令信息由扩展系数携带)。发送方可以通过其接收到的每个响应中所携带的“事务号”来掌握其对应的扩展命令的执行情况。
图5所示的消息流程图表明:首先是MGC向MG发送第一个扩展命令,基于二进制的应用层协议将命令编码转换为文本信息后,由扩展参数发送给MG。在收到MG的响应之前,MGC可以接着发送下一个扩展命令。由于MGCP协议不保证有序,MG收到命令的先后顺序可能与MGC发送的顺序不同,但是由于扩展协议不要求有序,对应用层没有影响。MG收到扩展命令后,将扩展参数取出,通过对应的解码操作后,交由应用层处理;同时向MGC发送成功响应,并且将扩展命令的执行结果通过响应中的扩展参数回馈给MGC。MG收到MGC发送的另一个扩展命令时也是进行同样的处理。
同样地,MG也可以通过扩展命令向MGC主动发出扩展命令,并且不要求有序执行这些扩展命令,其流程与图5相同,也不再赘述。