CN109040009B - Ip容忍和信令互通 - Google Patents

Ip容忍和信令互通 Download PDF

Info

Publication number
CN109040009B
CN109040009B CN201810588117.4A CN201810588117A CN109040009B CN 109040009 B CN109040009 B CN 109040009B CN 201810588117 A CN201810588117 A CN 201810588117A CN 109040009 B CN109040009 B CN 109040009B
Authority
CN
China
Prior art keywords
communication
sip
session
entity
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810588117.4A
Other languages
English (en)
Other versions
CN109040009A (zh
Inventor
T·卢卡克
H·V·曼迪拉塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Avaya Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avaya Inc filed Critical Avaya Inc
Publication of CN109040009A publication Critical patent/CN109040009A/zh
Application granted granted Critical
Publication of CN109040009B publication Critical patent/CN109040009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/385Uniform resource identifier for session initiation protocol [SIP URI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及IP容忍和信令互通。在尝试在第一通信实体和第二通信实体之间建立通信会话时,接收第一消息。例如,第一消息可以是SIP INVITE消息。基于来自第一通信实体和/或第二通信实体的注册消息,确定第一通信实体或第二通信实体中的至少一个是互联网协议(IP)版本不容忍的。响应于确定第一通信实体或第二通信实体中的所述至少一个是IP版本不容忍的,适配消息(例如,SIP INVITE消息)中的一个或多个IP地址,以便建立通信会话。该适配删除一个或多个IP地址/将其更改为不同的IP版本,以确保正确的IP兼容性。

Description

IP容忍和信令互通
背景技术
互联网协议(IP)版本4(IPV4)是一种通过互联网提供通信能力的网络层协议。在IPV4中,每个IP地址都是32位长,允许43亿个唯一地址来标识设备。现在有这么多的移动通信设备在使用中,在IPV4的地址用尽之前需要额外的IP地址。互联网协议版本6(IPv6)作为对IPv4的替代,通过改变分配地址的方式,增大了可用IP地址的数量。在IPv6中,IP地址长度为128位。
针对会话发起协议(SIP)的现有注释请求(RFC)指出,较新的IPV6方案需要考虑IPv4的地址,而较旧的IPv4实现也必须支持IPv4和IPV6这两者。尽管许多较新的实现在管理地址(administered address)为IPv4或IPv6时支持两种类型的IP地址,但这种方法并不通用。换句话说,在某些情况下,当被配置为IPv6设备时,较新的实现将不支持消息中的IPv4地址;并且当被配置为IPv4设备时不支持IPv6地址。
而且,大多数较旧的实现(其数量较多且仅支持IPv4)不容忍在SIP消息传递中使用IPv6地址。如果IPv6地址包含在SIP消息中,则此类实现可能无法正常工作,或者在最坏的情况下可能会崩溃,而不是处理IPV6寻址。需要一种识别IP版本不容忍的方法,以便在混合的IPv4/IPV6环境中提供更好的互通。
发明内容
这些和其他需求可通过本公开的各种实施例和配置来解决。在尝试在第一通信实体和第二通信实体之间建立通信会话时,接收第一消息。例如,第一消息可以是SIP INVITE消息。基于来自第一通信实体和/或第二通信实体的注册消息,确定第一通信实体或第二通信实体中的至少一个是互联网协议(IP)版本不容忍的。响应于确定第一通信实体或第二通信实体中的至少一个是IP版本不容忍的,适配消息(例如,SIP INVITE消息)中的一个或多个IP地址,以便建立通信会话。该适配删除一个或多个IP地址/将其更改为不同的IP版本,以确保正确的IP兼容性。
短语“至少一个”、“一个或多个”、“或”和“和/或”是在操作中既是连接又是分离的开放式表达。例如,表达“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”、“A、B和/或C”和“A、B或C”中的每一个都表示单独的A、单独的B、单独的C、A和B一起、A和C一起、B和C一起或A、B和C一起。
术语“一”或“一个”实体是指一个或多个该实体。如此,术语“一”(或“一个”)、“一个或多个”和“至少一个”在本文中可以互换使用。还应该指出,术语“包括”、“包含”和“具有”可以互换使用。
如本文所使用的,术语“自动”及其变体指的是任何过程或操作,其通常是连续的或半连续的,当执行过程或操作时无需人工输入的物质即可完成。然而,如果在执行过程或操作之前接收到输入,则过程或操作可以是自动的,即使过程或操作的执行使用了人工输入的物质或非物质。如果人工输入会影响过程或操作的执行方式,那么这些输入被认为是物质的。同意过程或操作的执行的人工输入不被视为“物质的”。
本公开的各方面可以呈现完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,所有前述的各项在本文中都可以一般性地称为“电路”、“模块”或“系统”。可以使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。
计算机可读存储介质可以是例如但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或前述的各项的任何适当的组合。计算机可读存储介质的更具体的实例(非穷举列表)将包括以下内容:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或前述的各项的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的有形介质。
计算机可读信号介质可以包括其中(例如在基带中或者作为载波的一部分)包含有计算机可读程序代码的传播数据信号。这样的传播信号可以呈现多种形式中的任何形式,包括但不限于电磁、光学或其任何适当的组合。计算机可读信号介质可以是不是计算机可读存储介质并且可以传送、传播或传输供指令执行系统、装置或设备使用或与其结合使用的程序的任何计算机可读介质。体现在计算机可读介质上的程序代码可以使用任何适当的介质来传输,所述介质包括但不限于无线、有线、光缆、RF等,或前述的各项的任何适当组合。
如本文所使用的,术语“确定”、“计算”及其变体可互换使用,并且包括任何类型的方法、过程、数学运算或技术。
在此使用的术语“装置”应给予根据35U.S.C.第6段,第112(f)节和/或第112节的其最宽的可能解释。因此,包含术语“装置”的权利要求应涵盖本文阐述的所有结构、材料或动作及其所有等同物。进一步,结构、材料或动作及其等同物应包括发明内容、附图说明、具体实施方式、摘要和权利要求本身中描述的所有内容。
如本文所使用的术语“通信实体”可以是作为对话中的端点的任何实体。通信实体可以是通信端点、背靠背用户代理、通信系统、SIP用户代理(SIP UA)和/或等等。对话是通信实体之间的具有其自己的连接标识符的通信会话(例如,如图4-5所讨论的)。例如,在SIP中,对话具有用于每个SIP对话的唯一会话标识符。
本文所公开的SIP消息类型,诸如SIP INVITE(邀请)消息、SIP 200OK消息、SIPACK消息、SIP NOTIFY(通知)消息、SIP REGISTER(注册)消息、SIP PUBLISH(发布)消息、SIP488NOT ACCEPTABLE HERE(这里不接受SIP 488)消息、SIP SUBSCRIBE(订阅)消息、SIPNOTIFY(通知)消息、SIP PUBLISH(发布)消息和/或等等,都基于根据SIP标准定义的标准SIP消息。本公开描述了这些消息中的一些可以被修改以便在不同通信实体之间提供IP容忍。当在此引用标准SIP消息传递时,本领域的普通技术人员将认识到这些消息的范围限于SIP协议,除非另有说明。
前述的内容是是为提供对本公开的一些方面的理解的简化概述。本发明内容既不是对本公开及其各种实施例的广泛的,也不是穷举的概述。本发明内容既不旨在标识本公开的关键要素,也不旨在描绘本公开的范围,而是以简化的形式呈现本公开的选定概念作为对以下呈现的更详细描述的介绍。如将认识到的,本公开的其他实施例可以单独或组合使用一个或多个上述特征或下面详细描述的特征。而且,虽然本公开是以示例性实施例的形式给出的,但应该理解的是,本公开的各个方面可以分别要求保护。
附图说明
图1是用于处理IP版本不容忍的第一说明性系统的说明性框图。
图2是用于处理通信系统之间的IP版本不容忍的第二说明性系统的说明性框图。
图3是具有IP容忍/不容忍的通信端点之间的通信会话中的消息传递流的说明性框图。
图4是用于处理会话发起协议(SIP)通信会话中的IP版本容忍/不容忍的过程的流程图。
图5是用于处理具有有序背靠背用户代理的会话发起协议(SIP)通信会话中的IP版本容忍/不容忍的过程的流程图。
图6是用于用单个记录地址注册用户的多个通信端点的过程的流程图。
图7是用于呼叫分叉过程的流程图,其中使用单个记录地址注册用户的多个通信端点。
具体实施方式
图1是用于处理IP版本不容忍的第一说明性系统100的说明性框图。第一说明性系统100包括通信端点101A-101N、网络110和通信系统120。
通信端点101A-101N可以是或可以包括可在网络110上通信的任何通信端点设备,诸如个人计算机(PC)、电话、视频系统、蜂窝电话、个人数字助理(PDA)、平板设备、笔记本设备、网络服务器、媒体服务器、智能电话和/或等等。通信端点101A-101N是通信会话结束于其上的设备。通信端点101A-101N不是促成和/或中继网络中的通信会话的网络元件,例如通信管理器或路由器。如图1所示,任何数量的通信端点101A-101N都可以连接到网络110。通信端点101A-101N可以是会话发起协议(SIP)用户代理(SIP UA)。
通信端点101A还包括处理器102A、IP协议栈103A和网络接口104A。虽然未示出,但通信端点101B-101N也可以以与通信端点101A相似配置而包括元件102-104。
处理器102A可以是或可以包括任何硬件处理器,诸如微处理器、微控制器、数字信令处理器(DSP)、专用处理器、多核处理器和/或等等。处理器102A可以处理软件/固件指令以实现本文所描述的通信端点101过程。
IP协议栈103A可以是或可以包括可用来支持互联网协议(IP)的任何固件/软件。IP协议栈103A可以支持IPV4、IPV6或两者的组合。IP协议栈103A可以进一步支持其他IP版本以及其他协议栈。例如,通信端点101A可以支持SIP、H.323、Web实时通信(WebRTC)协议、会话描述协议(SDP)、实时通信协议(RTCP)和/或等等。
网络接口104A可以是或可以包括允许通信端点101在网络110上通信的任何硬件接口,诸如以太网接口、WiFi接口、蜂窝接口、光纤接口、无线接口和/或等等。
网络110可以是或可以包括任何可发送和接收电子通信的通信设备的集合,诸如互联网、广域网(WAN)、局域网(LAN)、IP网络电话(VoIP)、公共交换电话网(PSTN)、分组交换网络、电路交换网络、蜂窝网络、这些网络的组合等。网络110可以使用各种电子协议,诸如以太网、互联网协议(IP)、会话发起协议(SIP)、H.323、视频协议、WebRTC、综合业务数字网络(ISDN)等等。因此,网络110是被配置为经由分组和/或电路交换通信传送消息的电子通信网络。
通信系统120可以是或可以包括与可以管理网络110上的通信的软件/固件相耦合的任何硬件系统,诸如通信管理器、会话管理器、专用交换分机(PBX)、路由器、交换机、代理服务器121、中心局交换机和/或等等。通信系统120还包括代理服务器121、处理器122、IP协议栈123、网络接口124、一个或多个背靠背用户代理(B2BUA)125和IP版本管理器126。
代理服务器121可以是或可以包括可管理通信端点101A-101N之间的通信会话的任何代理服务器。在一个实施例中,代理服务器121可以是SIP代理服务器。SIP代理服务器121可以管理两个或更多个通信端点101之间的通信会话(即,单个SIP对话)。
处理器122可以是或可以包括任何硬件处理器。例如,处理器122可以与处理器102相同或相似。
IP协议栈123可以与通信端点101中的IP协议栈103相同或不同。IP协议栈123支持IPV4和IPV6这两者,而IP协议栈103可以仅支持IPV4或IPV6中的一者或两者。
网络接口124可以与网络接口104相同或不同。网络接口124可以包括多个网络接口124。例如,网络接口124可以包括WiFi和以太网接口。
背靠背用户代理(B2BUA)125可以是或者可以包括插入到两个或更多个通信端点101A-101N之间的通信会话中的任何应用程序(application)。例如,B2BUA 125可以是呼叫记录应用程序、呼叫转移应用程序、呼叫分叉应用程序、转录(transcription)应用程序、转译(translation)应用程序和/或等等。B2BUA 125可以是IP不容忍的。例如,B2BUA 125可能在SIP消息传递中仅支持IPV4或IPV6。尽管在通信系统120中示出了B2BUA 125,但是在其他实施例中,B2BUA 125可以与通信系统120分开,诸如在SIP代理服务器或其他SIP实体中。
IP版本管理器126可以是或可以包括可管理互联网协议的不同版本的任何固件/软件。例如,IP版本管理器126可以在IPV4与IPV6(或IPV6与IPV4)寻址之间进行交换,以保护IP不容忍的通信端点101和IP不容忍的B2BUA 125。
图2是用于处理通信系统120之间的IP版本不容忍的第二说明性系统200的说明性框图。第二说明性系统200包括通信端点101A-101N、网络110A-110C和通信系统102A-120B。图2是通信系统120可以分布在何处的说明性示例。例如,网络110B可以是互联网,网络110A和110C可以是公司网络。在图2中,作为对通信端点101A-101N的附加,一个或多个通信系统120A-120B可以是IP不容忍的。例如,通信系统120A(例如代理服务器121)可以使用IPV4/IPV6,通信系统120B可以仅使用IPV4。在图2中,还可以存在其他设备(未示出)。例如,防火墙可以存在于通信系统120A/120B和网络110B之间。
图3是具有IP容忍/不容忍的通信端点101A-101N(通信实体)之间的通信会话中的消息传递流的说明性框图。使用通信端点101A-101N来讨论图3的过程。如本文所讨论的,并且在权利要求中,通信端点101可以是通信实体。然而,在一些实施例中,图3的过程可以是在两个非通信端点之间(例如,如图2所示,其中通信会话可以涉及两个通信系统120,或者其中一个通信实体是B2BUA 125)。另选地,通信实体中只有一个可以是通信端点101,诸如通信端点101与媒体服务器/B2BUA 125之间的通信会话。
如本文中所定义的,IP容忍/不容忍是通信实体(例如通信端点101、B2BUA 125、应用程序、通信系统120、代理服务器121和/或其他设备(例如网关、会话边界控制器等))无法在应用层接收和/或响应于不同IP版本的消息的情况。SIP、H.323、WebRTC、H.624、G711和/或等等是应用层协议的示例。在应用层处理不同的IP版本不同于在网络层处理不同的IP版本(例如,如在ISO 7层模型中定义的)。IP是网络层协议。网络层上不同版本的IP(特别是IPV4/IPV6)之间的适配是众所周知的,不在本专利申请的范围内。
如果设备或应用程序是IP不容忍的,则通信系统120改变一个或多个出站(outbound)消息302/306,以确保可以适当地建立通信会话。以下列出了不同类型的IP容忍/不容忍。
·IPV4不容忍:这些通信实体只可以以通过IPV4连接的信令接受和生成IPV4地址。IPV4不容忍的设备/应用程序无法发送/接收包含IPV6地址的消息。
·IPV6不容忍:这些通信实体只可以以通过IPV6连接的信令接受和生成IPV6地址。IPV6不容忍的设备/应用程序无法发送/接收包含IPV4地址的消息。
·IPV4容忍:作为对IPV4地址的附加,这些通信实体还可以以通过IPV4连接的信令接受和生成IPV6地址。
·IPV6容忍:作为对IPV6地址的附加,这些通信实体还可以以通过IPV6连接的信令接受和生成IPV4地址。
·IPV46不容忍:这些通信实体支持IPV4和IPV6地址这两者:这些通信实体可以以通过IPV4连接的信令接受和生成仅IPV4地址;以及通过IPV6连接,接受和生成仅IPV6地址。(这种分类仅适用于SIP通信实体)
·IPV46容忍:这些通信实体支持IPv4和IPV6地址这两者:它们可以以通过IPV6连接的信令接受并生成IPV4地址;以及,通过IPV4连接,接受和生成IPV6地址。(这种分类仅适用于SIP通信实体)。
下面,在表1中列出了IP容忍/不容忍以及通信系统120是否需要改变一个或多个出站消息302/306以确保IP版本兼容性的不同组合。
Figure BDA0001689879380000091
表1
基于表1,通信系统120(代理服务器121/IP版本管理器126)根据需要改变出站消息302/306。在一些实施例中,适配可以是仅适配出站消息302和/或306内的IP地址的部分。在一些情况下,入站消息300和/或304可以包括IPV4和IPV6寻址两者。例如,在具有三方或更多方的电话会议中,IPV4容忍通信端点101可与IPV6不容忍通信端点101和IPV4不容忍通信端点101两者进行会议。在这种情况下,发往IPV6不容忍通信端点101和IPV4不容忍通信端点101的入站消息300/304中的一些或全部可以包含IPV4和IPV6地址两者。在这些情况下,代理服务器121/IP版本管理器126可以根据需要适配IP地址,以确保IP版本互操作性。适配可以包括删除部分报头、参数等,以便确保互操作性。
例如,假设通信端点101A是IPV6不容忍通信实体,通信端点101N是IPV4不容忍通信实体。在该示例中,通信系统120将入站消息300的IP版本(IPV6)改变为出站消息302中的IPV4。通信系统120通过在应用层(例如,ISO 7层模型)处替换/删除IP地址来改变IP版本。例如,通过改变/删除SIP消息中的IPV6地址。同样,通信系统120将入站消息304的IP版本(IPV4)改变为出站消息302中的IPV6。在上面的示例中,对于通信端点101A和101N之间的通信会话仅存在单个通信会话(即,具有单个会话标识符的对话)。
另选地,如果通信端点101A是IPV6不容忍的,通信端点101N是IPV6不容忍的,则通信系统120不需要改变出站消息302/306中任一个中的IP地址,因为通信端点101A和101N两者都是IPV6不容忍的。在这种情况下,假定消息仅包含IPV6地址,因为通信端点101A和101N两者都是IPV6不容忍的。
图4是用于处理会话发起协议(SIP)通信会话中的IP版本不容忍的过程的流程图。说明性地,通信端点101A-101N、IP协议栈103/123、网络接口104/124、通信系统120A-120B、代理服务器121、B2BUA 125和IP版本管理器126是存储的程序所控制的实体,例如计算机或微处理器,其通过执行存储在诸如存储器或盘之类的计算机可读存储介质中的程序指令来执行图3-7的方法和本文所述的过程。尽管图3-7中所描述的方法是以特定顺序示出的,但是本领域技术人员将认识到,图3-7中的步骤可以以不同的顺序实现和/或在多线程环境中实现。此外,基于实现方式,可以省略或添加各种步骤。
使用SIP消息来描述图4-7的过程。然而,本领域的普通技术人员将会认识到,可以对图4-7的流程图采用类似的消息,诸如H.323、WebRTC、H.624、G711等中的消息。
该过程开始于步骤400,此时通信端点101N向代理服务器121/IP版本管理器126发送指出通信端点101N是IPV6不容忍的SIPREGISTER消息。代理服务器121/IP版本管理器126在步骤401中向通信端点101N发送SIP 200OK。在步骤402中,通信端点101A向代理服务器121/IP版本管理器126发送指出通信端点101A是IPv4不容忍的SIP REGISTER消息。代理服务器121/IP版本管理器126在步骤403中向通信端点101A发送SIP 200OK。IP版本管理器126在步骤404中将通信端点101A和101N的IP容忍类型存储在存储器中(例如,存储在数据库中)。
在一个实施例中,通信端点101A和101N在Contact报头中,在步骤400和402的SIPREGISTER消息中发送IP版本不容忍信息。另选地,通信端点101A和101N可在步骤400和402的SIP REGISTER消息中的其他字段中发送IP版本不容忍信息。另选地,注册过程可以使用其他消息,诸如SIP REFER消息、SIP OPTIONS消息、SIPINVITE消息,SIP SUBSCRIBE消息和/或等等。
作为对使用SIP REGISTER消息进行注册的附加,可以以各种其他方式用特定类型的IP容忍/不容忍来标识通信端点101。例如,IP版本管理器126可以标识特定的电话或设备类型,并基于列表将电话/设备类型与特定类型的IP版本容忍/不容忍类型相关联。另选地,对于未注册的较旧设备,管理员可以从管理终端(未示出)管理IP容忍/不容忍类型。
代理服务器121/IP版本管理器126在步骤406中接收使用IPV4地址的SIP INVITE消息。例如,SIP INVITE消息中的SIP“To”和/或“From”报头可以具有IPV4IP地址。在一种实现中,SIP From:报头可以如下所示:From:“Joe@xyz.com”<sip:10000@10.172.0.2>。代理服务器121/IP版本管理器126在步骤408中将32位SIP地址10.172.0.2适配为128位IPV6地址。例如,适配的SIP From报头可以如下所示:From:“Joe@xyz.com”<sip:10000@FE80:0:0:0:202:B3FF:FE1E:8329>。IPV6地址是通信系统120的地址。本例使用本地IPV6地址。然而,在其他实施例中,可以使用IPV6全局地址。
代理服务器121/IP版本管理器126在步骤410中将具有适配的IPV6地址的经适配的SIP INVITE消息发送到通信端点101N。通信端点101N在步骤412中发送SIP 200OK消息。在步骤412的SIP 200OK消息中,通信端点101N在SIP Contact报头中使用通信系统120的IPV6地址(FE80:0:0:0:202:B3FF:FE1E:8329)(例如To:“Joe@xyz.com”<sip:10000@FE80:0:0:0:202:B3FF:FE1E:8329)。代理服务器121/IP版本管理器126在步骤414中将步骤412的SIP 200OK消息适配回IP地址10.172.0.2。例如,步骤416的SIP 200OK消息中的SIP From:字段将如下所示:From:“Joe@xyz.com”<sip:10000@10.172.0.2。代理服务器121/IP版本管理器126在步骤416中向通信端点101A发送经适配的SIP 200OK消息。
响应于步骤416的SIP 200OK消息,通信端点101A在步骤418中向代理服务器121/IP版本管理器126发送SIP ACK消息。代理服务器121/IP版本管理器126在步骤420中以与在步骤408中描述的相同方式适配(如果需要)SIP ACK消息(将SIP From报头替换为IPV6地址)。在步骤422中,将经适配的SIP ACK消息发送到通信端点101N。接着在步骤424中建立通信会话(例如,语音呼叫)。
在此示例中,仅存在通信端点101A和101N之间的单个SIP对话。通信端点101A和101N之间的通信会话具有单个会话标识符(其不同于电话号码)。
使用SIP INVITE消息、SIP 200OK消息和SIP ACK消息来描述图4的过程。然而,在标准SIP中,在呼叫建立中还可能涉及其他类型的消息,诸如SIP CANCEL、SIP INFO、SIP180RINGING、SIP CANCEL、SIP OPTIONS、SIP PRAK、SIP PUBLISH、SIP TRYING、SIP CALL ISBEING FORWARDED(SIP呼叫正在被转发)、SIP QUEUED(SIP排队)、SIP SESSION INPROGRESS(SIP会话正在进行中)和/或等等。必要时可对这些类型的消息使用类似的适配。
图5是用于在具有有序(sequenced)背靠背用户代理的会话发起协议(SIP)通信会话中处理IP版本容忍/不容忍的过程的流程图。图5的过程类似于图4的过程,但附加了已添加到呼叫流的SIP B2BUA 125。在图5中,对于SIP消息传递,B2BUA 125是IPV6不容忍的。另外,通信端点101A和101N是IPV4不容忍的。
在SIP中,当B2BUA 125被添加到信令消息流中时,通常所有的SIP信令消息流经B2BUA 125,如图5所示。当B2BUA 125被添加到信令呼叫流时,B2BUA 125创建两个单独的对话:1)SIP对话1——来自通信端点101A和B2BUA 125,以及2)SIP对话2——来自B2BUA 125和通信端点101N。在这种情况下,存在具有单独的会话标识符的两个单独的通信会话(即,根据在SIP RFC 3261“SIP:Session Initiation Protocol June,2002”(其通过引用并入本文)中所描述的标准SIP消息传递)。
该过程开始于步骤500,此时通信端点101N向IP版本管理器126发送指出通信端点101N是IPV4不容忍的SIP REGISTER消息。同样,在步骤502中,通信端点101A向IP版本管理器126发送指出通信端点101N是IPV4不容忍的SIP REGISTER消息。在该示例性实施例中,B2BUA 125还在步骤504中向IP版本管理器126发送SIP REGISTER消息,指出B2BUA 125是IPV6不容忍的。然而,在另一个实施例中,B2BUA 125可以经由管理员注册其IP不容忍性。响应于消息500、502和504,IP版本管理器126在步骤506中将通信端点101A和101N的IP不容忍类型以及B2BUA 125的IP不容忍类型存储在存储器中(例如,存储在数据库)。
通信端点101A在步骤508中使用IPV4地址发送SIP INVITE消息。代理服务器121/IP版本管理器126在步骤510中适配SIP INVITE消息(例如,如上面的步骤408所述)。代理服务器121/IP版本管理器126在步骤512中将经适配的SIP INVITE消息(适配到IPV6)发送到B2BUA 125。B2BUA 125在步骤514中向代理服务器121/IP版本管理器126发送SIP INVITE消息(在步骤510中适配到IPV6)。在步骤516中,代理服务器121/IP版本管理器126将步骤514的SIP INVITE消息适配回IPV4。代理服务器121/IP版本管理器126在步骤518中将经适配的SIP INVITE消息(适配回IPV4)发送到通信端点101N。该过程重复图4的过程,带有附加步骤,即在步骤520中通过B2BUA 125发送SIP 200OK消息(即,从101N→120→125→120→101A)以及SIP ACK消息(从101A→120→125→120→101N)。接着,在步骤522中建立通信会话。
讨论了图5的过程,在该过程中,在通信会话522中涉及单个B2BUA 125。在SIP中,多于一个的B2BUA 125可以被排序到通信会话中。在这种情况下,在步骤516之后,代理服务器121/IP版本管理器126将向第二B2BUA 125发送经适配的SIP INVITE消息。接着,第二B2BUA 125将SIP INVITE消息发送回代理服务器121/IP版本管理器126。对于每个额外的B2BUA 125,将重复该过程。
以上描述内容描述了特定的SIP消息(例如,SIP INVITE消息、SIP 200OK消息和SIP ACK消息)和使用IP地址的特定SIP报头(例如,SIP To和From报头)。然而,该过程可以在存在IP不容忍的任何SIP消息中将IPV4转换为IPV6,并将IPV6转换为IPV4。
在一个实施例中,利用其中注册SIP UA(例如通信实体)不兼容的SIP第三方注册,在SIP Contact报头中传递的SIP av.sig.iptolerance参数可能具有与另一个注册通信实体不兼容的IP地址。在这种情况下,如果存在IP版本不兼容性,则可能需要IP适配。
在一个实施例中,如果第三方注册SIP UA(例如,通信端点101)被托管在未注册的另一服务器上,则将基于标识IP容忍/不容忍类型的专有报头的存在,来建立注册SIP UA的IP地址。
对于由第一方SIP UA创建的SIP对话创建请求(例如,SIP INVITE消息、SIPSUBSCRIBE消息和SIP REFER消息),注册的SIP UA本身发起SIP对话创建请求。IP版本管理器126使用SIP Contact报头中的IP版本。
在一个实施例中,根据需要适配SIP报头中的SIP统一资源标识符(URI)以确保IP版本互操作性。例如,SIP NOTIFY可以包括使用IP地址的SIP URI。
对于SIP INVITE消息和SIP SUBSCRIBE消息,可以使用任何公知的参数来传送IP版本不容忍信息。另外,通信系统120可以在转发消息之前将IP版本不容忍信息作为转义(escaped)参数插入。
在SIP中,转义字符(新名称百分号编码(new name percent encoding))用于转换URI中不允许的URI中字符。例如,在URI的参数中不允许使用空白符;因此,将空白符转换为百分号编码,以便字符串显示为连续的。IP版本管理器126解码空白符。例如,假设发送通信实体具有URI“doug@example;param=Hello There”。由于存在将使URI解析失败的空白符(Hello和There之间),所以在发送之前,发送方将把“Hello There”转义(或百分号编码)为Hello%20There。所得到的URI将如下所示:doug@example;param=Hello%20There。如所见,在编码之后,URI中没有空白符;作为替代,空白符已被替换为%20,这是空白符的十六进制表示。与此类似,还有其他字符(称为特殊字符)必须进行百分号编码:例如,":"/"/"/"?"/"#"/"["/"]"/"@"。Request-URI可以包含av-nouri参数,因为该适配使用av-nouri来在适配期间存储av-ouri参数的原始值。由于这可以出现在Contact报头中,并且Contact报头可以放置在新请求的Request-URI中,所以适配可能需要将av-norui转换回av-ouri。这可能是对于实现而言特定的适配。如果实现将原始参数值(将要适配的参数的)存储在不同名称的参数中,那么如果实现在初始请求的请求-URI中看到它,实现将不得不撤消这一点。
对于其中出站分支是IPV4不容忍且入站分支是IPV4容忍或出站分支是IPV6不容忍且入站分支IPV6容忍的SIP INVITE消息,通信系统120存储SIP INVITE消息,并从SIPINVITE消息中除去SIP Record-Route报头,并插入其自己的与下一分支的IP地址类型匹配的IP地址。对于相应的响应(例如,SIP 200OK消息),在入站分支中,通信系统120检查SIPRecord-Route报头的内容。如果通信系统120在请求期间(在SIP INVITE消息中)修改了报头,则通信系统120恢复SIP Record-Route报头。上述过程也用于mid-dialog消息。例如,Record-Route报头可以通过修改IP地址或者除去全部报头来进行适配。无论哪种方式都可以防止向通信端点101发送具有错误IP地址类型的Record-Route报头。
如果出站分支是IPV4不容忍的并且入站分支是IPV4容忍的,或者出站分支是IPV6不容忍的并且入站分支是IPV6容忍的,则通信系统120从消息中除去SIP Via报头。通信系统120插入其自己的与下一跳的IP版本相匹配的IP地址。在入站处理期间,通信系统120检查SIP Via报头的内容。如果SIP Via报头已被修改,则通信系统120在处理消息之前恢复SIP Via报头。
Record-Route报头中与下一跳上的IP版本相匹配的IP地址的更改和恢复过程也适用于Record Route的SIP Via报头。通信系统120可以除去地址,接着在另一方向上加回,或者通过替换IP地址并接着在相反的方向上恢复回原始地址来适配它们。
如果通信实体不支持History-Info报头中的Targeted-to-URI的IP版本,则通信系统120适配SIP History-Info报头。通信系统120在转发请求之前,插入其自己的IP地址作为Targeted-to-URI地址,并添加原始URI地址(包括端口号)作为转义参数'ohiaddr'。
对于SIP REFER消息,如果通信实体不支持Refer-to报头中的URI的IP版本,则在出站分支处转发请求之前,通信系统120将其自己的IP地址作为URI地址插入到Refer-to报头,并在特定参数中添加原始URI地址(包括端口号)。user-part(用户部分)和除传输(transport)参数以外的所有参数都保留在新的Refer-To报头中。对于初始请求(例如,SIPINVITE消息),代理服务器121/IP版本管理器126将自己的地址作为URI地址插入到Request-URI中,并且在向下游转发请求之前将原始URI地址作为转义参数的一部分进行广告。user-part和参数保留在新的Request-URI中。例如,如果Request-URI是sip:xyz@[2620::123]:old-port;param1=xyz,所得到的Request-URI将如下所示:sip:xyz@192.168.1.1:new-port;param1=xyz;av-oraddr=escaped([2620::123]:old-port)。在入站分支处,一旦接收到初始请求,且该初始请求在Request-URI中的域部分和av-oraddr参数中具有通信系统120的IP地址,则IP版本管理器126恢复Request-URI的原始域和端口,并删除插入的参数。
对于Mid-Dialog请求,如果入站请求在请求URI中包含通信系统的地址,则IP版本管理器126在转发请求之前删除通信管理器的地址并用IP版本管理器126插入的参数(即av-ocaddr或av-oraddr)中的地址替换它。(注意:在mid-dialog请求处理期间的这种反向操作是由在初始请求处理时完成的Contact报头或REQUEST-URI适配产生的)。例如,如果mid-dialog请求的Request-URI是xyz@192.168.1.1:new-port;param1=xyz;av-oraddr=escaped([2620::123]:old-port),其中[192.168.1.1]是通信系统的地址,则IP版本管理器126除去通信管理器的地址,并恢复原始地址,并以Request-URI xyz@[2620::123]:old-port;param1=xyz向上游转发请求。
当涉及多个通信系统120时,上游通信系统120根据需要进行适配(例如,如表1所述),以确保通信系统120之间的互操作性。例如,对于从IPV6容忍通信系统120A发送到IPV4不容忍通信系统120B的SIP INVITE消息,对于SIP INVITE消息,通信系统120A将IPV6地址适配为IPV4地址。同样,对于从通信系统120B发送的SIP 200OK消息,通信系统120A将SIP200OK消息适配到IPV6地址。
图6是用于用单个记录地址注册用户的多个通信端点101的过程的流程图。例如,用户可能拥有bob@companyxyz.com的记录地址。在此示例中,用户(Bob)具有四个通信端点101A-101N,这些通信端点以记录地址bob@companyxyz.com进行注册。
该过程开始于步骤600,此时通信端点101A在步骤600中向代理服务器121/IP版本管理器126发送SIP REGISTER消息。在此示例中,通信端点101注册它是IPV4不容忍的。作为响应,代理服务器121/IP版本管理器126在步骤602中发送SIP 200OK消息。发送到通信端点101A的(步骤602的)SIP 200OK消息包含通信端点101A和101C的IP地址(无IPV6地址)。从步骤602的SIP 200OK消息中除去通信端点101B(IPV6不容忍)和101N(IPV6容忍)的IP地址。由于通信端点101A是IPV4版本不容忍的,因此它不能消耗通信端点101B和101N的IPV6联系地址。
通信端点101B在步骤604中向代理服务器121/IP版本管理器126发送SIPREGISTER消息。步骤604的SIP REGISTER消息指出通信端点101B是IPV6不容忍的。作为响应,代理服务器121/IP版本管理器126在步骤606中发送SIP 200OK消息。发送到通信端点101B的(步骤606的)SIP 200OK消息包含通信端点101B和101N的IP地址(无IPV4地址)。因为通信端点101B不能消耗IPV4地址,所以通信端点101A(IPV4不容忍)和101C(IPV4容忍)的IP地址被从在步骤606中发送的SIP 200OK消息中除去。
通信端点101C在步骤608中向代理服务器121/IP版本管理器126发送SIPREGISTER消息。步骤608的SIP REGISTER消息指出通信端点101C是IPV4容忍的。作为响应,代理服务器121/IP版本管理器126在步骤610中发送SIP 200OK消息。发送到通信端点101C的SIP 200OK消息(步骤610)包含通信端点101A-101N的IP地址,因为通信端点101C可以处理两种类型的IP版本(IPV4和IPV6)。
通信端点101C在步骤612中向代理服务器121/IP版本管理器126发送SIPREGISTER消息。步骤612的SIP REGISTER消息指出通信端点101C是IPV6容忍的。作为响应,代理服务器121/IP版本管理器126在步骤614中发送SIP 200OK。发送到通信端点101N的SIP200OK消息(步骤614)包含通信端点101A-101N的IP地址,因为通信端点101N可以处理两种类型的IP版本(IPV4和IPV6)。
图7是用于呼叫分叉的过程的流程图,其中使用单个记录地址注册用户的多个通信端点101。图7的过程基于图6的注册。在步骤700中,在代理服务器121/IP版本管理器126处从通信端点101X(另一个通信端点101)接收SIP INVITE消息。通信端点101X是IPV4不容忍的。在此示例中,步骤700的SIP INVITE消息在步骤702和704中被分叉到通信端点101A和101C,这些通信端点101A和101C仅是与记录地址相关联的支持IPV4的通信端点101。
在步骤705中,该呼叫在通信端点101C处被应答。这会导致SIP 200OK消息(具有IPV4地址)在步骤706中从通信端点101C发送到代理服务器121/IP版本管理器126。响应于SIP 200OK消息,代理服务器121/IP版本管理器126在步骤708中向通信端点101A发送SIPCANCEL消息以取消该分叉呼叫的该分支。代理服务器121/IP版本管理器126在步骤710中将SIP 200OK消息发送到通信端点101X(具有IPV4地址)。通信端点101X在步骤712中向代理服务器121/IP版本管理器126发送SIP ACK消息。SIP ACK消息使用IPV4地址。代理服务器121/IP版本管理器126在步骤714中将SIP ACK消息(具有IPV4地址)发送到通信端点101C。接着,在步骤716中建立通信会话。
在上面的实例中,SIP INVITE消息仅分叉到支持IPV4的通信端点101A和101C。然而,在其他实施例中,SIP INVITE消息可以被分叉到每个通信端点101A-101N。在这种情况下,发送到通信端点101B的分叉的SIP INVITE消息(IPV6不容忍)将不得不根据表1进行适配,以用IPV6寻址来替换IPV4寻址。同样,来自通信端点101B的SIP 200OK消息(如果被应答)将不得不被适配。
类似的过程可以用于服务器集群。例如,在传入的通信请求可以基于负载被引导到不同的服务器的情况下,代替分叉,传入请求由通信系统120指引以与特定服务器通信。基于发送该请求(例如,SIP INVITE消息)的通信实体的IP容忍类型,可以适配不同的入站和出站消息以在传入请求的发送方与所选择的服务器之间提供IP版本兼容性。
IP版本不容忍也可以适用于串行分叉。如果来自“集群”的最初选择的服务器不能处理该请求,则代理服务器121可以将该请求路由(顺序地将其分叉)到集群中的备用服务器。如果每个服务器支持不同的地址系列连接,则在发生此类备用路由/分叉时,可能必须重新适配请求。
本文所描述的处理器的实例可以包括但不限于
Figure BDA0001689879380000201
800和801、具有4G LTE集成和64位计算的
Figure BDA0001689879380000202
610和615、具有64位体系结构的
Figure BDA0001689879380000203
A7处理器、
Figure BDA0001689879380000204
M7运动协处理器、
Figure BDA0001689879380000205
系列、
Figure BDA0001689879380000206
酷睿TM系列处理器、
Figure BDA0001689879380000207
至强TM系列处理器、
Figure BDA0001689879380000208
凌动TM系列处理器、
Figure BDA0001689879380000209
系列处理器、
Figure BDA00016898793800002010
i5-4670K和i7-4770K 22nm Haswell、
Figure BDA00016898793800002011
酷睿TMi5-3570K 22nm Ivy Bridge、
Figure BDA00016898793800002012
FXTM系列处理器、
Figure BDA00016898793800002013
FX-4300、FX-6300和FX-835032nm Vishera、
Figure BDA00016898793800002014
Kaveri处理器、德州仪
Figure BDA00016898793800002015
Jacinto C6000TM汽车信息娱乐处理器、
Figure BDA00016898793800002016
OMAP汽车级移动处理器、
Figure BDA00016898793800002017
CortexTM-M处理器、
Figure BDA00016898793800002018
Cortex-A和
Figure BDA00016898793800002019
926EJ-STM处理器、其他行业等效处理器中的至少一种,并且可以使用任何已知或未来开发的标准、指令集、库和/或体系结构来执行计算功能。
本文所讨论的任何步骤、功能和操作可以连续且自动地执行。
然而,为了避免不必要地模糊本公开,前面的描述省略了许多已知的结构和设备。这种省略不被解释为对要求保护的公开的范围的限制。阐述了具体细节以提供对本公开的理解。然而应该理解的是,本公开可以以超出本文阐述的具体细节的各种方式来实践。
此外,尽管本文示出的示例性实施例示出了并置的系统的各种组件,但是系统的某些组件可以远程定位,位于分布式网络110(例如LAN和/或互联网)的远处部分,或者位于专用系统内。因此,应该理解的是,系统的组件可以被组合到一个或多个设备中或者并置在分布式网络的特定节点上,例如模拟和/或数字电信网络、分组交换网络或电路交换网络。从前面的描述中可以理解,并且出于计算效率的原因,可以将系统的组件安排在组件的分布式网络内的任何位置而不影响系统的操作。例如,各种组件可以位于交换机中,诸如PBX和媒体服务器、网关、一个或多个通信设备中、在一个或多个用户房屋中,或其一些组合。类似地,系统的一个或多个功能部分可以分布在电信设备和相关联的计算设备之间。
此外,还应该理解的是,连接元件的各种链路可以是有线或无线链路或其任何组合,或者任何其他已知的或以后开发的能够向已连接的元件提供数据和/或来往于已连接的元件提供和/或传递数据的元件。这些有线或无线链路也可以是安全链路,并且可以能够传送加密信息。例如,用作链路的传输介质可以是用于电信号的任何合适的载体,包括同轴电缆、铜线和光纤,并且可以呈现声波或光波的形式,例如在进行无线电和红外数据通信中产生的那些波。
而且,虽然是参考特定事件序列讨论和说明流程图的,但是应当理解,可以在不实质性地影响本公开的操作的情况下对该序列进行改变、添加和省略。
可以使用本公开的许多变化和修改。可以提供本公开的一些特征而不提供其他特征。
在又一个实施例中,本公开的系统和方法可以结合专用计算机、编程的微处理器或微控制器和外围集成电路元件、ASIC或其他集成电路、数字信号处理器、(诸如分立元件电路、可编程逻辑器件之类的)硬连线电子或逻辑电路或门阵列(诸如PLD、PLA、FPGA、PAL)、专用计算机、任何相当的装置等等来实现。通常,能够实施本文所示的方法的任何设备或装置可以用于实现本公开的各个方面。可以用于本公开的示例性硬件包括计算机、手持设备、电话(例如,蜂窝式、能上互联网的、数字式、模拟式、混合型等)以及本领域已知的其他硬件。这些设备中的一些包括处理器(例如,单个或多个微处理器)、存储器、非易失性存储器、输入设备和输出设备。此外,还可以构建替代软件实现,包括但不限于分布式处理或组件/对象分布式处理、并行处理或虚拟机处理,以实现本文所述的方法。
在又一个实施例中,所公开的方法可以容易地结合使用对象或面向对象的软件开发环境的软件来实现,软件开发环境提供可以在各种计算机或工作站平台上使用的便携式源代码。另选地,所公开的系统可以使用标准逻辑电路或VLSI设计部分地或完全地以硬件来实现。是使用软件还是使用硬件来实现根据本公开的系统取决于对系统、特定功能以及正在使用的特定软件或硬件系统或微处理器或微计算机系统的速度和/或效率要求。
在又一个实施例中,所公开的方法可以部分地实现为软件,软件可以存储在存储介质上,在编程的通用计算机上执行,并与控制器和存储器、专用计算机、微处理器等协作。在这些情况下,本公开的系统和方法可以作为嵌入在个人计算机上的程序(诸如小程序、
Figure BDA0001689879380000221
或CGI脚本),作为驻留在服务器或计算机工作站上的资源,作为嵌入在专用测量系统、系统组件等上的例程来实现。该系统还可以通过将系统和/或方法物理地结合到软件和/或硬件系统中来实现。
尽管本公开参考特定标准和协议描述了在实施例中实施的组件和功能,但是本公开不限于这些标准和协议。本文未提及的其他类似标准和协议存在并被认为包括在本公开内容中。此外,本文提及的标准和协议以及本文未提及的其他类似标准和协议周期性地被具有基本相同功能的更快或更有效的等同物所取代。具有相同功能的这种替换标准和协议被认为是包含在本公开中的等同物。
本公开在各种实施例、配置和方面中包括基本上如本文描绘和描述的组件、方法、过程、系统和/或装置,包括各种实施例,子组合和其子集。本领域技术人员将理解在理解本公开之后如何制造和使用本文公开的系统和方法。在各种实施例、配置和方面中,本公开包括提供不存在本文未描绘和/或描述的项目的装置和过程,或在本文的各种实施例、配置或方面中,包括不存在可能已经在以前的装置或过程中使用的项目,例如用于提高性能、实现简易性和/或降低实现成本。
本公开的前述讨论是出于说明和描述的目的给出的。前述内容并非意图将本公开限制于本文公开的一种或多种形式。在例如前述的“具体实施方式”中,为了使本公开简化,本公开的各种特征在一个或多个实施例、配置或方面中被组合在一起。本公开的实施例、配置或方面的特征在除以上讨论的那些之外的替代实施例、配置或方面中可以组合在一起。本公开的这种方法不应被解释为反映所要求保护的公开需要比每个权利要求中明确列举的更多特征的意图。相反,如权利要求所反映的,发明方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,权利要求在此被并入本“具体实施方式”中,每个权利要求本身作为本公开的单独的优选实施例。
此外,虽然对本公开的描述已经包括了对一个或多个实施例、配置或方面的描述,但是某些变型和修改、其他变型、组合和修改也在本公开的范围内,例如,在本领域技术人员理解了本公开之后,这可能在他们的技术和知识范围内。本公开旨在获得权利,所述权利包括在允许的范围内的替代实施例、配置或方面,包括与所要求保护的那些结构、功能、范围或步骤的替代的、可互换的和/或等效的结构、功能、范围或步骤,无论这些替代的、可互换的和/或等效的结构、功能、范围或步骤是否在本文中公开,并且不旨在公开地贡献任何可取得专利的主题。

