基于事件的多协议通信会话分发的制作方法

文档序号:21000844发布日期:2020-06-05 22:40阅读:150来源:国知局
基于事件的多协议通信会话分发的制作方法

相关申请的交叉引用

本申请要求于2018年11月29日提交的标题为“event-basedmultiprotocolcalldistribution”美国临时申请序列no.62/773107的权益,该临时申请通过引用整体并入本文。

本公开总体上涉及通信系统,并且特别地涉及多协议环境中通信系统的分发。



背景技术:

在大型基于云的软件即服务(saas)通信解决方案中,希望能够为给定个体支持多个注册端点。此外,还希望支持针对大量的个体、使用不同协议彼此通信的端点。当前由于大量的通信端点和协议而出现的问题之一是难以有效地扩展saas服务。



技术实现要素:

这些和其它需求通过本公开的各种实施例和配置来解决。为了允许支持不同协议的多个通信端点进行通信,协议特定的消息(例如,sipinvite消息)被转换成协议中立(protocolneutral)的消息。例如,sipinvite消息被转换成对于通信会话消息的协议中立的请求,并被发送到协议中立总线。总线将该消息传递给会话处理引擎,然后会话处理引擎将一条或多条规则应用于对于第一通信会话消息的协议中立的请求。规则用于将通信应用逻辑应用于第一通信会话消息,然后为通信会话消息生成第一提议(offer)。该消息被发布到协议中立总线。支持一个或多个协议的一个或多个边缘服务器可以接收该第一提议消息。协议中立的消息被该消息的每个边缘服务器接收者转换成协议特定的消息(例如,在不同的协议中),并且然后被发送到一个或多个通信端点。这允许解决方案支持使用多种协议的多个通信端点。

短语“至少一个”、“一个或多个”、“或”和“和/或”是在操作中既连接又拆分的开放式表达。例如,表达“a、b和c中的至少一个”、“a、b或c中的至少一个”、“a、b和c中的一个或多个”、“a、b或c中的一个或多个”、“a、b和/或c”以及“a、b或c”中的每一个意味着仅a、仅b、仅c、a和b一起、a和c一起、b和c一起或者a、b和c一起。

术语“一个”实体是指该实体的一个或多个。由此,术语“一个”、“一个或多个”和“至少一个”在本文中可以互换使用。还应当注意的是,术语“包括”、“包含”和“具有”可以互换使用。

如本文中所使用的,术语“自动”及其变型是指通常连续或半连续的、当处理或操作被执行时无需实质性的人类输入就完成的任何处理或操作。但是,即使处理或操作的执行使用了实质性或非实质性的人类输入,如果该输入是在执行处理或操作之前接收到的,那么该处理或操作也可以是自动的。如果人类输入影响处理或操作将如何执行,那么这种输入被认为是实质性的。同意处理或操作的执行的人类输入不被认为是“实质性的”。

本公开的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者组合软件和硬件方面的实施例的形式,这些在本文中全都可以一般地称为“电路”、“模块”或“系统”。可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。

计算机可读存储介质可以是例如但不限于电子的、磁的、光学的、电磁的、红外的或半导体的系统、装置或设备,或前述的任意合适组合。计算机可读存储介质的更具体的示例(非穷举列表)将包括以下:具有一根或多根导线的电连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备,或前述的任意合适组合。在本文档的上下文中,计算机可读存储介质可以是可包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。

计算机可读信号介质可以包括其中含有计算机可读程序代码的传播数据信号(例如,在基带中或者作为载波一部分)。这种传播信号可以采用多种形式中的任意一种,包括但不限于电磁信号、光信号或其任意合适组合。计算机可读信号介质可以是不属于计算机可读存储介质并且可以传送、传播或传输由指令执行系统、装置或设备使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上含有的程序代码可以使用任何适当的介质来发送,包括但不限于无线、有线、光缆、rf等,或前述的任意合适组合。

如本文所使用的,术语“确定”、“计算”及其变型可互换地使用,并且包括任何类型的方法、处理、数学运算或技术。

