IMS注册期间的错误处理的制作方法

文档序号:18457706发布日期:2019-08-17 01:45阅读:1094来源:国知局
IMS注册期间的错误处理的制作方法

本专利申请要求2016年12月28日提交的序列号为15/392,978的美国实用专利申请的优先权。序列号为15/392,978的申请通过引用全部并入本文。



背景技术:

互联网协议多媒体子系统(ims)是由第三代合作伙伴计划(3gpp)定义的架构框架,用于将互联网协议(ip)多媒体传送到ims网络的用户设备(ue)。ims核心网络(有时称为“ims核心”,“核心网络(cn)”或“imcn子系统”)允许无线和有线设备访问ip多媒体、消息传送和语音应用和服务。ims允许通过基于ip的网络进行点对点通信以及客户端到服务器通信。

在ue可以利用基于ims的服务之前,ue执行注册过程,其涉及向ims核心发送注册请求和从ims核心接收注册响应。在该注册过程期间,如果存在注册ue用于服务的问题,则ims核心可以向ue发送指定错误的注册响应,诸如403禁止错误。根据3gpp标准,如果ue接收到对注册请求的403禁止响应,则ue将重新尝试注册。然而,这是处理403禁止注册响应的次优方法,因为可能存在导致注册失败的问题永远不会得到解决的情况,并且ue将永远不会注册服务,无论ue重新尝试多少次注册。重复的注册尝试给网络资源带来了过分的负担,特别是当许多ue参与相同类型的重复注册重试时。

处理对注册请求的403禁止响应的另一种方法是,如果ue在注册响应中接收到这样的错误,则完全避免重新尝试注册。这也是次优的,因为它会在ue如果重新尝试注册则这些ue可能成功注册时,阻止这些ue重新尝试注册。因此,使用该方法,至少一些ue将过分地没有服务。设计合适的方法来处理对注册请求的403禁止响应的困难在于ue和ims核心无法识别导致注册失败的确切问题,因为可能存在导致403禁止注册响应的许多可能问题。

附图说明

参考附图阐述详细描述,其中附图标记的最左边的数字标识首次出现该附图标记的附图。在不同附图中使用相同的附图标记表示相似或相同的项目或特征。

图1是示出当ue在注册过程期间遇到示例问题时ue和各个网络节点之间的示例信令的图,图1示出了用于响应该问题的改进的ue逻辑。

图2是示出当ue在注册过程期间遇到示例问题时ue和各个网络节点之间的示例信令的图,图2示出了根据另一实施例的用于响应该问题的改进的ue逻辑。

图3示出了用于响应在基于ims的服务的注册期间遇到的问题的示例过程的流程图。

图4是具有用于响应在基于ims的服务的注册期间遇到的问题的逻辑的示例ue的框图。

具体实施方式

本文描述的是用于改进ue处理在注册基于ims的服务期间遇到的问题的技术和系统。在建立通信会话(例如,语音呼叫)之前,ue被配置为通过向ims核心发送一个或更多个注册请求来执行注册过程。该注册过程涉及ue最初获得ue可用的ims节点的列表(例如,代理呼叫会话控制功能(p-cscf)节点的列表)。这样的可用ims节点的列表可以由移动性管理实体(mme)作为节点发现过程的一部分提供。然后,ue可以在可用ims节点的列表中选择第一ims节点,并使用register(注册)方法发送初始未受保护的注册请求,诸如sip请求。

响应于未受保护的注册请求,ue可以从ims节点接收各种类型的注册响应。如果存在发送信息“完整性受保护”的要求并且拦截导致注册失败的任何其他问题,则ue通常在对初始未受保护的注册请求的注册响应中接收401未授权质询(或者有时是407需要代理认证的质询)。在被质询时,ue可以发送具有响应于质询的信息的完整性受保护的注册请求。如果ue在完整性受保护的注册中发送的信息由ims核心中的节点确定为符合现有过程,则ue可以从ims节点接收200ok注册响应并继续通过ims核心建立通信会话。

然而,在一些实例中,ue接收对初始未受保护的注册请求的注册响应,该注册响应指定特定类型的错误,诸如403禁止(forbidden)错误,或可包括在特定错误类别中的任何类似类型的错误。本文公开了用于改进对未受保护的注册请求的注册响应中的这种错误的处理的技术和系统。通常,响应于指定特定错误类别中的错误类型的注册响应,ue被配置为在有限的持续时间内重试注册,使得在满足标准时,ue避免发送任何额外的未受保护的注册请求,直到发生触发事件。换句话说,如果ue从第一ims节点接收到指定特定错误类别中的错误类型的第一注册响应,例如403禁止错误,则ue被配置为通过在可用于ue的ims节点中选择第二ims节点,并且向第二ims节点发送第二未受保护的注册请求以尝试重新注册服务来响应。ue被配置为以这种方式为ue可用的ims节点列表中的额外ims节点重新尝试注册,直到满足标准。如果在这些多次重新尝试注册期间,ue从ims节点中的一个接收到401未授权质询(或407需要代理认证的质询),则ue可以响应该质询,并且如果提供了正确的信息,ue将最终接收到200ok响应以继续进行期望的基于ims的服务。然而,如果在多次重新尝试注册之后满足标准,则ue停止任何将来的重新尝试注册,直到发生触发事件,从而减少网络带宽消耗。

在一些实施例中,评估用于停止将来的注册尝试的标准可以包括:确定可用ims节点列表中是否存在ue尚未向其发送未受保护的注册请求的ims节点。在该实施例中,如果ue已经向ue可用的所有ims节点发送了未受保护的注册请求,则ue确定满足标准,此后,ue停止发送任何将来的注册请求,直到触发事件发生为止。

