媒体网关和媒体网关控制器内部的预编解码方法

文档序号:7550678阅读:173来源:国知局
专利名称:媒体网关和媒体网关控制器内部的预编解码方法
技术领域
本发明涉及应用于通信领域的一种编码方法,具体地说,涉及通信领域中NGN(下一代网络,如WCDMA/CDMA2000/TD-SCDMA/SOFTSWITCH)系统中MGC(媒体网关控制器)和MGW(媒体网关)内部处理H.248消息的预编解码方法。
背景技术
MGC(如MSC SERVER)与MGW之间为标准的Mc口,采用H.248协议。H.248协议被3GPP/3GPP2等组织采用,作为NGN网络承载和控制分离的协议标准,主要用于MGC和MGW之间的网关控制以及承载建立控制。采用标准的二进制或文本编解码对Mc口上传输的消息进行编解码处理。
分析业务处理过程,MGC内部处理Mc口的H.248消息是按过程区分的,一个“过程”包含多个字段(IE),多个“过程”可以组合在一个“命令”或“动作”中进行交互,而多个“命令”或“动作”组合成一个“事务”。
目前有43个过程,参见表1,它们的结构区别比较大。例如Chang FlowDirection过程,不考虑上下文和终端相关信息,在此结构中仅包含了“FlowDirection”一个字段,在系统内部表示,只需要一个字节就可以了。而对于Prepare Bearer过程来说,比较全的消息结构一般会占用上百、上千字节。目前没有相关规范限制在MGC和MGW系统内部处理模块之间如何存储和传递这些过程,本发明在进行二进制编码或文本编码之前,在MGC和MGW内部采用了预编解码的方法处理这些过程消息。
这些过程是可以进行组合的,例如在发送Prepare Bearer过程时,可以携带Change Flow Direction过程,这些过程在Mc口是在一个消息中传递给MGW或MGC的,而如果在MGW或MGC内部按照两个过程分别处理,会带来MGW或MGC处理过程的复杂性。
同时有些过程中的字段,如“Circuit Switched Data”字段,往往有几百字节,如果不采取编码方式,当不包含“Circuit Switched Data”字段时,也需要给这个字段留下空间,增大了码流,影响了系统的处理效率。
下表为业务实现时,所涉及的过程表1


发明内容
本发明要解决的技术问题是提供一种媒体网关和媒体网关控制器内部的预编解码方法,提高MGW和MGC处理内部消息的效率。
为了解决上述技术问题,本发明提供了一种媒体网关和媒体网关控制器内部的预编解码方法,其中,预编码方法包括以下步骤读取过程中包含的第一个字段及其字段标识;判断该字段的类型;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识;读取下一个字段并按上述方式处理,直到处理完该过程中所有的字段;按上述方法完成所有待发送过程的字段级的预编码;将经字段级预编码后的过程组合成过程列表;加上列表中过程所操作的终端和上下文;加上列表中过程的序号信息,结束;相应的预解码方法包括以下步骤接收到经过程级和字段级预编码的消息;解出所述过程列表中所包含过程的序号信息;解出所述过程操作的上下文和终端;利用所述序号信息解出所述过程列表中所包含的各个过程;读取消息中过程的第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值;将所有过程均按上述方法处理,直到处理完所有的过程。
由上可知,本发明的预编解码方法通过对过程字段的预编解码和对过程的组合编码,可以减少MGC和MGW处理过程的复杂性,减少了MGC和MGW对这些消息处理所占用的资源,提高处理的效率。
本发明要解决的技术问题是提供一种媒体网关和媒体网关控制器内部过程级的预编解码方法,可以有效地将多个过程进行组合编码,提高MGW和MGC内部消息的处理效率。
为了解决上述技术问题,本发明提供了一种媒体网关和媒体网关控制器内部过程级的预编解码方法,其中,过程级的预编码方法包括以下步骤将待发送的过程依次组合成过程列表;加上所述过程操作的终端和上下文;加上过程列表中所包含过程的序号信息,结束;相应的过程级预解码方法包括以下步骤接收到经过程级预编码的消息;解出所述过程列表中所包含过程的序号信息;解出所述过程操作的上下文和终端;利用所述序号信息解出所述过程列表中所包含的各个过程。
进行过程级的编码后,可以将多个过程组合在一个消息中发送,从而减少了MGW和MSC内部收、发消息的次数,在对一个消息的处理过程中可以处理多个过程,因而减少了MSC处理过程的复杂性,提高了系统的处理效率。
本发明要解决的另一技术问题是提供一种媒体网关和媒体网关控制器内部字段级的预编解码方法,可以有效地减少码流,提高系统的处理效率。
为了解决上述技术问题,本发明提供了一种媒体网关和媒体网关控制器内部字段级的预编解码方法,其中,字段级的预编码方法包括以下步骤读取过程中包含的第一个字段及其字段标识;判断该字段的类型;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识;读取下一个字段并按上述方式处理,直到处理完过程中所有的字段,结束;相应的字段级预解码方法包括以下步骤接收到经字段级预编码的消息;读取第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值;继续读取下一个字段的第一个字节,并按上述方式处理,直到处理完过程中所有的字段。
对过程字段级进行预编解码后,码流将大大减小,使MGC和MGW内部存储和发送Mc口消息更加容易,提高了系统处理效率。


