通信方法和用户设备与流程

文档序号:16547577发布日期:2019-01-08 20:55阅读:170来源:国知局
通信方法和用户设备与流程

本发明实施例涉及通信领域,并且更具体地,涉及一种通信方法和用户设备。



背景技术:

网页实时通信(Web Real Time Communication,WebRTC)是一种可以支持网络浏览器进行实时多媒体通信的技术。与传统的基于本地客户端或浏览器插件的多媒体通信方式不同,WebRTC通过将多媒体通信所必须的处理(采集、编码和增强)、网络传输和会话控制等核心模块集成到浏览器内部,从而使第三方应用开发者仅需通过简单的JavaScript API调用即可获得实时的多媒体通信能力。

然而,WebRTC毕竟是基于互联网(Internet)的多媒体通信,其存在先天的不足,即服务的质量取决与互联网的网络状况,当网络状况不佳时其服务的质量大打折扣,从而,其免费或者费率低的优势也就无法体现。



技术实现要素:

本发明实施例了提供一种通信方法和用户设备,能够提升用户设备间的通信质量。

第一方面,提供了一种通信方法,包括:

第一用户设备建立与第二用户设备之间的基于互联网的网页实时通信 WebRTC多媒体通信,其中,所述基于互联网的WebRTC多媒体通信包括基于互联网的WebRTC音频通信和基于互联网的WebRTC非音频通信;

所述第一用户设备执行第一音频通信变更操作,其中,所述第一用户设备执行所述第一音频通信变更操作,包括:所述第一用户设备建立与所述第二用户设备之间的基于电信域的音频通信,以及所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备之间的基于互联网的WebRTC音频通信。

结合第一方面,在第一方面的第一种可能的实现方式中,在所述第一用户设备执行第一音频通信变更操作之前,所述方法还包括:

所述第一用户设备确定需要将与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在所述第一用户设备确定需要将与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信之前,所述方法还包括:

所述第一用户设备接收用户输入的第一请求信息,所述第一请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信;或者,

所述第一用户设备确定与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之外;或者,

所述第一用户设备接收WebRTC服务器发送的第二请求消息,所述第二请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一用户设备的WebRTC模块与所述第二用户设备的WebRTC模块之间进行基于互联网的WebRTC多媒体通信,所述第一用户设备的呼叫模块和所述第二用户设备的呼叫模块之间进行基于电信域的音频通信;

在所述第一用户设备建立与所述第二用户设备之间的基于电信域的音频通信,以及所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备之间的基于互联网的WebRTC音频通信之前,所述第一用户设备执行第一音频通信变更操作还包括:所述第一用户设备的WebRTC模块向所述第二用户设备的WebRTC 模块发送第一音频通信变更请求;所述第一用户设备的WebRTC模块接收所述第二用户设备的WebRTC模块根据所述第一音频通信变更请求发送的第一音频通信变更响应;基于所述第一音频通信变更响应,所述第一用户设备的 WebRTC模块向所述第一用户设备的呼叫模块发送呼叫请求指示消息;

所述第一用户设备建立与所述第二用户设备之间的基于电信域的音频通信,包括:基于所述呼叫请求指示信息,所述第一用户设备的呼叫模块向所述第二用户设备的呼叫模块发送第一呼叫请求,以便于所述第二用户设备的呼叫模块基于所述第一呼叫请求启动电话接听程序。

结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一音频通信变更请求携带所述第一用户设备的电信号码或携带所述第二用户设备的电信号码;所述第一音频通信变更响应携带所述第一用户设备的电信号码和所述第二用户设备的电信号码。

结合第一方面的第三种或第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一呼叫请求携带WebRTC标识和所述第一用户设备的WebRTC帐号,以便于电信服务器基于所述第一呼叫请求携带的 WebRTC标识和所述第一用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第一方面的第三种至第五种中任一种可能的实现方式,在第一方面的第六种可能的实现方式中,在所述第一用户设备的呼叫模块向所述第二用户设备的呼叫模块发送第一呼叫请求之后,所述第一用户设备执行第一音频通信变更操作,还包括:

所述第一用户设备的WebRTC模块接收所述第二用户设备的WebRTC模块在所述第二用户设备的呼叫模块启动电话接听程序之前发送的第一呼叫请求确认消息,所述第一呼叫请求确认消息用于请求确认所述第一呼叫请求是否是WebRTC关联呼叫请求;

根据所述第一呼叫请求确认消息,所述第一用户设备的WebRTC模块向所述第二用户设备的WebRTC模块发送第一呼叫请求确认响应,以便于所述第二用户设备的WebRTC模块根据所述第一呼叫请求确认响应指示所述第二用户设备的呼叫模块基于所述第一呼叫请求启动电话接听程序,其中,所述第一呼叫请求确认响应用于指示所述第一呼叫请求是WebRTC关联呼叫请求。

结合第一方面,在第一方面的第七种可能的实现方式中,所述第一用户设备的WebRTC模块与所述第二用户设备的WebRTC模块之间进行基于互联网的WebRTC多媒体通信,所述第一用户设备的呼叫模块和所述第二用户设备的呼叫模块之间进行基于电信域的音频通信;

在所述第一用户设备建立与所述第二用户设备之间的基于电信域的音频通信,以及所述第一用户设备在保持与所述第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备之间的基于互联网的WebRTC音频通信之前,所述第一用户设备执行第一音频通信变更操作还包括:所述第一用户设备的WebRTC模块接收所述第二用户设备的 WebRTC模块发送的第二音频通信变更请求;所述第一用户设备的WebRTC 模块基于所述第二音频通信变更请求,向所述第二用户设备的WebRTC模块发送第二音频通信变更响应;所述第一用户设备的呼叫模块接收所述第二用户设备的呼叫模块发送的第二呼叫请求,其中,所述第二呼叫请求是所述第二用户设备的WebRTC模块接收到所述第二音频通信变更响应之后指示所述第二用户设备的呼叫模块发送的;

所述第一用户设备建立与所述第二用户设备之间的基于电信域的音频通信,包括:根据所述第二呼叫请求,所述第一用户设备的呼叫模块启动电话接听程序。

结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,在所述第一用户设备的WebRTC模块向所述第二用户设备的 WebRTC模块发送所述第二音频通信变更响应之后,所述第一用户设备执行第一音频通信变更操作还包括:所述第一用户设备的WebRTC模块向所述第一用户设备的呼叫模块发送呼叫请求上报请求消息,用于请求所述第一用户设备的呼叫模块在接收到所述第二用户设备的呼叫请求时,向所述第一用户设备的WebRTC模块上报所述第二用户设备发送的呼叫请求;

在所述第一用户设备的呼叫模块启动电话接听程序之前,所述第一用户设备执行第一音频通信变更操作还包括:所述第一用户设备的呼叫模块向所述第一用户设备的WebRTC模块发送呼叫请求上报消息,所述呼叫请求上报消息用于向所述第一用户设备的WebRTC模块上报所述第二呼叫请求;根据所述呼叫请求上报消息,所述第一用户设备的WebRTC模块向所述第二用户设备的WebRTC模块发送第二呼叫请求确认消息,其中,所述第二呼叫请求确认消息用于请求确认所述第二呼叫请求是否是WebRTC关联呼叫请求;所述第一用户设备的WebRTC模块接收所述第二用户设备的WebRTC模块根据所述第二呼叫请求确认消息发送的第二呼叫请求确认响应;根据所述第二呼叫请求确认响应,所述第一用户设备的WebRTC模块向所述第一用户设备的呼叫模块发送呼叫请求接听通知,其中,所述第二呼叫请求响应用于确认所述第二呼叫请求是WebRTC关联呼叫请求;

其中,所述第一用户设备的呼叫模块启动电话接听程序,包括:基于所述呼叫请求接听通知和所述第二呼叫请求,所述第一用户设备的呼叫模块启动电话接听程序。

结合第一方面的第七种或第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述第二音频通信变更请求携带第一用户设备的电信号码或携带所述第二用户设备的电信号码;所述第二音频通信变更响应消息携带所述第一用户设备的电信号码和所述第二用户设备的电信号码。

结合第一方面的第七种至第九种中任一种可能的实现方式,在第一方面的第十种可能的实现方式中,所述第二呼叫请求携带WebRTC标识和所述第二用户设备的WebRTC帐号,以便于电信服务器基于所述第二呼叫请求携带的WebRTC标识和所述第二用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第一方面的第三种至第十种中任一种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

所述第一用户设备向所述第二用户设备发送第一WebRTC连接修改请求,其中,所述第一WebRTC连接修改请求用于请求所述第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信而不进行基于互联网的WebRTC音频通信;

所述第一用户设备接收所述第二用户设备根据所述第一WebRTC连接修改请求发送的第一WebRTC连接修改响应,其中,所述第一WebRTC连接修改响应用于确认所述第一用户设备和第二用户设备之间进行基于互联网的 WebRTC非音频通信而不进行基于互联网的WebRTC音频通信;

所述第一用户设备指示用户代理UA停止采集麦克风的音频数据。

结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述第一WebRTC连接修改请求中携带的会话描述协议SDP 中音频对应的媒体行的端口号设置为0;

所述第一用户设备指示UA停止采集麦克风的音频数据,包括:

所述第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为静音MUTED。

结合第一方面的第三种至第十种中任一种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

所述第一用户设备接收所述第二用户设备发送的第二WebRTC连接修改请求,其中,所述第二WebRTC连接修改请求用于请求所述第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信而不进行基于互联网的WebRTC音频通信;

基于所述第而WebRTC连接修改请求,所述第一用户设备向所述第二用户设备发送第二WebRTC连接修改响应,其中,所述第二WebRTC连接修改响应用于确认所述第一用户设备和第二用户设备之间进行基于互联网的 WebRTC非音频通信而不进行基于互联网的WebRTC音频通信;

所述第一用户设备的WebRTC模块指示UA停止采集麦克风的音频数据。

结合第一方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述第二WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为0;

所述第一用户设备指示UA停止采集麦克风的音频数据,包括:

所述第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为静音MUTED。

结合第一方面,或第一方面的第一种至第十四种中任一种可能的实现方式,在第一方面的第十五种可能的实现方式中,在所述第一用户设备执行第一音频通信变更操作之后,所述方法还包括:

所述第一用户设备执行第二音频通信变更操作,其中,所述第一用户设备执行第二音频通信变更操作,包括:所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与所述第二用户设备之间的基于互联网的WebRTC音频通信,以及所述第一用户设备断开与所述第二用户设备之间的基于电信域的音频通信。