在另一实施例中,评估用于停止将来的注册尝试的标准可包括:确定自启动注册过程以来是否已经过预定时间段。在该实施例中,当已经过该时间段时,ue确定满足标准,此后,ue停止进行任何将来的注册请求,直到发生触发事件。在一些实施例中,可以评估多个标准,例如上面讨论的标准,并且在确定满足所评估的标准中的任何一个标准时,ue可以停止进行任何将来的注册请求,直到触发事件发生。

通过将ue配置为针对ue可用的不同ims节点重新尝试注册有限的持续时间,如果ue应该能够注册服务,则ue被给予成功注册服务的公平机会。然而,如果在重新尝试注册有限持续时间之后ue不成功,则可以停止任何额外注册请求的传输,这减少了运营商网络中的网络带宽消耗。换句话说,如果ue被配置为无限地重新尝试注册而不停止,则ue将不必要地消耗网络带宽。相比之下,本文描述的技术和系统涉及被配置为在ue已重新尝试注册有限持续时间之后避免发送任何额外注册请求的ue,这减少了网络带宽消耗并增加了可以用于其他过程和应用程序的网络带宽。

通常,本文公开了用于在ue上实现的过程,其改进了对ims注册期间遇到的问题的处理。本文还公开了包括一个或更多个处理器和一个或更多个存储器的系统和设备,以及存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由一个或更多个处理器执行时,执行本文公开的各种动作和/或过程。

图1是示出ue100与各种网络节点之间的示例信令的图。图1示出了ue100在ue100尝试向ims核心注册服务期间遇到一个或更多个示例问题的情形,以及ue100实现用于响应该一个或更多个问题的改进逻辑。

根据本文描述的各种实施例,术语“用户设备(ue)”,“无线通信设备”,“无线设备”,“通信设备”,“移动设备”和“客户端设备”在本文中可互换地使用以描述能够使用任何合适的无线通信/数据技术、协议或标准无线地发送/接收数据的任何ue(例如,ue100),诸如全球移动通信系统(gsm)、时分多址(tdma)、通用移动电信系统(umts)、演进数据优化(evdo)、长期演进(lte)、高级lte(lte+)、通用接入网(gan)、未许可移动接入(uma)、码分多址(cdma)、正交频分多址(ofdm)、通用分组无线服务(gprs)、增强型数据gsm环境(edge)、高级移动电话系统(amps)、高速分组接入(hspa)、演进的hspa(hspa+)、ip语音(voip)、volte、电气和电子工程师协会(ieee)802.1x协议、wimax、wi-fi、有线数据业务接口规范(docsis)、数字用户线(dsl)和/或任何未来的基于ip的网络技术或现有的基于ip的网络技术的演进。ue100可以被实现为被配置为通过无线网络进行通信的任何合适类型的计算设备,包括但不限于移动电话(例如,智能电话)、平板计算机、膝上型计算机、便携式数字助理(pda)、可穿戴计算机(例如,电子/智能眼镜、智能手表、健身追踪器等)、车载(例如,轿车内的)计算机,和/或任何类似的移动设备,以及坐落式(situated)计算设备,其包括但不限于电视(智能电视)、机顶盒(stb)、台式计算机等。

通常,用户可以利用ue100经由ims核心(有时称为“ims核心网络”、“ims网络”、“核心网络(cn)”或“imscn子系统”)与其他用户和关联的ue进行通信。ims是由3gpp定义的架构框架,用于向诸如ue100的ue递送互联网协议(ip)多媒体。ims核心可以由一个或更多个服务提供商维护和/或操作,诸如一个或更多个无线运营商(“运营商”),其向与ue(诸如ue100)相关联的用户(有时称为“订户”)提供基于ims的服务。例如,服务提供商可以提供多媒体电话服务,其允许订阅用户使用他/她的ue经由ims核心呼叫其他用户或发消息至其他用户。订户还可以通过访问ims核心来利用关联的ue来接收、提供或以其他方式与各种不同的基于ims的服务交互。图1示出了ue100可以出于这些目的与之通信的多个示例ims节点102(1),102(2),...,102(n)(统称为102)。在一些实施例中,ims节点102表示多个不同的p-cscf节点。p-cscf节点是ims核心的许多节点之一,并且仅仅是ims节点102的示例。p-cscf节点通常是ue100的第一联系点,并且因此,p-cscf节点主要用于提供用户到网络交互。应当理解,图1的ims节点102可以表示除p-cscf节点之外的任何其他合适类型的ims节点。

因此,ims核心的运营商可以提供任何类型的基于ims的服务,诸如电话服务、紧急服务(例如,e911)、游戏服务、即时消息服务、存在服务、视频会议服务、社交网络和共享服务、基于位置的服务、按键通话服务等。为了访问这些服务(例如,电话服务),ue被配置为请求建立通信会话。在电话服务的情况下,通信会话可以包括呼叫(即,基于语音的通信会话,诸如volte呼叫或wi-fi呼叫)。

ue100还被配置为利用各种无线电接入网络(ran)以便访问ims核心,诸如经由一个或更多个ims节点102。通常,ims核心对于用于将ue连接到ims核心的接入技术是不可知的。以这种方式,ue100可以经由3gppran连接到ims核心,诸如gsm/edgeran(geran)、通用地面ran(utran)或演进utran(e-utran),或者可选地,经由“非3gpp”ran,诸如wi-firan,或基于ieee802.11标准的其他类型的无线局域网(wlan)。通过wi-fi接入网络访问ims核心通常涉及ue100通过wi-fi接入点(ap)与ims核心通信。通过非3gppran提供对ims核心的访问,为基于ims的服务的最新进展打开了大门,诸如引入wi-fi呼叫,其允许用户通过可用的wi-fiap发起和接收呼叫。