Claims (9)

1.一种用于通信的方法,包括:
由微处理器接收用于在第一通信实体与第二通信实体之间建立通信会话的第一消息;
由所述微处理器基于接收自所述第一通信实体、所述第二通信实体或管理方中的至少一者的注册,确定所述第一通信实体或所述第二通信实体中的至少一者对于对方通信实体的互联网协议IP版本是IP版本不容忍的;
响应于确定所述第一通信实体或所述第二通信实体中的所述至少一者是IP版本不容忍的,由所述微处理器通过以下来修改用于建立所述通信会话的一个或多个消息中的一个或多个IP地址,以将所述一个或多个IP地址改变为不同的IP版本:插入通信系统的IP地址代替所述第一通信实体的IP地址,同时在所述一个或多个消息中保留用户部分user-part原始的统一资源标识符URI参数;和
在所述一个或多个消息中发送修改后的一个或多个IP地址,以在所述第一通信实体与所述第二通信实体之间建立所述通信会话。
2.根据权利要求1所述的方法,其中所述通信会话是进一步包括背靠背用户代理B2BUA的会话发起协议SIP通信会话,其中SIP通信会话包括两个SIP对话,其中B2BUA注册它的IP容忍/不容忍,并且所述方法还包括:
基于所述B2BUA的注册来确定所述两个SIP对话的IP版本兼容性。
3.根据权利要求1所述的方法,其中所述微处理器位于所述通信系统中。
4.根据权利要求1所述的方法,其中所述通信会话是会话发起协议SIP通信会话,其中修改所述一个或多个消息中的所述一个或多个IP地址包括添加和删除所述第一通信实体或第二通信实体的IP地址以及以下中的至少一项:删除和恢复一个或多个SIP RecordRoute报头,或删除和恢复一个或多个SIP Via报头。
5.一种用于通信的系统,包括:
微处理器;和
计算机可读介质,所述计算机可读介质与所述微处理器耦接并包括微处理器可读且可执行的指令,所述指令使所述微处理器:
从第一通信实体接收用于在所述第一通信实体与第二通信实体之间建立通信会话的第一消息;
基于接收自所述第一通信实体、所述第二通信实体或管理方中的至少一者的注册,确定所述第一通信实体或所述第二通信实体中的至少一者对于对方通信实体的互联网协议IP版本是IP版本不容忍的;
响应于确定所述第一通信实体或所述第二通信实体中的所述至少一者是IP版本不容忍的,通过以下来修改用于建立所述通信会话的一个或多个消息中的一个或多个IP地址,以将所述一个或多个IP地址改变为不同的IP版本:插入通信系统的IP地址代替所述第一通信实体的IP地址,同时在所述一个或多个消息中保留用户部分user-part原始的统一资源标识符URI参数;和
在所述一个或多个消息中将修改后的一个或多个IP地址发送到所述第二通信实体,以在所述第一通信实体与所述第二通信实体之间建立所述通信会话。
6.根据权利要求5所述的系统,其中所述通信会话是会话发起协议SIP通信会话,其中所述第一通信实体和所述第二通信实体是SIP通信端点,并且其中所述第一通信实体和所述第二通信实体之间的SIP通信会话使用单个SIP会话标识符来标识所述第一通信实体与所述第二通信实体之间的单个SIP对话。
7.根据权利要求5所述的系统,其中所述通信会话是会话发起协议SIP通信会话,其中所述第二通信实体包括多个通信端点,其中所述第一消息是SIP INVITE消息,并且其中修改用于建立所述通信会话的所述一个或多个消息中的所述一个或多个IP地址包括以下各项之一:
将所述SIPINVITE消息仅分叉到支持相同IP版本的通信端点;或
将所述SIP INVITE消息分叉到支持不同IP版本的通信端点,并且对具有IP不容忍的至少一个通信端点的多个通信端点之间的SIP INVITE消息中的IP地址进行修改。
8.根据权利要求5所述的系统,其中所述通信会话是会话发起协议SIP通信会话,并且还包括使所述微处理器执行以下操作的指令:
从第三通信实体接收SIP INVITE消息、SIP SUBSCRIBE消息或SIP REFER消息中的一者以改变所述通信会话;和
响应于接收到SIP INVITE消息、SIP SUBSCRIBE消息或SIP REFER消息中的所述一者,确定所述第三通信实体是否相对于所述第一通信实体和第二通信实体是IP版本不容忍的。
9.根据权利要求5所述的系统,其中所述通信会话是会话发起协议SIP通信会话,其中修改所述一个或多个消息中的所述一个或多个IP地址包括修改以下中的至少一者:SIPTo:字段、SIP From:字段、SIP URI、SIP Contact报头,或SIP报头或字段中的转义参数。
CN201810588117.4A 2017-06-08 2018-06-08 Ip容忍和信令互通 Active CN109040009B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/617,605 2017-06-08
US15/617,605 US10931720B2 (en) 2017-06-08 2017-06-08 IP tolerance and signaling interworking

Publications (2)

Publication Number Publication Date
CN109040009A CN109040009A (zh) 2018-12-18
CN109040009B true CN109040009B (zh) 2021-08-17

Family

ID=64332704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810588117.4A Active CN109040009B (zh) 2017-06-08 2018-06-08 Ip容忍和信令互通

Country Status (3)

Country Link
US (2) US10931720B2 (zh)
CN (1) CN109040009B (zh)
DE (1) DE102018208840A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931720B2 (en) 2017-06-08 2021-02-23 Avaya Inc. IP tolerance and signaling interworking
RU2753302C1 (ru) * 2017-12-29 2021-08-12 Телефонактиеболагет Лм Эрикссон (Пабл) Способ, система и объект для сеанса передачи мультимедиа в инфраструктуре ims
CN112153753B (zh) * 2020-09-24 2022-09-16 维沃移动通信有限公司 网络连接方法及装置
CN114500341B (zh) * 2021-12-28 2024-05-14 福建升腾资讯有限公司 广域网下的终端实时管控方法及管控服务端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094182A (zh) * 2007-07-25 2007-12-26 中国网络通信集团公司 IPv4/IPv6设备的媒体流互通的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684786B2 (en) 2003-08-26 2010-03-23 Nokia Corporation Method and system for establishing a connection between network elements
GB2369746A (en) 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
JP2005086467A (ja) * 2003-09-09 2005-03-31 Hitachi Ltd セッション制御装置、情報通信端末、サーバ、及び端末
KR20050030288A (ko) * 2003-09-25 2005-03-30 삼성전자주식회사 Ip 패킷의 버전을 변환하는 장치 및 방법
JP2006148418A (ja) * 2004-11-18 2006-06-08 Fujitsu Ltd サーバおよび通信制御方法
US20070022479A1 (en) * 2005-07-21 2007-01-25 Somsubhra Sikdar Network interface and firewall device
US8798075B2 (en) * 2006-06-30 2014-08-05 Sony Corporation Peer to peer connection
US7720976B2 (en) 2008-03-31 2010-05-18 Alcatel-Lucent Usa Inc. Peer-to-peer communication between different types of internet hosts
GB2460651B (en) * 2008-06-03 2012-09-12 Metaswitch Networks Ltd Delivery of media data
US8854991B1 (en) * 2009-02-25 2014-10-07 Sprint Communications Company L.P. Tunneling binding messages in registration messages
US8811393B2 (en) 2010-10-04 2014-08-19 Cisco Technology, Inc. IP address version interworking in communication networks
US20130007291A1 (en) 2011-06-28 2013-01-03 Verrizon Patent and Licensing Inc. MEDIA INTERWORKING IN IPv4 AND IPv6 SYSTEMS
CN103428168A (zh) 2012-05-17 2013-12-04 北京信悦通科技有限公司 一种sip客户端访问rtsp媒体资源的方法、系统及信令网关
US9894033B2 (en) * 2014-08-04 2018-02-13 Fortinet, Inc. DNS-enabled communication between heterogeneous devices
US10164934B1 (en) * 2015-04-03 2018-12-25 Sprint Communications Company L.P. User device parameter allocation based on internet protocol version capabilities
US10931720B2 (en) 2017-06-08 2021-02-23 Avaya Inc. IP tolerance and signaling interworking

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094182A (zh) * 2007-07-25 2007-12-26 中国网络通信集团公司 IPv4/IPv6设备的媒体流互通的方法