如本文所使用的,术语“会话发起协议”(sip)是指ietf定义的、广泛用于控制多媒体通信会话(诸如通过互联网协议(ip)的语音和视频呼叫)的信令协议。该协议可以用于创建、修改和终止由一个或几个媒体流组成的双方(单播)或多方(多播)会话。修改可以涉及改变地址或端口、邀请更多的参与者、以及添加或删除媒体流。其它可行的应用示例包括视频会议、流传输多媒体分发、即时消息、存在(presence)信息、文件传输和在线游戏。sip在rfc3261中得到描述,可从互联网工程任务组(ietf)网络工作组,2000年11月获得;该文档和描述sip的所有其它siprfc在本文通过引用针对其所教导的所有内容整体并入。

在本文档中,根据当前的sip标准正在使用已定义的sip消息(例如,sipinvite、具有替换报头的sipinvite、sipjoin、sipregister、sip200ok、sipsubscribe、sipnotify等)的用途。因此,sip领域的技术人员将清楚地理解,不同的定义的sip消息不能彼此自由交换,因为这会违反当前的sip标准。例如,不能将sipinvite(用于建立通信会话)替换为带有替换报头消息的sipinvite(用于在sip通信会话中替换对话框(即,呼叫支路)),因为根据sip标准,这些消息是为不同目的设计的。

如本文和权利要求书中所述,“协议特定”是指用于建立通信会话/媒体信道的协议,其中通常涉及至少一个用户通信端点。例如,用户通信会话可以是语音通信会话(即,语音呼叫)、视频通信会话、多媒体通信会话、虚拟现实通信会话、即时消息传送(im)通信会话、电子邮件通信会话、文本消息传送通信会话、文件传输等。“协议特定”的消息可以使用协议,诸如sip、webrtc、超文本传输(http)、h.323、视频通信协议、im通信协议、文件传输协议(ftp)、简单邮件传输协议(smtp)和/或短消息服务(smp)等。例如,协议特定的消息可以是sipinvite消息、ftp消息、h.323开放逻辑信道(olc)消息、h.264消息、会话描述协议(sdp)消息等。

如本文和权利要求书中所述,“协议”不是指低层协议,诸如,物理层协议(例如,蓝牙、以太网等)、数据链路层协议(例如,802.3、802.11等)、网络层协议(例如,互联网协议(ip)等)、传输层协议(例如,用户数据报协议、传输控制协议(tcp)、加密协议、压缩协议等)。

如本文所述,“协议中立”是指不识别“协议特定”的消息(即,与协议无关),而是一般地识别诸如请求建立通信会话之类的特定功能的消息。因此,可以使用“协议中立”消息来表示不同协议中的多个消息。例如,可以适当地在sipinvite消息、h.323开放逻辑信道(olc)消息等中发送通信请求消息。

如本文所使用的,术语“单元”将根据35u.s.c.第112(f)节和/或第112节第6段给予其最宽泛可能的解释。因而,包含术语“单元”的权利要求应覆盖本文阐述的所有结构、材料或动作及其所有等同物。另外,结构、材料或动作及其等同物应包括发明内容、附图说明、具体实施方式、说明书摘要和权利要求本身中描述的所有内容。

前面是提供对本公开的一些方面的理解的简化概要。这个概要既不是对本公开及其各种实施例的广泛的概述也不是穷举的概述。它既不旨在识别本公开的关键性或决定性要素,也不旨在描绘本公开的范围,而是以简化的形式呈现本公开的选定概念作为对下面呈现的更详细描述的介绍。如将认识到的,本公开的其它实施例有可能单独或组合地使用一个或多个上面阐述或下面详细描述的特征。而且,虽然本公开是以示例性实施例的形式呈现的,但应当认识到的是,本公开的各个方面可以分别要求保护。

附图说明

图1是用于基于事件的多协议通信会话分发的第一例示性系统的框图。

图2是边缘服务器的订阅处理的流程图。

图3是用于基于事件的多协议通信会话分发的处理的流程图。

图4是用于其中使用组和/或呼叫分叉(callforking)的基于事件的多协议通信会话分发的处理的流程图。

图5是用于应用规则来分发多协议通信会话的处理的流程图。

具体实施方式

图1是用于基于事件的多协议通信会话分发的第一例示性系统100的框图。第一例示性系统100包括通信端点101a-101n、网络110a-110b、协议中立总线120、会话处理引擎124和边缘服务器130a-130n。

通信端点101a-101n可以是或可以包括能在网络110上通信的任何通信端点设备,诸如个人计算机(pc)、电话、视频系统、语音会议系统、蜂窝电话、个人数字助理(pda)、平板设备、笔记本设备、web服务器、媒体服务器和/或智能电话等。通信端点101a-101n是通信会话结束的设备。通信端点101a-101n不是促进和/或中继网络中的通信会话的网络元件,诸如通信管理器或路由器。如图1中所示,任意数量的通信端点101a-101n可以连接到网络110。

