首页> 中国专利> 云计算环境中实现VOIP通话的方法、装置和系统

云计算环境中实现VOIP通话的方法、装置和系统

摘要

本发明提供一种云计算环境中实现VOIP通话的方法,涉及VOIP通话领域,通过RDP代理来实现云桌面客户端与通信对端的双向语音流传输,进而实现VOIP通话,能够减小通信延迟、降低云桌面虚拟机的负荷。本发明用于云计算环境中的VOIP通话。

著录项

  • 公开/公告号CN103188300A

    专利类型发明专利

  • 公开/公告日2013-07-03

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201110451666.5

  • 发明设计人 王云贵;孙福清;

    申请日2011-12-29

  • 分类号H04L29/08;H04M7/00;

  • 代理机构北京中博世达专利商标代理有限公司;

  • 代理人申健

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2024-02-19 19:06:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-02

    授权

    授权

  • 2013-07-31

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20111229

    实质审查的生效

  • 2013-07-03

    公开

    公开

说明书

技术领域

本发明涉及通信领域,尤其涉及云计算环境中实现VOIP通话的方 法、装置和系统。

背景技术

通常情况下,在云计算环境中进行云桌面客户端和通信对端的因 特网协议语音(Voice over Internet Protocol,简称VOIP)通话时,云桌面 客户端通过远程桌面协议(Remote display protocol,简称RDP)远程控 制云计算环境中服务器的云桌面虚拟机,运行云桌面虚拟机中的VOIP 软件,通过VOIP控制协议与通信对端进行信令交互,云桌面客户端和 通信对端之间的VOIP的语音经由云桌面虚拟机进行传输,在此过程 中,从通信对端来的VOIP语音流需要通过广域网(Wide Area Network, 简称WAN)网络传输到云桌面虚拟机,VOIP语音流经云桌面虚拟机处 理后亦需要由所述云桌面虚拟机通过WAN网络传输到云桌面客户端, 反之亦然,从而实现云桌面客户端与通信对端之间的通话。

这样,VOIP的语音流需要经过WAN网络两次,且需要经过数据 中心云计算服务器处理,一方面,会增加通信延迟,另一方面,会增 加云计算服务器的负荷。

发明内容

本发明的实施例提供一种云计算环境中实现VOIP通话的方法、装 置和系统,能够降低通信延迟和云计算服务器的负荷。

为达到上述目的,本发明的实施例采用如下技术方案:

一方面,提供一种云计算环境中实现VOIP通话的方法,包括:

云桌面虚拟机接收来自本端RDP客户端或通信对端的VOIP呼叫 请求消息;

所述云桌面虚拟机根据所述VOIP呼叫请求消息,向RDP代理发 送会话建立请求消息;

所述云桌面虚拟机接收所述RDP代理发送的会话建立应答消息, 所述会话建立应答消息中包含有所述RDP代理的语音会话信息;

所述云桌面虚拟机将所述RDP代理的语音会话媒体信息发送给所 述通信对端,以使所述通信对端根据所述RDP代理的语音会话媒体信 息通过所述RDP代理与所述本端RDP客户端进行VOIP通话。

另一方面,提供一种云计算环境中实现VOIP通话的方法,包括:

RDP代理接收云桌面虚拟机根据本端RDP客户端或通信对端的 VOIP呼叫请求消息发送的会话建立请求消息;

所述RDP代理根据所述会话建立请求消息,向所述本端RDP客户 端发送语音通道建立请求消息;

所述RDP代理接收所述本端RDP客户端发送的语音通道建立应答 消息,所述语音通道建立应答消息包含有所述本端RDP客户端的虚拟 通道媒体信息;

所述RDP代理向所述云桌面虚拟机发送会话建立应答消息,所述 会话建立应答消息中包含有所述RDP代理的语音会话媒体信息,以使 所述云桌面虚拟机将所述RDP代理的语音会话媒体信息发送给所述通 信对端;

所述RDP代理接收并转发所述本端RDP客户端和所述通信对端的 VOIP语音流,以实现所述本端RDP客户端和所述通信对端的VOIP通 话。

另一方面,提供一种云桌面虚拟机装置,包括:

接收单元,用于接收来自本端RDP客户端或通信对端的VOIP呼 叫请求消息;

发送单元,用于根据所述接收单元接收的VOIP呼叫请求消息,向 RDP代理发送会话建立请求消息;

所述接收单元,还用于接收所述RDP代理发送的会话建立应答消 息,所述会话建立应答消息中包含有所述RDP代理的语音会话媒体信 息;

所述发送单元,还用于将所述RDP代理的语音会话媒体信息发送 给所述通信对端,以使所述通信对端根据所述RDP代理的语音会话媒 体信息通过所述RDP代理与所述本端RDP客户端进行VOIP通话。

另一方面,提供一种RDP代理装置,包括:

接收单元,用于接收云桌面虚拟机根据本端RDP客户端或通信对 端的VOIP呼叫请求消息发送的会话建立请求消息;

发送单元,用于根据所述接收单元接收的会话建立请求消息,向 所述本端RDP客户端发送语音通道建立请求消息;

所述接收单元,还用于接收所述本端RDP客户端发送的语音通道 建立应答消息,所述语音通道建立应答消息包含有所述本端RDP客户 端的虚拟通道媒体信息;

所述发送单元,还用于向所述云桌面虚拟机发送会话建立应答消 息,所述会话建立应答消息中包含有所述RDP代理装置的语音会话媒 体信息,以使所述云桌面虚拟机将所述RDP代理装置的语音会话媒体 信息发送给所述通信对端;

所述接收单元,还用于接收来自所述本端RDP客户端和所述通信 对端的语音流;

所述发送单元,还用于转发来自所述本端RDP客户端和所述通信 对端的语音流,以实现所述本端RDP客户端和所述通信对端的VOIP 通话。

另一方面,提供一种网络系统,其包括上面所述的云桌面虚拟机 装置和上面所述的RDP代理装置。

采用上述技术方案后,本发明实施例提供的云计算环境中实现 VOIP通话的方法、云桌面虚拟机装置、RDP代理装置和网络系统,在 实现本端RDP客户端与通信对端的VOIP通话的过程中,通过云桌面 虚拟机、RDP代理、本端RDP客户端、通信对端之间的信息交互,最 终由所述RDP代理接收并转发所述本端RDP客户端和所述通信对端的 VOIP语音流,从而实现本端RDP客户端与通信对端的VOIP通话,相 比于现有技术而言,由RDP代理来实现语音流双向传输,无需经过云 计算服务器的云桌面虚拟机的处理,不会经过WAN网络两次,因而能 够降低通信延迟和云计算服务器的负荷。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些 附图获得其他的附图。

图1为一种应用本发明实施例提供的云计算环境中实现VOIP通话 的方法的网络系统示意图;

图2为本发明实施例提供的云计算环境中实现VOIP通话的方法的 一种流程图;

图3为本发明实施例提供的云计算环境中实现VOIP通话的方法的 一种流程图;

图4为本发明实施例提供的云计算环境中实现VOIP通话的方法的 一种流程图;

图5为本发明实施例提供的云计算环境中实现VOIP通话的方法的 一种流程图;

图6为本发明实施例提供的远程桌面连接建立过程的一种示意图;

