使能多线路呼叫终止和发起的客户端应用程序的制作方法

文档序号:13477279阅读:134来源:国知局
使能多线路呼叫终止和发起的客户端应用程序的制作方法

相关申请的交叉引用

本专利申请要求于2015年5月13日提交的序列号为14/710,812的美国实用专利申请的优先权。序列号为14/710,812的申请通过引用全部并入本文。



背景技术:

能够终止(例如,接收)或发起电话呼叫的计算设备(诸如无线电话)通常与特定电话号码相关联。计算设备只能终止其被叫号码是特定电话号码的电话呼叫。计算设备只能发起其主叫号码是特定电话号码的电话呼叫。因此,具有多个业务的人可能必须携带多个计算设备,因为每个计算设备与不同的电话号码相关联。这对用户来说不仅是麻烦的,而且是浪费的,因为用户必须获得多个计算设备,每个电话号码一个计算设备。

附图简要说明

参照附图进行详细说明。在附图中,附图标记的最左边的数字表示附图标记首次出现的图形。在不同图中使用相同的附图标记表示相似或相同的项目。

图1是根据一些实现方式的示出包括使能多线路呼叫发起的电话客户端的系统的框图。

图2是根据一些实现方式的示出包括使能多线路呼叫终止的电话客户端的系统的框图。

图3是根据一些实现方式的示出包括将使能多线路呼叫发起和终止的电话客户端移动至新的位置的系统的框图。

图4是根据一些实现方式的包括确定计算设备的位置的示例过程的流程图。

图5是根据一些实现方式的包括接收临时路由号码的示例过程的流程图。

详细说明

本文描述的系统和技术使设备能够终止(例如,接收)和发起多条线路的多个呼叫,甚至在设备正常正在漫游的位置。此外,系统和技术使设备能够以对于用户来说是经济的方式终止和发起多条线路的多个呼叫,例如,当设备正常正在漫游时,不会产生额外的长途费用。

当用户从网络提供商(例如,诸如的运营商)获得(例如,购买,租赁等)诸如无线电话的计算设备时,网络提供商可以提供电话客户端软件应用程序,其可以安装在与用户相关联的多个计算设备上。例如,用户可以将电话客户端安装在用户的平板计算机和个人计算机上,从而使用户能够终止和发起来自附加设备的(例如除用户的无线电话外的)呼叫。本文所用的术语“呼叫(call)”是指语音呼叫,例如,用户期望与另一人说话。

用户的无线电话可以与特定的电话号码相关联。电话客户端可以使用户能够输入附加的电话号码,并且在确定用户被授权使用附加电话号码之后,电话客户端可以使用户能够终止具有作为被叫号码的附加电话号码的呼叫,并且发起具有作为主叫号码的附加电话号码的呼叫。

当用户位于与用户的无线电话的电话号码相关联的运营商提供服务的位置(例如,地理区域)时,客户端应用程序可以以蜂窝模式操作。为了发起具有作为主叫号码的附加号码之一的呼叫,用户可以选择(i)被叫号码以及(ii)将关联于呼叫的期望的发起号码(例如附加号码之一)。客户端应用程序可以经由计算设备的数据连接向网络发送呼叫请求。作为响应,网络可以向客户端应用程序发送临时路由号码(temporaryroutingnumber,trn)。客户端应用程序可以响应于来自用户的指令发起对trn的呼出呼叫。网络可以接收对trn的呼出呼叫,并通过将发起号码从与用户的无线电话相关联的电话号码改变为所选的发起号码以及将被叫方的号码从trn改变为在呼叫请求中被发送的期望接收者,来修改与呼叫相关联的呼叫记录(例如,包括主叫方地址和被叫方地址的呼叫详细记录(calldetailrecord,cdr))。被叫方可以将呼叫视为由所选择的发起号码发起,即使呼叫是由其中安装了客户端应用程序的设备发起的。因此,用户可以从计算设备发起呼出呼叫,其中呼出呼叫看起来已经从与计算设备相关联的电话号码不同(并且与用户的无线电话相关联的电话号码不同)的号码发起。呼叫详细记录(cdr)是由电信设备产生的用于记录通过电信设备的语音呼叫或其他通信业务(例如,文本消息)的详情的数据记录。cdr包括呼叫的各种特征,包括呼叫的发起时间、呼叫的持续时间、呼叫的完成状态(例如,呼叫完成)、源号码、目的号码和与语音呼叫或通信业务相关的其他数据。

此外,当第二用户呼叫附加号码之一时,客户端应用程序可以向附加号码显示来电(incomingcall),并询问用户是否希望应答(例如,终止)来电。除了使用计算设备应答用户的个人呼叫之外,客户端应用程序还可以使用户能够使用计算设备应答与用户相关联的业务的呼叫。客户端应用程序可以使用户能够应答对用户的家庭成员的呼叫。例如,用户可以使用安装有客户端应用程序的计算设备应答具有与用户的配偶或用户的孩子相关联的被叫号码的呼叫。因此,用户可以使用计算设备应答来电,其中与来电相关联的被叫号码不同于与计算设备相关联的电话号码(并且不同于与用户的无线电话相关联的电话号码)。

当用户行进到用户的无线电话正常漫游(例如,与无线电话相关联的运营商不在该位置提供网络覆盖)的位置(诸如另一个国家)时,客户端应用程序可以通过从蜂窝模式切换到越顶(overthetop,ott)模式继续使能多线路呼叫终止和发起。在某些情况下,客户端应用程序可以将用户的计算设备从蜂窝模式自动地切换到ott模式。在其他情况下,客户端应用程序可以显示消息,指示可以在蜂窝模式下产生附加费用,并且可以通过切换到ott模式来减少(或避免)这些费用。

以这种方式,用户可以在用户的无线电话正常漫游的位置发起呼叫,并且使得呼叫看起来好像它们是从与用户的无线电话相关联的电话号码不同的电话号码发起的,而不产生长途费用。此外,当被叫号码不同于与用户的无线电话相关联的电话号码时,用户可以在用户的无线电话正常漫游的位置终止呼叫,而不产生长途费用。

图1是根据一些实现方式的示出包括使能多线路呼叫发起的电话客户端的系统100的框图。系统100包括经由网络106耦合到服务器104的计算设备102。

计算设备102可以是无线电话、平板计算机、膝上计算机、腕表或其他类型的计算设备。计算设备可以包括一个或更多个处理器108和计算机可读介质,诸如存储器(例如,随机存取存储器(randomaccessmemory,ram),固态硬盘(solidstatedrive,ssd)等)、磁盘驱动器(例如,基于盘片的硬盘驱动器)、另一种类型的计算机可读介质或其任何组合。

计算机可读介质110可用于存储执行各种功能的指令和存储数据。例如,计算机可读介质110可以包括指令114,电话客户端116,本地拨号器118,位置确定模块120,操作的当前模式122以及覆盖文件124。当然,计算机可读介质110还可以包括其他类型的指令和数据,例如操作系统,设备驱动程序等。电话客户端116可以使用户能够输入与用户的无线电话相关联的电话号码,并随后使用计算设备102来发起和终止与电话号码相关联的呼叫。电话客户端116可以使用户能够发起和终止来自除与用户的无线电话相关联的电话号码之外的其他电话号码的呼叫。本地拨号器118(也称为移动拨号器)是使呼叫能够经由互联网协议语音(voiceoverinternetprotocol,voip)使用会话发起协议(sessioninitiationprotocol,sip)信令而发起的应用程序。本地拨号器118可以是拨号应用程序,无线电话使用该拨号应用程序来拨出使用蜂窝网络的呼叫(例如,使用2g/3g网络)、使用长期演进上语音(voiceoverlongtermevolution,volte)(例如,使用lte/4g网络)的呼叫、或使用上语音(vowifi)的呼叫。本地拨号器118选择的哪种类型的呼叫(例如,蜂窝呼叫,volte呼叫或vowifi呼叫)可以基于计算设备102的能力和在拨出呼叫时的可用网络覆盖。位置确定模块120可以确定计算设备102的当前位置。例如,位置确定模块120可以使用全球定位系统(globalpositioningsystem,gps)来确定当前位置。由位置确定模块120确定的当前位置可以确定模式122。例如,如果计算设备102的当前位置在与计算设备102的设备号码126相关联的运营商提供覆盖的地理区域内,则模式122可以被设置为蜂窝模式。如果计算设备102的当前位置在运营商不提供覆盖的地理区域(例如,与设备号码126相关联的无线电话正常漫游的位置)中,则模式122可以被设置为ott模式。

显示设备112可以与计算设备102分离,或者与计算设备102集成(例如,如图1所示)。显示设备112可以显示与发起呼叫相关联的各种信息。例如,显示设备112可以显示设备号码126、被叫号码128和选自附加号码132之一的发起号码130中的一个或更多个。设备号码126可以是与用户的无线号码相关联的标识符,用户的无线号码用于路由来电和呼出呼叫。例如,当计算设备102是用户的无线电话时,设备号码126可以是与用户的无线电话相关联的电话号码。除了用作传统的10位电话号码之外,设备号码126还可以用作统一资源标识符(uniformresourceidentifier,uri),例如,作为互联网协议(internetprotocol,ip)多媒体公共标识(multimediapublicidentity,impi),唯一的永久分配的由家庭网络运营商(例如,运营商)指定的全球标识。在大多数情况下,impi包括国际移动用户标识(internationalmobilesubscriberidentity,imsi)。imsi用于识别蜂窝网络的用户的电话,并且是与所有蜂窝网络相关联的唯一标识。它被存储为64位字段,并由电话发送到网络。可以在用户识别模块(subscriberidentitymodule,sim)卡中提供imsi。imsi长度最多可达15位数字。前3位数字可以识别移动国家代码(mobilecountrycode,mcc),下一组数字(例如,欧洲网络的2位数字或北美网络3位数字)可以识别移动网络代码(mobilenetworkcode,mnc),其余数字可以包括在网络的客户群中的移动订阅标识号(mobilesubscriptionidentificationnumber,msin)。例如,北美的msin可以包括10位数字号码(例如,3位数字区号和7位数字号码)。被叫号码128可以是从计算设备102发起的呼叫的目的地号码。换句话说,被叫号码128是呼叫被路由到的位置。发起号码130可由用户选择。默认情况下,发起号码130可以是设备号码126。用户可以通过从附加号码132之一中选择发起号码130来覆盖该默认。例如,附加号码132可以包括第一号码134到第n个附加号码(n>0)。附加号码132可以包括(i)与计算设备102的用户的家庭成员相关联的号码,(ii)与关联于计算设备102的用户的业务(或其他活动)相关联的号码,或两者。附加号码132可以与附加设备138相关联。例如,第一附加号码134可以与第一附加设备140相关联,并且第n个附加号码136可以与第n个附加设备142相关联。

服务器104可以包括一个或更多个处理器144和一个或更多个计算机可读介质146。计算机可读介质146可用于存储指令148、一个或更多个数据库150、路由模块152和认证模块154。处理器144可以执行指令148以执行本文所述的各种功能。数据库150可以包括存储诸如哪些附加号码与设备号码相关联等信息的数据库。路由模块152可以用于建立和路由来自计算设备102的呼叫,其中发起号码130不同于设备号126。认证模块154可以执行各种类型的认证,包括确定与设备号126相关联的用户是否被授权从附加号码132发起呼叫。

网络106可以包括诸如蜂窝网络156和数据网络158之类的一个或更多个网络。蜂窝网络156可以使用诸如全球移动系统(globalsystemformobile,gsm)、码分多址(codedivisionmultipleaccess,cdma)、通用移动电话业务(universalmobiletelephoneservice,umts)等技术来提供广域无线覆盖。虽然可以使用广域无线网络来执行蜂窝网络156和计算设备(例如,计算设备102)之间的通信,但蜂窝网络156可以包括其他技术,诸如有线的(简易老式电话服务(plainoldtelephoneservice,pots)线路)、光学的(例如,同步光纤网(synchronousopticalnetwork,sonet))技术等。数据网络158可以包括用于发送和接收数据(例如,数据包)的各种类型的网络,包括使用诸如电气研究所和电子工程师(instituteofelectricalandelectronicsengineers,ieee)802.11(“wifi”)、ieee8021.15.1(“蓝牙”)、异步传输模式(asynchronoustransfermode,atm)、互联网协议(ip)等等技术的网络。术语“数据网络”是指在数据网络158内发送和接收的数据包。数据包可以用于使用voip或其他技术来携带语音业务以及数据业务。

在某些情况下,例如在上电或以周期性间隔之后,计算设备102可以使用位置确定模块120来确定计算设备102的当前位置,并将模式122设置为蜂窝模式(例如,当当前位置在与设备号码126相关联的运营商的蜂窝网络的服务区域中时)或ott模式(例如,当当前位置在与设备号码126相关联的运营商的蜂窝网络的服务区域之外时)。例如,当用户从总部在美国的美国(us)运营商获取无线电话(和相应的电话号码)时,当计算设备102位于美国境内时,计算设备102可以以蜂窝模式操作。当用户将计算设备102传送到美国运营商不提供服务的不同地理位置(例如,加拿大、法国等)时,计算设备102可以以蜂窝模式进入漫游并使用本地运营商的蜂窝网络。在这种情况下,为了多条线路的发起呼叫或终止呼叫,计算设备102可以被置于ott模式。例如,计算设备102可以在确定计算设备102正在漫游之后从蜂窝模式自动地切换到ott模式,因为当前位置在美国运营商提供服务的地理区域之外。作为另一示例,计算设备102可以向用户显示消息,指示当从多条线路终止或发起呼叫时,当前位置中的蜂窝模式将产生额外的费用,并询问用户是否从蜂窝模式切换到ott模式。

电话客户端116可以发送注册请求160以向本地运营商的蜂窝网络注册计算设备102。例如,电话客户端116可以向服务器104发送注册请求160,以向与网络106相关联的本地运营商注册计算设备102。注册请求160可以指示计算设备是否以蜂窝模式(例如,以使用蜂窝网络156)或ott模式(例如,以使用数据网络158)注册。在蜂窝模式中,计算设备102可以使用蜂窝网络发起呼叫和终止呼叫。在ott模式中,计算设备102可以使用数据网络158(例如,经由voip)发起呼叫和终止呼叫。

当用户期望使用计算设备102发起呼叫时,电话客户端116可以提示用户选择(或输入)被叫号码128(例如,呼叫的目的地)并选择发起号码130。发起号码130可以默认为设备号码126,并且用户可以通过选择附加号码132之一来覆盖默认选择。计算设备102可以向服务器104发送包括设备号码126、被叫号码128和发起号码130的呼叫请求162。呼叫请求162通知服务器104将从与设备号码128相关联的设备(例如,计算设备102)向被叫号码128拨出呼叫,并请求服务器104通过使用发起号码130(而不是设备号128)作为呼叫者标识符来修改与呼叫相关联的呼叫数据。例如,与该呼叫相关联的呼叫详细记录可以被修改为包括发起号码130(而不是设备号码128)作为呼叫者标识符。与呼叫相关联的呼叫数据可以在网络内用于路由呼叫(并且用于计费目的)。通过使用发起号码130作为呼叫者标识符(例如,而不是设备号码128),从而对于正在被呼叫的人来说,该呼叫看起来从发起号码130而不是从设备号码128发起。例如,用户可以使用用户的个人电话(例如,计算设备)拨出看起来从用户的业务电话(或用户所在的其他活动)而不是用户的个人电话所发起的呼叫。因此,用户能够将用户的个人电话号码保持为私有(例如,因为向被叫方显示的主叫方标识符是发起号码130),同时仍然利用用户的个人电话来对用户的业务(或其他活动)拨出呼叫。作为另一示例,配偶可以使用用户的计算设备(例如,电话)来拨出看起来是从配偶的计算设备而不是用户的计算设备发起的呼叫。例如,如果配偶的计算设备不可操作(例如,电池电量不足等等)或不可用(例如,配偶将电话留到某地),配偶可以使用用户的计算设备拨出呼叫,而呼叫看起来是从配偶的计算设备发起的。以这种方式,家庭成员可以从单个计算设备拨出呼叫,同时使呼叫看起来好像是由家庭成员的计算设备发起的。

在接收到呼叫请求162之后,认证模块154可以对呼叫请求162进行认证,并确定与设备号码相关联的帐户是否被授权以发起来自发起号码130的呼叫。例如,认证模块154可以从数据库150检索帐户信息,以确定与设备号码126相关联的帐户是否被授权以发起来自发起号码130的呼叫。当与设备号码126相关联的帐户没有被授权以从发起号码130发起呼叫时,服务器104可以向计算设备102发送消息,拒绝呼叫请求162。当与设备号码126相关联的帐户被授权以从发起号码130发起呼叫时,服务器104可以创建和发送临时路由号码(trn)166到计算设备102。在一些情况下,路由模块152可以在数据库150中存储与呼叫请求162和trn166相关联的至少一部分数据。

计算设备102可以接收trn166并启动呼出呼叫164。当计算设备102处于蜂窝模式时,可以使用蜂窝网络156来进行呼出呼叫164。当计算设备102处于ott模式时,可以使用数据网络158来进行呼出呼叫164。trn166是计算设备102和网络106之间的信令的一部分,并且可以经由数据网络158发送。当网络106接收到具有trn166的呼出呼叫164时,网络106确定使用特殊路由(例如,由于trn),并且将呼出呼叫164与trn166一起路由到路由模块152。在一些情况下,路由模块152可以从数据库150检索与呼叫请求162和trn166相关联的数据。路由模块152可以改变与呼出呼叫164相关联的呼叫数据(例如,cdr或其他呼叫数据),使得呼出呼叫164看起来是从发起号码130而不是设备号码126发起的。例如,呼叫数据可以将设备号码126识别为正在拨出呼出呼叫164的号码。路由模块152可以通过用发起号码130来替换呼叫数据中的设备号码126来改变与呼出呼叫164相关联的呼叫数据,使得呼出呼叫164看起来已经从与发起号码130相关联的设备拨出。

出于计费的目的,根据运营商的策略、用户的帐户优惠或两者,设备号码126或发起号码可以为呼出呼叫164付费。例如,一些运营商可以对设备号码126收费,而忽略发起号码130,而其他运营商可以对发起号码130收费,而忽略设备号码126。作为另一个例子,一些运营商可以使用户能够选择设备号码126还是发起号码来为呼出呼叫164付费。

因此,通过使用ott模式,用户可以在用户的无线电话正常漫游的位置发起呼叫,并且使得呼叫看起来是从与用户的无线电话相关联的电话号码不同的电话号码发起的,而不产生语音长途费用(例如,数据漫游费可能仍然适用,除非呼叫是通过wifi数据连接拨出的)。因为可以使用网络106的数据网络158部分来执行呼叫(例如,呼出呼叫164)、相关联的信令(例如,呼叫请求162和trn166)或两者,所以可以不产生长途费用。

图2是根据一些实现方式的示出包括使能多线路呼叫终止的电话客户端的系统200的框图。

计算设备102可以使用位置确定模块120来确定计算设备102的当前位置并将模式122设置为蜂窝模式(例如,当当前位置在与设备号码126相关联的运营商的服务区域中时)或ott模式(例如,当当前位置在与设备号码126相关联的运营商的服务区域之外时)。电话客户端116可以发送注册请求160以向本地运营商的网络注册计算设备102。例如,电话客户端116可以向服务器104发送注册请求160,以向与网络106相关联的本地运营商注册计算设备102。注册请求160可以指示计算设备是否以蜂窝模式(例如,以使用蜂窝网络156)或ott模式(例如,以使用数据网络158)注册。在一些情况下,即使呼叫和信令使用数据网络,例如当计算设备102支持volte、vowifi或两者,与网络经由lte或wifi通信时,计算设备102(例如,电话)可以处于蜂窝模式。在蜂窝模式中,计算设备102可以使用蜂窝网络发起呼叫和终止呼叫。在ott模式中,计算设备102可以使用数据网络158(例如,经由voip)发起呼叫和终止呼叫。

当诸如来电202的呼叫被网络106接收以路由到特定计算设备(例如,计算设备102)时,网络106确定与呼叫相关联的被叫号码204(例如,目的地)。网络106确定被叫号码204是否是寻线组(huntgroup)的一部分。寻线组是一组两个或更多个电话号码,从单个电话号码发起的电话呼叫可能分发至该电话号码。例如,在一种类型的寻线组中,呼叫被路由到寻线组206中的第一号码。如果第一号码正忙或者呼叫未被第一号码应答,则呼叫被路由到第二号码,以此类推,直到呼叫被应答(如果寻线组中的所有号码都被尝试并且呼叫仍然未应答,则该呼叫可以被路由到语音信箱或呼叫可以被路由回到第一号码)。在另一种类型的寻线组(例如,同时寻线组)中,呼叫可以基本同时(例如,同时)被路由到属于寻线组206的多个号码,例如,使寻线组206中的多个号码指示(例如,使用铃声)正在接收来电202。当寻线组206中的一个号码应答来电202时,寻线组206中的剩余号码不再接收来电202,例如剩余号码不再指示正在接收来电202。在一些实现方式中,寻线组206可以是同时寻线组。

当具有号码的设备的用户获取具有相应附加电话号码的一个或更多个附加设备并请求运营商关联两个或更多个号码以创建寻线组时,寻线组206可被创建。例如,用户可以初始地获取具有相关联的设备号码126的计算设备102。用户可以随后获取附加设备138并请求运营商创建寻线组206,并在寻线组206中包括设备号码126和附加号码132(例如,与附加设备138相关联)。

当由计算设备102从网络106接收来电202时,网络106可以确定来电202的被叫号码204具有寻线组206。网络106可以将来电202同时路由到寻线组206中的号码,例如到计算设备102和附加设备138。计算设备102和附加设备138可以在其相应的显示设备上显示被叫号码204,以使每个设备的用户能够确定是否终止(例如,应答)来电202。

来电202的被叫号码204可以是(i)设备号码126,当来电202正被拨出到与计算设备102相关联的用户时,或者(ii)附加号码132之一,当来电202并未正被拨出到与计算设备102相关联的用户时。例如,当被叫号码204与关联于计算设备102的用户的家庭成员或关联于用户的业务(或其他活动)相关联时,来电202的被叫号码204可以是附加号码132之一。

基于查看被叫号码204,计算设备102和附加设备138的用户之一可以提供指令以终止(例如,应答)来电202。剩余的设备随后不再指示来电202已经被路由到设备。例如,计算设备102的用户可以选择终止来电202。附加设备138可以不再指示来电202的存在。

因此,即使当来电202的被叫号码204不同于与计算设备102相关联的设备号码126时,也可以使用计算设备102来终止(例如,应答)来电202。

计算机可读介质110和146是非暂时性计算机可读存储介质的示例,包括(但不限于)随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、闪存或其他存储器技术,光盘rom(cd-rom)、数字通用盘(dvd)或其他光存储,磁带盒,磁带,磁盘存储或其他磁存储设备,或可以用于存储所需信息并且可以分别由处理器108和244访问的任何其他非暂时性介质。有形的计算机可读介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。

图3是根据一些实现方式的示出包括将使能多线路呼叫发起和终止的电话客户端移动至新的位置的系统300的框图。系统300示出了当计算设备被移动到与计算设备相关联的运营商不提供网络覆盖的位置时会发生什么。

在第一地理区域302(例如,美国)中,第一运营商304可以使用第一网络306向计算设备102提供覆盖(例如,广域网无线覆盖)。当计算设备102在第一地理区域302内时,计算设备102可以以蜂窝模式操作。

当计算设备102从第一地理区域302移动到第二地理区域308(例如,法国、加拿大等)时,计算设备102以蜂窝模式可以与第二运营商310的第二网络312漫游。在蜂窝模式中,从附加号码132之一发起呼叫将导致从第二地理区域308中的计算设备102到第一地理区域302中的第一网络306拨出第一长途呼叫,以及随后是从第一地理区域302中的第一网络306到第二地理区域308中的第二计算设备的第二长途呼叫。因此,在蜂窝模式中,从附加号码132之一发起呼叫可能会导致两个长途呼叫的成本。为了降低成本,当计算设备102的当前位置不在第一地理区域302内时,计算设备102可以被置于ott模式。

计算设备102可以使用多种不同的技术来确定计算设备102的当前位置。例如,计算设备102可以使用gps(例如,使用内置于计算设备102的gps接收器)来确定计算设备102的当前位置。作为另一示例,计算设备102可以使用来自本地小区站点314的信息来确定计算设备102的当前位置。每个小区站点广播小区全局标识(cellglobalidentity,cgi)316。cgi316包括若干个字段,包括移动国家代码(mcc)318、移动网络代码(mnc)320、位置区域代码(locationareacode,lac)322和小区标识(cellidentity,ci)324。计算设备102可基于mcc318、mnc320、lac322或其任何组合来确定计算设备102的当前位置。例如,计算设备102可以基于mcc318来确定当前位置是特定国家。为了说明,当mcc=288时计算设备102可以确定当前位置是法国,当mcc=302时计算设备102可以确定当前位置是加拿大,等等。

在确定计算设备102的当前位置之后,并且在确定当前位置与第一运营商304提供服务的第一地理区域302不同之后,在一些情况下,计算设备102可以从蜂窝模式自动地(例如,没有人类交互)切换到ott模式。在ott模式中,发送呼叫请求162,并且使用数据网络326接收trn166。例如,数据网络326可以是第二网络312的一部分,或者可以与第二网络312不同。在ott模式中,经由数据网络使用voip来进行呼出呼叫164。呼出呼叫164可以由计算设备102发起,而看起来是从附加号码132之一发起的。在ott模式中,经由数据网络326使用voip来进行呼出呼叫164。当来电202的被叫号码(例如,目的地号码)是附加号码132之一时,来电202可以由计算设备102接收。来电202可以被提供给计算设备102作为数据网络326上的voip呼叫。

在图4和图5的流程图中,每个框表示可以以硬件、软件或其组合实现的一个或更多个操作。在软件的情况中,框表示计算机可执行指令,当该指令由一个或更多个处理器执行时,使处理器执行所述操作。通常,计算机可执行指令包括例程、程序、对象、模块、组件、数据结构、以及执行特定功能或实现特定抽象数据类型的其他类似等。描述的框的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实现该过程。出于讨论的目的,如上所述,参考系统100、200和300来描述过程400和500,但是其他模型、框架、系统和环境也可以实现这些过程。

图4是根据一些实现方式的包括确定计算设备的位置的示例过程400的流程图。过程400可以由图1、图2和图3的计算设备102执行。

在402,确定计算设备的位置(例如,当前位置)。在404,在一些实现方式中,可以从本地小区站点来确定小区全局标识(cgi)且基于包括在cgi中的移动国家代码(mcc)来确定位置。例如,在图3中,可以基于由本地小区站点314广播的cgi316中包括的mcc318来确定计算设备102的当前位置。在406,在一些实现方式中,可以使用gps来确定计算设备的当前位置且将当前位置与关联于计算设备的运营商的覆盖图中的多边形进行比较,以确定当前位置是否在运营商提供服务的区域中。在408,确定位置是否在与计算设备相关联的运营商的覆盖区域内。例如,在图1中,位置确定模块120可以使用gps确定计算设备102的当前位置,然后将当前位置与覆盖文件124进行比较,以确定当前位置是否在与网络106相关联的运营商提供服务的区域中。覆盖文件124可以包括具有表示由运营商的网络106提供的覆盖的多边形的地图。

在408,如果确定位置在运营商的覆盖区域内,则计算设备可以将计算设备设置为蜂窝模式,并以蜂窝模式向网络注册,例如,请求使用基于蜂窝的通信(例如,gsm、cdma、umts等)从计算设备发起呼叫和呼叫终止于计算设备。例如,在图3中,计算设备102可以设置为以蜂窝模式操作,并且计算设备102可以以蜂窝模式向第一运营商304的第一网络306注册。

在410,如果确定位置不在运营商的覆盖区域内,则计算设备可以将计算设备设置为ott模式,并以ott模式向网络注册,例如,请求经由voip或其他基于数据的通信技术使用数据网络从计算设备发起呼叫和呼叫终止于计算设备。例如,在图3中,计算设备102可以被设置为以ott模式操作,并且计算设备102可以以ott模式向第二运营商310的第二网络306注册。

图5是根据一些实现方式的包括接收临时路由号码的示例过程500的流程图。过程500可以由图1至3的计算设备102执行。

在502,可以显示与计算设备相关联的电话号码不同的一个或更多个电话号码。在504,可以接收对一个或更多个电话号码的特定电话号码的选择。在506,可以发送请求以发起呼出呼叫。请求可以指定与计算设备相关联的电话号码,(2)作为发起号码的将被关联于呼叫的特定电话号码(例如,先前选择的),以及(3)将被呼出呼叫所呼叫的被叫号码。例如,在图1中,当用户期望发起具有不同于设备号码126的发起号码130的呼出呼叫164时,计算设备可以显示附加号码132中的一个或更多个。在接收到对附加号码132之一的选择以用作发起号码130之后,计算设备102可以向服务器104发送呼叫请求162(例如,包括设备号码126、被叫号码128和发起号码130)。

在508,可以接收临时路由号码。在510,从计算设备启动呼出呼叫。呼出呼叫的发起号码(例如,到被叫号码)显示为特定电话号码。例如,在图1中,响应于接收到呼叫请求162,服务器104可以将trn166发送到计算设备102。响应于接收到trn166,计算设备102可以启动呼出呼叫164。服务器102可以修改呼出呼叫164的呼叫数据,使得呼出呼叫164出现到被叫号码128上,就像呼出呼叫164是从发起号码130(例如,而不是设备号码126)发起的。

在512,可以接收具有不同于与计算设备相关联的电话号码的被叫号码的来电。例如,在图2中,计算设备102可以接收和终止(例如,应答)来电202。来电202的被叫号码204可以是与设备号码126不同的附加号码132之一。

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

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

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

此外,尽管主题已经以结构特征和/或方法动作特有的语言描述,但是应当理解,所附权利要求中限定的主题不一定限于所描述的具体特征或动作。相反,具体特征和动作被公开为实现权利要求的示例性形式。

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