结合第一方面的第十五种可能的实现方式,在第一方面的第十六种可能的实现方式中,在所述第一用户设备执行第二音频通信变更操作之前,所述方法还包括:

所述第一用户设备确定需要将与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第一方面的第十六种可能的实现方式,在第一方面的第十七种可能的实现方式中,在所述第一用户设备确定需要将与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信之前,所述方法还包括:

所述第一用户设备接收用户输入的第三请求信息,所述第三请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信;或者,

所述第一用户设备确定与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之内;或者,

所述第一用户设备接收WebRTC服务器发送的第四请求消息,所述第四请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第一方面的第十五种至十七种种任一种可能的实现方式,在第一方面的第十八种可能的实现方式中,所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

所述第一用户设备向所述第二用户设备发送第三WebRTC连接修改请求,其中,所述第三WebRTC连接修改请求用于请求所述第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

所述第一用户设备接收所述第二用户设备基于所述第三WebRTC连接修改请求发送的第三WebRTC连接修改响应,其中,所述第三WebRTC连接修改响应用于确认所述第一用户设备和第二用户设备之间进行基于互联网的 WebRTC非音频通信以及WebRTC音频通信;

所述第一用户设备指示UA采集麦克风的音频数据。

结合第一方面的第十八种可能的实现方式,在第一方面的第十九种可能的实现方式中,所述第三WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述第一用户设备能够接收音频数据;

所述第一用户设备指示UA采集麦克风的音频数据,包括:

所述第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为激活Live。

结合第一方面的第十五种可能的实现方式,在第一方面的第二十种可能的实现方式中,所述第一用户设备在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

所述第一用户设备接收所述第二用户设备发送的第四WebRTC连接修改请求,其中,所述第四WebRTC连接修改请求用于请求所述第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

基于所述第四WebRTC连接修改请求,所述第一用户设备向所述第二用户设备发送的第四WebRT连接修改响应,其中,所述第四WebRTC连接修改响应用于确认所述第一用户设备和第二用户设备之间进行基于互联网的 WebRTC非音频通信以及WebRTC音频通信;

所述第一用户设备指示UA采集麦克风的音频数据。

结合第一方面的第二十种可能的实现方式,在第一方面的第二十一种可能的实现方式中,所述第四WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述第一用户设备能够接收音频数据;

所述第一用户设备指示UA采集麦克风的音频数据,包括:

所述第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为LIVE。

结合第一方面的第十五种至二十一种中任一种可能的实现方式,在第一方面的第二十二种可能的实现方式中,所述第一用户设备断开与所述第二用户设备之间的基于电信域的音频通信,包括:

所述第一用户设备向所述第二用户设备发送第一呼叫挂断请求,以便于所述第二用户设备启动电话挂断程序。

结合第一方面的第十五种至二十一种中任一种可能的实现方式,在第一方面的第二十三种可能的实现方式中,所述第一用户设备断开与所述第二用户设备之间的基于电信域的音频通信,包括:

所述第一用户设备接收所述第二用户设备发送的第二呼叫挂断请求;

基于所述第二呼叫挂断请求,所述第一用户设备启动呼叫挂断程序。

第二方面,提供了一种用户设备,所述用户设备包括WebRTC模块和呼叫模块;其中,

所述用户设备的WebRTC模块用于建立与第二用户设备的WebRTC模块之间的基于互联网的网页实时通信WebRTC多媒体通信,其中,所述基于互联网的WebRTC多媒体通信包括基于互联网的WebRTC音频通信和基于互联网的WebRTC非音频通信;

所述用户设备用于执行第一音频通信变更操作,其中,所述用户设备用于执行第一音频通信变更操作,包括:所述用户设备的呼叫模块用于建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,以及所述用户设备的WebRTC模块还用于在保持与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备的 WebRTC模块之间的基于互联网的WebRTC音频通信。

结合第二方面,在第二方面的第一种可能的实现方式中,所述WebRTC 模块还用于在所述用户设备执行第一音频通信变更操作之前,确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述用户设备的WebRTC模块还用于:在确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信之前,接收用户输入的第一请求信息,所述第一请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,或者,确定与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之外,或者,接收WebRTC服务器发送的第二请求消息,所述第二请求消息用于指示将所述第一用户设备与所述第二用户设备之间的音频通信从基于互联网的 WebRTC音频通信变更为基于电信域的音频通信。

结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述用户设备的WebRTC模块还用于:在所述用户设备的呼叫模块建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,以及所述用户设备的WebRTC模块还用于在保持与所述第二用户设备的 WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信之前,向所述第二用户设备的WebRTC模块发送第一音频通信变更请求,接收所述第二用户设备的WebRTC模块根据所述第一音频通信变更请求发送的第一音频通信变更响应,以及基于所述第一音频通信变更响应,向所述用户设备的呼叫模块发送呼叫请求指示消息;

所述用户设备的呼叫模块用于建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:所述用户设备的呼叫模块用于接收所述呼叫请求指示信息,以及基于所述呼叫请求指示信息,向所述第二用户设备的呼叫模块发送第一呼叫请求,以便于所述第二用户设备的呼叫模块基于所述第一呼叫请求启动电话接听程序。

结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一音频通信变更请求携带所述用户设备的电信号码或携带所述第二用户设备的电信号码;所述第一音频通信变更响应携带所述用户设备的电信号码和所述第二用户设备的电信号码。

结合第二方面的第三种或第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一呼叫请求携带WebRTC标识和所述用户设备的 WebRTC帐号,以便于电信服务器基于所述第一呼叫请求携带的WebRTC标识和所述用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第二方面的第三种至第五种中任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述用户设备的WebRTC模块还用于:在所述用户设备的呼叫模块向所述第二用户设备的呼叫模块发送第一呼叫请求之后,接收所述第二用户设备的WebRTC模块在所述第二用户设备的呼叫模块启动电话接听程序之前发送的第一呼叫请求确认消息,所述第一呼叫请求确认消息用于请求确认所述第一呼叫请求是否是WebRTC关联呼叫请求,以及向所述第二用户设备的WebRTC模块发送第一呼叫请求确认响应,以便于所述第二用户设备的WebRTC模块根据所述第一呼叫请求确认响应指示所述第二用户设备的呼叫模块基于所述第一呼叫请求启动电话接听程序,其中,所述第一呼叫请求确认响应用于指示所述第一呼叫请求是WebRTC关联呼叫请求。

结合第二方面,在第二方面的第七种可能的实现方式中,所述用户设备的WebRTC模块还用于:在所述用户设备的呼叫模块建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,以及所述用户设备的WebRTC 模块在保持与所述第二用户设备的WebRTC模块之间的基于互联网的 WebRTC非音频通信的情况下,断开与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信之前,接收所述第二用户设备的 WebRTC模块发送的第二音频通信变更请求,基于所述第二音频通信变更请求,向所述第二用户设备的WebRTC模块发送第二音频通信变更响应;

所述用户设备的呼叫模块用于建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:所述用户设备的呼叫模块用于接收所述第二用户设备的呼叫模块发送的第二呼叫请求,其中,所述第二呼叫请求是所述第二用户设备的WebRTC模块接收到所述第二音频通信变更响应之后指示所述第二用户设备的呼叫模块发送的,以及根据所述第二呼叫请求,启动电话接听程序。

结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述用户设备的WebRTC模块还用于:在向所述第二用户设备的 WebRTC模块发送所述第二音频通信变更响应之后,向所述用户设备的呼叫模块发送呼叫请求上报请求消息,用于请求所述用户设备的呼叫模块在接收到所述第二用户设备的呼叫请求时,向所述用户设备的WebRTC模块上报所述第二用户设备发送的呼叫请求;

所述用户设备的呼叫模块还用于:在启动电话接听程序之前,向所述用户设备的WebRTC模块发送呼叫请求上报消息,所述呼叫请求上报消息用于向所述用户设备的WebRTC模块上报所述第二呼叫请求;

所述用户设备的WebRTC模块还用于:根据所述呼叫请求上报消息,向所述第二用户设备的WebRTC模块发送第二呼叫请求确认消息,其中,所述第二呼叫请求确认消息用于请求确认所述第二呼叫请求是否是WebRTC关联呼叫请求,接收所述第二用户设备的WebRTC模块根据所述第二呼叫请求确认消息发送的第二呼叫请求确认响应,以及根据所述第二呼叫请求确认响应,向所述用户设备的呼叫模块发送呼叫请求接听通知,其中,所述第二呼叫请求响应用于确认所述第二呼叫请求是WebRTC关联呼叫请求;

所述用户设备的呼叫模块用于建立与所述第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:所述用户设备的呼叫模块用于基于所述呼叫请求接听通知和所述第二呼叫请求,启动电话接听程序。

结合第二方面的第七种或第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述第二音频通信变更请求携带所述用户设备的电信号码或携带所述第二用户设备的电信号码;所述第二音频通信变更响应消息携带所述用户设备的电信号码和所述第二用户设备的电信号码。

结合第二方面的第七种至第九种中任一种可能的实现方式,在第二方面的第十种可能的实现方式中,所述第二呼叫请求携带WebRTC标识和所述第二用户设备的WebRTC帐号,以便于电信服务器基于所述第二呼叫请求携带的WebRTC标识和所述第二用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第二方面的第三种至第十种中任一种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述用户设备的WebRTC模块用于在保持与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备的WebRTC模块之间的基于互联网的 WebRTC音频通信,包括:

所述用户设备的WebRTC模块用于向所述第二用户设备的WebRTC模块发送第一WebRTC连接修改请求,接收所述第二用户设备的WebRTC模块根据所述第一WebRTC连接修改请求发送的第一WebRTC连接修改响应,以及指示用户代理UA停止采集麦克风的音频数据,其中,所述第一WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的 WebRTC非音频通信而不进行基于互联网的WebRTC音频通信,所述第一 WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信而不进行基于互联网的WebRTC音频通信。

结合第二方面的第十一种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述第一WebRTC连接修改请求中携带的会话描述协议SDP 中的音频对应的媒体行的端口号设置为0;

所述用户设备的WebRTC模块具体用于:指示UA将音频的媒体流轨道 MediaStreamTrack的状态值置为静音MUTED。

结合第二方面的第三种至第十种中任一种可能的实现方式,在第二方面的第十三种可能的实现方式中,所述用户设备的WebRTC模块用于在保持与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与所述第二用户设备的WebRTC模块之间的基于互联网的 WebRTC音频通信,包括:

