跨越数据网络的ip链路建立的制作方法

文档序号:7681682阅读:211来源:国知局
专利名称:跨越数据网络的ip链路建立的制作方法
技术领域
本发明涉及跨越数据网络的IP链路建立,尤其(虽然并非必要)涉
及用于在被设计使用TCP和/或UDP的遗留应用(legacy application )之间传输数据的IP链路的建立。
背景技术
互联网应用比如基于网络的游戏以及协作工具,常常需要以端到端 方式在端点之间交换通信量。对于这些应用中的一些应用, 一个端点相 当于服务器(即,源),而另一个相当于客户端(即,目的地)。在其 它应用中,所有端点相当于既是客户端又是服务器。典型地,使用传输 控制协议(TCP)或者用户数据报协议(UDP)或者有时两者的组合,在 端点之间建立连接。
只要相当于服务器的端点具有公共IP地址, 一些应用就工作得很好 。然而, 一些应用要求客户端也具有公共IP地址,例如允许服务器向客 户端发送通知。假定当前互联网中的端点常常在网络地址转换器(NAT) 的后面,要求一个或多个参与者具有公共IP地址的应用通常不工作。应 用对具有公共IP地址的一些用户起作用但对没有7>共IP地址的其他用 户不起作用是不可接受的,因为这将很可能导致混乱和失败。

发明内容
一种用于在运行于端点的遗留应用之间建立IP链路、并且其独立于 对那些端点分配公共IP地址的可靠机制是所期望的。
按照本发明的第一方面,提供一种在各自第一和第二节点上运行的 第一和第二应用之间建立IP链路的方法。第一和第二应用被设置成通过
向它们各自的操作系统套接字应用编程接口发出呼叫,在传输层上发起 链路建立。所述方法包括l)在所述第一节点,截取所述第一应用产生 的套接字呼叫,并将该套接字呼叫重定向到驻留在所述第一节点上的基 于SIP的应用,以及2)使用SIP协议发起与所述第二节点的IP会话。 本发明的实施例允许遗留应用在基于SIP的基础设施上"捎带确认"("piggyback")相关IP会话。不过,由于这种基础设施对遗留应 用是透明的,因此这些应用不需要改变。
按照第一实施例,所述第一节点是客户端,所述第二节点是服务器 。在步骤1)和2)之前,在所述第二节点,绑定由所述第二应用产生的 套接字的套接字呼叫被截取,被重定向到驻留在所述第二节点上的基于 SIP的应用,且基于SIP的应用准备接收来自所述第一节点的SIP会话建 立请求。为了使第二节点处的遗留应用对对等第一节点"可见",接收 到在所述第二节点的基于SIP应用上的重定向套接字呼叫,就使用呈现 服务来公布全球可路由统一资源标识符,全球可路由统一资源标识符被 映射到在所述第二节点上的被绑定的套接字。在所述第二节点上的用户 可,皮提示输入全球可路由统一资源标识符。
类似地,接收到在第一节点上的重定向套接字呼叫,用户就可被提 示输入统一资源标识符。这可以是使用呈现服务公布的全球可路由URI
如果所述传输层是用户数据报协议,且所述第一应用产生的所述套 接字呼叫是建立无连接用户数据报协议套接字的呼叫的话,则该方法还 可包括将所建立的IP会话与目的IP地址以及端口号关联起来,其中到 与不同IP地址和端口号相关联的相同套接字的另外的呼叫被视作建立不 同IP会话的呼叫。
按照本发明的第二方面,提供一种在通信系统中使用的节点。该节 点被配置有遗留应用、提供套接字应用编程接口的操作系统、以及基于 SIP的应用,操作系统被设置成截取由所述遗留应用产生的套接字呼叫且 预期在传输层上与对等节点建立IP会话,并将其重定向到驻留在所述第 一节点上的所述基于SIP的应用,并且所述基于SIP的应用被设置成使 用SIP协议与所述对等节点发起IP会话。该节点可以是移动无线终端。
按照本发明的第三方面,提供有在通信系统中使用的服务器。该服 务器被配置有遗留应用、提供一种套接字应用编程接口的操作系统、以 及基于SIP的应用,该操作系统被设置成截取套接字应用编程接口呼叫 以绑定传输层的套接字,并将该呼叫重定向到基于SIP的应用,该基于 SIP的应用又祐 没置成准备接收与所述遗留应用相关联的SIP会话发起 请求。


