首页> 中国专利> 通过分配伪地址在附连于不同网际协议环境的节点之间传送数据的方法和系统

通过分配伪地址在附连于不同网际协议环境的节点之间传送数据的方法和系统

摘要

本发明涉及一种在网络的至少两个节点之间传输数据的方法,一个节点附连于被称作源环境的至少一个IP环境。根据本发明,该方法包括:向包括在一个所述节点中的至少一个用户代理分配在不同于所述源环境的IP环境中的伪地址的步骤;以及在与至少一个远端节点建立通信期间,至少呈现所述伪地址和在所述源环境中的所述用户代理的源地址的步骤。

著录项

  • 公开/公告号CN101395884A

    专利类型发明专利

  • 公开/公告日2009-03-25

    原文格式PDF

  • 申请/专利权人 法国电信公司;

    申请/专利号CN200780007135.9

  • 申请日2007-02-15

  • 分类号H04L29/06(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人张玉红

  • 地址 法国巴黎

  • 入库时间 2023-12-17 21:44:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-07-03

    授权

    授权

  • 2009-05-20

    实质审查的生效

    实质审查的生效

  • 2009-03-25

    公开

    公开

说明书

技术领域

本发明的领域属于电信领域,尤其是IP电话领域。

背景技术

因特网协议(IP)网络被越来越多地用作对于多种服务和应用的普遍支持。IP对于选择该协议的许多运营商具有联盟(federator)的作用以使先前不相同的服务提供协同作用。

因特网协议的IPv4版本已经被使用有些年份了。

为了满足由此种通信服务施加的限制且尤其是为了适应对地址的增加的需求,运营商和网络设备制造商已经联合起来规定由现在处于开发的充分高级的阶段的规范和分析文档定义的、被称作IPv6的新一代通信协议,对其可能设想在运营商网络中的运营部署。

不过,此新一代协议的引入正导致与需要在IPv6协议和已经部署在IP网络中的IPv4协议之间确保互操作性和互配(interworking)的相联系的显著的问题。在目前的技术水平上,对这些问题的解决方案已经确定,但是它们具有劣势,它们不仅工作在“服务”层级(尤其在应用层)而且工作在“传输”层级(在IP层)。在传输层,由因特网工程任务组(IETF)提出各种机制且甚至进行标准化,诸如NAT-PT(网络地址转换-协议转换)技术和各种隧道技术(在IPv4数据报中封装IPv6数据,或反之亦然)。

此外,必须升级架构和服务平台并将其适配来允许在位于不同类型(IPv4和IPv6)的IP环境中的客户端之间对于终端用户尽可能透明地乎配。

在其他多媒体活动中,IETF已经标准化会话初始协议(SIP),其主要功能是初始化、修改、和终止多媒体会话。SIP是关于本发明的应用的有意思的例子。它是基于用于产生涉及相关会话的参数的描述的服务描述协议(SDP)。一旦呼叫双方成功协商,则各方能够通过激活实时传输协议(RTP)来交换媒体流。RTP会话参数经由SIP信令消息(特别在SDP部分)预协商。它们主要是将在要建立的通信链路的任一端使用的终端地址和端口号码。

由于SIP的第一版本在标准草案(RFC)2543中描述,所以其与IPv6兼容。在理论上,SIP的实现容易地解码IPv4和IPv6地址,它们能够被引入诸如“CONTACT”报头或SDP部分的报头的特定字段。然而,如果两终端无法在相同IP环境中联系上(即,如果一个具有IPv4地址而另一个具有IPv6地址),则此种地址的存在可能阻止SIP呼叫被建立。因此当IPv4用户代理A发起与注册于IPv4位置服务器(也叫做“注册器(registrar)”R)的IPv6用户代理的SIP会话时,生成的SIP消息交换如图1a所示,其中寻求联系第二用户代理B的第一用户代理A使用为其指定的IPv4地址向代理服务器PS发送“INVITE”消息。这里,代理服务器PS附连于纯IPv4环境。一旦代理服务器PS接收该消息,则代理服务器就向位置服务器(也叫注册服务器)提交询问以重新获得第二用户代理B的地址。考虑到代理服务器PS是纯IPv4类型,在现有假设下,该地址是IPv6地址且代理服务器PS不知道到该目的地的路由。然后,错误消息被送至用户代理A,指示不可能在第一和第二用户代理A和B之间建立SIP会话。此错误消息是图1a所示的“(2)404无路由”消息。

然而,现在如果假设代理服务器PS能够联系第一用户代理A的位置地址和第二用户代理B的位置地址,则发生SIP消息的另一个交换,如图1b所示第二用户代理B尝试呼叫第一用户代理A。

在这种情况下,代理服务器PS将从第二用户代理B接收的“INVITE”消息路由至第一用户代理A的位置地址。除了由第一用户代理B提供的编解码器(编码器/解码器)、第二用户代理B能够用来收发RTP流的RTP端口号码和地址之外,此“INVITE”消息还包括SDP提供描述。在图1b中,该地址是IPv6地址。因此,当用户代理A接收该“INVITE”消息时,因为它是IPv4客户端,所以它仅能够拒绝开启(open)该会话。取决于其是如何实现的,它最好能够回传错误消息,以指示它无法支持到用户代理B的IP地址的网络连接。因此在参考图1a和1b描述的以上任一示例中都无法建立SIP会话。

不同类型的IP地址的共存能够影响除了以上描述和图形表示的那些之外的呼叫。因此对双协议栈(DS)客户端的呼叫也会未能完成媒体流的交换,DS用户代理能够处理IPv4和IPv6两种地址类型。这是因为基本SIP规定指示仅一个IP地址用于发送或接收媒体流。为了克服该问题,RFC4092引入包括“sdp-anat”标志的新的语义特征以允许用户代理来通告和/或发现一个或多个地址类型。因此,DS用户代理能够在他们的SDP提供中指示他们的IPv4地址和IPv6两种地址。依靠该技术,能够在成功的SIP会话中完成从DS用户代理到单版本客户端(即,仅与IPv4协议或仅与IPv6协议兼容的客户端)的呼叫或从单版本客户端到DS用户代理的呼叫。然而,这些语义特征是专门为DS用户代理保留的,因此没有提供用于在单版本客户端之间成功地建立会话的解决方案。

在具体的情况下,当用于传递给定呼叫的处在通信链路的末端的两个节点是单版本节点时,相关的SIP电话服务运营商能够使用用于修改SDP提供的应用层网关(ALG)应用来确保在所支持的地址类型和包含在所接收的SIP消息中的类型之间的一致性。为此,SIP服务器使用涉及传输层的、且非SIP特有的信息来路由呼叫或决定使用ALG应用来改变SDP提供的内容。SIP服务器的此种行为没有涵盖在标准中。

一般而言,电信界没有详细研究与互配两个异构用户代理(即,不同IP类型的用户代理)关联的问题。具体而言,除了在RFC4091和RFC4092中描述的ANAT提议(其解决了部分问题)外,还没有描述用于路由在两个不同IP环境中连接两个用户代理的呼叫的SIP服务器行为的IETF文档。

此外,现有技术具有以下缺陷:

·使用ALG应用和附加功能没有被证明(document);代理服务器PS没有由RFC3261规定的手段来促成该任务;此外,使用ALG应用和附加适配功能加重了在网络中完成该任务的负担;

·代理服务器PS必须使用来自网络层(在本文档中也称作传输层)的信息来作出涉及服务层的决定;它因此除必须考虑消息的源地址外,还必须考虑用来联系代理服务器或用来检查SDP部分的地址;该风险降低了代理的性能,这被配置为仅优先处理服务层信息;

·该解决分案并非是普遍的:通过代理服务器PS的呼叫路由和调停的基本原理取决于部署在传输层的互配解决方案;

·路由呼叫依赖于区分客户端:以在异构节点之间路由呼叫,代理服务器需要知道主叫和被叫节点类型(IPv4、IPv6或DS);恢复该信息的复杂度可能降低呼叫性能。

发明人的工作已经导致对此做出结论,它们无法满足自以上研究出现的需求,在当前技术水平中对于代理服务器没有办法成功地将呼叫路由至远端节点而无需首先确定被叫节点类型,这解释了为什么大多数当前研究的、用于管理在异构节点之间的呼叫的技术是不够的且无法应对允许异构呼叫的服务要求。

本发明通过提出一种发送方法来提供一种不具有这些缺陷的解决方案,该发送方法允许用户代理(即便是单版本用户代理)通告和/或发现对应于不同IP环境的地址类型。

发明内容

为此,本发明提出一种在网络的至少两个节点之间传送数据的方法,节点附连于至少一个被称作其源环境的IP环境。

根据本发明,这类方法包括:

·向包括在一个所述节点中的至少一个用户代理分配不同于所述源环境的IP环境中的伪地址的步骤;

·当与至少一个远端节点建立通信时,至少呈现所述伪地址和在所述源环境中的所述用户代理的源地址的步骤。

因此本发明依赖于完全新颖和创造性的办法来在通信网络的各节点之间发送数据,所述各节点可以为异构节点(即附连于不同IP环境的节点,例如IPv4和IPv6)。

本发明提出当建立与网络的另一节点的用户代理的通信会话时,向用户代理分配伪地址并且通告该代理的伪地址和源地址。以包括在IPv4环境的一些节点和在IPv6环境的一些节点的通信网络作为具体示例,本发明的技术向单版本节点(例如只是IPv4节点)分配在IPv6环境中的伪地址。

依照术语“伪”的通常含义,表述“伪地址”这里是指地址的存在仅仅是表面上的,在这个意义上,它并不构成用户代理代表地址且无法被用于节点的传输层来路由数据流。

在遵循SIP的交换的具体情形中,本发明的技术的一个具体变型将ANAT属性的使用(到目前为止其专门保留用于双协议栈类型的节点)推广到服务的全部节点和设备,因此尤其是附连于仅一个IP环境(只是IPv4或只是IPv6)的、单版本节点和设备。如在本文档的其余部分所详细解释的,单版本用户代理由此能够使用ANAT属性来提供由网络运营商对其分配的它们的源地址和伪地址。

本发明当然能够同等地应用于三种不同IP环境的情形,其中具有分配给DS客户端的第三(伪)地址或分配给单版本客户端的两个伪地址。

注意,这种分配可以采用各种形式。该伪地址能够被配置一次且用于全部运输的网络设备或节点,其由运营商在将设备连接到网络时分配,或由运营商动态地分配,且例如出于安全原因或更加频繁或更稀少地修改。

通过本发明提出的呈现用户代理的伪地址和源地址,考虑到来自传输层的信息,例如对于代理服务器来说确定主叫或被叫用户代理的类型将不再是必须的。在包含IPv4和IPv6环境的网络的具体示例中,代理服务器因此不再需要确定用户代理是IPv4、IPv6还是DS类型来路由节点之间的呼叫。

根据本发明的第一方面,这类数据传送方法还包括所述用户代理向位置服务器发送注册消息的步骤,所述注册消息包括所述用户代理的所述伪地址和源地址以及对于一个所述地址的第一优先级别指示符。

因此,在对位置服务器(也称作注册服务器或“注册器”)注册的初步阶段,用户代理传达它的两种地址(伪和源)并且指示两种地址中哪个将给予优先级。

在SIP的具体示例中,用户代理发送“REGISTER”消息,其中它插入两个用于两个地址中的每个的“CONTACT”报头或包含两种地址的单个“CONTACT”报头。如下所解释的,能够使用RFC3261中规定的参数“q”来指示优先级。

此外,这类方法然后还包括存储所述伪地址和源地址以及关于所述用户代理的标识符的所述相关联的优先级别的步骤。

因此,位置服务器维护一个将对其注册的每个用户代理的伪地址和源地址归组(group)的数据库,可能还有其它有用信息。因此它能够在请求时向需要的设备发送此信息(诸如代理服务器或位于两种不同IP环境之间的边界处的该网络的中间节点),并且负责地址翻译(见下面)。

根据有利的特征,所述第一优先级别指示符向对应于代理服务器所附连的IP环境的、所述用户代理的所述伪地址或源地址分配更高的优先级别,其中该代理服务器涉及与所述远端节点建立通信。

被标记为具有优选级的用户代理的地址由此具有与代理服务器一样的IP类型,从而无疑该代理服务器能够理解它。该优先级地址然后被用于呼叫路由。这防止代理服务器无法理解用于呼叫路由的该地址,其将导致呼叫失败。

根据本发明的第二方面,所述呈现步骤由所述用户代理在用于邀请进入与所述远端节点的通信的至少一个消息中执行和/或在对于由所述远端节点发送的用于邀请进入通信的消息的至少一个响应消息中执行。

通过将某些处理传递到节点和终端,这减轻了在网络核心中执行的任务,尤其是由代理服务器执行的任务:用户代理负责在其发送的消息中插入它们的伪地址和源地址。因此代理服务器不再需要确定主叫或被叫用户代理的类型。

此外,从服务平台的角度看这使得所有终端节点的行为更均匀。在SIP的具体例子中,且从代理服务器的角度看,所有节点,不管单版本或多版本的,均按相同方式使用服务。

最后,由用户代理进行的该地址呈现证明在执行中特别灵活。如果用户代理具有多个相同类型的源地址(如多个IPv6地址),则当初始化呼叫时,除对其分配的伪地址外,它能够自行选择仅示出这些源地址中的一个。

在本发明的一个变型中,所述呈现步骤由代理服务器在所述用户代理发送的用于邀请进入与所述远端节点的通信的消息中执行和/或在对于由所述远端节点发送的用于邀请进入通信的消息的响应消息中执行,其中该代理服务器涉及在所述用户代理和所述远端节点之间建立所述通信。

该变型能够补充先前实施例并且构成在一个节点发生故障或失灵的事件中在代理服务器执行的控制处理。因此如果代理服务器确定已经接收的消息不包括用户代理的伪地址和源地址,则因为它知晓如何自行确定那些地址、或者在从该用户代理注册的位置服务器中请求那些地址之后,它自行将其插入。

也能够设想替代该关于先前实施例的变型,比如该呈现能够被代理服务器系统地实现而非被用户代理实现。然而,在该文档的其余部分中没有参考附图描述该办法。

所述邀请和响应消息还有利地包括一个所述地址的第二优先级别指示符,允许将更高的优先级别分配给所述用户代理的所述源地址。

正是此源地址应当被实际使用在用于媒体流的传输层中。

本发明的方法也包括如果所述目的地地址是伪地址则转换由所述用户代理向所述远端节点发送的消息的至少一个目的地地址、并且将所述伪地址转换成相关联的源地址的步骤。

这种转换能够在网络的中间节点中实现,该中间节点位于两种IP环境之间的边界处且充当那两种环境之间的中继。例如在IPv4和IPv6“泡沫状(bubble)”的情形中,该中间节点将IPv6分组转换成IPv4分组,且反之亦然。这证明是特别有用的,如果进入通信的两个节点被附连于两种不同的IP环境(其中这种情形也被称作异构):则简单的地址转换提供路由流量而其不必使用ALG应用。

本发明也涉及一种传送在网络的各节点之间交换的消息的信号,节点附连于至少一个被称作源环境的IP环境。根据本发明,此类信号包括:

·包含与在一个所述节点中的用户代理相关联的所述源环境中的至少一个源地址的字段;

·包含在与所述源环境不同的IP环境中分配给所述用户代理的至少一个伪地址的字段。

本发明还涉及一种用于在网络的各节点之间传送数据的系统,节点附连于至少一个被称作源环境的IP环境。根据本发明此系统包括:

·用于向在一个所述节点中的用户代理分配在不同于所述源环境的IP环境中的至少一个伪地址的部件;

·当与远端节点建立通信时,用于至少呈现所述伪地址和在所述源环境中的所述用户代理的源地址的部件。

本发明还涉及一种包括代码指令的计算机程序,当所述程序由处理器执行时,该代码指令用于执行上述数据传送方法的各步骤。每个程序涉及在用户代理、代理服务器或中间资源的元素中执行的该方法的各个步骤,其中该中间资源分布在网络中或包括在位于两种不同IP环境之间的边界处的中间节点IN中。

本发明最后涉及一种数据传送网络的节点,其附连于被称作源环境的IP环境并且包括至少一个用户代理,值得注意的是它包括:

·用于存储在不同于所述源环境的IP环境中分配给所述用户代理的伪地址的部件;

·当与所述网络的至少一个远端节点建立通信时,用于至少呈现所述伪地址和在所述源环境中的所述用户代理的源地址的部件。

本发明的该信号、系统、节点和该计算机程序具有与上述方法相同的优点。

附图说明

当阅读仅作为说明性和非限制示例给出的、本发明的一个特定实施例的以下说明后,且根据附图,本发明的其它优点和特征变得更加清楚明了,其中:

图1a和1b,已经在背景技术中评述,示出未能在附连于不同类型的IP网络的两个用户代理A和B之间建立通信会话的两个示例;

图2a示出在其中能够应用本发明的方法的各种网络配置;

图2b以流程图形式示出本发明的方法的主要步骤;

图2c更详细地示出图2a流程图的注册步骤;

图3示出能够应用本发明的网络的示例,其包括用户代理NA所附连的IPv4网络和用户代理NB所附连的IPv6网络;

图4是本发明的节点的框图。

具体实施方式

在包括不同IP环境的通信网络的背景中,本发明的一般原理依赖于向在不同于其附连的IP环境的IP环境中的用户代理分配伪地址。当建立到网络的另一个节点的呼叫时,然后在消息交换中与用户代理的源地址一起呈现该伪地址。

在一个具体实施例中,参考贯穿本文档的其余部分,对应于在类型IPv4、IPv6或DS的异构节点之间建立SIP通信会话,本发明的原理因此在于将属性ANAT的使用推广到单版本客户端,即,纯IPv4或纯IPv6客户端。

首先参考图2a描述能够应用本发明的技术的各种网络配置(图中标记为情况1到情况6),其涉及通过中间节点IN链接的IPv4和IPv6环境。在图2a中使用以下符号:

·R是位置服务器(也叫作“注册器”);

·PS是代理服务器;

·数字4指示相关设备连接到IPv4网络;

·数字6指示相关设备连接到IPv6网络;

·字母DS指示相关设备是双协议栈类型。

因此,例如R4表示IPv4位置服务器,而PSDS表示双协议栈代理服务器,因此其被示出为同时附连于IPv4和IPv6环境。

具体而言:

·情况1对应的情形为,其中每个IPv4或IPv6环境包括各自的位置服务器R4和R6以及各自的代理服务器PS4和PS6;

·情况2对应的情形为,其中IPv6环境不包括位置服务器或代理服务器,但是包括双协议栈位置服务器RDS和双协议栈代理服务器PSDS;

·在情况3中,每个IPv4和IPv6环境包括位置服务器R4、R6以及代理服务器PS4、PS6;也提供双协议栈位置服务器RDS和双协议栈代理服务器PSDS;

·在情况4中,仅IPv4网络包括位置服务器R4和代理服务器PS4;

·情况5是情况4的对偶(dual)版本;

·情况6是情况2的对偶版本。

贯穿本文档的其余部分,具体的情形是上面情况4的情形,其中构成服务平台的所有元素(即位置服务器和代理服务器)均附连于IPv4网络。

该配置是在部署在现有网络的服务的操作层最常碰到的。然而,本领域的技术人员将容易理解本发明并不局限于该具体配置,且本发明能够应用到图2a所示的全部其它情况(情况1到3、5和6)中。

在图3详细示出该配置,其中SIP节点NA、代理服务器PS和位置服务器R均附连于IPv4网络,该IPv4网络通过中间节点IN与SIP节点NB附连的IPv6网络链接。

本发明的方法对现有元素做出如下修改:

·向构成SIP服务平台的每个元素、即代理服务器PS和位置服务器R分配IPv6伪地址。这些地址中的每个代表IPv6环境中相应的服务元素。这里,那些元素仅是IPv4的且因此无法在传输层管理IPv6地址。不过它们能够在应用层(即,在SIP协议栈层)解码和理解IPv6地址。

·每个IPv4SIP节点(即NA)被分配IPv6伪地址,且每个IPv6SIP节点(即NB)被分配IPv4伪地址。然而,这并不将SIP NA和NB转变成双协议栈客户端。在本发明的方法中,这些伪地址仅由SIP服务使用。它们并不被相应客户端的传输层使用。

约束分配地址,从而存在函数f()和函数g(),如此@v4=f(@v6)和@v6=g(@v4),其中@v4和@v6分别是IPv4和IPv6地址。这些函数的定义留给实现此服务的运营商,例如能够提及映射的IPv4地址或兼容的IPv4地址,在IPv6标准中描述了这两种格式。

映射的IPv4地址是以:FFFF:a.b.c.d的形式表示的IPv6地址,其中a.b.c.d是IPv4地址。兼容的IPv4地址是以a.b.c.d的形式表示的IPv6地址,其中a.b.c.d是IPv4地址。

应当仔细地选择函数f和g以限制对路由功能的影响。

本发明的方法的另一个约束来自对于在路由规划中通告先前识别的地址的需要:能够在IPv4环境中通告分配给IPv6SIP节点的IPv4伪地址且反之亦然。此外,分配给诸如位置服务器和代理服务器的服务元素的IPv6伪地址应当在IPv6环境中被通告。

为了便于以下说明,下面假设实现本发明功能所需的全部元素被呈现在介于IPv4和IPv6环境之间的边界表示的中间节点IN中。可是,请注意,这是出于表现的目的而进行的简化,且由中间节点IN处理的所有功能、过程、操作能够根据由网络运营商建立的服务的实现而同等地分布于网络内。

中间节点IN典型地充当IPv4和IPv6环境之间的中继。例如,中间节点IN从注册器服务器和代理服务器接收从IPv6客户端到IPv6地址的全部流量。中间节点IN然后使用以上提到的函数f()和g()将IPv6分组转换成IPv4分组。如果中间节点IN直接知晓这些函数则能够由其本身来实现该转换;中间节点IN也能够向知晓这些函数或这些函数的结果的位置服务器R发送请求。

以上说明使得下述变得清楚:本发明的方法使得能够在SIP节点NA和NB之间进行通信,其中每个节点分别属于第一IP类型(例如IPv4类型)和第二IP类型(例如IPv6类型)的IP源环境,前述的源IP环境彼此不同。

节点NA具有第一IP(例如IPv4)环境中的IP地址,表示为A@v4,节点NB属于具有IP源地址的IP环境的第二类型(例如IPv6类型),表示为B@v6,其具有不同于SIP节点NA的源地址A@v4的类型的类型。

以下参考图2c描述在和远端节点NB建立通信会话之前在位置服务器注册SIP节点NA的阶段。

在注册期间,实现本发明的方法的任何IPv4(相应的IPv6)、SIP终端应当具有由服务分配的供其自己使用的它的两种地址(IPv4源地址(相应的IPv6实际地址)、以及IPv6(相应的IPv4)伪地址)。为此,客户端使用“注册”方法,例如,在其中它插入两个“CONTACT”报头,每个地址一个,或具有IPv4和IPv6两种地址的单个“CONTACT”报头。

对于这里所描述的情形(情况4),假设SIP服务的元素驻留在IPv4环境中。因此,IPv4地址一般在注册消息中被有利地标记为具有优先级,而不管IPv4或IPv6客户端的性质如何。使用如RFC3162定义的“CONTACT”字段的ABNF描述中的参数“q”来在SIP请求的“CONTACT”字段实现此标记,且在下面表T1示出:

表T1

Contact             =   ("Contact"/"m")HCOLON

(STAR/(contact-param*(COMMA contact-param)))

contact-param       =   (name-addr/addr-spec)*(SEMI contact-params)

name-addr           =   [display-name]LAQUOT addr-spec RAQUOT

addr-spec           =   SIP-URI/SIPS-URI/absoluteURI

display-name        =   *(token LWS)/quoted-string

contact-params      =   c-p-q/c-p-expires

                        /contact-extension

c-p-q               =  "q"EQUAL qvalue

c-p-expires         =  "expires"EQUAL delta-seconds

contact-extension   =   generic-param

delta-seconds       =   1*DIGIT

注册IPv4用户代理UA的示例(图2c):

假设SIP节点NA是IPv4用户代理UA,其源地址A@v4=171.5.25.2,且由本发明的方法分配的IPv6注册地址是A@v6=ipv6A,在注册期间交换以下SIP消息:

在步骤20期间,节点NA向注册服务器R的地址R@v4发送注册消息“REGISTER”,如表T2所示:

表T2

"REGISTER"         r.example.com SIP/2.0

Via:                SIP/2.0/TCP171.5.25.2:5060;branch=z9hG4bKnashds7

Max-Forwards:       70

From:               A<sip:A@example.com>;tag=a73kszlfl

To:                 A<sip:A@example.com>;tag=jqoiweu75

Call-ID:           1j9FpLxk3uxtm8tn@example.com

CSeq:              1"REGISTER"

Contact:           <sip:A@171.5.25.2>;q=0.7;expires=3600

Contact:           <sip:A@[ipv6A]>;q=0.3;expires=3600

Content-Length:    0

在步骤21期间,注册服务器R对节点NA的地址@v4响应“200OK”消息,如表T3所示:

表T3

SIP/2.0200OK

Via:                 SIP/2.0/TCP171.5.25.2:5060;branch=z9hG4bKnashds7

From:                A<sip:A@example.com>;tag=a73kszlfl

To:                  A<sip:A@example.com>;tag=jqoiweu75

Call-ID:             1j9FpLxk3uxtm8tn@example.com

CSeq:                1"REGISTER"

Contact:             <sip:A@171.5.25.2>;q=0.7;expires=3600

Contact:             <sip:A@[ipv6A]>;q=0.3;expires=3600

Content-Length:      0

注册IPv6用户代理UA的示例:

假设SIP节点NB是IPv6用户代理UA,其源地址B@v6=2001:688:1ffb:ff80::2,且由SIP服务运营商分配的IPv4伪地址是B@v4=ipv4B,在注册期间交换以下SIP消息:

(1)节点NB向注册服务器R发送注册消息“REGISTER”,如表T4所示:

表T4

"REGISTER"          r.example.com SIP/2.0

Via:                 SIP/2.0/TCP 171.5.25.2:5060;branch=z9hG4bKnashds7

Max-Forwards:        70

From:                B<sip:B@example.com>;tag=a73kszlfl

To:                  B<sip:B@example.com>;tag=jqoiweu75

Call-ID:             1j9FpLxk3uxtm8tn@example.com

CSeq:                1"REGISTER"

Contact:             <sip:B@[2001:688:1ffb:ff80::2]>;q=0.1;expires=3600

Contact:             <sip:B@ipv4B>;q=0.7;expires=3600

Content-Length:         0

(2)注册服务器R对节点NB响应“200 OK”消息,如表T5所示:

表T5

SIP/2.0200 OK

Via:                           SIP/2.0/TCP[2001:688:1ffb:ff80::2]:5060;

                            branch=z9hG4bKnashds7;received=ipv4B

From:                     B<sip:B@example.com>;tag=a73kszlfl

To:                       B<sip:B@example.com>;tag=jqoiweu75

Call-ID:                  1j9FpLxk3uxtm8tn@example.com

CSeq:                     1"REGISTER"

Contact:                       <sip:B@[2001:688:1ffb:ff80::2]>;q=0.1;

                           expires=3600

Contact:                  <sip:B@ipv4B>;q=0.7;expires=3600

Content-Length:           0

注意,对于IPv6SIP节点并且对于注册消息“REGISTER”,中间节点被看作简单的IPv4-IPv6中继。这避免在网络中与传输服务关联的任何处理。为了减轻中间节点IN的负荷,优选地对于IPv6SIP节点不使用位置服务器R的“硬”IPv6地址,而是使用其完整的域名(完全合格域名(full qualifieddomain name,FQDN))。

下面参考图2b描述被执行以在两个异构SIP节点(即,附连到不同类型的IP网络的两个节点)之间建立通信的本发明的方法的各步骤。

在本发明的方法中,在步骤A期间,给每个节点和每个元素(例如节点NA、节点NB)分配与相关SIP节点或元素所属的源IP环境不同的IP环境中的伪IP地址。因此该伪地址是与相关节点或元素的源IP环境不同的IP类型。分配伪地址的该步骤A是在运营商的发起下进行的。能够在节点或元素的构建期间、在它连接网络期间、或动态地(例如出于安全原因,更频繁地或更稀少地改变函数f和g)实现它。

如图2b示出的步骤A,以下是可获得的:

·节点NA的源地址A@v4和分配给它的伪地址A@v6;

·节点NB的源地址B@v6和分配给它的伪地址B@v4。

前述步骤A之后为步骤B,在其中通过从被称为主叫节点的节点NA或NB(例如图2b的节点NA)向另一个SIP节点(这里是节点NB)发送用于进入通信的包含源地址和伪地址的邀请,来发起从主叫节点NA到被叫节点NB的呼叫过程。

如下所述,显然该邀请消息(也称作呼叫消息)是经由节点IN发送的。

当被叫节点NB接收到该呼叫消息后,被叫节点NB向主叫节点NA发送包含被叫节点NB的源地址B@v6和伪地址B@v4的呼叫接受消息。

在图2b的步骤B中,被叫消息被表示为M(B,A@v4,A@v6),以指示这是用于被叫节点NB的并且包含主叫节点NA的伪地址和源地址。

类似地,在步骤C中,呼叫接受消息被任意地表示为OK(A,B@v6,B@v4),以指示这是用于主叫节点NA的并且包含被叫节点NB的伪地址和源地址。

然后,步骤C之后为步骤D,其中在主叫节点NA和被叫节点NB之间建立连接。这是在中间节点IN中通过把源地址和伪地址翻译成传递对应(transitive correspondence)来实现的,以确保在第一和相应的第二IP类型的两种源IP环境中的地址的翻译。

为此原因,在图2a的步骤D中,连接过程被表示为A@v4(A@v6:B@v6)B@v4。

由此很清楚的是,在主叫节点源IP环境协议的情况下实现该连接,这仅考虑被叫SIP节点的地址B@v4,然而,在最终的分析中,为了发送其呼叫接受消息,被叫节点NB仅使用在第二类型的IP环境(IPv6)中的主叫节点NA的代表地址A@v6。

在本发明的一个具体实施例中,依赖于属性ANAT的使用推广到网络的全部SIP节点,为了呼叫任意IPv4以及IPv6的远端节点,SIP节点因此应当处理SIP消息的属性ANAT以展示通过传输服务分配的用于其自己使用的它的两种地址:它的IPv4源地址(相应的IPv6实际地址),以及它的IPv6(相应的IPv4)伪地址。

在呼叫期间,SIP节点应当使用INVITE方法,该方法使用SDP部分中的属性ANAT。本发明使用“mid”字段来指定在ANAT字段中通告的地址的优先级。该参数指示关于在SDP消息中列出的地址的优选,并且优选地按递增的地址顺序编码。IPv4(相应的IPv6)、具有通过SIP传输服务器提供的其IPv4(相应的IPv6)源地址以及IPv6(相应的IPv4)伪地址的SIP节点通常将“mid”字段的值对于IPv4(相应的IPv6)源地址设置为1,且对于IPv6(相应的IPv4)代表地址设置为2。

在与双协议栈(DS)SIP节点进行的交换事件中使用该“mid”字段。示出了例如SIP节点NA,对其在表T6中仅表示出SDP部分:

表T6

v           =            0

o           =            A 280744730 28977631 IN IP4 host.example.com

s           =

t           =            00

a           =            group:ANAT 12

m           =            audio 25000 RTP/AVP 0

c           =            IN IP6 2001:DB8::1

a           =            mid:2

m           =            audio 22334 RTP/AVP 0

c           =            IN IP4 192.0.2.1

a           =            mid:1

当被叫SIP节点NB接收该“INVITE”消息并且接受呼叫时,它回送“200OK”响应消息。实现本发明的方法的任何客户端也应当在两个ANAT属性(给出两种地址和它们在“mid”字段中的编码)中插入其“200OK”消息。例如,SIP节点NB以表T7中表示的消息响应该“INVITE”消息,其中仅示出SDP部分:

表T7

v            =          0

o            =          B 280744730 28977631 IN IP6 B.example.com

s            =

t            =          0 0

a            =          group:ANAT 12

m            =          audio 25000 RTP/AVP 0

c            =          IN IP6 2001:688:1ffb:ff80::2

a            =          mid:1

m            =          audio 22334 RTP/AVP 0

c            =          IN IP4 172.26.25.2

a            =          mid:2

因为这个,两个SIP节      点NA和NB的每个均具有其对方的IPv4和IPv6地址。为了建立呼叫,即为允许RTP流的传输,每个SIP节点仅使用对应于它所位于的IP环境的版本。这适用于客户端是纯IPv4类型或纯IPv6类型的情况。具体条件,系统上相关的任何客户端使用其源地址和远端客户端的地址,该远端客户端的地址的类型对应于相关客户端将其的“mid”字段设置为最低值的地址的类型,这确保了服务的一致性。

因此IPv4(相应的IPv6)节点向其对方的IPv4(相应的IPv6)伪地址发送RTP流量。该方法优化呼叫过程的所有方面,因为假设具有相同IP环境的两个SIP节点交换流量,直接实现数据的路由和传输。本发明的方法并不背离基本数据传输模型,且如果没有必要的话并不强迫使用中间物。

如果两个SIP节点是显著异构的(纯IPv4终端和和纯IPv6SIP终端),则RTP流量被简单地路由至中间节点IN,其简单充当IPv4-IPv6中继。不需要ALG应用,并且且互配服务对于代理服务器是透明的。

如果函数被部署来涵盖多个SIP运营商领域和由此的多个的f/g函数,则中间节点IN(或相应的资源,在分布于网络且实现本发明的功能的情况下)实现和知晓函数f和g,且也知晓在给定网络前缀和要使用的函数之间的对应性。相反,在IPv4中间节点IN和IPv6中间节点IN中实现路由阶段的注入(injection)。

双协议栈(DS)客户端:

·本发明的方法推广对于IPv4和IPv6 SIP节点的属性ANAT的使用,以便增强在异构客户端之间的互配。然而,前述方法的目的是使得能够在所有类型的SIP节点之间进行互配,集成双协议栈SIP节点到该处理中自然是有利的。

为了确保完全透明的互配,有必要验证:

·双协议栈SIP节点实现和使用如在RFC 4091和RFC 4092中描述的属性ANAT,对其增加了“mid”字段的强制使用;

·通过假设(图2a的情况4),SIP服务的元素(位置服务器和代理服务器)已经被置于IPv4环境中。因此,双协议栈SIP节点应当仅使用它们的IPv4地址和IPv4传输来联系注册服务器和/或代理服务器;在IPv6环境服务的对等假设中,DS节点应当使用它们的IPv6地址;

·双协议栈SIP节点在对其可用的地址之间没有预先的优选,它们按以下方式使用在字段ANAT中的属性“mid”:

·在呼叫源的双协议栈SIP节点可以不在INVITE消息中向属性“mid”分配值、或对于IPv4和IPv6地址将其设置为相等的值;

·接受接入呼叫的双协议栈SIP节点发送“200OK”响应消息,其具有如下设置的“mid”字段的值:

·如果在所接收的INVITE消息中的“mid”字段的值被设置为不同的值,则呼叫方由此是纯IPv4或纯IPv6SIP节点,并且双协议栈SIP节点遵循此值以形成它的具有相同优先级的“200OK”响应消息;

·如果“mid”字段的值没有被设置,或被设置成与所接收的INVITE消息相同的值,则被叫双协议栈SIP节点做出选择来设置在其发送的“200 OK”响应消息中的“mid”字段的值;如何做出该选择并非本发明的部分且因此能够随意实现;

·接收响应于系统发送的INVITE消息的“200OK”响应消息的双协议栈SIP节点使其自身遵循在“200OK”响应消息中接收的“mid”字段的值。

控制过程:

·可能会发生某些SIP节点并不遵循上述规则的情况,例如在临时替换故障终端的事件中。

然后,属性ANAT不被相应SIP节点的用户代理所编码。为减轻在此情形中的功能障碍,可以采取优化手段来监视和防止此类错误。

这样的优化能够有利地存在于在代理服务器中进行的检查中:

·如果呈现字段ANAT,则代理服务器不修改它;

·代理服务器增加声明sdp-anat,将对应字段设置为IPv4源地址和对应于主叫SIP节点的代表IPv6地址;代理服务器能够通过向注册服务器发送查询来恢复这些地址,或者如果知晓函数f()和g()则直接访问它们;

·代理服务器也应当根据SIP节点的IP版本来编码该“mid”字段;对于IPv4(相应的IPv6)SIP节点,代理服务器给予IPv4(相应的IPv6)源地址优先级。

最后,图4是本发明的SIP节点的框图。这类SIP节点包括(除了现有技术公知的部件外):例如装备了微处理器的中央单元P、例如随机存取存储器(RAM)的存储器M、和软件模块Pg。在初始化时,软件Pg的指令被从存储器M加载以由例如中央单元P的微处理器执行。

这类SIP节点包含一个或多个用户代理UA,其每个具有该节点附连的IP环境中的源地址,例如IPv4。该源地址被存储在存储器M中。网络运营商也向在IPv6环境中的用户代理分配伪地址30。该伪地址也被存储在存储器M中。

在软件模块Pg的指令中,例如在向位置服务器发送注册消息时、或在发送与网络的远端节点建立通信的背景下交换的消息时,中央单元P实现相关用户代理的伪地址和源地址的表示31。中央单元也在这些消息中设置相应的优选级指示符。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号