所述用户设备的WebRTC模块接收所述第二用户设备的WebRTC模块发送的第二WebRTC连接修改请求,基于所述WebRTC连接修改请求,向所述第二用户设备的WebRTC模块发送第二WebRTC连接修改响应,以及指示 UA停止采集麦克风的音频数据,其中,所述第二WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信而不进行基于互联网的WebRTC音频通信,所述第二WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC 非音频通信而不进行基于互联网的WebRTC音频通信。

结合第二方面的第十三种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述第二WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为0;

所述用户设备的WebRTC模块具体用于:指示UA将音频的媒体流轨道 MediaStreamTrack的状态值置为静音MUTED。

结合第二方面,或第二方面的第一种至第十四种中任一种可能的实现方式,在第二方面的第十五种可能的实现方式中,在执行第一音频通信变更操作之后,所述用户设备还用于执行第二音频通信变更操作,其中,所述用户设备还用于执行第二音频通信变更操作,包括:所述用户设备的WebRTC模块用于在保持与所述第二用户设备的WebRTC模块之间的基于互联网的 WebRTC非音频通信的情况下,建立与所述第二用户设备的WebRTC模块基于互联网的WebRTC音频通信,以及所述用户设备的呼叫模块断开与所述第二用户设备的呼叫模块之间的基于电信域的音频通信。

结合第二方面的第十五种可能的实现方式,在第二方面的第十六种可能的实现方式中,在所述用户设备执行第二音频通信变更操作之前,所述用户设备的WebRTC模块还用于:确定需要将与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第二方面的第十六种可能的实现方式,在第二方面的第十七种可能的实现方式中,在确定需要将与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信之前,所述用户设备的WebRTC模块还用于:

接收用户输入的第三请求信息,所述第三请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信;或者,

确定与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之内;或者,

接收WebRTC服务器发送的第四请求消息,所述第四请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第二方面的第十五种至十七种任一种可能的实现方式,在第二方面的第十八种可能的实现方式中,所述用户设备的WebRTC模块用于在保持与所述第二用户设备的WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,建立与所述第二用户设备的WebRTC模块之间的基于互联网的 WebRTC音频通信,包括:

所述用户设备的WebRTC模块向所述第二用户设备的WebRTC模块发送第三WebRTC连接修改请求,接收所述第二用户设备的WebRTC模块基于所述第三WebRTC连接修改请求发送的第三WebRTC连接修改响应,以及指示 UA采集麦克风的音频数据,其中,所述第三WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,所述第三WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信。

结合第二方面的第十八种可能的实现方式,在第二方面的第十九种可能的实现方式中,所述第三WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述第一用户设备的 WebRTC模块指示接收音频数据;

所述用户设备的WebRTC模块具体用于:指示UA将音频的媒体流轨道 MediaStreamTrack的状态值置为激活LIVE。

结合第二方面的第十五种可能的实现方式,在第二方面的第二十种可能的实现方式中,所述用户设备的WebRTC模块用于在保持与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

所述用户设备的WebRTC模块用于接收所述第二用户设备发送的第四 WebRTC连接修改请求,基于所述第四WebRTC连接修改请求,向所述第二用户设备发送的第四WebRT连接修改响应,以及指示UA采集麦克风的音频数据,其中,所述第四WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,所述第四WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信。

结合第二方面的第二十种可能的实现方式,在第二方面的第二十一种可能的实现方式中,所述第四WebRTC连接修改请求中携带的SDP中的音频对应的媒体行设置为非0的有效端口号,用于指示所述第一用户设备的WebRTC 模块能够接收音频数据;

所述用户设备的WebRTC模块具体用于:指示UA将音频的媒体流轨道 MediaStreamTrack的状态值置为激活LIVE。

结合第二方面的第十五种至二十一种中任一种可能的实现方式,在第二方面的第二十二种可能的实现方式中,所述用户设备的呼叫模块用于断开与所述第二用户设备之间的基于电信域的音频通信,包括:

所述用户设备的呼叫模块用于向所述第二用户设备的呼叫模块发送第一呼叫挂断请求,以便于所述第二用户设备的呼叫模块启动电话挂断程序。

结合第二方面的第十五种至二十一种中任一种可能的实现方式,在第二方面的第二十三种可能的实现方式中,所述用户设备的呼叫模块用于断开与所述第二用户设备之间的基于电信域的音频通信,包括:

所述用户设备的呼叫模块用于接收所述第二用户设备发送的第二呼叫挂断请求,以及基于所述第二呼叫挂断请求,启动呼叫挂断程序。

第三方面,提供了一种用户设备,包括存储器和处理器,其中所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的所述程序代码,执行以下步骤:

建立所述用户设备与第二用户设备之间的基于互联网的网页实时通信 WebRTC多媒体通信,其中,所述基于互联网的WebRTC多媒体通信包括基于互联网的WebRTC音频通信和基于互联网的WebRTC非音频通信;

执行第一音频通信变更操作,其中,所述执行所述第一音频通信变更操作,包括:建立所述用户设备与所述第二用户设备之间的基于电信域的音频通信,以及在保持所述用户设备与所述第二用户设备之间的基于互联网的 WebRTC非音频通信的情况下,断开所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信。

结合第三方面,在第三方面的第一种可能的实现方式中,在所述执行第一音频通信变更操作之前,所述处理器还用于调用所述存储器中存储的所述程序代码,执行以下步骤:

确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,在所述确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信之前,所述处理器还用于调用所述存储器中存储的所述程序代码,执行以下步骤:

接收用户输入的第一请求信息,所述第一请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信;或者,

确定所述用户设备与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之外;或者,

接收WebRTC服务器发送的第二请求消息,所述第二请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于互联网的 WebRTC音频通信变更为基于电信域的音频通信。

结合第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,在所述所述用户设备与所述第二用户设备之间建立基于电信域的音频通信,以及在保持所述用户设备与所述第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,断开所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信之前,所述执行所述第一音频通信变更操作还包括:向所述第二用户设备发送第一音频通信变更请求;接收所述第二用户设备根据所述第一音频通信变更请求发送的第一音频通信变更响应;

所述建立所述用户设备与所述第二用户设备之间的基于电信域的音频通信,包括:基于所述第一音频通信变更响应,向所述第二用户设备发送第一呼叫请求,以便于所述第二用户设备基于所述第一呼叫请求启动电话接听程序。

结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一音频通信变更请求携带所述用户设备的电信号码或携带所述第二用户设备的电信号码;所述第一音频通信变更响应携带所述用户设备的电信号码和所述第二用户设备的电信号码。

结合第三方面的第三种或第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述第一呼叫请求携带WebRTC标识和所述用户设备的 WebRTC帐号,以便于电信服务器基于所述第一呼叫请求携带的WebRTC标识和所述用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第三方面的第三种至第五种中任一种可能的实现方式,在第三方面的第六种可能的实现方式中,在向所述第二用户设备发送第一呼叫请求之后,所述执行第一音频通信变更操作,还包括:

接收所述第二用户设备在所述启动电话接听程序之前发送的第一呼叫请求确认消息,所述第一呼叫请求确认消息用于请求确认所述第一呼叫请求是否是WebRTC关联呼叫请求;

根据所述第一呼叫请求确认消息,向所述第二用户设备发送第一呼叫请求确认响应,以便于所述第二用户设备根据所述第一呼叫请求确认响应指示启动电话接听程序,其中,所述第一呼叫请求确认响应用于指示所述第一呼叫请求是WebRTC关联呼叫请求。

结合第三方面,在第三方面的第七种可能的实现方式中,在所述建立所述用户设备与所述第二用户设备之间的基于电信域的音频通信,以及在保持所述用户设备与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与所述用户设备所述第二用户设备之间的基于互联网的 WebRTC音频通信之前,所述执行第一音频通信变更操作还包括:接收所述第二用户设备发送的第二音频通信变更请求;基于所述第二音频通信变更请求,向所述第二用户设备发送第二音频通信变更响应;

所述建立所述用户设备与所述第二用户设备之间的基于电信域的音频通信,包括:接收所述第二用户设备发送的第二呼叫请求,其中,所述第二呼叫请求是所述第二用户设备接收到所述第二音频通信变更响应之后发送的;

根据所述第二呼叫请求,所述用户设备启动电话接听程序。

结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,在所述启动电话接听程序之前,所述执行第一音频通信变更操作还包括:

向所述第二用户设备发送第二呼叫请求确认消息,其中,所述第二呼叫请求确认消息用于请求确认所述第二呼叫请求是否是WebRTC关联呼叫请求;接收所述第二用户设备根据所述第二呼叫请求确认消息发送的第二呼叫请求确认响应,其中,所述第二呼叫请求响应用于确认所述第二呼叫请求是 WebRTC关联呼叫请求;

其中,所述启动电话接听程序,包括:基于所述第二呼叫请求确认响应和所述第二呼叫请求,启动电话接听程序。

结合第三方面的第七种或第八种可能的实现方式,在第三方面的第九种可能的实现方式中,所述第二音频通信变更请求携带第二用户设备的电信号码或携带所述第二用户设备的电信号码;所述第二音频通信变更响应消息携带所述用户设备的电信号码和所述第二用户设备的电信号码。

结合第三方面的第七种至第九种中任一种可能的实现方式,在第三方面的第十种可能的实现方式中,所述第二呼叫请求携带WebRTC标识和所述第二用户设备的WebRTC帐号,以便于电信服务器基于所述第二呼叫请求携带的WebRTC标识和所述第二用户设备的WebRTC帐号对所述第一呼叫请求进行鉴权。

结合第三方面的第三种至第十种中任一种可能的实现方式,在第三方面的第十一种可能的实现方式中,所述在保持所述用户设备与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

向所述第二用户设备发送第一WebRTC连接修改请求,其中,所述第一 WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

接收所述第二用户设备根据所述第一WebRTC连接修改请求发送的第一 WebRTC连接修改响应,其中,所述第一WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

指示用户代理UA停止采集麦克风的音频数据。

结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,所述第一WebRTC连接修改请求中携带的SDP文件的音频 audio对应的m行设置为0;

所述指示用户代理UA停止采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为MUTED。

结合第三方面的第三种至第十种中任一种可能的实现方式,在第三方面的第十三种可能的实现方式中,所述在保持所述用户设备与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

接收所述第二用户设备发送的第二WebRTC连接修改请求,其中,所述第二WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

基于所述WebRTC连接修改请求,向所述第二用户设备发送第二 WebRTC连接修改响应,其中,所述第二WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

指示UA停止采集麦克风的音频数据。

结合第三方面的第十三种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述第二WebRTC连接修改请求中携带的SDP文件的音频 audio对应的m行设置为0;