图1示意性地说明IP多媒体子系统到3G移动通信系统的集成; 图2示意性地说明了使用IMS建立针对遗留应用的媒体流的用户终 端体系结构。
图3是说明在遗留应用之间建立媒体流的方法的流程图。
具体实施例方式
3GPP组织已经规定了用于支撑传统电话以及新的IP多媒体服务的 被称为IP多媒体子系统(IMS )的子系统(3GPP TS 22. 228, TS23. 228, TS24. 229, TS29. 228, TS29. 229, TS29. 328以及TS29. 329版本5到7 ),该子系统特别适用于UMTS网络。通过标准化的IMS服务使能器的使 用,IMS提供了关键特征以丰富最终用户个人到个人的通信体验,这促进 了基于IP的网络上的新的丰富的个人到个人(客户端到客户端)通信服 务以及个人到内容(客户端到服务器)服务。
IMS利用会话初始协议(SIP)建立和控制用户终端(或用户终端和 应用服务器)之间的呼叫或会话。通过SIP信令承载的会话描述协议(S )用于描迷和协商会话的媒体成分。尽管SIP被创建为用户到用户协议, IMS允许运营商和服务提供商控制用户访问服务并因此对用户收费。
附图中的图1示意性阐明了在GPRS/PS接入网络(IMS当然能够在其 它接入网络上运行)情况下IMS如何适应移动网络体系结构。呼叫会话 控制功能(CSCF)在IMS中作为SIP代理运行。IMS体系结构限定了三类 CSCF:代理CSCF ( P-CSCF ),其是IMS中用于SIP终端的第一接触点; 服务CSCF (S-CSCF),其向用户提供用户预订的服务;以及查询CSCF (I-CSCF),其角色是识别正确的S-CSCF并向该S-CSCF转送经P-CSCF 从SIP终端接收的请求。
用户使用指定的SIP REGISTER方法向IMS注册。这是一种用于附着 IMS并向IMS宣告在其上能够到达SIP用户身份的地址的机制。在IMS 中,当SIP终端执4亍注册时,IMS对用户进行鉴权,并从可用的S-CSCF 组中向该用户分配S-CSCF。尽管IMS没有指定用于分配S-CSCF的标准, 但这些标准可包括负栽共享和服务需求。应注意S-CSCF的分配是控制用 户访问基于IMS的服务(并收费)的关键。运营商可提供用于防止直接 的用户到用户的SIP会话(其以其他方式旁路IMS)的机制。在注册过程中,I-CSCF的职责是如果S-CSCF还没有被选择就选择 S-CSCF。 I-CSCF从本地网络的归属订户服务器(HSS)接收所需要的 S-CSCF能力,并基于所接收的能力选择合适的S-CSCF。[应注意在用户 被另一方呼叫、且用户当前未被分配S-CSCF的情况下,针对用户还由 I-CSCF执行S-CSCF分配。]当已注册用户随后向IMS发送会话请求时, P-CSCF基于在注册过程期间从S-CSCF接收的信息能够将该请求转发给 所选择的S-CSCF。
在IMS服务网络内,为了实现IMS服务功能而提供应用服务器(AS )。在IMS系统中,应用服务器向最终用户提供服务,并可作为端点在 3GPP定义的Mr接口上被连接,或者在3GPP所定义的ISC接口上由S-CSCF "链接进来(linked in)"。在后一种情况下,S-CSCF使用初始过滤准 则(IFC)来确定在SIP会话建立期间哪些应用服务器应当被"链接进来 "。不同的IFC可应用于不同的呼叫情形。IFC由S-CSCF在IMS注册过 程期间作为用户的用户简档的一部分从HSS接收。特定应用服务器将依 赖于订户身份(由控制应用服务器的网络所"拥有"的被叫或主叫订户 中的无论哪一个)执行动作。例如,在呼叫转送的情况下,适当的(终 结)应用服务器将确定对给定订户的呼叫将转送至的新的终结方。在IFC 指示在S-CSCF接收的SIP消息应转送至特定的SIP AS的情况下,该AS 被加入到该消息路径。 一旦SIP消息被AS返给S-CSCF,其被转送朝向它 的最终目的地,或者被转送至另一AS (如果这在IFC中已被指出)。
IMS中的寻址使用由IMS网络运营商向用户分配的公共用户身份 (SIP地址)来处理。给定用户可以被分配一个或多个公共用户身份。拥 有域"ims-operator.com" 的运营商将分配公共用户身份比如 "sip: John, smith ims-operator. com",其中SIP URI的用户部分被 用于区分用户,同时域指向IMS运营商的网络。
在意识中,IMS是已被设计有MT遍历(NAT traversal)的"访问 不可知"体系结构。IMS终端访问IMS网络甚至在他们没有公共IP地址 的时候,唯一的要求是他们具有公共用户身份。 一旦终端访问IMS网络, 它就能够在不同的传输协议上建立不同的媒体流。
操作系统通常提供有允许应用和传输层交换数据的套接字应用编程 接口 (API)。该套接字API包括一组执行特定任务的函数。例如, 一个 函数可允许应用打开UDP套接字,而另一函数允许该应用打开UDP套接)。 一旦套接字被打开,套接字ID被提供给该应 用。然后,该应用能够使用另一 API函数,利用相关联的套接字ID向传 输层发送数据。
IMS体系结构能够被用于在端点之间建立UDP或者TCP流(或者二者 ),以便在那些端点上实现的应用能够使用那些流彼此通信。在此建议 使用IMS建立非IMS应用使用的流。这些应用在下文中被称为"原有" 应用。由于遗留应用的源代码常常不可用,且修改它以使用IMS建立的 流因此是不可能的或不切实际的,利用IMS建立必要的流是期望的。然 而,为了实现这一点,有必要截取对操作系统的套接字应用编程接口的 呼叫,并将它们重定向到存在于端点的IMS应用(并远离预定的目的传 输层)。该IMS应用可以是专用于该特定目的的应用,或者可以是设计 用于处理其它IMS服务,例如话音和多媒体呼叫的应用。
在Linux/Unix系统中,为了截取来自应用的套接字呼叫并将它们重 定向到IMS应用,有可能使用LD-PREL0AD呼叫插入器。在WindowsTM系 统中,"detours"库提供了同样的功能性。图2阐明了系统呼叫截取器 如何适合网络层模型。
依赖于被截取和重定向的套接字呼叫的类型,IMS应用采取不同的动作。
首先考虑客户端所联系的使用中的服务器l,并且遗留应用2驻留在 该服务器上。如较早所描述的,服务器1试图将套接字绑定到遗留应用2 所使用的服务器的IP地址和端口号。这可能在服务器第一次上电时发生 。按照此处描述的过程,创建该绑定的任何尝试将在截取层3被截取并 重定向到IMS应用4。当IMS应用被通知该绑定尝试时,它准备自己接收 针对来自远程客户端的该应用的IMS会话建立请求。IMS应用经由套接字 API函数向遗留应用提供虚构的远程IP地址和端口号对。遗留应用还接 收所分配的套接字ID。
IMS应用能够使用一些合适的呈现服务(IMS呈现服务基于IETF RFC3856 )宣告处理涉及遗留应用的会话的能力。为了促进这一点,服务 器上的IMS应用可提示用户(或者可能的系统管理员/操作员)提供针对 遗留应用的描述、姓名或参考。IMS应用将针对遗留应用的GRUU (全球 可路由的用户代理URI )连同用户提供的描述、姓名或参考一起公布给呈 现系统。
8当接收到来自这样的GRUU上的远程客户端的IMS会话建立请求时, IMS应用将GRUU映射到遗留应用的套接字ID,并经绑定的套接字通知该 遗留应用。如果该遗留应用有数据发送给该客户端,则它使用适当的套 接字API和所分配的套接字ID(不使用虚构的IP地址和端口号)。因而, IMS应用对遗留应用完全透明,其表现好像所请求的会话已经被建立。
如较早所描述的,客户端能够使用朝向服务器已连接的套接字。当 客户端6上的遗留应用5试图连接套接字时,截取器7将呼叫重定向到 驻留在客户端上的IMS应用8。该IMS应用于是应提示用户提供目的端点 的URI并建立由朝向该URI的所请求类型的流(UDP或TCP)构成的IMS 会话。就是说,IMS应用忽略在套接字呼叫中使用的目的IP地址和端口 号,并且改为使用用户提供的URI。用户能够使用呈现获得这个URI (例 如作为GRUU)或者它可以别的方式被用户了解。遗留应用接收所分配的 套接字ID并随后使用它发送数据。该IMS应用对遗留应用是透明的。
无连接的UDP套接字能够处理去往不同目的IP地址和端口号的数据 。与TCP套接字和连接的UDP套接字相反,应用所产生的套接字呼叫包 括目的地址和端口号以及套接字ID。为了利用无连接的UDP套接字处理 遗留应用,每次该应用试图发送数据时,IMS应用需要检查目的IP地址 和端口号。如果遗留应用重复使用相同的套接字但是提供建立套接字的 IP地址或端口号,则该IMS应用表现好像遗留应用正在打开朝向新目的
地的新的套接字。当然,从遗留应用的角度来看,它仅仅看到单个的无 连接的UDP套接字。
本领域的普通技术人员还应当理解,对于上面所描述的实施例可以 在不脱离本发明的范围内做各种修改。例如,尽管上述讨论已经涉及使 用IMS来建立呼叫流,但是除了 IMS,本发明还直接适用于SIP体系结构 。这样的SIP体系结构典型地通过使用SBC(会话边界控制器)或ICE(交 互式连接建立)实现了 NAT遍历。示例是VoIP BusterTM体系结构。
权利要求
1.一种在各自第一和第二节点上运行的第一和第二应用之间建立IP链路的方法,该第一和第二应用被设置成通过向各自的操作系统套接字应用编程接口发出呼叫,在传输层上发起链路建立。所述方法包括1)在所述第一节点,截取由所述第一应用产生的套接字呼叫,并将该套接字呼叫重定向到驻留在所述第一节点上的基于SIP的应用;2)使用SIP协议发起与所述第二节点的IP会话。
2. 如权利要求1所述的方法,包括在步骤1)和2)之前,在所 述第二节点,截取套接字呼叫以绑定由所述第二应用产生的套接字,将 该系统呼叫重定向到驻留在所述第二节点上的基于SIP的应用,且使基 于SIP的应用准备接收来自所述第一节点的SIP会话建立请求。
3. 如权利要求2所述的方法,包括接收到在所述第二节点的基于 SIP应用上的重定向套接字呼叫,就使用呈现服务来公布全球可路由统一 资源标识符,该全球可路由统一资源标识符被映射到在所述第二节点上 的被绑定的套接字。
4. 如权利要求3所述的方法,包括接收到在所述笫二节点的基于 SIP应用上的重定向套接字呼叫,就提示用户输入统一资源标识符,接收 所输入的统一资源标识符,并将该统一资源标识符作为所述全球可路由统一 资源标识符公布。
5. 如权利要求2至4中任何一项所述的方法,包括接收到在所述 第一节点的基于SIP应用上的所述重定向套接字呼叫,就提示用户输入 统一资源标识符,接收所输入的统一资源标识符,并将所接收的统一资 源标识符用作目的地址以与所述第二节点建立IP会话。
6. 如权利要求5所述的方法,其中在所述第一节点上截取的所述套 接字呼叫是连接在第一应用上的传输层套接字的请求。
7. 如前述权利要求中任何一项所述的方法,其中发起IP会话的步 骤包括利用所述呼叫被定向到的传输层来与所述第二节点建立一个或多 个通信量流。
8. 如权利要求l所述的方法,其中所迷第一节点充当客户端,并且 笫二节点充当服务器。
9. 如权利要求l所迷的方法,其中所迷第一节点充当服务器,并且 第二节点充当客户端。
10. 如权利要求1所述的方法,其中所述第一节点和所述笫二节点都充当服务器。
11. 如前述权利要求中任何一项所述的方法,包括在每个节点, 向相应的应用报告虚构的远程IP地址和端口号。
12. 如前述权利要求中任何一项所述的方法,所述传输层是传输控 制协议。
13. 如权利要求1-12中任何一项所述的方法,所述传输层是用户 数据报协议。
14. 如权利要求13所述的方法,其中由所述第一应用产生的所述套 接字呼叫是建立无连接的用户数据报协议套接字的呼叫,该方法还包括 将所建立的IP会话与目的IP地址和端口号关联,其中对与不同IP地址 和端口号关联的相同套接字的另外呼叫被视为建立不同IP会话的呼叫。
15. —种在通信系统中使用的节点,该节点被配置有遗留应用、提 供套接字应用编程接口的操作系统、以及基于SIP的应用,该操作系统 被设置成截取由所述遗留应用产生、并意图用来在传输层上与对等节点 建立IP会话的套接字呼叫,并将它重定向到驻留在所述第一节点上的所 述基于SIP的应用,并且所述基于SIP的应用被设置成使用SIP协议与 所述对等节点发起IP会话。
16. 如权利要求15所述的节点,所述操作系统被设置成向所述遗留 应用返回所建立的套接字的套接字ID。
17. 如权利要求15或16所述的节点,所述传输层是传输控制协议 和用户数据报协议中之一。
18. 如权利要求15-17中任何一项所迷的节点,所述节点是移动无 线终端。
19. 一种在通信系统中使用的服务器,该服务器被配置有遗留应用、 提供套接字应用编程接口的操作系统、以及基于SIP的应用,该操作系 统被设置成截取套接字应用编程接口呼叫以绑定传输层的套接字,并将 该呼叫重定向到所述基于SIP的应用,并且所述基于SIP的应用又被设 置成准备接收与所述遗留应用关联的SIP会话发起请求。
全文摘要
一种在各自第一和第二节点上运行的第一和第二应用之间建立IP链路的方法,该第一和第二应用被设置成通过向各自的操作系统套接字应用编程接口发出呼叫,在传输层上发起链路建立。该方法包括1)在所述第一节点,截取由所述第一应用产生的套接字呼叫,并将该套接字呼叫重定向到驻留在所述第一节点上的基于SIP的应用;以及2)使用SIP协议发起与所述第二节点的IP会话。
文档编号H04L29/06GK101690073SQ200780053641
公开日2010年3月31日 申请日期2007年7月4日 优先权日2007年7月4日
发明者G·卡马里洛, S·皮雷尔 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1