用于补充服务的报头修改的制作方法

文档序号:20608221发布日期:2020-05-01 22:18阅读:189来源:国知局
用于补充服务的报头修改的制作方法

相关申请的交叉引用

本专利申请要求于2017年8月3日提交的序列号为15/668,359的美国实用新型专利申请的优先权。该申请序列号为15/668,359的全部内容通过引用合并于本文。



背景技术:

互联网协议多媒体子系统(ims,internetprotocolmultimediasubsystem)是用于传递互联网协议(ip)多媒体服务的体系结构框架。ims利用电信运营商的集成网络来促进ip在无线网络和/或固定电话上以各种已知形式用于分组通信。此类通信的示例包括但不限于传统电话、传真、电子邮件、互联网访问、网页服务、ip语音(voip)、即时消息(im)、视频会议以及视频点播(vod)。ims利用专用接口(例如,ut接口)和网络功能来管理用户设备的补充服务(例如,呼叫转移、呼叫限制等)和/或用户设备的状态信息。例如,对于volte,ut接口在gsmair.92和3gppts24.623、ts24.423和3gppts33.222标准中定义。

ip多媒体服务利用ip报头格式(例如,报头),其向提供ip多媒体服务的一个或更多个服务器提供信息。报头可以对应于附加到通信中的数据。在示例中,报头可以包括源ip地址和目的地ip地址以标识通信的发送方(例如,源)和预期的接收方(例如,目的地)。报头还可以包括其他信息,这些信息标识版本(用于标识所使用的ip版本)、报头长度(用于标识报头的长度)、服务类型、ip优先级(用于标识数据包在网络中接收的服务级别)、差分服务代码点(用于标识数据包在网络中接收的服务级别)、总长度(用于标识报头和通信的长度)、协议(用于确定数据来自哪个应用程序或数据用于哪个应用程序)等。

附图说明

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

图1示出了用于修改处理补充服务的通信的报头的环境。

图2示出了被配置为处理补充服务的提供策略的示例用户设备。

图3示出了被配置为基于策略的处理补充服务的示例服务器。

图4示出了用于至少部分地基于策略的至少一部分的报头指示来发送通信的示例过程。

图5示出了用于建立可以被存储在一个或更多个服务器上或由一个或更多个服务器实现的策略的示例过程。

图6示出了用于确定策略是否适用于通信并且基于适用策略来发送通信的示例过程。

具体实施方式

在本公开的示例中,描述了基于特定策略处理与因特网协议(ip)多媒体服务相关联地提供的处理补充服务。更具体地,本文描述的技术针对在一个或更多个服务器处并且从用户设备接收策略(例如,与该策略相关联的数据),该策略提供用于处理寻址到特定标识符的一个或更多个通信的一个或更多个指令。在至少一个示例中,标识符可以标识实体的网络位置(例如,地址)。出于讨论的目的,标识符可以是帐号、国际移动订户身份(imsi)、电话号码、移动台国际订户目录号码、ip多媒体公共标识符(impu)、电子邮件地址或唯一标识实体位置的任何其他标识符。如此处所述,实体可以对应于用户设备、语音信箱、电子邮件存储库等。

在至少一个示例中,基于接收到策略,一个或更多个服务器可以将策略与对应于标识符的用户简档相关联地存储。一个或更多个服务器可以从另一个用户设备接收通信。该通信可以包括报头,该报头包括作为该通信的预期接收方的标识符。在接收到通信之后,一个或更多个服务器可以执行查找或某种其他搜索,例如基于标识符来确定策略是否适用于该通信。至少部分地基于确定策略适用于该通信,一个或更多个服务器可以基于该策略来修改报头的至少一部分。一个或更多个服务器可以至少部分地基于报头来发送通信。

策略可以与关联于ip多媒体服务提供的补充服务相关联。在一些示例中,策略可以与提供通信转发的补充服务相关联。也就是说,在这样的示例中,策略可以提供一个或更多个指令,用于将寻址到第一标识符的通信路由到第二标识符。作为非限制性示例,可以将能够对应于第一用户设备的寻址到第一标识符的一个或更多个通信,路由到与第一标识符相关联的语音邮箱。在这样的示例中,语音邮箱可以与不同于第一标识符的标识符(例如,第二标识符)相关联。在另一个非限制性示例中,可以将能够对应于第一用户设备的寻址到第一标识符的一个或更多个通信,路由到与不同于第一用户设备的第二用户设备相关联的第二标识符。在其他示例中,例如在第一用户设备包括设备、线路和/或帐户共享能力的情况下,可以将能够对应于第一用户设备的寻址到第一标识符的一个或更多个通信,路由到也与第一用户设备相关联的第二标识符(例如,备用线路和/或备用帐户)。

在至少一个示例中,策略可以与通信禁止的补充服务相关联。即在这样的示例中,策略可以提供一个或更多个指令以用于禁止来自某些标识符的传入通信。在另外的和/或替代性的示例中,策略可以与通信保持的补充服务相关联。即在这样的示例中,策略可以提供一个或更多个指令以用于延迟寻址到第一标识符的一个或更多个通信的传输。在这样的示例中,一个或更多个通信可以不是实时通信。可以想象影响其他和/或替代性补充服务的其他和/或替代性策略。

在一些示例中,策略可以与各种约束条件相关联,例如操作的持续时间、操作的地理位置、操作的漫游状态等。例如,策略可以与持续时间相关联,该持续时间由开始时间和/或开始日期以及结束时间和/或结束日期定义。或者策略可以与有效的持续时间相关联,除非和/或直到接收到终止策略操作的指令为止。此外,当源用户设备和/或预期接收方用户设备位于特定地理位置之内(或之外)时可以实现策略。或者,当源用户设备和/或预期接收方用户设备正在漫游(或不漫游)时可以实现策略。下面描述与各种约束相关联的其他细节。

如上所述,ip多媒体服务利用ip报头格式(例如,报头),该报头格式向提供ip多媒体服务的服务器提供信息。报头可以对应于附加到通信中的数据。在一个示例中,报头可以包括源ip地址和目的地ip地址以标识通信的发送方(例如,源)和预期接收方(例如,目的地)。报头还可以包括其他信息,这些信息标识版本(用于标识所使用的ip版本)、报头长度(用于标识报头的长度)、服务类型、ip优先级(用于标识数据包在网络中接收的服务级别)、差分服务代码点(用于标识数据包在网络中接收的服务级别)、总长度(用于标识报头和通信的长度)、协议(用于确定数据来自哪个应用程序或数据用于哪个应用程序)等,如上所述。在至少一个示例中,一个或更多个服务器可以将附加信息修改和/或添加到与传入通信相关联的报头。例如,一个或更多个服务器可以基于一种策略来修改目的地ip地址(例如,预期接收方的标识符),该策略包括一个或更多个指令以将传入通信路由到除预期接收方之外的接收方。另外和/或可选地,一个或更多个服务器可以将策略的至少一部分添加到报头中。一个或更多个服务器可以基于报头传输通信。其他详细信息描述如下。

图1示出了用于修改处理补充服务的通信的报头环境100。

如图1所示,第一用户设备102可以经由一个或更多个网络106与第二用户设备104通信。在至少一个示例中,一个或更多个网络106可以包括蜂窝网络、因特网和/或其他网络。一个或更多个服务器108可以促进经由一个或更多个网络106在一个或更多个用户设备102、104等之间的通信交换。在至少一个示例中,一个或更多个服务器108可以与电信服务提供商相关联。

在至少一个示例中,第一用户设备102可以向一个或更多个服务器108提供与策略(例如,策略)相关联的数据110,如框112所示。如上所述,策略可以提供一个或更多个指令,用于处理指向对应于第一用户设备102的标识符的通信的。在一些示例中,该策略可以与一个或更多个约束相关联,如上所述。在至少一个示例中,第一用户设备102可以向服务器108发送发起策略的请求。例如,操作第一用户设备102的用户可以与网络门户、应用等交互以生成并发送请求。一个或更多个服务器108可以接收该请求,并且可以向第一用户设备102发送一个或更多个策略选项。一个或更多个策略选项可以包括可以由服务器108实现的用于处理定向到对应于第一用户设备102的标识符的通信的各种操作。在至少一个示例中,一个或更多个策略选项可以与各种约束(例如,持续时间、地理位置、漫游状态等)相关联来实现各种操作。在一些示例中,用户可以提供输入以指定策略的操作和/或约束。例如,用户可以提供输入以在特定时间段内(例如,在6:00pm和7:00am之间)发起呼叫转移,如与策略相关联的数据110所示。

在其他示例中,存储在第一用户设备102上的应用程序(例如,设置应用程序等)可以在本地存储一个或更多个策略选项(或其指示)。在这样的示例中,用户可以经由第一用户设备102的应用访问一个或更多个策略选项,并且可以经由应用来指定策略的操作和/或与策略相关联的约束。在至少一个示例中,一个或更多个策略选项可以是预定的,并且用户可以通过应用选择预定的策略选项。

服务器108可以接收与策略相关联的数据110,并且可以将数据110存储在策略数据库114中。在至少一个示例中,策略数据库114可以存储数据,使得其可访问、可管理和/或可更新。在一些示例中,策略数据库114可以基于用户简档(例如,订户账户简档)来组织。在至少一个示例中,策略数据库114可以包括被映射到一个或更多个用户简档或以其他方式关联于一个或更多个用户简档的一个或更多个策略。下面描述与策略数据库114相关联的其他细节。

在至少一个示例中,第二用户设备104可以发送寻址到与第一用户设备102相对应的标识符的通信116(例如,呼叫),如框118所示。在这样的示例中,通信116可以将其与报头相关联,如上所述。报头可以包括将关联于第二用户设备104的标识符识别为源、将关联于第一用户设备102的标识符识别为预期接收方人的数据等。

一个或更多个服务器108可以接收通信116。在至少一个示例中,一个或更多个服务器108可以包括策略实现模块120。策略实现模块120可以分析与通信相关联的报头以确定通信的预期接收方。也就是说,策略实现模块120可以分析与通信相关联的报头以确定与第一用户设备102相对应的标识符。策略实现模块120可以执行查找或某种其他搜索以确定通信的预期接收方是否与策略相关联。也就是说,策略实现模块120可以查询策略数据库114以确定与第一用户设备102相对应的标识符是否与策略相关联。

至少部分地基于确定与第一用户设备102相对应的标识符与策略相关联,并且确定该策略有效,策略实现模块120可以基于该策略来更新通信116的报头,以及可以基于该策略来处理通信110,如框122所示。在至少一个示例中,策略实现模块120可以分析通信116以确定该策略是否有效,如下所述。在图1提供的示例中,通信116与6:10pm的时间戳相关联。根据第一用户设备102(例如,在数据110中)提供的策略,在6:00pm至7:00am之间接收的呼叫将被路由到语音邮件。因为6:10pm在6:00pm之后和7:00am之前,所以策略实现模块120可以确定该策略有效。

在至少一个示例中,策略实现模块120可以通过修改报头中指示预期接收方的标识符来改变通信116的预期接收方。例如,在非限制示例中,策略实现模块120可以根据第一用户设备102提供的策略,将对应于预期接收方的标识符(其可对应于第一用户设备)改变为与关联于第一标识符的语音邮箱相对应的不同标识符。在另外的和/或替代性的示例中,策略实现模块120可以将策略的至少一部分添加到报头。例如,在非限制性示例中,策略实现模块120可以更新报头以包括关于策略(例如,将呼叫转发到语音信箱)和持续时间(例如,从6:00pm至7:00am)的信息。基于更新报头,一个或更多个服务器108可以根据报头和策略来发送通信116。