图1是本发明实施例预编解码与H.248消息编码关系的示意图。
图2是本发明实施例Request(请求)消息和Acknowledge(证实)消息的过程级的预编解码结构示意图。
图3是本发明实施例Indication(指示)消息和Response(响应)消息的过程级的预编解码结构示意图。
图4A和图4B分别是本发明实施例过程级的预编码和预解码的流程图。
图5是本发明实施例Modify Bearer Characteristics字段级预编解码的结构示意图。
图6A和图6B分别是本发明实施例字段级的预编码和预解码的流程图。
图7A和图7B分别是本发明实施例过程级的预编码和预解码的流程图。
具体实施例方式
图1是本发明实施例预编解码与H.248消息编码关系的示意图。如图所示,MGC和MGW中模块1、2、...n将过程消息进行预编码,形成预编码码流后,传递给H.248模块,H.248模块先进行预解码,然后再进行二进制编码或文本编码,传递给对端网元。当H.248模块接收到消息后,将Mc消息解码后,编码为预编码的码流,传递给模块1、2、...n,模块1、2、...n进行预解码,形成内部处理的过程消息结构体。
本发明的预编解码的方法有两种层次一种层次是在过程级别进行预编解码,即对不同的过程进行组合,这样可以减少系统内部处理Mc口消息过程的复杂性。另一种层次是在过程字段级进行预编解码,即对过程内部的字段进行编解码,编码后的码流将大大减小。这两种层次的编码方式并不互相排斥,可以仅在一个层次上对过程进行编解码,而同时在两个层次上对过程进行编解码时效果更好。
MGC发起的请求消息为Request消息,MGW对Request消息的响应消息为Acknowledge消息;MGW发起的请求消息为Indication消息,MGC对Indication消息的响应消息为Response消息。下面结合附图,对本发明的具体实施例作进一步的详细描述。
图2是本发明实施例Request消息和Acknowledge消息的过程级的预编解码结构示意图。由过程序号部分、上下文部分、终端部分及过程列表部分的信息组成。图中小方框内的数字代表了过程序号,序号的含义具体请对照表1,用于指示预编码后的结构中包含哪些过程。结构中的前面四个字节标识了本Request消息或Acknowledge消息包含了哪些过程,例如第一个字节的MSB比特位(即图中标有“1”的方框)标识是否包含Change Flow Direction过程,LSB比特位(即图中标有“8”的方框)标识是否包含ActivateInterworking Function过程。5-8字节为所操作的Context(上下文),9-15字节为所操作的Termination(终端),这两个字段可以为多个过程共享。后面的字节包含了过程列表,可以按照最高四个字节的比特位的值判断包含哪些过程。
图3是本发明实施例Indication消息和Response消息的过程级的预编解码结构示意图。也是由过程序号部分、上下文部分、终端部分及过程列表部分的信息组成,各个组成部分的含义和图2相同,第1~3个字中的过程序号是Indication消息和Response消息所包含的过程,这点和图1不同。
与上述的过程级预编解码结构相对应,本发明实施例过程级预编码和预解码的方法的流程如图4A和图4B所示,包括相应的过程级预编码方法和过程级预解码方法,其中,过程级预编码方法包括以下步骤将待发送的过程依次组合成过程列表,步骤100;再加上所述过程操作的终端和上下文,步骤110;
再加上过程列表中所包含过程的序号信息,步骤120。
过程级预解码方法包括以下步骤接收到经过程级预编码的消息,步骤200;解出所述过程列表中所包含过程的序号信息,步骤210;解出所述过程操作的上下文和终端,步骤220;利用所述序号信息解出所述过程列表中所包含的各个过程,步骤230。
其中对步骤110和步骤220中的上下文和终端的排列顺序不做要求。
在步骤210中,解出过程列表中包含哪些过程的信息,用于在步骤230中定位各个过程的在码流中的起始位置。例如包含两个过程,即过程序号1和3所在的比特位的值1,表示这个过程列表包含过程1和3。如果过程1包含10个字节,则在步骤230中对各过程解码时,认为前面的10个字节为过程1的信息,而从第11个字节开始为过程3的信息。其它过程不在此过程列表中。
在3GPP 23.205协议中,对各个过程的组成字段(IE)作了定义。而字段标识(IEI)可以由自己定义,用于区分不同的IE,以利于字段级编解码时,识别是否存在某个IE。过程的字段类型可以分为以下三种强制类型(V)包含字段值。可选定长类型(TV)包含类型、字段值。可选变长类型(TLV)包含类型、长度和字段值。
图5是本发明实施例Modify Bearer Characteristics过程字段级预编解码结构示意图。Modify Bearer Characteristics过程的请求消息包含以下字段,如表2所示表2