当运营商的服务的订户将ue100通电时,ue100被配置为执行启动代码并执行各种初始化过程。最终,ue100将尝试“附接”到运营商的网络,以便向ims核心发送数据以及从ims核心接收数据。为此,ue100可以通过向移动性管理实体(mme)104或mme104的组件或子系统发送创建分组数据协议(pdp)环境请求或创建承载请求消息,来发起ip连接接入网络(ip-can)会话。通常,mme104可以被配置为辅助附接和激活过程,以及执行空闲模式ue跟踪、寻呼过程等。响应于来自ue100的通信,mme104可以提供ue100可用的ims节点的列表106(例如,p-cscf地址的列表),如图1所示。图1示出的示例列表106包括ims节点102(1)-102(n),其可以表示任何数量的ims节点102。例如,列表106可以包括单个ims节点102,或任意数量的多个ims节点102。通常,ue100获得大约两个或三个ims节点102(诸如两个或三个p-cscf节点)的列表。由ue100获得可用ims节点102的列表106在本文中有时被称为“节点发现过程”。当ims节点102表示p-cscf节点时,这被称为“p-cscf发现过程”。

在108处,在ue100接收到可用ims节点102的列表106之后,ue100可以在列表106中的可用ims节点102中选择第一ims节点102(1),以尝试通过所选ims节点102(1)进行注册。ue100可以通过选择列表106中的第一ims节点102(1)来实现任何合适的节点选择方法,诸如自上而下的方法。然而,108处的节点选择不限于使用自上而下的方法。备选的节点选择方法可以包括从列表106中随机选择ims节点102,在ue100从底部向上遍历列表106之后选择列表106中的最后一个ims节点102(n)的自下而上的方法,或用于从多个可用ims节点102中选择一个ims节点102的任何其他合适方法。此外,不必以列表106的形式提供可用ims节点102。在图1的示例中,在108处选择的第一ims节点102碰巧是ims节点102(1),其是列表106中的第一ims节点102。

ue100可以通过将第一未受保护的注册请求110(1)发送到所选择的第一ims节点102(1)来发起注册,如上所述,第一ims节点102(1)可以表示第一p-cscf节点。如本文所使用的,“未受保护的”注册请求意味着在未受保护的注册请求方面的“完整性未受保护的”,其不包括根据3gpp标准的“完整性受保护的”信息(参见3gpp技术规范(ts)33.203)。“未受保护的”注册请求也可以被定义为并不提示来自ims核心的401(或407)质询响应的注册请求(参见3gppts24.229)。

会话发起协议(sip)可以用于向ims核心(例如,向ims节点102)发送诸如注册消息(例如,注册请求)、订阅消息、通信会话消息等的消息,以及用于从其接收消息(例如,注册响应)。sip是一种信令协议,其可用于在分组网络上建立、修改和终止多媒体会话(例如,多媒体电话呼叫),并验证对基于ims的服务的访问。如本文所使用的,“sip请求”是使用sip协议从ue(诸如ue100)发送到ims核心(例如,到图1中的任何ims节点102)的消息,以及“sip响应”是使用sip协议从ims核心(例如,从图1中的任何ims节点102)发送到ue(诸如ue100)的消息。

因此,第一未受保护的注册请求110(1)可以包括使用sipregister(注册)方法的sip请求。第一未受保护的注册请求110(1)有时被称为“initregister”请求,以指示ue100的注册状态在其指定为活动注册状态或终止注册状态之前被初始指定为初始注册状态。在接收到第一未受保护的注册请求110(1)时,所选择的第一ims节点102(1)可以发送第一注册响应112(1)。取决于第一ims节点102(1)接收到第一未受保护的注册请求110(1)时的情况,第一注册响应112(1)可以采用各种形式。例如,第一注册响应112(1)可以指定401未授权质询、407需要代理身份验证质询或特定类型的错误,诸如403禁止错误。在图1的示例中,第一ims节点102(1)被示为发送第一注册响应112(1),其指定特定错误类别中的特定类型的错误;即403禁止错误。如本文所述,可以使用ue100处的改进的错误处理逻辑来处理这种类型的错误(可能与特定错误类别内的其他类型的错误一起)。也就是说,ue100可以被配置为响应于从第一ims节点102(1)接收到第一注册响应112(1)中的特定类型的错误(例如,403禁止错误)而执行图中所示的示例过程,诸如图1中所示的过程。

根据图1,响应于从第一ims节点102(1)接收到第一注册响应112(1)并确定第一注册响应112(1)指定特定错误类别中的错误类型,ue100可以在114(1)处确定是否满足标准。在图1的示例中,当ue100已经通过向列表106中的所有ims节点102单独发送未受保护的注册请求而遍历了可用ims节点102的整个列表106时,满足标准。换句话说,当在列表106中的多个可用ims节点102中不存在ue100尚未向其发送未受保护的注册请求的额外(或剩余)ims节点102时,满足标准(在图1的示例中)。因此,当在图1的114(1)处评估该标准时,并且假设列表106至少包括ims节点102(1),102(2)和102(n),则ue100尚未将未受保护的注册请求发送到ims节点102(2)-102(n)。因此,ue100在114(1)处确定不满足标准,如图1中的“遍历列表?否”所指示的。

在116(1)处,响应于在114(1)处确定不满足标准,ue100选择列表106中的第二ims节点102(2),以便重新尝试向第二ims节点102(2)注册。同样,任何合适的节点选择方法(例如,自上而下、自下而上、随机等)可用于在116(1)处选择列表106中的剩余ims节点102的不同的ims节点102。