因此,根据数据110中标识的策略,一个或更多个服务器108可以将通信116直接发送到与第一用户设备102相关联的语音邮箱。也就是说,可以不将通信116发送给第一用户设备102,但是可以直接将其发送到语音邮箱。在一些示例中,可以要求用户输入密码或以其他方式认证他或她的身份,以访问直接发送到与第一用户设备102相关联的语音邮箱的通信116。

在图1中描述的环境仅是用于促进更新报头以处理补充服务的环境的一个示例,并且由数据110标识的策略仅是策略的一个示例。可以想象其他和/或替代性环境和/或策略。例如,尽管以上提供的示例针对与呼叫转移相关联的策略,但是在一些示例中,该策略可以与通信禁止、通信保持等相关联。

图2示出了示例用户设备200,其被配置为提供用于处理补充服务的策略。例如,用户设备200可以对应于用户设备102,如上面参考图1所描述的。

用户设备200可以是嵌入有软件和网络连接的任何设备,使得它可以与一个或更多个其他设备和/或服务器交换数据。用户设备的非限制性示例包括:智能电话、个人数字助理、上网本、膝上型计算机、平板计算机、智能设备和/或能够经由蜂窝网络、互联网和/或一个或更多个其他网络(例如,wi-fi网络、另一个访问网络、短距离通信网络等)发送或接收语音、视频和/或数据的另一个电子设备。

在用户设备200是移动设备的示例中,移动设备可以包括sim卡,其上存储有imsi和/或与对应于sim卡的简档相关联。imsi是唯一的64位数字。在gsm网络中,imsi与msisdn相关联,有时也被称为“移动台国际订户目录号码”或更常用的电话号码。msisdn是唯一的号码,用于标识gsm网络上的订阅,也是可用于向gsm发出呼叫的号码电话。msisdn不一定存储在sim卡或电话上,并且msisdn也不与imsi永久相关联。例如,如果订阅发生更改则msisdn可以更改。

在至少一个示例中,用户设备200可以具有设备、线路和/或帐户共享能力。在这样的示例中,通过与一个或更多个其他设备共享标识符,用户设备200可以与一个或更多个其他设备相关。即如果用户设备(例如,用户设备200)与另一用户设备共享相同的线路或账户,则该用户设备可以与另一用户设备相关。在示例中,多个用户设备可以被注册具有共同的号码(例如,msisdn、impu、impi等)(如本文所使用的“线路”)和/或可以与共同的订户账户(例如,imsi)(如本文所使用的“帐户”)相关联,并因此是此处所使用的“相关设备”。例如,某些相关设备可以将其自己的唯一imsi编程到其各自的sim卡中,并且与特定的电话号码(msisdn)相关联,该号码对于每个相关设备也可以是唯一的。但是,imsi和msisdn对可以在网络中与“别名”相关联以允许共享线路和/或共享帐户,从而使它们成为相关设备。在至少一个示例中,作为相关设备,用户设备200可以接收被发送到公共线路和/或账户的标识符的呼入呼叫和/或消息。

在一些示例中,用户设备200可以与一个以上的标识符相关联。也就是说,在这样的示例中,用户设备200可以与一个或更多个号码(例如,msisdn、impu、impi等)(如本文所使用的“线路”)和/或一个或更多个订户帐户(例如,imsi)(如本文所使用的“帐户”)相关联。在这样的示例中,当一个或更多个标识符中的任何一个是呼入呼叫和/或消息的预期接收方时,用户设备200可以接收呼入呼叫和/或消息。

处理器202可以代表,例如中央处理单元(cpu)类型的处理单元、图形处理单元(gpu)类型的处理单元、现场可编程门阵列(fpga)、另一类数字信号处理器(dsp),或在某些情况下可以由cpu驱动的其他硬件逻辑组件。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括:专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。在至少一个示例中,加速器可以表示混合设备,诸如来自zylex或altera的一种,其包括嵌入在fpga结构中的cpu组件。在各个实施例中,处理器202可以执行一个或更多个模块和/或过程,以使用户设备200执行如上所述的各种功能,并且在以下公开中进行了进一步详细解释。另外,每个处理器202可以拥有其自己的本地存储器,其也可以存储程序模块、程序数据和/或一个或更多个操作系统。

取决于用户设备200的确切配置和类型,计算机可读介质204可以包括计算机存储介质和/或通信介质。

计算机存储介质可以包括易失性存储器、非易失性存储器和/或其他持久性和/或辅助性计算机存储介质、以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息可移动或不可移动的计算机存储介质。计算机内存是计算机存储介质的一个示例。因此,计算机存储介质包括作为设备一部分或设备外部的设备和/或硬件组件中所包括的介质的有形和/或物理形式的介质,包括但不限于随机存取存储器(ram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、相变存储器(pram)、只读存储器(rom)、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、闪存存储器、光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)、光学卡或其他光存储介质、微型硬盘驱动器、存储卡、磁带盒、磁带、磁盘存储磁卡或其他磁存储设备或介质、固态存储设备、存储阵列、网络连接存储器、存储区域网络、托管计算机存储器或任何其他存储内存、存储设备和/或可用于存储和维护供计算设备访问的信息的存储介质。

在至少一个示例中,计算机存储介质可以包括非暂时性计算机可读介质。非易失性计算机可读介质可以包括以用于存储信息的技术实现的易失性和非易失性、可移动和不可移动的有形物理介质,例如计算机可读指令、数据结构、程序模块或其他数据。计算机可读介质204是非暂时性计算机可读介质的示例。非暂时性计算机可读介质包括但不限于ram、rom、eeprom、闪存存储器或其他存储技术、cd-rom、dvd或其他光学存储器、磁带盒、磁带、磁盘存储鳍或其他磁性存储设备,或任何其他可用于存储所需信息的有形物理介质并且可以被用户设备200访问。任何这样的非暂时性计算机可读介质可以是用户设备200的一部分。

相比较而言,通信介质包括计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,例如载波或其他传输机制。如本文所定义,计算机存储介质不包括通信介质。

计算机可读介质204可以包括一个或更多个模块和数据结构,包括例如通信模块206、策略模块208和/或用户界面(ui)模块210。一个或更多个模块和数据结构可以采用独立应用程序、生产力应用程序、操作系统组件或具有如本文所述的促进用户设备、服务器和/或一个或更多个网络(例如,蜂窝网络、互联网、其他网络等)之间的交互的数据项的任何其他应用程序或软件模块的形式。

通信模块206可以促进用户设备与服务器之间的通信。例如,通信模块206可以促进向一个或更多个其他用户设备发送呼叫、消息等,和/或从一个或更多个其他用户设备接收呼叫、消息等。

策略模块208被配置为向服务器提供与策略相关联的数据。如上所述,策略可以提供一个或更多个指令来处理定向特定标识符的通信,该特定标识符可以或可以不与用户设备200相关联。在至少一个示例中,策略模块208可以向服务器发送发起策略的请求。例如,操作用户设备200的用户可以与门户网站、应用程序等交互以生成并发送请求以发起策略。服务器可以接收该请求,并且可以向用户设备200发送一个或更多个策略选项。也就是说,策略模块208可以从服务器接收一个或更多个策略选项。一个或更多个策略选项可以包括服务器可以实现的各种操作,用于处理定向到特定标识符的通信。此外,一个或更多个策略选项可以包括适用于操作的各种约束。在一些示例中,用户可以提供输入以指定策略的操作和/或策略的约束。

作为示例,策略选项可以与用于重新路由定向到关联于用户设备200的标识符的通信的操作相关联。一个或更多个策略选项可以使用户能够指示将通信重新路由到的位置。例如,用户可以指示与标识符相关联的语音邮箱(可以与其自身标识符关联)、另一设备(可以与其自身的标识符或标识符相关联)或与通信应重新路由到的用户设备200关联的替代标识符。另外和/或替代性地,策略选项可以与禁止关联于特定标识符的传入通信、延迟通信的传输等的操作相关联。用户可以提供输入,该输入指示要实现哪些操作用于实现定向到对应于第一设备的标识符的通信。

在至少一个示例中,一个或更多个策略选项可以与适用于实现策略的各种约束相关联,例如但不限于持续时间、地理位置(例如,源用户设备的和/或预期接收方用户设备的),漫游状态(例如,源用户设备的和/或预期接收方用户设备的)等。持续时间指的是策略实现的一段时间。在示例中,策略选项可以使用户能够指定用于实现策略的特定开始时间和用于终止策略实现的特定结束时间。或者,可以通过实现策略的特定开始日期和实现策略的特定结束日期来指定持续时间。在一些示例中,用户可以指定持续时间是重复的。在另外的和/或替代性示例中,可以通过到期日期和/或时间来指定持续时间,使得策略将被实现直到到期日期和/或时间出现为止。

在至少一个示例中,地理位置可以对应于物理边界和/或虚拟边界(例如,地理围栏)。在示例中,策略选项可以使用户能够指定一个地理位置,在这个地理位置的内(或在其外部)实现特定策略。在一些示例中,约束可以与源用户设备的地理位置相关联。在其他示例中,约束可以与预期接收方用户设备的地理位置相关联。漫游状态可以对应于关于用户设备是否位于服务提供商的覆盖区域之外的指示。在一个示例中,策略选项可以使用户能够指定当用户设备正在漫游(或未漫游)时实现特定策略。在一些示例中,约束可以与源用户设备的漫游状态相关联。在其他示例中,约束可以与预期接收方用户设备的漫游状态相关联。

如上所述,在一些示例中,策略模块208可以从服务器接收一个或更多个策略选项。在另外的和/或替代性示例中,存储在用户设备200上的应用程序(例如,设置应用程序等)可以在本地存储一个或更多个策略选项(或其指示)。在这样的示例中,用户可以经由用户设备200的应用访问一个或更多个策略选项,并且可以经由应用来指定策略的操作和/或策略的约束。如上所述,在另一个示例中,一个或更多个策略选项可以是预定的,并且用户可以通过应用选择预定的策略选项。

策略模块208可以将指示用户输入的策略选项的数据发送到服务器。一个或更多个策略选项可以共同代表一项策略。因此,策略模块208可以将指示策略的数据发送到服务器。在至少一个示例中,响应于发送指示策略选项的数据,策略模块208可以从服务器接收认证通知,该认证通知指示服务器接收了指示策略选项的数据。

在一些示例中,如上所述,用户可以与用户设备200交互以建立与该用户设备对应的标识符相关联的策略。在另外的和/或替代性示例中,用户可以与用户设备200进行交互以建立与不对应于用户设备200的标识符相关联的策略。例如,在这样的示例中,用户可以与用户设备200进行交互以建立与标识符相关联的策略,该标识符对应于关联于其用户帐户的不同用户设备。

ui模块210可以被配置为通过用户设备200的显示设备212来呈现一个或更多个图形用户界面。在一些示例中,ui模块210可以接收生成图形用户界面的指令,该用户界面被配置为通过显示设备212向用户呈现一个或更多个策略选项。在另外的和/或替代性示例中,ui模块210可以接收生成图形用户界面的指令,该用户界面被配置为通过显示设备212向用户呈现认证通知。ui模块210还可以接收用于生成一个或更多个图形用户界面的指令,所述图形用户界面用于向用户通知一个或更多个传入通信和/或生成一个或更多个传出通信。

用户设备200可以包括显示设备212,其可以是用于视觉呈现数据的输出设备。显示设备的示例包括发光二极管(led)显示器、液晶显示器(lcd)、阴极射线管(crt)显示器等。

此外,用户设备200可包括连接硬件214。在至少一个示例中,连接硬件214可包括网络硬件,该网络硬件为用户设备200提供有线或无线联网功能。网络硬件可包括或被并入处理器、asic、可编程电路(如fpga)或其他方式并入。存储在计算机可读介质404上的软件模块经被配置为通过中断、调用api等方式来访问硬件。软件模块还可以被配置为例如通过api、在预定的存储器位置中存储命令、参数等来彼此传递信息。在不脱离本公开的范围的情况下,其他示例也是可能的。

在另外的和/或替代性示例中,连接硬件214可以包括提供无线功能的无线电硬件,诸如连接到蜂窝网络基站、wi-fi网络或其他无线网络。无线电硬件可以包括或并入处理器、asic、可编程电路(例如fpga)或以其他方式并入。存储在计算机可读介质204上的软件模块被配置为通过中断、调用api等方式来访问硬件。软件模块还可以被配置为例如通过api、在预定的存储器位置中存储命令、参数等来彼此传递信息。在不脱离本公开的范围的情况下,其他示例也是可能的。

图3示出了被配置为基于策略来处理补充服务的示例一个或更多个服务器300。一个或更多个服务器300可以对应于以上参考图1描述的一个或更多个服务器108。一个或更多个服务器200可以是任何类型的服务器,例如网络可访问服务器。一个或更多个服务器300包括一个或更多个处理器302和计算机可读介质304。一个或更多个处理器302可以具有与一个或更多个处理器202相同或相似的功能,并且计算机可读介质304可以具有与如上所述的计算机可读介质204相同或相似的功能。

计算机可读介质304可以包括一个或更多个模块和数据结构,包括例如服务器通信模块306、用于管理策略数据库310的数据库管理模块308以及可以包括报头模块314的策略实现模块312。在一个示例中,策略实现模块312和报头模块314可以对应于以上参考图1描述的策略实现模块120。一个或更多个模块和数据结构可以是独立应用程序、生产力应用程序、操作系统组件或具有如本文所述的促进一个或更多个服务器300、一个或更多个用户设备和/或一个或更多个网络(例如,蜂窝网络、互联网和/或一个或更多个其他网络)之间的交互的数据项的任何其他应用程序或软件模块的形式。

服务器通信模块306可以被配置为方便发送和接收通信。在至少一个示例中,服务器通信模块306可以包括电话应用服务器,该电话应用服务器可以用于通过一个或更多个网络到用户设备(例如,用户设备200等)的语音、消息和视频通信。也就是说,服务器通信模块306可以方便地向和/或从用户设备发送和接收呼叫、消息等。在至少一个示例中,服务器通信模块306可以接收通信,并且可以基于与通信相关联的报头将通信路由到预期接收方。

数据库管理模块308可以被配置为管理策略数据库310。在至少一个示例中,一个或更多个服务器300可以与策略数据库310相关联。在一些示例中,策略数据库310可以集成到一个或更多个服务器300。在其他示例中,策略数据库310可以通信地耦合到一个或更多个服务器300。在至少一个示例中,策略数据库310可以对应于以上参考图1描述的策略数据库114。在至少一个示例中,策略数据库310可以存储数据,使得其如上所述是可访问的、可管理的和/或可更新的。在一些示例中,策略数据库310可以基于用户简档(例如,订户账户简档)来组织的。在至少一个示例中,策略数据库310可以包括一个或多个策略,这些策略被映射到一个或更多个用户简档或以其他方式与一个或更多个用户简档相关联。在一些示例中,用户简档可以与一个或更多个标识符相关联。在这样的示例中,策略可以被映射或以其他方式关联于一个或更多个标识符的单个标识符,或被映射或以其他方式关联于该一个或更多个标识符的一个以上标识符。在一些示例中,一个或更多个标识符中的每个标识符可以与不同的策略相关联。在其他示例中,一个或更多个标识符或其子集可以与同一策略相关联。

数据库管理模块308可以被配置为定义策略数据库310、创建策略数据库310、接收和/或确定存储在策略数据库310中的数据、分析存储在策略数据库310中的数据、更新存储在策略数据库310中的数据以及另外管理策略数据库310。例如,在至少一个示例中,数据库管理模块308可以从用户设备(例如,用户)接收与策略相关联的数据。在一些示例中,响应于向用户设备(例如,用户设备200)发送一个或更多个策略选项可以接收与该策略相关联的数据。在这样的示例中,用户设备可以发送请求以发起策略。响应该请求,数据库管理模块308可以将一个或更多个策略选项(可以存储在与服务器相关联的数据库中)发送给用户设备。用户可以通过用户设备提供输入以选择一个或更多个策略选项,可以将其作为与策略关联的数据提供给数据库管理模块308。在其他示例中,无需数据库管理模块308向用户设备发送一个或更多个策略选项,就可以接收与该策略相关联的数据。如上所述,在一些示例中,一个或更多个策略选项(或其指示)可以本地存储在用户设备上,并且用户可以经由本地存储的一个或更多个策略选项来选择一个或更多个策略选项。可以将一个或更多个用户选择作为与策略相关联的数据提供给数据库管理模块308。

在至少一个示例中,与策略相关联的数据可以识别由用户选择的一个或更多个策略选项(例如,一个或更多个操作、一个或更多个约束等),这些选项共同定义了策略。与策略相关联的数据可以与标识符相关联。数据库管理模块308可以利用标识符来映射策略或以其他方式将策略与可以关联于用户简档的标识符相关联。也就是说,数据库管理模块308可以将标识策略的数据映射或以其他方式关联于标识符。在至少一个示例中,至少部分基于数据库管理模块308映射策略或以其他方式将策略关联于标识符,数据库管理模块308可以向用户设备(例如,用户设备200)发送指示与策略相关联的数据已被数据库管理模块308接收并处理的认证通知。

在某些示例中,数据库管理模块308可能遇到问题(例如,网络连接等),这在数据库管理模块308尝试处理数据和/或映射策略或以其他方式将映射关联于标识符时,可能会导致错误。在至少一个示例中,数据库管理模块308可以在向用户设备发送错误通知或其他失败通知之前,再次尝试将处理数据和/或映射策略或以其他方式将映射关联于标识符。在一些示例中,数据库管理模块308可以在向用户设备发送错误通知或其他故障通知之前重试预定次数。

在一些示例中,一个或更多个服务器300可以与另外的和/或替代性数据库(图3中未示出)相关联。例如,在至少一个示例中,一个或更多个服务器300可以与关系数据库、网络活动数据库相关联,该关系数据库可以存储相关设备的线路和/或账户关联,该网络活动数据库可以存储与关联于一个或更多个设备的通信相对应的条目。在这样的示例中,数据库管理模块308可以被配置为管理一个或更多个另外的和/或替代性数据库。

策略实现模块312可以被配置为访问服务器通信模块306所接收的通信,并确定是否将策略应用于该通信。至少部分地基于确定策略适用于该通信,报头模块314可以更新与该通信相关联的报头,使得服务器通信模块306可以基于该报头来发送通信。

在至少一个示例中,策略实现模块312可以访问经由服务器通信模块306接收的通信,以分析与该通信相关联的报头。基于对报头的分析,策略实现模块312可以确定通信的预期接收方。也就是说,策略实现模块312可以分析与报头相关联的数据,以确定与通信的预期接收方相对应的标识符。策略实现模块312可以执行查找或某种其他搜索,以确定与预期接收方相对应的标识符是否与策略相关联。也就是说,策略实现模块312可以查询策略数据库114以确定与预期接收方相对应的标识符是否与策略相关联。

至少部分基于确定标识符与策略相关联,策略实现模块312可以确定策略是否有效,并因此适用于通信。在至少一个示例中,策略实现模块312可以分析与该策略相关联的一个或更多个约束以确定该策略是否有效。如上所述,约束可以对应于操作的持续时间、操作的地理位置、操作的漫游状态等。在至少一个示例中,策略实现模块312可以访问与通信相关联的时间戳(例如,如报头中指示的),以基于持续时间约束确定策略是否适用于通信。如果通信与操作持续时间内的时间相关联,则策略实现模块312可以确定该策略有效并且应当应用于该通信。如果通信与不在操作持续时间内的时间相关联,则策略实现模块312可以确定该策略无效并且不应当应用于该通信。或者,在至少一个示例中,策略实现模块312可以访问预期接收方的地理位置,以基于地理位置约束来确定策略是否适用于通信。如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)在将要实现策略的地理位置,则策略实现模块312可以确定该策略有效并且应当应用于通信。如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)在要实现策略的地理位置之外,则策略实现模块312可以确定该策略无效并且不应当应用于通信。另外地和/或可选地,在至少一个示例中,策略实现模块312可以访问关于预期接收方是否正在漫游的指示,以基于漫游状态约束来确定策略是否适用于通信。如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)正在漫游,则策略实现模块312可以确定该策略是有效的并且应当应用于通信。或者,如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)没有漫游,则策略实现模块312可以确定该策略无效并且不应当应用于该通信。

另外地和/或可选地,策略实现模块312可以确定通信是否是应用了策略的通信的类型。例如,与通信保持相关联的策略可能不适用于实时通信。因此,如果通信是实时通信,则策略实现模块312可以确定与通信保持相关联的策略不适用于该通信,因此是无效的。或者,如果通信不是实时通信,则策略实现模块312可以确定与通信保持相关联的策略适用于该通信并且因此是有效的。而且,在一些示例中,策略可以与到期相关联。也就是说,策略可以在预定的时间量后到期。在至少一个示例中,策略实现模块312可以确定策略是否到期,并且如果该策略已经到期,则策略实现模块312可以确定该策略无效。或者,在至少一个示例中,策略实现模块312可以确定策略是否到期,并且如果策略尚未到期,则策略实现模块312可以确定该策略有效。

策略实现模块312可以包括报头模块314。报头模块314可以被配置为更新报头。也就是说,报头模块314可以被配置为修改与附加到通信的报头相关联的数据,和/或向附加到通信的报头添加新数据。至少部分地基于确定策略有效,策略实现模块312可以向报头模块314发送指令,以基于该策略来更新通信的报头。在至少一个示例中,报头模块314可以通过用与新目的地相对应的新标识符替换报头中指示的与预期接收方相关联的标识符,来更改通信的预期收接收方。例如,在非限制示例中,报头模块314可以将指示可以对应于特定用户设备的预期接收方的标识符改变为:与关联于该标识符的语音邮箱相对应的替代标识符、与不同设备相关联的替代标识符和/或与特定用户设备相关联的替代标识符。在另外的和/或替代性示例中,报头模块314可以将策略的至少一部分(例如,一个或更多个操作、一个或更多个约束等)添加到报头。例如,在非限制性示例中,报头模块314可以更新报头以包括关于操作(例如,对语音邮箱的前向呼叫)和持续时间(例如,从6:00pm至7:00am)的信息。或者,作为另一个非限制性示例,报头模块314可以更新报头以包括关于操作(例如,通信的延迟传输)和地理位置(例如,在美国境外)的信息。

基于报头模块314更新报头,策略实现模块312可以将通信发送到服务器通信模块306,并且服务器通信模块306可以根据报头发送通信(至少可以反映策略的一部分)。

网络硬件316向一个或更多个服务器300提供有线或无线网络功能。网络硬件316可以包括或并入到处理器、asic、例如fpga的可编程电路中或以其他方式并入。存储在计算机可读介质304上的软件模块被配置为通过中断、调用api等来访问硬件。软件模块还可以被配置为例如通过api、在预定的存储器位置中存储命令、参数等来彼此传递信息。在不脱离本公开的范围的情况下,其他示例也是可能的。

以上结合图4至图6描述的过程可以用硬件、软件或其组合来实现。在软件的上下文中,所述操作表示存储在一个或更多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或更多个处理器执行时执行所述的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。在其他实施例中,硬件组件执行一个或更多个操作。这样的硬件组件可以包括或合并到处理器、asic、fpga或其他方式并入。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的操作以实现处理。下面在以上参考图2和图3描述的环境中描述图4至图6,但不限于此类环境。

图4示出了用于至少部分地基于指示策略的至少一部分的报头来发送通信的示例过程400。

框402示出了从第一用户设备接收策略,该策略提供一个或更多个指令来处理定向到标识符的一个或更多个通信。如上所述,在至少一个示例中,数据库管理模块308可以从用户设备200接收与策略相关联的数据。数据可以标识一个或更多个策略选项(例如,一个或更多个操作、一个或更多个约束等)。下面将参考图5描述与从用户设备接收的策略相关联的另外的细节。

框404示出了从第二用户设备接收通信,该通信与将标识符标识为通信的预期接收方的报头相关联。在至少一个示例中,服务器通信模块306可以从第二用户设备接收通信。该通信可以与报头相关联。如上所述,报头可以包括源地址和目的地址,以标识通信的发送方(例如,与第二用户设备相关联的标识符)和预期接收方(例如,标识符)。报头还可以包括其他信息,这些信息标识版本(用于标识所使用的ip版本)、报头长度(用于标识标头的长度)、服务类型、ip优先级(用于标识数据包在网络中接收的服务级别)、差分服务代码点(用于标识数据包在网络中接收的服务级别)、总长度(用于标识报头和通信的长度)、协议(用于确定数据来自哪个应用程序或数据用于哪个应用程序),等等。

方框406说明确定该策略将被应用于通信。在至少一个示例中,策略实现模块312可以访问通过服务器通信模块306接收到的通信,并且可以分析与该通信相关联的报头。基于对报头的分析,策略实现模块312可以确定通信的预期接收方(例如,标识符)。也就是说,策略实现模块312可以分析与报头相关联的数据,以确定可以对应于或可以不对应于第一用户设备的标识符。策略实现模块312可以执行查找或某种其他搜索以确定通信的预期接收方是否与策略相关联。也就是说,策略实现模块312可以查询策略数据库114来确定与预期接收方相对应的标识符是否与策略相关联。至少部分地基于确定标识符与策略相关联,策略实现模块312可以确定该策略是否有效,如下面参考图6所述。至少部分地基于确定策略有效,策略实现模块312可以确定该策略将被应用于通信。

框408示出了更新报头以包括指示策略的至少一部分的数据。如上所述,至少部分地基于确定策略将被应用于通信,策略实现模块312可以将指令发送到报头模块314以基于该策略来更新通信的报头。在至少一个示例中,报头模块314可以通过用与新目的地相对应的新标识符替换与预期接收方相对应的标识符来改变通信的预期接收方。例如,在非限制示例中,报头模块314可以将与报头中指示的预期接收方相对应的标识符改变为:与关联于该标识符的语音邮箱相对应的替代标识符、与不同设备相关联的替代标识符、与第一用户设备相关联的替代标识符。在另外的和/或替代性示例中,报头模块314可以将策略的至少一部分添加到报头中。

框410示出了至少部分基于报头来发送通信。基于报头模块314更新报头,策略实现模块312可以将通信发送到服务器通信模块306,并且服务器通信模块306可以根据报头(至少可以反映策略的一部分)来发送通信。例如,如果报头指示通信将被重新路由到替代标识符(例如,与语音信箱相关联、不同于第一用户设备的用户设备和/或与第一用户相关联的另一线或帐户),服务器通信模块306可以将通信发送到与替代标识符关联的实体。或者,如果报头指示要保持通信(例如,传输延迟)直到特定时间,则服务器通信模块306可以将通信的传输延迟到特定时间。

图5示出了用于建立可以被存储在一个或更多个服务器上或由一个或更多个服务器实现的策略的示例过程500。

框502示出了从用户设备接收发起策略的请求。在至少一个示例中,策略模块208可以向一个或更多个服务器发送发起策略的请求。例如,操作用户设备200的用户可以与门户网站、应用程序等交互以生成并发送请求以发起策略。

框504示出了向用户设备发送一个或更多个策略选项。数据库管理模块308可以接收请求,并且可以向用户设备200发送一个或更多个策略选项。在示例中,策略模块208可以从数据库管理模块308接收一个或更多个策略选项。一个或更多个策略选项可以包括可以由策略实现模块312实现的用于处理定向到特定标识符的通信的各种操作。此外,如上所述,一个或更多个策略选项可以包括可以应用于操作的各种约束。

框506示出了从用户设备接收策略,该策略与一个或更多个策略选项中的至少一个策略选项相关联。在某些示例中,用户可以提供输入以指定策略的一个或更多个操作和/或策略的一个或更多个约束,如上所述。策略模块208可以将指示用户输入的一个或更多个策略选项的数据发送到数据库管理模块308。数据库管理模块308可以接收与一个或更多个策略选项相关联的数据,这些数据共同定义了策略。如上所述,在某些示例中,例如数据库管理模块308可以接收与一个或更多个策略选项相关联的数据,而不向用户设备200发送一个或更多个策略选项到,例如当一个或更多个策略选项本地存储在用户设备200上时。

框508示出了映射策略或以其他方式将映射关联于与标识符相关联的简档。在至少一个示例中,与策略相关联的数据可以与标识符相关联。如上所述,数据库管理模块308可以利用标识符来映射策略或以其他方式将策略与标识符相关联,该标识符可以与简档数据库310中的用户简档相关联。也就是说,数据库管理模块308可以映射标识策略的数据或以其他方式将标识策略的数据与标识符相关联。

在一些示例中,数据库管理模块308可能遇到问题(例如,网络连接等),这在数据库管理模块308尝试处理数据时或映射策略和/或以其他方式将策略与标识符相关联时,可能会导致错误。在至少一个示例中,数据库管理模块308可以在向用户设备发送错误通知或其他故障通知之前,再次尝试处理数据和/或映射该策略或者以其他方式将该策略与标识符相关联。在一些示例中,数据库管理模块308可以在向用户设备发送错误通知或其他故障通知之前重试预定次数。