网络110a-110b可以是或可以包括能发送和接收电子通信的任何通信装备集合,诸如互联网、广域网(wan)、局域网(lan)、ip网络上的语音(voip)、公共交换电话网(pstn)、分组交换网络、电路交换网络、蜂窝网络、这些的组合,等等。网络110a-110b可以使用各种电子协议,诸如以太网、互联网协议(ip)、会话发起协议(sip)、综合业务数字网(isdn)、h.323、webrtc、超文本传输协议(http)、视频协议、即时消息传送(im)协议、电子邮件协议、文本消息传送协议、文件传输协议等。因此,网络110a-110b是被配置为经由分组和/或电路交换通信来携带消息的电子通信网络。

协议中立总线120可以是或可以包括与能在边缘服务器130a-130n之间代理事件/消息的固件/软件耦合的任何硬件。例如,协议中立总线120可以是java消息服务(jms)、apachekafka服务等。协议中立总线120是能在边缘服务器130a-130n之间传递不同事件/消息而无需必须知道事件/消息的底层协议的事件服务。协议中立总线120还包括事件代理121和订阅管理器123。

事件代理121可以是或可以包括与能管理边缘服务器130a-130n之间的协议中立的事件/消息的代理的固件/软件耦合的任何硬件。事件代理121与订阅管理器123协力工作以代理边缘服务器130a-130n之间的协议中立的事件/消息。

订阅管理器123可以是或者可以包括允许边缘服务器130a-130n订阅事件代理121的事件的任何软件。订阅管理器123可以从边缘服务器130接收要被通知特定事件的订阅消息。例如,边缘服务器130a可以使用订阅管理器123来订阅接收对于具有特定的统一资源标识符(uri)的所有通信会话的请求。

会话处理引擎124可以是或可以包括能管理从事件代理121接收到的事件并且然后应用规则122以便确定如何管理与通信会话相关联的事件的任何软件。例如,会话处理引擎124可以使用不同的规则122来使事件/消息被发送到特定的边缘服务器130。虽然会话处理引擎124被示为单个元件,但是会话处理引擎124可以是分布式的。例如,会话处理引擎124可以分布在网络110b中的不同元件之间。

规则122可以是或可以包括管理通信会话和相关联的信息的任何规则122。规则122可以是全局规则。例如,规则122可以是公司或企业的规则。规则122可以包括用于特定用户、特定通信端点101和/或特定组(例如,工程组)等的规则。在一个实施例中,规则122可以是分布式的。例如,公司/企业规则122可以驻留在协议中立总线120中,并且用于各个用户/通信端点101的规则122可以驻留在一个或多个边缘服务器130中。规则122可以以协议中立的方式被应用。

边缘服务器130a-130n可以是或可以包括与能发送/接收协议特定的消息并且然后将消息作为协议中立的消息发送到协议中立总线120/从协议中立总线120接收的固件/软件耦合的任何硬件。在图1中,边缘服务器130a支持协议a,并且边缘服务器130n支持协议n。例如,边缘服务器130a可以支持sip,并且边缘服务器130n可以支持h.323。

在图1中,边缘服务器130a-130n被示为仅支持单个协议。但是,在一个实施例中,边缘服务器130a-130n中的一个或多个可以支持多个协议。例如,边缘服务器130a可以支持sip和sdp两者。

每个边缘服务器130a-130n支持一个或多个通信端点101。通信端点101可以基于特定协议向边缘服务器130注册。例如,通信端点101a-101b(sip通信端点)可以向边缘服务器130a(sip边缘服务器)注册,并且通信端点101n(h.323通信端点)可以向边缘服务器130n(h.323边缘服务器)注册。

图2是边缘服务器130的订阅处理的流程图。作为例示,通信端点101a-101n、协议中立总线120、事件代理121、订阅管理器123、会话处理引擎124和边缘服务器130a-130n是由存储的程序控制的实体,诸如计算机或微处理器,其通过执行存储在诸如存储器(即,计算机存储器、硬盘等)之类的计算机可读存储介质中的程序指令来执行图2-5的方法和本文描述的处理。虽然图2-5中描述的方法以特定顺序示出,但是本领域的技术人员将认识到,图2-5中的步骤可以以不同顺序实现和/或在多线程环境中实现。而且,可以基于实现方式来省略或添加各种步骤。

图2的处理允许边缘服务器130订阅从协议中立总线120接收协议中立的事件/消息。当发起通信会话时(例如,通过通信端点101a发送sipinvite消息),边缘服务器130a(在这个示例中为sip边缘服务器130a)将sipinvite(协议特定的消息)转换成被发送到协议中立总线120的协议中立的消息(对于通信会话消息的请求)。图2中描述的订阅处理允许事件代理121能够将对于通信会话消息的提议发送到已经订阅了接收事件/消息的适当的边缘服务器130。

当通信端点101a发送注册消息200以向边缘服务器130a注册时,该处理开始。例如,通信端点101a可以是当sip通信端点101a上电时向边缘服务器130a(其支持sip)注册的sip通信端点101a。响应于接收到步骤200的注册消息,边缘服务器130a在步骤202中向协议中立总线120(即,订阅管理器123)发送订阅消息。步骤202的订阅消息具有一个或多个标识符,该一个或多个标识符由会话处理引擎124用来经由协议中立总线120向边缘服务器130a(在这个示例中其支持sip)发送消息/事件;事件/消息最终作为协议特定的消息(sip)被发送到通信端点101。订阅管理器123在步骤204中确认步骤202的订阅消息。在一个实施例中,步骤202的订阅消息可以是消息队列遥测传输(mqtt)订阅消息。

订阅消息202中的标识符可以识别通信端点101(例如,电话号码、ip地址等)、与一个或多个通信端点101相关联的用户(例如,uri(例如,alice@avaya.com))和/或与一个或多个通信端点101相关联的组(例如,marketinggroup@avaya.com)等。在一个实施例中,标识符可以包括多个标识符。例如,步骤202的订阅消息可以用于订阅一个或多个用户的多个电话号码、uri、组标识符等的事件。例如,边缘服务器130a可以使用步骤202的订阅消息来注册数百个用户/通信端点101。

为了例示,考虑以下示例。用户(alice)具有两个sip通信端点101a-101b(台式电话101a和移动电话101b)。sip通信端点101a具有电话号码111-222-3333,并且sip通信端点101b具有电话号码444-555-6666。此外,用户alice具有与这两个sip通信端点101a-101b相关联的uri(alice@avaya.com)。在这个示例中,步骤202的订阅消息包括所有三个标识符111-222-3333、444-555-6666和alice@avaya.com。当会话处理引擎124从协议中立总线120接收到与这些标识符中的任何一个建立通信会话的请求时,会话处理引擎124基于接收到的订阅消息202经由协议中立总线向边缘服务器130a发送对于通信会话消息的(一个或多个)提议。例如,如果对于通信会话消息的请求具有标识符111-222-3333,则会话处理引擎124将基于订阅消息202向边缘服务器130a发送对于通信会话消息的协议中立的提议。

通信端点101n在步骤206中向边缘服务器130n发送注册消息(类似于注册消息200)。响应于接收到步骤206的注册消息,边缘服务器130n在步骤208中以与上述步骤202类似的方式将订阅消息发送给订阅管理器123。然后在步骤210中,订阅管理器123用订阅确认消息来确认步骤208的订阅消息。

在这个示例中,边缘服务器130n支持不同的协议(例如,h.323)。步骤208的订阅消息还包含一个或多个标识符(例如,(一个或多个)电话号码、(一个或多个)uri和/或(一个或多个)组等)。步骤208的订阅消息的(一个或多个)标识符可以与步骤202的订阅消息的(一个或多个)标识符相同和/或不同。例如,订阅消息可以识别新的电话号码777-888-9999、新的uri(例如,bob@avaya.com)和组(marketinggroup@avaya.com)。如果协议中立总线120接收到具有这些标识符中的任何一个的对于通信会话消息的请求,则会话处理引擎124将经由事件代理121基于该标识符将对于通信会话消息的提议发送给边缘服务器130n。例如,如果对于通信会话消息的请求具有标识符marketinggroup@avaya.com,则由于边缘服务器130a和130n都曾用标识符marketinggroup@avaya.com订阅,因此对于通信会话消息的提议将被发送到边缘服务器130a和边缘服务器130n两者。如果对于通信会话消息的请求具有标识符777-888-9999,则对于通信会话的提议将仅被发送给边缘服务器130n。边缘服务器130n随后将创建协议特定的消息(即,h.323开放逻辑信道消息),该协议特定的消息被发送到对应的通信端点101(即,已经向边缘服务器130n注册的通信端点)。