图1还示出在116(1)处,ue100在向所选择的第二ims节点102(2)发送后续的未受保护的注册请求之前可以等待,直到经过第一时间段。响应于从第一ims节点102(1)接收到第一注册响应112(1),可以确定ue100在116(1)处等待的第一时间段“在进行中(onthefly)”。在一些实施例中,可以至少部分地基于已经由ue100向ims节点102发送的未受保护的注册请求(例如,第一未受保护的注册请求110(1))的数目来确定第一时间段。在图1的示例中,在ue100接收到指定403禁止错误的第一注册响应112(1)时,已经存在ue100发送的一个未受保护的注册请求(即,未受保护的注册请求110(1))。在下面的等式(1)中该数目使用为“p”,ue100可以如下确定在116(1)处等待的第一时间段:

t1=0.5w-w(随机);其中w=基准时间×2p(1)

等式(1)表示第一时间段t1可以包括落入0.5w至w的时间范围内的随机选择的时间,其中w是使用基准时间和数目p计算的,其中,如上所述,p表示在注册过程期间已经从ue100发送到ims节点102的未受保护的注册请求的数目。例如,如果基准时间=30秒,并且先前发送的未受保护的注册请求的数目p等于1,则w=60秒,并且根据等式(1),第一时间段t1是在30秒到60秒的时间范围内随机选择的值。因此,第一时间段t1至少部分地基于p的值,其可以表示在发送第一未受保护的注册请求110(1)之后和发送随后的未受保护的注册请求之前的时间已经发送的未受保护的注册请求的数目。

在一些情况下,根据等式(1)计算的时间段(例如,第一时间段t1)可以被第一注册响应112(1)的报头字段(例如,稍后重试报头字段(retry-afterheaderfield))中指示的等待时间值取代。注册响应112中的报头字段值可以取代用等式(1)计算的时间段的实例是当在注册响应112的报头字段中指定的等待时间值大于根据等式(1)计算的时间段时。例如,根据等式(1),如果第一时间段t1是在30秒到60秒的时间范围内的随机选择的值,并且ue100接收到稍后重试报头字段值为300秒的注册响应(例如,第一注册响应112(1)),则ue100可以等待,直到经过在稍后重试报头字段中指定的等待时间值300秒,这是由于300秒大于在30秒到60秒的范围内的值。然而,在利用等式(1)计算的时间段大于或等于在注册响应112的稍后重试报头字段中指定的等待时间值的实例中,ue100可以被配置为等待,直到经过用等式(1)计算的时间段,而不是在注册响应112的稍后重试报头字段中指定的等待时间值。

继续图1的示例,ue100被配置为在将第二未受保护的注册请求110(2)发送到所选择的第二ims节点102(2)之前进行等待,直到已经过第一时间段。与立即发送第二未受保护的注册请求110(2)相比,这种等待经过第一时间段的技术使得运营商网络的组件有时间从可以随时间解决的问题中恢复,诸如由于高网络拥塞。

响应于第二未受保护的注册请求110(2),ue100可以从第二ims节点102(2)接收第二注册响应112(2)。第二注册响应112(2)可以指定与在第一注册响应112(1)中指定的错误相同类型的错误(例如,403禁止错误),或者可以指定在相同错误类别中的与第一注册响应112(1)中指定的错误类型不同类型的错误。图1示出了第一和第二注册响应112(1)和112(2)中的错误类型相同的示例。

响应于从第二ims节点102(2)接收到第二注册响应112(2)并确定第二注册响应112(2)指定特定错误类别中的错误类型(这里,403禁止错误),ue100可以在114(2)处确定是否满足标准。例如,ue100可以在114(2)处通过将未受保护的注册请求单独地发送到列表106中的所有ims节点102来确定是否已经遍历了可用ims节点102的整个列表106。根据图1中的示例,ue100在114(2)处确定不满足标准,如图1中的“遍历列表?否”所指示的(即,ue100尚未发送未受保护的注册请求到列表106中的ims节点102(n),因此,在114(2)处不满足标准)。

在116(2)处,响应于在114(2)处确定不满足标准,ue100选择列表106中的第三ims节点102(例如,ims节点102(3)),以便重新尝试向第三ims节点102(3)注册。同样,在116(2)处,可以使用任何合适的节点选择方法(例如,自上而下、自下而上、随机等)来选择列表106中的剩余ims节点102的不同的ims节点102。

图1还示出在116(2)处ue100在向所选择的第三ims节点102(3)发送后续的未受保护的注册请求之前可以等待,直到经过第二时间段。第二时间段可以在116(2)处被确定为在进行中,并且可以与在116(1)处确定的第一时间段不同,因为第二时间段可以比第一时间段更大(或更长)。例如,利用上面的等式(1),并且注意到在接收到第二注册响应112(2)时p=2——因为已存在由ue100发送的两个未受保护的注册请求(110(1)和110(2)),第二时间段t2可以被计算为t2=0.5w~w(随机);其中w=基准时间×22。对于基准时间=30秒,第二时间段t2是60秒和120秒之间的随机选择的值。因此,在上面的示例中,在116(1)处确定的第一时间段t1被选择为30秒和60秒之间的时间段,而在116(2)处确定的第二时间段t2被选择为60秒和120秒之间的时间段。

图1示出了在发送后续的未受保护的注册请求110之前等待越来越长时间段的这种技术可以执行任何适当数量的迭代,以通过第nims节点102(n)第n次尝试注册服务,其中在114(n)处确定满足标准,如图1中的“遍历列表?是”所指示的。响应于在114(n)处确定满足标准——例如,响应于在114(n)处确定在列表106中的多个可用ims节点102中不存在ue100尚未向其发送未受保护的注册的请求110的额外的ims节点102,ue100被配置为在118处停止(或避免)发送任何额外的未受保护的注册请求,直到发生触发事件。下面将更详细地描述示例触发事件。在118处避免向ims核心发送任何额外的未受保护的注册请求避免了在面对不太可能以更多时间自行解决的问题的情况下不必要地消耗网络带宽。