框510示出了向用户设备发送认证通知。在至少一个示例中,至少部分基于数据库管理模块308映射策略或以其他方式将策略与标识符相关联,数据库管理模块308可以向用户设备(例如,用户设备200)发送指示与该策略相关联的数据已被数据库管理模块308接收并处理的认证通知。在至少一个示例中,策略模块208可从数据库管理模块308接收指示数据库管理模块308已接收到指示一个或更多个策略选项的数据的认证通知。

图6示出了用于确定策略是否适用于通信并且基于适用策略来发送通信的示例过程600。

框602示出了从用户设备接收通信,该通信与将标识符标识为该通信的预期接收方的报头相关联。如上所述,在至少一个示例中,服务器通信模块306可以从用户设备接收通信。该通信可以与报头相关联。如上所述,报头可以包括源地址和目的地址,以识别通信的发送方和预期接收方。报头还可以包括其他信息,这些信息标识版本(用于标识所使用的ip版本)、报头长度(用于标识报头的长度)、服务类型、ip优先级(用于标识数据包在网络中接收的服务级别)、差分服务代码点(用于标识数据包在网络中接收的服务级别)、总长度(用于标识报头和通信的长度)、协议(用于确定数据来自哪个应用程序或数据来自哪个应用程序)等等。

框604示出了确定关联于标识符的简档是否与策略相关联。在至少一个示例中,策略实现模块312可以访问通过服务器通信模块306接收的通信,以分析与该通信相关联的报头。基于对报头的分析,策略实现模块312可以确定通信的预期接收方。即策略实现模块312可以分析与报头相关联的数据以确定与通信的预期接收方相对应的标识符。策略实现模块312可以执行查找或某种其他搜索以确定与预期接收方相对应的标识符是否与策略相关联。即策略实现模块312可以查询策略数据库114以确定与预期接收方相对应的标识符是否与策略相关联。如框606所示,至少部分地基于确定简档与策略不相关联,服务器通信模块306可以基于报头发送通信。

至少部分地基于确定简档与策略相关联,策略实现模块312可以确定策略是否有效(并因此适用于通信),如框608所示。在至少一个示例中,策略实现模块312可以分析与该策略相关联的一个或更多个约束,以确定该策略是否有效。如上所述,约束可以对应于操作的持续时间、操作的地理位置、操作的漫游状态等。

在至少一个示例中,策略实现模块312可以访问与通信相关联的时间戳(例如,如报头中所指示的),基于持续时间约束来确定策略是否适用于该通信。如果通信与持续时间内的时间相关联,策略实现模块312可以确定该策略有效并且应当应用于该通信。如果通信与不在操作持续时间内的时间相关联,则策略实现模块312可以确定该策略无效并且不应当应用于该通信。或者,在至少一个示例中,策略实施模块312可以访问预期接收方的地理位置,以基于地理位置限制来确定策略是否适用于通信。如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)在将要实现策略的地理位置中,则策略实现模块312可以确定该策略是有效的并且应当应用于该通信。如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)在要实现策略的地理位置之外,则策略实现模块312可以确定该策略无效并且不应当应用于通信。另外地和/或可替代地,在至少一个示例中,策略实现模块312可以访问关于预期接收者是否正在漫游的指示,以基于漫游状态约束来确定策略是否适用于该通信。如果预期接收者(例如,与对应于预期接收者的标识符相关联的用户设备)正在漫游,则策略实现模块312可以确定该策略是有效的并且应当应用于通信。或者,如果预期接收方(例如,与对应于预期接收方的标识符相关联的用户设备)没有漫游,则策略实现模块312可以确定该策略无效并且不应当应用于该通信。

另外地和/或替代地,策略实现模块312可以确定通信是否是应用了策略的通信的类型。例如,与通信保持相关联的策略可能不适用于实时通信。因此,如果通信是实时通信,则策略实现模块312可以确定与通信保持相关联的策略不适用于该通信,因此是无效的。或者,如果通信不是实时通信,则策略实现模块312可以确定与通信保持相关联的策略适用于该通信并且因此是有效的。此外,在一些示例中,策略可以与到期相关联。也就是说,策略可以在预定的时间量后到期。在至少一个示例中,策略实现模块312可以确定策略是否到期,并且如果该策略已经到期,则策略实现模块312可以确定该策略无效。或者,在至少一个示例中,策略实现模块312可以确定策略是否到期,并且如果策略尚未到期,则策略实现模块312可以确定该策略有效。

至少部分地基于确定该策略无效,服务器通信模块306可以基于报头来发送通信,如框606所示。至少部分地基于确定该策略有效,报头模块314可以基于策略来更新报头,如框610中所示,并且服务器通信模块306可以基于更新后的报头来发送通信,如框606中所示。至少部分地基于确定如果策略有效,则策略实现模块312可以将指令发送到报头模块314,以基于该策略更新通信的报头。在至少一个示例中,报头模块314可以通过用对应于新目的地的另一标识符替换报头中对应于预期接收方的标识符来改变通信的预期接收方。例如,在非限制示例中,报头模块314可以将与报头中指示的预期接收方相对应的标识符改变为:与关联于该标识符的语音邮箱相对应的替代标识符、与不同设备相关联的替代标识符、与第一用户设备相关联的替代标识符。在另外的和/或替代性示例中,报头模块314可以将策略的至少一部分添加到报头。基于报头模块314更新报头,策略实现模块312可以将通信发送到服务器通信模块306,并且服务器通信模块306可以根据更新后的报头来发送通信(至少可以反映策略的一部分)。

尽管已经用特定于结构数据项和/或方法动作的语言描述了主题,但是应该理解,所附权利要求书中定义的主题不必限于所描述的特定数据项或动作。相反,特定数据项和动作被公开为实现权利要求的示例性形式。

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