“Context”(上下文)是强制字段,它有固定的长度,所以在编码时,只需要将“Context”字段的四个字节拷贝入码流的前4个字节即可。
“Bearer Termination”(承载终端)也是强制字段,即也是固定长度,但长度为8个字节,需要将“Bearer Termination”字段的8个字节拷贝入码流的第5~12个字节。
“Bearer Service Characteristics”(承载业务属性)字段是可选定长字段,所以在编码上采取TV方式,即第一个字节为Type(IEIInformation ElementIdentity),假设其IEI为0x01,并将该IEI编到码流中的第13个字节,所以解码时,如果第13个字节为0x01,表示存在“Bearer Service Characteristics”字段,反之如果不存在此IEI,表示此过程不包含“Bearer ServiceCharacteristics”字段。由于此字段是定长字段,所以没有必要指定后续Value所占的字节数,此处定义Value长度为L1,所以在IEI后续的L1个字节为此字段的Value。
“Circuit Switched Data”(电路交换数据业务属性)字段是可选变长字段,所以编码上采取TLV方式,第一个字节为IEI,含义和作用同上述的定长字段“Bearer Service Characteristic”,但此处的IEI值为0x02。由于此字段是变长字段,所以在IEI后面,将包含这个字段的长度,长度占一个字节,第一个比特为扩展表示,如果为1,表示没有扩展,如果为0,表示有扩展。对于Value长度大于127的字段,Length字段可以扩展,扩展后的Length可以采取低比特、低字节优先的方式,获得Length的值,此处Length的值为L2,即解码时,在Length长度其后L2个字节为此字段的Value。
“Codec”(编解码)字段是可选变长字段,编码上同样采取TLV方式,IEI、Length、Value的含义和作用同“Circuit Switched Data”字段的描述,但此处的IEI值为0x03。
“Framing Protocol”(帧协议属性)字段是可选定长字段,编码上采取TV方式,IEI、Value的含义和作用同“Bearer Service Characteristics”字段的描述,但此处的IEI值为0x04。
以上这些IEI的值的提出仅仅是为了便于描述,在实际实施方案,所有的过程中的IEI需要统一编码。
这里仅仅以Modify Bearer Characteristics举例,阐述了字段级预编解码的结构,对于其它过程的预编解码的结构,同样可以划分为以上三类字段,按上述方法处理,在此不再细述。
上述字段级的预解编码结构使MGC和MGW内部存储和发送Mc口消息更加容易。例如在上述例子中,“Circuit Switched Data”字段往往有几百字节,如果不采取编码方式,当不包含“Circuit Switched Data”字段时,也需要给这个字段留下空间,如果采取预编解码方式,则可以将这个字段不再编入码流,提供了系统处理效率。
与上述的过程级预编解码结构相对应,本发明实施例字段级的预编码和预解码方法的流程如图6A和图6B所示,包括相应的字段级预编码方法和字段级预解码方法,其中,字段级预编码方法包括以下步骤读取过程中包含的第一个字段及其字段标识,步骤300;判断该字段的类型,步骤310;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识,步骤320;读取下一个字段并按上述方式处理,直到处理完过程中所有的字段,步骤330。
字段级预解码方法包括以下步骤接收到经字段级预编码的消息,步骤400;读取第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型,步骤410;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值,步骤420;继续读取下一个字段的第一个字节,并按上述方式处理,直到处理完过程中所有的字段,步骤430。
如果同时采用过程级和字段级的预编码方法,如图7A所示,相应的预编码流程包括以下步骤
读取过程中包含的第一个字段及其字段标识,步骤500;判断该字段的类型,步骤510;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识,步骤520;读取下一个字段并按上述方式处理,直到处理完该过程中所有的字段,步骤530;按上述方法完成所有待发送过程的字段级的预编码,步骤540;将经字段级预编码后的过程组合成过程列表,步骤550;再加上列表中过程所操作的终端和上下文,步骤560;再加上列表中过程的序号信息,步骤570。
如图7B所示,相应的预解码流程包括以下步骤接收到经过程级和字段级预编码的消息,步骤600;解出所述过程列表中所包含过程的序号信息,步骤610;解出所述过程操作的上下文和终端,步骤620;利用所述序号信息解出所述过程列表中所包含的各个过程,步骤630。
读取消息中过程的第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型,步骤640;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值,步骤650;将所有过程均按上述方法处理,直到处理完所有的过程,步骤660。
因为IEI号码是统一编号,根据该IEI号即可判断各过程的起始位置。当然也可以在过程各字段前再加上一个长度信息用于定位,这时,对过程的字段级预解码,并不一定局限在一个处理模块中对各过程进行顺序的处理。
本发明所提出的在MGC系统内部采取预编解码的方法,虽然进行预编解码有一定的系统消耗,但考虑它同时可以提高MGC和MGW系统内部处理Mc口消息的效率,减少处理Mc口消息过程的复杂性,这种代价是适当的。
权利要求
1.一种媒体网关和媒体网关控制器内部的预编解码方法,其中,预编码方法包括以下步骤读取过程中包含的第一个字段及其字段标识;判断该字段的类型;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识;读取下一个字段并按上述方式处理,直到处理完该过程中所有的字段;按上述方法完成所有待发送过程的字段级的预编码;将经字段级预编码后的过程组合成过程列表;加上列表中过程所操作的终端和上下文;加上列表中过程的序号信息,结束;相应的预解码方法包括以下步骤接收到经过程级和字段级预编码的消息;解出所述过程列表中所包含过程的序号信息;解出所述过程操作的上下文和终端;利用所述序号信息解出所述过程列表中所包含的各个过程;读取消息中过程的第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值;将所有过程均按上述方法处理,直到处理完所有的过程。
2.一种媒体网关和媒体网关控制器内部过程级的预编解码方法,其中,过程级的预编码方法包括以下步骤将待发送的过程依次组合成过程列表;加上所述过程操作的终端和上下文;加上过程列表中所包含过程的序号信息,结束;相应的过程级预解码方法包括以下步骤接收到经过程级预编码的消息;解出所述过程列表中所包含过程的序号信息;解出所述过程操作的上下文和终端;利用所述序号信息解出所述过程列表中所包含的各个过程。
3.一种媒体网关和媒体网关控制器内部字段级的预编解码方法,其中,字段级的预编码方法包括以下步骤读取过程中包含的第一个字段及其字段标识;判断该字段的类型;如果该字段是强制类型,直接拷贝该字段的值;如果该字段是可选定长类型,拷贝该字段的值并加上该字段的字段标识;如果该字段是可选变长类型,拷贝该字段的值并依次加上该字段的长度和字段标识;读取下一个字段并按上述方式处理,直到处理完过程中所有的字段,结束;相应的字段级预解码方法包括以下步骤接收到经字段级预编码的消息;读取第一字段的第一个字节,根据字段标识的规定识别第一个字段的类型;如果该字段是强制类型,直接解出该字段的值;如果该字段是可选定长类型,根据该字段标识判断其长度后,解出该字段的值;如果该字段是可选变长类型,继续读取其后续的长度字节,根据得到的长度值解出该字段的值;继续读取下一个字段的第一个字节,并按上述方式处理,直到处理完过程中所有的字段。
全文摘要
本发明公开了一种在MGC和MGW内部对Mc口上的消息,在进行二进制编码或文本编码之前,进行预编解码的方法,包括过程级预编解码、字段级预编解码及其组合,其中过程级预编解码是将多个过程组合在一起,并加上各过程序号的信息;字段级预编解码是对过程的各个字段,根据其类型,必要时加上字段标识和字段长度信息。本发明的预编解码方法可以减少MGC和MGW内部对这些消息处理所占用的资源,提高MGC和MGW处理Mc口消息的效率、减少这部分处理的复杂性。
文档编号H04L12/66GK1545282SQ20031011351
公开日2004年11月10日 申请日期2003年11月13日 优先权日2003年11月13日
发明者石松, 张银华, 范浩捷, 石 松 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1