图7为本发明实施例提供的远程桌面连接建立过程的一种示意图;

图8为本发明实施例提供的VOIP呼叫建立过程的一种示意图;

图9为本发明实施例提供的VOIP呼叫建立过程的一种示意图;

图10为本发明实施例提供的云桌面虚拟机装置的结构框图;

图11A为本发明实施例提供的RDP代理装置的一种结构框图;

图11B为本发明实施例提供的RDP代理装置的一种结构框图;

图11C为本发明实施例提供的RDP代理装置的一种结构框图;

图11D为本发明实施例提供的RDP代理装置的一种结构框图;

图11E为本发明实施例提供的RDP代理装置的一种结构框图;

图12为本发明实施例提供的通信装置的一种结构框图;

图13为本发明实施例提供的通信装置的一种结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施 例,都属于本发明保护的范围。

为更好地理解本发明,下面首先对应用本发明实施例提供的云计 算环境中实现VOIP通话的方法的网络系统进行简要说明。

图1为一种应用本发明实施例提供的云计算环境中实现VOIP通话 的方法的网络系统示意图。

如图1所示,该网络系统包括RDP客户端、接入路由器或交换机、 数据中心服务器和通信对端。

其中,所述RDP客户端是可运行RDP的客户端,其被包含于云桌 面客户端中。云桌面客户端指的是云计算业务中最基本的接入终端, 包括超瘦客户端、瘦客户端和胖客户端。超瘦客户端,是最简化的客 户端,有用户不可见的嵌入式操作系统,几乎没什么本地资源,简单 的CPU、少量的内存等。瘦客户端,通常是定制的操作系统,有更多 一些的本地资源,如支持本地语音编解码能力。胖客户端,指的常用 的计算机、笔记本设备,运行标准的操作系统,能够不依赖于数据中 心而离线工作。云桌面客户端中包含RDP客户端,RDP客户端可运行 RDP。

而接入路由器和/或交换机位于云桌面客户端所在企业网络的边 缘,用于连接WAN以便云桌面客户端接入网络,并连接到数据中心以 访问服务器中的云桌面虚拟机。该网络系统中,接入路由器或交换机 中设置有RDP代理,所述RDP代理可运行RDP。可以理解的是,RDP 代理优选设置于接入路由器或交换机中,但还可设置在其他位置,本 发明对此不做限定。

数据中心位于企业网络中或企业租赁的运营商网络中,用于存放 网络数据,其包括服务器。

云桌面虚拟机位于数据中心的部署虚拟化技术的云计算服务器 上。云桌面虚拟机与云桌面客户端相对应,也即是用户所看到的虚拟 的个人计算机。一般地,一个云桌面客户端对应一个云桌面虚拟机。 云桌面虚拟机上有日常操作系统、办公软件和一些常用软件。通常情 况下,云桌面虚拟机中包含VOIP软件和RDP控制器,RDP控制器可 运行RDP。

在图1所示网络系统中,RDP客户端为VOIP通信的一方。与RDP 客户端相对应的VOIP通信另一方为通信对端。通信对端例如,可以为 云桌面客户端、普通PC的VOIP软件、经过媒体网关和媒体网关控制 器连接的PSTN电话等。

本发明旨在通过RDP代理来实现云桌面客户端与通信对端的双向 语音流传输,进而实现VOIP通话,而无需经过数据中心的云桌面虚拟 机的处理,因而可减小数据中心的负荷。

另外,一般地,通过云桌面客户端与接入路由器和/或交换机之间 的局域网进行的数据传输是高带宽和低延时的,因而,通过接入路由 器和/或交换机中RDP代理取代云桌面虚拟机实现上述过程可降低延 时。

基于上述简要介绍,以下对本发明实施例进行详细说明。

如图2所示,本发明实施例提供的的云计算环境中实现VOIP通话 的方法,包括:

21、云桌面虚拟机接收本端RDP客户端或通信对端的VOIP呼叫 请求消息。

在本发明实施例中,本端RDP客户端是指当前通信的RDP客户端, 其是与RDP代理处于同一局域网内的当前通信一方,具体被包含于云 桌面客户端中。通信对端是通信的另一方,可以为云桌面客户端、普 通PC的VOIP软件、经过媒体网关和媒体网关控制器连接的PSTN电 话等。

在进行VOIP通话时,首先需由一方发起呼叫,这一方可为本端 RDP客户端或通信对端,由本端RDP客户端或通信对端向云桌面虚拟 机发送呼叫请求消息,请求所述云桌面虚拟机呼叫通信另一方。举例 而言,当本端RDP客户端作为主叫,通信对端作为被叫时,云桌面虚 拟机接收本端RDP客户端的呼叫请求消息;当本端RDP客户端作为被 叫,通信对端作为主叫时,云桌面虚拟机接收通信对端的呼叫请求消 息。

具体地,用户可通过触发云桌面客户端上的VOIP软件的图形界面 来触发VOIP软件启动呼叫,即向云桌面虚拟机发送呼叫请求消息。其 中VOIP软件安装于云计算服务器的云桌面虚拟机上,具体可为例如, Skype,MSN,QQ,eSpace等。

22、所述云桌面虚拟机根据所述呼叫请求消息,向RDP代理发送 会话建立请求消息。

指出的是,所述云桌面虚拟机向所述RDP代理发送的会话建立请 求消息可以是RDP协议中一种扩展的或新增的消息。类似地,下文中 提及的“会话建立应答消息”、“语音通道建立请求消息”、“语音 通道建立应答消息”也可以是RDP协议中一种扩展的或新增的消息。

所述云桌面虚拟机接收到呼叫请求消息之后,由于需要通过RDP 代理实现VOIP通话,云桌面虚拟机向RDP代理发送会话建立请求消 息。

具体地,当用户触发VOIP软件的图形界面下发呼叫请求时,云桌 面虚拟机中的VOIP软件接收所述呼叫请求消息,并触发RDP控制器 向RDP代理发送会话建立请求消息,以请求RDP代理建立语音通信双 方的会话。

23、所述云桌面虚拟机接收所述RDP代理发送的会话建立应答消 息,所述会话建立应答消息中包含有所述RDP代理的语音会话媒体信 息。

其中,所述RDP代理的语音会话媒体信息包括所述RDP代理的 IP地址和端口号,可选地,还可包括语音编码格式等。

在RDP代理接收到云桌面虚拟机的会话建立请求后,如果接受本 次请求,将向云桌面虚拟机回复会话建立应答消息,通过会话应答消 息而告知云桌面虚拟机接受本次请求,并在会话请求消息中携带其语 音会话媒体信息,以使云桌面虚拟机将其语音会话媒体消息通知给通 信对端,以在本端RDP客户端与通信对端的VOIP通话过程中,通信 对端根据RDP代理的语音会话媒体消息,将与本端RDP客户端通话的 媒体流发送给RDP代理。

24、所述云桌面虚拟机将所述RDP代理的语音会话媒体信息发送 给所述通信对端,以使所述通信对端根据所述RDP代理的语音会话媒 体信息通过所述RDP代理与所述本端RDP客户端进行VOIP通话。

