用于建立媒体会话的方法和装置制造方法及图纸

技术编号:28987364 阅读:20 留言:0更新日期:2021-06-23 09:38
通过并行地从第一端点发送以下消息,在第一端点和第二端点之间建立媒体会话:到第二端点的,发送指示对第一端点可用的媒体中继服务器的第一服务器网络地址并且包括唯一的会话标识符的消息;到媒体中继服务器的,发送包括唯一的会话标识符的激活请求。这通过使其在媒体中继服务器处与由激活请求传送的源地址相关联来激活会话标识符。一旦会话标识符被激活,在第一服务器网络地址处从第二端点接收的包括唯一会话标识符的媒体分组从媒体中继服务器被中继到源地址以用于由第一端点来接收。

【技术实现步骤摘要】
用于建立媒体会话的方法和装置本申请是申请日为2016年6月24日、申请号为201680037441.6的专利技术专利申请“用于建立媒体会话的方法和装置”的分案申请。
技术介绍
通信网络可以例如是基于分组的网络和/或互联网。网络通常包括不同类型的网络节点,例如,用户设备、路由器、网络地址转换器(NAT)、代理服务器、媒体中继服务器等,其在网络内执行不同功能。例如,路由器在互联网的各个网络之间路由分组。NAT也执行这样的路由以及执行网络地址转换,即掩盖发送方的网络地址。两个通信节点(例如,用户设备)之间的通信可以是经由网络的其他节点的,即中间节点,例如路由器、NAT和媒体中继服务器。连接到网络的(例如,用户设备、服务器等的)每一个活跃的网络接口被分配有网络地址(例如,IP(互联网协议)地址),使得数据可以经由网络被路由到该网络地址。这可以例如在公共网络的情况下由ISP(互联网服务提供商)分配或由其他网络管理员分配。可以在经由通信网络连接的两个端点(例如,用户设备)之间建立媒体会话,使得实时媒体在这些端点之间可以经由网络被发送和接收。端点运行客户端软件以使媒体会话能够被建立。媒体会话可以是IP语音或视频(VOIP)会话,其中呼叫的音频和/或视频数据作为媒体流在VOIP会话中的端点之间被发送和接收。端点和其他类型的网络节点可以由网络地址(例如,IP地址)来标识。传输地址由IP地址和标识与IP地址相关联的端口的端口编号组成。可以在与端点相关联的传输地址之间建立媒体会话。媒体会话的示例是SIP(“会话初始化协议”)媒体会话。例如建立或终止呼叫或其他通信事件的SIP信令可以经由一个或多个SIP(代理)服务器。为此,SIP代理在端点之间转发SIP请求(例如“邀请(INVITE)”、“确认(ACK)”、“再见(BYE)”)和SIP响应(例如“100尝试(100TRYING)”,“180振铃(180RINGING)”,“200确定(200OK)”)。与媒体中继服务器形成对比,媒体(音频/视频)数据本身并不经由基本SIP代理来流送,即代理仅处理信令,尽管在某些情况下可能在某些情况下将代理和媒体中继功能进行组合。为了建立媒体会话,端点中的一个可以将媒体会话请求发送到其他端点。本文中,发起针对媒体会话(例如,音频/视频通信)的请求的端点被称为“发起端点”或者等同于“呼叫方端点”。接收并且处理来自呼叫方的通信请求的端点被称为“响应端点”或“被呼叫方端点”。每一个端点都可以具有多个相关联的传输地址,例如,本地传输地址、NAT的公共端的传输地址、被分配在中继服务器上的传输地址等。在媒体会话建立期间,对于每一个端点,可以针对该端点选择相应的地址以用于发送和接收媒体会话中的数据。例如,地址可以根据ICE(“交互连接建立”)协议来选择。一旦建立了媒体会话,媒体可以在不同端点的那些选定的地址之间进行流送。已知类型的媒体中继服务器是TURN(围绕NAT使用中继遍历(TraversalUsingRelaysaroundNAT))服务器,例如,包含TURN和STUN功能的TURN/STUN(用于NAT的会话遍历实用程序(SessionTraversalUtilitiesforNAT))。网络可以具有分层架构,由此不同的逻辑层提供不同类型的节点到节点通信服务。每一个层都由该层下面紧靠的层(除了最低的层之外)来服务,并向该层上面紧靠的层(除最高的层之外)提供服务。媒体中继服务器区别于较低层组件(例如路由器和NAT),因为媒体中继服务器在网络层的最高层(应用层)处工作。应用层提供了进程到进程连接。例如,可以在应用层实现TURN协议以处理(例如,生成、接收和/或处理)TURN消息,每一个TURN消息由TURN报头和包含例如用于输出到用户的媒体数据的TURN有效负载组成。TURN消息被向下传递到网络层下面的传输层。在传输层,实现一个或多个传输层协议(例如,UDP(用户数据报协议)、TCP(传输控制协议))以将一组接收的TURN消息打包成一个或多个传输层分组,每一个传输层分组都具有在传输层被附接的各自的传输层(例如,TCP/UDP)报头。传输层提供主机到主机(端到端)连接。传输层分组进而被传递到传输层下面的互联网层(网络层)。在互联网层,实现互联网层协议(例如IP)以进一步将一组接收的传输层分组打包成一个或多个互联网层(例如IP)分组,每一个互联网层分组都具有在互联网层被附接的各自的网络层(例如IP)报头。互联网层提供相邻网络之间的分组路由。互联网层分组进而被向下传递到最低层(链路层)以用于经由网络进行组帧和传输。在相反的方向上,从网络接收的数据被向上传递到IP层,在此网络层(例如,IP)报头被移除并且剩余的网络层有效负载数据被向上传递到传输层,该网络层有效负载数据构成了包括传输层报头的一个或多个传输层分组。在传输层,传输层(例如,UDP/TCP)报头被移除并且在该示例中构成一个或多个TURN消息的剩余的有效负载数据被向上传递到应用层以用于最终处理,例如,将包含在其中的任何媒体数据输出给用户,或用于向前中继TUN消息的目的。这种类型的消息流在端点和TURN服务器两者上被实现,即端点和TURN服务器以这种方式在应用层工作。IP地址唯一地标识网络内(例如,在公共网络(例如,互联网)内或私有网络内)的网络节点的网络接口。可以存在多个应用层进程在该节点中运行,并且传输地址(IP地址+端口编号)唯一地标识在该节点上运行的应用层进程。即,每一个进程都被分配有其本身唯一的端口。该端口(或者等同地“套接字”)是软件实体,针对该进程的消息可以被写入到该软件实体中,使得它们变得可用于该进程。IP地址通过互联网层协议(例如IP)用于在互联网层进行路由,并且构成被包含在互联网层分组的报头中的互联网层网络地址,而端口编号通过传输层协议(例如TCP/UDP)被用在传输层以确保接收的数据被传递到正确的应用层进程。传输层分组将端口编号包括在报头中,其标识该分组被派往的进程。根据TCP/IP协议套件,端口编号的长度为16比特。这表示可以最多将216-1=65535个端口与单个IP地址相关联(因为端口0是被保留的)。与媒体中继服务器形成对比,路由器通常仅在互联网层工作,基于IP分组报头中的IP地址来路由IP分组。理论上,NAT也仅在网络层工作,并且区别于基本路由器,因为NAT在路由期间修改IP报头以掩盖源的IP地址。然而,越来越多的NAT在传输层执行修改,即对传输层分组报头进行修改,从而也掩盖源端口编号,例如,提供一对多的网络地址转换。
技术实现思路
提供本
技术实现思路
以便以简化的形式来引入下面的具体实施方式部分中进一步描述的概念的选择。本
技术实现思路
不是要识别所要求保护的主题的关键特征或主要特征,也不是要用作限制所要求保护的主题的范围。通过并行地从第一端点发送以下消息,在第一端点和第二端点之间建立媒体会话:·到第二端点的,指示对第一端点可用的媒体中继服务器的第一服务器网络地址并且包括唯一的会话标识符的消息;·到媒体中继服务器的,包括唯一的会话标识符的激活请求。这通过使会话标识符在媒体中继服务器处与本文档来自技高网
...