在一些实施例中,除了停止未受保护的注册请求的任何将来的发送之外,在118处,ue100还可以根据3gpp分组数据网络(pdn)断开连接机制断开与ims接入点名称(apn)的连接。在一些实施例中,ue100可以在图1所示的整个信令中维持电路交换(cs)域注册,诸如在发送连续的未受保护的注册请求110之间维持cs域注册。这对于启用cs回退过程可能是有用的,或对于在ue100正在分组交换网络上经历注册失败的cs网络上以其他方式向ue100提供服务可能是有用的。

当然,在114(n)处确定满足标准时避免在118处发送任何额外的注册请求的技术可以被实现,而无需还在116处实现等待时间。即,ue100可以在不等待任何时间段的情况下发送随后的未受保护的注册请求110,但是在该过程中仍然在114处评估该标准。

图2是示出当ue200在注册过程期间以与图1的示例中遇到的一个或更多个问题类似的方式遇到一个或更多个示例问题时ue200与各个网络节点202之间的示例信令的图。然而,图2示出了实现用于响应该一个或更多个问题的改进的ue逻辑的另一实施例。具体地,在图2的示例中评估不同的标准;即经过预定的时间段。

在图2中,ue200从mme204获得可用ims节点202的列表206,并且在208处通过启动定时器并且通过在列表206的可用ims节点202中选择第一ims节点202(1)来发起注册过程。在208处启动的定时器可以被设置为运行预定时间段,该预定时间段在图2所示的整个信令中被连续评估,以确定在218处何时停止发送额外的未受保护的注册请求210。该预定时间段可以是以任何合适的时间单位测量的任何合适的时间段,诸如5分钟的时间段。应当理解,图2中所示的操作和信令可以以与参考图1描述的方式类似的方式实现,诸如在208处通过使用任何合适的节点选择方法来选择第一ims节点202(1)。此外,图2中所示的实体可以表示与以上关于图1描述的实体类似的实体,诸如ims节点202表示ims核心的p-cscf节点。

在选择第一ims节点202(1)之后,ue100将第一未受保护的注册请求210(1)发送到所选择的第一ims节点202(1)。在接收到第一未受保护的注册请求210(1)时,第一ims节点202(1)可以发送指定特定错误类别中的错误类型的第一注册响应212(1);在这个例子中,是403禁止错误。这表明存在阻止ue200成功注册的一个或更多个问题,但是关于导致注册失败的确切问题是未知的。因此,可以执行图2中所示的技术以给ue200注册基于ims的服务的公平机会,但是将重新尝试注册限制为自在208处启动定时器以来的时间段。

因此,响应于从第一ims节点202(1)接收到第一注册响应212(1)并确定第一注册响应212(1)指定特定错误类别中的错误类型(例如,403禁止错误),ue200可以确定在214(1)处是否满足标准。在图2的示例中,当ue100确定自在208处启动定时器以来已经经过(或期满)预定时间段时,满足标准。因此,ue200在214(1)处确定不满足标准,如图2中的“定时器期满?否”所指示的。

在216(1)处,响应于在214(1)处确定不满足标准,ue200选择列表206中的第二ims节点202(2),以便重新尝试用第二ims节点202(2)注册。图2还示出在216(1)处,ue200被配置为在向第二ims节点202(2)发送后续的未受保护的注册请求210(2)之前在216(1)处等待,直到经过第一时间段,类似于参考图1描述的技术。因此,在等待经过第一时间段之后,ue200向列表206中的剩余ims节点202中的ue200尚未向其发送未受保护的注册请求210的所选择的第二ims节点202(2)发送第二未受保护的注册请求210(2)。响应于第二未受保护的注册请求210(2),ue200可以接收来自第二ims节点202(2)的第二注册响应212(2)。如果未解决导致注册失败的问题,则第二注册响应212(2)也可以指定特定错误类别中的错误类型(例如,403禁止错误)。

响应于接收到其中ue200遇到403禁止错误的第二注册响应212(2),ue200可以在214(2)处评估该标准,以确定自在208处启动定时器以来是否已经经过预定时间段。图2的示例示出了在214(2)处尚未经过预定时间段,因此作为响应ue200选择第三ims节点202(例如,第三ims节点202(3)),并且在向第三ims节点202(3)发送后续的未受保护的注册请求之前进行等待,直到经过第二时间段。

图2示出了这种重新尝试注册的技术可以迭代任意数量的“m”次,直到响应于接收到指定特定错误类别中的错误类型(例如,403禁止错误)的第m次注册响应212(m)而在214(m)处确定满足标准。在图2的示例中,当自在208处启动定时器以来已经经过预定时间段时,在214(m)处满足标准,如图2中的“定时器期满?是”所指示的。在214(m)处确定满足标准时,ue200被配置为在218处停止(或避免)发送任何额外的未受保护的注册请求,直到发生触发事件为止。在下面将更详细地描述示例触发事件。

应当理解,取决于列表206中的ims节点202的数量,评估经过预定时间段作为标准可以意味着ue200并不遍历整个列表206(即,不向列表206中的一个或更多个ims节点202发送未受保护的注册请求210),或者意味着ue200在218处停止发送将来的未受保护的注册请求210之前将多个未受保护的注册请求210发送到列表206中的单个ims节点202。即,对于短列表206,ue200可以在214(m)处预定时间段期满之前多次遍历列表206,并且对于长列表206,ue200可以在214(m)处预定时间段期满之前,仅通过列表206中的ims节点202的一些。

