在媒体网关控制协议中实现事务传输控制的方法

文档序号:7925382阅读:163来源:国知局
专利名称:在媒体网关控制协议中实现事务传输控制的方法
技术领域
本发明涉及通信技术领域,尤其涉及媒体网关控制协议的事务传输控制处理的实现。
背景技术
媒体网关控制协议(Media Gateway Control Protocol,简称MGCP)是因特网工程业务组(The Internet Engineering Task Force,简称IETF)的RFC2705协议。
MGCP(RFC2705)是由两个基本协议简单网关控制协议(Simple GatewayControl Protocol,简称SGCP)和IP设备控制协议(Internet Protocol DeviceControl,简称IPDC)融合而成的媒体网关控制协议。
如图1所示为实现MGCP协议的系统组网图。MGCP协议采用了分离网关思想,将以前信令和媒体集中处理的网关分解为两部分媒体网关(MediaGateway,简称MG)和呼叫代理服务器(Call agent,简称CA)。CA处理信令,MG处理媒体,CA控制MG的动作。从本质上将MGCP是一种主/从(master/slave)关系,由CA向MG发出要执行的命令,MG将所搜集的消息上报给CA。CA相当于主(master),MG相当于从(slave)。CA分配给MG具体任务,并处理MG上交的请求。CA和MG都是网络中的网元,它们互相之间通过MGCP协议进行通讯。
作为应用层的协议,MGCP不仅定义了CA和MG之间的信令接口,还定义了CA和MG之间的信令传输方法。MGCP采用一种基于事务处理(Transaction)在MGCP协议承载网络的传输机制。所述承载网络包括因特网(INTERNET)或异步传输网(ATM),具体由MGCP协议定义。
MGCP接口消息由命令消息和响应消息组成,本发明中,命令消息和响应消息统称为事务。命令消息必须包含命令头,响应消息必须包含响应头。每个命令需要得到响应,而响应需要接收方回送响应证实,即采用三次握手方式传递消息。当命令得不到响应时,命令发送方将定时重传命令到接收方,而命令接收方必须发送临时响应,重传和临时响应的过程直到命令接收方向命令发送方发送命令响应为止。
命令头由一个命令行和一套参数行组成。命令行由请求动词、事务标识(TransactionID)、执行命令的端点名、协议版本号4部分组成。TransactionID的值从1到999999999,TransactionID是标识事务的关键字。参数行由参数名(大部分情况下是一个大写字母),一个分号,一个空格和参数值组成。响应头由一个响应行和多个(也可以没有)响应行组成。响应行由响应码、TransactionID、可选的注释3部分组成,相互间用空格符分隔。
为了加快消息传送速度,MGCP消息采用UDP(User Datagram Protocol,即用户数据报协议)传送。由于UDP本身只能提供不可靠的服务,因此MGCP协议必须采取措施保证消息的可靠传输和正确处理。正由于是在UDP上传送,MGCP消息会丢失,如果发送命令的实体没有及时收到响应,发送命令的实体会重发该命令。对于大多数命令来说,重复执行此命令会引起混乱,因此传输过程必须能够确保同一命令只被执行一次。
MGCP协议中事务标识(TransactionID)是标识事务的关键字,但对事务标识TransactionID没有进一步的描述,这样可能会造成不同的媒体网关发出的信令中包含有同样的TransactionID,此时造成接收方不能明确区分究竟信令消息来自哪个媒体网关、也不能区分后到的另一个网关的信令是否一条新的命令,从而造成不能保证同一命令只被执行一次的技术问题。

发明内容
本发明的目的是提供一种在媒体网关控制协议中实现事务传输控制的方法,以解决现有MGCP协议执行过程中,接收方不能明确区分信令消息来自哪个媒体网关、以及不能保证同一命令只被执行一次的技术问题。
实现本发明所要解决的技术问题而采取的技术方案概括如下,提供一种在媒体网关控制协议中实现事务传输控制的方法,包括以下步骤(1)呼叫代理服务器或者媒体网关发送命令请求时,将该命令对应的事务传输识别信息保存在发送队列中,所述事务传输识别信息包括该命令对应的源IP地址、媒体网关端口号、事务标识;(2)媒体网关控制协议信令处理实体接收命令时,根据该命令对应的事务传输识别信息先在响应队列中查找,若匹配,重发原响应消息,若不匹配,则在接收队列中查找,若在接收队列中匹配,回送临时响应消息,若在接收队列中也不匹配,则在接收队列中保存该命令相关的传输识别信息,执行命令后回送响应,所述回送响应中包含该命令的事务传输识别信息,同时将该响应对应的事务传输识别信息保存在响应队列中;
(3)呼叫代理服务器或者媒体网关接收到响应时,根据该命令对应的事务传输识别信息在响应队列中查找,若匹配,则丢弃该响应,若不匹配,在发送队列中查找,若在发送队列中匹配,继续判断该响应是否为临时响应,若是临时响应,则调整发送队列中相应命令的重发定时器,若不是临时响应,则作相应处理。
采用本发明的技术方案,实现了事务的可靠传输和正确处理,确保了同一命令只被执行一次,从而使MGCP信令能够正确执行,同时大大降低了网关的配置要求,简化了媒体网关的协议处理,方便媒体网关实现接入。


图1示出了MGCP协议系统的组网图;图2示出了本发明实现MGCP协议层的系统示意图;图3示出了本发明实现MGCP协议事务传输控制的发送命令的处理流程示意图;图4示出了本发明实现MGCP协议事务传输控制的发送响应的处理流程示意图;图5示出了本发明实现MGCP协议事务传输控制的接收命令的处理流程示意图;图6示出了本发明实现MGCP协议事务传输控制的接收响应的处理流程示意图。
具体实施例方式
下面将结合附图,举例说明本发明的具体实施的方式。
考虑到在实现过程中,单独依靠MGCP协议所要求的事务标识TransactionID并不能完全区别不同的事务,因此在本发明中,为了对不同事务的区别而增加了源IP地址和媒体网关MG的端口号信息进行识别,依靠三者来区别不同的事务。
MGCP信令处理实体要在存储器中保存其对最近事务回送的响应以及目前正在执行的事务的信息,在本发明中,该事务对应的事务传输识别信息保存在所构造的发送队列中,所述发送队列保存在存储器中,所述事务传输识别信息包括该命令对应的源IP地址、媒体网关端口号、事务标识。当MGCP信令处理实体接收到命令后,应根据该命令对应的事务传输识别信息同最近回送的响应相比较,如果发现已经处理过,则不执行该事务,并重新回送该响应;否则与当前正在执行的事务相比较,如果发现与当前正在执行的事务匹配,则回送一个临时响应(Pending)消息,表示该事务正在执行,如果不匹配,则该接收到的事务是新的事务并对该命令进行相应的处理。相应地,在本发明中,MGCP协议栈中构造3个消息队列,即发送队列、接收队列和响应队列,每个队列中的元素都包含每个事务对应的事务传输识别信息,即3个特征事务标识TransactionID、源IP地址、媒体网关端口号。
图2示出了本发明实现MGCP协议层的系统示意图,如图所示,协议传输处理层,负责事务的传输控制处理,下文涉及的3个消息队列都位于此层中,业务层负责业务处理。
如图5所示,媒体网关控制协议信令处理实体接收命令时,根据该命令对应的事务传输识别信息先在响应队列中查找,若事务标识、源IP地址和媒体网关端口号均能在响应队列中找到一致的信息,亦即获得匹配,则重发响应队列中的原响应消息,若不匹配,则在接收队列中查找已经收到的命令请求,若在接收队列中事务传输识别信息获得匹配,则回送临时响应消息,若在接收队列中也不匹配,表明该命令消息是个新请求,则在接收队列中,申请空闲数据区,保存该命令相应的事务传输识别信息在数据区中,同时将该命令消息上报给业务处理层,由业务处理层对该命令消息进行相应处理,并将处理结果返回给协议传输处理层,协议传输处理层再向网关回送响应,回送的响应中包含该命令的事务传输识别信息,同时将该响应对应的事务传输识别信息保存在响应队列中,如图4所示。
如图6所示,呼叫代理服务器或者媒体网关接收到响应时,根据该命令对应的事务传输识别信息在响应队列中查找,若事务标识、源IP地址和媒体网关端口号均能在响应队列中找到一致的信息,亦即获得匹配,则丢弃该响应,若不匹配,则在发送队列中查找,若在发送队列中不匹配,则丢弃该响应,若在发送队列中匹配,继续判断该响应是否临时响应,若该响应为临时响应(响应原因代码等于在大于等于100和小于200范围之内),调整发送队列中相应命令的重发定时器(即控制定时重传命令),若该响应不为临时响应,则作相应处理。由于响应事务是对发出的命令的响应,因此可以根据发出的命令的特点,简化比较,例如,如果发出的命令的事务标识TransactionID在目前的发送队列中是唯一的,那么可以只匹配事务标识,其他两项(源IP地址和媒体网关端口号)可以不进行匹配比较。
如图3所示,当呼叫代理服务器或者媒体网关发送命令请求时,将该命令对应的事务传输识别信息保存在发送队列中,以便于在接收到响应时进行查找匹配,同时在发送命令请求时构造重发机制,即设置重发定时器和重发次数。
尽管参照实施例对所公开的涉及在媒体网关控制协议中实现事务传输控制的方法进行了特别描述,本领域技术人员将能理解,在不偏离本发明的范围和精神的情况下,可以对它进行形式和细节的种种显而易见的修改。因此,以上描述的实施例是说明性的而不是限制性的,在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明的范围之内。
权利要求
1.一种在媒体网关控制协议中实现事务传输控制的方法,其特征在于包括以下步骤(1)呼叫代理服务器或者媒体网关发送命令请求时,将该命令对应的事务传输识别信息保存在发送队列中,所述事务传输识别信息包括该命令对应的源IP地址、媒体网关端口号、事务标识;(2)媒体网关控制协议信令处理实体接收命令时,根据该命令对应的事务传输识别信息先在响应队列中查找,若匹配,重发原响应消息,若不匹配,则在接收队列中查找,若在接收队列中匹配,回送临时响应消息,若在接收队列中也不匹配,则在接收队列中保存该命令相关的传输识别信息,执行命令后回送响应,所述回送响应中包含该命令的事务传输识别信息,同时将该响应对应的事务传输识别信息保存在响应队列中;(3)呼叫代理服务器或者媒体网关接收到响应时,根据该命令对应的事务传输识别信息在响应队列中查找,若匹配,则丢弃该响应,若不匹配,在发送队列中查找,若在发送队列中匹配,继续判断该响应是否为临时响应,若是临时响应,则调整发送队列中相应命令的重发定时器,若不是临时响应,则作相应处理。
2.根据权利要求1所述的方法,其特征在于步骤(1)中还包括以下步骤设置重发定时器和重发次数。
3.根据权利要求1所述的方法,其特征在于步骤(3)中还包括以下步骤在发送队列中查找时,若所述响应的事务传输识别信息中事务标识在发送队列中是唯一的,则可以只匹配事务标识,而源IP地址、媒体网关端口号不需进行匹配比较。
全文摘要
本发明公开了一种在媒体网关控制协议中实现事务传输控制的方法,包括以下步骤发送命令请求时,将事务传输识别信息保存在发送队列中,事务传输识别信息包括该命令对应的源IP地址、媒体网关端口号、事务标识;接收命令时,先在响应队列中查找,若匹配,重发原响应消息,若不匹配,则在接收队列中查找;接收到响应时,在响应队列中查找,若匹配,则丢弃该响应,若不匹配,在发送队列中查找,若匹配,继续判断该响应是否为临时响应,若是临时响应,则调整发送队列中相应命令的重发定时器,若不是临时响应,则作相应处理。采用本发明的技术方案,实现了事务的可靠传输和正确处理,确保了同一命令只被执行一次,从而使MGCP信令能够正确执行。
文档编号H04L12/24GK1494289SQ02137799
公开日2004年5月5日 申请日期2002年10月31日 优先权日2002年10月31日
发明者徐长洪, 李明栋 申请人:深圳市中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1