在一个实施例中,代替使用如图2中所描述的订阅消息204/208,会话处理引擎124在它接收到对于通信会话消息的请求时,发送带有对于具有(一个或多个)标识符的通信会话的提议的广播消息,该(一个或多个)标识符可以被边缘服务器130a-130n看到。然后,支持(一个或多个)特定标识符的(一个或多个)边缘服务器130a-130n将生成适当的(一个或多个)协议特定的消息,并将该(一个或多个)消息发送到已向边缘服务器130注册的对应的(一个或多个)通信端点101。在这个实施例中,订阅消息202/208可以不包括标识符。替代地,广播消息包含标识符并且特定的边缘服务器130a-130n寻找包含特定标识符的广播消息。

图3是用于基于事件的多协议通信会话分发的处理的流程图。为了简单起见,在图3中,协议中立总线120和会话处理引擎124被一起显示。但是,如图1中所示,会话处理引擎124是与协议中立总线120分离的实体。例如,会话处理引擎124可以(例如,使用应用编程接口)经由网络110b访问由事件代理121发布的消息/事件(从边缘服务器130a-130n接收到的那些消息/事件)。会话处理引擎124(基于(一条或多条)规则122)可以继而将消息/事件发送/发布回事件代理121,以发送给边缘服务器130a-130n。

处理在步骤300中开始,此时通信端点101a向边缘服务器130a(其支持sip)发送对于协议特定的通信会话消息(在这个示例中为sipinvite消息)的请求。边缘服务器130a在步骤302中将sipinvite消息转换成对于通信会话消息的协议中立的请求。在步骤304中,对于通信会话消息的协议中立的请求经由协议中立总线120被发送到会话处理引擎124,其然后被发送到会话处理引擎124。在步骤306中,会话处理引擎124使用规则122来确定如何处理对于通信会话消息的请求。例如,基于步骤304的对于通信消息的请求中的(一个或多个)标识符,处理引擎124应用规则122中的一个或多个来确定如何处理步骤304的对于通信消息的请求。

基于规则122,会话处理引擎124在步骤308中基于订阅消息(例如,订阅消息202)经由协议中立总线120向边缘服务器130a或130n(在这个示例中仅单个边缘服务器130)发送对于通信会话消息的协议中立的提议。在步骤310中,边缘服务器130a或130n将对于通信会话消息的协议中立的提议转换成对于通信会话的协议特定的请求。例如,如果通信端点101n是边缘服务器130a所支持的sip通信端点,则边缘服务器130a将把步骤308的对于通信会话消息的协议中立的提议转换成sipinvite消息。替代地,如果通信端点101n是边缘服务器130n所支持的h.323通信端点,则在步骤310中边缘服务器130n将把步骤308的对于通信会话消息的协议中立的提议转换成h.323开放逻辑信道消息。然后在步骤312中对于通信会话的协议特定的请求被发送到通信端点101n。

通信端点101n在步骤314中发送协议特定的接受通信会话消息。例如,如果通信端点101n是sip通信端点,则步骤314的接受通信消息可以是sip200ok消息、sipringing消息或siptrying消息等。如果通信端点101n是h.323通信端点,则步骤314的接受通信消息可以是h.323呼叫处理消息。边缘服务器130a或130n在步骤316中将步骤314的协议特定的消息转换成协议中立的接受通信会话消息,该接受通信消息然后在步骤318中经由协议中立总线120被发送到会话处理引擎124。会话处理引擎124在步骤320中经由协议中立总线120向边缘服务器130a发送协议中立的接受通信会话消息(因为目的地通信端点101a是基于sip的)。边缘服务器130a在步骤322中将步骤320的接受通信会话消息转换成协议特定的消息(sip200ok),并在步骤324中将sip200ok发送到通信端点101a。

这个处理用于发送/接收建立通信会话所需的任何附加消息。例如,根据sip标准,通信端点101a将向边缘服务器130a发送sipack消息。然后,边缘服务器130a将sipack消息转换成协议中立的确认消息,并经由协议中立总线120发送到会话处理引擎124。然后,会话处理引擎124经由协议中立总线120将协议中立的确认消息发送到适当的边缘服务器130a/130n。适当的边缘服务器130a/130n然后将协议中立的消息转换成协议特定的消息(sip或h.323),该协议特定的消息被发送到通信端点101n以建立通信会话。也可以使用类似的处理来建立媒体流(例如,使用会话描述协议的语音呼叫)。

使用协议中立总线120和协议中立的会话处理引擎124的主要优点之一是,位于通信会话的不同侧的通信端点101可以使用不同协议进行通信。由于协议中立总线120/会话处理引擎124不必处理由通信端点101a-101n正在使用的不同协议,因此会话处理引擎124可以专注于应用(一条或多条)规则122并且协议中立总线可以专注于路由消息而不必知道正在使用哪种协议。这允许系统扩展并支持使用不同协议的大量通信端点101-101n。例如,协议中立总线120/会话处理引擎124可以用于支持基于云的通信服务。

图4是用于其中使用组和/或呼叫分叉的基于事件的多协议通信会话分发的处理的流程图。为了简单起见,在图4(类似于图3)中,协议中立总线120和会话处理引擎124被一起显示。但是,如图1中所示,会话处理引擎124是与协议中立总线120分离的实体。处理在步骤400中开始,此时通信端点101a向边缘服务器130a(其支持sip)发送对于协议特定的通信会话消息(在这个示例中为sipinvite消息)的请求。边缘服务器130a在步骤402中将sipinvite消息转换成对于通信会话消息的协议中立的请求。在步骤404中,对于通信会话消息的协议中立的请求经由协议中立总线120被发送到会话处理引擎124。

在步骤406中,会话处理引擎124使用规则122来确定如何处理对于通信会话消息的请求。例如,对于通信会话消息的请求可以具有标识符marketinggroup@avaya.com。在这个示例中,边缘服务器130a和130n都订阅了基于组标识符marketinggroup@avaya.com接收事件/消息。结果,会话处理引擎124将对于通信会话消息的协议中立的提议发送到协议中立总线120。基于订阅(例如,步骤202),协议中立总线120将对于通信会话消息的协议中立的提议发送给订阅了接收对于通信会话消息的提议的边缘服务器130a。

在步骤410中,边缘服务器130a将对于通信会话消息的协议中立的提议转换成对于通信会话的协议特定的请求(sipinvite消息)。然后在步骤412中对于通信会话的协议特定的请求(sipinvite消息)被发送到通信端点101n。

通信端点101n在步骤414中发送协议特定的接受通信会话消息(例如,sip200ok消息)。边缘服务器130a在步骤416中将步骤414的协议特定的消息转换成协议中立的接受通信会话消息,该协议中立的接受通信会话消息然后在步骤418中经由协议中立总线120被发送到会话处理引擎124。会话处理引擎124在步骤420中经由协议中立总线120将协议中立的接受通信会话消息发送到边缘服务器130a(因为目的地通信端点101a是基于sip的)。边缘服务器130a在步骤422中将步骤320的接受通信会话消息转换成协议特定的消息(sip200ok),并在步骤424中将sip200ok发送到通信端点101a。

此外,基于步骤406(由于组标识符marketinggroup@avaya.com),事件代理121在步骤426中基于步骤208的订阅消息经由协议中立总线120向边缘服务器130n发送对于通信会话消息的协议中立的提议。在步骤428中,边缘服务器130n将对于通信会话消息的协议中立的提议转换成对于通信会话的协议特定的请求(例如,h.323开放逻辑信道消息)。然后,在步骤430中,对于通信会话的协议特定的请求(h.323开放逻辑信道消息)被发送到通信端点101n。

通信端点101n在步骤432中发送协议特定的接受通信会话消息(例如,h.323呼叫处理消息)。边缘服务器130n在步骤434中将步骤432的协议特定的消息转换成协议中立的接受通信会话消息,该协议中立的接受通信会话消息然后在步骤436中经由协议中立总线120被发送到会话处理引擎124。会话处理引擎124在步骤438中经由协议中立总线120将协议中立的接受通信会话消息发送到边缘服务器130a(因为目的地通信端点101a是基于sip的)。边缘服务器130a在步骤440中将步骤438的接受通信会话消息转换成协议特定的消息(sip200ok),并在步骤424中将sip200ok发送到通信端点101a。例如,通信端点101可以是会议服务器,其中使通信端点101a和101n在会议会话中加入会议。