所述指示用户代理UA停止采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为MUTED。

结合第三方面,或第三方面的第一种至第十四种中任一种可能的实现方式,在第三方面的第十五种可能的实现方式中,在所执行第一音频通信变更操作之后,所述处理器还用于调用所述存储器中存储的所述程序代码,执行以下步骤:

执行第二音频通信变更操作,其中,所述执行第二音频通信变更操作,包括:在保持所述用户设备与所述第二用户设备之间的基于互联网的 WebRTC非音频通信的情况下,建立所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信,以及断开所述用户设备与所述第二用户设备之间的基于电信域的音频通信。

结合第三方面的第十五种可能的实现方式,在第三方面的第十六种可能的实现方式中,在所述执行第二音频通信变更操作之前,所述处理器还用于调用所述存储器中存储的所述程序代码,执行以下步骤:

确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第三方面的第十六种可能的实现方式,在第三方面的第十七种可能的实现方式中,在所述确定需要将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信之前,所述处理器还用于调用所述存储器中存储的所述程序代码,执行以下步骤:

接收用户输入的第三请求信息,所述第三请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信;或者,

确定所述用户设备与所述第二用户设备之间的基于互联网的通信质量值处于预定范围之内;或者,

接收WebRTC服务器发送的第四请求消息,所述第四请求消息用于指示将所述用户设备与所述第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

结合第三方面的第十五种至十七种任一种可能的实现方式,在第三方面的第十八种可能的实现方式中,所述在保持所述用户设备与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

向所述第二用户设备发送第三WebRTC连接修改请求,其中,所述第三 WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

接收所述第二用户设备基于所述第三WebRTC连接修改请求发送的第三 WebRTC连接修改响应,其中,所述第三WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信;

指示UA采集麦克风的音频数据。

结合第三方面的第十八种可能的实现方式,在第三方面的第十九种可能的实现方式中,所述第三WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述用户设备能够接收音频数据;

所述指示UA采集麦克风的音频数据,包括:

指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为LIVE。

结合第三方面的第十五种可能的实现方式,在第三方面的第二十种可能的实现方式中,所述在保持所述用户设备与所述第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立所述用户设备与所述第二用户设备之间的基于互联网的WebRTC音频通信,包括:

接收所述第二用户设备发送的第四WebRTC连接修改请求,其中,所述第四WebRTC连接修改请求用于请求所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

基于所述第四WebRTC连接修改请求,向所述第二用户设备发送的第四 webRT连接修改响应,其中,所述第四WebRTC连接修改响应用于确认所述用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信;

指示UA采集麦克风的音频数据。

结合第三方面的第二十种可能的实现方式,在第三方面的第二十一种可能的实现方式中,所述第四WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述用户设备能够接收音频数据;

所述指示UA采集麦克风的音频数据,包括:

指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为LIVE。

结合第三方面的第十五种至二十一种中任一种可能的实现方式,在第三方面的第二十二种可能的实现方式中,所述断开所述用户设备与所述第二用户设备之间的基于电信域的音频通信,包括:

向所述第二用户设备发送第一呼叫挂断请求,以便于所述第二用户设备启动电话挂断程序。

结合第三方面的第十五种至二十一种中任一种可能的实现方式,在第三方面的第二十三种可能的实现方式中,所述断开所述用户设备与所述第二用户设备之间的基于电信域的音频通信,包括:

接收所述第二用户设备发送的第二呼叫挂断请求;

基于所述第二呼叫挂断请求,启动呼叫挂断程序。

因此,本发明实施例可以在网络状况不佳时,通过将用户设备间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,提升用户设备之间的音频通信质量。并且用户设备之间不再进行基于互联网的 WebRTC音频通信,则用户设备之间可以占用更多的带宽进行基于互联网的 WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。

附图说明

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

图1是根据本发明实施例的通信方法的示意性流程图。

图2是根据本发明另一实施例的通信方法的示意性流程图。

图3是根据本发明另一实施例的通信方法的示意性流程图。

图4是根据本发明另一实施例的用户设备的示意性框图。

图5是根据本发明另一实施例的用户设备的示意性框图。

具体实施方式

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

图1是根据本发明实施例的通信方法100的示意性流程图。如图1所示,该方法100包括:

S110,第一用户设备建立与第二用户设备之间的基于互联网的WebRTC 多媒体通信,其中,基于互联网的WebRTC多媒体通信包括基于互联网的 WebRTC音频通信和基于互联网的WebRTC非音频通信。可选地,该非音频通信可以包括但不限于视频通信以及文字、文件传输等。本发明实施例所述的音频通信也可称为语音通信。

S120,该第一用户设备执行第一音频通信变更操作,其中,该第一用户设备执行该第一音频通信变更操作,包括:该第一用户设备建立与该第二用户设备之间的基于电信域的音频通信,以及该第一用户设备在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备之间的基于互联网的WebRTC音频通信。在本发明实施例中,第一用户设备断开与该第二用户设备之间的基于互联网的WebRTC音频通信即为第一用户设备与第二用户设备之间不进行基于互联网的WebRTC音频通信,具体可以是第一用户设备和第二用户设备之间不再基于互联网传输WebRTC 音频数据。

在本发明实施例中,在第一用户设备与第二用户设备之间建立基于互联网的WebRTC多媒体通信之后,第一用户设备可以执行音频通信变更操作,从而可以在保持与第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,将与该第二用户设备之间建立的音频通信从基于互联网的 WebRTC音频通信变更为基于电信域的音频通信,具体地,该第一用户设备可以通过建立与该第二用户设备之间的基于电信域的音频通信,以及在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备之间的基于互联网的WebRTC音频通信来实现音频通信的变更。因此,可以在网络状况不佳时,通过将用户设备间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,提升用户设备之间的音频通信质量,并且用户设备之间不再进行基于互联网的WebRTC音频通信,则用户设备之间可以占用更多的带宽进行基于互联网的WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。

在本发明实施例中,在保持与第二用户设备之间建立的基于互联网的 WebRTC非音频通信的情况下,第一用户设备和第二用户设备可以先断开基于互联网的WebRTC音频通信,再建立基于电信域的音频通信;或者,也可以先建立基于电信域的音频通信,再断开基于互联网的WebRTC音频通信;或者,建立基于电信域的音频通信的操作与断开基于互联网的WebRTC音频通信的操作同时执行。其中,为了描述的方便,以下将以先建立基于电信域的音频通信,再断开基于互联网的WebRTC音频通信进行详细说明。

以下将首先介绍如何实现建立基于电信域的音频通信,其中,对于如何建立基于电信域的音频通信,以下将介绍两种实现方式。

在第一种实现方式中,第一用户设备确定需要将与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。其中,可以在以下三种情况中任一种情况发生后,第一用户设备确定需要将与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

1)第一用户设备接收到用户输入的第一请求信息,其中,该第一请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。具体地,使用该第一用户设备的用户可以在感觉基于互联网的WebRTC音频通信的通话质量较差时,输入该第一请求消息。

2)第一用户设备确定与该第二用户设备之间的基于互联网的通信质量值处于预定范围之外。具体地说,该通信质量值可以是实测出来的网络带宽,丢包、时延或抖动等中的至少一种。如果该通信质量值处于预定范围之外,则表明第一用户设备的第二用户设备间的基于互联网的WebRTC通信质量较差。

3)第一用户设备接收到WebRTC服务器发送的第二请求消息,该第二请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。具体地, WebRTC服务器可以是在确定用户设备之间的带宽无法保证正常的通信质量时发送上述第二请求消息。

该第一用户设备的webRTC模块可以与该第二用户设备的WebRTC模块之间进行基于互联网的WebRTC多媒体通信,该第一用户设备的呼叫模块可以和该第二用户设备的呼叫模块之间进行基于电信域的音频通信;

在本发明实施例中,第一用户设备在确定需要将与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信之后,可以执行与第二用户设备间的基于电信域的音频通信。具体的实现方式可以为,该第一用户设备的WebRTC模块向该第二用户设备的WebRTC模块发送第一音频通信变更请求;该第一用户设备的WebRTC模块接收该第二用户设备的WebRTC模块根据该第一音频通信变更请求发送的第一音频通信变更响应;基于该第一音频通信变更响应,该第一用户设备的WebRTC模块向该第一用户设备的呼叫模块发送呼叫请求指示消息;基于该呼叫请求指示信息,该第一用户设备的呼叫模块向该第二用户设备的呼叫模块发送第一呼叫请求,以便于该第二用户设备的呼叫模块基于该第一呼叫请求启动电话接听程序。

可选地,该第一音频通信变更请求可以携带该第一用户设备的电信号码或携带该第二用户设备的电信号码;该第一音频通信变更响应可以携带该第一用户设备的电信号码和该第二用户设备的电信号码。

可选地,该第一呼叫请求可以携带WebRTC标识和第一用户设备的 WebRTC帐号,以便于电信服务器基于该WebRTC标识和该第一用户设备的 WebRTC帐号对该第一呼叫请求进行鉴权。

可选地,在该第一用户设备的呼叫模块向该第二用户设备的呼叫模块发送第一呼叫请求之后,该第一用户设备的WebRTC模块还接收该第二用户设备的WebRTC模块在该第二用户设备的呼叫模块启动电话接听程序之前发送的第一呼叫请求确认消息,该第一呼叫请求确认消息用于请求确认该第一呼叫请求是否是WebRTC关联呼叫请求;根据该第一呼叫请求确认消息,该第二用户设备的WebRTC模块向该第二用户设备的WebRTC模块发送第一呼叫请求确认响应,以便于该第二用户设备的WebRTC模块根据该第一呼叫请求确认响应指示该第二用户设备的呼叫模块基于该第一呼叫请求启动电话接听程序,其中,该第一呼叫请求确认响应用于指示该第一呼叫请求是WebRTC 关联呼叫请求。

在第二种实现方式中,对于如何建立第一用户设备和第二用户设备的基于电信域的音频通信可以为,该第一用户设备的WebRTC模块接收该第二用户设备模块发送的第二音频通信变更请求;该第一用户设备基于该第二音频通信变更请求,向该第二用户设备的WebRTC模块发送第二音频通信变更响应;该第一用户设备的呼叫模块接收该第二用户设备的呼叫模块发送的第二呼叫请求,其中,该第二呼叫请求是该第二用户设备的WebRTC模块接收到该第二音频通信变更响应之后指示该第二用户设备的呼叫模块发送的;根据该第二呼叫请求,该第一用户设备的呼叫模块启动电话接听程序。

可选地,在该第一用户设备的WebRTC模块向该第二用户设备的 WebRTC模块发送第二音频通信变更响应之后,该第一用户设备的WebRTC 模块向第一用户设备的呼叫模块发送呼叫请求上报请求消息,用于请求第一用户设备的呼叫模块在接收到第二用户设备的呼叫请求时,向第一用户设备的WebRTC模块上报第二用户设备发送的呼叫请求;在该第一用户设备的呼叫模块启动电话接听程序之前,该第一用户设备的呼叫模块可以根据该呼叫请求上报请求消息向该第一用户设备的WebRTC模块发送第二呼叫请求上报消息;根据该呼叫请求上报消息,该第一用户设备的WebRTC模块向该第二用户设备的WebRTC模块发送第二呼叫请求确认消息,其中,该第二呼叫请求确认消息用于请求确认该第二呼叫请求是否是WebRTC关联呼叫请求;该第一用户设备的WebRTC模块接收该第二用户设备的WebRTC模块根据该第二呼叫请求确认消息发送的第二呼叫请求确认响应;根据该第二呼叫请求确认响应,该第一用户设备的WebRTC模块向该第一用户设备的呼叫模块发送呼叫请求接听通知,其中,该第二呼叫请求响应用于确认该第二呼叫请求是 WebRTC关联呼叫请求;则该第一用户设备的呼叫模块可以基于该呼叫请求接听通知和该第二呼叫请求,该第一用户设备的呼叫模块启动电话接听程序。

可选地,该第二音频通信变更请求携带第二用户设备的电信号码或携带该第二用户设备的电信号码;该第二音频通信变更响应消息携带该第一用户设备的电信号码和该第二用户设备的电信号码。

可选地,该第二呼叫请求携带WebRTC标识和第二用户设备的WebRTC 帐号,以便于电信服务器基于该WebRTC标识和该第二用户设备的WebRTC 帐号对该第二呼叫请求进行鉴权。

在本发明实施例中,在第一用户设备和第二用户设备之间通过电信域建立了音频通信后,第一用户设备和第二用户设备之间可以断开基于互联网的 WebRTC音频通信,对于如何断开第一用户设备和第二用户设备之间的基于互联网的WebRTC音频通信,以下有两种实现方式:

在第一种实现方式中,该第一用户设备向该第二用户设备发送第一 WebRTC连接修改请求,其中,该第一WebRTC连接修改请求用于请求该第一用户设备的WebRTC模块和第二用户设备的WebRTC模块之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信,具体地,该第一WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为0;该第一用户设备的WebRTC模块接收该第二用户设备的WebRTC模块根据该第一WebRTC连接修改请求发送的第一WebRTC连接修改响应,其中,该第一WebRTC连接修改响应用于确认该第一用户设备的WebRTC模块和第二用户设备的WebRTC模块之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信。可选地,该第一用户设备还可以指示用户代理(User Agent,UA)停止采集麦克风的音频数据,具体地,第一用户设备指示UA将音频的媒体流轨道(MediaStreamTrack)的状态值置为静音(MUTED)。

可选地,本发明实施例中所述的用户代理可以是浏览器。

在第二种实现方式中,该第一用户设备接收该第二用户设备发送的第二 WebRTC连接修改请求,其中,该第二WebRTC连接修改请求用于请求该第一用户设备和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信,具体地,该第二WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为0;基于该WebRTC连接修改请求,该第一用户设备向该第二用户设备的WebRTC模块发送第二WebRTC 连接修改响应,其中,该第二WebRTC连接修改响应用于确认该第一用户设备和第二用户设备之间传进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信。可选地,该第一用户设备还可以指示UA停止采集麦克风的音频数据,具体地,第一用户设备指示UA将音频的媒体流轨道(MediaStreamTrack)的状态值置为静音(MUTED)。

在本发明实施例中,在将第一用户设备的音频通信从基于互联网的 WebRTC音频通信变更为基于电信域的音频通信之后,还可以在保持与该第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,进一步将第一用户设备和第二用户设备之间的音频通信变更为基于互联网的 WebRTC音频通信。同样,在保持与该第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,第一用户设备和第二用户设备可以先断开基于电信域的音频通信,再建立基于互联网的WebRTC音频通信;或者,也可以先建立基于互联网的WebRTC音频通信,再断开基于电信域的音频通信;或者,建立基于互联网的WebRTC音频通信的操作与断开基于电信域的音频通信的操作同时执行。

其中,为了描述的方便,以下将以先建立基于互联网的WebRTC音频通信,再断开基于电信域的音频通信进行详细说明。其中,对于如何建立基于互联网的WebRTC通信有以下两种实现方式。

在第一种实现方式中,该第一用户设备确定需要将与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,其中,可以在以下三种情况中任一种情况发生后,第一用户设备确定需要将第一用户设备与基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

1)该第一用户设备接收用户输入的第三请求信息,该第三请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。具体地,使用该第一用户设备的用户可以在感觉网络状况恢复时,输入该第三请求消息。

2)该第一用户设备确定与该第二用户设备之间的通信质量值处于预定范围之内。具体地说,该通信质量值可以是实测出来的网络带宽,丢包、时延或抖动等中的至少一种。如果通信质量值处于预定范围之内,则表明第一用户设备的第二用户设备间的网络状态较好。

3)该第一用户设备接收到WebRTC服务器发送的第四请求消息,该第四请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。具体地, WebRTC服务器可以是在确定用户设备之间的带宽可以保证正常的多媒体通信质量时发送上述第四请求消息。

具体地,如何建立基于互联网的WebRTC音频通信可以为:该第一用户设备向该第二用户设备发送第三WebRTC连接修改请求,其中,该第三 WebRTC连接修改请求用于请求该第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,具体地,所述第三 WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述第一用户设备能够接收音频数据;该第一用户设备接收该第二用户设备基于该第三WebRTC连接修改请求发送的第三 WebRTC连接修改响应,其中,该第三WebRTC连接修改响应用于确认该第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信。可选地,如果UA之前以前已经停止采集麦克风的音频数据,该第一用户设备需要指示UA采集麦克风的音频数据,具体地,该第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为激活(Live)。

在第二种实现方式中,如何建立基于互联网的WebRTC音频通信可以为:该第一用户设备接收该第二用户设备发送的第四WebRTC连接修改请求,其中,该第四WebRTC连接修改请求用于请求该第一用户设备和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,具体地,所述第四WebRTC连接修改请求中携带的SDP中的音频对应的媒体行的端口号设置为非0的有效端口号,用于指示所述第一用户设备能够接收音频数据;基于该第四WebRTC连接修改请求,该第一用户设备向该第二用户设备发送第四WebRTC连接修改响应,其中,该第四WebRTC连接修改响应用于确认该第一用户设备的WebRTC模块和第二用户设备的WebRTC模块之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信。可选地,如果UA 之前以前已经停止采集麦克风的音频数据,该第一用户设备需要指示UA采集麦克风的音频数据,具体地,该第一用户设备指示UA将音频的媒体流轨道MediaStreamTrack的状态值置为激活(Live)。

对于如何断开第一用户设备和第二用户设备之间建立的基于电信域的音频通信,以下也有两种实现方式。

在第一种实现方式中,该第一用户设备的WebRTC模块发送呼叫挂断通知;基于该呼叫挂断通知,该第一用户设备的呼叫模块向该第二用户设备的呼叫模块发送第一呼叫挂断请求,以便于该第二用户设备的呼叫模块启动电话挂断程序。

在第二种实现方式中,该第一用户设备的呼叫模块接收该第二用户设备的呼叫模块发送的第二呼叫挂断请求;基于该第二呼叫挂断请求,该第一用户设备的呼叫模块启动呼叫挂断程序。

因此,在本发明实施例中,第一用户设备与第二用户设备之间建立基于互联网的WebRTC多媒体通信之后,第一用户设备可以执行音频通信变更操作,从而可以在保持与第二用户设备之间建立的基于互联网的WebRTC非音频通信的情况下,将与该第二用户设备之间建立的音频通信从基于互联网的 WebRTC音频通信变更为基于电信域的音频通信。因此,可以提升用户设备之间的音频通信质量,并且,用户设备之间不再进行基于互联网的WebRTC 音频通信,则可以用户设备之间可以占用更多的带宽进行基于互联网的 WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。并且进一步地,第一用户设备和第二用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,因此,可以在网络状况恢复时,采用基于互联网的WebRTC音频通信,具有费率低或者费率免费的优势。

为了更加清楚地理解本发明,以下将结合图2和图3具体描述根据本发明实施例的通信方法。其中,上述第一用户设备可以具有以下用户设备A的功能,也可以具有用户设备B的功能。

图2是根据本发明实施例的通信方法200的示意性流程图。如图2所示,该方法200包括:

S201,用户设备A的WebRTC模块与用户设备B的WebRTC模块建立通信连接,具体地为建立互联网的WebRTC多媒体通信。

S202,用户设备A确定需要将用户设备A与用户设备B之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,其中,可以在发生以下三种情况后,用户设备A确定需要将用户设备A与用户设备B 之间音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

1)用户设备A的持有用户请求将音频通信从基于互联网的WebRTC音频通信变更为基于互联网的音频通信;

2)用户设备A的WebRTC模块测得的通信质量值不在预定范围内。具体地说,该通信质量值可以是实测出来的网络带宽,丢包、时延或抖动等中的至少一种。

3)Web服务器请求将用户设备A与用户设备B之间的音频通信从基于互联网的WebRTC通信变更为基于电信域的音频通信。

S203,用户设备A的WebRTC模块可以查看用户设备A上的通信录,获取与用户设备A的WebRTC帐号匹配的用户设备A的电信号码。其中,通信录中汇聚的WebRTC帐号可以是本地自动汇聚,可以是本地人工汇聚,也可以是服务器汇聚等。

S204,用户设备A的WebRTC模块向用户设备B的WebRTC模块发送音频通信变更请求,该音频通信变更请求用于请求将用户设备A与用户设备 B之间音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。其中,该音频通信变更请求可以携带用户设备A的电信号码。可选地,如果用户设备A的通信录汇聚有与用户设备B的WebRTC帐号匹配的用户设备B的电信号码,则还可以将该用户设备B的电信号码携带在上述音频通信变更请求中。其中,该音频通信变更请求可以经过Web服务器转发给用户设备B的WebRTC模块。

S205,用户设备B的WebRTC模块接收到用户设备A的WebRTC模块发送的音频通信变更请求后,可以记录音频通信变更请求中携带的用户设备 A的电信号码。可选地,如果音频通信变更请求携带有用户设备B的电信号码,则用户设备B的WebRTC可以验证该电信号码的正确与否,如果不正确,可以获取用户设备B的正确的电信号码;如果音频通信变更请求未携带用户设备B的电信号码,则用户设备B的WebRTC模块可以查询与用户设备B 的WebRTC帐号匹配的用户设备B的电信号码;用户设备B的WebRTC模块向用户设备A的WebRTC模块发送音频通信变响应,该音频通信变更响应用于向用户设备A的WebRTC模块确认可以将用户设备A与用户设备B的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,可选地,该音频通信变更响应携带用户设备A的电信号码和用户设备B的电信号码。

S206,用户设备B的WebRTC模块用户设备B的呼叫模块发送请求,用于请求用户设备B的呼叫模块如果接收到用户设备A的呼叫模块发送的呼叫请求,向用户设备B的WebRTC模块上报该呼叫请求。

S207,用户设备A的WebRTC模块接收到用户设备B的WebRTC模块发送的音频通信变更响应之后,可以向用户设备A的呼叫模块发送请求消息,用于请求用户设备A的呼叫模块向用户设备B的呼叫模块发送呼叫请求,其中,该请求消息中可以携带用户设备A的WebRTC帐号或用户设备A的电信号码。

S208,在接收到用户设备A的WebRTC模块的请求消息后,用户设备A 的呼叫模块向用户设备B的呼叫模块发送呼叫请求。其中,该呼叫请求可以通过电信服务器发送给用户设备B的呼叫模块。可选地,该呼叫请求中可以携带WebRTC标识,用于标识该呼叫请求用于实现将用户设备A与用户设备 B之间音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。该呼叫请求除了携带用户设备A的电信号码还可以进一步携带用户设备A的WebRTC帐号。

S208,用户设备A的呼叫模块向用户设备A的WebRTC模块发送确认消息,用于确认已向用户设备B的呼叫模块发送呼叫请求。

S210,用户设备B的呼叫模块接收到用户设备A的呼叫模块的呼叫请求后,可以向用户设备B的WebRTC模块上报该呼叫请求。上报消息可以携带用户设备A的电信号码或用户设备A的WebRTC帐号,以通知WebRTC模块是来自于哪个用户设备的呼叫。

S211,用户设备B的WebRTC模块向用户设备A的WebRTC模块发送呼叫请求确认消息,其中,所述呼叫请求确认消息用于确认用户设备B上报的呼叫请求是否是WebRTC关联请求。

S212,用户设备A的WebRTC模块接收到用户设备B的WebRTC模块发送的呼叫请求确认消息后,确认指示过用户设备A的呼叫模块向用户设备 B的呼叫模块发送过呼叫请求,然后向用户设备A的WebRTC模块向用户设备B的WebRTC模块发送呼叫请求确认响应,用于确认用户设备B的呼叫模块接收到的呼叫请求为WebRTC关联呼叫请求。

S213,用户设备B的WebRTC模块向用户设备B的呼叫模块通知启动电话接听程序。

S214,用户设备B的呼叫模块接收到用户设备B的WebRTC模块的通知后,启动电话接听程序。具体地,用户设备B的呼叫模块可以自动接通用户设备A之间的音频通信,也可以是将接通按钮浮动在屏幕上,由用户手动接通,接通后自动隐去。

S215,用户设备A的WebRTC模块在确认用户设备A与用户设备B的基于电信域的音频通信接通后,用户设备A的WebRTC模块指示UA将音频的MediaStreamTrack对象的状态(即readyState)值置为MUTED,这样UA 将不再采集麦克风的音频数据。

S216,用户设备A的WebRTC模块向用户设备B的WebRTC模块发送WebRTC连接修改请求,具体地,该WebRTC连接修改请求可以是update Session offer消息,具体实现可以是将该update Session offer消息的会话描述协议(Session Description Protocol,SDP)中音频(audio)对应的媒体行(media)行的端口号修改为0。

S217,用户设备B的WebRTC模块接收到用户设备A的WebRTC模块发送的WebRTC连接修改请求后,向用户设备A的WebRTC模块发送 WebRTC连接修改响应,具体地可以为Update Session Answer消息;用户设备B的WebRTC模块指示UA将音频的媒体流轨道(MediaStreamTrack)对象的状态(即readyState)值置为静音(MUTED),这样UA将不再采集麦克风的音频数据。

由此从图中可以看到,在执行了方法200之后,用户设备A的WebRTC 与用户设备B的WebRTC模块可以进行基于互联网的WebRTC非音频通信,用户设备A的呼叫模块与用户设备的呼叫模块进行基于电信域的音频通信。

应理解,上述方法200只是本发明的具体实施例,本发明还有其他具体实现方式。例如,在S208步骤中的呼叫请求还可以携带WebRTC标识和用户设备A的WebRTC帐号,由此电信服务器在收到该呼叫请求,电信服务器可以与Web服务器建立连接,通过Web服务器根据WebRTC标识来确定该呼叫请求是WebRTC关联呼叫请求,然后,电信服务器可以通过用户设备 A的WebRTC帐号来确认用户设备A是否签约将用户设备A与其他用户设备之间的基于互联网的音频通信变更为基于电信域的音频通信的服务;如果用户设备A签约了该服务,则可以将该呼叫请求路由到用户设备B的呼叫模块。

因此,在本发明实施例中,用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将与之间建立的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。因此,在网络质量不佳时,可以提升用户设备之间的音频通信质量,并且,用户设备之间不再进行基于互联网的WebRTC音频通信,则可以用户设备之间可以占用更多的带宽进行基于互联网的WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。

在本发明实施例中,在保持基于互联网的WebRTC非音频通信的情况下,用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,还可以在保持基于互联网的WebRTC非音频通信情况下,用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的 WebRTC的音频通信。具体可以如图3所示。

图3是根据本发明实施例的通信方法的示意性流程图。如图3所示,该方法可以包括:

S301,用户设备A的WebRTC模块确定需要将用户设备A与用户设备B 间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。具体地,可以在发生以下情况中的至少一种时,用户设备A的WebRTC 模块确定需要将用户设备A与用户设备B间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

1)用户设备A的持有用户感觉视频画面流程度很好,并没有卡、顿等现象,主动请求将音频通信从基于互联网的WebRTC音频通信变更为基于互联网的音频通信;

2)用户设备A的WebRTC模块测得的通信质量值不在预定范围内。具体地说,该通信质量值可以是实测出来的网络带宽,丢包、时延或抖动等中的至少一种。

3)Web服务器检测到用户设备A与用户设备B间的通信带宽可以保证正常的多媒体通信质量,请求将用户设备A与用户设备B之间的音频通信从基于互联网的WebRTC通信变更为基于电信域的音频通信。

S302,在确定需要将用户设备A与用户设备B间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信后,用户设备A的 WebRTC模块向用户设备B的WebRTC模块发送音频通信变更请求,用于请求将用户设备A与用户设备B间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,其中,该音频通信变更请求可以由web服务器转发给用户设备B的WebRTC模块,且该音频通信变更请求可以携带用户设备A与用户设备B的WebRTC帐号。

S303,用户设备B的WebRTC模块接收到用户设备A的WebRTC模块发送的音频通信变更请求后,如果允许将用户设备A与用户设备B间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,则可以向用户设备A的WebRTC模块发送音频通信变更响应。其中,该音频通信变更响应可以携带用户设备A与用户设备B的WebRTC帐号。

应理解,在音频通信变更请求和音频通信变更响应中还可以携带用户设备A的电信号码和用户设备B的电信号码,Web服务器在转发音频通信变更请求和音频通信变更响应时,可以查询与用户设备A的WebRTC帐号和用户设备B的WebRTC帐号分别对应的用户设备A的电信号码和用户设备B的电信号码,并添加在音频通信变更请求和音频通信变更响应中。当然,也可以是用户设备A的WebRTC模块与用户设备B的WebRTC模块分别记录双方的电信号码,并携带在音频通信变更请求和音频通信变更响应中。

S304,用户设备A的WebRTC模块在接收到用户设备B的WebRTC模块发送的音频通信变更响应后,指示UA将音频MediaStreamTrack对象的 track状态(即readystate)值置为LIVE,这样UA将开始采集麦克风的音频数据。

S305,用户设备A的WebRTC模块向用户设备B的WebRTC模块发送 WebRTC连接修改请求,具体地,该WebRTC连接修改请求可以是update Session offer消息,具体实现可以是在该update Session offer消息的SDP中添加音频项。

S306,用户设备B的WebRTC模块接收到用户设备A的WebRTC发送的WebRTC连接修改请求,向用户设备B的WebRTC模块发送WebRTC连接修改响应,具体地可以为Update Session Answer消息;并且,用户设备B 的WebRTC模块指示UA将音频MediaStreamTrack对象的track状态(即 readystate)值置为LIVE,这样UA将开始采集麦克风的音频数据。

S307,用户设备A的WebRTC模块接收到用户设备B的WebRTC模块发送的WebRTC连接修改请求后,可以请求用户设备A的呼叫模块启动电话程序,用于挂断用户设备A与用户设备B之间的基于电信域的音频通信。

S308,用户设备A的呼叫模块启动电话挂断程序,以中断用户设备A与用户设备B间的基于电信域的音频通信。

S309,在中断用户设备A与用户设备B间的基于电信域的音频通信消息后,用户设备A的呼叫模块向用户设备A的WebRTC模块发送中断确认消息。

S309,在中断用户设备A与用户设备B间的基于电信域的音频通信消息后,用户设备B的呼叫模块向用户设备B的WebRTC模块发送中断确认消息。

因此,在本发明实施例中,用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将之间建立的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。因此,可以在网络状况不佳时,提升用户设备之间的音频通信质量,并且用户设备之间不再进行基于互联网的WebRTC音频通信,则用户设备之间可以占用更多的带宽进行基于互联网的WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。进一步地,用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将音频通信从基于电信域的音频通信变更为基于互联网的 WebRTC音频通信,因此,可以在网络状况恢复时,采用基于互联网的 WebRTC音频通信,具有费率低或者费率免费的优势。

图4是根据本发明实施例的用户设备400示意性框图。如图4所示,该用户设备400包括WebRTC模块410和呼叫模块420;其中,

该用户设备400的WebRTC模块410用于建立与第二用户设备的 WebRTC模块之间的基于互联网的网页实时通信WebRTC多媒体通信,其中,该基于互联网的WebRTC多媒体通信包括基于互联网的WebRTC音频通信和基于互联网的WebRTC非音频通信;

该用户设备400用于执行第一音频通信变更操作,其中,该用户设备400 用于执行第一音频通信变更操作,包括:该用户设备400的呼叫模块420用于建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,以及该用户设备400的WebRTC模块410还用于在保持与该第二用户设备的 WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信。

可选地,该WebRTC模块还用于在该用户设备400执行第一音频通信变更操作之前,确定需要将该用户设备400与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

可选地,该用户设备400的WebRTC模块410还用于:在该用户设备400 的呼叫模块420建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,以及该用户设备400的WebRTC模块410在保持与该第二用户设备的 WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信之前,接收用户输入的第一请求信息,该第一请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信,或者,确定与该第二用户设备之间的基于互联网的通信质量值处于预定范围之外,或者,接收WebRTC服务器发送的第二请求消息,该第二请求消息用于指示将该第一用户设备与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

可选地,该用户设备400的WebRTC模块410还用于:在该用户设备400 的呼叫模块420建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,以及该用户设备400的WebRTC模块410还用于在保持与该第二用户设备的WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信之前,向该第二用户设备的WebRTC模块发送第一音频通信变更请求,接收该第二用户设备的WebRTC模块根据该第一音频通信变更请求发送的第一音频通信变更响应,以及基于该第一音频通信变更响应,向该用户设备400的呼叫模块420发送呼叫请求指示消息;

该用户设备400的呼叫模块420用于建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:该用户设备400的呼叫模块420用于接收该呼叫请求指示信息,以及基于该呼叫请求指示信息,向该第二用户设备的呼叫模块发送第一呼叫请求,以便于该第二用户设备的呼叫模块基于该第一呼叫请求启动电话接听程序。

可选地,该第一音频通信变更请求携带该用户设备400的电信号码或携带该第二用户设备的电信号码;该第一音频通信变更响应携带该用户设备400 的电信号码和该第二用户设备的电信号码。

可选地,该第一呼叫请求携带WebRTC标识和该用户设备400的WebRTC 帐号,以便于电信服务器基于该第一呼叫请求携带的WebRTC标识和该用户设备400的WebRTC帐号对该第一呼叫请求进行鉴权。

可选地,该用户设备400的WebRTC模块410还用于:在该用户设备400 的呼叫模块420向该第二用户设备的呼叫模块发送第一呼叫请求之后,接收该第二用户设备的WebRTC模块在该第二用户设备的呼叫模块启动电话接听程序之前发送的第一呼叫请求确认消息,该第一呼叫请求确认消息用于请求确认该第一呼叫请求是否是WebRTC关联呼叫请求,以及向该第二用户设备的WebRTC模块发送第一呼叫请求确认响应,以便于该第二用户设备的 WebRTC模块根据该第一呼叫请求确认响应指示该第二用户设备的呼叫模块基于该第一呼叫请求启动电话接听程序,其中,该第一呼叫请求确认响应用于指示该第一呼叫请求是WebRTC关联呼叫请求。

可选地,该用户设备400的WebRTC模块410还用于:在该用户设备400 的呼叫模块420建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,以及该用户设备400的WebRTC模块410在保持与该第二用户设备的 WebRTC模块之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备的WebRTC模块之间的基于互联网的WebRTC音频通信之前,接收该第二用户设备的WebRTC模块发送的第二音频通信变更请求,基于该第二音频通信变更请求,向该第二用户设备的WebRTC模块发送第二音频通信变更响应;

该用户设备400的呼叫模块420用于建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:该用户设备400的呼叫模块420用于接收该第二用户设备的呼叫模块发送的第二呼叫请求,其中,该第二呼叫请求是该第二用户设备的WebRTC模块接收到该第二音频通信变更响应之后指示该第二用户设备的呼叫模块发送的,以及根据该第二呼叫请求,启动电话接听程序。

可选地,该用户设备400的WebRTC模块410还用于:在向该第二用户设备的WebRTC模块发送该第二音频通信变更响应之后,向该用户设备400 的呼叫模块420发送呼叫请求上报请求消息,用于请求该用户设备400的呼叫模块420在接收到该第二用户设备的呼叫请求时,向该用户设备400的 WebRTC模块410上报该第二用户设备发送的呼叫请求;

该用户设备400的呼叫模块420还用于:在启动电话接听程序之前,向该用户设备400的WebRTC模块410发送呼叫请求上报消息,该呼叫请求上报消息用于向该用户设备400的WebRTC模块410上报该第二呼叫请求;

该用户设备400的WebRTC模块410还用于:根据该呼叫请求上报消息,向该第二用户设备的WebRTC模块发送第二呼叫请求确认消息,其中,该第二呼叫请求确认消息用于请求确认该第二呼叫请求是否是WebRTC关联呼叫请求,接收该第二用户设备的WebRTC模块根据该第二呼叫请求确认消息发送的第二呼叫请求确认响应,以及根据该第二呼叫请求确认响应,向该用户设备400的呼叫模块420发送呼叫请求接听通知,其中,该第二呼叫请求响应用于确认该第二呼叫请求是WebRTC关联呼叫请求;

该用户设备400的呼叫模块420用于建立与该第二用户设备的呼叫模块之间的基于电信域的音频通信,包括:该用户设备400的呼叫模块420用于基于该呼叫请求接听通知和该第二呼叫请求,启动电话接听程序。

可选地,该第二音频通信变更请求携带用户设备400的电信号码或携带该第二用户设备的电信号码;该第二音频通信变更响应消息携带该用户设备 400的电信号码和该第二用户设备的电信号码。

可选地,该第二呼叫请求携带WebRTC标识和该第二用户设备的 WebRTC帐号,以便于电信服务器基于该第二呼叫请求携带的WebRTC标识和该第二用户设备的WebRTC帐号对该第一呼叫请求进行鉴权。

可选地,该用户设备400的WebRTC模块410用于在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

该用户设备400的WebRTC模块410用于向该第二用户设备发送第一 WebRTC连接修改请求,接收该第二用户设备根据该第一WebRTC连接修改请求发送的第一WebRTC连接修改响应,以及指示用户代理UA停止采集麦克风的音频数据,其中,该第一WebRTC连接修改请求用于请求该用户设备 400和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信,该第一WebRTC连接修改响应用于确认该用户设备400 和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的 WebRTC音频通信。

可选地,该第一WebRTC连接修改请求中携带的SDP中的音频(audio)对应的媒体(m)行的端口设置为0;

该用户设备400的WebRTC模块410具体用于:指示UA将音频的 MediaStreamTrack的状态值置为MUTED。

可选地,该用户设备400的WebRTC模块410用于在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

该用户设备400的WebRTC模块410接收该第二用户设备发送的第二 WebRTC连接修改请求,基于该WebRTC连接修改请求,向该第二用户设备发送第二WebRTC连接修改响应,以及指示UA停止采集麦克风的音频数据,其中,该第二WebRTC连接修改请求用于请求该用户设备400和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信,该第二WebRTC连接修改响应用于确认该用户设备400和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信。

可选地,该第二WebRTC连接修改请求中携带的SDP中的音频(audio)对应的媒体(m)行的端口号设置为0;

该用户设备400的WebRTC模块410具体用于:指示UA将音频的 MediaStreamTrack的状态值置为MUTED。

可选地,在执行第一音频通信变更操作之后,该用户设备400还用于执行第二音频通信变更操作,其中,该用户设备400还用于执行第二音频通信变更操作,包括:该用户设备400的WebRTC模块410用于在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与该第二用户设备的WebRTC模块基于互联网的WebRTC音频通信,以及该用户设备 400的呼叫模块420断开与该第二用户设备之间的基于电信域的音频通信。

可选地,在该用户设备400执行第二音频通信变更操作之前,该用户设备400的WebRTC模块410还用于:确定需要将与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

可选地,在确定需要将与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信之前,该用户设备400的 WebRTC模块410还用于:

接收用户输入的第三请求信息,该第三请求消息用于指示将该用户设备 400与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信;或者,

确定与该第二用户设备之间的基于互联网的通信质量值处于预定范围之内;或者,

接收WebRTC服务器发送的第四请求消息,该第四请求消息用于指示将该用户设备400与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

可选地,该用户设备400的WebRTC模块410用于在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

该用户设备400的WebRTC模块410向该第二用户设备发送第三WebRTC连接修改请求,接收该第二用户设备基于该第三WebRTC连接修改请求发送的第三WebRTC连接修改响应,以及指示UA采集麦克风的音频数据,其中,该第三WebRTC连接修改请求用于请求该用户设备400和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,该第三WebRTC连接修改响应用于确认该用户设备400和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信。

可选地,该第三WebRTC连接修改请求中携带的SDP中的音频(audio)对应的媒体(m)行的端口号设置非0的有效端口号,用于指示所述第一用户设备的WebRTC模块指示接收音频数据;

该用户设备400的WebRTC模块410具体用于:指示UA将音频的 MediaStreamTrack的状态值置为LIVE。

可选地,该用户设备400的WebRTC模块410用于在保持与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

该用户设备400的WebRTC模块410用于接收该第二用户设备发送的第四WebRTC连接修改请求,基于该第四WebRTC连接修改请求,向该第二用户设备发送的第四webRT连接修改响应,以及指示UA采集麦克风的音频数据,其中,该第四WebRTC连接修改请求用于请求该用户设备400和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信,该第四WebRTC连接修改响应用于确认该用户设备400和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信。

可选地,该第四WebRTC连接修改请求中携带的SDP中的音频audio对应的媒体(m)行的端口号设置为非0的有效端口号,用于指示所述第一用户设备的WebRTC模块能够接收音频数据;

该用户设备400的WebRTC模块410具体用于:指示UA将音频的 MediaStreamTrack的状态值置为LIVE。

可选地,该用户设备400的呼叫模块420用于断开与该第二用户设备之间的基于电信域的音频通信,包括:

该用户设备400的呼叫模块420用于向该第二用户设备的呼叫模块发送第一呼叫挂断请求,以便于该第二用户设备的呼叫模块启动电话挂断程序。

可选地,该用户设备400的呼叫模块420用于断开与该第二用户设备之间的基于电信域的音频通信,包括:

该用户设备400的呼叫模块420用于接收该第二用户设备发送的第二呼叫挂断请求,以及基于该第二呼叫挂断请求,启动呼叫挂断程序。

在本发明实施例中,用户设备400可以对应于上述方法实施例中的第一用户设备,可以具有第一用户设备所具有的功能,为了简洁,在此不再赘述。

因此,在本发明实施例中,用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将之间建立的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。因此,可以在网络状况不佳时,提升用户设备之间的音频通信质量,并且用户设备之间不再进行基于互联网的WebRTC音频通信,则用户设备之间可以占用更多的带宽进行基于互联网的WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。并且进一步地,用户设备之间可以在保持之间建立的基于互联网的WebRTC 非音频通信的情况下,将音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,因此,可以在网络状况恢复时,采用基于互联网的 WebRTC音频通信,具有费率低或者费率免费的优势。

图5是根据本发明实施例的用户设备500的示意性框图。如图5所示,该用户设备500包括存储器510和处理器520,其中该存储器510用于存储程序代码,该处理器520用于调用该存储器510中存储的该程序代码,执行以下步骤:

建立用户设备500与第二用户设备之间的基于互联网的网页实时通信 WebRTC多媒体通信,其中,该基于互联网的WebRTC多媒体通信包括基于互联网的WebRTC音频通信和基于互联网的WebRTC非音频通信;

执行第一音频通信变更操作,其中,所述执行该第一音频通信变更操作,包括:建立用户设备500与该第二用户设备之间的基于电信域的音频通信,以及在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信。

可选地,在所述执行第一音频通信变更操作之前,该处理器520还用于调用该存储器510中存储的该程序代码,执行以下步骤:

确定需要将用户设备500与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。

可选地,在所述确定需要将用户设备500与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信之前,该处理器520还用于调用该存储器510中存储的该程序代码,执行以下步骤:

接收用户输入的第一请求信息,该第一请求消息用于指示将该用户设备 500与该第二用户设备之间的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信;或者,

确定用户设备500与该第二用户设备之间的基于互联网的通信质量值处于预定范围之外;或者,

接收WebRTC服务器发送的第二请求消息,该第二请求消息用于指示将该用户设备500与该第二用户设备之间的音频通信从基于互联网的WebRTC 音频通信变更为基于电信域的音频通信。

可选地,在所述建立用户设备500与该第二用户设备之间的基于电信域的音频通信,以及在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信之前,所述执行该第一音频通信变更操作还包括:向该第二用户设备发送第一音频通信变更请求;接收该第二用户设备根据该第一音频通信变更请求发送的第一音频通信变更响应;

所述建立用户设备500与该第二用户设备之间的基于电信域的音频通信,包括:基于该第一音频通信变更响应息,向该第二用户设备发送第一呼叫请求,以便于该第二用户设备基于该第一呼叫请求启动电话接听程序。

可选地,该第一音频通信变更请求携带该用户设备500的电信号码或携带该第二用户设备的电信号码;该第一音频通信变更响应携带该用户设备500 的电信号码和该第二用户设备的电信号码。

可选地,该第一呼叫请求携带WebRTC标识和该用户设备500的WebRTC 帐号,以便于电信服务器基于该第一呼叫请求携带的WebRTC标识和该用户设备500的WebRTC帐号对该第一呼叫请求进行鉴权。

可选地,在向该第二用户设备发送第一呼叫请求之后,所述执行第一音频通信变更操作,还包括:

接收该第二用户设备在该启动电话接听程序之前发送的第一呼叫请求确认消息,该第一呼叫请求确认消息用于请求确认该第一呼叫请求是否是WebRTC关联呼叫请求;

根据该第一呼叫请求确认消息,向该第二用户设备发送第一呼叫请求确认响应,以便于该第二用户设备根据该第一呼叫请求确认响应指示启动电话接听程序,其中,该第一呼叫请求确认响应用于指示该第一呼叫请求是 WebRTC关联呼叫请求。

可选地,在所述建立用户设备500与该第二用户设备之间的基于电信域的音频通信,以及在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信之前,所述执行第一音频通信变更操作还包括:接收该第二用户设备发送的第二音频通信变更请求;基于该第二音频通信变更请求,向该第二用户设备发送第二音频通信变更响应;

所述建立用户设备500与该第二用户设备之间的基于电信域的音频通信,包括:接收该第二用户设备发送的第二呼叫请求,其中,该第二呼叫请求是该第二用户设备接收到该第二音频通信变更响应之后发送的;根据该第二呼叫请求,启动电话接听程序。

可选地,在所述启动电话接听程序之前,所述执行第一音频通信变更操作还包括:

向该第二用户设备发送第二呼叫请求确认消息,其中,该第二呼叫请求确认消息用于请求确认该第二呼叫请求是否是WebRTC关联呼叫请求;接收该第二用户设备的WebRTC模块根据该第二呼叫请求确认消息发送的第二呼叫请求确认响应,其中,该第二呼叫请求响应用于确认该第二呼叫请求是 WebRTC关联呼叫请求;

其中,所述启动电话接听程序,包括:基于该第二呼叫请求确认响应和该第二呼叫请求,启动电话接听程序。

可选地,该第二音频通信变更请求携带第二用户设备的电信号码或携带该第二用户设备的电信号码;该第二音频通信变更响应消息携带该用户设备 500的电信号码和该第二用户设备的电信号码。

可选地,该第二呼叫请求携带WebRTC标识和该第二用户设备的 WebRTC帐号,以便于电信服务器基于该第二呼叫请求携带的WebRTC标识和该第二用户设备的WebRTC帐号对该第一呼叫请求进行鉴权。

可选地,所述在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

向该第二用户设备发送第一WebRTC连接修改请求,其中,该第一 WebRTC连接修改请求用于请求该用户设备500和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

接收该第二用户设备根据该第一WebRTC连接修改请求发送的第一 WebRTC连接修改响应,其中,该第一WebRTC连接修改响应用于确认该用户设备500和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

指示用户代理UA停止采集麦克风的音频数据。

可选地,该第一WebRTC连接修改请求中携带的SDP中的音频audio对应的媒体(m)行的端口号设置为0;

所述指示用户代理UA停止采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为MUTED。

可选地,所述在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,断开用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

接收该第二用户设备发送的第二WebRTC连接修改请求,其中,该第二 WebRTC连接修改请求用于请求该用户设备500和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的WebRTC音频通信;

基于该WebRTC连接修改请求,向该第二用户设备发送第二WebRTC连接修改响应,其中,该第二WebRTC连接修改响应用于确认该用户设备500 和第二用户设备之间进行基于互联网的非音频通信而不进行基于互联网的 WebRTC音频通信;

指示UA停止采集麦克风的音频数据。

可选地,该第二WebRTC连接修改请求中携带的SDP中的音频(audio)对应的媒体(m)行的端口号设置为0;

所述指示用户代理UA停止采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为MUTED。

可选地,在所述执行第一音频通信变更操作之后,该处理器520还用于调用该存储器510中存储的该程序代码,执行以下步骤:

执行第二音频通信变更操作,其中,所述执行第二音频通信变更操作,包括:在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC 非音频通信的情况下,建立用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信,以及断开该用户设备500与该第二用户设备之间的基于电信域的音频通信。

可选地,在所述执行第二音频通信变更操作之前,该处理器520还用于调用该存储器510中存储的该程序代码,执行以下步骤:

确定需要将用户设备500与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

可选地,在所述确定需要将用户设备500与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信之前,该处理器520还用于调用该存储器510中存储的该程序代码,执行以下步骤:

接收用户输入的第三请求信息,该第三请求消息用于指示将该用户设备 500与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信;或者,

确定用户设备500与该第二用户设备之间的基于互联网的通信质量值处于预定范围之内;或者,

接收WebRTC服务器发送的第四请求消息,该第四请求消息用于指示将该用户设备500与该第二用户设备之间的音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信。

可选地,所述在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

向该第二用户设备发送第三WebRTC连接修改请求,其中,该第三 WebRTC连接修改请求用于请求该用户设备500和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

接收该第二用户设备基于该第三WebRTC连接修改请求发送的第三 WebRTC连接修改响应,其中,该第三WebRTC连接修改响应用于确认该用户设备500和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信;

指示UA采集麦克风的音频数据。

可选地,该第三WebRTC连接修改请求中携带的SDP中的音频对应的媒体(m)行的端口号设置为非0的有效端口号,用于指示所述用户设备500 能够接收音频数据。

所述指示用户代理UA采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为LIVE。

可选地,所述在保持用户设备500与该第二用户设备之间的基于互联网的WebRTC非音频通信的情况下,建立用户设备500与该第二用户设备之间的基于互联网的WebRTC音频通信,包括:

接收该第二用户设备发送的第四WebRTC连接修改请求,其中,该第四 WebRTC连接修改请求用于请求该用户设备500和第二用户设备之间进行基于互联网的WebRTC非音频通信以及WebRTC音频通信;

基于该第四WebRTC连接修改请求,向该第二用户设备发送的第四 webRT连接修改响应,其中,该第四WebRTC连接修改响应用于确认该用户设备500和第二用户设备之间进行基于互联网的WebRTC非音频通信以及 WebRTC音频通信;

指示UA采集麦克风的音频数据。

可选地,该第四WebRTC连接修改请求中携带的SDP中的音频对应的媒体(m)行的端口号设置为非0的有效端口号,用于指示所述用户设备500 能够接收音频数据。

所述指示用户代理UA采集麦克风的音频数据,包括:

指示UA将音频的MediaStreamTrack的状态值置为LIVE。

可选地,所述断开用户设备500与该第二用户设备之间的基于电信域的音频通信,包括:

向该第二用户设备发送第一呼叫挂断请求,以便于该第二用户设备启动电话挂断程序。

可选地,所述断开用户设备500与该第二用户设备之间的基于电信域的音频通信,包括:

接收该第二用户设备发送的第二呼叫挂断请求;

基于该第二呼叫挂断请求,启动呼叫挂断程序。

在本发明实施例中,用户设备500可以对应于上述方法实施例中的第一用户设备,可以具有第一用户设备所具有的功能,为了简洁,在此不再赘述。

因此,在本发明实施例中,用户设备之间可以在保持之间建立的基于互联网的WebRTC非音频通信的情况下,将之间建立的音频通信从基于互联网的WebRTC音频通信变更为基于电信域的音频通信。因此,可以在网络状况不佳时,提升用户设备之间的音频通信质量,并且用户设备之间不再进行基于互联网的WebRTC音频通信,则用户设备之间可以占用更多的带宽进行基于互联网的WebRTC非音频通信,也提高了用户设备之间的非音频通信质量。并且进一步地,用户设备之间可以在保持之间建立的基于互联网的WebRTC 非音频通信的情况下,将音频通信从基于电信域的音频通信变更为基于互联网的WebRTC音频通信,因此,可以在网络状况恢复时,采用基于互联网的 WebRTC音频通信,具有费率低或者费率免费的优势。

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