指出的是,所述云桌面虚拟机在发送所述RDP代理的语音会话媒 体信息之前,如果所述云桌面虚拟机与所述RDP代理的语音会话媒体 信息的描述格式与所述云桌面虚拟机和所述通信对端的语音会话媒体 信息描述格式不一致,则所述云桌面虚拟机可以将所述RDP代理的语 音会话媒体信息转换为所述通信对端的语音会话媒体信息编码格式, 或者,所述云桌面虚拟机可以将所述通信对端的语音会话媒体信息转 换为所述RDP代理的语音会话媒体信息编码格式。

需要说明的是,所述云桌面虚拟机与所述通信对端通过所述云桌 面虚拟机中的VOIP软件所使用的协议信令来承载呼叫建立消息。

所述通信对端接收到所述RDP代理的语音会话媒体信息之后,在 本端RDP客户端与通信对端的VOIP通话过程中,通信对端根据RDP 代理的语音会话媒体消息,将与本端RDP客户端通话的语音流发送给 RDP代理,从而由RDP代理来实现本端RDP客户端和通信对端之间 的VOIP通话,无需经由云桌面虚拟机来处理语音流。

本发明实施例提供的云计算环境中实现VOIP通话的方法,在本端 RDP客户端与通信对端进行VOIP通话时,能够通过RDP代理来实现 语音流双向传输,无需经过云计算服务器的云桌面虚拟机的处理,不 会经过WAN网络两次,因而能够降低通信延迟和云计算服务器的负 荷。

在本发明的一个实施例中,在本端RDP客户端与通信对端进行 VOIP通话之前,本端RDP客户端需要与云桌面虚拟机之间建立远程 桌面连接,具体地,本端RDP客户端将通过所述RDP代理建立其与所 述云桌面虚拟机之间的远程桌面连接。因而,可选地,在21中所述云 桌面虚拟机接收本端RDP客户端或通信对端的呼叫请求消息之前,所 述方法还包括:

所述云桌面虚拟机接收所述RDP代理发送的远程桌面连接请求消 息,所述远程桌面连接请求消息中包含有所述RDP代理的代理信息。

其中,所述RDP代理的代理信息包括所述RDP代理的IP地址和 端口号,可选地,还可包括认证、密钥等信息。

这时,22中所述云桌面虚拟机根据所述呼叫请求消息,向RDP代 理发送会话建立请求消息包括:

所述云桌面虚拟机根据所述呼叫请求消息和所述RDP代理的代理 信息,向所述RDP代理发送会话建立请求消息。

所述云桌面虚拟机可以根据所述RDP代理发送的远程桌面连接请 求消息,获知所述RDP代理能够参与本端RDP客户端的VOIP通话过 程,而且,所述云桌面虚拟机可以通过所述RDP代理的代理信息来识 别所述RDP代理,以使得所述云桌面虚拟机在本端RDP客户端进行 VOIP呼叫或者通信对端呼叫本端RDP客户端时,在22中,根据所述 RDP代理的代理信息,向RDP代理发送会话建立请求消息。

可选地,所述云桌面虚拟机接收到所述RDP代理发送的远程桌面 连接请求消息后,可向所述RDP代理发送远程桌面连接应答消息,并 在此远程桌面连接应答消息中携带是否接受所述RDP代理参与后续 VOIP呼叫建立过程的选项,以使所述RDP代理根据此选项即可获知 其是否被接受。

其中,所述远程桌面连接应答消息例如为微软RDP协议中的X.224 Connection Confirm消息。且可选地,所述远程桌面连接应答消息中还 可携带与所述RDP相关的认证、密钥等。

相应地,图3为本发明实施例提供的云计算环境中实现VOIP通话 的方法的一种流程图,基于RDP代理,如图3所示,包括:

31、RDP代理接收云桌面虚拟机根据本端RDP客户端或通信对端 的VOIP呼叫请求消息发送的会话建立请求消息。

需要说明的是,RDP代理优选运行在接入路由器或交换机的主控 板中,或者运行在接入路由器或交换机的开放业务平台单板中,这样, 由于云桌面客户端与接入路由器和/或交换机之间的局域网进行的数据 传输是高带宽和低延时的,因而可减少云桌面客户端与通信对端进行 语音通信时,通话双方的语音延迟。

32、所述RDP代理根据所述会话建立请求消息,向所述本端RDP 客户端发送语音通道建立请求消息。

所述RDP代理接收到所述云桌面虚拟机发送过来的所述呼叫请求 消息后,为参与所述本端RDP客户端与所述通信对端的VOIP呼叫过 程,所述RDP代理向所述本端RDP客户端发送语音通道建立请求消息, 请求与所述本端RDP客户端建立语音通道,从而能够接收本端RDP 客户端的语音流和向本端RDP客户端发送语音流。

33、所述RDP代理接收所述本端RDP客户端发送的语音通道建立 应答消息,所述语音通道建立应答消息包含有所述本端RDP客户端的 虚拟通道媒体信息。

其中,所述本端RDP客户端的虚拟通道媒体信息包括RDP会话中 用于语音媒体传输的虚拟通道标识、在该虚拟通道中使用的语音编码 类型,可选地,还可包括其他信息,例如,语音通道的能力信息、协 议版本信息、加密信息等。

在所述本端RDP客户端接收到所述语音通道建立请求消息之后, 向所述RDP代理回复语音通道建立应答消息,并在此语音通道建立应 答消息种携带其虚拟通道媒体信息,以使所述RDP代理根据此虚拟通 道媒体信息与所述本端RDP客户端建立语音通道并获知本端RDP客户 端的虚拟通道媒体信息,以在本端RDP客户端与通信对端的VOIP通 话过程中,根据本端RDP客户端的虚拟通道媒体信息,将通信对端发 送给本端RDP客户端的媒体流发送给本端RDP客户端。

34、所述RDP代理向所述云桌面虚拟机发送会话建立应答消息, 所述会话建立应答消息中包含有所述RDP代理的语音会话媒体信息, 以使所述云桌面虚拟机将所述RDP代理的语音会话媒体信息发送给所 述通信对端。

在所述RDP代理与所述本端RDP客户端建立语音通道后,RDP 代理向所述云桌面虚拟机发送会话建立应答消息,同意建立所述本端 RDP客户端与所述通信对端之间的会话,并在此会话建立应答消息中 携带其语音会话媒体信息,以通过所述云桌面虚拟机将其语音会话媒 体信息发送至通信对端,使所述通信对端获知所述RDP代理的语音会 话媒体信息,进而可将语音流发送给所述RDP代理。

35、所述RDP代理接收并转发所述本端RDP客户端和所述通信对 端的VOIP语音流,以实现所述本端RDP客户端和所述通信对端的 VOIP通话。

具体地,所述RDP代理接收来自所述本端RDP客户端和所述通信 对端的语音流,并根据所述本端RDP客户端的虚拟通道媒体信息和所 述通信对端的语音会话媒体信息,将来自所述本端RDP客户端的语音 流传输至所述通信对端,和将来自所述通信对端的语音流传输至所述 通信对端,以实现所述本端RDP客户端和所述通信对端的VOIP通话。

本发明实施例提供的云计算环境中实现VOIP通话的方法,在本端 RDP客户端与通信对端进行VOIP通话时,能够通过RDP代理来实现 语音流双向传输,无需经过云计算服务器的云桌面虚拟机的处理,不 会经过WAN网络两次,因而能够降低通信延迟和云计算服务器的负 荷。

