具体实施方式
下面结合附图来详细说明本发明的具体实施例。在此,需要说明的是,为了示例的目的,本发明给出如下的实施例,但是本发明并不限定于下面具体的实施例,本领域的普通技术人员,根据本发明的教导,可以以其他方式来实现本发明。本说明书附图用于说明本发明,并构成本说明书的一部分,用于结合说明书来详细说明本发明的原理。
媒体流路由技术
本发明的MR媒体路由技术的核心任务是完成路由对象的媒体流互联互通。衡量媒体路由器的性能,其路由效率是一个重要因素,即要求通过简单快速处理即能连通媒体流。同时,由于音频、视频的通讯通常需要支持多方通话(多方视频会议),新业务支持等需求,要求媒体路由器能够根据信令对通讯连接进行动态修改。
通讯实体上的端口分配策略决定了通讯连接修改的难易程度,同时根据通讯端口即可作为路由快速索引。
MR媒体路流由技术通过通讯终端以及通讯所在的终端之间的网络连通情况,智能的判断选择最优的媒体流路由,引入了Bridge、Shortcut、Mirror三种路由类型为媒体流通过媒体路由器选择最优路由,根据路由类型生成路由规则形成路由表。因此,MR媒体流路由技术既能方便的支持相应的呼叫控制协议及其业务,又能高效的完成媒体流的路由工作。
媒体流端口资源分配/回收策略
在NGN系统中,媒体流通常指RTP/RTCP流,因此以下描述媒体流均指RTP/RTCP流。支持RTP/RTCP媒体流需要2个通道(也即固定实体上的两个通讯端口)分别用于传输RTP和RTCP媒体流。(协议建议分配一对奇偶相连的端口,偶数端口用于RTP和奇数端口RTCP。)
资源分配
对一条连接每次在MR上分配2对媒体流端口,一对在终端连接的一侧,一对在CA软交换侧通讯实体一侧,以便对呼叫信令的媒体描述部分(如SDP)的替换。同时CA侧的通讯实体端口作为呼叫的另一条连接的查询索引,用于决定两条连接是否属于同一个呼叫。
由于媒体描述都是属于通讯实体的,通常选择媒体描述的端口号为索引,把这些端口号线性规定在一定的范围内(如20000-50000),资源分配也是线性分配。这样可以通过线性查找快速定位媒体流资源。
资源回收
由于端口资源是线性分配的,在连接正常释放的情况下,通过线性查找即可准确定位资源并进行是否。
对于异常的连接,通常可以通过连接上的媒体流包的统计来判断该连接是否已经吊死,从而决定是否连接。这也是对媒体资源回收的强有力的保障。
媒体路由类型判别
媒体路由判别对象
媒体路由判别是针对呼叫中的媒体连接控制信令进行的,通常只有这些信令才携带媒体描述信息。如:MGCP/H.248的CRCX、MDCX等信令,SIP的INVITE、ACK(INVITE)、200OK(INVITE)、180Ringing、183Session Progress等信令,H.323的H.245媒体控制信令、H.225.0的快速启动和H.245通道信令等。
一般的,MGCP/H.248、SIP的媒体描述是承载在以上描述的相应信令的SDP中,H.323的媒体描述是承载在相应信令上的媒体逻辑通道和能力描述的单元中。因此,本文中的媒体描述分析和替换都是针对以上信令的SDP和相应的单元的。
媒体路由类型判别流程
Bridge、Mirror、Shortcut三种路由类型是并列的,MR上所有的媒体路由都可以判断为这三种路由类型。
三种媒体路由类型的判别流程如图3所示:从图3中可以看出,MR首先接收媒体连接控制信令;然后根据控制信令中的信息依次判断是否属于桥接路由(bridge)、镜像路由(mirror)和短路路由(shortcut);然后根据所判断的路由类型生成路由连接规则和相应的路由表;然后根据路由规则或路由表进行媒体描述的替换,以进行网络的连接。
下面分别描述三种类型的媒体流路由方法:
媒体流路由类型:桥接(Bridge)
Bridge路由类型如图4所示。图4示出了Bridge路由类型的示意图,从图4中可以看出,该Bridge路由类型包括:
CA:软交换,由于控制和承载的分离,软交换不参与媒体流通讯,因此图中没有和其他组建连线;
路由实体:相当于连接;
Comm entity8:通讯实体8,其中8是通讯实体的编号,这里是指CA侧的通讯实体(MR上的通信实体,可以为一个网卡,或者网卡上的指定端口);
Comm entity12:通讯实体12,其中12是通讯实体的编号,这里是指在MR管理下的部分终端相连的通讯实体;
SR1:媒体流资源1,是指不在MR管理下的终端的媒体流资源(在主叫或被叫的终端上),该资源对于该路由类型不是必须的;
SR2:媒体流资源2,MR在CA侧的通讯实体8上分配的媒体流资源,以连通CA侧终端的媒体流(若存在);
SR3:媒体流资源3,MR在CA侧的通讯实体12上分配的媒体流资源,以连通终端的媒体流;
SR4:媒体流资源4,是指和本连接相关的终端的媒体流资源(在主叫或被叫的终端上)。
在创建连接的呼叫信令中,若没有指定媒体描述,如:发起呼叫的第一个创建连接信令。或者对端的媒体描述不是MR上的资源的情形,如:在MR管理下的终端设备和非MR管理下的设备(如TG)通话时。这两种情况创建连接的媒体流穿过MR,连通呼叫两端的终端。MR在这类呼叫过程中起到媒体流桥接作用,因此称为Bridge(桥接)路由。
根据路由类型,媒体描述(也即IP地址和端口号)生成MR上的IP路由规则,即可实现Bridge的路由。
判据
两种情况需要创建Bridge路由,也即Bridge路由规则判据:
Bridge判据一:未携带媒体资源的创建连接信令:
创建连接的信令中未携带媒体资源描述,这种创建信令通常是有CA下发的,一般发生在呼叫早期,因此是一种过渡的路由类型。
对此类信令的创建连接请求,创建Bridge路由,以便提供放音等媒体流通道。由于未携带对端的媒体流资源,因此图4中的SR1是不存在的,这种情况不是完整的Bridge路由,一般会根据呼叫的后继信令转换为完整的Bridge、Mirror或者Shortcut路由。
由于未携带对端媒体资源的连接通常是呼叫创建连接的初始部分,根据后来的连接修改和创建信令可能需要修改路由类型为Mirror或者Shortcut的路由类型。
根据路由类型生成的双向连接路由规则:
SR4<=>SR3<=>SR2
Bridge判据二:MR管理外的终端和MR下的终端相互呼叫:
根据媒体资源描述的判断,MR管理外的设备即是指来自CA的信令中的媒体描述在CA侧已分配媒体资源中不能找到对应的索引。
由于连接双方的媒体流资源是明确的,因此是完整的Bridge路由。
根据路由类型生成的双向连接路由规则:
SR4<=>SR3<=>SR2<=>SR1
MR上的与该呼叫相关所有媒体资源保留到呼叫结束,支持呼叫过程中的不同路由类型的切换即可实现多方通话等新业务。
路由表:
Bridge判据一路由表
根据上节所述,其路由规则:
SR4<=>SR3<=>SR2
对应的路由表:
Bridge判据一路由表
源媒体资源 |
本地转发的媒体资源 |
转发至远端的媒体资源 |
目的媒体资源 |
SR4 |
SR3 |
SR2 |
空 |
空 |
SR2 |
SR3 |
SR4 |
在表中,
SR4,SR3,...是指IP地址+端口号的二元组。
源媒体资源(Local Resource):即源IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port。
MR上本地转发的媒体资源(Forward Local):即和源相连的MR上的IP+Port。
MR上转发至远端的媒体资源(Forward Remote):即和目的相连的MR上的IP+Port。
目的媒体资源(Remote Dest):即目的IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port。
本例中路由表建立的是双向连接通道,因此存在两条路由规则。根据呼叫的实际情况和呼叫的进展,可只存在一个路由规则,通常是仅建立前向连接或者仅建立后向连接的情形。
Bridge判据二路由表
根据上节所述,其路由规则:
SR4<=>SR3<=>SR2<=>SR1
对应的路由表:
Bridge判据二路由表
源媒体资源 |
本地转发的媒体资源 |
转发至远端的媒体资源 |
目的媒体资源 |
SR4 |
SR3 |
SR2 |
SR1 |
SR1 |
SR2 |
SR3 |
SR4 |
在表中,
SR4,SR3,...是指IP地址+端口号的二元组;
源媒体资源(Local Resource):即源IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port;
MR上本地转发的媒体资源(Forward Local):即和源相连的MR上的IP+Port;
MR上转发至远端的媒体资源(Forward Remote):即和目的相连的MR上的IP+Port;
目的媒体资源(Remote Dest):即目的IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port。
本例中路由表建立的是双向连接通道,因此存在两条路由规则。根据呼叫的实际情况和呼叫的进展,可只存在一个路由规则,通常是仅建立前向连接或者仅建立后向连接的情形。
媒体描述替换
媒体描述的替换是路由技术实现的最后一步,对于Bridge的路由类型,对于呼叫/控制信令的媒体描述替换是必要的。
发往SR1所属终端的信令:相应的对端媒体描述应该替换为SR2,指示该终端对端连接为SR2,只有这样网络才是连通的。
发往SR4所属终端的信令:相应的对端媒体描述应该替换为SR3,指示该终端对端连接为SR3,只有这样网络才是连通的。
媒体流路由类型:Mirror
Mirror路由类型如图5所示。图5示出了Mirror路由类型的示意图,在图5中,
CA:软交换,由于控制和承载的分离,软交换不参与媒体流通讯,因此图中没有和其他组建连线;
路由实体:相当于连接;
Comm entity8:通讯实体8,其中8是通讯实体的编号,这里是指CA侧的通讯实体;
Comm entity12:通讯实体12,其中12是通讯实体的编号,这里是指在MR下的部分终端相连的通讯实体;
Comm entity13:通讯实体13,其中13是通讯实体的编号,这里是指在MR下的部分终端相连的通讯实体;
SR1:媒体流资源1,MR内部在CA侧的通讯实体8上分配的媒体流资源,以便为该连接连通CA侧的媒体流;
SR2:媒体流资源2,MR在CA侧的通讯实体12上分配的媒体流资源,以连通终端的媒体流;
SR3:媒体流资源3,是指和本连接相关的终端上的媒体流资源(在主叫或被叫的终端上);
SR4:媒体流资源4,是指和本连接相关的终端上的媒体流资源(在主叫或被叫的终端上);
SR5:媒体流资源5,MR在CA侧的通讯实体13上分配的媒体流资源,以连通终端的媒体流;
SR6:媒体流资源6,MR内部在CA侧的通讯实体8上分配的媒体流资源,以便为该连接连通CA的媒体流。
在MR管理下在不同通讯实体的终端,或者同一通讯实体下来自不同NAT(防火墙)终端相互呼叫时,媒体流经过MR,路由转发到呼叫另一端。在MR看来,在这类呼叫中将呼叫双方终端互为镜像,因此称为Mirror(镜像)路由。
根据路由类型,媒体描述(也即IP和端口)生成MR上的IP路由规则,即可实现Mirror的路由。
判据
Mirror路由判据一:在MR管理下的在不同通讯实体的终端相互呼叫。根据终端发送的信令目的地址和端口号可知MR管理下的终端是来自不同通讯实体。
Mirror路由判据二:同一通讯实体下并且来自不同NAT(防火墙)的终端相互呼叫。对于相同的通讯实体的终端,根据NAT上Pinhole IP的不同,即可简单的判断是否来自同一个NAT。
两种判据所生成的路由规则是相同的:
SR3<=>SR2<=>SR5<=>SR4
MR上的与该呼叫相关所有媒体资源保留到呼叫结束,支持呼叫过程中的不同路由类型的切换即可实现多方通话等新业务。
路由表
根据上节所述,其路由规则:
SR3<=>SR2<=>SR5<=>SR4
对应的路由表:
Mirror路由表
源媒体资源 |
本地转发的媒体资源 |
转发至远端的媒体资源 |
目的媒体资源 |
SR3 |
SR2 |
SR5 |
SR4 |
SR4 |
SR5 |
SR2 |
SR3 |
在表中,
SR4,SR3,...是指IP地址+端口号的二元组。
源媒体资源(Local Resource):即源IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port;
MR上本地转发的媒体资源(Forward Local):即和源相连的MR上的IP+Port;
MR上转发至远端的媒体资源(Forward Remote):即和目的相连的MR上的IP+Port;
目的媒体资源(Remote Dest):即目的IP+Port,若存在防火墙NAT,通常在正常通讯时替换为防火墙上的Pinhole地址+Port。
本例中路由表建立的是双向连接通道,因此存在两条路由规则。根据呼叫的实际情况和呼叫的进展,可只存在一个路由规则,通常是仅建立前向连接或者仅建立后向连接的情形。
媒体描述替换
媒体描述的替换是路由技术实现的最后一步,对于Mirror的路由类型,对于呼叫/控制信令的媒体描述替换是必要的。
发往SR3所属终端的信令:相应的对端媒体描述应该替换为SR2,指示该终端对端连接为SR2,只有这样网络才是连通的。
发往SR4所属终端的信令:相应的对端媒体描述应该替换为SR5,指示该终端对端连接为SR5,只有这样网络才是连通的。
媒体流路由类型:Shortcut
Shortcut类型如图6所示。参见图6,图6示例了Shortcut路由类型的示意图,在图中,
CA:软交换,由于控制和承载的分离,软交换不参与媒体流通讯,因此图中没有和其他组建连线;
路由实体:相当于连接;
Comm entity8:通讯实体8,其中8是通讯实体的编号,这里是指CA侧的通讯实体;
Comm entity12:通讯实体12,其中12是通讯实体的编号,这里是指在MR下的部分终端相连的通讯实体;
SR1:媒体流资源1,MR内部在CA侧的通讯实体8上分配的媒体流资源,以便为该连接连通北向的媒体流;
SR2:媒体流资源2,MR在CA侧的通讯实体12上分配的媒体流资源,以连通终端的媒体流;
SR3:媒体流资源3,是指和本连接相关的终端上的媒体流资源(在主叫或被叫的终端上);
SR4:媒体流资源4,是指和本连接相关的终端上的媒体流资源(在主叫或被叫的终端上);
SR5:媒体流资源5,MR在CA侧的通讯实体13上分配的媒体流资源,以连通终端的媒体流;
SR6:媒体流资源6,MR内部在CA侧的通讯实体8上分配的媒体流资源,以便为该连接连通CA的媒体流。
在MR管理下的在同一通讯实体,并且来自同一个防火墙(NAT)下的终端相互呼叫时,为减少网络带宽的浪费和提升MR处理能力,此时可以判定媒体流不需要经过MR,呼叫双方媒体流直接通讯。这相当于MR在这类呼叫中将呼叫双方的媒体流连接短路,因此称为Shortcut(短路)路由。
根据路由类型,在MR上可以不生成路由表,直接替换呼叫/控制信令即可实现Shortcut的路由。
判据
Shortcut路由判据:在MR管理下在同一通讯实体,并且来自同一个防火墙(NAT)下的终端相互呼叫。根据终端发送的信令目的地址和端口号可知MR管理下的终端是来自同通讯实体,若NAT上Pinhole IP相同,即可简单的判断是来自同一个NAT。
路由规则可以简单的描述为:
SR3<=>SR4
从路由规则可知,该路由和MR没有关系,也就是说,两个终端直接通讯,MR侧不需要生成路由规则。
MR上的与该呼叫相关所有媒体资源保留到呼叫结束,支持呼叫过程中的不同路由类型的切换即可实现多方通话等新业务。
路由表
Shortcut路由类型在MR上不需要路由表。
媒体描述替换
媒体描述的替换是路由技术实现的最后一步,对于Shortcut的路由类型,对于呼叫/控制信令的媒体描述替换是必要的。
发往SR3所属终端的信令:相应的对端媒体描述应该替换为SR4,指示该终端对端连接为SR4,只有这样网络才是连通的。
发往SR4所属终端的信令:相应的对端媒体描述应该替换为SR3,指示该终端对端连接为SR3,只有这样网络才是连通的。
若存在多层NAT或者VLAN的情形,由于MR的层面根据IP和端口号一般只能判断一层防火墙(NAT),当Shortcut路由中的两个终端在多次(2层及其以上)不同的NAT中,或者在不同VLAN中时,可能呼叫导致单通。
因此,在Shortcut路由的通讯中,应该保持对终端连接的审计(现有的软交换通讯协议均支持连接审计,如MGCP的AUCX,SIP的Options等),若连接审计的数据表明呼叫单通则快速切换到Mirror的路由类型即可。
路由类型的切换:
三种媒体流路由相对独立,封装性好。
根据以上的描述可知,对应的Bridge、Mirror、Shortcut三种媒体流路由类型有判据,相应的路由规则,路由表,媒体描述替换方法。它们之间相互独立,并且有良好的封装性,在确定了媒体流路由以后,即可根据不同的媒体流路由类型和相应的方法完成路由以及媒体描述替换等路由相关的工作。
路由类型切换
由于三种媒体流路由的相对独立和良好的封装性,在根据判据确定媒体流路由类型以后,即可进入各自媒体流路由的处理,为路由类型的切换提供了最方便的方法。因此可以方便的支持多方通话等电信新业务。
由此可知,本发明具有如下优点:
MR上的媒体资源实现线性分配、线性查找,准确释放。
通过简单判据,如CA的端口索引,可快速决定两个连接确定的呼叫的路由类型,避免大规模计算和遍历,减少计算复杂度,从而节省了呼叫接续时间。
根据Bridge、Mirror路由类型生成路由规则形成路由表,Shortcut路由类型可以不生成路由表,路由表简单清晰。
Bridge、Mirror、Shortcu三种路由类型相对独立,封装性好,可以方便的相互切换,支持多方通话等电信新业务。
Shortcut路由类型的引入,平均减少了1/3的媒体流通过MR,大幅提升MR的媒体路由能力。
MR的媒体流路由技术已成功的应用于尚阳科技(中国)有限公司的媒体路由产品PacketMaster系列产品,并作为PacketMaster系列产品的核心技术。
上述实施例和优点仅仅是示例性的,不能构成为本发明的限制。本发明的教导可以很容易地应用于其它类型的装置。本发明的描述用于说明,而不用来对权利要求的范围进行限制。许多改变、修改和变化对于本领域的普通技术人员来说是显而易见的。