通过边界网关继承优化ip多媒体承载路径的改进方法和系统的制作方法

文档序号:7736872阅读:177来源:国知局
专利名称:通过边界网关继承优化ip多媒体承载路径的改进方法和系统的制作方法
技术领域
本发明涉及互联网多媒体子系统(IMQ网络中用于通过边界网关继承来进行承载路径优化的改进方法和系统。更为具体地,本发明涉及用于通过使用替代的会话描述协议(SDP)参数的网际协议(IP)领域来标识备选端对端媒体路径的方法和装置。
背景技术
尽管本发明特别针对IP多媒体承载路径优化,并因而将通过对其的具体参考进行描述,但是可以理解本发明可在其他领域和应用中具有其他用途。例如,本发明可以用于各种数据传输系统和方法,包括使用SDP及SDP供给/应答(offer/answer)模型的其他系统和方法。这种方法和系统将允许基于会话发起协议(SIP)的网络旁路(bypass) —个或多个边界网关,否则一个或多个边界网关将包括在媒体路径内。
作为背景技术而言,基于IMS/SIP的网络是支持多种用户设备类型的基于网际协议的网络。该用户设备使用互联网语音(VoIP)和其他方法来在跨IP网络的实时应用中传输数据和语音。基于SIP的网络呼叫具有呼叫信令路径和承载路径。呼叫信令路径处理用来建立、连接和处理呼叫的呼叫控制数据。承载路径是在其中进行会话的语音数据连接,承载路径也称为多媒体会话路径或媒体路径。
在基于IMS和其他SIP的网络中,在由各网络定义的IP领域之间部署边界网关。 在IP领域内,每个IP端点是每个其他IP端点使用共用的IP地址空间可到达的。边界网关通过限制对IP领域内IP端点的接入来向IP领域提供安全性。与多媒体流关联的媒体路径可能沿着端对端媒体路径穿越任意数目的IP领域。当边界网关接入路径上的额外的 IP领域时,有机会创建更短的媒体路径。
因此,行业中需要考虑改进边界网关旁路过程。行业中进一步需要考虑如下的边界网关旁路过程,该边界网关旁路过程不需要单个端对端会话描述协议(SDP)供给/应答事务所需之外的额外信令消息,并且在会话IP端点中不需要新过程。行业中进一步需要允许边界网关针对所有会话防护性地管理安全性并且聚合带宽使用。最后,行业中需要提供一种优化过程,该优化过程缩短承载路径必须进行的路由,从而释放边界网关资源,缩减通过IP网络的承载流量并且最小化端对端延迟,因而改善服务质量(Q0S)。
本发明构思了一种新的和改进的系统和方法,该系统和方法解决了上述困难和其他困难。

发明内容
本发明提供了用于通过边界网关继承来优化承载路径的改进的系统和方法。本发明考虑到应用层网关(ALG)将附加的连接性信息添加到可能被路径上的其他ALG识别的 SDP消息中。这将考虑到标识媒体路径上外部边界网关以及SDP消息中的连接性信息的替代项来旁路这些外部边界网关。本发明还将使用精确的SDP参数替代过程来标识备选媒体路径,这继而正确地构建了新的经优化的端对端媒体路径。
在本发明的一个方面中,提供了一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法。该方法包括接收包括网际协议领域列表的消息,其中列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;至少部分地基于会话发起协议信令信息确定针对媒体路径的传出网际协议领域;如果传出网际协议领域在网际协议领域列表中,则旁路与列表上的至少一个网际协议领域相关联的至少一个边界网关。
根据本发明的另一个方面,提供了一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法。该方法包括接收包括网际协议领域列表的消息,其中列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;以及, 如果网际协议领域列表上的网际协议领域是从受控边界网关可到达的,则旁路与先前穿越的网际协议领域或次级网际协议领域相关联的至少一个边界网关。
在本发明的又一方面中,提供了一种用于标识网际协议多媒体子系统中的最优端对端媒体路径的系统。该系统包括列表,该列表包括为建立呼叫媒体路径而标识已穿越的网际协议领域和次级网际协议领域中的至少一个的信息;以及应用层网关,该应用层网关配置为接收具有连接和端口信息的会话描述协议供给/应答,确定会话描述协议供给/应答可能穿越的传出网际协议领域,检查列表,并且如果传出网际协议领域与列表上的媒体路径已穿越的网际协议领域或者次级网际协议领域相匹配,则替代连接和端口信息以促进边界网关旁路。
在本发明的又一方面中,提供了一种标识网际协议多媒体子系统中的端对端媒体路径的方法。该方法包括建立网际协议领域列表,其中该列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;接收具有连接和端口信息的会话描述协议消息;确定媒体路径可能穿越的传出网际协议领域;在列表中检查媒体路径可能穿越的传出网际协议领域;以及,如果传出网际协议领域与列表上的媒体路径已穿越的网际协议领域或次级网际协议领域相匹配,则替代会话描述协议消息中的连接信息和端口信息以促进至少一个网关的旁路。
在本发明的又一方面中,提供了一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法。该方法包括接收包括网际协议领域列表的会话描述协议供给,其中该列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;通过全局可到达的用户代理统一资源标识符来联系目标应用层网关从而建立备选媒体路径;确定备选媒体路径将显著改善端对端媒体路径;以及,操作会话描述协议应答以插入备选媒体路径。
依据下面提供的具体描述,本发明的进一步的应用性范围将显而易见。然而应当理解,因为本发明精神和范围内的各种变化和修改对于本领域技术人员而言是显而易见的,所以尽管具体的描述和特定的例子显示了本发明的优选实施例,但是其仅通过说明的方式而给出。


当前描述的实施例存在于设备的各个部分的构造、布置和组合以及方法的步骤中,借以获得如在下文中更加充分地阐述的构思的目标,该目标在权利要求中详细指出,并且在附图中示出,其中 图1示出了整个通信网络系统的一部分,该通信网络系统包括多个用户代理端点、多个ALG、多个边界网关以及多个IP领域; 图2示出了使用次级BG的示例配置; 图3示出了具有主动旁路选项的示例配置; 图4示出了与图3中的配置对应的呼叫流; 图5是示出了根据本发明的方法的一个实施例的流程图;以及 图6是示出了根据本发明的方法的另一实施例的流程图。
具体实施例方式在本文中使用下面的首字母缩略词 3GPP-第三代合作伙伴计划 3pcc-第三方呼叫控制 ALG-应用层网关 BG-边界网关 DCCP-数据报拥塞控制协议 FQDN-完全合格域名 GRUU-全局可到达的UA URI ICE-交互式连接建立 IMS-网际协议多媒体子系统 IP-网际协议 IPSEC-IP 安全 IPv4-IP 版本 4 IPv6-IP 版本 6 LAN-局域网 MD5-消息摘要5算法 NAT-网络地址转换 NAPT-网络地址端口转换 RG-住宅网关 RTCP-RTP控制协议 RTP-实时传输协议 SDP-会话描述协议 SIP-会话发起协议 SP-空间 STUN-NAT底部简单穿越 TCP-传输控制协议 UA-用户代理 UDP-用户数据报协议 URI-统一资源标识符 操作概述 现参见附图,其中附图仅用于说明所公开的实施例的目的,而非用于限定实施例的目的,图1提供了可以并入本发明的系统的整体视图。通信基础架构A包括用户代理端点UAl和UA2之间的典型呼叫配置,其中SIP信令通过至少一个应用层网关(示出的ALGl、 ALG2、ALG3以及ALG4)和未示出的其他SIP服务器在UA之间传输,并且一个RTP多媒体流通过边界网关(BG1、BG2、BG3和BG4)和与每个UA相关联的可能的住宅网关(仅示出与UA2 相关联的一个RG)在UA之间传输。每个BG由其对应的ALG控制。图中的R1、R2等表示与媒体路径的每个分段相关联的IP领域。应当理解,这仅仅表示通信网络基础架构的一种实施方式。本发明可以并入多种不同的通信网络配置。
在下面更加详细讨论的操作中,目前描述的实施方式针对通过旁路边界网关来优化IP多媒体承载路径。本发明描述了一种解决方案,该解决方案使用协作网络元件的系统以便标识何时可以旁路边界网关以获取更有效的媒体流。本发明可以由通过基于使用SDP 消息收发(例如基于SIP的第三代合作伙伴计划(3GPP)的IMS)的协议的网络来并入。
基础架构A中使用的VoIP电话可以与用户代理共同定位,或者可以单独定位。在大多数情况下,电话的本地IP容量能够允许共同定位模型。当单独定位时,用户代理通常与信令网关共同定位到其他网络,其他网络例如公共交换电话网络(PSTN)。在此种情况下, 电路通常通过PSTN连接至信令网关。
然而应当理解,除VoIP电话之外,其他用户设备也可以被代替。用户设备的其他例子包括但不限于无线多媒体电话、移动电话、有线电话、膝上计算机、WiFi电话、WiMax电话等。这些设备是用于通过可兼容线路通信的典型用户设备。
通过本发明,可以通过用户设备将呼叫处理至IMS。图1示出了 IP端点UAl和UA2 之间的典型呼叫配置。SIP信令通过至少一个ALG和多种其他SIP服务器(未示出)在UA 之间传输。实时传输协议(RTP)多媒体流通过边界网关(BG1-BG4)以及可选地通过与用户代理中的一个或二者相关联的住宅网关RG在UAl和UA2之间传输。每个边界网关由其对应的ALG控制。图1中的IP领域R1-R6与多媒体会话路径的每个分段相关。边界网关 BG1-BG4和RG充当相应的IP领域的IP端点和接入点。每个边界网关接入至少两个相应的 IP领域。
IMS和其他SIP网络可以选择在由每个网络定义的IP领域之间部署边界网关。在 IP领域内,使用共用IP地址空间从任意其他的IP端点可到达每个IP端点。每个边界网关通常提供防火墙或网络地址端口转换器(NAPT)来限制对领域内IP端点的接入。应用层网关(ALG)控制每个边界网关来根据需要为每条SDP媒体线分配新IP地址和传输协议端口, 并且更新每个转发的SDP供给和SDP应答中的SDP连接和端口信息来将边界网关高效地插入每个端对端多媒体流。
与多媒体流相关联的媒体路径可能穿越会话IP端点之间任意数目的IP领域。只要媒体路径上的每个边界网关除了与每个边界网关直接连接的两个IP领域之外不与媒体路径上的其他IP领域连接,就不存在使用已分配的边界网关资源来优化媒体路径的选项。 但是如果路径上的任一 IP端点或任何边界网关直接接入路径上其他IP领域中的一个,则存在较短的媒体路径。
在此实现以下过程的一系列ALG将能够建立具有最少数目边界网关的媒体路径, 而无需折衷与路径上的边界网关相关联的任何接入控制,其中在该过程中每个ALG可以确定在与其互连的IP领域内的媒体路径上的实体的IP地址和端口信息。如果信令路径上的一个或多个ALG不实现该过程,则仍可能发生边界网关旁路,但是一些潜在的可旁路的边界网关可能保留在媒体路径中。
此处描述的过程还包括“主动旁路(active-bypass)”选项,用以试图在与路径相关联的现有边界网关之间找到较短的媒体路径分段。这个选项需要额外的SIP信令来为每个备选媒体路径分段候选建立SIP对话,然而基础算法(base algorithm)通过将信息添加到已有的SDP供给/应答消息来起效。由于这种额外的信令开销,这种选项应当仅用在当可以确定可能显著改善媒体路径分段时。
这种扩展还与托管型NAPT穿越方案协作,从而建立同一 IP领域内的IP端点之间的直接媒体路径。
RFC 3264, Rosenberg, J.禾口 H. Schulzrinne,"An Offer/Answer Model with Session Description Protocol (SDP),,(2002 年 6 月)描述了 SDP 供给 / 应答模型,该模型能够使SIP网络为每个会话中的多媒体流建立端对端媒体路径。此处描述的是两种SDP 扩展属性以及对用于转发SDP供给和SDP应答的ALG过程的一些扩展。路径上的ALG根据单个端对端SDP供给/应答事务内的需要来操作SDP,从而能够建立具有最小数目边界网关的端对端媒体路径。SDP扩展属性描述了路径上每个IP领域(其是用于对路径上的一个或多个边界网关进行旁路的候选者)的媒体连接和端口信息。
本发明描述了对实现NAPT穿越的ALG方法的优化和扩展。用于NAPT穿越的其他选项包括中间盒控制协议(Middlebox Control ftOtocol)、NAT底部简单穿越(STUN)及其修订、STUN中继使用以及特定领域IP。NAPT穿越的最近和最全面的方法为互动式连接建立(ICE),其使用STUN为由供给/应答模型建立的媒体流标识用于NAPT穿越的候选地址。
尽管ALG方法可能需要每当边界网关插入媒体路径时插入SIP背对背用户代理 (B2BUA)以修改SDP,但是ICE同样有一些劣势。ICE需要在每个IP领域内部署STUN服务器、将可用的STUN服务器的位置通知给SIP端点的装置、发现包含在SDP供给和应答中的候选地址的额外信令、传送选定的连接信息的额外信令以及在端点中实现ICE程序。禾IJ用 ICE,边界网关必须配置为允许端点与STUN服务器之间的信令,但不接收与实际使用哪些以及RTP流中将使用哪些远程地址有关的限定信息。这使得边界网关难于限制对已知的IP 源地址的接入并且难于预测带宽使用,这是用于部署边界网关的两个重要原因。
此处描述的边界网关旁路过程避免了需要部署STUN服务器,不需要除单个端对端SDP供给/应答事务需要之外的附加信令(尽管可选的程序确实产生附加的信令),不需要将由端点支持的新过程,允许边界网关限制对已知IP源地址的接入,并且允许边界网关可预测地管理针对所有会话的聚合带宽使用。
由于这种扩展不并入媒体路径的端对端连接检查,所以它利用了 IP领域的精确提供。
这种扩展的使用一般可应用在如RFC 3325,Jennings, C.,Peterson, J.和 Watson, Μ. ,"Private Extensions to the Session Initiation Protocol(SIP)for Asserted Identity within Trusted Network”(2002 年 11 月)中定义的“信任域(Trust Domain) ”内。这种信任域中的节点被其用户和端系统明确地信任,从而根据必要来检查并操作SDP消息以当限制来自未授权源对与信任域相关联的IP领域中的端点接入时穿越和 /或旁路防火墙和NATS。
因为此处描述的这些过程包括对来自每个IP领域的候选连接和端口信息进行密码认证的选项,所以它们可以在当信令穿越非信任网络或一般的互联网时的某些情形下使用。这种扩展需要信令路径上的ALG具有接入和操作SDP消息的能力,这与端对端地整体保护和加密这些消息的一般建议不一致。
为了算法简单起见,这种扩展在大多数情况下根据可用的信息找到改进的媒体路径,但并不一定是所有情况下的最短可能路径。一种示例部署是使用边界网关来控制与其他网络的多媒体会话的IMS网络。
通过端对端SDP供给/应答交换来建立UA之间的每个多媒体流的媒体路径,其中每个ALG可以选择修改与SDP中的每个媒体线(media line)相关联的连接和端口信息以根据正常的ALG过程在媒体路径中插入其BG。每个ALG还可以执行基础算法过程来标识何时可以旁路一个或多个BG和/或RG,以及修改转发的SDP消息以实现媒体路径中相应的变化来旁路BG。
图2示出了另一示例呼叫配置,其中次级BG用来建立具有较少BG的媒体路径。 在ALG将初始SDP供给从UAl向UA2转发时,ALGl至ALG5初始分配BGla、BG2、BG3、BG4和 BGfe。这些BG支持穿越唯一的IP领域Rl至R6(图中未标出)。因为这些BG在媒体路径中没有形成任何环路,所以如果算法限定于在固定的媒体路径中寻找环路,则不可能旁路它们中的任意一个。
当转发初始SDP时,如果沿路径的ALG (诸如ALG1)控制接入除了其控制的默认媒体路径上的那些IP领域之外的IP领域(即既非Rl又非R2)的BG,则ALG可以通过在转发的SDP中包含与附加IP领域有关的信息来公布其能够接入这些附加IP领域。
如果后续ALG(例如ALG5)确定其控制直接连接到这样的IP领域的BG(例如 BG5b),从路径中的先前ALG控制的BG(例如,ALGl和BGlb)可接入该IP领域,则如果该备选媒体路径似乎比初始路径有改进,ALG可以选择使用该备选媒体路径。在此例子中,算法通过BGlb和BG^3建立了从UAl到UA2的备选媒体路径,同时显著减少了穿越的BG的数目。 注意,本例中BGlb和BG^3之间的IP领域(R7)不与IP领域Rl至R6中的任何一个匹配。 如果存在连接,算法还可以例如(未示出)通过BGla和BG^3,或者通过BGlb和BGfe,或者通过BGla和BGfe来生成备选路径。
边界网关旁路基础算法和主动旁路选项假设ICE未被架构中的任何实体所使用, 尽管可能有混合过程。
假设根据RFC 4566,Handley,M.,Jacobson, V.和 Perkins, C. , "SDP: SessionDescription Protocol,,(2006 年 7 月),RFC 3264,Rosenberg, J.禾口 H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP),,(2002 ^6^) \)JsR 可能的其他扩展,通过呈送针对每个媒体线的标准连接和端口信息,来参与标准SDP供给/ 应答协商。如果有必要,则ALG可以使用在RFC 3605,Huitema,C. ,"Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP) ”(2003 年 10 月)中定义的rctp属性来标识RCTP端口,而不使用期望的默认值。
边界网关旁路基础算法和主动旁路选项一般在ALG内实现。过程对除了与每个媒体线相关联的连接和端口信息之外的SDP供给/应答协商的任何方面具有很小的影响或者不具有影响。
本发明定义了 SDP扩展属性“受访领域(visited-realm) ”,其提供针对信令路径上穿越的在前IP领域的连接和端口信息。受访领域的每个实例具有实例号码、领域标识符、连接和端口数据以及使用每个IP领域私有的算法计算的用以确保受访领域数据完整性的可选的加密签名。
本发明还定义SDP扩展属性“次级领域(secondary-realm) ”,其提供针对与信令路径相关联的次级IP领域的连接和端口信息。次级领域属性包括与受访领域属性相同类型的信息。
注意,SIP对话内每个SDP供给/应答事务中的连接和端口信息可以按照相同的方式处理,如此处所述的,必要时利用每个SDP供给/应答事务来对BG进行重新分配和去除分配以适应与会话IP端点相关联的IP领域内任何潜在的变化。
主动旁路选项操作的概述 图3示出了使用具有主动旁路选项的基础算法的例子。如果穿越IP领域Rl至R6 的初始BG分配未提供旁路任何BG的机会(如图2中所示),并且如果不存在用于提供在基础算法中可用的任何备选选项的连接,则主动旁路选项可以发现附加的备选。注意,在这种情形下,BGlb和BG^3不共享公共IP领域(实际上,在本例中所有IP领域都不同),所以主动旁路选项通过ALG6创建新的信令路径以建立通过BG6的新的媒体路径分段。
当实现主动旁路选项时,下面的附加信息可以包括在由基础算法针对SDP供给 (如果可用)生成的每个受访领域和次级领域属性内相应BG的近似地理位置;该BG和紧接在前的BG或端点之间的先前媒体路径分段上的IP分组的近似延迟;相同媒体路径分段上近似分组丢失率;以及如果ALG通过全局唯一的主机名称是可到达的,则具有针对相应 SIP对话和媒体线的唯一实例id的ALG的全局可到达的地址(以临时GRUU的形式)。
每个ALG应当在针对SDP供给生成的第一受访领域属性中包括地理位置、延迟和丢失信息,并且可以包括它们以用于其它受访领域或次级领域属性(如果信息与第一受访领域属性显著不同)。每个ALG可以在针对SDP供给中的媒体线生成的第一受访领域属性中包括GRUU。无需在针对相同媒体线的后续受访领域或次级领域属性中重复GRUU。
当在基础算法的第二阶段中处理SDP应答时,在根据基础算法确定哪些BG (如果有的话)待旁路之后,仍然控制BG的每个ALG确定是否可能通过经由GRUU可到达的另外的ALG来建立明显更短的媒体路径分段。每个ALG基于与每个BG和媒体路径分段相关联的可用的地理位置、延迟和分组丢失信息来做出决定。
如果ALG确定可以能够建立更短的媒体路径分段,则ALG(例如ALG5)将SIPINVITE请求发送至通过GRUU可到达的“最佳” ALG (例如ALG1),以建立单独的对话和对应的备选媒体路径分段(例如通过ALG6和BG6)。如果ALG成功建立了备选媒体路径分段并且该路径似乎比根据基础算法确定的相应路径显著更好,则ALG指示BG将更短的路径分段插入整体媒体路径。
图4示出了与图3中配置相对应的呼叫流程。步骤Ia到If描述了经由ALG从 UAl到UA2的SDP供给的进程,步骤加到2f描述了根据基础算法的SDP应答的对应进程。 在步骤加之后,ALG5确定其可以能够建立通过ALGl的较短的媒体路径分段并且在步骤3a 和3b中通过ALG6将空SIP INVITE请求发送至ALGl。步骤4a、4b、fe和5b描述了 ALGl与 ALG2之间经由ALG6的新的SDP供给/应答事务,其试图建立备选媒体路径分段。如果成功建立了备选媒体路径分段并且有显著改善,则在步骤2b到2e中,ALG5向ALGl用信号发送备选媒体路径分段的选择。在步骤2f中,ALGl在将最终SDP应答转发至UAl之前,将备选媒体路径分段并入到用于主要对话的媒体路径中。
对IP领域的考虑 对于在此描述的过程,在使用术语“领域”进行摘要式认证之外,术语“IP领域”还具有特定的意义。IP领域具有两个目的(1)用于标识私有装置,共享私有信息的网络实体通过该装置可以验证通过中介通信的数据保持不变;以及( 用于标识通过完全互连的公用IP地址空间网络从一个网络实体何时可到达另一网络实体。
随后清楚定义的针对受访领域和次级领域扩展属性的语法描述了使用安全证书实现目的(1)的装置。
如下所述,存在可应用目的O)的许多网络配置。
例如,RG/NAPT后的私有LAN上的住宅内所有主机可以被认为是位于其自己的IP 领域内,如R6的情形。提供从网络中的ALG穿越托管式NAPT的操作器可以为各个这样的住宅标识单独的IP领域,并提供安全框架以确保例如当它们包括在通过外部网络中的SIP 服务器建立的端对端会话中时,可以直接在同一住宅的主机之间提供媒体路径,由此旁路潜在的相当数量的BG,如若不然则将使用标准ALG过程来分配BG。
类似的例子是当存在使用具有去往外部网络的一个或多个NAPT的私有IP地址空间的私有企业网络时。应用与住宅情况同样的原理。提供托管式NAPT穿越的ALG为企业创建IP领域,将来自企业IP领域的适当IP地址与选定的标识符相关联,并且寻找旁路网络中的BG的机会。
不与NAPT相关联的会话端点也可以直接与网络中的ALG连接。可以为与ALG连接的这些互相可到达的端点指派IP领域。
一旦媒体路径进入利用ALG与接入和对等网络隔离的网络,则与网络内互相可到达的BG的媒体连接相关联的所有地址可以认为是另一 IP领域的一部分。每当ALG在前一跳中穿越IP领域之后将SDP供给转发回至该IP领域时,便有机会旁路穿越“环路(loop),, 的所有BG返回至IP领域。
两个互连的网络可能具有通过互联网上的IPSEC关联直接连接的ALG/BG。可以存在创建的一个或多个IP领域,仅用于标识这些有限连接选项。因为通过这些IP领域旁路 BG的机会有限,所以网络可以选择不标识这些IP领域,并且可以选择不转发针对这些IP领域的受访领域或次级领域信息。
从开放式互联网可到达的IP地址与预先定义的IP领域“IN”相关联。
这些仅是IP领域的一些例子。因为没有连接性检查用于验证可到达性,所以可以提供IP领域以准确标识互相可到达的IP地址。网络可以提供其他装置来验证其定义的IP 领域内IP端点之间的可到达性。
ALG 过程 下面描述的ALG过程将分别应用于各SDP消息内具有非零端口值的各媒体线,并且可分别应用于各SDP供给/应答事务。
对SDP供给的ALG处理 图5是示出了对基础算法中SDP供给进行的ALG处理的流程图。一般而言,在此例中,方法在ALG中进行,然而,应当理解,此方法可以在各种硬件和/或软件配置中进行。 当ALG接收来自UA或另一 ALG的SDP供给时(在步骤201中),首先确定针对与传出信令相关联的媒体路径的分段的IP领域(在步骤203和步骤205中)。例如,在图1中,如果 UA 1发起向UA2的SDP供给,则ALGl的传出IP领域是R2,ALG2的传出IP领域是R3,并且 ALG4的传出IP领域是R6 (而非R5)。因为ALG4管理RG到R6、BG4的穿越,并且除非两个媒体路径IP端点都位于同一 IP领域R6,否则IP领域R5不适合旁路,从而使得旁路媒体路径上的所有BG和RG。
ALG检查所有之前穿越的IP领域,该IP领域由针对所接收的SDP供给中的媒体线的受访领域和次级领域实例来表示(在步骤207中)。如果传出IP领域与受访领域或次级领域实例中的任何一个相匹配,则ALG可以旁路一个或多个BG,包括ALG控制的BG。ALG 应当选择最早匹配的IP领域,并且通过将来自最早IP领域的连接和端口信息替换到转发的SDP供给中来确定可以旁路的BG的数目(在步骤209中)。
ALG随后确定受其控制的BG是否接入传出IP领域和与已接收SDP供给中的在前受访的领域或次级领域实例相关联的IP领域二者(在步骤211中)。在此情形中,ALG可以能够旁路一个或多个BG,但不能旁路受其控制的BG。ALG应当选择从受其控制的BG可接入的最早IP领域,并且通过将在前IP领域直接连接至BG来确定可以旁路的BG的数目 (在步骤213中)。注意,在此情形中,使用与紧接在前ALG相关联的受访领域实例没有意义,这是因为没有BG被旁路。还应注意,在此情形中,使用与紧接在前的ALG相关联的次级领域实例将不会减少路径中的BG数目,但是例如当可以确定使用此路径具有较少的IP层拥塞时仍可能得到更优的媒体路径。
ALG随后将根据可应用性和本地策略选择如下四种情形之一(在步骤215中) 旁路受控BG和一个或多个在前BG。
旁路受控BG。
旁路在前BG。
不旁路BG。
最常见的本地策略将是选择旁路最多数目BG的情形。在情形3和情形4中,通过将与在前IP领域相关联的所有受访领域和次级领域实例从转发的SDP供给中移除,ALG可以用信号通知其将不被旁路。如果ALG执行除了地址转换(例如转码)之外的任何必要的媒体功能,则ALG应当用信号通知其将不被旁路。
SDP供给情形1 旁路受控BG和在前BG 在情形1中,ALG确定在已接收的SDP供给中存在针对媒体线的受访领域或次级领域实例,该受访领域或次级领域实例与针对该媒体线的传入IP领域不匹配但与将用于转发的SDP供给中的媒体线的IP领域相匹配。ALG将(1)利用来自与传出IP领域相关联的最早受访领域或次级领域实例的连接和端口信息来替换SDP供给中针对媒体路径的连接和端口信息;( 删除领域数目值比用于填入传出连接和端口数据的领域数目值更高的每个受访领域或次级领域实例;以及C3)转发已修改的SDP供给(在步骤217、219和221 中)。
情形1的例子使用图1作为参考,在接收来自UAl方向的SDP供给时,ALG3确定 R4和Rl是相同IP领域的实例。ALG3将来自UAl的连接和端口信息替代至传出SDP供给中,并且在转发之前将来自SDP的针对R2和R3的受访领域实例删除。在完成端对端SDP 供给/应答事务后,媒体路径将旁路BGl、BG2和BG3。
SDP供给情形2 旁路受控BG 在情形2中(仅旁路受控BG),ALG确定从由已接收SDP供给中针对媒体线的IP 连接和端口信息表示的传入IP领域可接入的传出IP领域。如果存在与已接收SDP供给中的媒体线相匹配(不必与传入连接信息相匹配)的针对传入IP领域的受访领域或次级领域实例,则ALG将不加变化地转发已接收SDP供给。否则,ALG将根据传入SDP供给中的针对媒体线的连接和端口信息来构造新的受访领域实例,并在转发前将此受访领域实例添加至SDP供给(在步骤217-221中)。
对于情形2,已接收的SDP供给将通常包括与传入IP领域相匹配的受访领域或次级领域实例,除非先前的ALG不支持BG旁路过程。添加该缺失信息为执行BG旁路提供了更多机会。
SDP供给情形3 旁路在前BG 在情形3中,ALG确定受其控制的BG接入传出IP领域和除与已接收SDP供给中针对媒体线的在前受访领域或次级领域实例相匹配的传入IP领域之外的IP领域二者。ALG 将使用来自从BG可接入的最早受访领域或次级领域实例的连接和端口信息作为针对指向已接收SDP供给的源的BG侧的远程连接和端口信息; 将利用来自指向转发的SDP供给的接收方的BG侧的连接和端口信息来替换SDP 供给中针对媒体线的连接和端口信息; 将从SDP应答中删除领域数目高于从BG可接入的最早受访领域或次级领域实例的每个受访领域和次级领域实例; 如果ALG要求其BG仍然在媒体路径中,则可以从SDP供给中移除所有受访领域和次级领域实例; 如果传出IP领域与SDP供给中的受访领域或次级领域实例中的任何一个都不匹配,则应当在修改的SDP供给中将与针对媒体线的连接和端口信息相关联的IP领域的受访领域实例添加至SDP供给; 可以向SDP供给添加与媒体线的任何其他受访领域或次级领域实例都不匹配的每个IP领域的次级领域实例,但是针对其存在由ALG控制的BG,该BG既接入此IP领域又接入与该ALG先前分配的BG相关联的传入IP领域;以及 将转发已修改的SDP供给(在步骤217、219和221中)。
情形3的例子使用图1作为参照,在接收到来自UA 1方向的SDP供给时,ALG4确定BG4接入R2。ALG4将其BG连接和端口信息替代至SDP供给,使用来自R2的受访领域实例的连接和端口信息作为用于BG4的UA 1侧的远程连接和端口信息,将R3和R4的受访领域实例从SDP供给中删除,并在转发前添加R5的受访领域实例。在完成端对端SDP供给/ 应答事务之后,媒体路径将旁路BG2和BG3。
SDP供给情形4 不旁路BG ALG 1.如果不存在与已接收的SDP供给中的媒体线相关联的IP领域相匹配的受访领域或次级领域实例,并且ALG允许旁路其BG,则应当根据传入SDP供给中针对媒体线的连接和端口信息来构造新的受访领域实例,并且将这个受访领域实例添加到待转发的SDP供给中; 2.将利用来自指向传出IP领域的BG侧的连接和端口信息来替换SDP供给中针对媒体线的连接和端口信息; 3.如果ALG要求其BG仍在媒体路径中,则可以将所有的受访领域和次级领域实例从SDP供给中移除; 4.如果传出IP领域与SDP供给中任何一个受访领域或次级领域都不匹配,则应当添加与针对转发的SDP供给中的媒体路径的连接和端口信息相关联的IP领域的受访领域实例; 5.可以向SDP供给添加与媒体线的任何其他受访领域和次级领域实例都不匹配的每个IP领域的次级领域实例,但是针对其存在由ALG控制的BG,该BG既接入此IP领域又接入与该ALG先前分配的BG相关联的传入IP领域;以及 6.将转发已修改的SDP供给(在步骤217、219和221中)。
如果ALG未在朝向已接收SDP供给的源的一侧执行托管式NAPT穿越,则ALG将使用来自传入SDP供给的连接和端口信息作为指向已接收SDP供给的源的BG侧的远程连接和端口信息。如果ALG正在朝向已接收SDP供给的源的一侧执行托管式NAPT穿越,则ALG/ BG可以通过锁存或其他非指定技术来发现RG的IP地址。除了在传出SDP供给中插入受访领域和次级领域实例,情形4对应于标准ALG行为。
基础算法中对SDP应答的ALG处理 图6示出了本发明的基础算法中SDP应答的处理。本方法在转发SDP供给(在步骤221中,图5)之后开始。
ALG将保存关于该ALG选择四种情形中何种情形以用于BG旁路的处理以及该ALG 将接收哪个受访领域和次级领域实例并添加至转发的SDP供给的信息。ALG在相应的SDP 应答的处理中使用此信息(在步骤301、303中),但要考虑附加子情形,这是因为下游ALG 还可能旁路已被穿越的BG,而且路径中的其他ALG可能支持或可能不支持BG旁路过程。注意,在到达其最终目的地的SDP供给中,每个IP领域(由受访领域或次级领域实例来表示) 至多存在一个已标识的实例。ALG使用此事实来正确地处理SDP应答。未标识的IP领域表示BG旁路的已丧失机会。
为了在处理SDP应答时帮助区分附加子情形,ALG将以下两项之一插入至针对转发的SDP应答中的媒体线的连接信息1)相应IP领域的有效IP地址,或2)非指定地址。为了这个目的,针对IPv4而言非指定地址为“0. 0. 0. 0”,而针对IPv6而言非指定地址为 “.invalid(无效)”DNS顶层域内的域名(而非IPv6非指定地址‘0 0’)。当用信号发送连接信息的非指定地址时,端口信息必须具有非零值。
ALG在接收SDP应答时必须考虑以下子情形(在步骤305中) a.由ALG接收的SDP应答中针对媒体线的连接和端口信息对其IP领域是*有效 (valid)*。这个IP领域与由ALG转发的SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域相匹配(在步骤307中)。
b.由ALG接收的SDP应答中针对媒体线的连接信息为*非指定地址(unspecified address)*。SDP应答中的受访领域实例与SDP供给中先前*接收的(received)*受访领域或次级领域实例相匹配(在步骤309,311中)。
c.由ALG接收的SDP应答中针对媒体线的连接信息为*非指定地址*。SDP应答中的受访领域实例与由ALG*转发的(forwarded)*SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域相匹配,而子情形b不适用(在步骤309,313中)。
d.由ALG接收的SDP应答中针对媒体线的连接信息为*非指定地址*。SDP应答中的受访领域实例与由ALG*接收的*SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域相匹配,而子情形b和c不适用(在步骤309,315中)。
e.由ALG接收的SDP应答中针对媒体线的连接信息为*非指定地址*。SDP应答中的受访领域实例与已转发的SDP供给中由ALG先前插入的次级领域实例相关联的IP领域相匹配,而子情形b、c和d不适用(在步骤309,317中)。
f.由ALG接收的SDP应答中针对媒体线的连接信息为*非指定地址*。子情形b、 c、d和e不适用(在步骤309,319中)。
注意,在完成对合适子情形的处理之后,ALG可以释放所得到的媒体路径不再使用的任何BG资源。
SDP应答子情形a 有效连接信息 在子情形a中,ALG接收SDP应答中针对媒体线的连接信息,该连接信息对应于其 IP领域中的有效IP地址。ALG的行为取决于当转发SDP供给时其选择哪个SDP供给情形 (在步骤323和325中) ·在情形1中,由于ALG在转发SDP供给时旁路其BG以及至少一个在前BG,所以 ALG必须转发包含非指定地址的SDP应答来用信号发送接收转发的SDP应答的ALG控制待旁路的BG。ALG将根据传入SDP应答中针对媒体线的连接和端口信息来构造新的受访领域实例,将此受访领域实例添加至SDP应答中,替换可能出现在SDP应答中的任何其他受访领域实例,利用非指定地址替换SDP应答中针对媒体线的连接信息,并且将转发已修改的SDP 应答。
·在情形2中,由于ALG已经旁路其BG,并且SDP供给中没有其他BG,所以ALG将不加改变地转发接收到的SDP应答。
在情形3中,由于ALG已经旁路SDP供给中的至少一个在前BG,但未旁路其自己的BG,所以转发的SDP应答必须包含非指定地址来用信号发送接收转发的SDP应答的ALG 控制待旁路的BG。ALG将根据指向接收的SDP供给的源的BG侧的本地连接和端口信息来构造新的受访领域实例,可以将此受访领域实例添加至SDP应答,利用非指定地址来替换SDP应答中针对媒体线的连接信息,以及转发已修改的SDP应答。
在情形4中,由于ALG不旁路任何BG,所以ALG利用指向接收的SDP供给的源的 BG侧的本地连接和端口信息来替换SDP应答中针对媒体线的连接和端口信息,并且转发已修改的SDP应答。
此外,当受控BG仍保持被分配时,如在具有子情形a的情形3和4中,如果ALG在朝向传出IP领域的一侧没有执行托管式NAPT穿越,则ALG将使用来自传入SDP应答的连接和端口信息作为指向传出IP领域的BG侧的远程连接和端口信息。如果ALG在朝向已接收的SDP应答的源的一侧执行托管式NAPT穿越,则ALG/BG可以通过锁存或其他非指定技术来发现RG的IP地址。
SDP应答子情形b 其他IP领域的匹配 在子情形b中,ALG接收SDP应答中针对媒体线的连接信息中的非指定地址。SDP 应答中的受访领域实例与SDP供给中由ALG先前*接收的*受访领域或次级领域实例相匹配。无论ALG先前对SDP供给应用情形1-4中的哪一种,都不要求ALG提供用于媒体线的 BG。ALG将不加改变地转发SDP应答(在步骤323和325中)。
SDP应答子情形c 转发的SDP供给的匹配 在子情形c中,ALG接收SDP应答中针对媒体线的连接信息中的非指定地址。SDP 应答中的受访领域实例匹配于与由ALG*转发的*SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域,而子情形b不适用。ALG的行为取决于当转发SDP供给时其选择何种SDP供给情形(在步骤323和325中) ·子情形b排他地应用于情形1。
·在情形2中,由于ALG已经旁路其BG并且在SDP供给中没有其他的BG,所以已接收的SDP应答中的受访领域实例还匹配于与由ALG*接收的*SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域。ALG利用来自已接收的SDP应答中的受访领域实例的连接和端口信息来替换SDP应答中针对媒体线的连接和端口信息,从SDP应答中删除受访领域实例,并且转发已修改的SDP应答。
在情形3中,由于ALG已经旁路SDP供给中至少一个在前BG,但未旁路其自己的 BG,所以转发的SDP应答必须包含非指定地址以用信号发送接收转发的SDP应答的ALG控制待旁路的BG。ALG利用根据指向已接收的SDP供给中的源的BG侧的本地连接和端口信息构造的新的受访领域实例来替换SDP应答中针对媒体线的受访领域实例,保持SDP应答中针对媒体线的连接信息中的非指定地址,并且转发已修改的SDP应答。
在情形4中,因为ALG不旁路任何BG,所以ALG将利用指向已接收SDP供给的源的BG侧的本地连接和端口信息来替换SDP应答中针对媒体线的连接和端口信息,可以从 SDP应答中删除受访领域实例,并且可以转发已修改的SDP应答。
此外,当受控BG保持被分配时,如在具有子情形c的情形3和4中,ALG可以使用来自已接收SDP应答中的受访领域实例的连接和端口信息作为指向已接收SDP应答的源的 BG侧的远程连接和端口信息。
SDP应答子情形d 已接收SDP供给的匹配 在子情形d中,ALG接收SDP应答中针对媒体线的连接信息中的非指定地址。SDP 应答中的受访领域实例匹配于与由ALG*接收的*SDP供给中针对相应媒体线的连接和端口信息相关联的IP领域,而子情形b和c不适用。ALG在所有情形下旁路其BG。ALG行为取决于当转发SDP供给时其选择何种SDP供给情形(在步骤323和325中) ·子情形b排他地适用于情形1。
子情形b或c适用于情形2。
·子情形b排他地适用于情形3。
在情形4中,由于ALG在处理SDP供给时不旁路任何BG,所以其现在必须用信号发送转发的SDP应答以旁路其自己的BG。ALG将利用来自已接收SDP应答中针对媒体线的受访领域实例的连接和端口信息来替换SDP应答中针对媒体线的连接和端口信息,从SDP 应答中删除受访领域实例,以及转发已修改的SDP应答。
SDP应答子情形e 自己的次级领域的匹配 在子情形e中,ALG接收SDP应答中针对媒体线的连接信息中的非指定地址。SDP 应答中的受访领域实例与SDP供给中由ALG先前插入的次级领域实例相匹配,而子情形b、 c和d不适用。ALG的行为取决于转发SDP供给时其选择何种SDP供给情形(在步骤323 和325中) · SDP供给情形1和2不适用,因为在这些情形中,ALG没有将次级领域实例插入 SDP供给。
在情形3中,由于ALG已旁路SDP供给中的至少一个在前BG,但未旁路其自己的 BG,所以转发的SDP应答必须包含非指定地址以用信号发送接收转发的SDP应答的ALG控制待旁路的BG。ALG使用与次级领域实例相关联的BG,而非为转发的SDP供给所分配的原始BG。ALG将根据指向已接收SDP供给的源的次级BG侧的本地连接和端口信息来构造新的受访领域实例,将此受访领域实例添加至SDP应答,利用非指定地址来替换SDP应答中针对媒体线的连接信息,以及转发已修改的SDP应答。
在情形4中,由于ALG不旁路任何BG,所以ALG将利用指向已接收SDP供给的源的次级BG侧的本地连接和端口信息来替换SDP应答中针对媒体线的连接和端口信息,以及转发已修改的SDP应答。
此外,由于对于本子情形而言次级BG仍然保持被分配,所以如果ALG在朝向传出 IP领域的一侧没有执行托管式NAPT穿越,则ALG将使用来自传入SDP应答的连接和端口信息作为指向传出IP领域的BG侧的远程连接和端口信息。如果ALG在朝向SDP应答的源的一侧执行托管式NAPT穿越,则ALG/BG必须通过锁存或其他非指定技术来发现RG的地址。
SDP应答子情形f 无匹配 在子情形f中,ALG接收SDP应答中针对媒体线的连接信息中的非指定地址,而子情形b、c、d和e不适用。由于没有受访领域实例,或者实例不与所列情形中任何一种相匹配,所以来自发送SDP应答的端点的非指定地址或者主动旁路选项已由另外的ALG调用。在所有情形1-4中,ALG将不加改变地转发SDP应答(在步骤323和325中)。
用于主动旁路选项的ALG过程 图7示出了本发明的主动旁路选项的处理。在基础算法的SDP应答的处理中,将 BG仍保留在媒体路径中的任何ALG (即具有SDP供给情形3或4的SDP应答子情形a、c 或e)可以选择执行主动旁路选项作为用于备选媒体路径分段的候选锚(anchor) ALG(在图 6的步骤321中和图7的步骤401中)。候选锚ALG与最佳候选目标ALG联系以互相确定更优的媒体路径分段是否可用。
锚ALG发送备选路径请求 处理具有SDP供给情形3或4的SDP应答子情形a、c或e之一的每个ALG可以检查SDP供给中先前接收的受访领域和次级领域实例内的信息以确定是否有可能构造比由基础算法已经确定的路径显著“更好”的剩余(remaining)路径(在步骤401中)。特别地,ALG检查从其BG返回至通过GRUU可到达的最早的ALG的位置、延迟和丢失数据,从而做出这项确定。使用信息来标识较优路径和需要的改进阈值的方法(给定主动旁路选项所需的额外信令)是本地策略问题。
例如,如果通过GRUU可到达的最早的ALG对在地理上与通过进行确定的ALG来控制的BG接近的BG进行控制,但是在它们之间的媒体路径上还有在地理上远离它们的其他受访领域或次级领域实例,则有很好的理由期望存在更好的媒体路径分段。
如果存在针对去往相同较早ALG的一个或多个媒体线的可能的“更好”路径,则进行确定的ALG (现称为锚ALG)将向较早ALG (现称为目标ALG)发送无SDP的SIP INVITE 请求(在步骤403中)。这个INVITE请求称为备选路径请求。如果成功,则这个备选路径请求将产生备选路径对话和一个或多个备选媒体路径分段(如果它们尚未通过较早备选路径请求建立)。这与原始对话形成对比,因为锚ALG仍然处理针对原始对话的SDP应答。
如果在锚ALG与目标ALG之间已经存在与原始对话相关联的备选路径对话,则备选路径请求将在现有的备选路径对话中包括re-INVITE请求。例如,这可能在原始对话内已经完成了先前的SDP供给/应答事务的情况下发生。否则,备选路径请求将包括新的 INVITE请求,将目标ALG的GRUU放置在Request-URI中,并且将锚ALG的GRUU放置在From 禾口 P-Asserted-Identity 头部中。
根据正常的IMS路由过程,备选路径请求可以穿越其到目标ALG的路径上的一个或多个ALG。如果备选路径请求过早失败而没有任何成功的最终响应,则锚ALG应当中止主动旁路选项并继续根据基础算法处理原始对话内的SDP应答。
备选路径请求的目标ALG处理 在接收到新的INVITE请求中的备选路径请求时,目标ALG将通过Request-URI中 GRUU的唯一值来标识相应的原始对话。在接收到re-INVITE请求中的备选路径请求时,目标ALG将标识相关联的备选路径对话及其对应的原始对话。由于已指派的GRUU是目标ALG 将建立相应备选路径对话针对的唯一地址,所以目标ALG将任一请求唯一地标识为与原始对话相关联的备选路径请求(在步骤405中)。
对于已应用SDP供给情形3和4的原始对话内的先前转发的SDP供给中的各SDP 媒体线而言(即目标ALG已为媒体线分配BG),目标ALG将确定与备选路径请求相关联的 IP领域。继而对于各可应用的媒体线而言,目标ALG将确定在对SDP供给进行处理期间为原始对话分配的BG资源是否已接入与备选路径请求相关联的IP领域。如果是,则BG资源可以复用,否则目标ALG必须分配新的BG资源(在步骤407中)。
随后目标ALG将通过以下步骤根据在原始对话内转发的SDP供给来构造新的SDP
供给 1.复制原始SDP供给; 2.适当修改 ο 线(ο line); 3.删除所有的受访领域和次级领域实例; 4.为每个可应用的媒体线构造受访领域信息; 5.插入针对每个可应用的媒体线的对应的连接和受访领域实例信息;以及 6.将所有其他媒体线的端口值设置为零(在步骤409中)。
对于新的SDP供给中每个可应用的媒体线而言,如果BG资源可用于接入附加IP 领域以及接入先前为承载路径的朝向原始SDP供给的源的部分所选择的IP领域,则目标 ALG可以构造对应的次级领域实例并将其添加至媒体线(在步骤411中)。
随后目标ALG将根据正常SIP过程在SIP 2000K响应消息中将已构造的SDP供给发送至锚ALG (在步骤413中)。如果由目标ALG接收的备选路径请求从锚ALG在其路径上穿越一个或多个ALG,则这个新的SDP供给也将穿越相同的ALG,其将基础算法和可选的主动旁路选项递归地应用至SDP供给。
如果在处理备选路径请求期间发生诸如以下任何一种的错误,则目标ALG将以适当的SIP最终错误响应来响应 ·目标ALG不识别GRUU。
·没有为原始SDP供给中的任何媒体线分配BG资源。
· INVITE 请求包括 SDP。
来自目标ALG的SDP供给进行的锚ALG处理 当锚ALG在2000K响应中接收来自目标ALG的SDP供给时,锚ALG在朝向目标ALG 的ACK请求中返回对应的SDP供给之前将向已接收的SDP供给中的各媒体线独立地应用下列过程(在步骤415中)。
如果媒体线中端口值设置为零,则锚ALG将在待发送向目标ALG的SDP应答中将对应媒体线中的端口值设置为零,以及将继续基础算法(即,主动旁路选项对用于媒体线的基础算法没有影响)。
如果媒体线具有非零的端口值,则锚ALG将试图标识原始SDP应答中的对应媒体线(在步骤417中)。归因于执行第三方呼叫控制过程来分离/合并SDP媒体线的中间应用,有可能已接收的SDP供给中媒体线的顺序与原始SDP应答中媒体线的顺序不同。如果在具有针对目标ALG的GRUU的已接收SDP供给中存在受访领域或次级领域实例,则这可以与原始SDP供给中为目标ALG接收的GRUU匹配以标识对应的媒体线。如果不存在协助匹配媒体线的GRUU,则锚ALG可以能够基于其他信息唯一地匹配媒体线,其他信息例如仅一条可应用媒体线供原始和备选路径对话共用。
如果锚ALG不能针对具有非零端口值的已接收的媒体线识别对应的原始媒体线, 则锚ALG将待发送向目标ALG的SDP应答中的对应媒体线的端口值设置为0。
如果锚ALG可以针对具有非零端口值的已接收的媒体线标识对应的原始媒体线, 则锚ALG应当使用已接收的SDP供给中可用的受访领域和次级领域实例信息,并且可以使用其他非指定数据来确定备选媒体路径分段相比于原始媒体路径的对应部分是否显著“更好”(在步骤419处)。用于评估各媒体路径分段以及确定最小显著性阈值的算法是本地策略的问题。
如果锚ALG确定备选媒体路径分段并非比原始媒体路径的对应部分显著更好,则锚ALG将把待发送向目标ALG的SDP应答中对应媒体线中的端口值设置为0,并且将继续基础算法(在步骤421处)。
如果锚ALG确定备选媒体路径分段比原始媒体路径的对应部分显著更好,则锚 ALG 1.将为与备选媒体路径分段相关联的IP领域分配BG资源(如果该BG资源尚未可用)(在步骤423处); 2.通过根据对来自备选路径对话的已接收媒体线进行的处理来选择SDP供给情形3或4,并通过应用来自对原始SDP应答进行处理的SDP应答子情形a、c或e,将依据基础算法的递归应用来设置备选路径对话中的SDP应答中的对应媒体线的连接信息和/或受访领域属性(在步骤425处);以及 3.将根据如下步骤对基础算法中原始SDP应答的处理进行修改(在步骤427处)。
对于在基础算法过程期间接收的SDP应答的对应媒体线而言,锚ALG 1.将根据应用至备选路径对话中的媒体线的SDP供给情形和可应用的原始SDP应答子情形,选择指向已接收SDP应答的源的BG的侧的远程连接和端口信息; 2.将删除针对SDP应答中的媒体线的任何受访领域实例; 3.如果可用,则构造针对特定领域“N0MATCH”的新的受访领域实例,该特定领域 “N0MATCH”包括接收自目标ALG的媒体线的GRUU(如果可用的话); 4.向SDP应答添加这种受访领域实例; 5.利用非指定地址来替换针对SDP应答中的媒体线的连接信息;以及 6.转发原始对话内已修改的SDP应答。
原始对话中SDP应答的其他ALG处理 在锚ALG转发原始SDP应答之后,在目标ALG之前的信令路径上每隔一个的一致 (conformant) ALG依据基础算法的SDP应答子情形f将不加改变地转发SDP应答。
SDP应答的目标ALG处理 在接收到原始会话内的SDP应答时,识别最近已接收并已对针对该媒体线(以及可能的其他媒体线)的备选路径请求作出响应,目标ALG 1.确定SDP应答子情形f是否应用于对应的受访领域属性(如果存在)中的特定 IP 领域 “N0MATCH”; 2.使用已接收的受访领域属性中的GRUU或其他非指定方法来验证用于备选路径对话的对应媒体线要与该原始媒体线相关联; 3.确定是否(在ACK请求中)在合理的时间量内接收到针对备选路径对话的SDP
应答; 4.确定针对备选路径对话的对应媒体线的端口是否具有非零值,以及 5.确定SDP应答子情形a、c或e应用至针对备选路径对话的对应媒体线(在步骤似9处)。
如果未应用上面条件中任何之一,则目标ALG应该继续进行基础算法的正常处理,继而将用于备选路径请求的媒体线标记为“不使用”。注意,条件的一些组合(代表错误情形)将无法建立端对端媒体路径。如果出现这种情形,则目标ALG应该拒绝原始会话内后续的备选路径请求并可以应用其他非指定的恢复动作。
如果应用了所有的上述条件,则目标ALG应用可应用的SDP供给情形3或4和可应用的SDP应答子情形a、c或6以用于备选路径对话的对应媒体线,从而在转发SDP应答之前配置BG和修改针对原始对话的已接收的SDP应答(在步骤431处)。
成功应用主动旁路选项的最终结果是利用由备选路径请求生成的备选路径分段来替换目标ALG和锚ALG之间由基础算法生成的端对端媒体路径的部分。
释放备选路径对话 当释放原始对话时,或当用于备选路径会话的所有媒体线具有为0的端口值或者被标记为“不使用”时,目标ALG和锚ALG应当释放使用标准SIP过程不再需要的备选路径对话和相关联的资源。
如果在使用备选路径对话来维持备选媒体路径分段的同时释放备选路径对话,则锚ALG和目标ALG可以释放对应的原始对话或执行其他的非指定的恢复动作。
来自端点的非指定地址的特定处理 如果发起SDP供给的UA在连接信息中包括了非指定地址,则非指定地址将与UA 的IP领域相关联。当转发具有非指定地址的SDP供给时,ALG遵循情形1,其中可以理解, SDP供给针对各IP领域包含具有非指定地址的隐式受访领域实例。这个过程的最终结果是如果在初始SDP供给中存在非指定地址,则各ALG将转发非指定地址。如果已修改的SDP 应答包括有效的IP地址,则通过使用子情形a的第一 ALG将该IP地址变换成非指定地址, 并且后续ALG将使用子情形b至f在转发的SDP应答中包括非指定地址。由于该过程不支持使用在SIP第三方呼叫控制(3pcc)过程中可用的“黑洞(black hole)”地址以发现用于应答UA的连接信息,所以这些过程的可应用性受到一些限制,但是推荐的3pcc过程均不依赖于“黑洞”地址的使用。
如果发起SDP应答的UA在连接信息中包括非指定地址,则用于处理SDP应答的 ALG过程保持不变,其结果是如果当转发SDP供给时分配了任何的BG,则BG将被释放。各 ALG利用非指定地址来处理SDP应答,但是不使用显式的受访领域实例,就如同ALG包含了针对未知IP领域的单个隐式受访领域实例。因而子情形f总是适用。
注意,如果初始SDP供给或初始SDP应答在连接信息中包括非指定地址,则可能不存在媒体流直至使用来自端点IP领域的实际IP地址来执行后续SDP供给/应答事务。
关于非相容ALG的假设 非相容ALG通常在转发SDP供给或应答之前删除未知的SDP属性。这类ALG将在分配BG和转发SDP供给之前删除来自SDP供给的任何受访领域或次级领域实例,使得后续 ALG不可能旁路已分配的BG。仍可以独立地优化端对端媒体路径在非相容ALG之前或之后的部分,从而通过由非相容ALG分配的BG来成功地建立端对端媒体通路。
如果会话信令通路中的非相容ALG在BG分配之后确实转发受访领域和次级领域属性,则相容ALG在保留用于BG旁路的最多机会,同时建立端对端媒体通路(如果非相容 ALG表现出下述性能) 当接收到连接信息中具有非指定地址的SDP消息时,非相容ALG在转发的SDP消息中保留非指定地址。
如果ALG既将非特定地址转换成有效地址又转发受访领域属性,则过程可能无法建立媒体路径。与已知做这项工作的非相容ALG接近的ALG可以通过操控信令来实现应急, 以将非相容ALG保留在媒体路径中,但是这丧失了用于BG旁路的显著机会。
为了保持邻近ALG位于路径中,相容ALG在详细过程中选择这样的可应用情形或子情形,其确保在目的地是邻近ALG的所有的SDP消息中提供真实连接信息,并且删除目的地是临近ALF或者来自邻近ALG的SDP消息中的所有受访领域属性。
非相容ALG将不终止在其BG中没有媒体流的会话。ALG必须明确接受其BG可以被旁路。
与已知违反这种假设的非相容ALG接近的ALG可以通过操控信令来实现应急,以将非相容ALG保留在媒体路径中,但是这丧失用于BG旁路的显著机会。
受访领域和次级领域属性 受访领域和次级领域SDP属性仅是媒体级的属性。受访领域属性包含用于可以潜在地用以旁路已分配的BG的先前穿越的领域的IP领域标识符和传输地址。次级领域属性包含用于可以潜在地用以旁路已分配的BG的次级领域的IP领域标识符和传输地址。
使用在 RFC 4234, Crocker, D.禾口 P. Overel 1,"Augmented BNF for Syntax Specifications =ABNF" (2005年10月)中定义的增强的BNF来定义这些属性的语法
权利要求
1.一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法,所述方法包括接收包括网际协议领域列表的消息,其中所述列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;至少部分地基于会话发起协议信令信息来确定针对媒体路径的传出网际协议领域; 如果所述传出网际协议领域在所述网际协议领域列表中,则旁路与所述列表上的至少一个网际协议领域相关联的至少一个边界网关。
2.根据权利要求1的方法,还包括如网络地址端口转换器之后的主机位于其自己的网际协议领域中那样来处理所述主机。
3.一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法,所述方法包括接收包括网际协议领域列表的消息,其中所述列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;以及如果所述网际协议领域列表上的网际协议领域是从受控边界网关可到达的,则旁路与先前穿越的网际协议领域或者次级网际协议领域相关联的至少一个边界网关。
4.一种用于标识网际协议多媒体子系统中的最优端对端媒体路径的系统,所述系统包括列表,其包括信息,所述信息用于标识媒体路径已穿越的网际协议领域和次级网际协议领域中的至少一个以便建立呼叫;以及应用层网关,配置成接收具有连接和端口信息的会话描述协议供给/应答,确定会话描述协议供给/应答可能穿越的传出网际协议领域,检查所述列表,并且如果所述传出网际协议领域与所述列表上所述媒体路径已穿越的网际协议领域或次级网际协议领域相匹配,则替代所述连接和端口信息以促进边界网关旁路。
5.根据权利要求4的系统,还包括由所述应用层网关控制的边界网关,其中所述边界网关配置成限制对与所述网际协议领域相关联的端点的接入。
6.一种用于标识网际协议多媒体子系统中的端对端媒体路径的方法,所述方法包括 建立网际协议领域列表,其中所述列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;接收具有连接和端口信息的会话描述协议消息; 确定所述媒体路径可能穿越的传出网际协议领域; 在所述列表中检查所述媒体路径可能穿越的传出网际协议领域; 如果所述传出网际协议领域与所述列表上的所述媒体路径已穿越的网际协议领域或次级协议领域相匹配,则替代所述会话描述协议消息中的连接信息和端口信息以促进至少一个边界网关的旁路。
7.根据权利要求6的方法,其中如果所述媒体路径可能穿越的所述传出网际协议领域或次级网际协议领域在列表上出现多于一次,则选择在时间上最早的实例,以便在所述实例中替代所述会话描述协议消息中的所述连接信息和所述端口信息。
8.根据权利要求6的方法,还包括实现应急过程,以便对保持网络元件不实现所述媒体路径中的旁路过程的信令进行操控。
9.一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法,所述方法包括接收包括互联网领域列表的会话描述协议供给,其中所述列表包括先前穿越的网际协议领域和次级网际协议领域中的至少一个;通过全局可到达的用户代理统一资源标识符来联系目标应用层网关,以建立备选媒体路径;确定所述备选媒体路径将显著改善所述端对端路径;以及操控会话描述协议应答以插入所述备选媒体路径。
10.根据权利要求9的方法,其中所述会话描述协议应答包括非指定地址作为连接信息,并且所述方法还包括确定所述会话描述协议应答中的网际协议领域信息是否匹配于与受控边界网关有关的网际协议领域。
全文摘要
一种用于使用替代会话描述协议参数来标识通过网际协议领域的备选端对端媒体路径的方法。该方法包括接收会话描述协议供给,该话描述协议供给包括网际协议领域列表。该列表可以包括任意数目的先前穿越的网际协议领域和/或次级网际协议领域。该方法继续基于非特定指定信令标准来确定针对媒体路径的传出和网际协议领域。最后,该方法包括如果待穿越的传出网际协议领域在先前穿越的网际协议领域和/或次级网际协议领域的列表上,则旁路与传入和先前穿越网际协议领域相关联的至少一个边界网关。实现用于标识优化的最优端对端媒体路径的方法和网际协议多媒体子系统的系统包括网际协议领域实例列表和应用层网关,该应用层网关配置成接收具有连接信息和端口信息的会话描述协议供给,以及用于确定如果媒体路径可能穿越的传出网际协议领域在实例列表上,则替代媒体路径连接信息和端口信息以促进边界网关旁路的过程。
文档编号H04L29/12GK102187698SQ200980141144
公开日2011年9月14日 申请日期2009年10月5日 优先权日2008年10月17日
发明者R·P·埃杰扎克 申请人:阿尔卡特朗讯美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1