在本端RDP客户端与通信对端进行VOIP通话之前,本端RDP客 户端需要与云桌面虚拟机之间建立远程桌面连接,具体地,本端RDP 客户端将通过所述RDP代理建立其与所述云桌面虚拟机之间的远程桌 面连接。因而,在31所述RDP代理接收云桌面虚拟机根据本端RDP 客户端或通信对端的呼叫请求消息发送的会话建立请求消息之前,可 选地,所述方法还包括:

所述RDP代理向所述云桌面虚拟机发送远程桌面连接请求消息, 以请求与所述云桌面虚拟机建立远程桌面连接,所述远程桌面连接请 求消息中包含有所述RDP代理的代理信息。

其中,所述RDP代理的代理信息包括所述RDP代理的IP地址和 端口号,还可以包括认证、密钥等信息。

具体地,所述本端RDP客户端通过所述RDP代理与所述云桌面虚 拟机建立远程桌面连接的过程可包括如下两种实现方式。

第一种建立远程桌面连接的方式:

所述RDP代理接收所述本端RDP客户端发送的远程桌面连接请 求。

在所述本端RDP客户端与所述云桌面虚拟机建立远程桌面连接 时,所述本端RDP客户端会向所述云桌面虚拟机发送远程桌面连接请 求,在经过接入路由器或交换机时,被重定向到所述RDP代理而为所 述RDP代理接收。

所述RDP代理在所述接收的远程桌面连接请求中插入所述RDP 代理的代理信息。

这时,所述RDP代理向所述云桌面虚拟机发送远程桌面连接请求 消息包括:所述RDP代理向所述云桌面虚拟机发送所述插入有所述 RDP代理的代理信息的远程桌面连接请求消息。

可选地,所述RDP代理接收所述云桌面虚拟机发送的远程桌面连 接应答消息,以与所述云桌面虚拟机建立远程桌面连接。

在所述云桌面虚拟机接收到所述RDP的远程桌面连接请求消息之 后,可向所述RDP代理发送远程桌面连接应答消息,并在此远程桌面 连接应答消息中携带是否接受所述RDP代理参与后续VOIP呼叫建立 过程的选项,以使所述RDP代理根据此选项获知其请求是否被接受。

其中,所述远程桌面连接应答消息例如为微软RDP协议中的X.224 Connection Confirm消息。且可选地,所述远程桌面连接应答消息中还 可携带与所述RDP相关的认证、密钥等。

此外,在所述RDP代理接收到所述云桌面虚拟机发送的远程桌面 连接应答消息之后,可选地,所述RDP代理将远程桌面连接确认消息 发送给所述RDP客户端。其中,在发送前所述RDP代理删除所述确认 远程桌面连接消息中包含的所述RDP代理的代理信息。

第二种建立远程桌面连接的方式与前一方式不同,RDP代理分别 建立其与本端RDP客户端和云桌面虚拟机的远程桌面连接,然后建立 这两个连接的关联关系,从而建立了本端RDP客户端与云桌面虚拟机 之间的远程桌面连接,具体可包括以下步骤:

所述RDP代理接收所述本端RDP客户端发送的第一远程桌面连接 请求,以与所述本端RDP客户端建立第一远程桌面连接。可选地,所 述RDP代理还向所述本端RDP客户端发送所述第一远程桌面连接应答 消息。

所述RDP代理向所述云桌面虚拟机发送第二远程桌面连接请求消 息,以与所述云桌面虚拟机建立第二远程桌面连接。可选地,所述云 桌面虚拟机还向所述本端RDP客户端发送所述第二远程桌面连接应答 消息。

所述RDP代理建立所第一远程桌面连接和所述第二远程桌面连接 之间的关联关系,以建立所述本端RDP客户端和所述云桌面虚拟机之 间的远程桌面连接。

相应地,图4为本发明实施例提供的云计算环境中实现VOIP通话 的方法的一种流程图,基于本端RDP客户端,如图4所示,包括:

41、本端RDP客户端接收RDP代理发送的语音通道建立请求消息, 所述语音通道建立请求消息是所述RDP代理根据云桌面虚拟机发送的 会话建立请求消息而发送的。

当一方发起呼叫时,云桌面虚拟机接收此呼叫请求,并向所述RDP 代理发送会话建立请求消息以请求所述RDP参与会话建立,所述RDP 代理接收到此会话建立请求消息之后,向本端RDP客户端发送语音通 道建立请求消息,以请求建立所述本端RDP客户端与所述RDP代理的 语音通道。

42、所述本端RDP客户端向所述RDP代理发送语音通道建立应答 消息,所述语音通道建立应答消息包含有所述本端RDP客户端的虚拟 通道媒体信息。

所述本端RDP客户端接收到所述RDP代理发送的语音通道建立请 求消息后,会向所述RDP代理发送语音通道建立应答消息,同意接受 语音通道建立请求,并在此语音通道建立应答消息种携带其虚拟通道 媒体信息,以使所述RDP代理可据此虚拟通道媒体信息,向所述本端 RDP客户端传输语音流。

43、所述本端RDP客户端向所述RDP代理发送语音流,以使所述 RDP代理将所述语音流发送给通信对端,和,接收所述RDP代理发送 的、来自所述通信对端的语音流。

本发明实施例提供的云计算环境中实现VOIP通话的方法,在本端 RDP客户端与通信对端进行VOIP通话时,能够通过RDP代理来实现 语音流双向传输,无需经过云计算服务器的云桌面虚拟机的处理,不 会经过WAN网络两次,因而能够降低通信延迟和云计算服务器的负 荷。

在本发明提供的一个实施例中,在本端RDP客户端与通信对端进 行VOIP通话之前,还需建立所述本端RDP客户端与所述云桌面虚拟 机之间的远程桌面连接,以使所述本端RDP客户端能将呼叫请求传输 至所述云桌面虚拟机,进而由云桌面虚拟机发起呼叫。因而,可选地, 在41所述本端RDP客户端接收RDP代理发送的语音通道建立请求消 息前,所述方法还包括:

所述本端RDP客户端通过所述RDP代理向所述云桌面虚拟机发送 远程桌面连接请求。

相应地,图5为本发明实施例提供的云计算环境中实现VOIP通话 的方法的一种流程图,基于通信对端,如图5所示,包括:

51、通信对端接收云桌面虚拟机发送的RDP代理的语音会话媒体 信息;

52、所述通信对端根据所述RDP代理的语音会话媒体信息,向所 述RDP代理发送语音流,以使所述RDP代理将所述语音流发送给本端 RDP客户端,和,所述通信对端接收所述RDP代理发送的、来自所述 本端RDP客户端的语音流。

本发明实施例提供的云计算环境中实现VOIP通话的方法,在本端 RDP客户端与通信对端进行VOIP通话时,能够通过RDP代理来实现 语音流双向传输,无需经过云计算服务器的云桌面虚拟机的处理,不 会经过WAN网络两次,因而能够降低通信延迟和云计算服务器的负 荷。

为更好地理解本发明实施例提供的云计算环境中实现VOIP通话 的方法的技术方案,下面通过具体实施例来进行进一步的详细说明。

