媒体网关控制协议应用适配兼容的实现方法

文档序号:7877586阅读:244来源:国知局
专利名称:媒体网关控制协议应用适配兼容的实现方法
技术领域
本发明涉及通信技术领域,尤其涉及一种媒体网关控制协议应用适配兼容的实现方法。
背景技术
MGC(媒体网关控制器)和MG(媒体网关)是NGN(下一代网络)中的两个关键构件。MGC负责呼叫控制功能,MG负责业务承载功能,藉此实现呼叫控制平面和业务承载平面的分离,从而充分共享网络资源,简化设备升级和业务扩展,并且大大降低开发和维护成本。
媒体网关控制协议是MGC和MG之间通信的主要协议,目前应用较为广泛的有MeGaCo/H.248和MGCP两种协议。其中,MGCP协议(V1.0)由IETF(互联网工程任务组)于1999年10月制订,MeGaCo/H.248协议(V1.0)由IETF(互联网工程任务组)和ITU(国际电信联盟)于2000年11月制订。
MeGaCo/H.248和MGCP协议在功能上具有极大相似性,但在呼叫模型、命令参数、消息结构等方面也有不少差异。MGCP的制订相对较早,因此在应用的广泛性和设备的支持性上有先发优势;而MeGaCo/H.248的制订基于对MGCP的借鉴和优化,因此在完备性、兼容性和扩展性等方面更有发展潜力。
一个具有广泛适应性和良好发展性的MGC或MG,应该同时支持MeGaCo/H.248和MGCP这两种同类协议,从而实现灵活的组网解决方案和强大的业务扩展能力。
如图1所示为现有的媒体网关控制协议应用适配独立体系示意图,现有技术采用各自独立的协议数据单元数据结构,MeGaCo/H.248和MGCP两种协议栈各提供独立的应用适配,也即两种协议都拥有各自独立的协议栈、协议适配和业务处理,如图1中虚框所示。
由于MeGaCo/H.248和MGCP两种协议使用各自独立的数据结构,就必须有两套完全独立的协议栈应用适配,则整个应用适配体系实际上是两套独立体系的简单叠加。同时,由于MGCP协议使用ABNF语法(文本消息)编解码,H.248协议可使用ABNF语法或ASN.1语法(二进制消息)编解码,这样,为了完成业务侧的命令、参数与具体的协议数据单元的转换(协议数据单元是协议栈编码的依据和解码后的协议消息的表现形式),业务层设计人员必须精确了解MGCP协议和/或H.248协议的协议数据单元,而协议数据单元的具体结构与内容紧密依赖于这两套语法以及两套语法在不同协议里的具体应用,因此,业务侧设计人员必须花费大量时间与精力学习MGCP协议的编解码语法ABNF和H.248协议的编解码语法ABNF和ASN1,这样无疑大大加重了产品开发的负担,同时MGC和MG的维护成本也增加;而且,由于业务模块与协议语法紧耦合,模块的扩展空间很小,扩展很不方便。

发明内容
本发明所要解决的技术问题是克服现有的MGC或MG中MeGaCo/H.248和MGCP两种媒体网关控制协议采用各自独立的应用适配体系所带来的开发困难及不易扩展的不足,提供一种媒体网关控制协议应用适配兼容的实现方法,从而方便产品的升级扩展。
本发明为解决上述技术问题所采用的技术方案为这种媒体网关控制协议应用适配兼容的实现方法,包括以下步骤
在两种媒体网关控制协议(MeGaCo/H.248、MGCP)独立的协议适配层和共用的业务处理层之间,采用统一的媒体网关控制应用程序接口(MGCAPI)进行通信,所述的MGCAPI采用事务作为接口交互信息的基本单位,并采用事务、行动、命令、描述符的分级嵌套数据结构;所述MCAPI接口消息在协议适配层进行与各自媒体网关控制协议消息的转换,将MCAPI消息转换为各自协议栈能够处理的协议数据单元,并将各自协议栈解码之后的协议数据单元转换为MCAPI消息。
所述事务、行动、命令、描述符的分级嵌套数据结构是指一个MCAPI消息包含一个事务,所述的事务由事务头和事务体组成,一个事务体中包含若干个行动;行动由行动头和行动体组成,一个行动体中包含若干个命令;命令由命令头和命令体组成,一个命令体中包含若干个描述符;一个描述符由描述符头和描述符体组成,一个描述符体中包含若干个属性。
如果事务中的行动或命令没有相关性,则网关控制应用程序接口以行动或命令作为接口交互信息的基本单位,并采用行动、命令、描述符或命令、描述符的分级嵌套数据结构。
所述的事务头中包括以下字段协议名称(Protocol Name)、版本号(Version)、消息方向(Direction IND)、连接标识号(Association ID)、行动个数(#of Actions)、事务号(Transaction ID)、请求立即确认掩码(IAR_P)、编解码格式掩码(Code_F)、选项标识(Choice)、请求立即确认字段(immAckRequired)、消息长度(Message Length)、可选信息错误描述符(Error Descriptor)。
所述的行动头中包括以下字段行动类型(Action Type)、命令个数(#of Commands)、关联号(Context ID)、选项标志(Flag1、Flag2)、行动长度(Action Length)、可选信息长度(Optional Information Length)。
当行动类型为行动请求(Action Request)时,选项标志(Flag1)指示行动请求是否存在,若存在,所述的行动头中还包括关联优先级掩码(P_P)、紧急关联掩码(E_P)、拓扑请求掩码(T_P)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)、拓扑请求个数(#ofTopology)、拓扑描述符(Topology Descriptor);另一选项标志(Flag2)指示关联属性审计请求(contextAttrAuditRequest)是否存在,若存在,所述的行动头中还包括拓扑描述符(Topology Descriptor)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)。
当行动类型为行动响应(Action Reply)时,选项标志(Flag1)指示行动级错误描述符(Error Descriptor)是否存在,若存在,所述的行动头中还包括相应的错误描述符;另一选项标志(Flag2)指示行动响应是否存在,若存在,所述的行动头中还包括关联优先级掩码(P_P)、紧急关联掩码(E_P)、拓扑请求掩码(T_P)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)、拓扑请求个数(#of Topology)、拓扑描述符(Topology Descriptor)。
所述的命令头中包括以下字段命令类型(Command Type)、描述符个数(#of Descriptors)、终结点个数(#of Termination IDs)、命令可选掩码(O_P)、通配响应掩码(WR_P)、终结点列表掩码(TL_P)、命令可选标志字段(optional)、通配响应标志字段(wildcard return)、命令长度(Command Length)、终结点参数(Termination ID Parameter)。
所述的描述符头部中包括以下字段描述符编号(Descriptor ID)和描述符长度(Length)。
本发明的有益效果为本发明媒体网关控制应用程序接口以事务作为交互信息的基本结构单位,可以充分兼容MeGaCo/H.248和MGCP两种协议的消息结构,同时有效保证命令相关性以事务作为有效范围所需信息的完整性。这种体系结构实际上借鉴了MeGaCo/H.248协议“事务-行动-命令-描述符”的分级嵌套结构,为应用提供了一种概念层次清晰易于分级操作的信息组织形式。
本发明数据结构可以描述MeGaCo/H.248和MGCP两种协议的协议数据单元,并且符合MeGaCo/H.248和MGCP两种协议的应用处理流程,也即用这套新的数据结构可以屏蔽掉MeGaCo/H.248和MGCP两种协议在数据结构上的差异。因此,业务层只需要处理一种MCAPI(媒体网关控制应用程序接口)消息,而不是要分别处理MeGaCo/H.248消息和MGCP消息。
网关控制应用程序接口以MeGaCo/H.248协议命令集作为交互数据的命令集,可以充分体现该协议在对业务的更高抽象性和更好扩展性等方面的优势,有效满足当前和未来新业务实现的管理和控制需求。而MGCP协议可以通过呼叫模型的转换和命令及参数的替代,以比较小的代价实现自身信息格式与网关控制应用程序接口信息格式之间的转换。最终的效果就是,业务处理只需理解网关控制应用程序接口信息,也即一种类似MeGaCo/H.248协议的信息,而无需过多关注协议适配究竟是MeGaCo/H.248还是MGCP协议。
本发明提供了一种接口统一并且扩展方便的应用适配的方法,为MGC和MG同时兼容MeGaCo/H.248和MGCP这两种主流媒体网关控制协议提供一个完善的解决方案,从而极大地加快MGC和MG的开发进程,方便产品的升级扩展,并减少MGC和MG的维护成本。


图1为现有的媒体网关控制协议应用适配独立体系示意图;图2为本发明媒体网关控制协议应用适配兼容体系示意图;图3为本发明媒体网关控制应用程序接口信息结构示意图;图4为本发明描述符体嵌套结构示意图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明如图2所示为本发明媒体网关控制协议应用适配兼容体系示意图,本发明兼容体系由传输层(Transport Layer)、传输适配(TransportAdapater)、协议栈(Protocol Stack)、协议适配(Protocol Adapater)、媒体网关控制应用程序接口(Media Gateway Control Application ProgramInterface)、业务处理(Service Process)、媒体资源(Media Resource)几个部分组成。
MeGaCo/H.248和MGCP两种媒体网关控制协议拥有各自独立的协议栈(PS)和协议适配(PA)。协议栈主要完成协议的编解码功能,MeGaCo/H.248协议可选文本(遵循ABNF)或二进制(遵循ASN.1)两种编解码方式,MGCP协议只有文本编解码方式。两个协议适配模块针对各自协议栈的数据结构、协议概念与媒体网关控制应用程序接口(MCAPI)的数据结构、协议概念的差异,完成协议消息的解析和组装,以及信息参数的转换。
MeGaCo/H.248和MGCP两种协议共用传输适配(TA)。传输适配完成对传输层(TL)差异性的屏蔽,MeGaCo/H.248协议可选基于TCP(传输控制协议)、UDP(用户数据报协议)或SCTP(流控制传输协议)传输,MGCP协议只能基于UDP协议传输。
MeGaCo/H.248和MGCP两种协议共用业务处理(SP)。业务处理进行协议信息与业务流程的适配,在MGC的呼叫控制之下完成MG所承载媒体流之间的转换,是MG上各项媒体资源(MR)的实际操作者。
MeGaCo/H.248和MGCP两种协议独立的协议适配和共用的业务处理之间,采用统一的媒体网关控制应用程序接口(MGCAPI)进行通信。媒体网关控制应用程序接口为业务层屏蔽协议层的差异性,使应用适配可以同时兼容这两种媒体网关控制协议。
由于MeGaCo/H.248和MGCP协议都以事务(Transaction)作为组织消息的基本单位,并以事务编号(Transaction No)进行标识,协议中各项操作指令之间的相关性也以其所属事务作为最大有效范围。但MeGaCo/H.248协议的单个消息中可以包含多个事务,而MGCP协议的单个消息中只能包含单个事务。另外,由于MGCP协议和H.248协议的协议数据单元是复杂的嵌套指针链表结构,要理解这套结构,就必须理解ABNF和ASN.1语法在协议里面的具体应用,为了使MCAPI接口消息结构简单,弱化协议语法对数据结构的限制,本发明采用了一套简单的扁平的分层嵌套的数据报结构,媒体网关控制应用程序接口(MGCAPI)采用事务作为接口交互信息的基本单位,然后依次为行动、命令、描述符、描述符属性、描述符属性值的嵌套数据结构。
如图3所示为本发明媒体网关控制应用程序接口信息结构示意图,一个网关控制应用程序接口信息包含一个事务,事务由事务头和事务体组成,一个事务体中包含若干个行动;行动由行动头和行动体组成,一个行动体中包含若干个命令;命令由命令头和命令体组成,一个命令体中包含若干个描述符;一个描述符由描述符头和描述符体组成,一个描述符体中包含若干个属性;一个属性还可以包含若干个属性值。
由于H.248协议栈模块与MGCP协议栈模块所使用的数据结构以及所认知的协议概念与MCAPI接口存在一定差异,所以协议栈与MCAPI接口之间采用独立的协议适配模块H.248协议适配模块和MGCP协议适配模块。协议报文经协议栈解码之后的协议数据单元,须经过协议适配模块的处理,才能转换为MCAPI接口的数据结构与协议参数;反之,MCAPI接口的数据结构与协议参数,又须经过协议适配模块的处理,才能转换为协议栈模块能够理解的协议数据单元。媒体网关控制应用程序接口(MCAPI)这套接口由协议适配模块与业务处理模块所共享。
下文是MCAPI消息数据结构在媒体网关产品实现中的一个具体应用,以此为例来详述MCAPI数据结构。
一、事务头、行动头、命令头的数据结构A、事务头(Transaction Header)事务用于标识MCAPI消息数据结构事务一级的公共信息,其中的关键字段包括但不限于以下内容协议名称(Protocol Name)、版本号(Version)、消息方向(Direction IND)、连接标识号(Association ID)、行动个数(#of Actions)、事务号(Transaction ID)、请求立即确认掩码(IAR_P)、编解码格式掩码(Code_F)、选项标识(Choice)、请求立即确认字段(immAckRequired)、保留字节(Reserved)、消息长度(MessageLength)以及可选信息错误描述符(Error Descriptor)等。事务头数据结构的一个具体实现举例如下

参数说明如下1、Protocol Name,本参数共2位,用于指示消息类型,可能的取值是00-H.24801-MGCP10-MNG //内部定义类别,支持维护管理查询11-保留类型2、Version本参数共4位,用于指示协议版本编号。
3、Direction IND本参数共2位,用于指示消息方向,可能的取值是00-PM到AM的请求命令01-PM到AM的响应10-AM到PM的请求命令11-AM到PM的响应注pM指MCAPI下面的协议模块(Protocol Module),AM指MCAPI上面的应用模块(Application Module)。
4、Association ID指示目前MG或MGC所属的连接标识号。
5、Transaction ID是事务标识,在MGCP中的范围是0-999999999,业务模块处理时应区别协议类型做相应处理。
6、IAR_P是控制掩码,IAR_P在事务响应时用来表示是否请求立即确认(immAckRequired)。
7、Reserved,预留字节,此项主要是为了支持协议的扩充和不同产品的特殊需求。
8、Code_F是编码方式指示掩码,为0时指示文本格式编码,为1时指示二进制格式编码。
9、Choice有如下选择,若Choice为0,表示无可选信息,消息头后跟的是行动信息;若Choice为1,表示消息头后面有可选部分,可选部分填的是一个事务级的错误描述符(Error Descriptor),且消息后面不存在任何行动信息;若Choice为8,表示消息头后面有可选部分,可选部分填的是一个消息级的错误描述符(Error Descriptor),且消息后面不存在任何行动信息。
10、immAckRequired即请求立即确认,当iAR P有效时填充。另外,当Protocol Name为MNG时,它代表其他含义为0时,表示协议栈根据关联标识(Context Id)查询相关的终结点标识(Termination ID);为1时,表示协议栈根据终结点标识(Termination ID)查询相关的关联标识(Context ID)。
B、行动头(Action Header)行动用于标识MCAPI消息数据结构行动一级的公共信息,其中的关键字段包括但不限于以下内容行动类型(Action Type)、命令个数(#of Commands)、关联号(Context ID)、选项标志(Flag1,Flag2)、行动长度(Action Length)、可选信息长度(Optional Information Length)、行动请求(Action Request)、关联属性审计请求(contextAttrAuditRequest)、行动响应(Action Reply)、行动级错误描述符(Error Descriptor)、关联优先级掩码(P_P)、紧急关联掩码(E_P)、拓扑请求掩码(T_P)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)、拓扑请求个数(#of Topology)、拓扑描述符(Topology Descriptor)以及保留字段(Reserved)等等。
行动头数据结构的一个具体实现举例如下

可选信息说明如下情况一当行动类型(Action Type)为行动请求(Context Request)时,Flag1表示的是行动请求是否存在,若指示存在,可选信息内容如下

Flag2表示的是关联属性审计请求(contextAttrAuditRequest)是否存在,若指示存在,可选信息如下

情况二当行动类型为行动响应(Context Reply)时,Flag1表示的是行动级错 误描述符(Error Descriptor)是否 存在,若指示存在,可选信息内容就是相应的错误描述符;Flag2表示的是行动响应是否存在,若指示存在,可选信息如下

上述参数说明如下1、Action Type本参数共2位,用于指示是行动请求还是行动响应,以及其它,可能的取值是00-行动请求01-行动响应其他值-保留2、若Flag1和Flag2均为0,则后面的可选信息部分长度为0。
3、T_P、E_P、P_P分别指示拓扑描述符(Topology Descriptor)、紧急关联标志(Emergency)、关联优先权标志(Priority)是否存在。
4.、Action Length是指此条行动的总长度。
5、Optional Information Length指可选附加信息的长度,此长度是为了方便定位到第一个命令(command)的位置。
C、命令头(Command Header)命令用于标识MCAPI消息数据结构命令一级的公共信息,其中的关键字段包括但不限于以下内容命令类型(Command Type)、描述符个数(#of Descriptors)、终结点个数(#of Termination IDs)、命令可选掩码(O_P)、通配响应掩码(WR_P)、终结点列表掩码(TL_P)、命令可选标志字段(optional)、通配响应标志字段(wildcard return)、命令长度(Command Length)、终结点参数(Termination ID Parameter)以及保留字段(Reserved)。
命令头数据结构的一个具体实现举例如下

参数说明如下1、Command Type本参数用于指明命令的类型,可能的取值0x01-增加请求(Add Request)0x02-移动请求(Move Request)0x03-修改请求(Modify Request)0x04-删除请求(Subtract Request)0x05-能力审计请求(Audit Capability Request)0x06-值审计请求(Audit Value Request)0x07-通知请求(Notify Request)0x08-业务改变请求(Service Change Request)0x81-增加响应(Add Reply)0x82-移动响应(Move Reply)0x83-修改响应(Modify Reply)0x84-删除响应(Subtract Reply)0x85-能力审计响应(Audit Capability Reply)
0x86-值审计响应(Audit Value Reply)0x87-通知响应(Notify Reply)0x88-业务改变响应(Service Change Reply)2、#of Descriptors表示本命令中包含的描述符个数。
3、#of Termination Ids表示本命令包含的终结点个数。
4、TL_P、WR_P、O_P是为了指示终结点列表(TerminationList)、通配响应(wildcardReturn)、命令可选标志(optional)这些信息是否存在。若TL_P为0,则后面的可选信息部分长度为0,否则可选信息内容为终结点参数(Termination ID Parameter)列表;若WR_P为0,则后面的通配响应内容为0,否则为1;若O_P为0,则后面的命令可选标志内容为0,否则为1。
5、Command Length是指此条命令的总长度。
二、描述符结构描述符用于标识MCAPI消息数据结构描述符一级的信息,不同的描述符具有不同的参数内容。描述符数据结构的一个具体实现举例如下A、描述符头部(Descriptor Header)公共结构不同的描述符都具有公共的描述符头结构,其中的关键字段包括但不限于以下内容描述符ID(Descriptor ID)、保留字段(Reserved)、描述符长度(Length)等等。
描述符头数据结构的一个具体实现举例如下


参数说明如下1、Descriptor ID指示描述符的编号。
2、Reserved是预留信息,可以用作各种用途,例如参数个数等等。
3、Length指示本描述符的字节长度。
B、描述符内容(Descriptor Body)如图4所示为本发明描述符体嵌套结构示意图,一个描述符体中包含若干个属性;一个属性还可以包含若干个属性值。
描述符体中的嵌套层次可能更多,比如一个描述符中包含有多个事件(或多个信号),而每个事件(或信号)又包含多个属性;或者在描述符体中嵌套描述符等等。这时也按照分层嵌套的思想,从高层次到低层次逐层嵌套。
下面举一个事件描述符(Events Descriptor)的例子来说明描述符的详细结构。事件描述符的关键字段包括但不限于以下内容描述符ID(Descriptor ID)、事件请求个数(#of Events Requests)、描述符长度(Length)、请求ID(Request ID)、流ID掩码(SID_P)、事件行动掩码(EA_P)、流ID(Stream ID)、包ID(pkgId)、事件名(Event Name)、事件参数个数(#of Parameter IDs)、事件保持激活掩码(KA_P)、内嵌数图描述符掩码(ED_P)、内嵌第二事件描述符掩码(SE_P)、内嵌信号描述符掩码(SD_P)、事件保持激活字段(KeepActive)、内嵌数图描述符首字节位置(DigitMap Descriptor Offset)、内嵌第二事件描述符首字节位置(SecondEvents Descriptor Offset)、内嵌信号描述符首字节位置(Signals Descriptor Offset)、事件请求长度(Event Request Length)、参数ID(Parameter ID)、参数中的值的个数(#of Value)、参数长度(Parameter ID Length)、值的长度(Value Length)、值(Value)以及保留字段(Reserved)等等。
事件描述符数据结构的一个具体实现举例如下a)、事件描述符结构


b)、事件描述符结构参数说明1、Descriptor ID字段用来唯一标识该描述符,假定为0x06。
2、Length字段用来表示描述符的总字节数。
3、#of Events Requests表示请求事件个数。
4、Request ID标识请求事件ID。
5、SID_P表示流ID(Stream ID)是否存在,EA_P表示请求事件的事件行动(event Action)是否存在,若此位为0,则相应的请求Event的可选部分为空。
6、Stream ID表示监听事件所属流ID。
7、pkgId标识事件所属的包ID。
8、Event Name标识事件ID。
9、#of Parameter IDs表示事件中包含的参数个数。
10、KA_P、ED_P、SE_P、SD_P是位掩码,分别标识事件保持激活(Keep Active)、内嵌的数图描述符(Event DM)、第二事件描述符(Second Events Descriptor)、信号描述符(Signals Descriptor)是否存在。
11、Keep Active表示事件保持激活字段。
12、Digit Map Descriptor Offset表示内嵌的数图描述符首字节位置。
13、Second Events Descriptor Offset表示内嵌的第二事件描述符首字节位置。
14、Signals Descriptor Offset表示内嵌的信号描述符首字节位置。
15、Event Request Length字段表示该事件请求占用的字节数。
16、Parameter ID用来标识事件中具体的参数ID。
17、“#of Values”字段表示该参数所包含的值的个数。
18、Value Length字段表示该值所用字节数。
19、Value字段表示一个具体的值。
由于此MCAPI事件描述符应用实例中大量借鉴了H.248协议事件描述符的概念,因此当MGCP协议的事件描述符结构适配为MCAPI消息时,需要做一些适配,举例如下(不同的描述符有不同的需要适配的概念,依据具体协议及应用场合而定)1、MGCP的请求标识(Request Identifier)通过该描述符的Request ID来指示。
2、MGCP的请求事件(Requested Events)对应于本描述符的请求事件列表,每一个MGCP事件对应的包名,事件名需转化为H.248中包名,事件名编码,如果H.248中没有相应定义可进行扩展。
3、MGCP中的数图参数可以适配到本描述符的内嵌数图描述符的数图值(DigitMao Value)中,MGCP中,目前没有给数图定义数图名,可以使用物理端口标识(Endpoint ID)的描述作为数图名。
本发明网关控制应用程序接口消息以事务作为交互信息的基本结构单位,可以充分兼容MeGaCo/H.248和MGCP两种协议的消息结构,同时有效保证命令相关性以事务作为有效范围所需信息的完整性。这种体系结构实际上借鉴了MeGaCo/H.248协议“事务-行动-命令-描述符”的分级嵌套结构,为应用提供了一种概念层次清晰易于分级操作的信息组织形式。例如考虑目标应用对于协议消息是否有行动或者命令相关性的需求,也可以灵活决定交互信息的基本结构单位为事务还是更小的行动或命令。
网关控制应用程序接口以MeGaCo/H.248协议命令集作为交互数据的命令集,可以充分体现该协议在对业务的更高抽象性和更好扩展性等方面的优势,有效满足当前和未来新业务实现的管理和控制需求。而MGCP协议可以通过呼叫模型的转换和命令及参数的替代,以比较小的代价实现自身信息格式与网关控制应用程序接口信息格式之间的转换。最终的效果就是,业务处理只需理解网关控制应用程序接口信息,也即一种类似MeGaCo/H.248协议的信息,而无需过多关注协议适配究竟是MeGaCo/H.248还是MGCP协议。
如果MGC或MG只是实现一些简单的呼叫控制功能,那么协议报文中的行动或命令一般没有相关性,也即事务中的行动没有关系或者单个事务中只有单个行动,行动中的命令没有关系或者单个行动中只有单个命令,那么,网关控制应用程序接口的信息组织以行动或命令作为结构单位也是可行的,可采用行动、命令、描述符或命令、描述符的分级嵌套数据结构。
本实施例只是媒体网关控制应用程序接口消息结构的一个具体应用,其中具体参数的有无、参数排列的顺序以及参数值的具体含义对于不用的应用情况会有所区别,但仍然属于本专利发明范畴。
本发明提供了一套MCAPI消息数据结构,可以描述MeGaCo/H.248和MGCP两种协议的协议数据单元,并且符合MeGaCo/H.248和MGCP两种协议的应用处理流程,也即用这套新的数据结构可以屏蔽掉MeGaCo/H.248和MGCP两种协议在数据结构上的差异。同时,由于协议栈必须使用针对本协议的协议数据单元来编解码,为了对业务侧模块屏蔽与协议紧耦合的协议数据单元,便于协议栈编解码模块和协议应用模块(即业务模块)的分离,本发明加强了协议模块与业务模块接口的数据结构中业务侧所能认知的概念,使用明确的数据结构描述消息、事务、行动、命令、描述符、描述符属性以及一些参数结构,弱化协议数据单元中特定协议语法的概念,使得业务层只需要处理一种MCAPI消息,而不是要分别处理MeGaCo/H.248消息和MGCP消息,从而极大地方便了产品的升级扩展,减少了MGC和MG的维护成本。
权利要求
1.一种媒体网关控制协议应用适配兼容的实现方法,其特征在于,包括以下步骤在两种媒体网关控制协议(MeGaCo/H.248、MGCP)独立的协议适配层和共用的业务处理层之间,采用统一的媒体网关控制应用程序接口(MGCAPI)进行通信,所述的MGCAPI采用事务作为接口交互信息的基本单位,并采用事务、行动、命令、描述符的分级嵌套数据结构;所述MCAPI接口消息在协议适配层进行与各自媒体网关控制协议消息的转换,将MCAPI消息转换为各自协议栈能够处理的协议数据单元,并将各自协议栈解码之后的协议数据单元转换为MCAPI消息。
2.根据权利要求1所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于所述事务、行动、命令、描述符的分级嵌套数据结构是指一个MCAPI消息包含一个事务,所述的事务由事务头和事务体组成,一个事务体中包含若干个行动;行动由行动头和行动体组成,一个行动体中包含若干个命令;命令由命令头和命令体组成,一个命令体中包含若干个描述符;一个描述符由描述符头和描述符体组成,一个描述符体中包含若干个属性。
3.根据权利要求1或2所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于如果事务中的行动或命令没有相关性,则网关控制应用程序接口以行动或命令作为接口交互信息的基本单位,并采用行动、命令、描述符或命令、描述符的分级嵌套数据结构。
4.根据权利要求1或2所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于所述的事务头中包括以下字段协议名称(Protocol Name)、版本号(Version)、消息方向(Direction IND)、连接标识号(Association ID)、行动个数(#of Actions)、事务号(TransactionID)、请求立即确认掩码(IAR_P)、编解码格式掩码(Code_F)、选项标识(Choice)、请求立即确认字段(immAckRequired)、消息长度(Message Length)、可选信息错误描述符(Error Descriptor)。
5.根据权利要求1或2所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于所述的行动头中包括以下字段行动类型(ActionType)、命令个数(#of Commands)、关联号(Context ID)、选项标志(Flag1、Flag2)、行动长度(Action Length)、可选信息长度(OptionalInformation Length)。
6.根据权利要求5所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于当行动类型为行动请求(Action Request)时,选项标志(Flag1)指示行动请求是否存在,若存在,所述的行动头中还包括关联优先级掩码(P_P)、紧急关联掩码(E_P)、拓扑请求掩码(T_P)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)、拓扑请求个数(#of Topology)、拓扑描述符(Topology Descriptor);另一选项标志(Flag2)指示关联属性审计请求(contextAttrAuditRequest)是否存在,若存在,所述的行动头中还包括拓扑描述符(Topology Descriptor)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)。
7.根据权利要求5所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于当行动类型为行动响应(Action Reply)时,选项标志(Flag1)指示行动级错误描述符(Error Descriptor)是否存在,若存在,所述的行动头中还包括相应的错误描述符;另一选项标志(Flag2)指示行动响应是否存在,若存在,所述的行动头中还包括关联优先级掩码(P_P)、紧急关联掩码(E_P)、拓扑请求掩码(T_P)、关联优先级字段(Priority)、紧急关联指示字段(Emergency)、拓扑请求个数(#ofTopology)、拓扑描述符(Topology Descriptor)。
8.根据权利要求1或2所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于所述的命令头中包括以下字段命令类型(Command Type)、描述符个数(#of Descriptors)、终结点个数(#ofTermination IDs)、命令可选掩码(O_P)、通配响应掩码(WR_P)、终结点列表掩码(TL_P)、命令可选标志字段(optional)、通配响应标志字段(wildcard return)、命令长度(Command Length)、终结点参数(Termination ID Parameter)。
9.根据权利要求1或2所述的媒体网关控制协议应用适配兼容的实现方法,其特征在于所述的描述符头部中包括以下字段描述符编号(Descriptor ID)和描述符长度(Length)。
全文摘要
一种媒体网关控制协议应用适配兼容的实现方法,在两种媒体网关控制协议(MeGaCo/H.248、MGCP)独立的协议适配层和共用的业务处理层之间,采用统一的媒体网关控制应用程序接口(MGCAPI)进行通信,MGCAPI采用事务作为接口交互信息的基本单位,并采用事务、行动、命令、描述符的分级嵌套数据结构;MCAPI接口消息在协议适配层进行与各自媒体网关控制协议消息的转换,将MCAPI消息转换为各自协议栈能够处理的协议数据单元,并将各自协议栈解码之后的协议数据单元转换为MCAPI消息。利用本发明可加快MGC和MG开发进程,方便产品的升级扩展,并减少MGC和MG的维护成本。
文档编号H04L29/06GK1607786SQ20031010085
公开日2005年4月20日 申请日期2003年10月13日 优先权日2003年10月13日
发明者张鹏, 林扬波, 张长付, 贾琳, 陆裕刚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1