除了参考图1和图2描述的示例标准之外或作为其替代,可以评估其他标准。例如,代替评估ue100是否已经遍历列表106(如图1所示),或者是否已经经过预定时间段(如图2所示),ue100/200可以监视从ue

100/200发送到ims节点102/202的未受保护的注册请求110/210的数目p,并且当未受保护的注册请求110/210的数目p满足或超过未受保护的注册请求的阈值(例如,最大)数目时满足标准。因此,当ue100/200已经达到阈值数目的注册尝试时,可以通过停止未受保护的注册请求110/210的将来发送来实现重新尝试注册的有限持续时间。

另外,可以利用组合标准方法,其中当ue100/200在面对注册失败尝试和重新尝试注册时评估多个标准。在该组合标准方法中,确定是否满足标准可以包括确定首先满足多个标准中的任何标准。例如,可以监视参考图2描述的预定时间段以及ue100/200是否已经遍历整个列表106/206的标准,和/或ue100/200是否已经满足或超过阈值数量的注册尝试的标准,并且哪个标准首先发生导致ue100/200停止发送任何未来未受保护的注册请求110/210。

还应当理解,如本文所述,触发ue100/200响应逻辑的特定错误类别可以包括任何合适的一个或更多个错误类型。这是由于从一个提供商到另一个提供商的网络配置可能存在差异,以及不同错误类型的不同用途。例如,第一载波可能对监视403禁止错误感兴趣,以实现本文描述的技术,而第二载波可能对监视另一4xx类型的错误感兴趣。

本公开中描述的过程可由本文中所描述的架构或其他架构来实现。这些过程被示为逻辑流程图中的框的集合。一些框表示可以用硬件、软件或其组合实现的操作。在软件的上下文中,框表示存储在一个或更多个计算机可读存储介质上的计算机可执行指令,当由一个或更多个处理器执行时,执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以以任何顺序或并行地组合任何数量的所描述的框以实现过程。应该理解,以下过程也可以在其他体系架构上实现。

图3示出了用于响应在基于ims的服务的注册期间遇到的问题的示例过程300的流程图。出于讨论的目的,参考图1和图2的ue100/200来描述过程300。

在302处,ue100/200可以获得ue100/200可用的ims节点102/202的列表106/206。列表106/206中的ims节点102/202可以表示ims核心的p-cscf节点。可以在302处从mme104/204获得列表106/206,作为节点发现过程的一部分。

在304处,可以启动定时器以评估经过一时间段,作为停止发送注册请求的标准。注意,不评估这种预定的时间段而是评估不同的标准的情况下,在304处启动定时器是可选的。定时器可以是由ue100/200启动的本地定时器,或是远离ue100/200并且被触发以响应于来自ue100/200的信号而启动的远程定时器。

在306处,ue100/200可以在可用ims节点102/202的列表106/206中选择第一ims节点102(1)/202(1)。图3中的框306指示“在列表中选择(另一个)ims节点”,其中括号中的“另一个”是因为过程300的第一次迭代将在306处选择第一ims节点102/202,并且框306的随后的迭代将在列表106/206中选择“另一个”不同的ims节点102/202。

在308处,ue100/200可以将初始未受保护的注册请求110/210(例如,使用register方法的sip请求)发送到所选择的ims节点102(1)/202(1)。如图1和图2所示,操作308的第一实例可以发送第一未受保护的注册请求110(1)/210(1)。

在310处,ue100/200可以从所选择的ims节点102(1)/202(1)接收注册响应112/212。

在312处,ue100/200可以基于在310处接收的注册响应112/212来确定注册响应112/212是否指定401未授权质询或需要407代理认证的质询。如果在312处确定在310处接收的注册响应112/212指定401或407质询,则过程300遵循从312到314的“是”路线,其中ue100/200可以响应401或407质询。例如,ue100/200可以在314处在受保护的注册请求中发送“完整性受保护的”信息。“受保护的”注册请求可以被定义为响应于401质询或407质询而发送的注册请求。该信息可以由ue100/200计算或以其他方式导出,以发送仅可由ue100/200和ims核心的节点导出的秘密密钥。

ue100/200接收对受保护的注册请求的响应,并且在316处,ue100/200可以确定对受保护的注册请求的响应是否包括200ok响应。例如,如果ue100/200在314处导出并发送了与由ims核心独立获得或导出的信息相匹配的正确信息,则ue100/200将接收200ok响应。在200ok响应之后,ue100/200可以在框318处继续建立通信会话。在318处建立通信会话可以包括ue100/200使用sipinvite(邀请)方法发送sip请求以建立通信会话(例如,语音呼叫),或使用任何合适的基于ims的服务建立任何类似类型的会话。换句话说,如果过程300在第一次执行过程300时按顺序执行框302-318,则ue100/200在注册期间不会遇到问题,并且图3中所示的其余框不需要执行。

如果在316处,在314处发送的对受保护的注册请求的响应不包括200ok响应(例如,对受保护的注册请求的响应指定403禁止错误),则过程300遵循从316到320的“否”路线,其中尝试计数器递增。在框320,尝试(或注册尝试)可以对应于314处的受保护的注册请求的发送。因此,在框314处发送的第一受保护的注册请求使得尝试计数器在框320处递增到1次尝试。

在322处,ue100/200可以至少部分地基于在框314处从ue100/200发送到ims节点102/202的先前受保护的注册请求的数量来确定时间段,其由在框320处递增的尝试计数器跟踪。例如,可以在322处根据上面的等式(1)确定时间段,其中该时间段是在时间范围内的随机选择的值,该时间范围使用基本时间值和从ue100/200发送到ims节点102/202的先前受保护的注册请求的数量p计算。例如,对于一个先前发送的受保护的注册请求(即,p=1)和基本时间=30秒,在322确定的时间段可以包括在30秒到60秒的范围之间的随机选择的时间段。

在324处,ue100/200可以等待,直到经过在框322处确定的时间段之后才返回到框314。一旦该时间段已经经过,过程300通过返回到框314并发送另一个受保护的注册请求到列表106/206中的不同ims节点102/202来迭代。框314-324的循环可以无限地迭代。在一些实施例中,过程300可以从判定框316直接进行到框314而不执行框320-324(即,不在顺序保护的注册请求之间等待)。

返回到判定框312,如果确定在框310处接收到的对未受保护的注册请求110/210的注册响应112/212未指定401或407质询,则过程300遵循从312到326的“否”路线,其中尝试计数器递增。框326处的尝试计数器可以表示在过程300到达框326时从ue100/200发送到ims节点102/202的先前未受保护的注册请求110/210的数量的计数。在从312到326前进的过程300的第一次迭代中,在框326,尝试计数器从p=0递增到p=1,因为在308处发送了一个未受保护的注册请求110/210。

在328处,ue100/200确定在框310处接收的注册响应112/212是否指定特定错误类别中的错误类型,例如403禁止错误。如果在框310处接收的注册响应112/212中指定了错误,则过程300沿着从判定框328到判定框330的“是”路线前进,其中评估标准(或多个标准)以确定是否满足标准。例如,如果ue100/200确定在列表106/206中的多个可用ims节点102/202中不存在ue100/200尚未向其发送未受保护的注册请求110/210的额外的ims节点102/202,则在330处满足标准。作为另一示例,如果ue100/200确定自在框304处启动定时器以来已经经过了预定时间段,则在330处满足标准。作为又一示例,如果ue100/200确定从ue100/200发送到ims节点102/202的未受保护的注册请求110/210的数量p等于未受保护的注册请求的阈值数量(例如,最大数量),则在330处满足标准。在框330处评估的未受保护的注册请求110/210的数量p可以对应于框326之后的尝试计数器的值。在一些实施例中,在判定框330评估这些标准中的多个标准,ue100/200可以确定是否满足多个标准中的任何单个标准(或预定数量的多个标准)。

在过程300的第一次迭代中,假设在330处不满足标准。在这种情况下,过程300遵循从判定框330到框332的“否”路线,其中ue100/200至少部分地基于从ue100/200发送到列表106/206中的ims节点102/202的先前未受保护的注册请求110/210的数量p确定时间段。例如,可以根据上面的等式(1)在框332确定时间段,其中该时间段是在时间范围内的随机选择的值,该时间范围使用基准时间值和从ue100/200发送到列表106/206中的ims节点102/202的先前未受保护的注册请求110/210的数量p来计算。

在334处,ue100/200可以等待,直到经过在332处确定的时间段,然后返回到框306,其中选择列表106/206中的另一个ims节点102/202,并且框306-312迭代。过程300从判定框312如何前进取决于在310处接收到的对后续未受保护的注册请求110/210(诸如用于框308的第二次迭代的第二未受保护的注册请求110(2)/210(2))的注册响应112/212。或者,过程300可以从判定框330直接前进到框306而不执行框332和334(即,发送后续未受保护的注册请求110(2)/210(2)而不等待)。

过程300可以通过遍历框306,308,310,312,326,328,330,332和334来迭代,并且在每次迭代时在326处尝试计数器递增,使得ue100/200在框308处发送后续未受保护的注册请求110/210之前,在334处等待越来越长的时间段。这些迭代一直发生,直到ue100/200在330处确定满足标准为止。

响应于在判定框330处满足标准,过程300遵循从判定框330到框336的“是”路线,其中ue100/200避免将任何额外的未受保护的注册请求110/210发送到列表106/206中的ims节点102/202。这通过避免发送不太可能导致ue100/200的成功注册的不必要的未受保护的注册请求来减少网络带宽消耗。

一旦ue100/200确定在框336处停止进一步发送未受保护的注册请求,则可以在框338处重置(例如,通过设置p=0)在框326处递增的尝试计数器,以及在判定框340处ue100/200可以等待触发事件的发生。

在一些实施例中,在判定框340处评估的触发事件是ue100/200是否已经断电并且随后被通电(例如,由ue100/200的用户对ue100/200进行电力循环)。在一些实施例中,在判定框340处评估的触发事件是在ue100/200中用户识别模块(sim)卡是否已被改变(或更换)成另一sim卡。在一些实施例中,在判定框340处评估的触发事件是ue100/200是否已经移动到不同ran的范围内,或者从漫游覆盖移动到非漫游覆盖,或反之亦然。例如,ue100/200可以最初经由3gppran附接到运营商网络,并且当过程300被执行直到到达判定框340时,ue100/200可以移动到wi-fi(非3gpp)ran范围内(或经由其附接到运营商网络),其在框340处被确定为发生触发事件。在确定ue100/200具有在任何方向上在任何两个不同的ran之间移动时,例如从3gppgpan到wi-fi(非3gpp)ran,或者反之亦然,从第一3gppran到不同的第二3gppran时,从第一wi-firan到不同的第二wi-firan时,框340处的触发事件可以类似地工作。类似地,当ue100/200(最初经由第一ran附接到漫游伙伴的运营商网络)通过第二ran附接到归属运营商的网络时,或者反之亦然(即,漫游-到-家庭网络,或家庭到漫游网络),在框304处发生触发事件。

在判定框340处检测到触发事件之前,过程300可以通过遵循从340的“否”路线并且在340处连续监视触发事件的发生而在340处迭代。然而,一旦在340处发生触发事件,过程300遵循“是”路线返回到框302,其中ue100/200获得ims节点102/202的新列表106/206。换句话说,当ue100/200循环上下电、更换sim卡、或在漫游和非漫游网络之间的ran之间移动时,再次尝试注册过程可能是有意义的,因此过程300重新启动,其中尝试计数器重置为零。

返回到判定框328,如果确定在框310处接收的注册响应112/212未指定特定错误类别中的错误类型(例如,未指定403禁止错误),则该过程300遵循从判定框328到框332的“否”路线,并且如上所述前进到框334,然后到框306。换句话说,对于未包括在感兴趣的特定错误类别中的其他类型的错误,ue100/200无限期地重试向列表106/206中的ims节点102/202的注册可能是有意义的。

因此,过程300示出了用于响应在一个或更多个基于ims的服务的注册期间遇到的问题的技术,其相比现有ue过程得到改进。例如,通过在有限的持续时间内发送多个未受保护的注册请求110/210来重新尝试注册的实现通过在确定另外的尝试不可能解决目前遇到的问题的情况下避免发送不必要的未受保护的注册请求110/210来减少网络带宽消耗。

图4是具有用于响应在注册期间遇到的问题的逻辑的示例ue400的框图。ue400可以表示图1的ue100,或者图2的ue200,并且可以被配置为实现图1和/图2中所示的信令,以及图3中所示的过程300。

如图所示,ue400可以包括一个或更多个处理器402和一种或更多种形式的计算机可读存储器404。ue400还可以包括额外的存储设备。该额外的存储设备可以包括可移除存储设备406和/或不可移除存储设备408。

ue400还可以包括通信地耦合到一个或更多个处理器402和计算机可读存储器404的输入设备410和输出设备412。ue400还可以包括允许ue400与其他计算设备416(例如,ims节点102/202)通信的一个或更多个通信接口414,诸如经由一个或更多个网络。一个或更多个通信接口414可以辅助通过如本文所述的任何合适的通信/数据技术、标准或协议发送和接收有线和/或无线信号。例如,一个或更多个通信接口414可以包括蜂窝无线电、无线(例如,基于ieee802.1x的)接口、接口等中的一个或更多个。在一些实施例中,一个或更多个通信接口414可以允许经由非3gppran(例如,wi-fiap和因特网)附接到运营商网络(例如,lte网络)。一个或更多个通信接口414还可以使ue400能够通过电路交换域和/或分组交换域进行通信。

在各种实施例中,计算机可读存储器404包括非暂时性计算机可读存储器404,其通常包括易失性存储器和非易失性存储器(例如,随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eeprom)、闪存、微型硬盘驱动器、存储卡、光存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或任何其他介质)。计算机可读存储器404还可以被描述为计算机存储介质,并且可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机可读存储器404、可移除存储406和不可移动存储408都是非暂时性计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,光盘只读存储器(cd-rom)、数字通用盘(dvd)或其他光学存储器,磁带盒、磁带、磁盘存储器或其他磁存储设备,或者可以用于存储所需信息并且可以由ue400访问的任何其他介质。任何这样的计算机可读存储介质可以是ue400的一部分。

存储器404可以包括错误处理模块418(即,计算机可执行指令(或逻辑),当其由一个或更多个处理器402执行时,执行本文公开的各种动作和/或过程)。例如,错误处理模块418可以被配置为确定如何最好地响应从ims节点102/202接收的注册响应,该注册响应指定导致注册失败的特定错误类别中的错误类型。例如,错误处理模块418可以实现检测器420,检测器420被配置为在过程300的框328处检测注册错误的类型,以及检测它是否落入特定错误类别。检测器420还可以被配置为在框312处确定何时在注册响应中指定401质询或407质询,和/或在框316处对受保护的注册请求的注册响应是否包括200ok响应。

例如,当检测器420在框312处检测到指定除401质询或407质询之外的某些事项的注册响应时,错误处理模块418可以在框326处递增尝试计数器422,并且检测器420可以进一步确定注册响应112/212中的错误类型以及错误是否落入特定错误类别。

错误处理模块418还可以包括固定注册尝试模块424,用于在框330处实现用于评估标准(或多个标准)以及用于在框336处停止发送任何额外的未受保护的注册请求的逻辑,直到在340处发生触发事件。当ue400响应于未受保护的注册请求110/210遇到不可恢复的错误时,该固定注册尝试模块424尤其有用。

错误处理模块418还可以包括等待时间模块426,其被配置为动态地确定随机选择的等待时间,以便交错顺序地发送注册请求(例如,顺序的未受保护的注册请求110/210)。等待时间模块426可以利用等式(1)基于尝试计数器422的值来确定过程300的任何给定迭代的时间段。例如,当由尝试计数器422计数的先前未受保护的注册请求的数量增加时,由等待时间模块426计算的时间段增加,从而配置ue400以在向ims节点102/202发送任何后续注册请求之前等待越来越长的时间段。

本文描述的环境和各个元件当然可以包括许多其他逻辑、程序和物理组件,其中附图中所示的那些仅仅是与本文的讨论相关的示例。

本文描述的各种技术在给定示例中假设在计算机可执行指令或软件(诸如程序模块)的一般情境中实现,其存储在计算机可读存储器中并由一个或更多个计算机或其他设备的一个或更多个处理器执行,诸如图中所示的那些。通常,程序模块包括例程、程序、对象、组件、数据结构等,并定义用于执行特定任务或实现特定抽象数据类型的操作逻辑。

可以使用其他架构来实现所描述的功能,并且旨在落入本公开的范围内。此外,虽然为了讨论的目的在上面定义了具体的责任分配,但是可以根据情况以不同的方式分配和划分各种职能和责任。

类似地,可以以各种方式并使用不同的手段来存储和分发软件,并且可以以许多不同的方式改变上述特定的软件存储和执行配置。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,不限于具体描述的存储器形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1