CN104580137B - 使能用于不同通信协议的通信特征的应用编程接口 - Google Patents
使能用于不同通信协议的通信特征的应用编程接口 Download PDFInfo
- Publication number
- CN104580137B CN104580137B CN201410543491.4A CN201410543491A CN104580137B CN 104580137 B CN104580137 B CN 104580137B CN 201410543491 A CN201410543491 A CN 201410543491A CN 104580137 B CN104580137 B CN 104580137B
- Authority
- CN
- China
- Prior art keywords
- communication
- browser
- web
- applications
- call
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/103—Media gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1045—Proxies, e.g. for session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1063—Application servers providing network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1106—Call signalling protocols; H.323 and related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5183—Call or contact centers with computer-telephony arrangements
- H04M3/5191—Call or contact centers with computer-telephony arrangements interacting with the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
- H04M7/0027—Collaboration services where a computer is used for data transfer and the telephone is used for telephonic communication
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及使能用于不同通信协议的通信特征的应用编程接口。描述了用于使得能够以企业通信特征来增强浏览器到电话和浏览器到浏览器通信的系统和方法。具体而言,公开了具有将浏览器与企业通信网络相接口的能力的协作环境。协作环境经由媒体服务器和/或web套接字被暴露给浏览器并且被使得能够经由特制的库与浏览器通信。
Description
相关申请的交叉引用
本申请要求2013年3月15日递交的美国临时申请号61/798,865的权益,特此通过引用将该申请的全部公开内容并入在此。
技术领域
本公开概括而言涉及通信,更具体而言涉及基于web的通信。
背景技术
Web实时通信(Web Real-Time Communications,WebRTC)是由万维网联盟起草的应用编程接口(Application Programming Interface,API)定义,用来使能浏览器到浏览器应用用于语音呼叫、视频聊天和点对点(P2P)文件共享,而不需要浏览器插件。
随着WebRTC的出现,存在着如下的需要:支持浏览器到电话通信以及增强浏览器到浏览器通信的某些方面。具体地,公司信息技术(IT)部门将开始感受到WebRTC的冲击。这首先可表现为需要管制对基于浏览器的通信的使用,就好像对像Skype和FaceTime这样的其他非安全的以消费者为中心的通信服务的使用需要被管制那样。之后其可能导致将浏览器与WebRTC集成,其中预先部署了基于会话发起协议(Session Initiation Protocol,SIP)的通信解决方案,使得语音和视频会话可在两者之间建立。最终,其可改变在企业中部署通信软件的方式,其中基于客户端的软件电话和统一通信(Unified Communications,UC)软件被基于浏览器的技术所替换。
另外,虽然WebRTC促进了浏览器到浏览器通信,但它是以促进单个web应用(例如,单个网站)内的浏览器到浏览器通信为意图而开发的。然而,WebRTC不容易促进在这种浏览器到浏览器通信上调用企业通信应用。尤其如果在单个企业内必须调用多个web应用,则更是如此。同时,其他协议(例如,SIP、H.323,等等)的应用开发相对成熟。将会希望使得已经开发的SIP和H.323的应用能够被用在WebRTC通信中。
一些群组已开始开发通过将SIP用户代理(User Agent,UA)嵌入在浏览器内来允许企业通信应用(例如,专用交换分机(Private Branch eXchange,PBX))被应用在WebRTC呼叫上的WebRTC解决方案。这个解决方案具有几个缺点。首先,如果浏览器要被表示为具有企业特征的功能完全的SIP端点,则嵌入的JavaScript SIP UA必须非常丰富并且因此非常复杂。其次,这些解决方案没有考虑到一些通信作为“纯粹”WebRTC通信进行以及其他的作为基于SIP的通信进行。
发明内容
本文给出的实施例是针对上述问题和其他问题构思出来的。具体地,本公开的实施例认识到WebRTC对于浏览器到浏览器和浏览器到电话通信相当有用。本公开的一个方面提供了促进浏览器到电话通信和向浏览器提供丰富的企业通信特征的能力。当前可用的WebRTC技术使得浏览器在简单模式中操作,并且因此浏览器不能访问通常对于传统的SIP和H.323通信对电话可用的网络资源(例如,应用)。
本公开的实施例因此提供了接收来自web应用的发起媒体会话的请求,检查主叫/被叫方偏好,并且基于这些偏好来向呼叫应用企业通信特征的能力。在一些实施例中,上述特征是由协作环境(Collaboration Environment,CE)提供的,该协作环境经由超文本传输协议(Hypertext Transport Protocol,HTTP)Web套接字或者间接经由Java消息服务(JavaMessage Service,JMS)有向浏览器的暴露。在一些实施例中,浏览器被使能经由特制的库——例如JavaScript库——与CE通信。在这种实现方式中,web应用简单地提供“发出呼叫”的指令,然后这些指令进入CE,在这里额外的呼叫特征如同针对电话的普通呼叫那样被调用,而不是经由不同的专用web套接字。
本公开还提供了增强的应用媒体服务器(Application Media Server,AMS),其将WebRTC实时协议(Real-Time Protocol,RTP)流转换成SIP/H.323友好RTP。AMS也可向CE服务提供媒体服务。
本公开的另一方面是当通信穿越网络边界时促进浏览器到浏览器通信,其中在网络边界处(例如在防火墙处)可能需要实施一个或多个通信规章/限制。具体而言,当浏览器到浏览器通信穿越这种网络边界时,需要利用已经拥有关于规章/限制的知识并且因此能够对于WebRTC会话实施规章/限制的企业通信系统。
在一些实施例中,浏览器与企业通信系统之间的接口可通过利用SIP端点适配器(SIP Endpoint Adapter,SEA)来实现,SIP端点适配器在2012年9月26日递交的美国专利申请13/846,710号中描述,特此通过引用将该申请的全部内容并入在此。SEA使得浏览器或多个浏览器能够被作为单个设备呈现给企业网络基础设施。
在一些实施例中,协作环境(CE)向浏览器呈现web套接字或某种其他的基于HTTP的协议并且这种浏览器被使得能够经由该浏览器可用的CE JavaScript库来与SEA通信。过程开始于用户和/或客户端设备向企业网络的CE注册。一旦注册了,CE就可识别并适当地处理由用户和/或用户的客户端设备发出的呼叫以及识别并适当地处理针对用户和/或用户的客户端设备的呼叫。从而,当WebRTC通信会话被建立时,由注册的用户和/或用户的客户端设备操作的浏览器之一利用CE JavaScript库来将浏览器与企业通信网络的CE相接口。CE将浏览器与企业应用(例如,呼叫日志、个人呼叫处理应用、呼叫记录,等等)相接口并且将这些应用指向通信会话。CE使这些应用可用并且代表这些应用对通信会话实施任何策略。此外,CE使得丰富的统一通信(Unified Communications,UC)操作能够被调用用于涉及浏览器的通信会话。对WebRTC呼叫可用的丰富UC操作的示例包括——但不限于——呼叫转移、呼叫前转、会议、加入呼叫、记录呼叫和阻止呼叫操作。
在一些实施例中,CE被配置为以数种不同的方式支持通信。首先,CE被配置为将WebRTC浏览器/会话适配为看起来像SIP/H.323端点。这一般将利用SEA来完成,并且本质上使得传统的通信应用能够被调用用于WebRTC会话。其次,CE被配置为直接调用协议无关API来促进原生操作模式中的通信。
本公开的另一方面是向CE提供具有JMS/web套接字和原生模式使能组件的WebRTC协议适配器。在一些实施例中,协议适配器与协议无关特征调用器通信。协议无关通信特征调用器和API充当CE中的点,在这里无论通信会话的类型如何(例如,WebRTC或SIP),通信应用都可被调用。
在一些实施例中,CE可支持“原生”(native)操作模式和传统的“SIP”操作模式。当在SIP呼叫上执行时,CE将使用SEA来通过SIP接口访问企业网络中的应用。这些应用可包括部署在CE上的应用。然而,当在WebRTC呼叫中操作时,CE将只调用在CE上部署的应用。由于协议无关API,CE部署的应用能够同样良好地处理两种类型的呼叫。
在原生操作模式中,CE访问的应用是在CE中原生操作的。然而,在SIP或H.323模式中,应用可在CE中操作或者可在更宽广的企业通信网络中操作。无论应用的位置如何,应用都响应SEA,就好像它们通常会响应任何其他SIP或H.323实体那样。因此,因为协议无关通信API,WebRTC会话可利用为其他协议——作为示例例如是SIP和H.323——开发的应用。
总之,本公开的一个方面是提供一种系统和方法来使得用户的企业呼叫特征(例如,基于用户的SIP呼叫偏好调用的特征或应用)能够被利用在WebRTC会话中。
本公开的另一方面是提供一种系统和方法来实现以丰富企业通信特征增强的浏览器到浏览器通信会话,由此可在本地(例如,在企业通信网络内)应用企业通信特征,而不必涉及整个企业通信体系结构。
本公开的另一方面是提供一种协议无关通信API,其使得SIP和/或H.323应用可用于WebRTC通信会话中。
在一些实施例中,提供了一种方法,其大体上包括:
接收将浏览器绑定到企业通信网络的请求,其中该请求是经由基于web的协议接收的;以及
响应于接收到绑定请求,创建浏览器与企业通信网络之间的关联,使得浏览器被使能访问企业通信网络内的一个或多个应用,其中企业通信网络促进与除了该基于web的协议以外的协议的通信。
在一些实施例中,通信会话是浏览器到浏览器通信会话。在一些实施例中,通信会话是浏览器到电话通信会话。
在另一实施例中,提供了一种方法,其大体上包括:
在通信应用与使能通信会话上的呼叫和媒体控制的应用平台之间提供协议无关应用编程接口(API);
接收发起通信会话的请求;
调用通信应用中的至少一个,使得向调用的通信应用中的至少一个隐藏用于发起通信会话的协议,从而使得调用的通信应用中的至少一个能够在没有关于协议的知识的情况下将其特征应用到通信会话;以及
使得web浏览器能够访问由调用的通信应用中的至少一个所应用的特征,就好像该web浏览器在使用除了基于web的协议以外的某种协议那样。
短语“至少一个”、“一个或多个”以及“和/或”是开放式表述,这些表述在运算上既是合取的也是析取的。例如,表述“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一起。
术语“一”实体指的是一个或多个该实体。这样,术语“一”、“一个或多个”和“至少一个”在本文中可互换使用。还要注意,术语“包括”、“包含”和“具有”可互换使用。
术语“自动”及其变体在本文中使用时指的是任何如下的过程或操作:该过程或操作在其被执行时是在没有实质性的人类输入的情况下完成的。然而,即使过程或操作的执行使用了实质性或非实质性的人类输入,如果该输入是在该过程或操作的执行之前接收的,则该过程或操作也可以是自动的。人类输入如果影响了过程或操作将如何被执行,则该人类输入被视为实质性的。同意过程或操作的执行的人类输入不被视为“实质性的”。
术语“登记地址(address of record)”或“登记地址URI”(address of record,“AoR”)指的是与用户相对应的URI。与联络URI(或设备URI)不同,发送到AoR的请求要求数据库查找以及服务和特征操作并且可导致该请求被发送到一个或多个终端(通信)设备。AoR通常用在TO和FROM头部字段中。这是联络到一个人的常见方式并且适用于存储在地址簿中和回复错过的呼叫。
术语“计算机可读介质”在本文中使用时指的是参与存储和/或提供指令给处理器以便执行的任何有形的存储和/或传输介质。这种介质可采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质例如包括NVRAM或者磁盘或光盘。易失性介质包括动态存储器,例如主存储器。计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质、磁光介质、CD-ROM、任何其他光介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、像存储卡这样的固态介质、任何其他存储芯片或卡盘、如下文描述的载波、或者计算机可以读取的任何其他介质。电子邮件的数字文件附件或其他独立的信息存档或存档集合被认为是与有形存储介质等同的分布介质。当计算机可读介质被配置为数据库时,要理解该数据库可以是任何类型的数据库,例如关系的、层次的、面向对象的,等等。因此,本公开被认为包括有形存储介质或分布介质和现有技术认识到的等同物和后继的介质,其中存储了本公开的软件实现。
术语“联络URI”指的是设备统一资源指示符(Universal Resource Indicator,“URI”)。设备URI通常在CONTACT头部字段中并且在一段时间期间与特定用户相关联。登记地址URI可与联络URI相关或被绑定到联络URI。
术语“确定”、“计算”及其变体当在本文中使用时是可互换使用的并且包括任何类型的方法、过程、数学运算或技术。
术语“模块”“代理”或“工具”当在本文中使用时指的是能够执行与该元素相关联的功能的任何已知的或以后开发的硬件、软件、固件、人工智能、模糊逻辑或者硬件和软件的组合。另外,虽然本公开是就示范性实施例来描述的,但应当明白,可以分别要求保护本公开的各个方面。
术语“统一资源标识符”(uniform resource identifier,URI)是用于标识名称或资源的一串字符。
术语“统一资源定位符”或“通用资源定位符”(uniform resource locator/universal resource locator,URL)是构成对因特网资源的引用的特定字符串。
“用户代理”指的是使能了会话发起协议(“SIP”)的端点设备。用户代理取得来自用户的指示和/或输入并且充当代表用户的代理以建立和拆除媒体会话。
以上是对本公开的实施例的简化总结,以提供对本公开的一些方面的理解。这个总结既不是对本公开及其各种实施例的广泛概述也不是其详尽概述。既不打算标识本公开的关键或决定性元素,也不打算界定本公开的范围,而是打算以简化形式给出本公开的所选概念,作为对以下给出的更详细描述的介绍。将会明白,本公开的其他实施例有可能单独或组合利用以上阐述或以下详细描述的特征中的一个或多个。
附图说明
结合附图来描述本公开:
图1是根据本公开的实施例的通信系统的框图;
图2是描绘根据本公开的实施例的协作环境的额外细节的框图;
图3是描绘根据本公开的实施例的第一通信系统配置的框图;
图4是描绘根据本公开的实施例的第二通信系统配置的框图;
图5是描绘根据本公开的实施例的第一通信方法的流程图;
图6是描绘根据本公开的实施例的第二通信方法的流程图;
图7是描绘根据本公开的实施例的第三通信系统配置的框图;
图8是描绘根据本公开的实施例的第四通信系统配置的框图;并且
图9是描绘根据本公开的实施例的第三通信方法的流程图。
具体实施方式
接下来的描述仅仅提供了实施例,而并不打算限制权利要求的范围、适用性或配置。更确切地说,接下来的描述将向本领域技术人员提供使能实现实施例的描述。要理解,在不脱离所附权利要求的精神和范围的情况下,可对元素的功能和布置进行各种改变。
图1描绘了根据本公开的实施例的通信系统100。通信系统100可包括企业网络104,企业网络104经由(通常是不受信任的或不安全的或公共的)通信网络108与一个或多个外部通信设备通信,外部通信设备可以是具有web浏览器116的客户端设备112的形式。还应当明白,除了具有浏览器116的客户端设备112或者替代具有浏览器116的客户端设备112,还可以提供其他类型的外部通信设备。
通信网络108可以是分组交换和/或电路交换的。说明性通信网络108包括——但不限于——广域网(WAN)(比如因特网),公共交换电话网(PSTN)、普通老式电话服务(POTS)网络、蜂窝通信网络、IP语音(VoIP)网络、IMS网络或者其组合。在一个配置中,通信网络108是支持TCP/IP协议集的公共网络。
外部客户端112一般被称为“外部”是因为其或者不在管理企业网络104的企业的直接控制之下,或者与在企业网络104内的通信设备136和/或客户端设备164相比与企业网络104之间的信任水平更低。客户端设备112的说明性示例包括——但不限于——智能电话、膝上型电脑、个人计算机(PC)、平板电脑,等等。客户端112执行的web浏览器116可被存储为客户端112上的应用或者其可对应于经由基于云的计算技术被提供给客户端112的基于云的应用。在客户端112上可利用的web浏览器116的非限制性示例包括——但不限于——Internet或者任何其他类型的使得客户端112能够经由基于web的通信协议(例如,超文本传输协议(HTTP)、安全HTTP(SHTTP)、移动web协议、轻量型web协议,等等)与一个或多个web应用184(例如网站或web服务器)接口和通信的应用。图1还示出了每个web应用184可包括JavaScript库188,该JavaScript库188接口到web浏览器116和端点适配器140以经由WebRTC发起呼叫。虽然没有描绘,但还应当明白,在不脱离本公开的范围的情况下,在企业网络104内可包含一个或多个web应用184。
企业网络104可包括包含服务器表格124的边界设备120、包括定序(sequence)(序列化,下同)规则132的一个或多个通信服务器128、具有端点适配器140和一个或多个通信API(144)的协作环境(Collaboration Environment,CE)136、一个或多个内部通信设备160、一个或多个具有web浏览器168的内部客户端设备164、可能够提供一个或多个应用152的一个或多个应用服务器148、一个或多个应用媒体服务器156、数个其他服务器172以及企业数据库176,所有这些都被(受信任的或者安全的或者私有的)广域网(WAN)、局域网(LAN)或者其组合180所互连。图1中描绘的功能中的一些或全部可以被共同容宿和/或共同驻留在单个服务器上。替换地或额外地,可经由云计算技术来提供企业网络104的组件中的一些或全部。例如,可从可能与通信设备160和/或164共位或者可能不一定与其共位的服务器的集群提供服务器的一些或全部功能。换言之,企业网络104可以是部分基于云的,并且对基于云的网络的资源的访问可通过通信网络108来获得。图1中的组件的描绘大体上打算作为对系统100的组件的逻辑描绘。
还应当明白,企业网络104的组件可促进两个或更多个通信端点(例如,客户端112、通信设备160和/或客户端164)之间的传统的基于SIP的通信和/或基于H.323的通信。基于SIP和/或H.323的通信是以任何普通方式提供的。然而,如本文将更详细论述的,企业网络104的一个或多个组件还可促进基于web的通信会话(例如,WebRTC通信),其中在通信会话中涉及一个或多个web浏览器116和/或168。
在描绘的实施例中,通信网络108被示为连接到WAN 180。应当明白,诸如防火墙、会话边界控制器(Session Border Controller,SBC)之类的一个或多个网络边界元素可驻留在两个网络之间。然而,为了易于图示和描述,系统100被示为没有这种网络边界元素。
通信服务器128被示为包括服务器表格124,服务器表格124可使得通信服务器128能够将通信请求路由到对于企业网络104内的用户为权威的适当的其他通信服务器128。虽然通信服务器128可被配置为在企业网络104内注册用户,但CE 136可被配置为将web浏览器116注册到企业网络104内的用户身份,从而对于进入呼叫和外出呼叫两者将CE 136的能力(例如,丰富呼叫特征)暴露给web浏览器116。
更具体而言,服务器表格124可用于首先将企业网络104内的通信路由到负责为通信会话中涉及的特定用户(例如,用户A和/或用户B)服务的通信服务器128。例如,如果企业用户(例如,用户B)正被外部客户端设备112呼叫,则通信服务器128可首先接收呼入呼叫,确定该呼叫是针对用户B的,参考服务器表格124以识别用户B的权威通信服务器128,并且将呼入呼叫路由到权威通信服务器128。
类似地,内部企业用户之间(例如,通信设备160和客户端164之间或者两个内部客户端设备164之间)的通信在通信建立的发起阶段期间可首先由发端用户的权威通信服务器128服务。在发起阶段完成之后,终端(或被叫)用户的权威通信服务器128可被调用来完成通信建立的终止阶段。在一些实施例中,发端和终端用户的通信服务器128可以是同一服务器,但不是一定要求如此。在通信会话中涉及多于两个企业用户的情形中,在不脱离本发明的范围的情况下,可以采用每个涉及的用户的权威通信服务器128。此外,每个用户的权威通信服务器128可以在相同的企业网络104中或者在不同的企业网络104中,这些不同的企业网络104是共同的企业所拥有的,但被通信网络108所分隔。
根据本发明的至少一些实施例,通信请求内的用户身份的映射不一定必须在通信服务器128处发生。例如,权威服务器与用户之间的映射可在网络边界设备处发生或者在企业网络104内的某个其他组件处(例如,在CE 136处)发生。
通信服务器128可包括专用交换分机(PBX)、企业交换机、企业服务器、其组合或者其他类型的电信系统交换机或服务器。通信服务器128优选被配置为执行电信功能,例如Avaya公司的Avaya AuraTM应用的套组,包括Communication ManagerTM,Avaya AuraCommunication ManagerTM,Avaya IP OfficeTM,Communication Manager BranchTM,Session ManagerTM,System ManagerTM,MultiVantage ExpressTM,及其组合。
虽然在图1中只描绘了单个通信服务器128,但在单个企业网络104中或者跨着由单个企业拥有和操作但被通信网络108分隔的多个分开的LAN 180地可提供两个或更多个通信服务器128。在企业或企业网络104包括两个或更多个通信服务器128的配置中,每个服务器128可包括相似的功能,但可被配设用于仅向所有企业用户的子集提供其特征。具体地,第一通信服务器128可以是企业用户的第一子集的权威并为其服务,而第二通信服务器128可以是企业用户的第二子集的权威并为其服务,其中用户的第一和第二子集一般不共享共同的用户。这是通信服务器128可设有服务器表格124的一个原因。
此外,多个通信服务器128可支持共同的用户社区。例如,在地理冗余应用和用户不一定被绑定到单个应用服务器的其他应用中,可以有等同服务器的集群,其中用户可由该集群中的任何服务器来服务。
在一些实施例中,在通信服务器128上提供的定序规则132可对应于或描述它是其权威的每个用户的通信特征偏好。特定用户的定序规则132被该用户的权威通信服务器128参考来确定哪些特征——如果有的话——应当被并入到该用户的通信会话中(例如,经由应用152)以及这种特征应当以何种顺序被并入到该通信会话中。通信服务器152可以实际将通信特征直接提供到通信会话中或者确定应用序列,该应用序列将在建立期间被调用并且在通信会话期间被使用。
应当明白,定序规则132可以是偏好的列表,可以是包含通信偏好的表格,或者可以是任何其他适当格式的。另外,定序规则132可由用户和/或由管理人员来配设。如图1所示,定序规则132可以替换地或额外地设在CE 136中,从而使得CE 136能够在原生操作模式中对应用定序,这将在本文中更详细描述。
还要理解,可以使用任何数据结构来渲染各种偏好表格,包括——但不限于——原始、合成或抽象数据类型、线性数据结构、树数据结构、散列、图,等等。
CE 136可对应于另一服务器,其用途是促进WebRTC通信利用应用152和企业网络104的其他呼叫特征。CE 136的另一方面包括为对于WebRTC和其他类型的通信会话能够调用的应用提供平台的能力。
关于对应用152的利用,如果通信会话包括WebRTC(例如,采用了至少一个浏览器116),则CE 136可被调用以向浏览器116和/或168提供对企业网络104的特征的访问,而如果遵循简单的WebRTC协议则这些特征将不可用。在一些实施例中,CE 136利用使其自身对企业网络104外部的web浏览器116可用的端点适配器140。端点适配器140的额外行为在2012年9月26日递交的美国专利申请13/846,710号中描述,特此通过引用将该申请的全部内容并入在此。在一些实施例中,端点适配器被配置为利用另一协议将浏览器表示为完全特征使能的端点,从而使其能够利用现有的企业通信网络104的所有特征。
CE 136还可包括协议无关通信API 144,其使得端点适配器140能够访问企业网络104的各种组件(例如,应用152、通信服务器128、数据库176、应用媒体服务器156、其他服务器172,等等)。在一些实施例中,端点适配器140被配置为对从浏览器116接收的会话和/或媒体控制信令(例如,根据WebRTC定义传送的会话和/或媒体控件)进行抽象,以使得它们能够被企业网络104的本来不支持WebRTC的组件所理解。另一方面,协议无关通信API 144被配置为使得在CE136内操作的应用能够将其特征提供给通信会话,无论下层的端点在利用什么协议。作为示例,协议无关通信API 144可被配置为对来自正使用的特定协议的会话和/或媒体控制信号进行抽象,以使得它们可被理解或被转化为不同的协议(例如,WebRTC到SIP、WebRTC到H.323、SIP到WebRTC、H.323到WebRTC,等等)。
可由位于WAN 180与通信网络108之间的网关和/或防火墙来保护WAN 180免遭非信任方的入侵。在一些实施例中,边界设备120可包括网关和/或防火墙的功能。在一些实施例中,在通信网络108与WAN 180之间可提供单独的网关或防火墙。在通信网络108与WAN180之间可提供的设备的更具体示例包括反向代理和STUN/TURN服务器。
其他服务器172可包括电子邮件服务器、语音邮件服务器、日历服务器、会议服务器和已知向客户端设备提供特定服务的其他类型的服务器。在一些实施例中,其他服务器172也可被认为是应用服务器148,其提供一个或多个应用152来用于通信会话中。
内部通信设备136可由企业配设并且经常由企业拥有。通信设备160的示范性类型包括——但不限于——任何具备能力的电话、硬电话、软电话、具备SIP能力的电话、具备H.323能力的电话、智能电话、蜂窝电话、PC、膝上型电脑、平板电脑和/或数字电话。适当电话的示例包括1600TM、2400TM、4600TM、5400TM、5600TM、9600TM、9620TM、9630TM、9640TM、9640GTM、9650TM、和Quick EditionTM电话、IP无线电话(例如Avaya公司的IP DECT TM电话)、视频电话(例如Avaya公司的VideophoneTM)以及Avaya公司的软件电话。
企业数据库176包括企业订户信息、例如名字、职位、电子地址信息(例如,电话号码、电子邮件地址、即时消息处理、直拨分机,等等)、订户联络人列表(例如,联络人名字和电子地址信息)、其他员工记录,等等。额外地或替换地,企业数据库176可包含用户的在场信息、用户的通信能力以及通信服务器128和/或CE 136可取得的任何其他动态变量。在一些实施例中,数据库176可包括某种结构化格式(例如,层次数据库、SQL数据库,等等)或非格式化格式(例如,非SQL数据库,等等)的数据。数据库176可包括持久性存储(盘)或者可以只是存储器内的数据库。
根据至少一些实施例,通信服务器128确定应用序列并且使得一个或多个应用144根据定序规则132被定序到通信会话中。具体地,通信服务器128被配置为分析特定用户的定序规则132并且调用必要的应用152和路由来履行这种偏好。当与CE 136协同操作时,通信服务器128可确定并调用企业应用152来用于传统的电话到电话通信会话、浏览器到电话通信会话和/或浏览器到浏览器通信会话。从而,虽然通信服务器128被描绘为与CE 136分离,但应当明白,可在单个服务器上执行通信服务器128和CE 136,并且在一些实施例中,一个组件的功能可被并入到另一组件中(例如,CE 136功能可被并入到通信服务器128中,或者通信服务器128功能可被并入到CE 136中)。
一旦通信服务器128确定了应用序列,通信服务器128就将通信使能消息传递到应用序列中的第一应用152,从而允许第一应用确定通信会话的参数,将其自身插入到通信会话的控制和/或媒体流中,并从而将其自身绑定到该通信会话。一旦第一应用将其自身插入到了通信会话中,第一应用就或者将通信使能消息传递回通信服务器128以识别应用序列中的下一应用(例如,基于定序规则132)或者将通信使能消息直接传递到应用序列中的第二应用152。替换地或额外地,该消息可被重定向、拒绝等等。另外,应用152可向呼叫添加参与方和/或媒体服务器。
应用服务器148可提供的应用152的类型的示例包括——但不限于——呼叫记录应用、通信日志服务、会议应用、安全性应用、加密应用、协作应用、白板应用、移动性应用、在场应用、媒体应用、消息传递应用、桥接应用以及可以补充或增强通信的任何其他类型的应用。与通信服务器和CE 136一样,应用服务器148或应用152可与CE 136和/或通信服务器128共位,反之亦然,这不脱离本公开的范围。
现在参考图2,将根据本公开的至少一些实施例来描述CE 136的额外细节。具体而言,CE 136被示为包括协作总线204、呼叫/媒体API 208、第一协议适配器212、第二协议适配器216和协议无关特征调用器220。图2还示出了CE 136可包括一个或多个原生应用152,其可以与本文描述的其他应用152相同或相似。
第一和第二协议适配器212、216可被配置为执行协议正规化,以使得CE 136内部的所有东西都是协议无关的。更具体而言,协议适配器212、216使得协作总线204、呼叫/媒体API 208和特征调用器220全都能够以协议无关方式操作。适当的协议适配器212、216的非限制性示例包括IMS服务控制(IMS Service Control,ISC)接口、普通SIP UA、高级SIP电话(Advanced SIP Telephony,AST)接口和WebRTC网关。协议适配器212、216还可被配置为向web应用184和/或浏览器116、168呈现控制和/或信令接口。在一些实施例中,web应用184可被配置为向协议适配器212和/或216提供诸如“发出呼叫”命令之类的简单命令。另一方面,浏览器116、168可利用由web应用184提供的JavaScript库188来与CE 136交换控制和/或状态信号。具体而言,JavaScript库188可向浏览器116、168提供用于与协议适配器212、216通信的指令。另外,浏览器116、168与CE 136之间的交换可根据WebRTC协议来执行。
可以明白,协议适配器212、216可使得CE 136及其组件能够在企业网络104内和企业网络外(例如与通信网络108)交换通信。然而,在CE 136内,通信可以是协议无关的。因此,CE 136可被配置为在WebRTC、SIP、H.323和任何其他非基于web的协议之间转化通信。如本文将论述的,协议适配器212可使得CE 136能够与应用媒体服务器156交换通信,从而使得CE 136能够调用应用媒体服务器156用于浏览器到电话或浏览器到浏览器通信会话。应当注意,对于浏览器到浏览器通信会话可能不需要应用媒体服务器156,因为在WebRTC中支持点对点RTP;然而,可能希望包括一个或多个应用媒体服务器156来为WebRTC呼叫播放通告、提供记录能力,等等。
在一些实施例中,呼叫/媒体API 208使得协议无关特征调用器220能够调用CE136内包含的一个或多个应用152。有利地,应用152可以在不关心在通信会话期间在端点之间使用的下层协议的情况下工作。
如图2所示,呼叫/媒体API经由协作总线204与协议无关特征调用器220相接口。协作总线204在性质上可类似于企业服务总线或JMS总线。协议无关特征调用器220与呼叫/媒体API 208之间的通信全都经过协作总线204。
协议无关特征调用器220在一些实施例中可利用或能够访问定序规则132来帮助确定对于特定的通信会话应当调用哪些应用152。呼叫/媒体API 208可提供协议无关特征调用器220与应用152之间的接口。在一些实施例中,协作总线204、呼叫/媒体API 208和协议无关特征调用器220可被统称为协议无关通信API 144。
在一些实施例中,协议适配器212、216可经由协作总线204与协议无关特征调用器220通信。更具体而言,协议适配器212、216可经由会话描述协议(Session DescriptionProtocol,SDP)消息与协议无关特征调用器220交换信息。
现在参考图3,将根据本公开的实施例描述CE 136的额外细节及其与浏览器308的交互。如图3所示,第一协议适配器212可对应于WebRTC网关,并且第二协议适配器216可对应于端点适配器140。端点适配器216将CE 136接口到企业网络304,例如SIP网络。应当明白,企业网络304可以是H.323网络或者使用本领域中已知的任何类型的通信协议的任何其他网络。
图3还示出了web浏览器308如何经由WebRTC网关212来与CE 136接口。具体地,web浏览器308可从web应用或web服务器184上的JavaScript库188接收用于与WebRTC网关212相接口的信息。利用JavaScript库188的功能,web浏览器308可发起并实现并入了来自企业通信网络104的应用152的WebRTC会话。还应当注意,在不支持跨来源资源共享(Cross-Origin Resource Sharing,CORS)的情况下,web浏览器308与CE 136之间的信令可实际由web服务器184中继到CE 136。换言之,本公开的实施例使得浏览器308能够直接接口到另一服务器,该另一服务器不是其从中得到HTML/JavaScript的那个。
在一些实施例中,web浏览器308可对应于在内部客户端164或外部客户端116上操作的浏览器。
图3还描绘了协议无关特征调用器220如何设有调用应用媒体服务器156用于涉及web浏览器308的通信会话的能力。更具体而言,协议无关特征调用器220可调用应用媒体服务器156来将WebRTCRTP流(例如,由web浏览器308传送和理解的RTP流)转换成SIP/H.323RTP流(例如,由通信设备312传送和理解的RTP流)。应用媒体服务器156还可被配置为向CE 136提供媒体服务(例如,以支持在CE 136中操作的媒体特定应用152)。
根据至少一些实施例,浏览器308可包括来自web应用的JavaScript 312、暴露CEAPI 316的CE JavaScript库以及WebRTCAPI 320。如本文将更详细论述的,JavaScript312、CE API 316和WebRTC API 320可合作来使得浏览器308能够经由WebRTC网关212与CE136交换通信。在操作中,当用户通过点击浏览器308中显示的URL或图标来请求注册时,web应用184可从浏览器308接收呼叫或调用命令。在调用时,web应用JavaScript 312可调用CEAPI(316)上的register()操作。这使得CE API 316向WebRTC网关212发送具有用户的证书的注册消息。WebRTC网关212验证用户的证书,然后调用SEA 216来向SIP网络304注册虚拟SIP端点。现在在浏览器308与SIP网络304之间存在绑定,使得浏览器在SIP网络看来是能够发出呼叫、接收呼叫和执行高级呼叫控制操作的功能完全的SIP端点。
一旦注册完成,Web应用184就可继续与CE API 316交互以便发起或以其他方式控制呼叫。例如,Web应用JavaScript 312可调用CE API(316)上的makeCall()操作以发起到特定电话号码或登记地址的呼叫。这使得web浏览器308上的CE API 316调用到浏览器308上的WebRTC API 320的getMediaOffer()。然后带有媒体要约和目的地地址的makeCall消息被从CE API 316发送到WebRTC网关212。
在注册步骤之后,CE 136能够经由SEA 216向企业通信网络304代表浏览器308。另外,CE 136可为浏览器308使能通信会话的建立,该通信会话将来自企业网络304和/或CE136内的一个或多个应用152的一个或多个企业应用并入到该通信会话中。对于CE 136外的应用152,这可通过CE 136向原本由web浏览器308发送的makeCall()操作中寻址的设备发送INVITE消息来完成。对于CE 136内的应用152,协议无关特征调用器220可经由呼叫/媒体API 208调用一个或多个应用152。当然,INVITE消息在其到目的地地址的途中可穿越若干个服务器,使得一个或多个应用可被定序到通信会话中。在一些实施例中,CE 136向企业网络304的所有服务器和通信端点代表浏览器308,并且这种代表是经由SIP和/或H.323(例如,企业网络304采用的协议)作出的。
图4示出了CE 136可采用来实现图1-3中描绘的体系结构的相似或相同功能的替换体系结构。具体而言,CE 136被示为包括WebRTC网关404,其可与图3的WebRTC网关212相似或相同。WebRTC网关404包括面对着浏览器308的HTTP信令组件408和面对着CE136的其他组件的内部接口412。HTTP信令408可经由以web为中心的WebRTC协议与浏览器308交换通信,并且内部接口412可以以协议无关方式在CE 136内交换通信。
CE 136还包括端点适配器420,其可与图1中描绘的端点适配器140相似或相同。端点适配器420可包括多个协议组件424,这些协议组件424使得端点适配器420能够以会话管理器436理解的任何协议与外部会话管理器436通信。在一些实施例中,端点适配器420还可被配置为调用外部媒体服务器156,就好像图3的协议无关特征调用器220那样。
会话管理器436可与图1的通信服务器128相似或相同,因为会话管理器436可负责为通信会话确定应用序列。替换地或额外地,在CE 136内部的特征调用器428处可执行特征调用。内部特征调用器438可与协议无关特征调用器220相似或相同,并且可为CE 136促进原生操作模式,这将在下文更详细论述。与端点适配器420一样,特征调用器428可包括多个协议组件432,这些协议组件432可使得特征调用器428能够经由企业网络304所支持的任何协议(例如,SIP、H.323,等等)来交换通信。
图4的CE 136还被描绘为包括协议无关API 416。这个协议无关API 416可与通信API 144和/或呼叫/媒体API 208相似或相同。协议无关API 416可在特征调用器428与CE136内包含的原生应用152之间提供管道。额外地或替换地,协议无关API 416还可在CE 136与外部媒体服务器156之间提供接口,外部媒体服务器156可以是企业网络304的一部分或者在企业网络304外部。
现在参考图5,将根据本公开的实施例来描述在CE 136的辅助下调用浏览器到浏览器和/或浏览器到电话通信会话的方法。应当明白,图5的方法可由本文描绘和描述的任何类型的系统体系结构执行。具体而言,可以采用图1、图2、图3和/或图4的体系结构来执行联系图5描述的方法步骤中的一些或全部。
当用户发起经由CE 136向企业网络304注册其web浏览器308时(步骤504),方法开始。在一些实施例中,web浏览器308的注册可包括让用户经由打开的web浏览器308向CE136提供用户名、口令和/或其他认证信息。还应当注意,CE JavaScript库188和由该JavaScript库暴露的CE API 316也可被用于注册步骤。
一旦发起了注册,方法就继续由WebApp JavaScript调用CEJavaScript库312上的注册方法(步骤508)。响应于注册方法被调用,CE JavaScript库312向WebRTC网关212发送注册请求(步骤512)。此时,CE 136可控制浏览器308及其用户与其他网络基础设施之间的注册。因此,CE 136可通过让SEA 216向SIP网络304发送注册请求来继续注册方法,从而向企业网络304注册用户(例如,经由通信服务器128)(步骤516和520)。
在一些实施例中,在注册期间从web浏览器308向CE 136提供的信息可包括用户名和口令。CE 136可验证用户名和口令组合的真实性或者将该信息提供到企业网络304中包含的认证服务器。一旦认证了,CE 136就可使用其第二协议适配器216(例如,SEA)来向企业网络304持久性地代表用户和用户的浏览器308,直到用户登出、关闭浏览器308或者执行表明中止用户与企业网络304之间的注册的愿望的某个其他动作为止。
一旦用户完成了注册,该用户就让其身份和浏览器308的地址(例如,IP地址)被绑定到了企业网络304中的已知身份。因此,当用户经由浏览器308发起呼叫或接收针对其身份(例如,AoR)的呼叫时,企业网络304被配置为开始根据用户的通信偏好来处理呼叫发起消息(例如,INVITE)。
方法继续在CE 136处处理发起通信会话的请求(步骤524)。可以以WebRTC消息(例如,make_call操作)的形式从浏览器308接收发起通信会话的请求,或者可从企业网络304接收该请求(例如,以INVITE消息的形式)。在一些实施例中,如上文联系步骤504、508、512、516和520所述的用户的注册可与发源自浏览器308或针对浏览器308的呼叫的接收同时、在其之前或在其之后发生。因此,虽然步骤524被示为在注册之后发生,但应当明白,浏览器308与CE136之间的通信会话是在注册时建立的,而不是在发出呼叫的请求之后建立的。另外,CE JavaScript库188可对应于直接处理通信会话(像SIP栈那样)而不是作为浏览器的查找的实体。
无论会话是何时被发起的,浏览器308都可从web应用184获得信息来促进与CE136的WebRTC通信会话(步骤528)。在浏览器308处获得的这个信息可对应于JavaScript312、CE API 316和/或WebRTC API 320中已经包含的信息或者其可对应于从web服务器184的JavaScript库188获得的额外脚本信息。额外地或替换地,CEJavaScript库188可对应于直接处理通信会话的实体,就很像SIP栈那样,而不是用作浏览器308的查找。这个信息被浏览器308或CEJavaScript库188自身用来与WebRTC网关212建立连接(步骤532)。
当CE 136确定浏览器308已经由WebRTC网关212连接到它时,方法继续由CE 136将浏览器308作为在企业通信设备上通信的企业用户呈现给企业网络304(步骤536)。换言之,CE 136以使得网络304不知晓浏览器308在经由WebRTC通信的方式将浏览器308及其用户呈现给企业网络304。网络304而是被允许利用原生协议(例如,SIP、H.323,等等)并且操作浏览器308的用户被视为就好像他/她在使用使能了SIP或H.323的通信设备一样。类似地,CE136内的应用152将浏览器308视为端点,并且不考虑在浏览器308与WebRTC网关212之间采用的协议。
图6描绘了从CE 136来看的通信方法。当CE 136接收到来自web应用184的发起或“发出”呼叫的请求时(步骤604),该方法开始。然后,CE 136和/或通信服务器128检查从浏览器308接收的呼叫请求或信令以确定主叫和/或被叫方的通信偏好(步骤608)。在一些实施例中,该分析可基于先前经由浏览器308向CE 136注册的用户来执行(例如,分析向CE136注册浏览器308的用户的呼叫偏好)。
基于步骤608的分析,选择一个或多个企业应用152来并入到通信会话中(步骤612)。CE 136能够在内部和/或经由企业网络304调用这种应用152,就好像呼叫是由电话发起的那样(步骤616)。从而,应用152可以是为SIP和/或H.323开发的,但仍可被用在WebRTC呼叫中。
CE 136还可调用应用媒体服务器156来将WebRTC流转换成SIP/H.323兼容的RTP(步骤620)。然而,应当注意,应用媒体服务器156对于原生操作模式中的简单呼叫不是必要的,虽然其仍可用于诸如播放通告之类的特征。如果应用媒体服务器156被调用,则当其被调用时,CE 136通过对任何额外的应用定序并经由应用媒体服务器156建立媒体路径来完成呼叫构造(步骤624)。此时,在浏览器308(或者具体而言是使用浏览器308的客户端112)与另一设备之间建立了通信会话,该另一设备可以是另一浏览器308或通信设备160。
现在参考图7-9,将根据本公开的至少一些实施例来描述CE 136在原生模式中操作的能力的额外细节。具体而言,图7描绘了与图2和3类似的体系结构,其中协议适配器212、216都是WebRTC网关704、708。WebRTC网关704、708用于促进浏览器到浏览器通信会话。通信会话中涉及的浏览器可以是内部浏览器168、外部浏览器116或者其组合。在一些实施例中,因为通信会话仅涉及浏览器308,所以CE 136被使能在原生操作模式中操作。换言之,CE 136不必利用SEA来向企业通信网络呈现浏览器。通信会话的处理和应用定序而是可以完全在CE 136的边界内发生。换言之,协议无关特征调用器220可以仅经由呼叫/媒体API208来调用原生应用152。
图8描绘了与图4类似的体系结构。同样,CE 136促进了浏览器704、708之间的浏览器到浏览器通信会话,浏览器704、708可与图7中描绘和描述的浏览器308相似或相同。当在这个原生模式中操作时,CE 136能够绕过端点适配器420并且所有应用定序和处理都在CE136内部发生。从而,当CE 136在原生模式中操作时,只有内部应用152被以协议无关方式调用。在这个操作模式中不要求会话管理器436和到企业网络304的连接。
现在参考图9,将根据本公开的实施例来描述在CE 136处调用原生或非原生操作模式的方法。在浏览器308向CE 136注册之后,当在CE 136处接收到发出呼叫请求时(步骤904),该方法开始。CE 136随后分析呼叫请求并确定呼叫请求是由浏览器308作出的还是针对浏览器308和/或呼叫请求是否来自或针对传统电话(例如,SIP使能的或H.323使能的电话)(步骤908)。如果CE 136确定呼叫将要包括两个浏览器308(例如,呼叫将不涉及诸如SIP或H.323之类的传统通信协议),则CE 136开始在原生操作模式中操作(步骤912)。当在原生操作模式中时,CE 136使用其原生接口(例如,协议无关特征调用器220、呼叫/媒体API 208和/或特征调用器428)来以协议无关方式访问内部应用152(步骤916)。
返回参考步骤908,如果呼叫不涉及WebRTC,则CE 136将调用传统操作模式(步骤920)并且如同普通呼叫那样访问企业应用152(步骤924)。
在步骤916或924之后,方法继续由CE 136可选地调用应用媒体服务器156(步骤928)并且完成呼叫构造以便在参与者的通信端点之间建立媒体路径,这些通信端点可以是基于浏览器的、是电话或者是其组合(步骤932)。如上所述,应用152中的一个或多个可能够经由应用媒体服务器156访问通信会话的媒体,但这是一个并非一定要遵循的可选步骤。
在以上描述中,为了说明,按特定顺序描述了方法。应当明白,在替换实施例中,可按与所描述的顺序不同的顺序来执行方法。还应当明白,以上描述的方法可由硬件组件执行或者可实现为机器可执行指令的序列,这些机器可执行指令的序列可用于使得诸如通用或专用处理器(GPU或CPU)或以指令编程的逻辑电路之类的机器执行这些方法(FPGA)。这些机器可执行指令可被存储在一个或多个机器可读介质上,例如CD-ROM或其他类型的光盘、软盘、ROM、RAM、EPROM、EEPROM、磁卡或光卡、闪存或者其他类型的适用于存储电子指令的机器可读介质。或者,方法可由硬件和软件的组合来执行。
在描述中给出了具体细节以提供对实施例的透彻理解。然而,本领域普通技术人员将会理解,没有这些具体细节也可实现实施例。例如,可以用框图来示出电路以免以不必要的细节模糊实施例。在其他情况下,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术以避免模糊实施例。
另外,要注意,实施例被描述为过程,该过程被描绘为流程图、数据流图、结构图或框图。虽然流程图可将操作描述为顺序的过程,但许多操作可并行或同时执行。此外,可以重安排操作的顺序。过程在其操作完成时终止,但可具有图中未包括的额外步骤。过程可对应于方法、函数、流程、子例程、子程序等等。当过程对应于函数时,其终止对应于该函数返回到作出调用的函数或主函数。
另外,实施例可由硬件、软件、固件、中间件、微代码、硬件描述语言或者其任何组合来实现。当以软件、固件、中间件或微代码来实现时,执行必要任务的程序代码或代码片段可被存储在诸如存储介质之类的机器可读介质中。(一个或多个)处理器可执行必要的任务。代码片段可表示流程、函数、子程序、程序、例程、子例程、模块、软件包、类或者指令、数据结构或程序语句的任何组合。代码片段可通过传递和/或接收信息、数据、参量、参数或存储器内容来耦合到另一代码片段或硬件电路。信息、参量、参数、数据等等可经由任何适当的手段来传递、转发或传送,包括存储器共享、消息传递、令牌传递、网络传送,等等。
虽然本文已详细描述了本公开的说明性实施例,但要理解,发明构思可以另由各种方式来实现和使用,并且所附权利要求希望被解释为包括这种变化,除非受到现有技术所限。
Claims (9)
1.一种通信方法,包括:
在浏览器与一个或多个应用之间提供协议无关通信接口;
在原生模式中或在传统模式中操作支持所述协议无关通信接口的协作环境,在所述原生模式中所述一个或多个应用被包含在所述协作环境中,在所述传统模式中,所述一个或多个应用中的至少一些应用在所述协作环境的外部并且以除了基于web的通信协议之外的协议原生操作;
用所述浏览器利用基于web的通信协议来进行通信会话;以及
由所述协作环境的特征调用器在通信会话期间访问所述一个或多个应用,其中,所述特征调用器经由到所述一个或多个应用的协议无关呼叫/媒体应用编程接口API来调用所述一个或多个应用,而不将所述一个或多个应用暴露给所述基于web的通信协议。
2.如权利要求1所述的通信方法,还包括:
确定是在所述原生模式还是所述传统模式中操作支持所述协议无关通信接口的协作环境。
3.如权利要求2所述的通信方法,还包括:
调用所述协作环境来在所述原生模式中操作;以及
响应于调用所述协作环境来在所述原生模式中操作,将一个或多个应用定序到所述通信会话中,其中定序的一个或多个应用被包含在所述协作环境内。
4.如权利要求2所述的通信方法,还包括:
调用所述协作环境来在所述传统模式中操作;以及
响应于调用所述协作环境来在所述传统模式中操作,使得企业通信网络将一个或多个应用定序到所述通信会话中,其中定序的一个或多个应用中的至少一些在所述协作环境的外部并且以除了所述基于web的通信协议以外的协议原生操作。
5.如权利要求2所述的通信方法,其中,由所述特征调用器确定应用序列。
6.如权利要求2所述的通信方法,其中,所述确定是取决于检测到在所述通信会话中涉及的端点的类型来逐个呼叫地进行的。
7.如权利要求1所述的通信方法,其中,所述基于web的通信协议包括Web实时通信WebRTC协议,其中所述一个或多个应用未被配置为支持所述基于web的通信协议,并且其中,所述一个或多个应用向所述浏览器提供包括从以下选择的一个或多个丰富统一通信操作的通信特征:呼叫转移、呼叫前转、会议、加入呼叫、记录呼叫以及阻止呼叫。
8.一种通信网络,包括:
协作环境,其包括:
一个或多个应用;
浏览器与所述一个或多个应用之间的协议无关通信接口,被配置为使得浏览器能够利用基于web的通信协议来进行通信会话;以及
特征调用器,所述特征调用器在通信会话期间访问所述一个或多个应用,以经由协议无关呼叫/媒体应用编程接口API来调用所述一个或多个应用,而不将所述一个或多个应用暴露给所述基于web的通信协议;以及在原生模式中或在传统模式中操作,在所述原生模式中所述一个或多个应用被包含在所述协作环境中,在所述传统模式中,所述一个或多个应用中的至少一些应用在所述协作环境的外部并且以除了基于web的通信协议之外的协议原生操作。
9.如权利要求8所述的通信网络,其中,由所述协议无关特征调用器确定应用序列,并且其中,所述协作环境还包括协作总线并且其中所述基于web的通信协议包括Web实时通信WebRTC协议。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361798865P | 2013-03-15 | 2013-03-15 | |
US14/054,286 | 2013-10-15 | ||
US14/054,286 US9544340B2 (en) | 2013-03-15 | 2013-10-15 | Application programming interface enabling communication features for different communication protocols |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580137A CN104580137A (zh) | 2015-04-29 |
CN104580137B true CN104580137B (zh) | 2018-04-03 |
Family
ID=51533726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410543491.4A Active CN104580137B (zh) | 2013-03-15 | 2014-10-15 | 使能用于不同通信协议的通信特征的应用编程接口 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9544340B2 (zh) |
CN (1) | CN104580137B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097244A1 (en) | 2011-09-30 | 2013-04-18 | Clearone Communications, Inc. | Unified communications bridging architecture |
US9363133B2 (en) * | 2012-09-28 | 2016-06-07 | Avaya Inc. | Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media |
US9544340B2 (en) | 2013-03-15 | 2017-01-10 | Avaya Inc. | Application programming interface enabling communication features for different communication protocols |
US9282489B2 (en) | 2013-05-17 | 2016-03-08 | Avaya Inc. | Media escalation with use of endpoint adapter |
US20150077509A1 (en) * | 2013-07-29 | 2015-03-19 | ClearOne Inc. | System for a Virtual Multipoint Control Unit for Unified Communications |
US9537903B2 (en) * | 2013-10-29 | 2017-01-03 | At&T Mobility Ii Llc | Method and apparatus for communicating between communication devices |
US9769214B2 (en) * | 2013-11-05 | 2017-09-19 | Avaya Inc. | Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
US10148710B2 (en) * | 2013-11-27 | 2018-12-04 | At&T Intellectual Property I, L.P. | Method, computer-readable storage device and apparatus for establishing persistent messaging sessions |
US10304110B2 (en) | 2013-12-26 | 2019-05-28 | Ebay Inc. | Ticket listing triggered by URL links |
US10789554B2 (en) | 2014-01-08 | 2020-09-29 | Stubhub, Inc. | Validity determination of an event ticket and automatic population of admission information |
KR101862965B1 (ko) * | 2014-03-17 | 2018-05-31 | 미쓰비시덴키 가부시키가이샤 | 관리 시스템, 게이트웨이 장치, 서버 장치, 관리 방법, 게이트웨이 방법 및 관리 처리 실행 방법 |
CN105471824A (zh) * | 2014-09-03 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 实现浏览器调用本地业务组件的方法、装置及系统 |
FR3028369A1 (fr) * | 2014-11-10 | 2016-05-13 | Orange | Procede et systeme de gestion d'identites d'utilisateurs destine a etre mis en oeuvre lors d'une communication entre deux navigateurs web |
US20160218935A1 (en) * | 2015-01-27 | 2016-07-28 | Bank Of America Corporation | User interface and dashboard for holistic data transmission throughout an enterprise |
US10514962B2 (en) * | 2015-11-02 | 2019-12-24 | Box, Inc. | Web comm channel system and method |
WO2017137076A1 (en) * | 2016-02-10 | 2017-08-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for transport protocol selection and setup of a connection between a client and a server |
US10033866B2 (en) * | 2016-02-19 | 2018-07-24 | At&T Intellectual Property I, L.P. | Facilitation of an internet protocol multimedia platform |
US10412130B2 (en) * | 2016-04-04 | 2019-09-10 | Hanwha Techwin Co., Ltd. | Method and apparatus for playing media stream on web browser |
NO20160593A1 (en) * | 2016-04-12 | 2017-10-13 | Pexip AS | Improvements in multimedia conferencing |
CN107770141B (zh) * | 2016-08-23 | 2022-04-19 | 中兴通讯股份有限公司 | 一种视频会议系统的通信方法及装置 |
US10581871B1 (en) | 2017-05-04 | 2020-03-03 | Securus Technologies, Inc. | Controlled-environment facility resident communications employing cross-origin resource sharing |
US10616156B1 (en) * | 2017-09-08 | 2020-04-07 | 8X8, Inc. | Systems and methods involving communication bridging in a virtual office environment and chat messages |
CN109788072A (zh) * | 2019-03-07 | 2019-05-21 | 杭州当虹科技股份有限公司 | 一种将标准Webrtc客户端接入现有系统的方法 |
US11245536B2 (en) * | 2019-04-16 | 2022-02-08 | Meta Platforms, Inc. | Secure multi-party computation attribution |
US11252261B2 (en) * | 2019-04-18 | 2022-02-15 | Genesys Telecommunications Laboratories, Inc. | System and method for analyzing web application network performance |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474553A (zh) * | 2009-07-31 | 2012-05-23 | 雷比特公司 | 利用智能协议交换的电话通信 |
CN103227788A (zh) * | 2013-04-17 | 2013-07-31 | 广州市和声信息技术有限公司 | 实现网页应用程序与sip设备进行通信的方法和系统 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7269160B1 (en) | 2000-05-26 | 2007-09-11 | Buffalo International, Inc. | Voice over internet call center integration |
US8238881B2 (en) | 2001-08-07 | 2012-08-07 | Waloomba Tech Ltd., L.L.C. | System and method for providing multi-modal bookmarks |
US6862277B2 (en) | 2002-10-28 | 2005-03-01 | Motorola, Inc. | Method and apparatus for multi-media communication over multiple networks |
JP3532912B1 (ja) | 2003-03-20 | 2004-05-31 | 株式会社オフィスミスミ | セキュリティーシステム及びそのプログラム |
US7486949B2 (en) | 2004-03-10 | 2009-02-03 | Broadcom Corporation | Method for re-establishing telephone calls after unintended termination |
KR20050092615A (ko) | 2004-03-16 | 2005-09-22 | (주) 콘텔라 | 이동통신망과 무선 VoIP망을 결합한 원폰 서비스시스템 및 방법 |
JP4127400B2 (ja) | 2004-06-18 | 2008-07-30 | 富士通株式会社 | 通話管理サーバプログラム、通話管理方法、および通話管理サーバ |
TWI248267B (en) | 2004-10-26 | 2006-01-21 | Ind Tech Res Inst | Method and system of providing cellular/WLAN dual mode communication service |
KR20060082127A (ko) | 2005-01-11 | 2006-07-14 | 삼성전자주식회사 | 무선 네트워크에서 음성 서비스를 제공하기 위한 망연동시스템 및 방법 |
US7664495B1 (en) | 2005-04-21 | 2010-02-16 | At&T Mobility Ii Llc | Voice call redirection for enterprise hosted dual mode service |
KR100751719B1 (ko) | 2005-09-06 | 2007-08-24 | 주식회사 이루온 | 블루투스 기반의 구내 무선 교환 시스템 |
US8880126B2 (en) | 2005-12-21 | 2014-11-04 | Ntt Docomo, Inc. | Method and system for wireless LAN network detection |
US20070226795A1 (en) | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
US20080052377A1 (en) * | 2006-07-11 | 2008-02-28 | Robert Light | Web-Based User-Dependent Customer Service Interaction with Co-Browsing |
US20080084859A1 (en) | 2006-10-10 | 2008-04-10 | Brian Scott Sullivan | System and method for maintaining a network connection in a wireless network |
US9379909B2 (en) | 2007-06-29 | 2016-06-28 | Blackberry Limited | Method and system for managing enterprise-related mobile calls |
US20090111472A1 (en) | 2007-10-31 | 2009-04-30 | Motorola, Inc. | Method and system for providing a seamless handoff between communication networks |
US8059565B2 (en) | 2007-11-21 | 2011-11-15 | Alcatel Lucent | System and method for identifying and calling a function of a service with respect to a subscriber and service management system employing the same |
US9276747B2 (en) | 2008-08-04 | 2016-03-01 | Technology Policy Associates, Llc | Remote profile security system |
US8423629B2 (en) | 2009-09-16 | 2013-04-16 | Avaya Inc. | Network framework associating non-enterprise phone with enterprise users |
US9450989B2 (en) | 2010-05-19 | 2016-09-20 | Avaya Inc. | SIP anchor points to populate common communication logs |
US8886789B2 (en) | 2010-05-19 | 2014-11-11 | Avaya Inc. | SIP monitoring and control anchor points |
US8910245B2 (en) | 2010-11-05 | 2014-12-09 | Citrix Systems, Inc. | Systems and methods for managing domain name system security (DNSSEC) |
US9152366B2 (en) * | 2012-02-17 | 2015-10-06 | Google Inc. | Remote printing management for cloud printing |
KR20130127304A (ko) | 2012-05-14 | 2013-11-22 | 엘지전자 주식회사 | 이동 단말기 |
US9473544B2 (en) * | 2012-09-25 | 2016-10-18 | Avaya Inc. | System and method for enabling hot-desking |
US8644817B1 (en) | 2012-09-26 | 2014-02-04 | Avaya Inc. | System and method for presenting a single persistent view of a multi-module communication device to a network |
US20150229635A1 (en) | 2012-10-19 | 2015-08-13 | Unify Gmbh & Co. Kg | Method and system for creating a virtual sip user agent by use of a webrtc enabled web browser |
US9112975B2 (en) * | 2012-11-05 | 2015-08-18 | Genesys Telecommunications Laboratories, Inc. | System and method for web-based real time communication with contact centers |
US9762628B2 (en) * | 2013-02-19 | 2017-09-12 | Avaya Inc. | Implementation of the semi-attended transfer in SIP for IP-multimedia subsystem environments |
US8867717B2 (en) * | 2013-03-11 | 2014-10-21 | Avaya Inc. | Dynamic device pairing with control session establishment |
US9544340B2 (en) * | 2013-03-15 | 2017-01-10 | Avaya Inc. | Application programming interface enabling communication features for different communication protocols |
-
2013
- 2013-10-15 US US14/054,286 patent/US9544340B2/en active Active
- 2013-10-15 US US14/054,275 patent/US9571529B2/en active Active
-
2014
- 2014-10-15 CN CN201410543491.4A patent/CN104580137B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474553A (zh) * | 2009-07-31 | 2012-05-23 | 雷比特公司 | 利用智能协议交换的电话通信 |
CN103227788A (zh) * | 2013-04-17 | 2013-07-31 | 广州市和声信息技术有限公司 | 实现网页应用程序与sip设备进行通信的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9571529B2 (en) | 2017-02-14 |
US20140280987A1 (en) | 2014-09-18 |
US20140280995A1 (en) | 2014-09-18 |
CN104580137A (zh) | 2015-04-29 |
US9544340B2 (en) | 2017-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580137B (zh) | 使能用于不同通信协议的通信特征的应用编程接口 | |
US11057365B2 (en) | Method and system for creating a virtual SIP user agent by use of a webRTC enabled web browser | |
AU2018208684B2 (en) | User controlled call management | |
US7466810B1 (en) | Distributed system for sharing of communication service resources between devices and users | |
US7852831B2 (en) | Method and system for providing private virtual secure Voice over Internet Protocol communications | |
US8484704B2 (en) | Next generation integration between different domains, such as, enterprise and service provider using sequencing applications and IMS peering | |
US8767715B2 (en) | Dynamic federations for establishing IP telephony sessions between enterprises | |
CN103379096B (zh) | 因特网与运营商网络业务共享方法、服务方及网页网关 | |
US20160301805A1 (en) | Government enterprise network communication device and communication method, and computer storage medium | |
KR101481285B1 (ko) | 핫-데스킹을 인에이블링하기 위한 시스템 및 방법 | |
US20110235631A1 (en) | Method and apparatus for automatic verification of telephone number mapping | |
EP2299647B1 (en) | Next generation integration between different domains, such as, enterprise and service provider using sequencing applications and IMS peering | |
US8472600B2 (en) | System and method for providing signaling in a network environment | |
Penton et al. | iLanga: A next generation VOIP-based, TDM-enabled PBX | |
Al-Saadoon | Asterisk open source to implement voice over internet protocol | |
Talevski et al. | Secure and Mobile Multimedia Convergence | |
Femminella et al. | Introduction of Media Gateway Control functions in Java Call Control | |
GB2525783A (en) | Browser-based communications enhanced with enterprise communication features | |
Watanabe et al. | A General Purpose Connection CTI Server Based on the SIP Protocol and Its Implementation | |
de la Ossa Perez | Voice over IP: Study of H. 323 and SIP | |
Yang | Handling feature interactions in the SIP servlet context |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |