替代网络地址类型(ANAT)编码和媒体互通的制作方法

文档序号:16310735发布日期:2018-12-19 05:16阅读:244来源:国知局
虽然终于开始采用互联网协议版本6(ipv6)了,但互联网协议版本4(ipv4)的使用仍然受到实际应用中依然普遍存在的传统系统的大力支持。今天,ipp6/ipv4互通存在许多不兼容问题。ip版本不兼容问题可能以不同方式表现出来。表现出来ip版本无法胜任的一个地方就是应用层。例如,在其中使用ip地址的应用程序可能存在ip不兼容问题。一个问题领域是与会话描述协议(sdp)有关。sdp使用ip寻址来协商媒体流的属性(例如,用于语音呼叫的编解码器)。在尝试应对ip版本与sdp的不兼容问题时,网络工作组定义了rfc4091“thealternativenetworkaddresstypes(anat)semanticsforthesessiondescriptionprotocol(sdp)groupingframework(用于会话描述协议(sdp)分组框架的替代网络地址类型(anat)语义)”,2003年6月和rfc4092“usageofthesessiondescriptionprotocol(sdp)alternativenetworkaddresstypes(anat)semanticsinthesessionimitationprotocol(sip)(会话模拟协议(sip)中的会话描述协议(sdp)替代网络地址类型(anat)语义的使用)”,2005年6月,这两篇文献的全部内容通过引用并入本文。但是,rfc4091和rfc4092涉及与都支持anat的系统的互操作性。rfc4091和rfc4092没有完全解决与不支持anat的传统设备的ip版本互操作性问题。因此,在anat兼容设备和不支持anat的传统设备之间使用sdp建立媒体流的尝试在最好情况下也会存在问题-通常导致连接失败,这不是一个可接受的选项。另外,在支持不同ip版本的通信实体之间的sdp协商中可能发生连接故障。需要一种能够提供anat设备和不支持anat的传统设备之间的互操作性的解决方案。技术实现要素:本公开的各种实施例和配置解决了这些和其他需要。为了应对anat/ip版本不兼容性,通信端点使用sip注册(sipregister)消息向通信系统注册。例如,通信端点在启动时注册。sip注册消息表明通信端点:不支持替代网络地址类型(anat)协议,或者是互联网协议版本4(ipv4)不容许或互联网协议版本6(ipv6)不容许之一。当通过包含anat协议或与通信端点的ip版本容许性(tolerance)相反的ip地址的会话描述协议(sdp)提议(offer)接收到sip邀请(sipinvite)消息时,将4xxsip响应消息发送给sip邀请的发送者以指示不兼容。响应于接收4xxsip响应消息,sip邀请被修改为与通信端点的能力兼容。短语“至少一个”,“一个或多个”,“或”和“和/或”是在操作中既是相结合的又是分离的开放式表达。例如,“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.第112(f)节和/或第112节第6段,术语“手段(means)”应给予其最宽泛的可能解释。因此,包含术语“手段”的权利要求应涵盖本文阐述的所有结构,材料或动作及其所有等同物。此外,结构,材料或行为及其等同物应包括
发明内容,附图说明,具体实施方式,摘要和权利要求本身中描述的所有那些内容。以上是简化的概述,以提供对本公开的一些方面的理解。该概述不是对于本公开及其各种实施例的广泛的或穷举的概述。该概述既不旨在标识本公开的关键或关键元素,也不旨在描绘本公开的范围,而是以简化的形式呈现本公开的选定概念作为对以下呈现的更详细描述的介绍。如将认识到的,本公开的其他实施例可以单独或组合地使用上述特征或下面详细描述的特征中的一个或多个。而且,虽然本公开是以示例性实施例的形式给出的,但应理解,本公开的各个方面可以分别要求保护。附图说明图1是用于应对与不同互联网协议(ip)版本的会话描述协议(sdp)兼容性问题的第一说明性系统的说明性框图。图2是用于应对与不同互联网协议(ip)版本的会话描述协议(sdp)兼容性问题的第二说明性系统的说明性框图。图3是用于应对替代网络地址类型(anat)不兼容性的过程的流程图。图4是用于应对会话描述协议(sdp)中的ip版本不容许性的过程的流程图。图5是用于应对替代网络地址类型(anat)不兼容性的过程的流程图。具体实施方式图1是用于应对与不同互联网协议(ip)版本的会话描述协议(sdp)兼容性问题的第一说明性系统100的说明性框图。第一说明性系统100包括通信端点101a-101n,通信端点101x,网络110和通信系统120a-120b。通信端点101a-101n/101x可以是或可以包括可以在网络110上通信的任何通信端点101设备,诸如个人计算机(pc),电话,视频系统,蜂窝电话,个人数字助理(pda),平板设备,笔记本设备,网络服务器,媒体服务器,智能电话,记录设备等。通信端点101a-101n/101x是通信会话终止于该处的设备。通信端点101a-101n/101x不是促进和/或中继网络110中的通信会话的网络元件,例如通信系统120或代理服务器121。如图1所示,任何数量的通信端点101a-101n/101x可以连接到网络110。在一个实施例中,通信端点101a-101n/101x可以是会话发起协议(sip)用户代理(sipua)。通信端点101a还包括处理器102a,ip协议栈103a,会话发起协议(sip)/会话描述协议(sdp)栈104a以及网络接口105a。尽管未示出,但通信端点101b-101n/101x还可以以与通信端点101a相似的配置具有元件102-103。处理器102a可以是或可以包括任何硬件处理器,诸如微处理器,微控制器,数字信令处理器(dsp),专用处理器,多核处理器等。处理器102a可以处理软件/固件指令以实现这里描述的用于通信端点101a的过程。ip协议栈103a可以是或可以包括可以用来支持互联网协议(ip)的任何固件/软件。ip协议栈103a可以支持任何版本的ip,例如ipv4,ipv6等。sip/sdp协议栈104a可以是或可以包括可以用来与其他协议栈一起支持sip和sdp的任何固件/软件。例如,通信端点101a还可以支持sip,h.323,web实时通信(webrtc)协议等。sip/sdp协议栈104a可以支持替代网络地址类型(anat)协议,其是sip的扩展。网络接口105a可以是或可以包括允许通信端点101a在网络110上通信的任何硬件接口,诸如以太网接口,wifi接口,蜂窝接口,光纤接口,无线接口,有线接口和/或诸如此类。网络110可以是或可以包括可以发送和接收电子通信的通信设施的任何集合,例如因特网,广域网(wan),局域网(lan),ip语音网络(voip),公共交换电话网络(pstn),分组交换网络,电路交换网络,蜂窝网络,这些的组合等。网络110可以使用各种电子协议,例如以太网,互联网协议(ip),会话发起协议(sip),h.323,视频协议,webrtc,综合业务数字网络(isdn)等。因此,网络110是被配置为经由分组和/或电路交换通信来传送消息的电子通信网络。通信系统120a-120b可以是或可以包括与可以管理网络110上的通信的软件/固件相耦合的任何硬件系统,诸如通信管理器,会话管理器,专用分组交换机(pbx),路由器,交换机,代理服务器121a,中心局交换机等。在图1中,通信系统120a-120b被示出位于相同的网络110上。通信系统120a还包括代理服务器121a,处理器122a,ip协议栈123a,sip/sdp协议栈124a,网络接口125a和协议管理器126a。虽然未示出,但通信系统120b也可以包括相同的元件121-126。作为替代,通信系统120b可以包括元件121a-126a的子集。代理服务器121a可以是或可以包括可以管理与通信端点101a-101n/101x之间的通信会话的任何代理服务器121。在一个实施例中,代理服务器121a可以是sip代理服务器。sip代理服务器121a可以管理与两个或更多个通信端点101之间的sip通信会话。处理器122a可以是或可以包括任何硬件处理器。例如,处理器122a可以与处理器102a相同或相似。ip协议栈123a可以与通信端点101a中的ip协议栈103a相同或不同。例如,ip协议栈123a可以支持ipv4和ipv6两者,而ip协议栈103a可以仅支持ipv4/ipv6中的一个或两者。sip/sdp协议栈124a可以与sip/sdp协议栈104a相同或不同。例如,sip/sdp协议栈124a可以是可以支持多个通信端点101a-101n/101x的多线程协议栈。网络接口125a可以与网络接口105a相同或不同。网络接口125a可以包括多个网络接口。例如,网络接口125a可以包括wifi和以太网接口。协议管理器126a可以是或可以包括可以管理不同版本ip,sip,sdp,anat和各种协议(诸如h.323,webrtc,视频协议,即时消息(im)协议,和/或类似的)的任何固件/软件。例如,协议管理器126可以在ipv4和ipv6寻址之间(或在ipv6和ipv4寻址之间)切换,以在网络层和应用层(例如,在sip/sdp等中)提供ip互操作性。图2是用于应对与不同互联网协议(ip)版本的会话描述协议(sdp)兼容性问题的第二说明性系统200的说明性框图。第二说明性系统200包括通信端点101a-101n,通信端点101x,网络110a-110c和通信系统120a-120b。图2是通信系统120a-120b可以分布于网络110a-110c中的说明性示例。例如,网络110b可以是因特网,网络110a和110c可以是公司网络。在图2中,可以经由通信系统120a-120b在通信端点101x与通信端点101a-101n之间建立通信会话。图3是用于应对替代网络地址类型(anat)不兼容性的过程的流程图。说明性地,通信端点101a-101n/101x,ip协议栈103/123,sip/sdp协议栈104/124,网络接口105/125,通信系统120a-120b,代理服务器121和协议管理器126是受存储程序控制的实体,例如计算机或微处理器,其通过执行存储在诸如存储器或磁盘之类的硬件计算机可读存储介质中的程序指令来执行图3-5的方法以及本文描述的过程。尽管图3-5中所描述的方法以特定的顺序示出,本领域的技术人员将认识到,图3-5中的步骤可被以不同的顺序实现和/或在多线程环境中实现。此外,基于实现可以省略或添加各种步骤。在图3-5中,每个流程图的各个步骤会涉及通信管理器120a/协议管理器126a。协议管理器126a处理/修改/改变在图3-5中所讨论的通过使用ip协议栈123a和sip/sdp协议栈124a从网络接口125a接收到的消息。通信系统120a也可以使用代理服务器121来转发消息。另外,处理器102,ip协议栈103,sip/sdp协议栈104和网络接口105可用于发送,接收和处理本文讨论的任何通信端点消息。使用会话发起协议(sip)来说明图3-5的过程。sip是电信领域众所周知的标准协议。图3-5公开了在2002年6月的网络工作组rfc3261“sip:sessioninitiationprotocol(sip:会话发起协议)”中定义的许多标准sip消息(例如sip邀请消息,sip注册消息等)的使用,该文献的全部内容通过引用并入此。另外,图3-4公开了siprfc3261和/或其他siprfc定义的各种4xxsip响应消息的使用。图3-5还讨论了会话描述协议(sdp)的使用。会话描述协议(sdp)是用于协商用于通信会话的媒体流(例如,语音或视频媒体流)的建立的标准联网协议。sdp通常用于使用实时传输协议(rtp)来协商媒体流。标准sdp消息的描述可以在2006年7月的网络工作组“sdp:sessiondescriptionprotocol(sdp:会话描述协议)”中找到,其全部内容通过引用并入本文。如背景部分所述,sdp使用可支持ipv4或ipv6中的一个或多个的ip寻址。当涉及通信系统120/通信端点101关于ip寻址是否彼此兼容/不兼容时,使用术语ip版本容许(ipversiontolerant)或ip版本不容许(ipversionintolerant)。如果通信系统120或通信端点101是ip不容许的,则为了兼容,需要不同的消息传送和/或ip地址适配。对于此处的讨论,使用以下定义来定义通信系统120和/或通信端点101是否是ip版本容许/不容许的。·ipv4不容许:这些通信系统120/通信端点101可以在ipv4连接上的sdp中接受和生成ipv4地址。ipv4不容许设备不能发送/接收包含ipv6寻址的sdp消息。·ipv6不容许:这些通信系统120/通信端点101仅在ipv6连接上的sdp中可接受和生成ipv6地址。ipv6不容许设备不能发送/接收包含ipv4寻址的消息。·ipv4容许:除了ipv4地址之外,这些通信系统120/通信端点101还可以在ipv4连接上的sdp中接受和生成ipv6地址。·ipv6容许:除了ipv6地址之外,这些通信系统120/通信端点101还可以在ipv6连接上的sdp中接受和生成ipv4地址。·ipv46不容许:这些通信系统120/通信端点101支持ipv4和ipv6地址两者:这些通信系统120/通信端点101可以在ipv4连接上的sdp中仅接受和生成ipv4地址;并且在ipv6连接上的sdp中仅接受和生成ipv6地址。·ipv46容许:这些通信系统120/通信端点101在sdp中支持ipv4和ipv6地址两者:它们可以在ipv6连接上的sdp中接受和生成ipv4地址;以及在ipv4连接上的sdp中接受和生成ipv6地址。另外,图3和图5讨论了sdp结合可被包括在sdp中的替代网络地址类型(anat)的使用。如上所述,在rfc4091和4092中描述了anat的使用。下文在表1中给出了两个sdp提议(使用实时通信协议(rtp))的示例性描述。第一个sdp提议(在表1的左侧)是具有anat编码的示例性sdp提议。anat编码(a=组:anat12,a=mid:1,m=音频5000rtp/avp018120,c=inip62a07:2a41:ad07:11f1::421,a=sendrecv,a=fmtp:18annexb=no,a=rtpmap:120telephone-event/8000,a=mid:)用于标识以下情况:做出sdp提议的通信设备可以支持在对于sdp提议的响应中的ipv4寻址(c=inip4135.9.237.176)或ipv6寻址(c=inip62a07:2a41:ad07:11f1::421)。在其他实施例中,sdp提议可以包括具有anat选项注册标签的头部。例如,anat选项注册标签可以看起来像“需要sdp-anat”或“支持sdp-anat“。在一个实施例中,sdp提议可以包含anat编码和anat选项注册标签。第二sdp提议(在表1的右侧)是非anatsdp提议。对于非anatsdp提议,始发通信系统120或通信端点101仅支持ipv4,这可以指示始发通信系统120或通信端点101是ipv4不容许的。表1图3的过程开始于步骤300,通信端点101a向通信系统120a发送sip注册消息。步骤300的sip注册消息指示通信端点101a不支持anat消息传送。例如,通信端点101a不能接受表1中的sdp提议1。通信端点101n在步骤302中还可以向通信系统120a发送sip注册消息。步骤302的sip注册消息指示通信端点101n不支持anat消息传送。通信系统120b或通信端点101x在步骤304中向通信系统120a发送在sdp提议中具有anat的sip邀请消息。例如,具有anat的sdp提议可以与表1中的sdp提议1相似。步骤304的sip邀请消息中的sdp提议可以包含如上所述的anat选项注册标签和/或anat编码。步骤304的sip邀请消息可以用于与通信端点101a建立sip通信会话(例如,语音呼叫)(例如,使用电话号码)。或者,步骤304的sip邀请消息可以包含标识用户的统一资源标识符(uri)(例如,doug@xyz.com)以代替电话号码。uri是可以与一个或多个通信端点101相关联的用户的记录地址。例如,sip邀请消息可以具有uridoug@xyz.com,其与用户doug@xyz.com的通信端点101a和101n相关联。在图3的一个实施例中,步骤304的sip邀请消息可以直接来自通信端点101x。例如,如图1所示,通信端点101x可以将步骤304的sip邀请消息经由网络110直接发送到通信系统120a。作为替代,在图1中,通信端点101x可以发送sip邀请消息给通信系统120b,通信系统120b继而将步骤304的sip邀请消息发送到通信系统120a。另外,如图2所示,通信端点101x可以向通信系统120b发送sip邀请消息,通信系统120b继而将步骤304的sip邀请消息发送到通信系统120a。当讨论图3中的通信端点101x/通信系统120b时,以上实施例中的每一个实施例可互换地工作。类似地,参照图4-5,当讨论通信端点101x/通信系统120b时,上述实施例中的每一个也可互换地工作。响应于在sdp提议中包含anat协议的步骤304的sip邀请消息,通信系统120b在步骤306中向通信端点101x或通信系统120b(始发者)发送4xxsip响应消息。步骤306的sip4xx消息可以是在sip中定义的标准4xxsip响应消息中的任一种。例如,步骤306的sip消息可以是sip400错误请求(badrequest)消息,sip401未授权(unauthorized)消息,sip405方法不被允许(methodnotallowed)消息,sip406不可接受(notacceptable)消息,sip409冲突(conflict)消息,sip412条件请求失败(conditonalrequestfailed)消息,sip420不良扩展(badextension)消息,sip421请求扩展(extensionrequired)消息,sip470需要同意(consentneeded)消息,sip480暂时不可用(temporarilyunavailable)消息,sip481呼叫/事务不存在(call/transactiondoesnotexist)消息,sip485歧义(ambiguous)消息,sip486繁忙(busy)消息,sip488这里不可接受(notacceptablehere)消息,sip489错误事件(badevent)消息等。在一个实施例中,步骤306的4xxsip响应消息是sip420不良扩展(badextension)消息。响应于接收到步骤306的4xxsip响应消息,通信系统120b/通信端点101x在步骤307中通过移除sdp提议中的anat行和/或anat选项注册标签(这些行在表1中突出显示)来修改步骤306的sip邀请消息。如果通信系统120b接收到步骤306的4xxsip响应消息,则通信系统120b然后可以通过重新协商sdp提议,将步骤304的sip邀请消息重新发出为步骤308的sip邀请消息。该方法的优点在于通信端点101x不必知道如何响应于步骤306的sip4xx消息。换句话说,通信端点101x不必被更新或替换为向后兼容。通信系统120b/通信端点101x在步骤308中将在sdp提议中没有anat的修改后的sip邀请消息发送到通信系统120a。在步骤310中,通信系统120a将sdp提议中没有anat的步骤308的sip邀请消息转发到通信端点101a。例如,如果步骤308的sip邀请消息使用通信端点101a的电话号码。另外,在步骤312中,通信系统120a还可以将sdp提议中没有anat的(步骤308的)sip邀请消息转发到通信端点101n。例如,如果步骤308的sip邀请消息使用了用于与通信端点101a和101n相关联的用户的记录地址(例如,doug@xyz.com)。如果存在与记录地址相关联的多个通信端点101,则在步骤310和312中由通信系统120a将sip邀请消息分派给通信端点101a和101n。在步骤313中,用户在通信端点101a上应答呼叫(例如,拿起电话)。作为响应,通信端点101a在步骤314中发送在sdp响应中没有anat的sip200ok消息。通信系统120a在步骤318中将在sdp响应中没有anat的sip200ok消息转发到通信端点101x/通信系统120b。如果通信系统120b在步骤318中接收到没有anat的sip200ok,则通信系统120b将sip200ok修改为具有anat。随后将具有anat的修改后的sip200ok发送到通信端点101x。这样通信端点101x不必被替换或更新为向后兼容。作为响应,通信端点101x/通信系统120b向通信系统120a发送sipack(确认)消息。通信系统120a在步骤324中将步骤322的sipack消息转发给通信端点101n。此时,在步骤326中可以在通信端点101x和通信端点101a之间建立通信会话(rtp媒体流)。如果对于记录地址已调用呼叫分派并且发送了步骤312的sip邀请消息,则通信系统120a在步骤316中向通信端点101n发送sip取消(cancel)消息以取消步骤312的sip邀请消息,因为分派的呼叫在通信端点101a处被应答(步骤313)。通信端点101n在步骤320中发送sipack消息以确认步骤316的sip取消消息。在图3中,步骤300和302的sip注册消息可以指示通信端点101a和101n两者都支持anat。在这种情况下,步骤304的sip邀请消息将在步骤310和312中与anat一起被转发。步骤306和308将不被执行,并且步骤310,312,314和318的消息将在sdp提议和响应中具有anat。如果对于与通信端点101a和101n相关联的记录地址,步骤300的sip注册消息指示不支持anat,并且步骤302的sip注册消息指示支持anat,则在一个实施例中,步骤304的具有anat的sip邀请消息将仅被转发到通信端点101n(支持anat)。步骤310的sip邀请消息将不会分派给通信端点101a。作为替代(其中仅通信端点101n支持anat),可以发送步骤306的4xxsip响应消息,并且在没有anat的情况下发送步骤308的在sdp提议中没有anat的sip邀请消息。通信端点101n(支持anat)将能够处理步骤312的非anatsip邀请消息。图4是用于应对会话描述协议(sdp)中的ip版本不容许性的过程的流程图。图4的过程在步骤400中开始,其中通信端点101a向通信系统120a发送sip注册消息。步骤400的sip注册消息指示通信端点101a是ipv4不容许的。通信端点101n在步骤402中发送指示通信端点101n也是ipv4不容许的sip注册消息。由于通信端点101a/101n都是ipv4不容许,因此通信端点101a/101n不能理解具有ipv6寻址的sdp提议(例如,表1中sdp提议1的行“c=inip62a07:2a41:ad07:11f1::421”)。换句话说,通信端点101a/101n要求sdp提议中的ip地址是每ipv4标准32位长。如果在sdp提议中接收到长度为128位的ip地址,则通信端点101a/101n将不知道如何处理ipv6的较长地址。类似地,如果通信端点101a/101n是ipv6不容许的,则包含ipv4地址的任何sdp提议将不能被通信端点101a/101n理解。在图3和4中,sip注册消息300,302,400和402讨论ip不容许性的注册。然而,本领域技术人员将理解,sip注册消息300,302,400和402可以标识通信端点101可以容许哪个ip版本。例如,如果通信端点101发送通信端点仅为ipv4容许的sip注册消息,则这与通信端点101注册它是ipv6不容许的情况是相同的。类似地,如果通信端点101发送通信端点是ipv6容许的sip注册消息,则这与通信端点101注册它是ipv4不容许的情况相同。在权利要求中,ip版本不容许性的注册的使用也涵盖了上述ip容许性的注册。通信系统120b/通信端点101x在步骤404中发送在sdp提议中支持ipv6的sip邀请消息。由于通信端点101a和101n对于sdp消息传递是ipv4不容许的,并且步骤404的sip邀请消息具有带有ipv6寻址的sdp提议,所以通信系统120a在步骤406中将4xxsip响应消息发送到通信端点101x/通信系统120b。例如,步骤406的sip消息可以是sip400错误请求(badrequest)消息,sip401未授权(unauthorized)消息,sip405方法不被允许(methodnotallowed)消息,sip406不可接受(notacceptable)消息,sip409冲突(conflict)消息,sip412条件请求失败(conditonalrequestfailed)消息,sip420不良扩展(badextension)消息,sip421请求扩展(extensionrequired)消息,sip470需要同意(consentneeded)消息,sip480暂时不可用(temporarilyunavailable)消息,sip481呼叫/事务不存在(call/transactiondoesnotexist)消息,sip485歧义(ambiguous)消息,sip486繁忙(busy)消息,sip488这里不可接受(notacceptablehere)消息,sip489错误事件(badevent)消息等。在一个实施例中,步骤406的4xxsip响应消息是sip488这里不可接受消息。响应于接收到步骤406的4xxsip响应消息,通信系统120b/通信端点101在步骤407中通过用ipv4地址(例如,通信系统120b/通信端点101x的ipv4地址)替换ipv6地址来修改步骤406的sip邀请消息。如果通信系统120b接收到步骤406的4xxsip响应消息,则通信系统120b然后可以通过将sdpipv6信息修改为sdpipv4信息来将步骤404的sip邀请消息重新发布为步骤408的sip邀请消息。该方法的优点在于通信端点101x不必知道如何响应于步骤406的sip4xx消息。换句话说,通信端点101x不必被更新或替换为向后兼容。通信端点101x/通信系统120b在步骤408中发送具有仅包含ipv4寻址的sdp提议的修改后的sip邀请消息。通信系统120a在步骤410中将在sdp提议中具有ipv4地址的sip邀请消息转发到通信端点101a。如果分派(forking)被调用(具有多个通信端点101a和101n的记录地址),则通信系统120a在步骤412中将具有带有ipv4地址的sdp提议的sip邀请消息转发到通信端点101n。在步骤413中,用户应答通信端点101a上的呼叫(例如,拿起电话)。作为响应,通信端点101a在步骤414中发送具有带有ipv4地址的sdp响应的sip200ok消息。通信系统120a在步骤418将具有带有ipv4地址的sdp响应的sip200ok消息转发到通信端点101x/通信系统120b。如果通信系统120b在步骤418中接收到具有sdpipv4信息的sip200ok,则通信系统120b将sip200ok中的sdp修改为ipv6。然后将具有ipv6sdp的修改后的sip200ok发送到通信端点101x。这样通信端点101x不必被替换或更新为向后兼容。作为响应,通信端点101x/通信系统120b在步骤422中向通信系统120a发送sipack消息。通信系统120a在步骤424中将sipack消息转发到通信端点101n。此时,在步骤426中,可以在通信端点101x和通信端点101a之间建立通信会话(例如,rtcp媒体流)。如果对于记录地址已调用了呼叫分派并且发送了步骤412的sip邀请消息,则通信系统120a在步骤416中向通信端点101n发送sip取消消息以取消sip邀请消息,因为被分派的呼叫在通信端点101a处被应答(步骤413)。通信端点101n在步骤420中发送sipack消息以确认步骤416的sip取消消息。在图4中,通信端点101a和101n的ip版本不容许性被示出为ipv4不容许,并且步骤404的sip邀请消息中的sdp提议要求ipv6。图4的描述也适用于通信端点101a和101n注册为ipv6不容许而sip邀请消息是ipv4的情况。图5是用于处理替代网络地址类型(anat)不兼容性的过程的流程图。图5的过程开始于步骤500,通信端点101a向通信系统120a发送sip注册消息。步骤500的sip注册消息指示通信端点101a不支持anat消息。例如,通信端点101a不能接受表1中的sdp提议1。通信端点101n在步骤502中还可以向通信系统120a发送sip注册消息。步骤502的sip注册消息指示通信端点101n不支持anat消息。通信端点101x/通信系统120b在步骤504中发送具有带有anat的sdp提议的sip邀请消息。步骤504的sip邀请消息的sdp提议中的anat可以具有anat编码和/或anat选项注册标签。响应于接收到在sdp提议中具有anat的sip邀请消息(步骤504)并且通信端点101a(和通信端点101n,如果记录地址被使用)不支持anat,通信系统120a在步骤506中通过移除anat编码和/或anat选项注册标签以使得在改变后的sip邀请中不存在anat字段,来改变步骤504的sip邀请消息。例如,通信系统120a可以像表1的sdp提议1中那样改变anat选项注册标签/编码以看起来像表1的sdp提议2。通信系统120a在步骤508中发送没有anat的改变后的sip邀请消息到通信端点101a。另外,在步骤510中,通信系统120a还可以将在sdp提议中没有anat的改变后的(步骤506的)sip邀请消息发送到通信端点101n。例如,如果步骤504的sip邀请消息使用与通信端点101a和101n相关联的用户的记录地址(例如,doug@xyz.com)。如果存在与记录地址相关联的多个通信端点,则在步骤508和510中由通信系统120a将sip邀请消息分派到通信端点101a和101n。在步骤511中,用户在通信端点101a上应答呼叫(例如,拿起电话)。作为响应,在步骤512中,通信端点101a发送在sdp响应中没有anat的sip200ok消息。在步骤514中,通信系统120a通过将anat编码和/或anat选项注册标签添加回sdp响应中来修改步骤512的sip200ok消息中的sdp响应。在步骤518中,通信系统120a将在sdp响应中具有anat的修改后的sip200ok消息发送到通信端点101x/通信系统120b。作为响应,通信端点101x/通信系统120b在步骤522中向通信系统120a发送sipack消息。通信系统120a在步骤524中将步骤522的sipack消息转发到通信端点101n。此时,在步骤526中,可以在通信端点101x和通信端点101a之间建立通信会话(例如,rtcp媒体流)。如果已经针对记录地址调用了呼叫分派,并且发送了步骤510的sip邀请消息,则通信系统120a在步骤516中向通信端点101n发送sip取消消息以取消sip邀请消息,因为被分派的呼叫在通信端点101a被应答(步骤511)。通信端点101n在步骤520中发送sipack消息以确认步骤516的sip取消消息。除了不支持anat之外,步骤502和504的sip注册消息还可以指示ip版本不容许性的类型。例如,步骤500的sip注册消息可以指示通信端点101a不支持anat,并且是ipv6不容许的。当通信系统120a在步骤506中将sip邀请从anat改变为非anat时,通信系统120a也可以将ip寻址从ipv6改变为ipv4(或者在需要时反之亦然)。类似地,在步骤514中,这些改变将是相反的(例如,从ipv4到ipv6地址)。如本文所述的处理器的示例可以包括但不限于800和801,具有4glte集成和64位计算的610和615,具有64位架构的a7处理器,m7移动协处理器,系列,coretm系列处理器,系列处理器,atomtm系列处理器,intel系列处理器,coretmi5-4670k和i7-4770k22nmhaswell,coretmi5-3570k22nmivybridge,fxtm系列处理器,fx-4300,fx-6300和fx-835032nmvishera,kaveri处理器,texasjacintoc6000tm车载信息娱乐处理器,texasomaptm汽车级移动处理器,cortextm-m处理器,cortex-a和arm926ej-stm处理器,其他工业等效处理器中的至少一种,并且可以使用任何已知的或未来开发的标准,指令集,库和/或体系结构来执行计算功能。本文讨论的任何步骤,功能和操作可以连续且自动地执行。然而,为了避免不必要地模糊本公开,前面的描述省略了许多已知的结构和设备。这种省略不被解释为对要求保护的公开的范围的限制。阐述具体细节以提供对本公开的理解。然而应该理解的是,本公开可以以超出本文阐述的具体细节的各种方式来实践。此外,尽管在此示出的示例性实施例示出了并置的系统的各种组件,但是系统的某些组件可以远程定位,位于分布式网络(例如lan和/或互联网)的远处,或者位于一个专用系统内。因此,应该理解的是,系统的组件可以被组合到一个或多个设备中或者并置在分布式网络(例如模拟和/或数字电信网络,分组交换网络,或电路交换网络)的特定节点上。从前面的描述中可以理解,并且出于计算效率的原因,可以将系统的组件布置在组件的分布式网络内的任何位置而不影响系统的操作。例如,各种组件可以位于交换机诸如pbx和媒体服务器,网关中,一个或多个通信设备中,一个或多个用户的所在地,或它们的一些组合。类似地,系统的一个或多个功能部分可以分布在电信设备和相关联的计算设备之间。此外,应该理解的是,连接元件的各种链路可以是有线或无线链路或其任何组合,或者能够提供和/或传送去往和来自所连接的元件的数据的任何其他已知或以后开发的元件。这些有线或无线链路也可以是安全链路,并且可能能够传送加密信息。例如,用作链路的传输介质可以是用于电信号的任何合适的载体,包括同轴电缆,铜线和光纤,并且可以采取声波或光波的形式,例如在无线电波和红外数据通信期间产生的那些。此外,虽然已经关于事件的特定序列讨论和说明了流程图,但应该认识到,可以在不实质影响本公开的操作的情况下对该序列进行改变,添加和省略。可以使用本公开的许多变化和修改。有可能提供本公开的一些特征而不提供其他特征。在又一个实施例中,本公开的系统和方法可以结合专用计算机,编程的微处理器或微控制器和外围集成电路元件,asic或其他集成电路,数字信号处理器,诸如分立元件电路之类的硬连线电子或逻辑电路,诸如pld,pla,fpga,pal,可编程逻辑器件或门阵列,专用计算机,任何可得上的手段等。通常,能够实施本文所示的方法的任何设备或装置可以用于实现本公开的各个方面。可以用于本公开的示例性硬件包括计算机,手持设备,电话(例如,蜂窝式,激活因特网,数字,模拟,混合等)以及本领域已知的其他硬件。这些设备中的一些包括处理器(例如,单个或多个微处理器),存储器,非易失性存储器,输入设备和输出设备。此外,还可以构建包括但不限于分布式处理或组件/对象分布式处理,并行处理或虚拟机处理的替代软件实现,以实现本文所述的方法。在又一个实施例中,所公开的方法可以容易地结合使用对象或面向对象的软件开发环境的软件来实现,所述对象或面向对象的软件开发环境提供了可以在各种计算机或工作站平台上使用的便携源代码。作为替代,所公开的系统可以使用标准逻辑电路或vlsi设计被部分或完全以硬件实现。使用软件还是硬件来实现根据本发明的系统取决于系统的速度和/或效率要求、特定功能以及正在使用的特定软件或硬件系统或微处理器或微计算机系统。在又一个实施例中,所公开的方法可以部分地以软件来实现,该软件可以存储在存储介质上,在控制器和存储器,专用计算机,微处理器等的协作下在编程的通用计算机上执行。在这些情况下,本公开的系统和方法可以被实现为嵌入在个人计算机上的程序,诸如applet,java或cgi脚本,实现为驻留在服务器或计算机工作站上的资源,嵌入在专用测量系统中的例程,系统组件等。该系统还可以通过将系统和/或方法物理地结合到软件和/或硬件系统中来实现。尽管本公开参考特定标准和协议描述了在实施例中实现的组件和功能,但是本公开不限于这些标准和协议。本文未提及的其他类似标准和协议存在并被认为包括在本公开内容中。此外,本文提及的标准和协议以及本文未提及的其他类似标准和协议周期性地被具有基本相同功能的更快或更有效的等同物取代。具有相同功能的这种替换标准和协议被认为是包含在本公开中的等同物。在各种实施例,配置和方面中,本公开包括基本上如本文描绘和描述的组件,方法,过程,系统和/或设备,包括它们的各种实施例,子组合和子集。在理解了本公开之后,本领域技术人员将理解如何制作和使用本文公开的系统和方法。在各种实施例,配置和方面中,本公开包括在缺少未在本文或本文的各种实施例,配置或方面中描绘和/或描述的项目的情况下提供设备和过程,包括缺少可能已经用于先前的设备或过程的项目,例如用于改进性能,实现简易性和/或降低实施成本。已经出于说明和描述的目的给出了本公开的前述讨论。前述内容并非意图将本公开限制于本文公开的形式。在例如前述的具体实施方式中,为了使本公开精简的目的,本公开的各种特征在一个或多个实施例,配置或方面中被组合在一起。本公开的实施例,配置或方面的特征可以组合在除以上讨论的那些之外的替代实施例,配置或方面中。本公开的该方法不应被解释为反映所要求保护的公开需要比每个权利要求中明确记载的特征更多的特征的意图。相反,如以下权利要求所反映的,各发明方面在于少于单个前述公开的实施例,配置或方面的所有特征。因此,下面的权利要求在此被并入具体实施方式中,每个权利要求本身作为本公开的单独的优选实施例。此外,虽然本公开的描述已经包括对一个或多个实施例、配置或方面以及某些变型和修改的描述,但是其他变型,组合和修改也在本公开的范围内,例如,可以在领域技术人员在了解本公开之后的技能以及知识内。旨在获得如下权利,该权利在允许的程度上包括替代实施例,配置或方面,包括那些被保护的替代,可互换和/或等同结构,功能,范围或步骤,而无论这种替代,可互换和/或等同结构,功能,范围或步骤在本文中是否被公开,并且无意公开奉献任何可专利主题。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1