本实施例提供的在云计算环境中实现VOIP通话的方法,一方为当 前云桌面客户端中设置的本端RDP客户端,另一方为通信对端,所述 通信对端不限,可以为云桌面客户端,也可为非云桌面客户端,本实 施例中,以本端RDP客户端为本地主叫端(即呼叫发起端),通信对端 为本地被叫端(即呼叫接受端)进行说明。

本实施例的在云计算环境中实现VOIP通话的方法,包括远程桌面 连接建立过程、VOIP呼叫建立过程、语音流传输过程这三个过程。具 体如下:

1、远程桌面连接建立过程

在此过程中,RDP代理参与远程桌面连接建立过程,云桌面客户 端上的RDP客户端通过RDP代理与云桌面虚拟机上的RDP控制器建 立远程桌面会话连接。此过程可通过下面所描述的方式来实现。

指出的是,在本发明实施例中,RDP代理为能够执行RDP协议的 程序,其运行在接入路由器或交换机的主控板中,或者运行在接入路 由器或交换机的开放业务平台单板中。

如图6所示,建立远程桌面连接的一种方式的具体过程如下:

S11:RDP客户端向RDP控制器发起远程桌面连接建立请求消息;

S12:接入路由器或交换机将RDP客户端的业务流量重定向到其 内的RDP代理;RDP代理检测RDP客户端的连接请求消息,如微软 RDP协议中的X.224Connection Request PDU消息,然后在连接请求消 息中插入RDP代理的代理信息,所述RDP代理的代理信息包括所述 RDP代理的IP地址和端口号,可选地,所述RDP代理的代理信息还 可包括认证、密钥等信息。

S13:所述RDP代理将携带有所述RDP代理的代理信息的远程桌 面连接请求消息发送给所述RDP控制器,以使所述RDP控制器获知所 述RDP代理的代理信息并保存。

S14:所述RDP控制器保存所述RDP代理的代理信息后,向所述 RDP客户端发送远程桌面连接应答消息,如微软RDP协议中的X.224 Connection Confirm消息。其中,所述远程桌面连接应答消息中携带有 指示所述RDP控制器是否接受所述RDP代理的选项,可选地,所述远 程桌面连接应答消息中还可携带与RDP代理相关的认证、密钥等信息。

S15:所述RDP代理删除所述远程桌面连接确认消息中包含的与 所述RDP代理相关的代理信息并将所述删除RDP代理的代理信息后的 远程桌面连接确认消息发送给所述RDP客户端。

所述RDP客户端接收到所述远程桌面连接确认消息之后,云桌面 客户端上的RDP客户端即与云桌面虚拟机上的RDP控制器建立了远程 桌面会话连接。

需要说明的是,上面只是以范例方式说明建立远程桌面连接的一 种方式,在本发明的精神范围内,还可采用其他方式建立远程桌面连 接。

举例而言,可利用RDP代理充当RDP客户端的RDP控制器,同 时利用RDP代理充当RDP控制器的RDP客户端。在具体实施中,可 以在RDP客户端上配置RDP代理的IP地址,即在RDP客户端上使用 RDP代理的IP地址充当RDP控制器的IP地址,同时在RDP控制器上 使用RDP代理的IP地址充当RDP客户端的IP地址。这样,可利用 RDP代理充当中间端实现RDP客户端与RDP控制器的交互。

在这种模式下,对于同一个用户,在RDP代理上需要建立两个连 接:RDP客户端与RDP代理之间的远程桌面连接和RDP代理与RDP 控制器之间的远程桌面连接。同时,RDP代理需要将两个连接建立关 联关系,以便将RDP客户端的内容(如操作指令信息、文件流、视频 流、语音流等)正确地发送给RDP控制器;或者将RDP控制器的内容 正确地发送给RDP客户端。

如图7所示,建立远程桌面连接的另一种方式的具体过程如下:

S11’:所述RDP代理向所述云桌面虚拟机发送远程桌面连接请求 消息,所述远程桌面连接请求消息中包含有所述RDP代理的代理信息;

S12’:所述云桌面虚拟机向所述RDP代理发送远程桌面连接应答 消息,以与所述RDP代理建立远程桌面连接。

S13’:所述本端RDP客户端向所述RDP代理发送远程桌面连接请 求消息;

S14’:所述RDP代理向所述本端RDP客户端发送远程桌面连接应 答消息,以与所述本端RDP客户端建立远程桌面连接;

S15’:所述RDP代理建立所述RDP代理与所述本端RDP客户端 的远程桌面连接和所述RDP代理与所述云桌面虚拟机的远程桌面连接 之间的关联关系。

需指出的是,此种方式下上述步骤的顺序是可调整的,例如也可 按S13’、S14’、S11’、S12’、S15’的顺序来执行,本发明对此不作 限定。

2、VOIP呼叫建立过程

在建立远程桌面连接之后,即可建立VOIP呼叫。需要说明的是, 所述云桌面虚拟机与所述通信对端是通过所述云桌面虚拟机中的 VOIP软件所使用的协议信令来承载呼叫建立消息的。如图8所示,建 立VOIP呼叫的具体过程如下:

S21:用户点击RDP客户端上显示的VOIP软件界面中的呼叫请求, 如eSpace上的某个联系人,或某个电话号码,所述呼叫请求通过RDP 传输到云桌面虚拟机中的VOIP软件。

S22:所述云桌面虚拟机中的VOIP软件接收到来自本端RDP客户 端的所述VOIP呼叫请求后,向所述RDP控制器发送请求,请求获取 所述RDP代理提供VOIP语音呼叫的语音会话媒体信息,一般以会话 描述协议SDP来描述,包括IP地址、端口、语音编码格式等;VOIP 软件与RDP控制器之间通过进程间消息,或者API(Application Programming Interface,应用程序接口)调用,网口环回等方式进行通信。

S23:所述RDP控制器根据所述VOIP软件的请求和所述RDP代 理的代理信息,向所述RDP代理发送会话建立请求消息。在具体实施 过程中,以微软RDP协议为例,需要对RDP协议进行扩展定义用于建 立VOIP呼叫的PDU消息:VOIP_ESTABLISH_REQUEST_PDU。如果 是其他RDP,如ICA,也可定义类似功能的扩展消息。同时在新PDU 中实现新的扩展选项来携带RDP代理的语音会话媒体信息。

S24:所述RDP代理向所述RDP客户端发送语音通道建立请求消 息,以获取所述RDP客户端的虚拟通道媒体信息。所述RDP客户端的 虚拟通道媒体信息在该虚拟通道中使用的语音编码类型,可选地,还 包括协议版本和语音通道的能力信息、加密信息等。

S25:所述RDP客户端向所述RDP代理发送语音通道建立应答消 息,所述语音通道建立应答消息包含有所述本端RDP客户端的虚拟通 道媒体信息。

S26:所述RDP代理保存所述RDP客户端的虚拟通道媒体信息, 并预留其面向WAN网络收发的语音会话媒体信息,所述语音会话媒体 信息包括IP地址、端口、语音编码格式等。然后,所述RDP代理向所 述RDP控制器发送会话建立应答消息,所述会话建立应答消息中包含 有所述RDP代理的语音会话媒体信息,以使所述云桌面虚拟机将所述 RDP代理的语音会话媒体信息发送给所述通信对端。在具体实施中, 相应地,需要定义新的确认消息,例如 VOIP_ESTABLISH_CONFIRM_PDU。