Also Published As

Publication number Publication date
US10931720B2 (en) 2021-02-23
US11677792B2 (en) 2023-06-13
US20210152612A1 (en) 2021-05-20
US20180359283A1 (en) 2018-12-13
CN109040009A (zh) 2018-12-18
DE102018208840A1 (de) 2018-12-13

Similar Documents

Publication Publication Date Title
CN109040009B (zh) Ip容忍和信令互通
US9716619B2 (en) System and method of processing media traffic for a hub-based system federating disparate unified communications systems
US8874762B2 (en) Session initiation protocol adaptor
US9992152B2 (en) Hub based clearing house for interoperability of distinct unified communications systems
US20040252683A1 (en) System, method , and computer program product for resolving addressing in a network including a network address translator
US20110119389A1 (en) Transferring multiple communication modalities during a conversation
US11496531B2 (en) System and method to identify secure media streams to conference watchers in SIP messaging
WO2008047920A1 (fr) Serveur proxy, système et procédé de communication et programme
US11108814B2 (en) Distributed denial of service mitigation for web conferencing
US20160308930A1 (en) Method and System to Add Video Capability to any Voice over Internet Protocol (Vo/IP) Session Initiation Protocol (SIP) Phone
JP2012100293A (ja) 異種通信ノードを特徴付けるための方法およびシステム
JP2019506019A (ja) ウェブリアルタイム通信シナリオの強化型メディアプレーン最適化
US10091025B2 (en) System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
JP2010062776A (ja) 接続制御装置
US11375049B2 (en) Event-based multiprotocol communication session distribution
CN109040007B (zh) 用于应对替代网络地址类型(anat)不兼容性的方法和系统
WO2016179538A1 (en) System and method of processing media traffic for a hub-based system federating disparate unified communications systems
CA2962264A1 (en) System and method for enabling use of a single user identifier across incompatible networks for ucc functionality
Peng et al. An ALG-Based NAT Traversal Solution for SIP-Based VoIP
Montag Load balancing of IP telephony

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant