具体实施方式
通信系统指引入线呼叫或发送涉及入线呼叫的信息到与被叫号码相关的身份,这些身份可用于通过除了电话网通常将入线呼叫指引到的电话之外的手段接收这种信息。例如,当呼叫接收方参与入线呼叫被指引到的地面线路电话(landline phone)的呼叫时,入线呼叫的通知被发送到与该地面线路电话的直拨号码相关的用户身份。用户身份可以分别通过例如(1)家庭计算机,(2)个人数字助理(PDA),及(3)办公室计算机在线。每个用户身份可被提供呼叫处理选项,这些选项使对应于用户身份的用户能够忽略呼叫,得到消息,播放特定音频消息,或转移呼叫到另一个电话号码。呼叫处理选项可以对于每个用户相同,或可以基于位置,登录模式或设备而变化。例如,在能力有限的情况下,PDA用户可只接收入线呼叫的可视指示,并且可能只能够转移呼叫到一个其它电话号码。相反,家庭计算机用户可以接收包含地址和回叫电话号码的更多主叫方身份信息,并且可以从多种选项中选择,这些选项包含播放各种音频消息的选项,得到消息的选项及转移呼叫到用户从大量可能电话号码中选择的电话号码的选项。
在一个实现中,提供多用户智能呼叫等待的通信系统包含主叫方电话,其被配置为通过电话网向呼叫目的电话发出呼叫。电话网被配置为如果呼叫目的电话的直拨号码(direct number)忙,在预定次数的振铃之后未应答呼叫,则向智能呼叫等待系统转移呼叫,或被配置为不接收入线呼叫。智能呼叫等待系统接收呼叫,并且确定与呼叫目的电话的直拨号码相关的身份。该身份是例如昵称的用户标识符,通过该身份可以确定用户的在线状态。
智能呼叫等待系统访问对应于身份的呼叫等待偏好,并且基于例如呼叫等待偏好识别可以接收呼叫通知消息的身份。智能呼叫等待系统接着通过向在线服务提供商系统发送存在信息请求来确定哪些所识别身份在线(并且因而可用于接收呼叫通知消息)。在从在线服务提供商系统接收到存在信息时,智能呼叫等待系统针对每个在线的所识别身份产生呼叫通知消息。智能呼叫等待系统向在线服务提供商系统发送呼叫通知消息。
在线服务提供商系统接收呼叫通知消息,并且实时发送所接收的呼叫通知消息和格式数据到对应于在线的所识别身份的呼叫目的计算机系统。呼叫目的计算机系统接收呼叫通知消息和格式数据,并且通过使用户能够得知呼叫通知消息进行响应。
呼叫通知消息通常包含主叫方的身份(基于例如自动号码识别(ANI)信息来确定),和可以由用户选择以指示应如何处理呼叫的一组选项。可以选择的若干选项包含播放特定音频消息,忽略呼叫,得到消息(即,转移呼叫到语音邮件系统),和/或转移呼叫到另一个电话号码(例如,蜂窝电话号码)。呼叫通知消息可以作为呼叫目的计算机系统的可视显示中的对话框呈现给用户。用户可以例如使用鼠标或其它输入设备点击或选择对话框中呈现的选项。
当用户选择选项时,该选项选择通过在线服务提供商系统被实时发送到智能呼叫等待系统。智能呼叫等待系统通过向电话网发送呼叫处理指令,和/或访问和发送音频消息到主叫方电话来处理呼叫。由于多个用户可以接收对应于相同呼叫的呼叫通知消息,并且可以选择冲突的选项,所以智能呼叫等待系统可以使用冲突消除算法来处理所接收的选项选择数据。否则,随后会发生会议呼叫。
参见图1,在一个实现中,提供多用户智能呼叫等待的通信系统100包含主叫方电话110,呼叫目的电话120,电话网130,智能呼叫等待系统140,网络150,在线服务提供商系统160和呼叫目的计算机系统170。呼叫目的计算机系统包含设备170A,其通过数据路径170C与控制器170B通信。
主叫方电话110被配置为通过电话网130向呼叫目的电话120发出呼叫。主叫方电话110和呼叫目的电话120可以是允许通过电话网130进行通信的地面线路电话。在另一个实现中,主叫方电话110和/或呼叫目的电话120可以是蜂窝电话或具有嵌入式蜂窝电话技术的移动个人数字助理(PDA)。在另一个实现中,呼叫目的电话120可以集成呼叫目的计算机系统170,并且充当单个计算机系统。
电话网130被配置为允许主叫方电话110,呼叫目的电话120和智能呼叫等待系统140之间的直接或间接语音通信。如果主叫方电话110的用户向呼叫目的电话120发出呼叫,并且对应于呼叫目的电话120的直拨号码忙或在预定次数的振铃之后未应答呼叫,则电话网130被配置为转移呼叫到智能呼叫等待系统140(即,在呼叫目的电话120的电话线上允许遇忙/无应答呼叫转移服务)。
当呼叫被转移到智能呼叫等待系统140时,电话网130被配置为通过信令信道向智能呼叫等待系统140发送呼叫相关信息。呼叫相关信息包含呼叫源和呼叫目的信息。呼叫源信息可以包含主叫方电话110的直拨号码和发起(initiated)呼叫的时间和日期,并且呼叫目的信息可以包含呼叫目的电话120的直拨号码。呼叫源信息可以例如通过被称为自动号码识别(ANI)的服务传送,并且呼叫目的信息可以例如通过从综合业务数字网络(ISDN)呼叫建立中提取被叫号码信息,或可选地通过被称为拨号号码识别服务(DNIS)的服务传送。
电话网130也被配置为从智能呼叫等待系统140接收呼叫处理指令。呼叫处理指令是告诉电话网130如何处理呼叫的指令。呼叫处理指令可以包含例如接受呼叫,拒绝呼叫和转移呼叫到另一个电话号码(例如,到对应于语音邮件系统或不同电话的电话号码)的指令。
电话网130可以包含电路交换语音网络,分组交换数据网络或任何其它能够传递语音的网络。例如,电路交换语音网络可以包含公用交换电话网(PSTN),并且分组交换数据网络可以包含基于网际协议(IP)或异步传输模式(ATM)的网络,并且可以支持使用例如IP语音,ATM语音或其它用于语音数据通信的相称协议来支持语音。
智能呼叫等待系统140是计算机系统,其被配置为从主叫方电话110接收已通过电话网130转移到智能呼叫等待系统140的呼叫。智能呼叫等待系统140从电话网130接收呼叫目的直拨号码,识别与呼叫目的直拨号码相关的身份,并且根据与呼叫目的直拨号码相关的帐户级(account-level)和身份级(identity-level)呼叫等待偏好处理呼叫。与呼叫目的直拨号码相关的身份可以例如通过访问按呼叫目的直拨号码索引并且存储在配置数据存储器中的帐户记录来识别。帐户记录包含身份及帐户级和身份级呼叫等待偏好。
帐户级呼叫等待偏好是不与任何特定身份相关而是与所有身份相关的偏好。例如,帐户级呼叫等待偏好可以包含识别的电话号码的″黑名单″和识别的电话号码的″白名单″。如果智能呼叫等待系统140从具有″黑名单″上的直拨号码的主叫方电话110接收到呼叫,则智能呼叫等待系统140可以忽略呼叫(即,呼叫未被应答并且允许继续振铃),或可选地,可以向电话网130或主叫方电话110发送消息,例如告诉主叫方不要再呼叫呼叫目的电话120的直拨号码的音频消息,或向电话网130发送电子消息,其产生(inspires)到蜂窝电话110的指示呼叫目的电话120不可用的音频消息。如果智能呼叫等待系统140接收对应于″白名单″上的直拨号码的呼叫,则智能呼叫等待系统140可以自动转移呼叫到另一个号码(例如,指定的蜂窝电话号码或语音邮件号码)。
身份级呼叫等待偏好是为每个身份定制的偏好。身份级偏好包含例如在主叫方电话110的直拨号码已经放置在特定身份的禁止列表上时,禁止智能呼叫等待系统140发送呼叫通知消息到该身份的指令。每个身份可以具有其自身的禁止和/或白名单。身份级偏好也可以包含涉及应当如何格式化发送到该身份的呼叫通知消息及在呼叫通知消息中应当出现什么选项的指令。
身份级呼叫等待偏好还可以包含父母控制。例如,某些身份可以对应于儿童并且其它身份可以对应于双亲。对应于儿童的身份的呼叫等待偏好可以包含禁止智能呼叫等待系统140发送呼叫通知消息到在线的那些身份,或可选地,禁止智能呼叫等待系统140在那天的某些时间(例如,夜间或儿童在学校时)发送呼叫通知消息到在线的那些身份的指令。
例如,Smith帐户可以包含与其相关的两个身份,即对应于名为Jill的用户的″jillsmith2″和对应于名为Joe的用户的″joesmith3″。Smith帐户已把各种电话销售企业的电话号码放置在″黑名单″上,并且把Joe的双亲的电话号码放置在″白名单″上。因此,帐户级偏好被设置成忽略来自电话销售企业的呼叫,并且转移来自Joe的双亲的呼叫到Joe的蜂窝电话号码。此外,设置″jillsmith2″的身份级偏好,使得呈现给Jill的通知消息包含下列选项:忽略呼叫,得到消息及发送声明″请稍后再拔″的音频消息。设置″joesmith3″的身份级偏好,使得呈现给Joe的通知消息包含下列选项:忽略呼叫,得到消息,转移呼叫到Joe的蜂窝电话及发送音频消息。如果所选择的选项是发送音频消息,则向Joe呈现菜单,从菜单他可以选择下列音频消息中的一个:″请稍后再拔″,″我会打电话给你″,″我不认识你″及″请拨打我的蜂窝电话(202)123-4567″。Joe和Jill可以用其自己的语音录制音频消息以个性化该消息,或可选地可以从预先录制的音频消息列表中选择消息。在另一个实现中,Joe可以包含在呼叫转移到他的蜂窝电话之前发送声明″你正被转接到我的蜂窝电话″的音频消息。
智能呼叫等待系统140通过基于帐户级和身份级呼叫等待偏好识别哪些身份可以接收呼叫通知消息来处理呼叫。根据身份级偏好,系统140向在线服务提供商系统160请求所识别身份的在线状态,以及在线的每个所识别身份的呼叫通知消息。智能呼叫等待系统140发送呼叫通知消息到在线服务提供商系统160,其通过网络150把呼叫通知消息和格式数据一起发送到一或多个呼叫目的计算机系统170以呈现给用户。呼叫目的计算机系统170的每个用户选择呼叫通知消息中呈现的选项,并且选项选择通过网络150被发送到在线服务提供商系统160。在线服务提供商系统160转发选项选择到智能呼叫等待系统140,其处理相应选项选择。
如果在预定时间间隔(例如,15秒)超时之前呼叫目的计算机的用户没有选择选项,则智能呼叫等待系统可以处理缺省选项选择。缺省选项选择可以被存储为帐户级偏好,并且可以对应于发送音频消息,得到消息(即,转移呼叫到语音邮件系统)和/或转移呼叫到另一个号码(例如,蜂窝电话号码)。
如果多个用户身份提交了相同呼叫的选项选择,则智能呼叫等待系统140使用冲突消除算法以确定将处理所接收若干选项选择中的哪个选项选择。冲突消除算法可以是例如根据所接收的第一选项选择处理呼叫的″先到先服务″算法。可选地,冲突消除算法可以包含在预定时间间隔上收集对应于不同身份的选项选择,并且接着根据对应于指定最高排名的身份的选项选择来处理呼叫。每个身份的排名分配通常被存储为身份级偏好。作为另一个候选,冲突消除算法可以包含根据选项选择的排名处理呼叫。例如,选项选择可以基于选项选择对呼叫的响应度进行排名,使得转移呼叫到另一个号码的选项选择会优先于发送要求主叫方再拔的消息的选项选择得到选择。
智能呼叫等待系统140通过发送呼叫处理指令到电话网130和/或通过电话网130发送音频消息到主叫方电话110来处理选项选择。智能呼叫等待系统140被配置为记录,存储,访问和播放或重定向音频消息。音频消息可以被用户个性化为智能呼叫等待服务,并且可以被存储在数据存储器中,并且例如按用户呼叫目的电话的直拨号码建立索引。
网络150被配置为允许智能呼叫等待系统140,在线服务提供商系统160和一或多个呼叫目的计算机系统170之间的直接或间接通信。网络150的例子包含因特网,广域网(WAN),局域网(LAN),模拟或数字有线和无线电话网络(例如,公用交换电话网(PSTN),综合业务数字网络(ISDN)和数字用户线路(xDSL)),无线广播,电视,电缆,卫星和/或任何其它传送数据的传送或隧道传送机构。
在某些实现中,网络150和电话网130通过单个或集成通信网络实现,其被配置为允许主叫方电话110,呼叫目的电话120和智能呼叫等待系统140之间的语音通信,并且允许智能呼叫等待系统140,在线服务提供商系统160和一或多个呼叫目的计算机系统170之间的通信。
在线服务提供商系统160是计算机系统,其被配置为向用户提供在线数据通信服务,检测呼叫目的计算机系统170的用户的在线存在,接收来自智能呼叫等待系统140的呼叫通知消息,产生格式数据并且发送格式数据和呼叫通知消息到呼叫目的计算机系统170,及发送来自呼叫目的计算机系统170的选项选择到智能呼叫等待系统140。在线数据通信服务可以包含例如电子邮件服务,即时消息服务,因特网访问和/或访问在线内容。
在线服务提供商系统160可以例如以类似于用于检测即时消息系统中的存在的方式,和/或以类似于这里完整地参考引用的专利申请10/414,167中公开的方式检测呼叫目的计算机系统170的用户的在线存在。在线服务提供商系统160也被配置为从智能呼叫等待系统140接收呼叫通知消息,产生为呈现在呼叫目的计算机系统170上而格式化呼叫通知消息的格式数据,及实时发送呼叫通知消息到呼叫目的计算机系统170。
格式数据可以基于设备类型而变化。例如,由于性能有限,PDA的格式数据可以允许PDA将呼叫通知消息限制为入线呼叫的可视指示(例如,亮灯,和呼叫图标及主叫方电话直拨号码或其身份代理的图形显示),并且还可以将呈现给用户的呼叫处理选项限制为全套(suite)选项的子集(例如,转移呼叫到一个其它电话号码的选项)。相反,发送到家庭计算机的格式数据可以允许家庭计算机提供例如呼叫的音频和可视指示,并且显示包含地址、回叫电话号码和关于主叫方可基于主叫方电话号码访问到的其它信息的全部主叫方身份信息。发送到家庭计算机的格式数据也可以允许家庭计算机向用户呈现大量呼叫处理选项(例如,播放各种音频消息,得到消息和转移呼叫到用户从大量可能电话号码中选择的电话号码的选项)。
在线服务提供商系统160也被配置为实时发送来自呼叫目的计算机系统170的选项选择到智能呼叫等待系统140。由于主叫方在呼叫通知消息的生成和传输,呼叫目的计算机系统170的用户选择选项,及相应选项选择的传输处理期间等待主叫方电话110,所以在线服务提供商系统160被配置为实时发送信息到呼叫目的计算机系统170并且实时接收来自呼叫目的计算机系统170的信息。相应地,在线服务提供商系统160可以被配置为避免呼叫通知消息或选项选择的排队,或避免不管怎样总会增加传输延迟的呼叫通知消息或选项选择的进一步处理。在线服务提供商系统160可以被配置为以类似于即时消息系统使用的方式的方式来提供这个功能,或甚至利用即时消息系统以允许实时发送和接收即时消息。
呼叫目的计算机系统170被配置为从在线服务提供商系统160接收呼叫通知消息和格式数据,根据格式数据处理呼叫通知消息以允许用户得知呼叫通知,接受对呼叫通知消息提供的选项中的一个的用户选择,及发送该选项选择到在线服务提供商系统160。呼叫目的计算机系统包含能根据控制器170B的命令执行指令的设备170A。设备170A可以是通用计算机,诸如工作站或个人计算机,PDA,专用计算机,智能移动电话,寻呼机或机顶盒。
控制器170B命令及指引呼叫目的计算机系统170的设备170A和在线服务提供商系统160之间的通信。控制器170B可以包含允许从在线服务提供商系统160接收数字通信的一或多个软件或硬件应用。例如,控制器170B可以是修改的即时消息应用,其被配置为以类似于用于接收即时消息和发送即时消息的方式的方式来接收通知消息和发送选项选择。设备170A通过能传送数据的有线,无线或虚拟(即,在控制器是设备上运行的软件时)数据路径170C连接到控制器170B。
图2示出产生和传送呼叫通知消息的方法200。为了方便,采用参考图1描述的特定部分来执行方法200。然而,类似方法可以在其中不同部分被用于定义系统的结构,或其中在图1示出的部分中分布不同功能的其它实现中使用。方法200涉及在呼叫目的电话120的直拨号码忙时产生和传送呼叫通知消息。然而,呼叫通知消息可以另外或可选地根据各种其它条件被产生和传送。例如,当在预定次数的振铃之后未应答对呼叫目的电话120的直拨号码的呼叫时,可以产生和传送呼叫通知消息,或可选地,每当呼叫是针对呼叫目的电话120的直拨号码时,不考虑电话线状态,可产生和传送呼叫通知消息。
主叫方电话110的用户拨打呼叫目的电话120的直拨号码(202)。电话网130确定呼叫目的电话120的直拨号码是否繁忙(204)。如果呼叫目的电话的直拨号码不忙,则电话网130完成主叫方电话110和呼叫目的电话120之间的呼叫建立(206)。
如果呼叫目的电话的直拨号码忙,则电话网130通过信令信道发送呼叫目的电话直拨号码和其它呼叫相关信息到智能呼叫等待系统140(208)。智能呼叫等待系统140接收呼叫目的电话120的直拨号码和其它呼叫相关信息(210),并且确定呼叫目的电话120的直拨号码是否注册呼叫等待服务(212)。智能呼叫等待系统140可以通过访问例如按电话号码索引并且存储正接受呼叫处理服务的那些直拨号码的记录的注册数据存储器来确定直拨号码是否注册呼叫等待服务。
如果呼叫目的电话120的直拨号码没有注册呼叫处理服务,则智能呼叫等待系统140通过信令信道发送″不接受″信号到电话网130(214)。响应不接受信号,电话网130发送忙信号到主叫方电话110并且不建立主叫方电话110和智能呼叫等待系统140之间的话路(216)。在另一个实现中,智能呼叫等待系统140指示电话网130重定向话路到对应于语音消息或语音邮件系统的直拨号码,而不是指示电话网130发送忙信号。
如果呼叫目的电话120的直拨号码注册呼叫处理服务,则智能呼叫等待系统140基于呼叫目的电话120的直拨号码(218)识别帐户,并且访问和处理帐户级偏好(220)。例如,通过访问配置或注册数据存储器中存储并且按呼叫目的电话120的直拨号码索引的帐户记录,可以识别帐户。帐户级偏好也可以被存储在帐户记录中。例如,″Smith″帐户可以在配置数据存储器中被存储703-123-4567下,并且可以包含用户身份″Jillsmith2″和″Joesmith3″。如果没有使用帐户级偏好处置呼叫(例如,主叫方电话110的直拨号码没有在白名单或黑名单上),则智能呼叫等待系统140识别与帐户相关的身份(222)并且访问身份级偏好(224)。在一个实现中,与帐户相关的身份被存储在帐户记录中,同时身份级偏好被存储在与帐户记录相关的身份记录中。在另一个实现中,身份和身份级偏好被存储在帐户记录中。
智能呼叫等待系统140基于身份级偏好确定哪些身份能够接收呼叫通知消息(例如,主叫方电话110的直拨号码可能在某些身份的禁止列表上,或父母控制可能禁止某些身份接收呼叫通知消息)(224)。智能呼叫等待系统140接着发送针对可用身份的在线状态的请求到在线服务提供商系统160(226)。
在线服务提供商系统160接收针对可用身份的在线状态的请求(228),并且访问可用身份的在线状态(230)。身份的在线状态可以被存储在例如以类似于即时消息系统中使用的方式的方式不断实时更新的存在数据存储器中,以反映呼叫目的计算机系统170上用户的活动。在线服务提供商系统160发送可用身份的在线状态到智能呼叫等待系统140(232)。
智能呼叫等待系统140接收可用身份的在线状态(234),并且确定是否至少一个识别的身份在线(236)。如果没有识别的身份在线,则方法200执行到操作214。如果至少一个识别的身份在线,则智能呼叫等待系统140通过信令信道发送接受信号到电话网130(238)。响应接受信号,电话网130可以发送振铃信号到主叫方电话110,并且建立与主叫方电话的通信(例如,语音)路径(240)。
智能呼叫等待系统140根据在线的每个所识别身份的身份级偏好产生呼叫通知消息(242)。智能呼叫等待系统140发送在线的每个所识别身份的呼叫通知消息到在线服务提供商系统160(244)。呼叫通知消息通常被智能呼叫等待系统140并行发出,以最小化传输延迟及呼叫目的计算机系统170之间的到达时间差。
在线服务提供商系统160接收在线的每个所识别身份的呼叫通知消息(246),并且发送呼叫通知消息和格式数据到对应于在线身份的呼叫目的计算机系统170(248)。实时执行呼叫通知消息的接收和呼叫通知消息和格式数据的发送。呼叫通知消息通常被在线服务提供商系统160并行发出,以最小化传输延迟及呼叫目的计算机系统170之间的到达时间差。
每个呼叫目的计算机系统170接收呼叫通知消息和格式数据(250),并且允许用户得知呼叫通知消息(252)。在一个实现中,呼叫目的计算机系统170允许用户以在呼叫目的计算机系统170的可视显示上出现的弹出式窗口或对话框的方式得知呼叫通知消息。
图3示出了响应对呼叫通知消息中选项的用户选择的过程300。为了易于讨论,采用参考图1描述的特定部分来执行过程300。然而,类似方法可以在其中不同部分被用于定义系统的结构,或其中在图1示出的部分中分布不同功能的其它实现中使用。
呼叫目的计算机系统170允许用户在预定时间间隔(例如,15秒)超时之前选择呼叫通知消息中提供的选项(302)。呼叫目的计算机系统170发送选项选择到在线服务提供商系统160(304)。
在线服务提供商系统160接收选项选择(306)并且发送选项选择到智能呼叫等待系统140(308),并且实时进行这些操作。
智能呼叫等待系统140接收选项选择(310)。过程300使用″先到先服务″冲突消除算法(即,所接收的第一选项选择是用于处理呼叫的选项选择)。在其它实现中,例如在使用基于排名的冲突消除算法的实现中,智能呼叫等待系统140等待预定时间间隔(例如,15秒)以从多个呼叫目的计算机170接收选项选择,并且根据冲突消除算法选择所接收选项选择中的一个选项选择。
智能呼叫等待系统140确定选项选择是否包含呼叫处理指令(即,转移或忽略呼叫的指令)(312)。如果选项选择包含呼叫处理指令,智能呼叫等待系统140通过信令信道发送呼叫处理指令到电话网130(314)。电话网130处理呼叫处理指令,并且在必要时相应转移或重定向话路(316)。在某些实现中,智能呼叫等待系统140在发送呼叫处理指令到电话网130之前,访问和通过话路发送音频消息到主叫方电话110(例如,音频消息″电话正忙。请保持在线,你将被转接到候选号码。″可以在发送转移呼叫的呼叫处理指令之前被发送)。
如果选项选择不对应于呼叫处理指令,则智能呼叫等待系统140访问对应于选项选择的音频消息(318),并且通过话路发送对应于选项选择的音频消息到主叫方电话110(320)。主叫方电话110接收音频消息(322)并且使用户能收听音频消息(324)。
在发送呼叫处理指令到电话网130和/或发送音频消息到主叫方电话110之后或同时,智能呼叫等待系统140产生针对在线的每个所识别身份的更新呼叫通知消息,并且发送更新呼叫通知消息到在线服务提供商系统160(326)。在线服务提供商系统160接收更新呼叫通知消息(328),并且发送更新呼叫通知消息到相应呼叫目的计算机系统170(330)。
每个呼叫目的计算机系统170接收更新的呼叫通知消息(332)并且使用户得知更新的呼叫通知消息(334)。在一个实现中,更新呼叫通知消息被作为对话框或弹出式窗口呈现给用户,其显示用于处理呼叫的选项选择和提交该选项选择的身份(如果可用(即,在如下所述根据缺省选项选择处理呼叫的情况下不示出身份))。
如果智能呼叫等待系统140在预定时间间隔内未从任何接收呼叫通知消息的呼叫目的计算机系统170接收选项选择(例如,在306),则智能呼叫等待系统140自动访问对应于帐户的缺省选项选择(并且存储为帐户级偏好)(336)。智能呼叫等待系统140根据操作312-334处理缺省选项选择(338)。
图4示出图1中通信系统100的示例性实现400,其被配置为提供多用户智能呼叫等待。通信系统400包含主叫方电话410,呼叫目的电话420,电话网430,智能呼叫等待系统440,网络450,在线服务提供商系统460及一或多个呼叫目的计算机系统470。每个呼叫目的计算机系统470包含设备470A,其通过数据路径470C与控制器470B通信。前面参照图1广泛地描述图4的通信系统400内每个单元的例子。尤其是,主叫方电话410,呼叫目的电话420,PSTN 430,因特网450及呼叫目的计算机系统470通常具有分别与针对图1的主叫方电话110,呼叫目的电话120,电话网130,网络150及呼叫目的计算机系统170描述的属性相称的属性。同样,智能呼叫等待系统440和在线服务提供商系统460通常具有相称的属性,并且说明了图1的智能呼叫等待系统140和在线服务提供商系统160的一个可能实现。
智能呼叫等待系统440包含交互式语音应答系统(IVRS)442,消息传送点444和配置数据存储器446。在线服务提供商系统460包含存在服务器462和提醒系统464。
IVRS 442是面向电话的计算机系统,其发送呼叫处理指令到PSTN 430并且存储、记录和发送通过PSTN 430到主叫方电话410的音频消息。呼叫处理指令包含例如接受呼叫,拒绝呼叫及重定向呼叫。IVRS 442也发送呼叫相关信息到消息传送点,并且接收涉及应当发送哪个呼叫处理指令到PSTN 430和/或应当访问和通过PSTN 430发送哪个音频消息的指令。
消息传送点444是面向IP的计算机系统,其验证IVRS 442接收的呼叫,产生和发送呼叫通知消息到提醒系统464,接收来自提醒系统464的选项选择,及发送对应于所接收选项选择的指令到IVRS 442。消息传送点444访问配置数据存储器446以验证IVRS 442接收的呼叫并且访问帐户级及身份级呼叫等待偏好。消息传送点444也向在线服务提供商系统460的存在服务器462请求身份的在线状态。
配置数据存储器446是数据存储设备,其通信连接到消息传送点444,并且包含帐户记录和身份记录。帐户记录存储帐户级呼叫等待偏好并且可以按用户电话号码(即,呼叫目的电话420的直拨号码)索引。身份记录存储身份级呼叫等待偏好并且可以按帐号或用户电话号码索引。
存在服务器462是接收、更新和发布每个身份的在线存在数据的服务器。存在服务器462使消息传送点444能够访问特定身份的在线状态。在一个实现中,存在服务器462在功能上类似于即时消息系统中的中央服务器,其从呼叫目的计算机系统470接收周期性在线状态更新。在另一个实现中,存在服务器462在功能上类似于专利申请10/414,167中公开的存在检测系统,其从连接到呼叫目的计算机系统470的设备470B的设备监视器接收通信设备状态数据和涉及是否能够得知通信数据的用户可用性。在这个实现中,消息传送点444包含设备监视系统的功能。
提醒系统464是计算机系统,其被配置为允许从消息传送点444向呼叫目的计算机系统470的实时或准实时地发送呼叫通知消息,并且从呼叫目的计算机系统470向消息传送点444发送选项选择。提醒系统464被配置为以类似于即时消息系统使用的方式的方式提供这个功能,以允许即时消息的实时发送和接收。该系统已经在例如这里参考引用的专利申请10/320,712中描述。
图5A和5B示出了产生和传送呼叫通知消息的处理500。为便于讨论,采用参考图4描述的特定部分执行处理500。然而,类似方法可以在其中不同部分被用于定义系统的结构,或其中在图4示出的部分中分布不同功能的其它实现中使用。处理500对应于方法200,但是应用于通信系统400而不是通信系统100。
主叫方电话410的用户拨打呼叫目的电话420的直拨号码(502)。PSTN 430确定呼叫目的电话420的直拨号码是否忙(504)。如果呼叫目的电话的直拨号码不忙,则呼叫等待是不必要的,并且PSTN 430完成主叫方电话410和呼叫目的电话420之间的呼叫建立(506)。
如果呼叫目的电话420的直拨号码忙,则PSTN 430通过信令信道发送呼叫目的电话直拨号码和其它呼叫相关信息到IVRS 442(508)。IVRS 442接收呼叫目的电话420的直拨号码和其它呼叫相关信息(510),并且发送验证请求到消息传送点444以确定呼叫目的电话420的直拨号码是否注册了呼叫等待服务(512)。
消息传送点444接收验证请求(514),并且访问配置数据存储器446(516)以确定呼叫目的电话420的直拨号码是否注册了呼叫等待服务(518)。如果呼叫目的电话420的直拨号码没有注册呼叫等待服务,则消息传送点444发送目的号码未确认应答到IVRS 442(520)。IVRS442接收目的电话号码未确认应答(522)并且通过信令信道发送未接受信号到PSTN 130(524)。响应未接受信号,PSTN 130发送忙信号到主叫方电话410并且不建立主叫方电话和IVRS 442之间的话路(526)。).在另一个实现中,IVRS 442指示PSTN 130重定向话路到对应于语音消息或语音邮件系统的直拨号码,而不是指示PSTN 130发送忙信号。
如果呼叫目的电话420的直拨号码注册了呼叫等待服务,则消息传送点444访问配置数据存储器446以基于呼叫目的电话420的直拨号码识别帐户(528)并且检索帐户级偏好(530)。例如,通过访问配置数据存储器446中存储并且按呼叫目的电话120的直拨号码索引的帐户记录,可以识别帐户。帐户级偏好也可以被包含在帐户记录中。消息传送点444确定帐户级偏好是否适用于主叫方电话410的直拨号码(532)。如果帐户级偏好适用,则消息传送点444使用帐户记录中存储的帐户级偏好选项执行操作610-636(图6)(534)。
如果帐户级偏好不适用于主叫方电话410的直拨号码(例如,主叫方电话410的直拨号码没有在白名单或黑名单上),或如果合适,在使用帐户级偏好之后,消息传送点444访问配置数据存储器446中存储的帐户记录以识别与帐户相关的身份(536)。消息传送点444访问相应身份记录以检索身份级偏好(538)。
消息传送点444基于身份级偏好识别能够接收呼叫通知消息的身份(例如,主叫方电话410的直拨号码可能在某些身份的禁止列表上,或父母控制可能禁止某些身份接收呼叫通知消息)(538)。消息传送点444发送针对所识别身份的在线状态的请求到存在服务器462(540)。
存在服务器462接收针对所识别身份的在线状态的请求(542),并且访问数据存储器中的所识别身份的在线状态(544)。存在服务器462发送所识别身份的在线状态到消息传送点444(546)。
消息传送点444接收所识别身份的在线状态(548),并且确定是否至少一个所识别身份在线(550)。如果没有所识别身份在线,则处理500执行到操作520。如果至少一个所识别身份在线,则消息传送点444发送目的电话号码验证应答到IVRS 442(552)。IVRS 442接收目的电话号码验证应答(554)并且通过信令信道发送接受信号到PSTN 430(556)。响应该接受信号,PSTN 130发送振铃信号到主叫方电话410并且建立主叫方电话410和IVRS 442之间的话路(558)。
消息传送点444访问配置数据存储器446以检索对应于在线的所识别身份的呼叫通知格式信息(560)。呼叫通知格式信息可以作为身份级呼叫等待偏好被存储在身份记录中。消息传送点444根据所检索的呼叫通知消息格式产生针对每个在线身份的呼叫通知消息(562),并且发送呼叫通知消息到提醒系统464(564)。
提醒系统464接收呼叫通知消息(566),并且发送呼叫通知消息和格式数据到对应于在线身份的呼叫目的计算机系统470(568)。实时执行呼叫通知消息的接收和呼叫通知消息和格式数据的发送。
每个呼叫目的计算机系统470接收呼叫通知消息和格式数据(570),并且允许用户得知呼叫通知消息(572)。在一个实现中,呼叫目的计算机系统470允许用户以在呼叫目的计算机系统470的可视显示上出现的弹出式窗口或对话框的方式得知呼叫通知消息。
图6示出了响应对呼叫通知消息中选项的用户选择的处理600。在讨论的情况中,采用参考图4描述的特定部分来执行处理600。然而,类似方法可以在其中不同部分被用于定义系统的结构,或其中在图4示出的部分中分布不同功能的其它实现中使用。处理600对应于处理300,但是应用于通信系统400而不是通信系统100。
呼叫目的计算机系统170允许用户在预定时间间隔(例如,15秒)超时之前选择呼叫通知消息中提供的选项(602)。呼叫目的计算机系统170发送选项选择到提醒系统464(604)。
提醒系统464接收选项选择(606)并且发送选项选择到消息传送点444(608)。提醒系统464被配置为针对消息传送点444实时接收和发送选项选择。
消息传送点444接收选项选择(610)。处理600假定正在使用″先到先服务″冲突消除算法(即,所接收的第一选项选择是用于处理呼叫的选项选择)。然而,如果使用基于排名的冲突消除算法,消息传送点444等待预定时间间隔(例如,15秒)以从多个呼叫目的计算机470接收选项选择,根据身份级偏好确定已指定有最高排名的接收选项选择,并且前进到使用对应于指定有最高排名的选项选择的选项选择的操作612。
消息传送点444确定选项选择是否包含呼叫处理指令(即,转移或忽略呼叫的指令)(612)。如果选项选择包含呼叫处理指令,则消息传送点444发送对应于呼叫处理指令的呼叫处理应答到IVRS 442(614)。呼叫处理应答可以是例如IVRS 442使用的、确定将被发送到PSTN 430的呼叫处理指令的标识号。
IVRS 442接收呼叫处理应答(616)并且通过信令信道发送相应呼叫处理指令到PSTN 430(618)。PSTN 430处理呼叫处理指令,并且在必要时相应转移或重定向话路(620)。
如果选项选择不对应于呼叫处理指令,则消息传送点444发送对应于音频消息的音频消息应答到IVRS 442(622)。音频消息应答可以是例如IVRS 442使用的、标识将被发送到主叫方电话410的音频消息的存储位置的标识号。
IVRS 442接收音频消息应答(624),访问对应于音频消息应答的音频消息(626),并且通过话路发送音频消息到主叫方电话410(628)。主叫方电话410接收音频消息(630)并且使用户能够收听音频消息(632)。
在发送呼叫处理应答和/或音频消息应答到IVRS 442之后,消息传送点444产生针对在线的每个所识别身份的更新呼叫通知消息,并且发送更新呼叫通知消息到提醒系统464(634)。提醒系统464接收更新呼叫通知消息(636),并且发送更新呼叫通知消息到相应呼叫目的计算机系统470(638)。每个呼叫目的计算机系统470接收更新的呼叫通知消息(640),并且使用户能够得知更新的呼叫通知消息(642)。
如果消息传送点444在预定时间间隔之后未从任何接收呼叫通知消息的呼叫目的计算机系统470接收选项选择,则消息传送点444自动访问对应于帐户的缺省选项选择(并且存储为帐户级偏好)(644)。消息传送点444根据操作612-642处理缺省选项选择(646)。
已经描述了若干实现。然而,可以理解可以进行各种修改。例如,系统和过程涉及话路和信令信道。在某些实现中,话路和信令信道是分立的(即,带外信令)。在其它实现中,话路和信令信道被集成到处理音频数据的传输以及呼叫处理数据的传输的一个信道中(即,带内信令)。
电话网130可以被配置为始终发送信号到智能呼叫等待系统140,不管呼叫目的电话120是否忙或未应答。响应该信号,智能呼叫等待系统140向在线的、与呼叫目的电话120相关的用户身份发送呼叫通知消息。通过这种方式,用户身份可以监视呼叫目的电话120的使用。例如,可以使用这种监视来允许进行呼叫目的电话120的父母控制(例如父亲可能希望知道谁呼叫过他的女儿)。
因此,其它实现在下列权利要求的范围内。