S27:所述RDP控制器收到所述RDP代理的会话建立应答消息后, 将获取的所述RDP代理的语音会话媒体信息发送给所述VOIP软件。

S28:所述VOIP软件向所述通信对端发送呼叫请求消息,所述呼 叫请求消息中携带有从所述RDP控制器获取的所述RDP代理的语音会 话媒体信息。

S29:所述通信对端向所述VOIP软件发送呼叫应答消息,所述呼 叫应答消息中包含有所述通信对端的语音会话媒体信息,包括IP地址、 端口、编码格式等。

S30:所述VOIP软件向所述RDP控制器发送内部请求消息,所述 内部请求消息中携带有所述通信对端的语音会话媒体信息;

S31:所述RDP控制器向所述RDP代理发送会话修改请求消息, 所述会话修改请求消息中包含有所述通信对端的语音会话媒体信息。 以RDP协议为例,需要定义新的PDU: VOIP_MODIFICATION_REQUEST_PDU。同时在PDU中携带有通信对 端的媒体信息。

经过上述交互过程,所述云桌面客户端通过接入路由器或交换机 (RDP代理)与云桌面虚拟机配合完成了与通信对端的呼叫建立过程。

3、语音流传输过程

在VOIP呼叫建立过程完成之后,即可进行语音流的传输。一方面, 所述RDP代理接收远端的语音媒体流信息,然后将语音媒体流信息封 装在远程桌面会话的语音虚拟通道中。可选地,在语音媒体流信息封 装到所述远程桌面会话的语音虚拟通道之前转换为RDP客户端支持的 编码格式。所述RDP客户端从远程桌面会话的语音虚拟通道中提取语 音媒体流,并发送到物理声卡进行播放。另一方面,所述RDP客户端 提取用户向麦克风输入物理声卡的语音信息,并封装到RDP会话的语 音虚拟通道中,然后发送给所述RDP代理。所述RDP代理从所述语音 虚拟通道中提取语音媒体流信息,然后封装到RTP(Real-time Transport Protocol,实时传送协议)报文中,发送给所述通信对端。可选地,如 果所述通信对端与所述RDP客户端的语音虚拟通道的编码格式不一 致,则在语音媒体流信息封装到RTP报文中之前还需转换为通信对端 支持的编码格式。

本实施例在本端RDP客户端与通信对端进行VOIP通话时,RDP 代理获知本端RDP客户端的虚拟通道媒体信息和所述通信对端的语音 会话信息,并将其语音会话媒体信息发送给云桌面虚拟机,由云桌面 虚拟机将RDP代理的语音会话媒体信息发送给通信对端,所述通信对 端获知所述RDP代理的语音会话媒体信息后向所述RDP代理发送语音 流,由所述RDP代理将来自通信对端的语音流发送给本端RDP客户端, 和,将来自本端RDP客户端的语音流发送给通信对端,从而实现本端 RDP客户端与通信对端的VOIP通话,相比于现有技术而言,由RDP 代理来实现语音流双向传输,无需经过数据中心的云计算服务器,因 而,能够减小数据中心云计算服务器的负荷。另外,RDP代理运行在 接入路由器或交换机的主控板中,或者运行在接入路由去或交换机的 开放业务平台单板中,这样,由于云桌面客户端与接入路由器和/或交 换机之间的局域网进行的数据传输是高带宽和低延时的,因而可减少 云桌面客户端与通信对端进行语音通信时,通话双方的语音延迟,使 得语音通话更加高效。

指出的是,上一实施例建立VOIP呼叫的过程是针对云桌面客户端 作为主叫时的VOIP呼叫的建立过程,但在实际应用中,还可能出现云 桌面客户端作为被叫时的情况,因而,可选地,本发明还可提供适用 于本端RDP客户端作为被叫,通信对端为主叫情况的另一实施例,该 实施例与上一实施例相同,也包括远程桌面连接建立过程、VOIP呼叫 建立过程、语音流传输过程这三个过程,其中远程桌面连接建立过程 和语音流传输过程与上一实施例完全相同,不同之处仅在于VOIP呼叫 建立过程。下面就这一过程进行说明。

如图9所示,所述本端RDP客户端作为本地被叫端,所述通信对 端作为本地主叫端时,本实施例建立VOIP呼叫的过程具体如下:

S21’:通信对端呼叫本端RDP客户端用户,云桌面虚拟机接收来 自通信对端的VOIP呼叫请求消息,并在其上的VOIP软件显示所述通 信对端的来电,其中所述VOIP呼叫请求消息中包含有所述通信对端的 语音会话媒体信息;所述VOIP软件从所述通信对端的呼叫请求消息中 获取所述通信对端的语音会话媒体信息;

S22’:所述VOIP软件向RDP控制器发送请求消息,所述请求消 息中携带有所述通信对端的语音会话媒体信息,以请求获取RDP代理 提供VOIP语音呼叫的语音会话媒体信息,一般以会话描述协议SDP 来描述,包括IP地址、端口、语音编码格式等;VOIP软件与RDP控 制器之间通过进程间消息,或者API调用,网口环回等方式进行通信。

S23’:所述RDP控制器向所述RDP代理发送会话建立请求消息, 所述会话建立请求消息中包含有所述通信对端的语音会话媒体信息。 在具体实施过程中,以微软RDP协议为例,需要对RDP协议进行扩展 定义用于建立VOIP呼叫的PDU消息: VOIP_ESTABLISH_REQUEST_PDU。如果是其他RDP,如ICA,也可 定义类似功能的扩展消息。同时在新PDU中实现新的扩展选项来携带 RDP代理的语音会话媒体信息,以及携带通信对端的语音会话媒体信 息的扩展选项。

S24’:所述RDP代理保存所述通信对端的语音会话媒体信息,并 向所述RDP客户端发送语音通道建立请求消息,以获取所述RDP客户 端的虚拟通道媒体信息。所述RDP客户端的虚拟通道媒体信息在该虚 拟通道中使用的语音编码类型,可选地,还包括协议版本和语音通道 的能力信息、加密信息等。

S25’:所述RDP客户端向所述RDP代理发送语音通道建立应答消 息,所述语音通道建立应答消息包含有所述本端RDP客户端的虚拟通 道媒体信息。

S26’:所述RDP代理保存所述RDP客户端的虚拟通道媒体信息, 并预留其面向WAN网络收发的语音会话媒体信息,所述语音会话媒体 信息包括IP地址、端口、语音编码格式等。然后,RDP代理向RDP 控制器发送会话建立应答消息,所述会话建立应答消息中包含有所述 RDP代理的语音会话媒体信息,以使所述云桌面虚拟机将所述RDP代 理的语音会话媒体信息发送给所述通信对端。在具体实施中,相应地, 需要定义新的确认消息,例如VOIP_ESTABLISH_CONFIRM_PDU。

S27’:所述RDP控制器收到所述RDP代理的会话建立应答消息后, 将获取的所述RDP代理的语音会话媒体信息发送给所述VOIP软件。

S28’:所述VOIP软件向所述通信对端发送呼叫应答消息,所述呼 叫应答消息中携带有从所述RDP控制器得到的所述RDP代理的语音会 话媒体信息。

经过上述交互过程,所述云桌面客户端通过接入路由器或交换机 (RDP代理)与云桌面虚拟机配合完成了与所述通信对端的呼叫建立过 程。

本实施例在本端RDP客户端与通信对端进行VOIP通话时,RDP 代理获知本端RDP客户端的虚拟通道媒体信息和所述通信对端的语音 会话信息,并将其语音会话媒体信息发送给云桌面虚拟机,由云桌面 虚拟机将RDP代理的语音会话媒体信息发送给通信对端,所述通信对 端获知所述RDP代理的语音会话媒体信息后向所述RDP代理发送语音 流,由所述RDP代理将来自通信对端的语音流发送给本端RDP客户端, 和,将来自本端RDP客户端的语音流发送给通信对端,从而实现本端 RDP客户端与通信对端的VOIP通话,相比于现有技术而言,由RDP 代理来实现语音流双向传输,无需经过数据中心的云计算服务器,因 而,能够减小通信延迟,降低数据中心云计算服务器的负荷。另外, RDP代理运行在接入路由器或交换机的主控板中,或者运行在接入路 由去或交换机的开放业务平台单板中,这样,由于云桌面客户端与接 入路由器和/或交换机之间的局域网进行的数据传输是高带宽和低延时 的,因而可减少云桌面客户端与通信短短进行语音通信时,通话双方 的语音延迟,使得语音通话更加高效。

此外,与本发明实施例提供的云计算环境中实现VOIP通话的方法 相对应,本发明还提供一种云桌面虚拟机装置,如图10所示,包括:

接收单元101,用于接收来自本端RDP客户端或通信对端的VOIP 呼叫请求消息;

发送单元102,用于根据接收单元101接收的所述VOIP呼叫请求 消息,向RDP代理发送会话建立请求消息;

接收单元101,还用于接收所述RDP代理发送的会话建立应答消 息,所述会话建立应答消息中包含有所述RDP代理的语音会话媒体信 息;

发送单元102,还用于将所述RDP代理的语音会话媒体信息发送 给所述通信对端,以使所述通信对端根据所述RDP代理的语音会话媒 体信息通过所述RDP代理与所述本端RDP客户端进行VOIP通话。

本发明实施例提供的云桌面虚拟机装置,在本端RDP客户端与通 信对端进行VOIP通话时,发送单元102将RDP代理的语音会话媒体 信息发送给通信对端,以使所述通信对端获知所述RDP代理的语音会 话媒体信息后向所述RDP代理发送语音流,由所述RDP代理将来自通 信对端的语音流发送给本端RDP客户端,和,将来自本端RDP客户端 的语音流发送给通信对端,从而实现本端RDP客户端与通信对端的 VOIP通话,相比于现有技术而言,由RDP代理来实现语音流双向传 输,无需经过云桌面虚拟机,因而,能够减小通信延迟,降低云桌面 虚拟机服务器的负荷。

进一步地,接收单元101,还用于接收所述RDP代理发送的远程 桌面连接请求消息,所述远程桌面连接请求消息中包含有所述RDP代 理的代理信息;

发送单元102具体用于:

根据所述呼叫请求消息和所述远程桌面协议代理的代理信息,向 所述远程桌面协议代理发送会话建立请求消息。

进一步地,在本发明的一实施例中,当接收单元101接收到的所 述VOIP呼叫请求消息是来自所述本端RDP客户端时,发送单元102 具体用于:

向所述通信对端发送VOIP呼叫请求消息,所述VOIP呼叫请求消 息中包含有所述RDP代理的语音会话媒体信息;

进一步地,接收单元101,还用于在发送单元102向所述通信对端 发送VOIP呼叫请求消息之后,接收所述通信对端发送的呼叫应答消 息,所述呼叫应答消息中包含有所述通信对端的语音会话媒体信息;

发送单元102,还用于向所述RDP代理发送会话修改请求消息, 所述会话修改请求消息中包含有所述通信对端的语音会话媒体信息, 以使所述RDP代理根据所述通信对端的语音会话媒体信息实现所述本 端RDP客户端和所述通信对端的VOIP通话。

可选地,在本发明的另一实施例中,当接收单元101接收到的所 述VOIP呼叫请求消息是来自所述通信对端时,所述呼叫请求消息中包 含有所述通信对端的语音会话媒体信息;

发送单元102具体用于:

根据接收单元101接收的所述呼叫请求消息,向RDP代理发送会 话建立请求消息,所述会话建立请求消息中包含有所述通信对端的语 音会话媒体信息,以使所述RDP代理根据所述通信对端的语音会话媒 体信息实现所述本端RDP客户端和所述通信对端的VOIP通话;

发送单元102具体用于:

向所述通信对端发送呼叫应答消息,所述呼叫应答消息中包含有 所述RDP代理的语音会话媒体信息。

相应地,本发明还提供一种RDP代理装置,如图11A所示,包括:

接收单元111,用于接收云桌面虚拟机根据本端RDP客户端或通 信对端的VOIP呼叫请求消息而发送的会话建立请求消息;

发送单元112,用于根据接收单元111接收的会话建立请求消息, 向所述本端RDP客户端发送语音通道建立请求消息;

接收单元111,还用于接收所述本端RDP客户端发送的语音通道 建立应答消息,所述语音通道建立应答消息包含有所述本端RDP客户 端的虚拟通道媒体信息;

发送单元112,还用于向所述云桌面虚拟机发送会话建立应答消 息,所述会话建立应答消息中包含有所述RDP代理装置的语音会话媒 体信息,以使所述云桌面虚拟机将所述RDP代理装置的语音会话媒体 信息发送给所述通信对端;

接收单元111,还用于接收来自所述本端RDP客户端和所述通信 对端的语音流;

发送单元112,还用于转发来自所述本端RDP客户端和所述通信 对端的语音流,以实现所述本端RDP客户端和所述通信对端的VOIP 通话。

本发明实施例提供的RDP代理装置,接收单元111接收本端RDP 客户端发送的语音会话媒体信息,在本端RDP客户端与通信对端进行 VOIP通话时,由发送单元112将RDP代理装置的语音会话媒体信息 发送给通信对端,以使所述通信对端获知所述RDP代理装置的语音会 话媒体信息后向所述RDP代理装置发送语音流,由所述RDP代理装置 将来自通信对端的语音流发送给本端RDP客户端,和,将来自本端RDP 客户端的语音流发送给通信对端,从而实现本端RDP客户端与通信对 端的VOIP通话,相比于现有技术而言,由RDP代理装置来实现语音 流双向传输而无需经过云桌面虚拟机,因而,能够减小通信延迟,降 低云桌面虚拟机服务器的负荷。

进一步地,接收单元111,还用于在接收云桌面虚拟机发送的会话 建立请求消息之前,接收所述本端RDP客户端发送的远程桌面连接请 求;

如图11B所示,所述RDP代理装置还包括:

插入单元114,用于在所述接收单元接收的远程桌面连接请求中插 入所述RDP代理装置的代理信息;

发送单元112,还用于向所述云桌面虚拟机发送所述插入单元插入 了所述代理信息的远程桌面连接请求消息,以建立所述本端RDP客户 端和所述云桌面虚拟机之间的远程桌面连接。

进一步地,如图11C所示,接收单元111,还用于在接收云桌面 虚拟机发送的会话建立请求消息之前,接收所述本端RDP客户端发送 的第一远程桌面连接请求;

发送单元112,还用于向所述本端RDP客户端发送第一远程桌面 连接应答消息,以与所述本端RDP客户端建立第一远程桌面连接;

发送单元112,还用于向所述云桌面虚拟机发送第二远程桌面连接 请求消息,以与所述云桌面虚拟机建立第二远程桌面连接;

所述RDP代理装置还包括:

建立关联单元115,用于建立所述第一远程桌面连接和所述第二远 程桌面连接之间的关联关系,以建立所述本端RDP客户端和所述云桌 面虚拟机之间的远程桌面连接。

可选地,在本发明的一实施例中,如图11D或11E所示,所述RDP 代理装置还包括:

获取单元113,用于获取所述通信对端的语音会话媒体信息;当接 收单元111接收到所述云桌面虚拟机根据所述本端RDP客户端的VOIP 呼叫请求消息发送的会话建立请求消息时;

接收单元111,还用于接收所述云桌面虚拟机发送的会话修改请求 消息,所述会话修改请求消息中携带有通信对端的语音会话媒体信息;

获取单元113具体用于:

根据接收单元111接收的会话修改请求消息,获取所述通信对端 的语音会话媒体信息。

可选地,在本发明的另一实施例中,亦如图11D或11E所示,所 述RDP代理装置还包括:

获取单元,用于获取所述通信对端的语音会话媒体信息;当所述 接收单元接收到所述云桌面虚拟机根据所述通信对端的VOIP呼叫请 求消息发送的会话建立请求消息时,

所述会话建立请求消息中包含所述通信对端的语音会话媒体信 息;

获取单元113具体用于:

根据所述接收单元接收的所述会话建立请求消息,获取所述通信 对端的语音会话媒体信息。

进一步优选地,所述RDP代理装置设置于接入路由器或交换机中。

相应地,本发明还提供一种通信装置,如图12所示,包括:

接收单元121,用于接收RDP代理发送的语音通道建立请求消息, 所述语音通道建立请求消息是所述RDP代理根据云桌面虚拟机发送的 会话建立请求消息而发送的;

发送单元122,用于根据所述接收单元121接收的所述语音通道建 立请求消息,向所述RDP代理发送语音通道建立应答消息,所述语音 通道建立应答消息包含有所述通信装置的虚拟通道媒体信息;

接收单元121,还用于接收所述RDP代理发送的、来自所述通信 对端的语音流;

发送单元122,还用于向所述RDP代理发送语音流,以使所述RDP 代理将所述语音流发送给通信对端。

本发明实施例提供的通信装置,在与通信对端进行VOIP通话时, 接收单元121接收RDP代理发送的、来自所述通信对端的语音流;发 送单元122向所述RDP代理发送语音流,以使所述RDP代理将所述语 音流发送给通信对端。由所述RDP代理将来自通信对端的语音流发送 给通信装置,和,将来自通信装置的语音流发送给通信对端,从而实 现通信装置与通信对端的VOIP通话,相比于现有技术而言,由RDP 代理来实现语音流双向传输而无需经过云桌面虚拟机,因而,能够减 小通信延迟、降低云桌面虚拟机服务器的负荷。

进一步地,发送单元122,还用于通过所述RDP代理向所述云桌 面虚拟机发送远程桌面连接请求。

可选地,在本发明的一实施例中,所述通信装置为主叫端,所述 通信对端为被叫端;

发送单元122,还用于向云桌面虚拟机发送对所述通信对端的呼叫 请求消息,以使所述云桌面虚拟机向所述RDP代理发送会话建立请求 消息。

相应地,本发明还提供一种通信装置,如图13所示,包括:

接收单元131,用于接收云桌面虚拟机发送的RDP代理的语音会 话媒体信息;

发送单元132,用于根据接收单元131接收的RDP代理的语音会 话媒体信息,向所述RDP代理发送语音流,以使所述RDP代理将所述 语音流发送给本端RDP客户端;

接收单元131,还用于接收所述RDP代理发送的、来自所述本端 RDP客户端的语音流。

本发明实施例提供的通信装置,在与本端RDP客户端进行VOIP 通话时,接收单元131接收云桌面虚拟机发送的RDP代理的语音会话 媒体信息;发送单元132根据接收单元131接收的RDP代理的语音会 话媒体信息,向所述RDP代理发送语音流,以使所述RDP代理将所述 语音流发送给本端RDP客户端;接收单元131接收所述RDP代理发送 的、来自所述本端RDP客户端的语音流。由所述RDP代理将来自通信 对端的语音流发送给本端RDP客户端,和,将来自本端RDP客户端的 语音流发送给通信装置,从而实现本端RDP客户端与通信装置的VOIP 通话,相比于现有技术而言,由RDP代理来实现语音流双向传输而无 需经过云桌面虚拟机,因而,能够减小通信延迟,降低云桌面虚拟机 的负荷。

可选地,在本发明的一实施例中,所述通信装置为被叫端,所述 本端RDP客户端为主叫端;

接收单元131具体用于:

接收所述云桌面虚拟机发送的呼叫请求消息,所述呼叫请求消息 中包含有所述RDP代理的语音会话媒体信息;

发送单元132,还用于向所述云桌面虚拟机发送呼叫应答消息,所 述呼叫应答消息中包含有所述通信装置的语音会话媒体信息,以使所 述云桌面虚拟机将所述通信装置的语音会话媒体信息发送给所述RDP 代理。

可选地,在本发明的另一实施例中,所述通信装置为主叫端,所 述本端RDP客户端为被叫端;

发送单元132,还用于向所述云桌面虚拟机发送呼叫请求消息,所 述呼叫请求消息中包含有所述通信装置的语音会话媒体信息;

接收单元131具体用于:

接收所述云桌面虚拟机发送的呼叫应答消息,所述呼叫应答消息 中包含有所述RDP代理的语音会话媒体信息。

此外,相应地,本发明实施例还提供一种网络系统,其包括有上 述实施例中所述的云桌面虚拟机和上述实施例中所述的RDP代理装 置。

值得注意的是,上述云桌面虚拟机装置、RDP代理装置、通信装 置实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并 不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能 单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保 护范围。

本发明实施例提供的云计算环境中实现VOIP通话的方法、云桌面 虚拟机装置、RDP代理装置和网络系统,在实现本端RDP客户端与通 信对端的VOIP通话的过程中,通过云桌面虚拟机、RDP代理、本端 RDP客户端、通信对端之间的信息交互,最终由所述RDP代理接收并 转发所述本端RDP客户端和所述通信对端的VOIP语音流,从而实现 本端RDP客户端与通信对端的VOIP通话,相比于现有技术而言,由 RDP代理来实现语音流双向传输,无需经过云计算服务器的云桌面虚 拟机的处理,不会经过WAN网络两次,因而能够降低通信延迟和云计 算服务器的负荷。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部 分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储 于一种计算机可读存储介质中,所述存储介质可以是只读存储器、磁 盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并 不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范 围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。 因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号