在实时通信中建立媒体路径的制作方法

文档序号:13426494
在实时通信中建立媒体路径的制作方法
在实时通信中建立媒体路径相关申请的交叉引用本申请基于并要求于2015年5月5日提交的美国临时申请序列号62/157,359的优先权,其全部公开内容通过引用并入本文。技术领域本方法、电信装置、系统或软件模块总体涉及电信领域。

背景技术:
目前的全球电话网络,PSTN(公共交换电话网络),被建立以用于有限带宽(仅3.5kHz)的话音通信。宽带网络,例如互联网,也可以用于实时的个人到个人通信,例如通常称为VoIP(基于因特网协议的语音)的语音通信。互联网在端点之间传输数据,而不管数据内容或应用程序如何,因此被称为传输网络。VoIP或更广泛的实时通信(RTC)也用于简易老式电话服务(POTS)之外的多媒体通信,例如视频、呈现技术和即时通信。存在用于RTC的标准和草案,其通常由互联网工程任务组(IETF)定义。会话发起协议(SIP,RFC3261)是一种用于RTC的广泛使用的协议。RFC(请求注释)是IETF定义的互联网标准。Web实时通信(WebRTC)是在由IETF和万维网联盟(W3C)正在开发和实施标准化的网页浏览器中构建的RTC。RTC协议用于在端点装置之间建立媒体流,例如语音和视频,通常提供类似电话的功能和服务。它们经常定义呼叫建立过程,即呼叫是如何发起、进行和完成的。数据通信网络通常是诸如互联网的分组交换网络,将数据分组转发到由分组的地址指定的目的地。数据分组通常还包含从其发送的源地址。数据分组可以是包含请求、响应或表示文件、文档或媒体(如电影和语音)的数据的消息,并且在端点之间交换。数据通信网络还可以包括通过网络地址转换器(NAT)或防火墙与全球网络通信的专用段、内部网或局域网(LAN),其通常被组合并且被称为NAT或防火墙,有时也被称访问路由器。在分组交换网络中,流量是正在被发送和接收的数据分组。实时流量是语音或诸如视频的其他媒体的数据流。这样的媒体流被类似电话的服务或通过网络的呼叫使用。媒体路径通过网络传送这样的媒体流,所述网络可以由不同类型的多个网段组成。诸如各种装置、客户端和服务器之类的端点具有一个或多个网络接口,例如以太网、WiFi或LTE无线电接口,所述端点利用其连接到网络接入点。网络中的地址可以是数字(如IPv4或IPv6地址)或如完全限定域名(FQDN)的符号地址,其,例如通过域名系统(DNS)服务,被进一步解析为数字地址。这样的地址还可以由端口号进一步指定,以指示正在使用的或简单地用作上述地址类型的扩展(例如,具有指定端口的IPv4地址132.64.75.1:1234)的协议,其在此情形中通常可以是网络地址的一种形式。诸如各种装置、客户端和服务器之类的端点在网络中具有一个或多个地址,在这些地址,它们可以发送或接收流量。通常,端点的地址取决于端点的网络接口和网络的接入点。服务器是由客户端访问的网络装置。客户端可以是连接到网络的计算机或装置上的程序。应用服务器是向用户提供服务或功能的服务器。网络接入点具有不同的位置,并且可以使用诸如以太网、ADSL调制解调器、电缆调制解调器、光纤的不同固定接入技术以及诸如WiFi、3G、4G、LTE等的各种无线和移动技术。除了诸如公共因特网和专用内部网或LAN之类的普通网段之外,还存在专用网段,例如携带用于语音,并也可能用于视频但不用于通用数据流量的的信令和媒体的电话类网络。IP语音(VoIP)可以因为它在移动世界中被呼叫而通过普通数据网络(例如互联网或互联网电视(OTT)),或者通过例如使用IP网络的LTE语音(VoLTE)等的专用网段。信令通常是在网络段上的端点、代理和服务器之间的信令信道中的消息。例如,当失去无线覆盖、改变装置的接口或改变网段的接入点时,信令信道上的信令可能被中断,但随后可以被恢复以重新建立信令连接。防火墙和NAT通常阻止实时通信,这是一个由专用网络边缘的会话边界控制器(SBC)或者通过例如NAT会话穿透实用程序(STUN,RFC5389)、使用中继穿透NAT(TURN,RFC5766)和交互式连接建立(ICE,RFC5245)的方法或协议来解决的问题。TURN服务器中继两个网络地址之间的流量,并且是中继服务器的示例。TURN服务器可以由RTC端点发现,并且在密封的网段中,它然后必须用于密封网段外的RTC媒体流量。SBC还实现用于VoIP和RTC的安全性和互操作性功能,并且经常用于将互联网电话服务提供商(ITSP)的VoIP服务连接到IP-PBX,也称为SIP中继链接。IP-PBX是互联网协议(IP)专用分组交换机(PBX)。呼叫中心通常基于IP-PBX或统一通信(UC)解决方案,所述解决方案通过ITSP的SIP中继线接收呼叫。这些呼叫通常通过电话网络的免费电话号码(美国的800个号码)发起。PBX或UC功能可以是交互式语音应答(IVR)、队列、语音和视频邮件。即时通信(IM)、呈现技术、屏幕共享和组呼是其他RTC功能。协议是定义通信语言和方法的一组规则。示例是描述要使用哪种媒体和编解码器以及应该往哪里发送媒体的会话描述协议(SDP,RFC4566)。这样的实时通信可以由一个端点提供给另一端点,后者可以凭其意愿和媒体能力应答,以在端点之间建立媒体通信会话。这是一个提供和应答协议(O/A协议)。O/A协议通常确定媒体类型,例如,指定要使用哪种编解码器的语音和视频。这样的O/A协议还可以建议如何在端点之间建立媒体路径的方法和候选方案,所述方法和候选方案例如由用于穿透NAT的ICE协议定义。通常为了实时通信的目的而建立媒体路径,而更广泛的术语“通信路径”是指用于传送可以或可以不表示媒体的数据的直接或间接信道。媒体端点是耦合到网络上的媒体路径的端点,以允许媒体流流动,所述媒体流通常包含表示语音或视频的实时流量。再次建立已在媒体端点之间建立的媒体路径被称为将被重新建立。如果媒体端点可以通过或不通过服务器(例如TURN服务器)将媒体路径直接建立到另一媒体端点,则媒体端点具有点对点媒体能力。相互点对点媒体能力意味着两个端点是兼容的,并且可以在彼此之间建立直接媒体路径。会话发起协议(SIP)用于找到用户并在SIP客户端之间建立呼叫,其实时通信装置,例如硬件SIP电话或软件SIP电话,是计算机上的软件应用程序。SIP是使用注册器和代理服务器找到用户的信令协议,并进一步使用SDPO/A协议在SIP客户端端点之间建立媒体信道。SIP客户端通常包括SIP用户代理,将用户连接到SIP代理。网络实时通信(WebRTC)是正在被标准化的一组推建规范和协议,用于扩展网页浏览器,以允许在它们之间实时通信。WebRTC不指定用于找到用户的信令,但允许连接到同一个网络服务器的网络浏览器使用SDPO/A协议来建立媒体信道,用于它们之间的实时通信。WebRTC使用ICE协议,包括STUN和TURN,在WebRTC媒体端点之间建立媒体路径。因此,包括媒体端点的RTC装置可以在WebRTC浏览器中实现,WebRTC浏览器从网络服务器检索其程序代码(HTML和JavaScript形式)。对于WebRTC,媒体流使用DTLS-SRTP协议进行加密,并且被保护以免受“中间人”攻击。保护涉及通过另一个信道或路径在双方之间交换指纹(用于生成加密密钥的证书的数字签名),而不是用于生成加密密钥。这意味着媒体流量不能仅仅通过拦截媒体路径或信令路径来解密。网络浏览器是在计算机或智能电话上运行的程序,用于访问万维网(网络)、互联网上的服务或在网络服务器上实现的内部网。软件应用程序是在计算机或智能电话上运行的其他程序。网络服务器可以将程序代码,通常为JavaScript,转移到网络浏览器以在其中执行,这是与WebRTC一起使用的技术。超文本传输协议(HTTP)URL(或简称“链接”)标识web资源并指定执行它时的动作。例如,URL可以指网络资源/wiki/Main_Page,其相关的程序代码可以通过HTTP从服务器获得,该服务器的域名是example.org。在WebRTC浏览器中执行HTTPURL,可以发起将从被寻址的web服务器建立的呼叫,这是正在出现的WebRTC技术的有用特征。这样的URL可以包含电话号码和呼叫的其他信息,以例如当URL可以用于呼叫时建立时间限制。WebRTCHTTPURL可能很长、难以理解,然而存在缩短链接的服务,例如Bitly,在代表Bitly存储的、长HTTPURL的唯一字符串之后使用其短域名bitly,因此当URL在网络浏览器中执行时,它会转到Bitly,Bitly将其重定向到完整的长网络链接。这样的WebRTC点击通话链接可以由WebRTC服务器生成并存储,WebRTC服务器在浏览器中被点击时将被呼叫。例如由跟随有服务器的域名的唯一字符串组成、缩短的链接将被传递给要在WebRTC浏览器中执行此链接的用户。时间限制可以通过加密最后的有效时间或简单地通过仅在WebRTC服务器中存储链接转换来实现,只要其有效就行。点击呼叫链接,或执行此类链接的按钮,也可以在网站上使用,然后经常具有上下文相关性,即它们可以携带谁点击了链接、可能已经进行了哪些选择、它被点击的时间以及从哪儿被点击的信息。一些浏览器支持WebRTC,一些浏览器不支持WebRTC,一些浏览器比其他浏览器更好。因此,定义和识别特定域名扩展可能是有利的,例如wrtc.company.com中的wrtc,所述特定域名扩展在用于调用另外可能不可用的WebRTC功能的WebRTCHTTPURL链接中。网关用于在不同网段或协议之间进行转换,以允许服务在更多用户之间起作用。客户端在需要时访问其服务器,但RTC客户端,例如SIP或WebRTC客户端,还需要保持与其服务器的连接,用于传入信令,用于呼入或用于针对正在进行的呼叫重新建立媒体路径。媒体端点通常知道在哪些地址之间建立携带媒体流量(媒体流)的媒体路径,从而可以确定该媒体路径是否取决于特定的地址变化。是移动装置的智能电话可以在不使用时进入休眠以节省剩余的电池使用时间,但是经常可以被唤醒,以便例如接收消息,或通过来自集中式推送通知服务器的所谓推送通知来为VoIP的呼入作准备。VoIP、软客户端、智能电话以及具有RTC的扩展通信可能性和功能正在使RTC客户端的图形用户界面(GUI)变得重要。改进GUI的一种方式是基于呼叫状态(例如,空闲、活动、组呼、挂起、队列n、传输、未接收到的呼入等)来组织单独列表中的联系人(个人或用户),其中每一个联系人(在列表中或是单个)均有列出当前可用的选项(例如,呼叫、挂断、传输、挂起、会议连接、静音/取消静音视频、静音/取消静音、发送消息、更改呈现以及还可能的管理任务)的可扩展的操作菜单。这样的菜单可以通过在联系人的线上的、智能手机通常使用的小符号,例如三个垂直点符号或菜单行符号,来扩展。在实时媒体信道中,双音多频(DTMF)数字可以通过编码成音频或在数据分组中的带外编码被传送。DTMF定义的符号是0、1、2、3、4、5、6、7、8、9、#、*、A、B、C和D。

技术实现要素:
利用现代网络和具有耦合到存储器的处理器的电信装置、服务器和网关,电话术正在演进为实时通信,RTC,并且在网络上建立媒体路径后,经由网络上的信令信道建立呼叫,其中RTC媒体流量,如语音或视频,可以在媒体端点之间流动。在一个方面,呼叫的切换在一环境中实现,其中RTC装置,例如智能电话或膝上型计算机,可以具有若干网络接口,例如Wi-Fi、LTE无线或有线以太网,并且通过在RTC装置连接到服务器时创建连接标识、随后监视和测试信令信道和媒体路径两者,以及在对网络的访问改变时恢复信令信道的连接并在需要时建立或重新建立媒体路径,而在不同网段,例如互联网、内部网或电话类型的网段,从不同的接入点访问网络。在另一方面,对媒体路径的重新建立的需要由用于信令信道和媒体路径的地址的各种改变来确定。在另一方面,发送消息以监视信令信道的频率适应于呼叫是否正在进行或是否存在需要保持有效的NAT或防火墙开口,以节省处理器容量和功耗。在另一方面,形成网关以用于连接在与信令或媒体不兼容的端点之间的呼叫,或用于通过与信令或媒体不兼容的网段连接呼叫。在另一方面,通过包括代理和媒体服务器拦截网关来建立或重新建立媒体路径,用于监视、分析和记录的目的。在另一方面,通过包括TURN服务器拦截网关来建立或重新建立媒体路径,用于监视、分析和记录的目的。在另一方面,通过建立或重新建立直接媒体路径来避免不同类型的网段上的媒体路径,用于更丰富媒体、改进媒体质量、降低网络负载或降低成本呼叫。在另一方面,用于通过具有不同类型的网段的网络进行通信的系统使用两个或更多个RTC装置。在另一方面,一种用于通过网络进行通信的系统,其中耦合到RTC装置的用户代理在服务器或互连服务器中实现。在另一方面,互连服务器使用SIP协议,并且耦合到RTC装置的SIP用户代理在服务器中而不是在RTC装置中实现,如果RTC装置本身是SIP客户端,会是这种情况。在另一方面,通过偏离其定义的协议,而不是在网关中,实现与端点或与网段的兼容性,以便卸载网关。在一个方面,一种用于在端点(其具有一个网络接口或多个不同类型的、连接到不同类型的网段处的网络接入点的网络接口)之间建立或重新建立媒体路径来实现呼叫切换的方法是通过提供包括第一媒体端点、第二媒体端点和服务器的实时通信装置来实现的,RTC装置、第二媒体端点和服务器中的每一个均具有存储器和耦合到存储器的处理器,使得可以从在将要使用RTC装置和第二媒体端点的网段的接入点的地址处到达服务器,设置RTC装置的至少一个连接到某个网络接入点的网络接口以在RTC装置和服务器之间发送和接收消息,以及通过使用提供和应答协议(O/A协议)以在RTC装置和第二媒体端点之间建立和重新建立媒体路径,然后在RTC装置和服务器建立连接之后,通过创建在RTC装置和服务器之间共享的唯一连接标识以允许不响应的连接被识别和恢复,并且当用于连接到服务器的RTC装置所使用的网络接入点或网络接口可改变时或者当用于媒体路径的接入点或网络接口可以在呼叫期间改变时,通过由RTC装置收集从网段处的接入点到服务器的地址,来配置RTC装置和第二媒体端点以具有点对点媒体能力。在另一方面,RTC装置可以在网段处通过以下方式中的一个或多个收集从接入点到服务器的地址:从呼叫建立过程检索一个或多个到服务器的地址;检索作为来自服务器的消息的源地址的、到服务器的一个或多个地址;从服务器接收向服务器传送一个或多个地址的消息;使用DNS或其他数据库查找到服务器的地址;将预定地址的列表存储到服务器;由RTC装置重复发送消息到服务器的地址;如果没有收到响应,则尝试到服务器的其他收集的地址,直到收到响应并通过继续发送消息到响应收到的地址来恢复信令连接性;在RTC装置与服务器之间恢复信令之后,由RTC装置将连接标识提交给服务器,用于恢复特定的连接,以便能够接收呼叫或使用O/A协议来建立或重新建立在RTC装置与第二媒体端点之间的媒体路径;通过监视或获知是否需要重新建立媒体路径,由RTC装置确定对媒体路径的重新建立的需要;如果需要重新建立媒体路径,则在RTC装置和第二媒体端点之间,通过经由服务器使用O/A协议,由RTC装置来发起媒体路径的重新建立。在另一方面,用于在端点(其具有一个网络接口或多个不同类型的、连接到不同类型的网段处的网络接入点的网络接口)之间建立或重新建立媒体路径的方法包括由RTC装置确定对媒体路径的重新建立的需要,所依据的是改变地址的事件或媒体路径条件的出现,采取了以下方式中的一个或多个,所述RTC装置检测或得知来自服务器的消息,即用于连接到服务器的其地址已经改变,并且所述媒体路径取决于该改变的地址;RTC装置从服务器接收消息,其中与较早的消息相比,该消息的目的地地址已经改变,并且该媒体路径取决于改变的地址;RTC装置检测到其用于媒体路径的地址已经改变;该RTC装置从经由服务器来自第二媒体端点的消息得知,由第二媒体端点用于媒体路径的地址已经改变;以及该RTC装置检测或得知在RTC装置与第二媒体端点之间的媒体路径的任一方向上的流量已经停止或变得不畅。在另一方面,用于在端点(其具有一个网络接口或多个不同类型的、连接到不同类型的网段处的网络接入点的网络接口)之间建立或重新建立媒体路径的方法包括取决于呼叫是否正在进行,或是否存在需要保持有效的NAT或防火墙开口而由RTC装置适配重复将消息发送到服务器的频率。在另一方面,用于在端点(其具有一个网络接口或多个不同类型的、连接到不同类型的网段处的网络接入点的网络接口)之间建立或重新建立媒体路径的方法包括将第二媒体端点与形成网关的服务器集成,当由RTC装置使用的协议需要媒体加密,加密密钥通过媒体端点在媒体路径上协商,并且通过检查通过信令信道仅对服务器可用的指纹来防止中间人攻击时,用于将呼叫连接到与RTC装置关于信令或媒体不兼容的端点,或者用于通过关于信令或媒体不兼容的网段连接呼叫。在另一方面,一种用于在端点之间建立媒体路径的方法,用于拦截和解密RTC装置与使用通信协议的RTC服务之间的实时通信媒体流量,其中媒体流量通过使用指纹而受到保护,以防止中间人攻击,用于监视、分析和记录的目的,所述方法通过提供包括第一媒体端点、第二媒体端点、RTC服务器和拦截网关的实时通信装置来实现,RTC装置、第二媒体端点、RTC服务器和拦截网关中的每一个均具有存储器和耦合到该存储器的处理器,利用拦截网关与用于由RTC服务和媒体服务器使用的通信协议的代理集成,代理和媒体服务器中的每一个均具有存储器和耦合到该存储器的处理器,通过重写消息的代理在RTC装置与媒体服务器之间以及在媒体服务器与第二媒体端点之间建立RTC媒体路径,通过重写消息的代理来设置指纹,用于由媒体服务器拦截、解密和传送RTC媒体流量,以及配置RTC装置以使用用于由RTC服务使用的通信协议的所述代理。在另一方面,一种用于在端点之间建立媒体路径的方法,用于拦截和解密RTC装置与使用TURN协议的RTC服务之间的实时通信媒体流量,其中媒体流量通过使用指纹而受到保护,以防止中间人攻击,用于监视、分析和记录的目的,所述方法通过提供包括第一媒体端点、第二媒体端点、RTC服务器和拦截网关的实时通信装置来实现,RTC装置、第二媒体端点、RTC服务器和拦截网关中的每一个均具有存储器和耦合到该存储器的处理器,将具有存储器和耦合到该存储器的处理器的TURN服务器与拦截网关集成,通过配置RTC装置或RTC服务配置以使用TURN服务器,或通过其中一个媒体端点在密封网段中发现TURN服务器,而在RTC装置与TURN服务器之间以及在TURN服务器与第二媒体端点之间建立RTC媒体路径,以及由第一媒体端点或第二媒体端点将用于RTC媒体流量的解密密钥传送到拦截网关,以解密通过拦截网关的RTC媒体流量。在另一方面,一种用于在具有点对点媒体能力的端点之间建立或重新建立媒体路径的方法,所述端点通过网络与不同类型的网段之间的网关连接,来实现直接媒体路径,用于更丰富的媒体、改进媒体质量、降低网络负载或降低成本呼叫,所述方法通过提供包括第一媒体端点、第二媒体端点和互连服务器的实时通信装置来实现,RTC装置、第二媒体端点和互连服务器中的每一个均具有存储器和耦合到存储器的处理器,通过使用提供和应答协议(O/A协议)来配置RTC装置和第二媒体端点以具有点对点媒体能力,以建立和重新建立用于不同类型的媒体流量的媒体路径,尝试在RTC装置和第二媒体端点之间建立呼叫,不知道它们是否具有相互的点对点媒体能力或不知道互连服务器是否在RTC装置和第二媒体端点之间传送O/A协议,以在RTC装置和第二媒体端点之间建立直接媒体路径,由RTC装置将第一信令信道建立到与第二媒体端点连接的互连服务器,并由RTC装置接收关于相互的点对点媒体兼容性的指示,然后调用用于直接媒体路径的建立或重新建立的进程。在另一方面,用于直接媒体路径的建立或重新建立的进程由以下方式中的一个或多个来调用:由RTC装置请求使用O/A协议来建立用于呼叫的直接媒体路径,所述O/A协议可通过RTC装置和第二媒体端点之间的端到端信令信道被压缩;由RTC装置请求在RTC装置与第二媒体端点之间,通过建立的第一媒体路径,使用可被压缩的O/A协议来建立用于呼叫的直接媒体路径;由RTC装置发送关于呼叫建立的信息和RTC装置连接到的互连服务器的网络地址,所述网络地址可以是HTTPURL的形式,所述HTTPURL可以通过建立的第一媒体路径或通过端到端信令信道来缩短、压缩、限制时间或DTMF编码,以建立用于使用O/A协议的呼叫的直接媒体路径;以及由第二媒体端点接收关于相互的点对点媒体兼容性的指示;然后调用用于直接媒体路径的建立或重新建立的进程。在另一方面,用于直接媒体路径的建立或重新建立的进程由以下方式中的一个或多个调用:由第二媒体端点请求在RTC装置与第二媒体端点之间,通过端到端信令信道,使用可被压缩的O/A协议来建立用于呼叫的直接媒体路径;由第二媒体端点请求在RTC装置与第二媒体端点之间,通过建立的第一媒体路径,使用可被压缩的O/A协议来建立用于呼叫的直接媒体路径;以及由第二媒体端点发送关于呼叫建立的信息和第二媒体端点连接到的互连服务器的网络地址,所述网络地址可以是HTTPURL的形式,所述HTTPURL可以通过建立的第一媒体路径或通过端到端信令信道被缩短、压缩、限制时间或DTMF编码,以建立用于使用O/A协议的呼叫的直接媒体路径。在另一方面,第二端点是另一个RTC装置或网关。在另一方面,用于通过网络进行通信的系统包括两个或更多个RTC端点。在另一方面,系统的客户端由电信装置实现。在另一方面,可以是会话边界控制器的一部分的系统的服务器端由电信装置实现。在另一方面,用于电信的装置包括程序并且可以向客户端发送程序。在另一方面,用于电信的装置是网络服务器。在另一方面,系统的客户端或服务器端由在网络浏览器中,或者作为用于智能电话、平板电脑、膝上型计算机或个人计算机或计算机服务器的应用程序,或者在包括用于执行程序的处理器的电信装置中的软件模块实现。在另一方面,软件模块包括执行功能的程序,诸如:向端点发送消息(164),所述消息(164)可以通过媒体路径(146)被缩短、压缩、限制时间或DTMF编码;接收来自端点的消息(164),所述消息(164)可以通过媒体路径(146)被缩短、压缩、限制时间或DTMF编码;在使用用于媒体流量的替代媒体路径之前,建立额外的替代媒体路径,该媒体路径的质量或其他度量被评估;使用会话发起协议(SIP)进行实时通信;使用网络实时通信(WebRTC)协议进行实时通信;使用交互式连接建立(ICE)在端点之间建立媒体路径;使用“NAT会话穿透实用程序”(STUN)协议建立媒体路径;使用“使用中继穿透NAT”(TURN)协议使用中继建立媒体路径;从自学习进程存储知识,无论端点或网段是否具有相互的点对点媒体兼容性;生成WebRTCHTTPURL点击呼叫链接,所述链接可能会受到时间限制、可以被存储在WebRTC服务器中并以缩短的形式发送到WebRTC浏览器用户;执行WebRTCHTTPURL链接,所述链接可能受时间限制、被存储在WebRTC服务器中并以缩短的形式从WebRTC浏览器用户接收;在用于调用另外可能不可用的WebRTC功能的WebRTCHTTPURL链接中标识特定的域名扩展,例如在wrtc.company.com中的wrtc;在用于RTC客户端的图形用户界面中基于呼叫状态组织在列表中的联系人;通过移动应用程序中使用的小的三垂直点符号或菜单行符号,在用于RTC客户端的图形用户界面中表示用于单个联系人的可扩展动作菜单;唤醒智能手机或其他移动设备,以通过推送通知接收来电;集成专用分组交换机(PBX)功能;集成会话边界控制器(SBC)功能;集成统一通信(UC)解决方案功能;将WebRTC集成到SIP网关功能;集成呼叫中心或联系中心功能,生成上下文相关的点击呼叫链接;执行上下文相关的点击呼叫链接;使用WebRTC浏览器作为客户端连接呼叫代理;并且提供即时通信(IM)、呈现技术、屏幕共享和组呼功能。在另一方面,耦合到系统的RTC装置的用户代理在服务器、互连服务器或RTC服务器中实现。在另一方面,互连服务器在彼此之间使用SIP协议,并且在互连服务器中实现耦合到RTC装置的SIP用户代理。在另一方面,服务器或互连服务器与网关或拦截网关组合。在另一方面,当用于媒体端点的所定义的O/A协议与端点或网段不兼容时,通过偏离所定义的O/A协议,在媒体端点中实施与端点和网段兼容以进行通信的O/A协议,卸载网关从而实现通信,并且当用于媒体端点的所定义的媒体路径能力与端点或网段不兼容时,通过偏离所定义的媒体路径能力,在媒体端点中实现与端点和网段兼容以进行通信的媒体路径能力,卸载网关从而实现通信。附图说明并入本文并形成本说明书一部分的附图示出了本发明的各种实施例,并且与具体实施方式一起还用于解释本发明的原理,并且使相关的技术人员能够制作和使用本发明。在附图中,相似的参考号表示相同的或功能相似的元件。本发明更完整的理解及其许多附带的优点将易于获得,在结合附图考虑时,通过参考以下详细描述可以更好地理解,其中:图1示出了根据相关技术的装置、端点、服务器、代理和包括连接处理器的存储器的网关;图2示出了根据相关技术,使用一个服务器、用于两个RTC装置之间的实时通信的系统;图3示出了根据相关技术,用于不同网段处的端点之间的实时通信的系统;图4示出了根据相关技术,用于由网关分离的不同网段上的端点之间的实时通信的系统;图5示出了根据本发明实施例,使用一种方法的系统,该方法用于端点之间的呼叫切换;图6示出了根据本发明实施例,使用一种方法的系统,该方法用于呼叫切换,该系统包括网关;图7示出了根据本发明实施例,使用一种方法的系统,该方法用于使用代理和媒体服务器拦截和解密实时通信(RTC)媒体流量;图8示出了根据本发明实施例,使用一种方法的系统,该方法用于使用TURN服务器拦截和解密实时通信(RTC)媒体流量;图9示出了根据本发明的实施例,使用一种方法以在不同类型的网段上的端点之间获得直接媒体路径的系统;图10A和10B示出了根据实施例,用于在呼叫切换的端点之间建立或重新建立媒体路径的进程;图11示出了根据使用代理的实施例,用于建立用于拦截端点之间的RTC流量的媒体路径的进程;图12示出了根据使用TURN服务器的实施例,用于建立用于拦截端点之间的RTC流量的媒体路径的进程;以及图13示出了根据实施例,用于在端点之间建立或重新建立直接媒体路径的进程。具体实施方式在图5中示出了根据实施例,用于在端点之间建立或重新建立媒体路径的方法,其中端点具有一个网络接口194或多个不同类型的网络接口194,并且被连接到在不同类型的网段104、106、108处的网络接入点140,来实现呼叫切换。移动电话通常允许在通过不同的手机信号塔接入电话网络时维持呼叫并继续。类似地,当使用不同的网络接口(例如,固定以太网、Wi-Fi、移动3G数据和LTE)和经由各种网络接入服务提供商时,建立和重新建立媒体流的这个实施例允许实时通信装置(RTC装置)200(例如,智能电话上的软件客户端或应用程序),以当网络接入点改变时保持正在进行的呼叫。为了实现这种切换呼叫的能力,包括媒体端点202和与其通信的另一媒体端点203的实时通信装置(RTC装置)200通过使用提供和应答协议(O/A协议)160而具有点对点媒体能力,以在它们之间建立和重新建立媒体路径146。这种媒体路径可以通过图3所示的防火墙或NAT以及图1所示的TURN服务器。两个端点可以连接到服务器210,在某个地址120处可从网段104、106和108处的接入点140到达该服务器210,其中将使用该端点;RTC装置(200)经由连接到某个网络接入点140的至少一个网络接口(194),该网络接入点140通过发送和接收消息164建立到服务器210或通过服务器210的信令信道。即使由于经由另一网段104、106、108访问,服务器210的数字地址可能已经改变,RTC装置200也可以经由在DNS中查找的FQDN到达服务器210。服务器210可以利用在各段上的单独地址120连接到几个网段。然后改变其对另一网段104、106、108的访问的RTC装置200可以在接入点140改变之前,在其所连接的各个网段104、106、108上从服务器210接收服务器210的地址120,然后可以经由新的网段重新连接。在RTC装置200与服务器210之间建立连接之后,在RTC装置200与服务器210之间创建和共享唯一的连接标识以允许识别和恢复不响应的连接。当由用于连接到服务器210的RTC装置200使用的网络接入点140或网络接口194可能改变时,或者当用于媒体路径146的接入点140或网络接口194可能在呼叫期间改变时,以下步骤可以建立或重新建立媒体路径146:-RTC装置(200)通过以下方式从在网段104、106和108处的接入点140收集到服务器210的地址120:从呼叫建立进程检索一个或多个到服务器210的地址120;从服务器210检索一个或多个作为消息164的源地址的、到服务器210的地址120;接收将一个或多个地址120传送到服务器210的、来自服务器210的消息164;使用DNS或查找到服务器210的地址120的其他数据库;或者存储到服务器210的预定地址120的列表。-RTC装置200将消息164重复地发送到服务器210的地址120,并且如果没有接收到响应,则尝试到服务器210的其他收集的地址120,直到接收到响应,并且通过继续发送消息(164)到接收响应的地址(120)来恢复信令连接性。-如果恢复了RTC装置200与服务器210之间的信令,则RTC装置200向服务器210呈现连接标识,用于恢复特定连接,以便能够接收呼叫或使用O/A协议160,从而在RTC装置200与第二媒体端点203之间建立和重新建立媒体路径。-RTC装置210通过监视或得知媒体路径146是否需要被重新建立,来确定对媒体路径的重新建立的需要。-如果需要重新建立媒体路径,则RTC装置200通过经由服务器210使用O/A协议160来发起媒体路径146的重新建立。媒体信道通常被分开地监视,并且仅当已被中断或显示不良品质时试图重新建立。在另一个进行呼叫切换的实施例中,也参考图5,RTC装置200可以通过出现以下改变的地址或媒体路径条件中的一个来检测对媒体路径的重新建立的需要:-RTC装置200检测来自服务器210的消息164或从该消息164得知,其用于连接到服务器210的地址已经改变,并且媒体路径146取决于该改变的地址。-RTC装置200从服务器210接收消息164,其中消息164的目的地地址与先前消息相比已经改变,并且媒体路径164取决于该改变的地址。-RTC装置200检测到其用于媒体路径146的地址已经改变。-RTC装置200经由服务器从来自第二媒体端点203的消息164得知,用于由第二媒体端点使用的媒体路径146的地址已经改变。-RTC装置200检测或得知在RTC装置200和第二媒体端点203之间的媒体路径146的任一方向上的流量已经停止或变得不畅。媒体信道通常是分开监视的,并且只有当中断或显示差的质量时才试图重新建立。在另一进行呼叫切换的实施例中,也参考图5,RTC装置200根据呼叫是否正在进行或者是否存在需要保持有效的NAT或者防火墙开口来适配将消息重复发送到服务器210的频率。图6中示出了另一个实施例,其中当RTC装置200使用的协议需要媒体加密和加密密钥由媒体端点202、203在媒体路径146上协商,并通过检查通过信令信道仅对服务器210可用的指纹来进行保护免受中间人攻击时,网关222将第二媒体端点203与服务器210集成,用于将呼叫连接到关于信令或媒体,与RTC装置200不兼容的端点,或用于在关于信令或媒体不兼容的网段104、106、108上连接呼叫。图7中示出了根据实施例,用于在端点之间建立或重新建立媒体路径,以使用通信协议拦截和解密RTC装置200和RTC服务228之间的实时通信(RTC)媒体流量的方法,其中媒体流量通过使用指纹而受到保护,以防止中间人攻击,用于监视、分析和记录的目的。例如WebRTC的现代协议不仅允许加密媒体流量,而且甚至授权在端点之间加密媒体流量,并且包括进行保护以防止中间人攻击,使得呼叫中心和其他人难以监视、分析和记录RTC通信。在该实施例中,代理211用于获得对信令的控制,并且媒体服务器214正在拦截、解密和中继转发媒体流量。实时通信装置(RTC装置)200包括第一媒体端点202、第二媒体端点203、RTC服务器218和拦截网关224,RTC装置200、第二媒体端点203、RTC服务器218和拦截网关224中的每一个均具有存储器192和耦合到存储器192的处理器190。拦截网关224集成了用于由RTC服务228和媒体服务器214使用的通信协议的代理211,代理211和媒体服务器214中的每一个均具有存储器192和耦合到存储器192的处理器190。由重写消息164、164b的代理211在RTC装置200与媒体服务器214之间以及在媒体服务器214与第二媒体端点203之间建立RTC媒体路径。指纹由重写消息164、164b的代理211设置,用于由媒体服务器214进行RTC媒体流量的拦截、解密和传送。RTC装置200被配置成使用用于由RTC服务228使用的通信协议的所述代理211。图8中示出了根据另一个实施例,用于在端点之间建立或重新建立媒体路径,以使用TURN协议来拦截和解密RTC装置200与RTC服务228之间的实时通信(RTC)媒体流量的方法,其中媒体流量通过使用指纹而受到保护,以防止中间人的攻击,用于监视、分析和记录的目的。例如WebRTC的现代协议不仅允许加密媒体流量,而且甚至授权在端点之间加密媒体流量,并且包括进行保护以防止中间人攻击,使得呼叫中心和其他人难以监视、分析和记录RTC通信。在该实施例中,TURN服务器216正在中继转发媒体流量。如果如IETFdraft-schwartz-rtcweb-return-06中所描述的那样TURN服务器被认为是“密封的”,或者如果TURN服务器被软件应用程序自动发现或分配并被强制为将要使用,则媒体流将流经TURN服务器。拦截网关也可以内置在IP默认网关或媒体端点之间的防火墙/NAT中。拦截服务器的另一个位置可能在处理本地或专用网络与全球传输网络之间的实时流量的装置中,以处理RTC处于专用域上并且外部流量将要被监视的使用情况。也可以使用所提出的方法来分析到这种专用域的、将其媒体发送到所述拦截服务器的远程用户。此外,客户端,例如配置为这样做的WebRTC浏览器,可以通过修改ICE程序或通过其他方式通过拦截服务器来建立媒体。对于不实施传递密钥或不通过拦截服务器建立媒体的客户端,例如,当前浏览器,这样的东西可以通过插件或扩展添加到浏览器。实时通信装置(RTC装置)200包括第一媒体端点202、第二媒体端点203、RTC服务器218和拦截网关224,RTC装置200、第二媒体端点203、RTC服务器218和拦截网关224中的每一个均具有存储器192和耦合到存储器192的处理器190。拦截网关224将具有存储器192和与存储器192耦合的处理器190的TURN服务器216与拦截网关224集成。通过配置RTC装置200或RTC服务228以使用TURN服务器216,或者通过发现密封网段中的TURN服务器216的媒体端点202或203之一,在RTC装置200与TURN服务器216之间以及在TURN服务器216与第二媒体端点203之间建立RTC媒体路径。用于RTC媒体流量的解密密钥由第一媒体端点202或由第二媒体端点203传送到拦截网关224,以解密通过拦截网关224的RTC媒体流量。拦截服务器还可以内置到通常处理媒体流以穿透NAT和防火墙的SBC(会话边界控制器)中。图9示出了根据实施例,用于在具有点对点媒体能力的端点202、203之间建立或重新建立媒体路径的方法,所述端点通过网络与不同类型的网段104、106、108之间的网关222连接,来实现用于更丰富的媒体、改进媒体质量、降低网络负载或降低成本呼叫的直接媒体路径。即使当呼叫从LAN(内部网类型的网段)上或因特网上的计算机客户端或IP电话开始时,VoIP服务几乎总是将网关功能包括在电话类型的网段中,甚至当其它端点是兼容的VoIP电话时,媒体流量也受到限制或代价昂贵,因为它涉及电话类型的网段。使用现代协议,例如WebRTC和SIP或其组合,也能够进行视频,在兼容端点之间建立直接媒体路径将是有利的,而不是通过电话类型的网段建立媒体路径。实时通话呼叫,今天也是大多数电话呼叫,将在两步进程中的端点与信令信道上的消息连接,信令信道可以通过几个网段和互连服务器210、212,随后是媒体信道建立,其也可通过几个网段和服务器。这些连接中的任何一个可以用于在端点之间发送和接收至少有限数量的数据,并且应当注意,用于常规语音电话的媒体路径仍然能够,例如以DTMF数字的形式,传送数据内容。当两个端点已经在彼此之间建立信令信道或媒体路径(其不是端点之间的直接媒体路径)时,可能有利的是继续设置进程以建立或重新建立端点之间的、也称为点对点媒体路径的直接媒体路径,所述媒体路径否则可能是多个其间具有网关的网段之间的媒体路径。端点中的任一个可以向另一端点指示它具有点对点媒体路径能力,并且端点中的任一个可以发起这样的建立或重建。在这种情况下,这种直接媒体路径可以包括TURN服务器,并且仍然被认为是直接媒体连接。通过使用O/A协议,发起媒体路径的建立或重新建立可以在信令信道或媒体路径上以信号表示。然而,如果媒体路径仅用于语音,则O/A协议可能太长,使得,例如,不能编码成DTMF数字,并且不能通过该语音信道传输。在这种情况下,可以使用压缩版本的O/A协议。或者(通常更好地),一个端点可以请求另一个端点连接到自身连接到的相同服务器,通过该端点可以执行O/A协议,并且可以建立端点之间的直接媒体连接。该机制可以在WebRTC浏览器中实现,该浏览器与通过其信令被传送的服务器(网络服务器)联系。然后可以将该请求实现为通过信令信道或媒体路径将HTTPURL传送到另一端点,之后,完整的O/A协议可以经由当时的公用服务器210以信号表示。实时通信装置(RTC装置)200包括第一媒体端点202、第二媒体端点203和互连服务器212、212b,RTC装置200、第二媒体端点203和互连服务器212、212b中的每一个均具有存储器192和耦合到存储器192的处理器190。RTC装置200和第二媒体端点203被配置为通过使用提供和应答协议(O/A协议)来具有点对点媒体能力,以便建立和重新建立用于不同类型媒体流量的媒体路径。当尝试在RTC装置200和第二媒体端点203之间建立呼叫时,不知道它们是否具有相互的点对点媒体兼容性,或者不知道互连服务器212、212b是否在RTC装置200和第二媒体端点203之间传送O/A协议,以在RTC装置200和第二媒体终点203之间建立直接媒体路径148,以下步骤可以建立直接媒体路径148:-RTC装置200建立到互连服务器212b的第一信令信道150,第二媒体端点203连接到互连服务器212b。-或者RTC装置200接收到关于相互的点对点媒体兼容性的指示,然后调用用于直接媒体路径的建立或重新建立的以下进程之一:RTC装置200请求在RTC装置200与第二媒体端点203之间,通过端到端信令信道152,使用可被压缩的O/A协议来建立用于呼叫的直接媒体路径148;或RTC装置200请求在RTC装置200与第二媒体端点203之间,通过建立的第一媒体路径146,使用可被压缩的O/A协议来建立用于呼叫的直接媒体路径148;或RTC装置200发送关于呼叫建立的信息和RTC装置200连接到的互连服务器212的网络地址,所述网络地址可以是HTTPURL的形式,其可以通过建立的第一媒体路径146或通过端到端信令信道152被缩短、压缩、限制时间或DTMF编码,用于使用O/A协议建立用于呼叫的直接媒体路径148。-或者第二媒体端点203接收关于相互的点对点媒体兼容性的指示,然后调用用于直接媒体路径的建立或重新建立的以下进程之一:第二媒体端点203请求在RTC装置200与第二媒体端点之间,通过建立的第一媒体路径146,使用可以被压缩的O/A协议来建立用于呼叫的直接媒体路径148;或第二媒体端点203请求在RTC装置200与第二媒体端点之间,通过建立的第一媒体路径146,使用可以被压缩的O/A协议来建立用于呼叫的直接媒体路径148;或第二媒体端点203发送关于呼叫建立的信息和第二媒体端点203连接到的互连服务器212b的网络地址,所述网络地址可以是HTTPURL的形式,其可以通过建立的第一媒体路径146或通过端到端信令信道152被缩短、压缩、限制时间或DTMF编码,用于使用O/A协议建立用于呼叫的直接媒体路径148。对于另一实施例,参考图5、7、8和9,第二端点203可以是另一个RTC装置200或网关222、224。另一实施例可以是用于通过网络进行通信的系统,该系统使用用于建立或重新建立媒体路径的方法,还包括两个或更多个端点202、203、203b。在另一实施例中,耦合到RTC装置200的用户代理在服务器210或互连服务器212、212b中实现。参考图9的另一实施例是其中互连服务器212、212b在彼此之间使用SIP协议,并且耦合到RTC装置200的SIP用户代理在互连服务器212、212b中实现的系统。参考图6的另一实施例是卸载网关222来实现通信:(i)当用于媒体端点202、203、203b的所定义的O/A协议与端点208或206或网段104、106或108不兼容时,通过偏离所定义的O/A协议,在媒体端点202、203、203b中实现与端点和网段兼容以与其通信的O/A协议;以及(ii)当用于媒体端点202、203、203b的所定义的媒体路径能力与端点208或206或网段104、106或108不兼容时,通过偏离所定义的媒体路径能力,在媒体端点202、203、203b中实现与端点和网段兼容以与其通信的媒体路径能力,从而卸载网关222来实现通信。在另一个实施例中,用于通过网络通信的系统包括两个或更多个RTC端点。在另一个实施例中,系统的客户端由电信装置实现。在另一个实施例中,可以是会话边界控制器的一部分的系统的服务器端由电信装置实现。在另一个实施例中,用于电信的装置包括程序,并且可以向客户端发送程序。在另一个实施例中,用于电信的装置是网络服务器。在另一个实施例中,系统的客户端或服务器端由网络浏览器中的软件模块实现,软件模块或作为用于智能手机、平板电脑、膝上型计算机或个人计算机或计算机服务器的应用程序,或在包括用于执行程序的处理器的电信装置中。在另一个实施例中,耦合到系统的RTC装置的用户代理在服务器、互连服务器或RTC服务器中实现。在另一个实施例中,互连服务器在彼此之间使用SIP协议,并且在互连服务器中实现与RTC装置耦合的SIP用户代理。在另一个实施例中,服务器或互连服务器与网关或拦截网关组合。在图10A和10B中示出了根据实施例,用于在用于呼叫切换的端点之间建立或重新建立媒体路径的进程。在图10A所示的第一操作1002中,提供包括第一媒体端点、第二媒体端点和服务器的实时通信装置(RTC装置)。在第二操作1004中,使在网段处的接入点的地址可到达服务器。在第三操作1006中,连接到某个网络接入点的RTC装置的至少一个网络接口被设置成在RTC装置和服务器之间发送和接收消息。在第四操作1008中,RTC装置和第二媒体端点被配置为通过使用提供和应答协议(O/A协议)而具有点对点媒体能力,以建立和重新建立RTC装置与RTC装置之间的媒体路径。在第五操作1010中,创建在RTC装置和服务器之间共享的唯一连接标识以允许识别和恢复不响应的连接。在第六操作1012中,由RTC装置从在网段处的接入点收集到服务器的地址。在图10B所示的第七操作1014中,消息由RTC装置重复发送到服务器的地址,并且如果没有收到响应,则尝试到服务器的其他收集的地址,直到收到响应,并且通过继续向收到响应的地址发送消息来恢复信令连接。在第八操作1016中,RTC装置向服务器呈现连接标识以恢复特定连接,以便能够接收呼叫或使用O/A协议来建立或重新建立RTC装置和第二媒体端点之间的媒体路径。在第九操作1018中,由RTC装置确定重新建立媒体路径的需要,并且如果需要重新建立媒体路径,则发起媒体路径的重新建立。在图11中示出了根据使用代理的实施例,用于建立用于拦截端点之间的RTC流量的媒体路径的进程。在第一操作1102中,提供包括第一媒体端点、第二媒体端点、RTC服务器和拦截网关的实时通信(RTC)装置。在第二操作1104中,利用拦截网关集成用于由RTC服务和媒体服务器使用的通信协议的代理。在第三操作1106中,在RTC装置与媒体服务器之间以及在媒体服务器与第二媒体端点之间建立RTC媒体路径。在第四操作1108中,由重写消息的代理来设置用于拦截的指纹,用于由媒体服务器来进行RTC媒体流量的解密和传送。在第五操作1110中,RTC装置被配置为使用用于由RTC服务使用的通信协议的代理。在图12中示出了根据使用TURN服务器的实施例,用于建立用于拦截端点之间的RTC流量的媒体路径的进程。在第一操作1202中,提供包括第一媒体端点、第二媒体端点、RTC服务器和拦截网关的实时通信装置(RTC装置)。在第二操作1204中,TURN服务器与拦截网关集成。在第三操作1206中,在RTC装置与TURN服务器之间以及在TURN服务器与第二媒体端点之间建立RTC媒体路径。在第四操作1208中,用于RTC媒体流量的解密密钥由第一媒体端点(202)或由第二媒体端点传送到拦截网关(224)。在图13中示出了根据实施例,用于在端点之间建立或重新建立直接媒体路径的进程。在操作1302中,提供了包括第一媒体端点、第二媒体端点和互连服务器的实时通信装置(RTC装置),RTC装置、第二媒体端点和互连服务器中的每一个均具有存储器和耦合到存储器的处理器。在操作1304中,通过使用提供和应答协议(O/A协议),将RTC装置和第二媒体端点配置为具有点对点媒体能力,以便建立和重新建立用于不同类型的媒体流量。在操作1306中,尝试在RTC装置与第二媒体端点之间建立呼叫,不知道它们是否具有相互的点对点媒体兼容性,或者不知道互连服务器是否在RTC装置与第二媒体端点之间传送O/A协议,以在RTC装置和第二媒体端点之间建立直接媒体路径。在操作1310中,RTC装置接收关于相互的点对点媒体兼容性的指示,然后调用用于直接媒体路径的建立或重新建立的进程。在操作1312中,第二媒体端点接收关于相互的点对点媒体兼容性的指示,然后调用用于直接媒体路径的建立或重新建立的进程。实施例可以在计算硬件(计算设备)和/或软件,例如(在非限制性示例中)可以存储、检索、处理和/或输出数据和/或与其他计算机通信的任何计算机中实施。实施实施例的程序/软件可以被记录在包括计算机可读记录介质的计算机可读介质上。实现实施例的程序/软件也可以通过传输通信介质传输。计算机可读记录介质的示例包括磁记录设备、光盘、磁光盘和/或半导体存储器(例如RAM、ROM、FLASH等)。磁记录装置的示例包括硬盘装置(HDD)、软盘(FD)和磁带(MT)。光盘的示例包括DVD(数字通用光盘)、DVD-RAM、CD-ROM(光盘-只读存储器)和CD-R(可记录)/RW。通信介质的示例包括载波信号。此外,根据实施例的一个方面,可以提供所描述的特征、功能和/或操作的任何组合。根据详细说明书,实施例的许多特征和优点是显而易见的,因此,所附权利要求书旨在覆盖落入其真实精神和范围内的实施例的所有这些特征和优点。此外,由于本领域技术人员将容易想到许多修改和变化,因此不希望将本发明的实施例限制在所示和所描述的精确结构和操作上,因此所有适当的修改和等同物可以被认为落入其范围内。在说WebRTC时,它也可能意味着(或应用于)其他实时通信协议或通常的通信方式。
...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1