【技术保护点】
1.一种系统,包括:/n一个或多个处理器;以及/n一个或多个计算机可读存储介质,其存储可由所述一个或多个处理器执行以执行包括以下操作的指令:/n在第一设备处并且在通信会话的发起之前,从第二设备接收参与所述通信会话的提议,所述提议包括服务器的服务器地址和所述通信会话的会话标识符;/n将所述通信会话的一个或多个分组传送到以所述服务器地址寻址的所述服务器,所述一个或多个分组包括用于使所述一个或多个分组从所述服务器转发到所述第二设备的所述会话标识符;并且/n参与所述第一设备与所述第二设备之间的网络地址发现过程,以使所述第一设备能够发现所述第二设备的网络地址,并使所述第二设备能够发现所述第一设备的网络地址,从而通过以下方式而使得在所述第一设备和所述第二设备之间能够直接地路由所述通信会话的所述一个或多个分组之后的分组:使所述第一设备能够使用所述第二设备的网络地址来寻址所述通信会话的第一后续分组,并且使所述第二设备能够使用所述第一设备的网络地址来寻址所述通信会话的第二后续分组。/n

【技术特征摘要】
20150625 US 14/750,787;20150625 US 14/750,802;20161.一种系统,包括:
一个或多个处理器;以及
一个或多个计算机可读存储介质,其存储可由所述一个或多个处理器执行以执行包括以下操作的指令:
在第一设备处并且在通信会话的发起之前,从第二设备接收参与所述通信会话的提议,所述提议包括服务器的服务器地址和所述通信会话的会话标识符;
将所述通信会话的一个或多个分组传送到以所述服务器地址寻址的所述服务器,所述一个或多个分组包括用于使所述一个或多个分组从所述服务器转发到所述第二设备的所述会话标识符;并且
参与所述第一设备与所述第二设备之间的网络地址发现过程,以使所述第一设备能够发现所述第二设备的网络地址,并使所述第二设备能够发现所述第一设备的网络地址,从而通过以下方式而使得在所述第一设备和所述第二设备之间能够直接地路由所述通信会话的所述一个或多个分组之后的分组:使所述第一设备能够使用所述第二设备的网络地址来寻址所述通信会话的第一后续分组,并且使所述第二设备能够使用所述第一设备的网络地址来寻址所述通信会话的第二后续分组。


2.根据权利要求1所述的系统,其中,所述提议不包括网络地址转换器的网络地址。


3.根据权利要求1所述的系统,其中,所述提议包括用于将所述一个或多个分组发送到所述服务器的端口标识符,并且其中,所述操作还包括使用所述端口标识符来寻址所述一个或多个分组。


4.根据权利要求1所述的系统,其中,所述提议包括用于将所述一个或多个分组发送到所述服务器的端口标识符,所述端口标识符特定于特定类型的通信模态,并且其中,所述操作还包括使用所述端口标识符来寻址所述一个或多个分组。


5.根据权利要求1所述的系统,其中,所述提议包括用于将所述一个或多个分组发送到所述服务器的端口标识符,所述端口标识符特定于特定的服务质量,并且其中,所述操作还包括使用所述端口标识符来寻址所述一个或多个分组。


6.根据权利要求1所述的系统,其中,所述一个或多个分组包括所述通信会话的通信媒体。


7.根据权利要求1所述的系统,其中,所述第二设备的网络地址包括与所述第二设备通信地关联的网络地址转换器的网络地址。


8.根据权利要求1所述的系统,其中,所述操作还包括:
在从所述第二设备接收所述提议之前,获得不同的会话标识符;
基于来自所述第二设备的所述提议,使得所述不同的会话标识符在不同的服务器处被激活;并且
将应答传送至所述所述第二设备,所述应答包括所述不同的会话标识符和所述不同的服务器的服务器地址,其中,所述会话标识符和所述不同的会话标识符能够用作所述网络地址发现过程的一部分。


9.一种方法,包括:
在第一设备处并且在通信会话的发起之前,从第二设备接收参与所述通信会话的提议,所述提议包括服务器的服务器地址和所述通信会话的会话标识符;
将所述通信会话的一个或多个分组传送到以所述服务器地址寻址的所述服务器,所述一个或多个分组包括用于使所述一个或多个分组从所述服务器转发到所述第二设备的所述会话标识符;并且
参与所述第一设备与所述第二设备之间的网络地址发现过程,以使所述第一设备能够发现所述第二设备的网络地址,并使所述第二设备能够发现所述第一设备的网络地址,从而通过以下方式而使得在所述第一设备和所述第二设备之间能够直接地路由所述通信会话的所述一个或多个分组之后的分组:使所述第一设备能够使用所述第二设备的网络地址来寻址所述通信...

【专利技术属性】
技术研发人员:T·M·穆尔T·钱R·贡纳兰
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1