此外,可以使用图4的处理来创建用于到个体用户的标识符的通信的呼叫分支。例如,在协议中立总线120向多个通信端点101a-101n发送通信的提议的情况下、在多个边缘服务器130a-130n已使用相同的标识符进行了订阅(例如,如图2中所述)的情况下。例如,多个边缘服务器130a-130n已经订阅了与电话号码111-222-3333相关联的事件/消息。

图5是用于应用规则122来分发多协议通信会话的处理的流程图。除了图2的订阅处理之外,还可以使用图5的处理。例如,图5中描述的处理可以基于用户/企业规则122。图5的处理是图3-4的步骤306/406的示例性实施例。

在步骤304或404之后,会话处理引擎124在步骤500中基于对于通信消息的请求中的信息来查找规则122。协议中立总线120在步骤502中确定请求通信会话/通信端点101的一方是否已被列入黑名单。如果在步骤502中请求方已被列入黑名单,则会话处理引擎124在步骤504中拒绝该消息。例如,拒绝可以基于会话处理引擎124没有在步骤308/408中发送对于通信会话的提议。

如果在步骤502中请求方/通信端点101没有被列入黑名单,则会话处理引擎124在步骤512中确定规则122是否要转发通信会话。例如,通信端点101a的用户设置已启用呼叫转发。如果正在使用转发,则会话处理引擎124在步骤514中将标识符(例如,电话号码)更改为通信端点101,以接收对于通信会话消息的请求来查看是否存在已注册新的标识符的任何边缘服务器130。然后,处理进行到步骤518。

否则,如果在步骤512中未启用转发,则会话处理引擎124在步骤516中根据用户/企业已经定义的规则122进行管理。例如,可以基于规则122将呼叫记录应用添加到通信会话。然后,会话处理引擎124在步骤518中将提议发布给事件代理121。例如,规则122可以定义所管理的分叉优先于基于注册的分叉。然后,处理进行到步骤308/408。

如本文描述的处理器的示例可以包括但不限于以下当中的至少一个:800和801、具有4glte集成和64位计算的610和615、具有64位架构的a7处理器、m7运动协处理器、系列、coretm系列处理器、系列处理器、atomtm系列处理器、intel系列处理器、i5-4670k和i7-4770k22nmhaswell、i5-3570k22nmivybridge、fxtm系列处理器、fx-4300、fx-6300和fx-835032nmvishera、kaveri处理器、texasjacintoc6000tm汽车信息娱乐处理器、texasomaptm汽车等级移动处理器、cortextm-m处理器、cortex-a和arm926ej-stm处理器、其它行业等同的处理器,并且可以使用任何已知的或将来开发的标准、指令集、库和/或架构执行计算功能。

本文讨论的任何步骤、功能和操作可以连续且自动地执行。

但是,为了避免不必要地模糊本公开,前面的描述省略了许多已知的结构和设备。这种省略不应当被解释为对要求保护的公开的范围的限制。阐述了具体细节以提供对本公开的理解。但是,应当认识到,本公开可以以超出本文阐述的具体细节的各种方式来实践。

此外,虽然本文说明的示例性实施例示出了并置的系统的各种部件,但是系统的某些部件可以远程地位于分布式网络110(诸如lan和/或互联网)的远处部分,或者位于专用系统内。因此,应当认识到,系统的部件可以被组合到一个或多个设备中或者并置在分布式网络(诸如模拟和/或数字电信网络、分组交换网络或电路交换网络)的特定节点上。从前面的描述中将认识到,并且出于计算效率的原因,可以将系统的部件布置在部件的分布式网络内的任何位置而不影响系统的操作。例如,各种部件可以位于交换机(诸如pbx和媒体服务器)、网关中、一个或多个通信设备中、一个或多个用户的室内,或其某种组合。类似地,系统的一个或多个功能性部分可以分布在(一个或多个)电信设备和相关联的计算设备之间。

此外,应当认识到,连接元件的各种链路可以是有线或无线链路或其任意组合,或者任何其它已知的或以后开发的能够向连接的元件或从连接的元件供给和/或传送数据的(一个或多个)元件。这些有线或无线链路也可以是安全链路,并且可以能够传送加密信息。例如,用作链路的传输介质可以是用于电信号的任何合适的载体,包括同轴电缆、铜线和光纤,并且可以采取声波或光波的形式,诸如在无线电波和红外数据通信中生成的那些。

而且,虽然已经关于特定事件序列讨论和说明了流程图,但应当认识到的是,可以在不实质性地影响本公开的操作的情况下对这个序列进行改变、添加和省略。

可以使用本公开的许多变化和修改。有可能提供本公开的一些特征而不提供其它特征。

在又一个实施例中,本公开的系统和方法可以结合专用计算机、经编程的微处理器或微控制器和(一个或多个)外围集成电路元件、asic或其它集成电路、数字信号处理器、诸如分立元件电路之类的硬连线电子或逻辑电路、诸如pld、pla、fpga、pal之类的可编程逻辑设备或门阵列、专用计算机、任何类似的单元等来实现。一般而言,能够实现本文说明的方法的任何(一个或多个)设备或单元都可以用于实现本公开的各个方面。可以用于本公开的示例性硬件包括计算机、手持设备、电话(例如,蜂窝式、启用互联网的、数字、模拟、混合及其它)以及本领域中已知的其它硬件。这些设备中的一些包括处理器(例如,单个或多个微处理器)、存储器、非易失性存储装置、输入设备和输出设备。此外,还可以构建包括但不限于分布式处理或部件/对象分布式处理、并行处理或虚拟机处理的替代性软件实现方式来实现本文描述的方法。

在又一个实施例中,所公开的方法可以容易地结合使用对象或面向对象的软件开发环境的软件(其提供可以在各种计算机或工作站平台上使用的便携式源代码)来实现。可替代地,所公开的系统可以设计部分地或完全地使用标准逻辑电路或vlsi以硬件来实现。使用软件还是硬件来实现根据本发明的系统取决于系统的速度和/或效率要求、特定功能以及被使用的特定软件或硬件系统或者微处理器或微计算机系统。

在又一个实施例中,所公开的方法可以部分地用能在存储介质上存储、在控制器和存储器相合作的经编程的通用计算机、专用计算机、微处理器等上执行的软件来实现。在这些情况下,本公开的系统和方法可以被实现为嵌入在个人计算机上的程序(诸如applet、或cgi脚本),作为驻留在服务器或计算机工作站上的资源,作为嵌入在专用测量系统中的例程、系统部件,等等。该系统还可以通过将系统和/或方法物理地结合到软件和/或硬件系统中来实现。

虽然本公开描述了参考特定的标准和协议在实施例中实现的部件和功能,但是本公开不限于这些标准和协议。本文未提及的其它类似的标准和协议是存在的并且被认为包括在本公开中。而且,本文提及的标准和协议以及本文未提及的其它类似的标准和协议周期性地被具有基本相同功能的更快或更有效的等同物所取代。具有相同功能的这种替换标准和协议被认为是包括在本公开中的等同物。

本公开在各种实施例、配置和方面中包括基本上如本文所描绘和描述的部件、方法、处理、系统和/或设备,包括各种实施例、子组合及其子集。在理解本公开之后,本领域技术人员将理解如何生产和使用本文公开的系统和方法。本公开在各种实施例、配置和方面中包括在没有本文未描绘和/或描述的项目的情况下提供设备和处理,或者在各种实施例、配置或其方面中包括在没有如已经在先前的设备或处理中使用的这些项目的情况下,例如用于改进性能、实现易用性和/或降低实现的成本。

已经出于说明和描述的目的呈现了本公开的前述讨论。前述内容并非旨在将本公开限制到本文公开的一种或多种形式。在例如前述的具体实施方式中,为了使本公开简化的目的,本公开的各种特征在一个或多个实施例、配置或方面中被组合在一起。本公开的实施例、配置或方面的特征可以在除以上讨论的那些之外的替代实施例、配置或方面中组合。这种公开方法不应当被解释为反映所要求保护的公开需要比每个权利要求中明确阐述的更多特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,下面的权利要求在此结合到本具体实施方式中,每项权利要求本身作为本公开的单独的优选实施例。

此外,虽然本公开的描述已经包括对一个或多个实施例、配置或方面以及某些变化和修改的描述,但是其它变化、组合和修改也在本公开的范围内,例如在理解本公开之后可以是在本领域技术人员的技能和知识范围内。旨在获得在允许的程度上包括替代实施例、配置或方面的权利,包括那些要求保护的替代、可互换和/或等同结构、功能、范围或步骤,无论这些替代、可互换和/或等同结构、功能、范围或步骤是否在本文中被公开,并且不意在公然贡献任何可专利的主题。

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