首页 / 专利库 / 人工智能 / 语音触发器 / 在服务器群中添加和移除服务器的系统和方法

服务器群中添加和移除服务器的系统和方法

阅读:1016发布:2020-07-14

专利汇可以提供服务器群中添加和移除服务器的系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种将事件传送至代理装置的分布方法。第一 软件 模 块 生成诸如屏幕弹出事件或振铃事件的事件,用于传送到负责代理装置的第二模块。可以是与第一模块相同的模块的第三模块评估哈希函数,以从识别符为代理装置确定第二模块的识别符。第一模块将事件例如通过使代理装置生成振铃警报或显示屏幕弹出发送至为该事件负责的第二模块。,下面是服务器群中添加和移除服务器的系统和方法专利的具体信息内容。

1.一种用于将第一服务器添加到与联络中心相关联的现有第二服务器组的方法,所述方法包括:
由所述第一服务器发送所述第一服务器到所述现有第二服务器群的开始添加请求
响应于所述请求,由所述多个现有第二服务器中的每一个发送映射到所述现有第二服务器的资源状态信息,被发送到所述第一服务器的状态信息没有发送到所述现有第二服务器中的一个;和
响应于从所述多个现有第二服务器中的每一个接收所述状态信息,由所述第一服务器发送提交信息到所述现有服务器中的每一个;和
响应于所述提交信息,将一个所述资源的映射从一个所述现有第二服务器变更到所述第一服务器。
2.根据权利要求1所述的方法,包括:
由所述第一服务器向所述多个现有第二服务器中的每一个发送开始信息;
由所述多个现有第二服务器中的每一个向所述第一服务器发送开始确认信息;和由所述第一服务器向所述多个现有第二服务器中的每一个发送状态传送请求。
3.根据权利要求1所述的方法,包括:
通知负责维护服务器列表的配置服务器添加所述第一服务器;
由所述配置服务器更新所述服务器列表;和
由所述配置服务器通知一组订阅者对所述服务器列表的更新。
4.根据权利要求1所述的方法,进一步包括:
从所述现有第二服务器接收与映射到所述第一服务器的资源相关的请求;
识别负责所述资源的第一服务器;和
响应于所述识别将所述请求按规定路线路由到所述第一服务器。
5.根据权利要求4所述的方法,其中,所述资源为电话号码(DN)。
6.根据权利要求4所述的方法,其中,所述识别负责所述资源的所述第一服务器的步骤包括:
向函数提供标识所述资源的资源标识符(ID);和
从所述函数接收模标识符(ID)作为所述第一服务器输出。
7.根据权利要求6所述的方法,其中,所述函数为哈希函数。
8.根据权利要求7所述的方法,其中,所述哈希函数时一致性哈希函数。
9.根据权利要求8所述的方法,其中,所述哈希函数包括:
第一基本哈希函数,所述第一基本哈希函数被配置为将资源标识符映射到范围中;和第二基本哈希函数,所述第二基本哈希函数被配置为将模块标识符映射到所述范围中。
10.根据权利要求9所述的方法,其中,所述第二基本哈希函数进一步被配置为将每个模块标识符的副本映射到所述范围中。
11.根据权利要求7所述的方法,其中,所述哈希函数被配置为将与在某地区的资源相关的资源标识符映射成与在所述地区的计算装置上执行服务器相关的模块标识符。
12.一种用于分布式事件传送的方法,包括:
由在计算装置上执行的第一模块为资源生成事件,
由所述第一模块识别所述资源的资源标识符(ID);
识别负责所述资源的第二模块,其中,所述识别步骤包括:
向函数提供所述资源ID;和
从所述函数接收模块标识符(ID)作为所述第二模块的输出;和
根据所述识别的模块ID发送所述事件到所述第二模块。
13.根据权利要求12所述的方法,进一步包括:
将所述事件转送到由所述资源ID识别的资源,其中,所述资源响应于所述事件生成输出。
14.根据权利要求13所述的方法,其中,所述事件为振铃事件。
15.根据权利要求14所述的方法,包括:
由所述资源接收所述振铃事件;和
由所述资源生成振铃警报。
16.根据权利要求13所述的方法,包括按照规定路线将呼叫路由到与所述资源ID相关的代理装置。
17.根据权利要求13所述的方法,其中,所述事件为屏幕弹出事件。
18.根据权利要求17所述的方法,包括:
由所述资源接收所述屏幕弹出事件;和
由所述资源生成弹出屏幕。
19.根据权利要求12所述的方法,其中,所述函数为哈希函数。
20.根据权利要求19所述的方法,其中,所述哈希函数为一致性哈希函数。
21.根据权利要求20所述的方法,其中,所述哈希函数包括:
第一基本哈希函数,所述第一基本哈希函数被配置为将资源标识符映射到范围中;和第二基本哈希函数,第二基本哈希函数被配置为将模块标识符映射到所述范围中。
22.根据权利要求21所述的方法,其中,所述第二基本哈希函数进一步被配置为将每个模块标识符的副本映射到所述范围中。
23.根据权利要求19所述的方法,其中,所述哈希函数被配置为将与某地区内资源相应的资源标识符映射成与在所述地区的计算装置上执行的模块相关的模块标识符。
24.一种用于将第一服务器从与联络中心相关的服务器组中移除的方法,所述服务器组包括所以第一服务器和多个其它第二服务器,所述方法包括:
由所述第一服务器发送将所述第一服务器从所述服务器组开始移除的请求;
由所述第一服务器发送映射到所述第一服务器的资源的状态信息,由所述第一服务器传送的所述状态信息不包括由所述其它第二服务器中的一个发送的状态信息;和由所述第一服务器向所述其它第二服务器中的每一个发送提交信息;和
响应于所述提交信息,将所述资源中的一个资源的映射从所述第一服务器变更到连接到所述第一服务器的其它第二服务器中的一个。
25.根据权利要求24所述的方法,包括:由所述多个其它第二服务器中的每一个将开始确认信息发送到所述第一服务器。
26.根据权利要求24所述的方法,包括:
通知负责维护服务器列表的配置服务器移除所述第一服务器;
由所述配置服务器更新所述服务器列表;和
由所述配置服务器通知一组订阅者对所述服务器列表的更新。
27.根据权利要求24所述的方法,进一步包括:
从所述第一服务器接收与映射到所述多个其它第二服务器的剩余服务器的资源相关的请求;
识别对所述资源负责的所述剩余服务器;和
响应于所述识别步骤按规定路线将所述请求路由到所述剩余服务器。
28.根据权利要求27所述的方法,其中,所述识别对所述资源负责的所述剩余服务器的步骤包括:
向函数提供用于识别所述资源的资源标识符(ID);和
从所述函数接收模块标识符(ID)作为所述剩余服务器的输出。
29.根据权利要求28所述的方法,其中,所述函数为哈希函数。
30.根据权利要求29所述的方法,其中,所述哈希函数为一致性哈希函数。
31.根据权利要求30所述的方法,其中,所述哈希函数包括:
第一基本哈希函数,所述第一基本哈希函数被配置为将所述资源标识符映射到范围中;和
第二基本哈希函数,所述第二基本哈希函数被配置为将所述模块标识符映射到所述范围中。
32.根据权利要求31所述的方法,其中,所述第二基本哈希函数进一步被配置为将所述模块标识符中的每一个的副本映射到所述范围中。
33.根据权利要求29所述的方法,其中,所述哈希函数被配置为将与某地区资源相关的资源标识符映射成与在所述地区计算装置上执行的服务器相关的模块标识符。
34.一种从与在代理装置上拨号的呼叫相对应的拨号串生成转换号码的方法,包括:
由在计算装置上执行的服务器识别与所述代理装置相关的一个或多个可用类别,每个可用类别为可用障碍类别或者可用非障碍类别,每个可用类别包括一个或多个模式;
响应于所述拨号串能够与可用非障碍类别中的至少一个模式相匹配并且不与可用障碍类别中的任何模式相匹配,转换所述号码,或者
响应于所述拨号串不与任何可用非障碍类别中的模式相匹配或者与可用障碍类别中的至少一种模式相匹配,拒绝所述呼叫;
其中,所述转换所述号码的步骤包括:
在所述公共拨号电话网(PSTN)上识别用于将所述呼叫按照指定路线从互联网协议(IP)网络上的起点路由到由所述拨号串识别的目的地的一个或多个网关;
计算路由所述呼叫穿过每个所述网关的花费;
识别所述花费最低的所述网关作为首选网关;和
通过组合所述首选网关的标识符与所述拨号串形成所述转换号码。
35.根据权利要求34所述的方法,其中,所述计算路由所述呼叫穿过每个所述网关的所述花费的步骤包括,为每个网关执行算法,所述算法接收从包括下列数量的所述群中选择的数量作为输入:一天中的时间,一周中的天,所述网关的位置,所述目的地的所述位置,以及上述数量的组合。
36.根据权利要求34所述的方法,其中,所述计算路由所述呼叫穿过每个所述网关的所述花费的步骤包括为每个网关执行算法,所述算法接收从包含以下数量的群中选择的数量作为输入:所述网关上的负载,向所述呼叫添加语音的能,向所述呼叫添加视频的能力,所述呼叫的保密平,以及上述数量的组合。
37.一种用于分析联络中心内部活动的方法,包括:
由多个模块在一个或多个日志文件中记录多个日志条目;
由在第一计算装置上执行的解析器解析所述一个或多个日志文件以生成多个数据库条目;
由分析工具执行数据库查询;和
由所述分析工具显示所述查询的所述结果,
其中,由所述多个模块记录所述多个日志条目的步骤包括:
由第一模块向第二模块发送事件或信息;
由所述第一模块记录与向所述第二模块发送事件或信息相对应的触发器条目;
由所述第二模块接收所述事件或信息;和
由所述第二模块记录与从所述第一模块接收所述事件或信息的所述接收步骤相对应的第一处理程序条目;
其中,
所述事件或信息包含唯一标识符;
所述触发器条目包含所述唯一标识符;和
所述第一处理程序条目包含所述唯一标识符。
38.根据权利要求37所述的方法,其中,所述解析所述多个日志条目的步骤包括将所述触发器条目和所述第一处理程序条目转录成数据库的表中的相应的字段。
39.根据权利要求38所述的方法,其中,所述执行数据库查询的步骤包括使用所述唯一标识符将包含所述触发器条目的记录与包含所述第一处理程序条目的记录合并在一起。
40.一种用于分析联络中心活动的方法,包含:
由在第一计算装置上执行的解析器解析多个日志文件用以创建多个数据库条目;
所述多个日志文件中的每一个包含由多个模块预先记录的多个日志条目;
由分析工具执行数据库查询;和
由所述分析工具显示所述查询结果,
其中每个日志文件包括文件名,并且对于日志条目所述解析所述多个日志文件的步骤包括:
存储来自所述日志条目的字段为数据库条目;
存数所述日志文件的所述文件名为数据库条目;和
存储所述日志条目在所述日志文件中的所述位置作为数据库条目,
其中,由所述分析工具显示所述查询的所述结果的步骤包括:
在可点击链接中显示来自所述日志条目的所述字段,所述可点击链接被配置为经过点击在所述分析工具内显示所述日志条目。
41.一种用于保留分布式联络中心资源的方法,包括:
由在计算装置上执行的第一模块识别联络中心资源的资源标识符(ID);
识别负责所述资源的第二模块,其中所述识别步骤包括:
将所述资源ID提供到函数;和
从所述函数接收模块标识符(ID)作为所述第二模块的输出;和
根据所述识别的模块ID将用于所述资源的请求发送到所述第二模块。
42.根据权利要求41所述的方法,包括:
由所述第二模块接收用于所述资源的所述请求;和
由所述第二模块判定是否准予用于所述资源的所述请求。
43.根据权利要求42所述的方法,其中,所述判定是否准予用于所述资源的所述请求的步骤包括:
在一个时间间隔内接收用于所述资源的第二请求;
评估所述请求相对于所述第二请求的优先级;和
根据所述评估的优先级准予所述请求或所述第二请求。
44.根据权利要求43所述的方法,其中,所述评估所述优先级的步骤包括,评估所述请求的多个标准相对于所述第二请求的多个标准,所述标准从包含以下内容的群中选择:呼叫者特征,所述资源对于呼叫的适宜性,其它资源对于所述呼叫的适宜性,保持时间,以及上述内容的组合。
45.根据权利要求43所述的方法,其中,所述请求为呼叫路由请求。
46.根据权利要求45所述的方法,包括响应于准予所述请求将呼叫路由到所述资源。
47.根据权利要求41所述的方法,其中,所述资源为联络中心代理,所述请求为保留所述代理的请求。
48.根据权利要求41所述的方法,其中,所述第二模块负责维护与所述资源相关的状态信息。
49.根据权利要求41所述的方法,其中,所述函数为哈希函数。
50.根据权利要求49所述的方法,其中,所述哈希函数为一致性哈希函数。
51.根据权利要求50所述的方法,其中,所述哈希函数包括:
第一基本哈希函数,所述第一基本哈希函数被配置为将资源标识符映射到范围中;和第二基本哈希函数,所述第二基本哈希函数被配置为将模块标识符映射到所述范围中。
52.根据权利要求51所述的方法,其中,所述第二基本哈希函数进一步被配置为将每个模块标识符的副本映射到所述范围中。
53.根据权利要求49所述的方法,其中,所述哈希函数配置为将与某地区的资源相关的资源标识符映射成与在所述地区的计算装置上执行的模块相关的模块标识符。
54.一种结合附图描述的基本与上文相同的系统。
55.一种结合附图描述的基于与上文相同的方法。

说明书全文

服务器群中添加和移除服务器的系统和方法

技术领域

[0001] 本公开涉及用于联络中心和其它企业通信系统的软件系统,更具体地,涉及一种用于在联络中心处理会话初始化协议(SIP)通信的模化、可扩展并具有高可用性的系统。

背景技术

[0002] 组织(机构)可以使用联络中心与外界以有效且系统的方式进行通讯。例如,这些中心可以具有大量的代理人员电话,并且与外界进行交互以及彼此进行交互。当呼叫初始连接到联络中心时,该呼叫可以被保持或者转入交互式语音响应(IVR)系统;随后,代理可以接听呼叫、将其重新保持、转接该呼叫、与另一个代理进行会议、或者采取与该呼叫相关的其它活动。外线也可以通过其它机制与联络中心进行交互,这些机制包括通过在线聊天、视频、电子邮件和类似方式建立连接。
[0003] 会话初始协议(SIP)标准可以用于联络中心以处理经由因特网协议(IP)网络的通信,它可以在联络中心内运行,并且可以通过一个或多个网关连接到诸如公用开关电话网络(PSTN)外部网络。IP网络也可以扩展到联络中心的外部,从而使得,例如,与连接到因特网的组织的通信不需要使用PSTN。
[0004] 在某些情况下,构建大型联络中心(例如,使用几千个代理)是有益的。大型联络中心,例如,对于设置有中心联络号码(可以根据呼叫原因将该呼叫从中心联络号码调度到代理)的企业、对于经常需要将呼叫从一个代理转发到另一个代理的企业、或者对于代理位于不同地理位置的企业是非常有帮助的。在这些情况中,建立多个小型独立的呼叫中心可能会是低效的。
[0005] 有利的是:大型联络中心所使用的软件和硬件可以是被模块化的、可扩展的、大小易扩大或缩小的、并且适于提供高可用性服务。可扩展性是非常重要的,因为当联络中心部署变得非常大的时候,性能限制瓶颈可能会造成越来越多的困难的挑战。发明内容
[0006] 根据一个方面,提供了一种在联络中心中将事件发送到代理设备的系统。
[0007] 根据本发明的实施例,提供了一种用于分布式事件传递的方法,所述方法包括:由在计算装置上执行的第一模块为资源生成事件,通过该第一模块为该资源识别资源标识符(ID);识别用于负责该资源的第二模块,其中,该识别步骤包括:向函数提供上述资源ID;和从该函数接收模块标识符(ID)作为该第二模块的输出;以及根据所识别的模块ID将该事件发送至上述第二模块。
[0008] 在一个实施例中,该方法包括:将该事件转送到通过资源ID识别的资源,其中,该资源生成响应于该事件的输出。
[0009] 在一个实施例中,该事件为振铃事件。
[0010] 在一个实施例中,该方法包括:由上述资源接收该振铃事件;然后由该资源生成振铃警报。
[0011] 在一个实施例中,该方法包括按照指定路线将呼叫路由至与上述资源ID相关联的代理装置。
[0012] 在一个实施例中,该事件为屏幕弹出事件。
[0013] 在一个实施例中,该方法包括:由上述资源接收上述屏幕弹出事件;并且由该资源生成弹出屏幕。
[0014] 在一个实施例中,上述函数为哈希函数。
[0015] 在一个实施例中,上述哈希函数为一致性哈希函数。
[0016] 在一个实施例中,上述哈希函数包括:第一基本哈希函数,所述第一基本哈希函数被配置成将资源标识符映射到某范围中;和第二基本哈希函数,所述第二基本哈希函数被配置成将模块标识符映射到该范围中。
[0017] 在一个实施例中,上述第二基本哈希函数进一步被配置为将每个模块标识符的副本映射到上述范围中。
[0018] 在一个实施例中,上述哈希函数被配置成将与某地区中的资源相对应的资源标识符映射成与在该地区中的计算装置上执行的模块相对应的模块标识符。
[0019] 根据一个方面,提供了一种用于添加新的服务器(例如,SIP服务器)到服务器群(例如,SIP群)的系统。在处理过程中,状态信息被转发至该新服务器。根据另一个方面,提供了一种从服务器群(例如,SIP群)中移除服务器(例如,SIP服务器)的系统。在该处理过程中,状态信息从被移除的服务器转发至保留的服务器。
[0020] 根据本发明的实施例,提供了一种向与联络中心相关联的现有第二服务器群中添加第一服务器的方法,该方法包括:由第一服务器发送将该第一服务器开始添加到第二服务器群的请求;响应于该请求,由多个现有第二服务器中的每一个发送映射到现有第二服务器的资源的状态信息,该状态信息被转发至第一服务器而不需要发送该状态信息到现有第二服务器中的一个;以及,响应于从多个现有第二服务器中的每一个接收状态信息,由第一服务器向当前服务器中的每一个发送提交信息;和响应于提交信息,将上述资源中的一个资源的映射从现有第二服务器中的一个服务器变更到第一服务器。
[0021] 在一个实施例中,该方法包括:将开始信息由第一服务器发送到多个现有第二服务器中的每一个;由多个现有第二服务器中的每一个发送开始确认信息到第一服务器;和由第一服务器发送状态传送请求到多个现有第二服务器中的每一个。
[0022] 在一个实施例中,上述方法包括:通知负责维护服务器列表的配置服务器添加第一服务;通过该配置服务器更新服务器列表;和通过该配置服务器通知一组定制该服务器列表更新的订户。
[0023] 在一个实施例中,上述方法包括:从现有的第二服务器接收与映射到第一服务器上的资源相关的请求;识别与该资源相关的第一服务器;和响应于该识别步骤,将该请求路由至第一服务器。
[0024] 在一个实施例中,识别与上述资源相关的第一服务器的步骤包括:将用于识别该资源的资源标识符(ID)提供到函数;和,从该函数接收模块标识符(ID)作为第一服务器的输出。
[0025] 在一个实施例中,上述函数为哈希函数。
[0026] 在一个实施例中,上述哈希函数为一致性哈希函数。
[0027] 在一个实施例中,上述哈希函数包括:被配置成将资源标识符映射到某范围中的第一基本哈希函数;和被配置成将模块标识符映射到该范围中的第二基本哈希函数。
[0028] 在一个实施例中,上述第二基本哈希函数进一步被配置成将每个模块标识符的副本映射到上述范围中。
[0029] 在一个实施例中,上述哈希函数被配置为将与在某地区的资源相对应的资源标识符映射成与在该地区的计算装置上执行的服务器相应的模块标识符。
[0030] 根据本发明的实施例提供了一种用于将第一服务器从与联络中心相关的服务器群中移除的方法,该服务器群包括该第一服务器和多个其它第二服务器,该方法包括:由上述第一服务器发送开始将第一服务器从上述服务器群中移除的请求;由第一服务器发送映射到该第一服务器的资源的状态信息,由第一服务器转发的该状态信息不包括由其它第二服务器中的一个转发的状态信息;和由第一服务器发送提交信息到该其它第二服务器中的每一个;和,响应于提交信息,将上述资源中的一个资源的映射从第一服务器变更到与第一服务器连接的其它第二服务器。
[0031] 在一个实施例中,该方法包括:由多个其它第二服务器中的每一个将开始确认信息发送到第一服务器。
[0032] 在一个实施例中,上述方法包括:通知用于维护服务器列表的配置服务器第一服务器的移除;由配置服务器更新服务器列表;和,由配置服务器通知一组定制服务器列表的更新的订户。
[0033] 在一个实施例中,上述方法包括:从第一服务器接收与映射到多个其它第二服务器中的剩余服务器的资源相关的请求;识别与该资源相关的剩余服务器;和,响应于该识别步骤,将该请求路由至该剩余服务器。
[0034] 在一个实施例中,上述识别与资源相关的剩余服务器的步骤包括:向函数提供资源标识符(ID)以识别该资源;和,从该函数接收模块标识符(ID)作为剩余服务器的输出。
[0035] 在一个实施例中,上述函数为哈希函数。
[0036] 在一个实施例中,上述哈希函数为一致性哈希函数。
[0037] 在一个实施例中,上述哈希函数包括:被配置成将资源标识符映射到某范围中的第一基本哈希函数;和,被配置成将模块标识符映射到该范围中的第二基本哈希函数。
[0038] 在一个实施例中,上述第二哈希函数进一步被配置为将每个模块标识符的副本映射到上述范围中。
[0039] 在一个实施例中,上述哈希函数被配置为将与某地区的资源相应的资源标识符映射成与在该地区的计算装置上执行的服务器相应的模块标识符。
[0040] 根据一个方面,提供了一种在联络中心处理拨号呼出呼叫的方法。
[0041] 根据本发明的实施例提供了一种从与在代理装置拨号的呼叫相对应的拨号串生成转换号码的方法,所述方法包括:由在计算装置上执行的服务器识别一个或多个可用的与代理装置相关的类别,每个可用类别可以是可用的障碍类别或者可用的非障碍类别,每个可用类别包含一个或多个模式;响应于拨号串与可用非障碍类别中的至少一种模式相匹配并且不与可用的障碍类别中的任何模式相匹配而转换该数字,或者响应于拨号串不与任何可用非障碍类别中的模式相匹配或者与可用障碍类别中的至少一种模式相匹配而拒绝该呼叫;其中,转换该号码的步骤包括:在公共交换电话网(PSTN)上识别一个或多个网关以将该呼叫从互联网协议(IP)网络上的起点按照规定路线路由至由该拨号串识别的目标点;计算路由该呼叫穿过每个网关的花费;识别花费最低的网关为首选网关;和,通过合并用于首选网关的标识符和拨号串以形成转换的号码。
[0042] 在一个实施例中,上述计算路由呼叫穿过每个网关的花费的步骤包括,对于每个网关执行算法,该算法接收从包含以下数量的组中选择的数量:一天中的时间,一周中的某天,网关的位置,目标点的位置,以及上述数量的组合。
[0043] 在一个实施例中,计算路由所述呼叫穿过每个网关的花费的步骤包括,对于每个网关执行算法,该算法接收从包含以下数量的组中选择的数量:网关上的负载,向该呼叫添加音频的能,向该呼叫添加视频的能力,针对该呼叫的安全平,以及上述数量的组合。
[0044] 根据一个方面,提供了一种用于分析由多个交互软件模块生成的日志文件的系统。
[0045] 根据本发明的实施例提供了一种用于分析联络中心活动的方法,包括:由多个模块在一个或多个日志文件中记录日志条目;由第一计算装置执行的解析器解析该一个或多个日志文件,以创建多个数据库条目;由分析工具执行数据库查询;和,由上述分析工具显示查询结果,其中,由上述多个模块记录多个日志条目的步骤包括:由第一模块发送事件或信息到第二模块;由该第一模块记录相应于发送所述事件或信息到第二模块的触发器条目,由所述第二模块接收该事件或信息;和,由第二模块记录相应于上述从第一模块接收事件或信息的步骤的第一处理程序条目;其中:上述事件或信息包含唯一的标识符;上述触发器条目包含唯一的标识符;以及,上述第一处理程序条目包含唯一的标识符。
[0046] 在一个实施例中,上述解析多个日志条目的步骤包括将上述触发器条目和第一处理程序条目转录成数据库中的表中的相应字段。
[0047] 在一个实施例中,上述执行数据库查询的步骤包括使用所述唯一标识符以合并包含所述触发器条目的记录和包含所述第一处理程序条目的记录。
[0048] 根据本发明的实施例提供了一种用于分析联络中心活动的方法,包括:由在第一计算装置上执行的解析器解析多个日志文件以创建多个数据库条目;所述多个日志文件中的每一个包含多个日志条目,该日志条目预先由多个模块记录;由分析工具执行数据库查询;和由分析工具显示查询结果,其中,每个日志文件包括文件名,并且对于日志条目来说上述解析多个日志文件的步骤包括:从日志条目存储作为数据库条目的字段;存储作为数据库条目的日志文件的文件名;和,存储作为数据库条目的该日志条目在日志文件中的位置,其中,上述由分析工具显示查询结果的步骤包括:在可点击链接中显示日志条目的所述字段,该可点击链接配置为经点击后所述分析工具显示所述日志条目。
[0049] 根据一个方面,提供了一种用于在联络中心布置代理保留的系统。
[0050] 根据本发明的实施例提供了一种用于保留分布式联络中心资源的方法,包括:由在计算装置上执行的第一模块为联络中心资源识别资源标识符(ID);识别与该资源相关的第二模块,其中,所述识别步骤包括:向函数提供该资源ID;和,从该函数接收模块ID作为第二模块的输出;和,根据识别的模块ID向第二模块发送用于该资源的请求。
[0051] 在一个实施例中,上述方法包括:由所述第二模块接收用于上述资源的请求;和,由所述第二模块判定是否授权用于该资源的请求。
[0052] 在一个实施例中,上述判定是否授权用于资源的请求的步骤包括:在一个时间间隔中接收用于该资源的第二请求;评估所述请求相对于该第二请求的优先级;和,根据评估的优先级授权给所述请求或所述第二请求。
[0053] 在一个实施例中,评估所述优先级的步骤包括评估所述请求的相对于所述第二请求的多个标准的多个标准,该标准是从包含以下内容的群组中选择的:呼叫者的特征,该资源对于呼叫的适用性,其它资源对该呼叫的适用性,保持时间,以及上述内容的组合。
[0054] 在一个实施例中,该请求是呼叫路由请求。
[0055] 在一个实施例中,上述方法包括,响应于所述请求的授权将呼叫路由至所述资源。
[0056] 在一个实施例中,所述资源是联络中心代理,并且所述请求为保留该代理的请求。
[0057] 在一个实施例中,第二模块用于维护与所述资源相关的状态信息。
[0058] 在一个实施例中,该函数为哈希函数。
[0059] 在一个实施例中,该哈希函数为一致性哈希函数。
[0060] 在一个实施例中,该哈希函数包括:第一基本哈希函数,所述第一哈希函数被配置为将资源标识符映射到范围中;和第二基本哈希函数,所述第二哈希函数被配置为将模块标识符映射到所述范围中。
[0061] 在一个实施例中,第二基本哈希函数进一步被配置为将每个模块标识符的副本映射到所述范围中。
[0062] 在一个实施例中,哈希函数被配置为将与在某地区的资源相应的资源标识符映射成与在该地区计算装置上执行的模块相应的模块标识符。附图说明
[0063] 本发明的上述及其它特征和有点将结合说明书权利要求书和附图得到更好的理解,其中:
[0064] 图1是根据本发明示例性实施例的服务器和代理装置与SIP群的接口层的示意图;
[0065] 图2是根据本发明的示例性实施例的数据中心和联络中心的示意图;
[0066] 图3是根据本发明示例性实施例的用于显示联络中心中示例性服务器模块的示意图;
[0067] 图4是根据本发明示例性实施例的SIP群中与特征服务器层和SIP代理层相连接的多个SIP服务器的示意图;
[0068] 图5A是根据本发明示例性实施例的将SIP服务器和DN映射到环形范围中以执行一致性哈希函数的图示;
[0069] 图5B是根据本发明示例性实施例的移除SIP服务器后图5A的示意图;
[0070] 图5C是根据本发明示例性实施例的将SIP服务器的副本映射到环形范围中的图5A图示的版本;
[0071] 图6是根据本发明示例性实施例的用于显示向SIP群中添加SIP服务器时所涉及的活动的信息时序图;
[0072] 图7是根据本发明示例性实施例的用于显示从SIP群中移除SIP服务器时所涉及的活动的信息时序图;
[0073] 图8是根据本发明示例性实施例的响应于向SIP群中添加两个SIP服务器尝试失败所涉及的活动的信息时序图;
[0074] 图9是根据本发明示例性实施例的参与呼入呼叫的代理保留的模块的示意图;
[0075] 图10是根据本发明示例性实施例的显示代理保留中涉及的活动的流程图
[0076] 图11是根据本发明示例性实施例的显示事件传递中涉及的活动的流程图;
[0077] 图12是根据本发明示例性实施例的显示日志文件的生成和分析中涉及的模块和部件的方框图
[0078] 图13是根据本发明示例性实施例的显示日志文件的生成和分析中涉及的活动的流程图;
[0079] 图14是根据本发明示例性实施例的由多个网络连接的数据中心和代理网站的示意图;和
[0080] 图15是根据本发明示例性实施例的呼叫文件和呼叫分类的示意图。

具体实施方式

[0081] 下面结合附图做出的详细描述意图说明根据本发明提出的SIP群的示例性实施例,而不是为了描述本发明可以被构建或利用的唯一形式。该描述结合所示的实施例阐述了本发明的特征。然而,应当理解,可以由不同实施例实现相同或同等功能和构建,这些也在本发明的精神和范围之内。如同本文中其它地方所说明的,相似的元件编号代表相似的元件或特征。
[0082] 图1是根据本发明一个示例性实施例的服务器和代理装置到用于支持联络中心的系统中的SIP群的接口层的示意图。该联络中心可以是服务于企业或公司的内部设施,执行与可以通过该企业获得的产品和服务相关的销售和服务功能。在另一个示例性实施例中,该联络中心可以是第三方服务提供者。该联络中心可以托管在该企业或者第三方服务提供者的设备上,和/或托管在远程计算环境中,例如,具有用于支持多个企业的多个联络中心的基础设施的私人或公共环境。
[0083] 根据一个示例性实施例,该联络中心包括可以通过电话或其它通信机制传递服务的资源(例如,雇员、计算机和通信设备)。这些服务可以根据联络中心类型进行改变,并且可以是从客户服务到帮助台、应急响应、电话营销、接收订单等类似事件的之间变动。
[0084] 在示例性实施例中,联络中心可以包括多个代理装置338,每个代理装置338被用于由代理操作,并且每个代理装置338与联络中心的服务器相连接。会话发起协议服务器(SIP服务器)(可以被称为SIP群105)可以向代理装置338提供接口层,其它联络中心模块可以通过被称为T库(T-library、TLib或者T-Lib)的接口发出请求和接收回应的方式来与SIP服务器层相连接。其它接口也可以用于联络中心内模块之间的通信,包括SIP和套接口,用以互换事件。例如,一个或多个统计服务器322可以被用于收集并维护此类动态数据作为代理可用性信息;这些统计服务器322可以为相关数据查询SIP群105,并且提供给客户端。该客户端可以是由监测联络中心操作的联络中心监管人操作的图形用户界面。包括一个或多个接口集线器120(ICON 120)的实例的报表层也可以监控该SIP服务器层并捕获与到达联络中心的呼叫相关的信息,并且存储这些信息以用于随后的分析或故障排除。其它客户端125可以与SIP群105和统计服务器322交互以提供管理、故障排除或报表功能等类似功能。
[0085] 图2描述了根据本发明示例性实施例的地理上分布式联络中心,在多个地理位置以实体存在,其可以分布在多个国家之间。某些位置(可以称为数据中心200)可以包括设备(例如,计算机、数据存储设备和连接装置)以及连接到数据中心200外部的网络(例如,公共交换电话网(PSTN)或因特网)的一个或多个外部通信连接。可以称为代理站点210的其它位置可以包括诸如计算机、数据存储设备和连接设备的设备和代理装置338(图3)、以及允许代理人员能够在代理站点210工作并使用代理装置338的设施。代理站点210主机硬件的大小可以取决于上述设施的性质和大小以及该代理站点210将要容纳的代理的数目。大型代理站点210可以承载大量的计算机、存储装置和网络资源;本地代理站点(例如,在家工作的代理的家)可以包括SIP电话或者SIP电话和计算机,或者,如果该外部通信连接是PSTN连接,计算机使用电话应用程序接口(TAPI)层运行电话软件。通过SIP服务器318(图3),例如SIP服务器进程实例,该SIP群105可以跨越运行在多个或者全部地理位置的机器上的联络中心。该SIP群105的SIP服务器318之间可以彼此通信。
[0086] 图3描述了代理站点210的示例性实施例,可以是联络中心或者是大型联络中心的一部分,希望从该联络中心得到服务的客户、潜在客户或者其他终端用户(统称为终端用户)可以通过他们的终端用户装置310a-310c(统称为310)发起入站呼叫。每个终端用户装置310可以是本领域常用的通信装置,例如,电话、无线电话、智能电话、个人计算机、电子输入板和/或者类似装置。呼叫的连接方式,以及相应的用户装置310不限于传统电话呼叫中的实时语音通信,而可以是非语音通信,包括文本、视频和类似形式,并且可以包括电子邮件或者其他非实时通信方式。因此这里所使用的术语“呼叫”不限于传统电话呼叫,而是包括联络中心可以参与的任意形式通信的广义术语。
[0087] 根据所使用的装置类型,从终端用户装置310发出的入站呼叫和传送至终端用户装置310的出站呼叫可以穿过电话、蜂窝和/或数据通信网络314。例如,通信网络314可以包括私人或者公共交换电话网络(PSTN)、局域网(LAN)、专用广域网(WAN)和/或公共广域网(例如,因特网)。该通信网络314还可以包括无线载波网,包括码分多址(CDMA)网络、全球移动通信(GSM)网络和/或本领域常用的3G或4G网络。
[0088] 根据一个示例性实施例,该联络中心包括与通信网络314相连接的网关312,用于接收和发送终端用户与联络中心之间的呼叫和/或数据。该网关312可以提供联络中心的内部网络与一个或多个外部网络之间的接口。
[0089] 该联络中心还可以包括多媒体/社交媒体服务器324(也可以称为交互服务器),用于处理与终端用户装置310和/或网站服务器332的语音交互以外的媒体交互。该媒体交互可以与,例如,电子邮件、两天、文本信息、网站、社交媒体及类似形式相关。该网站服务器332可以包括,例如,托管多种已知社交互动网站的社交互动网站,终端用户可以使用它们订制,例如,脸书、微博和类似社交互动软件。该网站服务器还可以为联络中心支持的企业提供网页。终端用户可以浏览该网页并获取与该企业的产品或服务相关的信息。该网页还可以通过,例如,网页聊天、语音呼叫、电子邮件、网页实时通信(WebRTC)或类似方式,提供联系联络中心的机制。尽管在图3中仅示出了每种服务器的一个实例,联络中心可以包含任意服务器的多个实例,并且运行多个实例有助于负载共享和提高联络中心性能。
[0090] 根据本发明的一个示例性实施例,网关312与交互式语音应答(IVR)服务器334相耦合。IVR是一种允许计算机使用语音和经由键盘输入的双音多频(DTMF)与人类交互的技术。在通讯时,IVR允许客户通过电话键盘或语音识别与联络中心交互,之后,他们可以通过与IVR的对话进行自助查询。IVR系统可以根据预先记录或者动态生成的语音进一步指引用户如何操作。IVR应用程序可用于控制几乎所有功能,其中接口可以被分解为一系列的简单交互。在一个示例性实施例中,该IVR服务器334与,例如,用于查询客户需求的IVR脚本一起配置。该IVR服务器334与,例如,用于查询客户需求的IVR脚本一起配置。例如,如果呼叫者希望得到账户结余信息,行联络中心可能通过IVR脚本告诉呼叫者“按
1”。如果是这种情况,通过连续的IVR交互,客户可以完成服务而不需要与代理对话。
[0091] 一旦合适的代理可以处理呼叫,该呼叫被转发至该相应的代理装置338a-338d(统称为338)。代理装置可以是电话或者可以是具有附加显示(例如,代理装置338c)的计算机,例如称为代理桌面的代理装置338c。收集到的与呼叫者和/或该呼叫的历史信息相关的信息也可以提供到代理装置,用以辅助该代理更好地服务于该呼叫。就此而言,每个代理装置338包括可以用于普通电话呼叫、VoIP呼叫和类似呼叫的电话。该代理装置338还可以包括计算机,该计算机用于与一个或多个联络中心服务器通信并且执行与联络中心操作相关的数据处理。选择适合于路由入站呼叫的代理可以根据,例如,路由服务器320使用的路由策略,并进一步根据与代理可用性、技能和其它路由参数(例如,由统计服务器322提供)相关的信息。SIP服务器318为代理装置338提供接口。
[0092] 多媒体/社交媒体服务器324还可以被配置为向终端用户提供用以下载到终端用户装置310的移动应用程序340。该移动应用程序340可以向用户提供可配置的设置,以显示例如,用户是否可用、或者不可用、或者该用户的可用性不可知,以便于由联络中心代理连接。
[0093] 该联络中心还可以包括报表服务器328,该报表服务器被配置为根据统计服务器322收集的数据生成报表。该报表可以包括近实时报告或与资源状态相关的历史报告,例如,平均等候时间、放弃率、代理占用以及类似信息。该报表可以自动生成或者响应于来自请求者(例如,代理/管理员、联络中心应用程序和/或类似主体)的特定请求而生成。
[0094] 为了存储例如装置特征和代理属性(例如,代理技能水平)等配置信息,该系统可以包含配置服务器342。该配置服务器342可以,例如,当系统启动时或随后生成了属性值时,为对象或进程提供该属性值。特征服务器425可以提供联络中心的多种特征(例如语音信箱和拨号规则),用于执行SIP元件的功能的SIP代理服务器346在本领域也被称为SIP注册服务器。
[0095] 根据本发明的一个示例性实施例,该联络中心还包括大容量存储装置330,用于存储与联络中心操作相关的数据,例如,与代理、客户、客户交互及类似内容相关的信息。该大容量存储装置可以采用硬盘或本领域常用的磁盘阵列的形式。
[0096] 图3中的多种服务器中的每一个可以是进程或者线程,该进程或线程运行在一个或多个计算装置上的一个或多个处理器上,该一个或多个处理器执行计算机程序指令并与其他系统部件进行交互,从而执行本文所描述的多种功能。该计算机程序指令存储在存储器中,该存储器实现为使用标准存储装置实现的计算装置,例如,随机存取存储器(RAM)。该计算机程序指令还可以存储在其它的非临时性计算机可读介质中,例如,CD-ROM、闪存驱动器或者类似介质。同样的,本领域技术人员应当理解,计算装置可以通过固件(例如,应用专用集成电路)、硬件或软件、固件和硬件的组合来实现。本领域技术人员还应当理解,多个计算装置的功能可以合并或集成在单个计算装置中,或者在不背离本发明示例性实施例的范围的情况下,特定计算装置的功能可以分配到一个或多个其他计算装置中。服务器可以是软件模块,可以简称为模块。联络中心的一组模块可以包括服务器和其它模块。
[0097] 例如,每个模块可以是线程或进程。联络中心中的模块可以通过多种方式通信,包括事件和信息。两个模块可以由点对点的套接字连接而连接,在这种情况下,每个模块都可以将事件发送到另一个模块。信息可以通过信息服务器344由一个模块发送到另一个模块,还提供了将广播信息同时发送到多个接收模块的功能。本领域已知的其它信息,在这里称为SIP信息,还可以在联络中心的模块之间以及与联络中心外部实体进行交换。
[0098] 有利的是:联络中心使用的软件和硬件为模块化的、可扩展的、大小易扩大或缩小的并且适于提供高可用性的服务。可以通过操作使用不同类型标准模块的多个副本、在启动时配置或者在运行时重新配置的模块设计来提供这些优点。可以通过增加或减少执行的模块数量来改变部署的大小,如果必要的话可以在该系统中增加处理器。例如,通过镜像模块之间的状态信息可以提供高可用性,从而使得多个模块在同一位置执行任何给定任务,若因为软件错误或者硬件故障导致一个模块无法使用,另一个模块(如果需要的话,在另一个处理器上运行)可以执行无法使用的模块的任务。通过设计原则可以达到扩展性的目的,该设计原则可以避免数据流或进程资源中的瓶颈问题,例如,避免将大容量数据路由经过单一的中央位置的设计原则。
[0099] 图4是根据本发明示例性实施例的描述多个SIP服务器318与特征服务器层和SIP代理层420一起组成SIP群。每个SIP服务器318可以包含,或包括多个模块,例如会话控制器(SC)405、交互代理(IP)410和T控制器(TC)415,其中每一个都可以作为SIP服务器进程中的一个或多个线程运行。两个附加层,SIP代理(SP)层420和特征服务器层425(FS),可以为SIP服务器318提供辅助。SIP代理层420可以包含,例如,SIP代理服务器346的实例。
[0100] 每个代理装置可以与一个或多个目录号码(DN)相关联。DN可以是在用户接口的网络端点的标识符。电话可以,例如,具有与它的电话号码相对应的DN,或者若该电话支持多条线路则可以具有多个DN,每条线路是一个DN。其它DN可以实现为IVR,或者实现为会话控制器405(这里,该DN可以被称为路由点),以便为呼叫提供暂时的保持位置。用于其它用户接口的其它标识符类型(例如,电子邮件地址或者聊天登录身份),也可以是DN。在SIP服务器318中,每个T控制器415可以(例如以监督或负责的方式)具有多个代理装置DN,其中,就此而言所有权意味着多对一的关系:在这种情况下T控制器415可以拥有多个代理装置DN并且每个代理装置DN具有一个所有者。
[0101] I.SIP群大小的动态变化
[0102] 操作中,有时向SIP群105中移除SIP服务器318或者添加SIP服务器318到该群是有益的。例如,如果SIP服务器318在其上运行的计算装置需要检修时,该SIP服务器318可以从该SIP群105中移除,该计算装置的位置可以被关闭。该计算装置可以由另一个计算装置代替,在该另一个计算装置上SIP服务器318的新的实例被启动,该新的SIP服务器被添加到SIP群105中。能够以尽量少的影响执行这些操作将是期望的。
[0103] 每个SIP服务器实例可以包含T控制器415,该T控制器415具有多个DN并且可以维护它所拥有的DN的状态信息。T控制器可以拥有多个DN,例如,4000个DN,联络中心内的DN总数可能会显著增大。对于联络中心的模块来说发起与DN的交互以识别具有该DN的T控制器可能是有益的。但是,因为所涉及的潜在大量数据以及当联络中心动态变化时(例如,当有SIP服务器318或DN被添加或移除时)保持这些数据为最新数据的花费,使得维护每个这样的模块中的完整DN所有权记录的花费是很大的。此外,任何涉及DN所有权完整记录的集中存储方案都可能产生数据流或处理瓶颈。为了减少这些缺陷,可以使用哈希函数将一组DN映射到一组SIP服务器318并且,因此,映射到具有各自DN的一组T控制器。
[0104] 有利的是:哈希函数具有可以使添加或移除SIP服务器318的损害最小的特性。当SIP服务器318被添加或者移除时,一些由该哈希函数先前映射到其它SIP服务器318上的DN可以被映射到新的SIP服务器上;相反地,当SIP服务器318被移除时,映射到该SIP服务器上的DN可以被映射到其它SIP服务器318。有利的是:新的所有权映射使得最小数目的DN改变所有者。例如,分配到将被移除的SIP服务器的DN或者被发送到将要添加的SIP服务器的DN的所有权变更可能是有益的。
[0105] 用于识别DN所有者的哈希函数可以将一组DN映射到一组SIP服务器。因为当由SIP服务器318添加或移除时,所述一组SIP服务器会发生变化,一组SIP服务器标识符(例如,分配SIP服务器318的唯一标识符)可以作为哈希函数执行时的输入。被映射到所有者的DN标识符也可以作为哈希函数的输入。通过在SIP服务器中执行T-控制器,该哈希函数的输入可能是拥有该DN的SIP服务器的标识符。
[0106] 在一个示例性实施例中,当SIP服务器318从SIP群105中移除时,它会将其状态信息和其职责(例如DN所有权)转移到另一个SIP服务器318,这样,例如,从该群中被移除的SIP服务器所拥有的DN的操作可以继续进行而不被中断。
[0107] 在一个实施例中,一致性哈希可以用于提供哈希函数以将每个DN映射至其所有者SIP服务器,这种方式使得添加或移除SIP服务器318时仅产生一点点的中断。图5A示出了描述6个DN通过一致性哈希函数映射到3个SIP服务器的布局图,图5B示出了描述6个DN通过同一个一致性哈希函数映射到2个SIP服务器的布局图。将DN标识符域映射到SIP服务器标识符范围内的哈希函数可以使用第一基本哈希函数(不必要是一致性哈希函数)构建,以将DN标识符映射到临时的范围(可以是整数范围)。第二基本哈希函数(可以是与上述第一基本哈希函数相同的哈希函数)具有相同的范围,可以用于将SIP服务器标识符映射到相同的临时范围。该临时范围可以被映射到圆环,当按照该圆环的顺时针方向进行处理时,该一致性哈希函数是当DN被映射到最近的SIP服务器的哈希点时产生的映射。在图5A描述的实施例中,在初始状态中,第一DN 805和第二DN 810被映射到第一SIP服务器815;第三DN 820、第四DN 825和第五DN 830被映射到第二SIP服务器835;第六DN 840被映射到第三SIP服务器845上。如果第二SIP服务器835被移除(图5B),第一DN 805和第二DN810仍然映射到第一SIP服务器815,因为在顺时针方向第一SIP服务器815仍然是距离它们最近的点。第二SIP服务器835移除后,第三DN 820、第四DN 825和第五DN 830被映射到第三SIP服务器。第六DN 840仍然映射到第三SIP服务器845。在这个实施例中,因为第二SIP服务器835被移除而转移到不同所有者(例如,SIP服务器)的DN是第三DN 820、第四DN 825和第五DN 830,在该第二SIP服务器835被移除后它们不能继续映射到第二SIP服务器835上。在这个实施例中,没有映射到第一SIP服务器815上的DN因为第二SIP服务器835的移除而转移到第三SIP服务器845,反之亦然。
[0108] 同样地,如果初始状态如图5B中所示,具有两个SIP服务器,第一SIP服务器815和第三SIP服务器845;最终状态是具有三个SIP服务器的图5A中的一个,然后添加一个SIP服务器——第二SIP服务器835,将再次导致三个DN的重新分布——第三DN 820、第四DN 825和第五DN 830将移动至新添加的第二SIP服务器835。
[0109] 穿过SIP服务器的DN分配的一致性可以通过将一个或多个SIP服务器标识符的副本哈希到所述范围(例如,所述圆环上)的方式进行改善。上述过程的完成可以,例如,对每个SIP服务器通过重复执行上述基本哈希函数中的一个或者另一个具有相同范围的哈希函数,每次一个,每次使用所述哈希函数上次的执行输出作为输入。每个新输出形成所述范围中添加的副本。在这个实施例中,当某SIP服务器标识符或者它的副本在所述圆环上按照顺时针方向是距离某DN标识符的哈希最近的点时,可以将该DN映射到该SIP服务器318。图5C是根据本发明的示例性实施例,示出了使用SIP服务器标识符的副本形成的映射的布局图。如果添加了第一SIP服务器815的副本850和855、第二SIP服务器835的副本860和865以及第三SIP服务器845的副本870和875,那么一致性哈希函数会通过第一SIP服务器815的副本850将第三DN 820和第四DN 825映射到该第一SIP服务器815、第一DN 805和第五DN 830映射到第二SIP服务器835(前者通过副本860)以及第二DN810和第六DN 840映射到第三SIP服务器845(前者通过副本870),例如,两个DN映射到每个SIP服务器。使用副本和提高SIP服务器中DN分布一致性的结果意味着多个SIP服务器所拥有的DN的数目相对于没有使用副本的情况更接近相同,后者的情况下,一些SIP服务器可能拥有很少的DN而一些则拥有很多。尽管在这些实施例中为描述的目的而使用了特定数目的SIP服务器和DN,当时本发明并不限于此,而是可以使用不同数目的SIP服务器和DN。
[0110] 一致性哈希在Karger,D.;Lehman,E.;Leighton,T.;Panigrahy,R.;Levine,M.;Lewin,D.(1997)的“一致性哈希与随机树:用于在万维网上环节热点的分布式缓存协议”中做了讨论。第二十九界ACM关于计算理论的研讨会的会议记录,其中的内容在本文中作为引用。
[0111] 对本领域技术人员来说显而易见的是,本发明并不限于在上述实施例中描述的一致性哈希,并且上述临时范围,例如,可以是浮点数范围,例如,或者字符串值范围。同时,显而易见的是上述临时范围到圆环的映射是概念性的设计,是为了描述到某范围的映射具有封装的特性,从而该范围内的最后一个元件被定义为与第一个元件相连接。DN可以按照逆时针方向被同等地映射到最近的SIP服务器,从而代替顺时针方向的映射。哈希函数不必要是一致性哈希函数,而可以是任何其它的具有(或不具有)产生最小中断属性的哈希函数,例如,当所该组的所有者发生变化时,被拥有的对象(例如DN)到例如所有者(例如,SIP服务器或T控制器)的重新映射最少。
[0112] 如果联络中心是按照地理分布的,那么SIP服务器实例位于在接近(例如,在同一个国家)它们通过T-控制器所拥有的DN的位置将是非常有益的。可以通过定义不同的一致性哈希函数为每个地区来完成上述分布。例如,为了确定国家A中某DN的所有者,可以执行一致性哈希函数,其输入包含与在国家A中的计算装置上执行的SIP服务器相对应的SIP服务器标识符。
[0113] 图6是根据本发明示例性实施例的用于描述将SIP服务器添加到SIP群中的信息顺序图。SIP服务器到SIP群的添加行为可以由多个动作执行。在动作905中,SIP服务器901将被添加,可以向已有SIP服务器902中的每一个发送开始信息,通知它们添加新的SIP服务器901的过程将要开始。在动作910中,每个现有SIP服务器902回应以确认开始信息。在动作915中,新的SIP服务器901可以向现有SIP服务器902发送转接请求。在动作920中,现有SIP服务器902可以向该新的SIP服务器901发送由哈希函数确定的将要被移动的DN的状态信息作为回应,该哈希函数可以与包含该新SIP服务器901的SIP服务器列表一起被执行。这些状态信息可以包括所述DN的状态,例如,所述DN是否挂机或者摘机,呼叫是否正在从所述DN拨出,或者所述DN是否处在呼叫后的工作状态,该信息可以用在当代理执行完成呼叫后的后期互动工作。在动作935中,该新的SIP服务器901可以向每个现有SIP服务器发送提交信息以完成包含新SIP服务器901的新SIP群的配置。在收到开始信息和收到提交信息之间的一段时间内,现有SIP服务器可以停止处理事件,例如,将与受影响的DN相关的事件保持。添加新SIP服务器的过程已经完成的提交信息可以通知到其他SIP服务器,其它SIP服务器将不再负责被移动的DN,并且它们可以删除这些DN的状态信息。尽管在本实施例中按照特定顺序描述了上述步骤,本发明并不限于按照此顺序排列上述动作,上述动作中的一些或者全部可以按照不同顺序排列,或者平行执行。
[0114] 图7是根据示例性实施例的用于描述从SIP群中移除SIP服务器的信息时序图。当SIP服务器1001从SIP群中移除时,它会将其所拥有的状态信息传送到该SIP群中的其它SIP服务器1002。在动作1005中,将被移除的SIP服务器1001发送开始信息到其它SIP服务器1002中的每一个,通知它们移除将被移除的SIP服务器的过程已经开始。在动作1010中,其它SIP服务器1002中的每一个回应以开始确认信息。在动作1015中,将被移除的SIP服务器发送其状态信息到其它SIP服务器,用以将每个DN的状态信息传送到将要成为该DN的所有者的SIP服务器。每个DN的新所有者被哈希函数所识别,该哈希函数与排除将被移除的SIP服务器1001的SIP服务器列表一起被执行。在动作1020中,其它SIP服务器1002中的每一个发送状态信息确认信息,确认它已经收到上述状态信息,在动作1025中,将被移除的SIP服务器发送提交信息。当将被移除的SIP服务器发送所述开始信息时,它可以停止处理事件。在开始信息和收到提交信息之间的一段时间,其它SIP服务器可以停止处理事件(例如,将所有与受影响的DN相关的事件保持)。提交信息可以通知其它SIP服务器将被移除的SIP服务器1001移除的过程已经完成,其它SIP服务器开始对所述DN负责,为上述DN维护状态信息。尽管在这个实施例中上述步骤被描述为按照特定的顺序排列,但是本发明并不限于按照上述顺序,并且上述动作中的一些或者全部可以按照不同顺序排列或者平行排列。
[0115] 图8是根据示例性实施例的描述从将两个SIP服务器添加到SIP群中的失败尝试中恢复的信息时序图。如果在很接近的时间内尝试添加另一个SIP服务器1102,那么添加SIP服务器1101的尝试可能会失败。例如,在动作1105中,第一新SIP服务器1101发送第一开始信息到现有SIP服务器1103和1104,在步骤1110中第二新SIP服务器1102发送第二开始信息到现有SIP服务器1103和1104。第一现有SIP服务器1103可能首先收到了第一开始信息,然而第二现有SIP服务器1104可能首先收到了第二开始信息。在这种情况中,第一现有SIP服务器1103向第一新SIP服务器1101回复确认信息,同时向第二新SIP服务器回复错误信息;第二新SIP服务器1104向第二新SIP 1102回复确认信息,同时向第一新SIP服务器1101回复错误信息。每个新SIP服务器1103和1104收到了答复开始信息的错误信息,向现有SIP服务器发送中止信息1120和1125,中止添加新SIP服务器的尝试。等待任意时间后,将被添加的SIP服务器可能都会开始进入SIP群的新的尝试。尽管在本发明中上述动作被描述为特定顺序,本发明并不限于上述步骤按照该顺序执行,一些或者全部动作可以按照不同顺序排列或者平行排列。
[0116] 因为可以将SIP服务器列表输入到一致性哈希函数,所以任何将执行该哈希函数的模块都会维护SIP服务器列表。当SIP服务器添加到SIP群或者从该群中移除时,将会通知保存有SIP服务器列表的配置服务器。它会以信息或事件的方式向先前注册接受SIP服务器列表更新的每个模块发送更新通知以发布该变更。这样就避免了每次执行一致性哈希函数时每个模块都需要从中央位置(例如,配置服务器)获得SIP服务器列表更新。
[0117] II.分布系统中的代理保留
[0118] 当呼叫到达联络中心时,可以收集关于该呼叫和呼叫者的信息,例如,该呼叫者在该联络中心的呼叫历史和该呼叫的呼叫目的。由模块识别目标代理(例如,适合处理该呼叫的代理),它可以将该呼叫按照规定路线路由至该目标代理可以到达的DN。为此,目标代理可以识别拥有该DN的模块,例如,拥有该DN的T-控制器,或者包括拥有该DN的T-控制器的SIP服务器。该识别步骤可以使用将DN映射到SIP服务器上的哈希函数执行。
[0119] 图9示出了在一个示例性实施例中参与处理和路由呼叫的多个模块。当呼叫到达联络中心时,该呼叫有SIP代理层处理,将它分配到第一会话控制器510。该分配步骤可以使用,例如,循环算法以会话控制器405上的负载尽可能接近平衡的方式实现。例如,通过在其中执行的线程,第一会话控制器510是第一SIP服务器515的一部分。一旦分配到第一会话控制器510,该呼叫被首先放置在第一会话控制器510的路由点上,例如,第一会话控制器510中的DN上,用于暂时保持该呼叫。路由服务器(URS)320订阅了由统计服务器322(图3)提供的满足某些标准的可用代理列表。该标准可能包括,例如,某些技能组合。
当满足所需标准的代理可用或者不可用时,统计服务器向路由服务器320发送通知,识别该代理和该代理的DN(例如,该代理登录的DN),并且指明是否该代理可用或不可用。这要求路由服务器320维护满足标准的可用代理列表以及它们各自的DN。当该呼叫到达第一会话控制器510中的路由点时,该会话控制器可以向包含路由服务器320的多个客户端发送事件(可以包含呼叫数据),以通知它们该呼叫到达。根据对该事件的接收,路由服务器可以使用该呼叫数据(可以包含IVR应答识别,例如,感兴趣的产品)从可用代理列表中选择合适的代理,例如,熟悉该产品的代理。因此,当路由服务器320选择目标代理和尝试将该呼叫路由到的DN时,执行路由服务器320的计算装置识别合适的资源(例如,代理和DN)以处理该呼叫。
[0120] 在被称为涉及隐式代理保留的实施例中,一旦路由服务器320选择用于路由呼叫的目标DN 530之后,该路由服务器320向第一会话控制器510(图9中的“会话控制器2”)发送与隐式代理保留请求一起的路由请求,指示第一会话控制器510尝试将该呼叫路由至目标DN 530(图9中的“DN 1”)。在SIP服务器535中,目标DN 530可能由T-控制器525拥有,但是第一会话控制510可能没有目标DN 530的位置信息,例如,在路由请求中它可能收到了目标DN 530的标识符,但是它没有拥有该目标DN 530的T-控制器的标识符或者包含该T-控制器的SIP服务器的标识符。根据一个实施例,对负责目标DN 530的SIP服务器535的识别是根据哈希函数,其中,该哈希函数是由分配到该呼叫的第一会话控制器510执行的。根据一个实施例,该哈希函数将输入DN映射到SIP服务器535的唯一标识符,其中,SIP服务器535包含拥有所述输入DN(例如,目标DN 530)的T-控制器525.[0121] 在图示的实施例中,由路由服务器识别的第一会话控制器510被配置为使用作为输入的目标DN 530执行哈希函数,并且根据该哈希函数识别第二会话控制器520,根据本实施例,第二会话控制520拥有目标DN 530。一旦识别出该所有者,第一会话控制器510向第二会话控制器520发送代理保留请求。在另一个实施例中,T-控制器可以代替执行这些功能中的一部分:第一会话控制器510向T-控制器505发送代理保留请求,其中,T-控制器与第一会话控制器510在同一个SIP服务器515中。由路由服务器320识别的T-控制器505配置为使用作为输入的目标DN 530执行哈希函数,并且根据该哈希函数识别T-控制器525,根据本实施例,T-控制器525拥有该目标DN 530。一旦识别出该所有者,T-控制器505向拥有目标DN 530的T-控制器525发送代理保留请求。
[0122] 在图示的实施例中,在第二SIP服务器535中执行的T-控制器525收到该代理保留请求,并且相应地,执行T-控制器525的计算装置收到该请求。这里所用的术语中,所述计算装置用于接收所述请求,无论该请求是否源自在不同计算装置或相同计算装置上执行的线程或进程。
[0123] 当T-控制器525接收代理保留请求时,它可以以允许保留或者拒绝保留作为呼应。如果该请求被准予,第一会话控制器510可以将该呼叫转发至该代理的DN 530;如果该呼叫被拒绝,第一会话控制器510可以通知该路由服务器320,然后,路由服务器320可以创建新的请求到统计服务器322,用于可选代理来处理该呼叫。
[0124] 图10是根据本发明一个实施例的用于分布式代理保留的进程的流程图。在步骤610中,在计算装置上执行的路由服务器320识别适于处理由第一会话控制器510保持的呼叫的资源(例如,代理),并且向第一会话控制器510发送该信息。在步骤620中,第一会话控制器510执行哈希函数以识别负责该资源的SIP服务器,并且在步骤630中,第一会话控制器510向所识别的SIP服务器中的T-控制器发送代理保留请求。在步骤640中,T-控制器接收该请求。在步骤645中,T-控制器执行保留仲裁,如下文所述,并且在步骤650中,判断准予或者拒绝该请求。在一个实施例中,该保留仲裁由T-控制器中的代理保留模块执行。如果该请求被准予,第一会话控制器510将该呼叫路由至步骤660中;否则,该进程重新开始,路由服务器320识别替换资源。如上所述,在一个实施例中,一些步骤(例如,执行哈希函数的步骤)由其它模块执行(例如,T-控制器)。尽管在本实施例中上述步骤以特定顺序被描述,但是本发明并不限于按照此顺序排列上述步骤,某些或者全部步骤可以以不同顺序排列或者并行排列。
[0125] 如果该DN已经被保留,例如,另一个路由服务器已经发送代理保留请求(该请求已被准予),那么该T-控制器会拒绝该代理保留请求。如果该T-控制器525还没有准予代理保留请求,该T-控制器525可以采用仲裁程序判断是否准予或者拒绝该请求。在一个示例性实施例中,该T-控制器525等待一段时间,如果有其它与其它呼叫相对应的代理保留请求到达,则准予具有,例如,最高优先级的代理保留请求,并且拒绝其它的请求。如果多个代理保留请求具有相同的优先级,T-控制器525可以随机地选择一个以准予,并且拒绝其它代理保留请求。代理保留请求的优先级可以由路由服务器320使用考虑多种条件的算法进行评估,其中,所述条件包括,例如,该呼叫者的特征,例如,该呼叫者的价值(例如该呼叫者是否可能成为该企业重要的收入来源)、保持时间(例如,呼叫者等候与代理对话的时长)、代理对该呼叫的适宜性和/或其它代理对该呼叫的适宜性。例如,如果该呼叫者需要关于特定产品的帮助并且该代理是少数熟悉该产品的代理之一,那么该请求将被赋予更高的优先级。然后,该路由服务器将与代理保留请求一起发送该呼叫的优先级的评估。在一个实施例中,该保留仲裁是由T-控制器中的代理保留模块执行的。
[0126] 路由服务器320之间可以关于呼叫路由和/或根据其作出的代理选择彼此通信,从而减少两个路由320尝试路由不同的呼叫到相同的代理的可能性。这一机制并不简单,但是,部分因为路由服务器320可以在不同计算装置上执行,从而导致通信延迟。代理保留模块作为代理和DN的中央仲裁器,使得多个路由服务器320可以获得可靠的准予或者拒绝代理保留请求的响应成为可能。
[0127] 在一个示例性实施例中,第一会话控制器510可以通过向第一会话控制器510发送没有嵌入到路由请求中的代理保留请求而创建明确的代理保留请求。第二会话标识符510可以执行哈希函数以识别第二会话标识符520,发送该代理保留请求到第二会话标识符520,并且,无论该代理保留请求是否被准予,向路由服务器320发送回复以显示该代理保留请求是否被准予。如果该代理保留请求被准予,该路由服务器发送路由请求到第一会话控制器510,用以将该呼叫按照规定路线路由至拥有目标DN 530的T-控制器520。
[0128] 尽管这里所描述的代理与单个DN相关联,但是本发明并不限于此,该保留逻辑可以扩展为包括代理可以登录到或者连接到多于一个DN的配置。
[0129] 如本发明的模块化方法提供了很多优点,包括可扩展性(例如,扩大实现的规模而不被性能瓶颈束缚的能力)和恢复力(例如,快速调整系统而不被某元件故障影响的能力)。
[0130] III.分布式系统中将事件传送至代理
[0131] 如果该代理保留请求被准予,除了将该呼叫路由到目标DN 530,第一会话控制器510还可以生成诸如振铃事件的事件,使得目标代理530振铃,或者生成平面弹出事件,使得与该呼叫相关的信息可以例如以屏幕弹出的形式被该代理获得。如同代理保留请求,该事件被路由到T-控制器,T-控制器拥有显示弹出屏幕的代理装置。该T-控制器可以是拥有该目标DN 530的T-控制器525:在一个示例性实施例中,例如,该代理装置为包含显示特性和电话功能的集成器件,并且该代理装置具有单个的DN。为了将屏幕弹出事件路由至目标装置,第一会话控制器510执行哈希函数,输入DN作为参数并且接受标识符作为输出(例如,唯一字符串),从而识别包含拥有代理装置的T-控制器525的SIP服务器。在这种情况下,代理装置为资源的另一个实例。然后,第一会话控制器510将该事件分配到T-控制器525并进一步传送到代理装置,使得该代理装置回应该事件,例如,响应于振铃事件,通过生成振铃报警向该代理提供输出,或者响应于屏幕弹出事件显示弹出屏幕。
[0132] 图11是根据一个实施例的分布式事件传递进程的流程图。在步骤710中,执行第一会话控制器510的计算装置生成时间,该计算装置根据步骤720中执行哈希函数再次通过第一会话控制器510的执行识别该事件将要传递到的SIP服务器。在步骤730中,第一会话控制器510将该事件发送到该事件将要被传递到的SIP服务器中的T-控制器,步骤740中该T-控制器接收该事件,并且在步骤750中该代理装置为该代理生成输出,例如,振铃警告,或者屏幕弹出。尽管在本实施例上述步骤按照特定顺序进行描述,但是本发明并不限于按照此顺序排列上述步骤,某些或者全部步骤可以以不同顺序排列或者平行排列。
[0133] III.分布式系统中日志文件的分析
[0134] 在操作时,联络中心内的多种模块中执行的线程可以生成这些操作的某方面的记录(可以称为日志文件)。例如,线程可以记录其发送到另一线程的或者它从另一线程接收的每条信息或事件。操作过程中,每个线程写入单独的日志文件。有时,审查或者分析这些日志文件是非常有用的,可以评估该联络中心的性能或者诊断异常或者错误活动。日志文件可能会很大,但是,对于特定的审查,对于日志文件中的某些信息可能没有多大兴趣。另外,作为模块交互,与这些交互相关的日志条目可能记录在不同日志文件中。这里将使用一种系统地识别、分类和显示日志文件中的相关信息的工具。
[0135] 图12是根据本发明示例性实施例的由模块415、405和1215的方框图,所述模块生成被日志解析器1215解析到数据库1220并由客户端1230查询的日志文件1210。日志分析工具可以在两个阶段操作,第一阶段称为解析阶段,第二阶段称为查询阶段。这些阶段可以被顺序地重复。在一个实施例中,在操作过程中,一个或多个日志文件1210由,例如,T-控制器415、会话控制器405和SIP代理服务器1210写入。日志文件还可以由其它类型的模块写入,包括统计服务器322、路由服务器320或者ICON120。分析操作开始时,该兴趣日志文件被放入可以从计算机访问的一个目录或者文件夹中。在解析阶段,一个或多个日志文件被日志解析器1215阅读,他们的内容被写入到数据库1220中的表。该数据库1220可以包括每个线程的专用表。某些字段,称为基本字段,可以在数据库1220的每个表中被显示;其它字段可以在一些表中显示并且对于某些线程来说可能不具有有意义的值。基本字段的实例可以包括每个日志条目的时间标识、每个日志条目在日志文件中的位置以及该日志文件的文件名称。
[0136] 其它基本字段可以包括,用于T-库信息的DN号码和连接ID、该连接的唯一标识符和,用于SIP信息的包括如下本领域技术人员所熟知的字段标识符:呼叫ID、请求序列号、信息类型、到URI、开始URI、经由、振铃指示(最高)、经由分支、请求URI、目标IP、目的端口、资源IP和资源端口。
[0137] 在一个示例性实施例中,每个线程被配置为记录作为触发器的日志条目,当它向另一个线程发送事件或信息时,响应于该发送操作,期望接收方线程做出一些活动。该触发器具有唯一的标识符,该标识符作为信息或事件的一部分发送。然后,接收线程在它的日志文件中记录日志条目,当它开始,例如,响应于所述信息和时间的处理时日志条目被称为处理程序,并且当它完成该信息或事件的处理后记录另一个处理程序。每个处理程序日志条目包含显示在触发器日志条目中的相同的唯一标识符,并且上述两个处理程序提供了接收线程的处理上述信息和事件时创建日志条目的日志文件的开始和结束范围。显示在触发器或处理程序信息中的唯一标识符也是基本字段,显示在所有数据库的可以记录触发器和处理程序的线程的表中。
[0138] 例如,在分析会话中,在一个时间段中生成的日志文件可以收集在一个目录中。这些日志文件可以包括由SIP服务器318生成的文件,例如,每个在SIP服务器实例中执行的各个线程的一个日志文件、路由服务器320的日志文件、统计服务器322的日志文件、SIP代理服务器346的日志文件和特征服务器425的日志文件。分析工具希望查看涉及特定线程的活动,例如,在会话控制器405上执行的名为TServer的线程,而该线程也是SIP服务器进程的一部分。该分析工具可以运行日志解析器以选择与TServer线程相关的日志文件,并且该日志解析器可以被配置为将每个条目转录到数据库,解析每个条目以提取兴趣字段,例如基本字段和由解析器识别的该种类型日志文件的其它字段。
[0139] 在查询阶段,数据库使用称为前端的客户端,然后,分析工具可以,例如,执行请求与特定呼叫电话号码(例如,被报告连接问题的电话号码)相关的活动的查询。该前端可以包括用户接口,该用户接口适合于接收输入(例如,用户的鼠标点击)以及适合于向用户显示结果。该查询可以显示来自这个号码的呼叫被TServer线程接收到,但是该呼叫没有被应答,例如,该呼叫触发了SIP服务器层的交互但是没有触发任何结果。
[0140] 会话控制器405可以包括两个线程,TServer线程和呼叫管理员线程,后者负责SIP信息传递。为了进一步研究未接来电的原因,该分析工具可以调用日志分析器来分析呼叫管理员线程的日志文件,并且执行查询,以从两个线程按照例如时间顺序显示T-库信息和SIP信息。用户接口模块可以以用户可读形式显示每个查询的结果。因为日志文件名称和日志条目在日志文件中的位置都是数据库1220的每个表中的基本字段,该用户接口可以向用户提供通过点击用户接口中的数据项打开最初检索到该数据项的日志文件的功能,并且在日志文件中突出显示相应的日志条目。使用该日志文件名和每个日志条目在日志文件中的位置,该查询还可以显示,例如,查询结果旁边的单个相邻窗格或窗口中的获得这些查询结果的日志文件条目,并且这些日志文件中的每一个都可以被点击,例如,点击该日志文件可以打开查看器,允许用户查看包含条目的日志文件的条目内容,例如,加亮的条目。例如,在相邻窗格或窗口内,前端可以显示按照时间顺序排列的一系列日志文件条目,显示例如对应于从一个模块的信息发送的日志文件条目,其次是从不同日志文件获得的对应于由另一个模块接收的信息的日志文件条目,再次是由第二模块处理该信息过程中所执行的活动的日志文件信息。
[0141] 图13是根据示例性实施例的描述设计日志文件分析的活动的流程图。在步骤1310中,日志文件由系统中的每个线程写入。在步骤1320中,该日志文件的子集由日志解析器解析。在步骤1330中,该日志解析器将每个日志文件条目中的每个兴趣字段值写入数据库中的相应表的相应字段。在步骤1340中,前端执行用户选择的或用户生成的数据库查询,并且,在步骤1350中,用户接口显示出结果。尽管在本实施例中上述步骤被描述为特定顺序,但是本发明并不限于将上述步骤按照该顺序排列,一些或者全部步骤可以按照不同顺序排列或者并行排列。
[0142] IV.拨出呼叫的拨号规划
[0143] 有时代理可能需要代理从代理装置进行出站呼叫,例如,到另外一个联络中心代理或者要求回叫的客户。在这种情况下,特征服务器425(图4)提供一种拨号规划以支持连接该呼叫的过程。图14示出了地理上分布式联络中的示意图,包括两个数据中心200,一个在纽约,一个在伦敦,并且它包括5个代理站点210,位于戴利城、洛帕克、纽约、伦敦和巴黎。
[0144] 图15描述了呼叫文件、类别、和模式,其可以在一个示例性实施例中被用来实现拨号规划。代理可以拨号称为拨号串的数字序列,特征服务器425可以根据一组类别(每个类别包含一个或多个模式)对其分类。例如,第一类别1505可以包括内部号码,例如,联络中心内与终点相对应的号码,其可以是表现为“XXXXX”符号模式匹配的5个数字的分机号码,其中,符号“X”表示该拨号串中的位置,任何数字构成都可以与之匹配。第二类别1510可以包括由“9911”和“911”两种模式表示的紧急号码。第三类别1515可以包括本地外部号码,第四类别1520可以包括外部国内号码,第五类别1525可以包括外部国际号码,第六类别1530可以包括障碍号码。障碍号码可以包括,例如,“900”区号的号码,这类号码将在主叫方收取附加费用。
[0145] 创建出站呼叫的每个代理装置可以配置一个或多个呼叫文件,每个呼叫文件是可用类别的列表,例如,可用于匹配的类别。每个类别可以包含一组模式。该呼叫文件可以用于限制代理装置设置呼出通话的能力。当在代理装置拨号一系列数字时,例如,所拨号串,将根据包含在所述文件中的每种类别(例如,每种可用类别)的每种模式进行检测,以确定该拨号串是否与上述类别中的任何模式相匹配。如果该拨号串不能与呼叫文件中的类别的任何模式相匹配,或者与障碍类别中的任何模式相匹配,则该呼叫将被拒绝,并且该代理装置将生产错误语音以提示该呼叫被拒绝。
[0146] 例如,可以作为本地呼叫文件的第一呼叫文件1535可以包括第一类别1505、第二类别1510和第三类别1515。从配置为第一呼叫文件的代理装置发出的任何呼叫尝试都将被拒绝,除非该呼叫串与第一类别、第二类别或者第三类别中的模式相匹配,例如,除非该呼叫为内部呼叫、紧急号码呼叫或者本地外部号码呼叫。在这种情况下,包含障碍号码“900”模式的第六类别范围内和范围外的号码都没有任何影响,因为以“9-1-900”开始并附随7个其它数字的号码在任何情况下都不与呼叫文件内的类别的任何模式匹配。第二呼叫文件1540可以包括第一类别1505、第二类别1510、第三类别1515、第四类别1520和第六类别1530,配置为第二呼叫文件1540的代理装置可以向内部号码、紧急号码、本地外部号码和国内外部号码发起呼叫。不能拨号国际呼叫,因为拨号国际号码的尝试会使得拨号串不能与与上述呼叫文件相关的类别中的任何模式匹配,同时,拨号“900”号码的尝试也会失败,因为它与障碍第六类别1530匹配。对不同代理站点210呼叫文件的定义可能不同,所以,例如,戴利城代理站点210的本地呼叫文件的定义与门洛帕克代理站点210的本地呼叫文件的定义不同。对于不同代理站点210,类别的定义同样也是不同的。
[0147] 如果所拨号串与多于一个的类别相匹配,则将使用被称为权重的等级以识别与所拨号串最相匹配的类别和模式。在一个示例性实施例中,该权重的计算如下文所述。首先,选择拨号串的最大长度,该长度至少是预期拨号串的最长长度。为最大拨号串设定的初始权重为字符串长度乘以10。然后,对于模式内的每一个数字元素,权重按照数字的位数减少,排除可能出现的10(在从“0”到“9”的范围范围内)与数字元素匹配。这样,数字元素是与拨号串的一个数字相对应的模式的元素;该元素与该数字的一系列可能数值相匹配。例如,在一个符号中字符“X”匹配任何数值,“Z”与“0”以外的任何数值匹配,并且可以在方括号内制定范围,所以“[2-9]”与“2”到“9”之间的任意数值匹配。使用这种算法和最大拨号串长度100,例如“9[2-9]XX XXXX”的模式具有初始权重1000(例如,100x10),然后下降1(因为初始值“9”与一个数字匹配),然后下降8(因为数字元素“[2-9]”与8个可能的数字匹配),然后下降60(因为6个“X”数字元素,每个可以与10个可能的数字匹配,产生权重931。在一个符号中,“*”可以与具有任意数值的任意数字的号码相匹配,使得例如“9*”可以与以“9”为开头的任意拨号串相匹配。这种模式的权重可以被计算为,假定该拨号串具有最大长度,从而,对于最大拨号长度100,权重是9。在这种情况中,权重是从初始权重1000(例如,100x10)开始计算,下降1(因为初始字符是:“9”),然后下降990(因为剩下的99个符号“*”,每个可以与10个可能的数字匹配)。尽管这里描述了用于计算模式权重的算法的特定实例,本发明并不限于此,其它算法也可以用于判定模式权重。在一个实施例中,可以使用一种将模式和拨号串同时作为输入的算法来判定模式的权重。
[0148] 一旦拨号串与一个或者多个类别匹配并且确定了最佳匹配类别,例如,具有最高权重的类别或者任何障碍类别,该拨号串被转换为转换字符串,包括路由信息和端点标识符。例如,如果该拨号串为国内外部号码,该呼叫可以部分方通过符合互联网协议(IP)网络路由至它的目的地,通过网关312到PSTN网络,并从那里到达目标号码。PSTN运营商可能会向使用PSTN网络收取费用,收取的金额(例如,联络中心操作者成本)可以取决于多种因素,包括一天中的时间段、一周中的某天以及网关和目标号码的位置。不同的网关312可能由不同的PSTN运营商提供服务,并且可以在网关312使用多个PSTN供应商。可能影响呼叫费用的一天中的时间段可能取决于网关设置位置所在的时区。
[0149] 在一个示例性实施例中,特征服务器425(图4)维护一组网关312上的状态信息,包括,例如,网关312是否可操作以及它的备用容量。当转换终点在联络中心外部的拨号串时,特征服务器425首先识别可用的网关312,例如,可操作且具有处理附加呼叫的能力的网关,然后它会估算使用每个可用网关路由该呼叫的成本,成本计算考虑:网关可用供应商、一天中的时间段、一周中的某天、网关312所在的时区以及任何其它因素,例如网关312到目标号码位置的距离。然后,特征服务器425选择花费最后的选项并且据此转换所述号码。
[0150] 转换程序的输出是称为转换号码的字符串,包括目标号码的标识符,例如,号码E.164及其它标识到PSTN的路由的符号。例如,如果特征服务器425判断最好通过有字符串“NY1”标识的纽约网关路由该呼叫,则该特征服务器425可以从拨号串例如“212 5551234”形成转换号码“NY1 212 555 1234”。
[0151] 尽管在这里对SIP群的示例性实施例做了具体描述和说明,但是对本领域技术人员来说很多修改和变化都是显而易见的。因此,应当理解,根据本发明原则创建的SIP群可以是本文所做的具体描述以外的实例。例如,本发明的使用并不限于联络中心,它可以在其它应用中产生效益,例如,为其它目的的企业通信系统。本发明还定义在权利要求及同等项中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