CN117202405A - 一种补偿通信方法和系统 - Google Patents

一种补偿通信方法和系统 Download PDF

Info

Publication number
CN117202405A
CN117202405A CN202210615532.0A CN202210615532A CN117202405A CN 117202405 A CN117202405 A CN 117202405A CN 202210615532 A CN202210615532 A CN 202210615532A CN 117202405 A CN117202405 A CN 117202405A
Authority
CN
China
Prior art keywords
link
compensation
communication
call
establish
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210615532.0A
Other languages
English (en)
Inventor
贾银元
王志峰
沈福生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210615532.0A priority Critical patent/CN117202405A/zh
Priority to PCT/CN2023/096555 priority patent/WO2023231923A1/zh
Publication of CN117202405A publication Critical patent/CN117202405A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Abstract

本申请实施例提供一种补偿通信方法和系统,涉及通信技术领域。该方法应用于第一设备、第二设备和第三设备,第一设备和第二设备通过第一链路连接,第二设备和第三设备通过第二链路连接,第一设备和第三设备通过第一链路和第二链路通信。在第一设备、第二设备或者第三设备检测到第一预设条件之后,第一设备与所述第三设备建立补偿链路;第一设备和第三设备在通过第一链路、第二链路通信的同时,通过补偿链路通信;或者,第一设备和第三设备断开第一链路和/或第二链路,并通过补偿链路通信。本申请实施例提供的技术方案,能够通过补偿链路补偿第一设备和第三设备之间的通信,提高第一设备和第三设备的通信质量。

Description

一种补偿通信方法和系统
技术领域
本申请涉及通信技术领域,尤其涉及一种补偿通信方法和系统。
背景技术
目前,在第一设备(如手机1)和第二设备(如手机2)进行蜂窝通话的过程中,第二设备可以将通话转移到第三设备(如平板电脑、笔记本电脑等)进行。可以理解的是,在通话转移后,双方用户实际使用第一设备和第三设备进行通话。
在上述通话过程中,第一设备和第二设备之间通过核心网传输通话数据包,第二设备和第三设备之间通过无线保真(wireless fidelity,WiFi)、(bluetooth,BT)蓝牙、数据业务等无线通信技术传输通话数据包。但是,受设备间距离、无线网络质量等因素的影响,第二设备和第三设备之间可能会出现通话数据包丢包、抖动、延时等情况,从而导致通话过程出现语音断续、无声、视频卡顿、甚至通话中断等问题,用户体验不佳。
发明内容
本申请提供一种补偿通信方法和系统,用于解决现有技术中电子设备之间通话质量较差的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种补偿通信方法,应用于第一设备、第二设备和第三设备,第一设备和第二设备通过第一链路连接,第二设备和第三设备通过第二链路连接,第一设备和第三设备通过第一链路和第二链路通信。该方法包括:在第一设备、第二设备或者第三设备检测到第一预设条件之后,第一设备与第三设备建立补偿链路;第一设备和第三设备在通过第一链路、第二链路通信的同时,通过补偿链路通信;或者,第一设备和第三设备断开第一链路和/或第二链路,并通过补偿链路通信。
通过本申请实施例提供的方法,第一设备和第三设备在通过第二设备间接通信的过程中,响应于第一预设条件,第一设备和第三设备可以再建立一条补偿链路,并通过该补偿链路补偿第一设备和第三设备之间的通信,能够提高第一设备和第三设备的通信质量。
示例性的,在第一设备和第二设备进行蜂窝通话,且第二设备将通话转移到第三设备的场景下,第一设备和第三设备通过第二设备间接通信。在该通信过程中,若第一设备、第二设备或者第三设备检测到第一预设条件,第一设备可以和第三设备直接建立补偿通信链路,以在第一设备和第三设备之间传输通话数据包,从而提高第一设备和第三设备的通话质量,提高用户体验。
在一些实施例中,第一预设条件包括:
检测到对第一控件的操作,第一控件用于控制第三设备与第一设备建立补偿链路。和/或,
获取到预设的触摸手势、隔空控制手持或者语音控制指令。和/或,
第二设备将通信服务转移到第三设备。和/或,
第一链路或者第二链路的通信质量低于阈值。和/或,
第一设备、第二设备或者第三设备即将进入/已经进入特定区域。和/或,
第一设备、第二设备或者第三设备开启了补偿链路自动建立功能。
基于上述本实施例提供的第一预设条件,第一设备、第二设备或者第三设备均可以根据用户指令、通信质量、电子设备所在区域、电子设备功能设备情况等因素中的至少一个来建立补偿链路,补偿链路建立条件灵活。换而言之,通信过程中涉及的任意一个电子设备检测到第一预设条件之后,均可以触发建立第一设备和第三设备之间的补偿链路。例如,第一设备或者第二设备在检测到第一预设条件之后,可以通知第三设备开始建立补偿链路。第三设备在检测到第一预设条件之后,自行开始建立补偿链路。
在一些实施例中,第一链路包括:核心网链路,和/或,基于无线保真WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。第二链路和补偿链路包括:基于WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。
在一些实施例中,第三设备与第一设备建立补偿链路,包括:第三设备和第一设备通过第一链路和第二链路协商建立补偿链路;或者,第三设备和第一设备通过寻址服务器协商建立补偿链路。
在一些实施例中,第三设备和第一设备通过第一链路和第二链路协商建立补偿链路,包括:第三设备通过第二链路和第一链路,向第一设备发送补偿链路建立请求,补偿链路建立请求携带第三设备的通信地址;第一设备通过第一链路和第二链路,向第三设备发送补偿链路建立响应,补偿链路建立响应携带第一设备的通信地址;第一设备和第三设备根据对方的通信地址建立补偿链路。
在本实施例中,第一设备和第三设备通过已有通信链路协商建立补偿链路,无需依赖其他通信链路,协商过程简单方便。
在一些实施例中,第三设备通过第二链路和第一链路,向第一设备发送补偿链路建立请求,包括:第三设备通过第二链路向第二设备发送补偿链路建立请求;当第一链路为核心网链路时,第二设备将补偿链路建立请求写在实时传输控制协议RTCP报文/实时传输协议RTP数据包中发送给第一设备;或者,当第一链路不是核心网链路时,第二设备采用自定义或者预设的方式向第一设备发送补偿链路建立请求。
应理解,RTCP报文和RTP数据包是核心网链路中已有的内容,第二设备通过RTCP报文/RTP数据包向第一设备发送补偿链路建立请求时,无需再定义其他数据包,传输过程简单方便。
在一些实施例中,第一设备通过第一链路和第二链路向第三设备发送补偿链路建立响应,包括:当第一链路为核心网链路时,第一设备将补偿链路建立响应写在RTCP报文/RTP数据包中发送给第二设备;或者,当第一链路不是核心网链路时,第一设备采用自定义或者预设的方式向第二设备发送补偿链路建立响应;第二设备通过第二链路向第三设备发送补偿链路建立响应。
应理解,RTCP报文和RTP数据包是核心网链路中已有的内容,第一设备通过RTCP报文/RTP数据包向第二设备发送补偿链路建立响应时,无需再定义其他数据包,传输过程简单方便。
在一些实施例中,第三设备和第一设备通过寻址服务器协商建立补偿链路,包括:第一设备根据寻址服务器中存储的第二设备的唯一标识信息和第三设备的通信地址的对应关系,确定第三设备的通信地址;第三设备根据寻址服务器中存储的第一设备的唯一标识信息与通信地址的对应关系,确定第一设备的通信地址;第一设备和第三设备根据对方的通信地址建立补偿链路。
在本实施例中,第一设备和第三设备通过寻址服务器协商建立补偿链路,协商过程不占用第一设备和第三设备的原通信链路(即第一链路和第二链路),不会影响原通信链路上数据的传输。
在一些实施例中,第一设备和第三设备在通过第一链路、第二链路通信的同时,通过补偿链路通信,包括:第一设备和第三设备通过第一链路和第二链路传输通信数据包的第一部分,通过补偿链路传输通信数据包的第二部分;第一部分和第二部分的总和包括待传输的所有通信数据包;其中,第一部分和第二部分完全相同,或者完全不同,或者部分相同。
在本实施例中,当第一部分和第二部分完全相同时,可以减少第一设备和第三设备通信过程中通信数据包的缺失。当第一部分和第二部分完全不相同或者仅有部分相同时,可以减少第一设备和第三设备的原通话链路(即第一链路和第二链路上)通信数据包的传输压力,提高通话质量。
在一些实施例中,第三设备为第二设备的分机,或者,第二设备为第三设备的信号接力设备。换而言之,本申请实施例提供的补偿通信方法适用于通信分机(如通话分机)的场景,还适用于信号接力通信的场景。
第二方面,本申请实施例提供一种补偿通信系统,包括第一设备、第二设备和第三设备,第一设备和第二设备通过第一链路连接,第二设备和第三设备通过第二链路连接;第一设备和第三设备通过第一链路和第二链路通信。其中,第一设备被配置为执行上述第一方面中第一设备所执行的方法。第二设备被配置为执行上述第一方面中第二设备所执行的方法。第三设备被配置为执行上述第一方面中第三设备所执行的方法。
可以理解的是,上述第二方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
第三方面,本申请实施例提供一种补偿通信方法,应用于第一设备、第二设备、第三设备和第四设备,第一设备和第二设备通过第一链路连接,第二设备和第三设备通过第二链路连接,第一设备和第四设备通过第四链路连接;第四设备和第三设备通过第四链路、第一链路和第二链路通信。该方法包括:第一设备、第二设备、第三设备和第四设备中的任一个设备在检测到第一预设条件之后,控制第三设备与第四设备建立补偿链路;第四设备和第三设备在通过第四链路、第一链路和第二链路通信的同时,通过补偿链路通信;或者,第四设备和第三设备断开第四链路、第一链路和第二链路中的至少一个,并通过补偿链路通信。
通过本申请实施例提供的方法,第四设备和第三设备在通过第一设备和第二设备间接通信的过程中,响应于第一预设条件,第四设备和第三设备可以再建立一条补偿链路,并通过该补偿链路补偿第四设备和第三设备之间的通信,能够提高第四设备和第三设备的通信质量。
示例性的,在第一设备和第二设备进行蜂窝通话,第一设备将通话转移到第四设备,第二设备将通话转移到第三设备的场景下,第四设备和第三设备通过第一设备和第二设备间接通信。在该通信过程中,响应于第一预设条件,第四设备可以和第三设备直接建立补偿通信链路,以在第四设备和第三设备之间传输通话数据包,从而提高第四设备和第三设备的通话质量,提高用户体验。
在一些实施例中,该方法还包括:第一设备和第三设备建立第五链路,第四设备和第三设备还通过第四链路和第五链路通信。通过本申请实施例提供的方法,可以进一步改善第四设备和第三设备的通信质量。
在一些实施例中,该方法还包括:第二设备和第四设备建立第六链路,第四设备和第三设备还通过第二链路和第六链路通信。通过本申请实施例提供的方法,可以进一步改善第四设备和第三设备的通信质量。
第四方面,本申请实施例提供一种补偿通信系统,包括第一设备、第二设备、第三设备和第四设备,第一设备和第二设备通过第一链路连接,第二设备和第三设备通过第二链路连接,第一设备和第四设备通过第四链路连接;第四设备和第三设备通过第四链路、第一链路和第二链路通信。其中,第一设备被配置为执行上述第三方面中第一设备所执行的方法。第二设备被配置为执行上述第三方面中第二设备所执行的方法。第三设备被配置为执行上述第三方面中第三设备所执行的方法。第四设备被配置为执行上述第三方面中第四设备所执行的方法。
可以理解的是,上述第四方面的有益效果可以参见上述第三方面中的相关描述,在此不再赘述。
第五方面,本申请实施例提供一种补偿通信方法,应用于第一设备、第二设备和第三设备,第一设备和第二设备通过第一链路连接并通信。该方法包括:第一设备/第二设备在检测到第二预设条件之后,第一设备和第二设备通过第三设备间接建立补偿链路,该补偿链路包括第二设备和第三设备之间的第二链路,和第一设备和第三设备之间的第三链路;第一设备和第二设备在通过第一链路通信的同时,通过补偿链路通信;或者,第一设备和第二设备断开第一链路,并通过补偿链路通信。
通过本申请实施例提供的方法,第一设备和第二设备在直接通信的过程中,响应于第二预设条件,第一设备和第二设备可以通过第三设备再间接建立一条补偿链路,并通过该补偿链路补偿第一设备和第二设备之间的通信,能够提高第一设备和第二设备的通信质量。
在一些实施例中,第二预设条件包括:
检测到对第二控件的操作,第二控件用于控制第一设备与第二设备建立补偿链路。和/或,
获取到预设的触摸手势、隔空控制手持或者语音控制指令。和/或,
第一链路的通信质量低于阈值。和/或,
第一设备/第二设备即将进入/已经进入特定区域。和/或,
第一设备/第二设备开启了补偿链路自动建立功能。
基于上述本实施例提供的第二预设条件,第一设备和第三设备可以根据用户指令、通信质量、电子设备所在区域、电子设备功能设备情况等因素中的至少一个来建立补偿链路,补偿链路建立条件灵活。
在一些实施例中,第一链路包括:核心网链路,和/或,基于无线保真WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。第二链路和第三链路包括:基于WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。
在一些实施例中,第一设备和第二设备通过第三设备间接建立补偿链路,包括:第二设备通过近场广播或者远场广播发现并连接第三设备,形成第二链路;第三设备通过第二链路和第一链路向第一设备发送第三设备的通信地址;第一设备通过第一链路和第二链路向第三设备发送第一设备的通信地址;第一设备和第三设备根据对方的通信地址建立第三链路,第二链路和第三链路组成的链路群为补偿链路。
在一些实施例中,第二设备通过近场广播发现并连接第三设备,形成第二链路,包括:第二设备通过蓝牙广播、WiFi广播、超带宽UWB广播、设备到设备D2D广播或者车联网V2X广播发现并连接第三设备。
在一些实施例中,第二设备通过远场广播发现并连接第三设备,包括:第二设备通过服务器发送远场广播消息,发现并连接第三设备,形成第二链路。或者,第二设备通过中转设备发送远场广播消息,发现并连接第三设备,形成第二链路。或者,第二设备同时使用服务器和中转设备发送远场广播消息,发现并连接第三设备,形成第二链路。或者,第二设备直接根据第三设备的地址信息连接第三设备,形成第二链路。
在一些实施例中,第一设备和第二设备在通过第一链路通信的同时,通过补偿链路通信,包括:第一设备和第二设备通过第一链路传输通信数据包的第一部分,通过补偿链路传输通信数据包的第二部分;第一部分和第二部分的总和包括待传输的所有通信数据包;其中,第一部分和第二部分完全相同,或者完全不同,或者部分相同。
在本实施例中,当第一部分和第二部分完全相同时,可以减少第一设备和第二设备通信过程中通信数据包的缺失。当第一部分和第二部分完全不相同或者仅有部分相同时,可以减少第一设备和第二设备的原通信链路(即第一链路)通信数据包的传输压力,提高通话质量。
第六方面,本申请实施例提供一种补偿通信系统,包括第一设备、第二设备和第三设备,第一设备和第二设备通过第一链路连接并通信。第一设备被配置为执行上述第五方面中第一设备所执行的方法。第二设备被配置为执行上述第五方面中第二设备所执行的方法。第三设备被配置为执行上述第五方面中第三设备所执行的方法。
可以理解的是,上述第六方面的有益效果可以参见上述第五方面中的相关描述,在此不再赘述。
第七方面,本申请实施例提供一种补偿通信方法,应用于第一设备、第二设备、第三设备和第四设备,第一设备和第二设备通过第一链路连接并通信。该方法包括:第一设备/第二设备在检测到第二预设条件之后,第一设备和第二设备建立补偿链路;该补偿链路包括:第一设备和第四设备之间的第四链路、第四设备和第三设备之间的第三链路、第三设备和第二设备之间的第二链路。第一设备和第二设备在通过第一链路通信的同时,通过补偿链路通信;或者,第一设备和第二设备断开第一链路,并通过补偿链路通信。
在一些实施例中,该方法还包括:第一设备和第三设备建立第五链路,第一设备和第二设备还通过第二链路和第五链路通信。通过本申请实施例提供的方法,可以进一步改善第一设备和第二设备的通信质量。
在一些实施例中,该方法还包括:第二设备和第四设备建立第六链路,第一设备和第二设备还通过第四链路和第六链路通信。通过本申请实施例提供的方法,可以进一步改善第一设备和第二设备的通信质量。
第八方面,本申请实施例提供一种补偿通信系统,包括第一设备、第二设备、第三设备和第四设备,第一设备和第二设备通过第一链路连接并通信。第一设备被配置为执行上述第七方面中第一设备所执行的方法。第二设备被配置为执行上述第七方面中第二设备所执行的方法。第三设备被配置为执行上述第七方面中第三设备所执行的方法。第四设备被配置为执行上述第七方面中第四设备所执行的方法。
可以理解的是,上述第八方面的有益效果可以参见上述第七方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的一个蜂窝通话场景的示意图;
图2A是申请实施例提供的第一链路中主链路的连接示意图;
图2B是申请实施例提供的第一链路中近场通信链路的连接示意图;
图2C是申请实施例提供的第一链路中远场通信链路的连接示意图;
图3A是申请实施例提供的第二链路中近场通信链路的连接示意图;
图3B是申请实施例提供的第二链路中远场通信链路的连接示意图;
图4A是本申请的一个实施例提供的通信补偿方法所适用的系统的示意图;
图4B是本申请的一个实施例提供的通信补偿设置界面的示意图;
图5是本申请的一个实施例提供的第三链路的连接示意图;
图6是本申请的一个实施例提供的通信补偿方法的示意性流程图;
图7是本申请的一个实施例提供的第二设备和第三设备间的数据传输示意图;
图8是本申请的一个实施例提供的建立补偿链路的控制场景示意图;
图9A~图9C为本申请不同实施例提供的通话数据包在路径1和路径2上传输时的数据包分配示意图;
图10是本申请的一个实施例提供的不同设备之间的链路建立流程图;
图11是本申请的一个实施例提供的第三链路的建立流程示意图;
图12A是本申请的一个实施例提供的SDES报文的示意图;
图12B是本申请的一个实施例提供的CNAME源描述项的示意图;
图13是本申请另一个实施例提供的第三链路的建立流程示意图;
图14是本申请又一个实施例提供的第三链路的建立流程示意图;
图15A~图15D是本申请不同实施例提供的补偿链路的应用场景示意图;
图16是本申请的一个实施例提供的通话转移场景下的设备间连接示意图;
图17是本申请的一个实施例提供的第四设备和第三设备之间补偿链路的示意图;
图18是本申请的一个实施例提供的补偿链路的建立过程示意图;
图19是本申请的其他实施例提供的补偿通信场景的示意图;
图20A是本申请的一个实施例提供的通信补偿系统的结构示意图;
图20B是本申请另一个实施例提供的通信补偿设置界面的示意图;
图21是本申请另一个实施例提供的建立补偿链路的控制场景示意图;
图22是本申请的一个实施例提供的通信场景示意图;
图23是本申请的一个实施例提供的通信补偿方法的示意性流程图;
图24是本申请的一个实施例提供的设备发现与连接的示意图;
图25是本申请另一个实施例提供的设备发现与连接的示意图;
图26是本申请的一个实施例提供的第三链路建立过程的流程图;
图27A~图27E是本申请不同实施例提供的补偿链路的应用场景示意图;
图28是本申请另一个实施例提供的多设备协同补偿通话的示意图;
图29是本申请的一个实施例提供的第三链路的建立过程示意图;
图30是本申请其他实施例提供的补偿通信场景的示意图。
具体实施方式
下面结合附图对本申请实施例提供的技术方案进行说明。
应理解,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的技术方案可以应用于各种通信系统,例如:长期演进(longterm evolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系统(universal mobiletelecommunication system,UMTS)、全球互联微波接入(worldwide interoperabilityfor microwave access,WiMAX)通信系统、第五代(5th Generation,5G)系统或新无线(newradio,NR)、全球移动通信系统(global system for mobile communications,GSM)、码分多址(code division multiple access,CDMA)通信系统、时分同步码分多址(timedivision-synchronous CDMA,TD-SCDMA)通信系统等。
本申请实施例提供的技术方案适用于电路交换(Circuit Switched,CS)、长期演进语音承载(voice over long-term evolution,VoLTE)、新空口语音承载(voice overnew radio,VoNR)、长期演进视频承载(video over long-term evolution,ViLTE)、新空口视频承载(video over new radio,ViNR)、演进分组系统回落(evolved packet systemfallback,EPS fallback)、CS回落(CS fallback)、基于无线保真(wireless fidelity,WiFi)的语音通话(voice over WiFi,VoWiFi)或者基于WiFi的视频通话(video overWiFi,ViWiFi)等通话中。
此外,本实施例提供的技术方案还适用于互联网应用服务(over the top,OTT)通话场景,OTT通话包括OTT视频通话和OTT语音通话等。另外,本实施例提供的技术方案还可以延伸使用到非通话的其他数据传输场景,例如文件上传/下载场景、短消息(Message)收发场景、彩信收发场景、邮件收发场景、游戏场景、音频流和/或视频流的传输场景(如屏幕共享场景)等,本实施例对此不进行限制。
下面以蜂窝通话场景为例,对本申请实施例提供的技术方案进行示例性说明。
图1是本申请实施例提供的一个蜂窝通话场景的示意图。参见图1,该场景中涉及的电子设备包括第一设备(如手机1)、第二设备(如手机2)和第三设备(如平板电脑、笔记本电脑、智能音箱、智能手表、手机3等)。
其中,第一设备和第二设备均接入核心网,第二设备和第三设备之间无线连接。基于此,第一设备可以通过核心网呼叫第二设备,以便与第二设备进行蜂窝通话。第二设备在接收到来电之后,可以根据用户操作或者预设规则将本次来电转移到第三设备进行来电提醒和接听;也可以先在本地接通电话,再根据用户操作将通话转移到第三设备。可以理解的是,当来电/通话转移到第三设备之后,在通话过程中,双方用户实际使用的电子设备是第一设备和第三设备。
本实施例将第一设备和第二设备之间的通信链路称为第一链路,该第一链路至少包括一条主链路,此外还可以包括至少一条辅助链路(可参见图1)。当第一设备和第二设备进行蜂窝通话时,该主链路为核心网链路(可参见图2A),该辅助链路可以是近场通信链路,也可以是远场通信链路。
示例性的,参见图2B所示,第一设备和第二设备之间的近场通信链路可以是蓝牙链路、WiFi链路(包括WiFi路由器链路和WiFi P2P链路)等。其中,蓝牙链路可以是传统蓝牙链路或者低功耗蓝牙(bluetooth low energy,BLE)链路。在该WiFi链路中,第一设备和第二设备接入同一局域网(local area network,LAN),或者说,第一设备和第二设备连接同一路由器。另外,在该WiFi链路中,第一设备和第二设备可以通过点对点(peer to peer,P2P)、设备到设备(device to device,D2D)的方式相互连接,以直接进行通信。或者,第一设备和第二设备之间也可以通过路由器间接连接,通过路由器中转通信信号。
示例性的,参见图2C所示,该远场通信链路可以是基于WiFi、蜂窝数据、卫星通信等无线通信技术建立的。在该远场通信链路中,第一设备和第二设备可以通过基站或者路由器等接入网设备接入通信网络,并且第一设备所使用的接入网设备可以与第二设备相同,也可以与第二设备不同。例如,第一设备通过基站接入通信网络,第二设备通过路由器接入通信网络。或者,第一设备和第二设备均通过路由器接入通信网络。另外,第一设备和第二设备在接入通信网络之后,可以直接通信,也可以通过服务器或者卫星间接通信。
结合图2C可知,若第一设备和/或第二设备不具备直接连接卫星的功能,则第一设备(即UE1)和第二设备(即UE2)之间的辅助链路可以是如下链路中的任一种:
链路1-1:UE1—UE1侧蜂窝基站—服务器/卫星—UE2侧蜂窝基站—UE2。
链路1-2:UE1—UE1侧蜂窝基站—服务器/卫星—UE2侧路由器—UE2。
链路1-3:UE1—UE1侧路由器—服务器/卫星—UE2侧蜂窝基站—UE2。
链路1-4:UE1—UE1侧路由器—服务器/卫星—UE2侧路由器—UE2。
链路1-5:UE1—UE1侧蜂窝基站—UE2侧蜂窝基站—UE2。
链路1-6:UE1—UE1侧蜂窝基站—UE2侧路由器—UE2。
链路1-7:UE1—UE1侧路由器—UE2侧蜂窝基站—UE2。
链路1-8:UE1—UE1侧路由器—UE2侧路由器—UE2。
另外,若第一设备和/或第二设备具备直接连接卫星的功能,则第一设备和第二设备之间的辅助链路还可以是如下链路中的任一种:
链路1-9:UE1—卫星—UE2侧蜂窝基站/UE2侧路由器—UE2。
链路1-10:UE1—UE1侧蜂窝基站—卫星—UE2。
链路1-11:UE1—卫星—UE2。
链路1-12:UE1—卫星—服务器-UE2侧蜂窝基站/UE2侧路由器—UE2。
本实施例将第二设备和第三设备之间的无线通信链路称为第二链路,该第二链路至少包括一条主链路,此外还可以包括至少一条辅助链路(可参见图1)。第二链路中的主链路和辅助链路可以是近场通信链路,也可以是远场通信链路。
示例性的,参见图3A所示,第二设备和第三设备之间的近场通信链路可以是蓝牙链路、WiFi链路(包括WiFi路由器链路和WiFi P2P链路)。其中,蓝牙链路可以是传统蓝牙链路或者低功耗蓝牙链路。在WiFi链路中,第二设备和第三设备接入同一局域网,或者说,第二设备和第三设备连接同一路由器。另外,在WiFi链路中,第二设备和第三设备可以通过P2P或者D2D的方式相互连接,以直接进行通信。或者,第二设备和第三设备之间也可以通过路由器间接连接,通过路由器中转通信信号。
示例性的,参见图3B所示,在该远场通信链路中,第二设备和第三设备可以通过基站或者路由器等接入网设备接入通信网络,并且第二设备所使用的接入网设备可以与第三设备相同,也可以与第三设备不同。例如,第二设备通过基站接入通信网络,第三设备通过路由器接入通信网络。或者,第二设备和第三设备均通过路由器接入通信网络。另外,第二设备和第三设备在接入通信网络之后,可以直接通信,也可以通过服务器或者卫星间接通信。
结合图3B可知,若第二设备和/或第三设备不具备直接连接卫星的功能,则第二设备(即UE2)和第三设备(即UE3)之间的辅助链路可以是如下链路中的任一种:
链路2-1:UE2—UE2侧蜂窝基站—服务器/卫星—UE3侧蜂窝基站—UE3。
链路2-2:UE2—UE2侧蜂窝基站—服务器/卫星—UE3侧路由器—UE3。
链路2-3:UE2—UE2侧路由器—服务器/卫星—UE3侧蜂窝基站—UE3。
链路2-4:UE2—UE2侧路由器—服务器/卫星—UE3侧路由器—UE3。
链路2-5:UE2—UE2侧蜂窝基站—UE3侧蜂窝基站—UE3。
链路2-6:UE2—UE2侧蜂窝基站—UE3侧路由器—UE3。
链路2-7:UE2—UE2侧路由器—UE3侧蜂窝基站—UE3。
链路2-8:UE2—UE2侧路由器—UE3侧路由器—UE3。
另外,若第二设备和/或第三设备具备直接连接卫星的功能,则第二设备和第三设备之间的辅助链路还可以是如下链路中的任一种:
链路2-9:UE2—卫星—UE3侧蜂窝基站/UE3侧路由器—UE3。
链路2-10:UE2—UE2侧蜂窝基站—卫星—UE3。
链路2-11:UE2—卫星—UE3。
链路2-12:UE2—卫星—服务器-UE3侧蜂窝基站/UE3侧路由器—UE3。
在上述通话过程中,受第二设备和第三设备之间的距离、无线网络质量等因素的影响,第二链路可能会出现通信质量较差的情况。例如,当第二链路是蓝牙链路时,随着第二设备和第三设备距离的逐渐增大,蓝牙链路的通信质量会逐渐降低。或者,当第二链路是WiFi链路时,当WiFi网络质量降低时,WiFi链路的通信质量也会降低。又或者,当第二链路中的第二设备和/或第三设备通过基站接入通信网络时,由于基站发射的蜂窝信号可能会由于基站分布不佳、多个基站相互干扰、建筑物遮挡、电子设备距离基站较远等情况,导致第二设备和/或第三设备接收到的蜂窝信号强度较弱,甚至接收不到蜂窝信号,从而导致第二链路通信质量较差。
可以理解,当第二链路的通信质量较差时,第二设备和第三设备之间的通话数据包可能会出现丢包、抖动、延时等情况,从而导致通话过程出现语音断续、无声、视频卡顿、甚至通话中断等问题,用户体验不佳。
为此,本申请实施例提供一种通信补偿方法,用于在第一设备和第三设备通过第二设备间接通信的过程中,提高第一设备和第三设备的通信效果,提高用户体验。
图4A是本申请的一个实施例提供的通信补偿方法所适用的系统的示意图。参见图4A所示,该系统包括第一设备、第二设备和第三设备。在该补偿通信系统中,第一设备和第二设备之间通过第一链路连接,第二设备和第三设备之间通过第二链路连接,第一设备和第三设备之间通过第三链路连接。
需要说明的是,在第一设备和第三设备通过第二设备间接通话的场景下(可参见图1所示),第三设备响应于预设的用户操作(具体参见下文描述),或者在第一设备和第二设备的通话质量较差的条件下,第三设备与第一设备建立补偿通信链路(即第三链路),对第一设备和第三设备的通话进行补偿。
可选的,参见图4B所示,第三设备上设置有“通信补偿”设置界面,在该设置界面中,用户可以设置第三设备所助力的设备(简称目标助力设备),该目标助力设备可以是本申请实施例中的第二设备。另外,针对每一个目标助力设备,用户还可以设置助力业务的类型。示例性的,该助力业务的类型包括音视频通话、文件传输、屏幕共享等。
参见图5所示,第三链路通常为远场通信链路。在该远场通信链路中,第一设备和第三设备可以通过基站或者路由器等接入网设备接入通信网络,并且第一设备所使用的接入网设备可以与第三设备相同,也可以与第三设备不同。例如,第一设备通过基站接入通信网络,第三设备通过路由器接入通信网络。或者,第一设备和第三设备均通过路由器接入通信网络。另外,第一设备和第三设备在接入通信网络之后,可以直接通信,也可以通过服务器或者卫星间接通信。
结合图5可知,若第一设备和/或第三设备不具备直接连接卫星的功能,则第一设备(即UE1)和第三设备(即UE3)之间的辅助链路可以是如下链路中的任一种:
链路3-1:UE1—UE1侧蜂窝基站—服务器/卫星—UE3侧蜂窝基站—UE3。
链路3-2:UE1—UE1侧蜂窝基站—服务器/卫星—UE3侧路由器—UE3。
链路3-3:UE1—UE1侧路由器—服务器/卫星—UE3侧蜂窝基站—UE3。
链路3-4:UE1—UE1侧路由器—服务器/卫星—UE3侧路由器—UE3。
链路3-5:UE1—UE1侧蜂窝基站—UE3侧蜂窝基站—UE3。
链路3-6:UE1—UE1侧蜂窝基站—UE3侧路由器—UE3。
链路3-7:UE1—UE1侧路由器—UE3侧蜂窝基站—UE3。
链路3-8:UE1—UE1侧路由器—UE3侧路由器—UE3。
另外,若第一设备和/或第三设备具备直接连接卫星的功能,则第一设备和第三设备之间的辅助链路还可以是如下链路中的任一种:
链路3-9:UE1—卫星—UE3侧蜂窝基站/UE3侧路由器—UE3。
链路3-10:UE1—UE1侧蜂窝基站—卫星—UE3。
链路3-11:UE1—卫星—UE3。
链路3-12:UE1—卫星—服务器-UE3侧蜂窝基站/UE3侧路由器—UE3。
需要说明的是,在本实施例中,当电子设备(可以是第一设备、第二设备或者第三设备)有两个用户识别模块(subscriber identity module,SIM)卡时,其在通过基站接入通信网络时,可以通过SIM卡1对应的基站接入通信网络,也可以通过SIM卡2对应的基站接入通信网络。在本实施例中,SIM卡可以是实体SIM卡、嵌入式SIM(embedded-SIM,e-SIM)卡、虚拟SIM卡等。
在本实施例中,基于上述描述可知,第一设备和第二设备不仅需要支持蜂窝通信功能,还需要支持无线通信功能。第三设备需要支持无线通信功能,其可以支持蜂窝通信功能,也可以不支持蜂窝通信功能。其中,电子设备支持蜂窝通信功能可以理解为电子设备支持接入核心网,或者说,电子设备上安装有用户识别模块(subscriber identity module,SIM)卡。电子设备支持无线通信功能可以理解为,电子设备支持WiFi、蓝牙、蜂窝数据等无线通信技术中的至少一种。
示例性的,在本实施例中,第一设备、第二设备和第三设备可以是手机、笔记本电脑、台式电脑、智能电视、可穿戴设备(如智能手表)、车载设备、智能家用设备(如智能音箱)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、耳机等终端设备。本申请实施例对各个电子设备的具体类型不作任何限制。
在本实施例中,通过在第一设备和第三设备之间建立第三链路,可以补偿第一设备和第三设备之间的原本的通话链路(即第一链路和第二链路),减少第一设备和第三设备通信过程中出现的通话数据包丢包、抖动、延时等情况,提高通话质量过程,减少或者避免通话过程中出现的语音断续、无声、视频卡顿、甚至通话中断等问题,提高用户体验。
下面对第一设备和第三设备之间建立补偿通话的具体过程进行示例性的说明。
图6是本申请的一个实施例提供的通信补偿方法的示意性流程图,涉及第一设备和第三设备建立补偿通话的过程。
S601,第一设备和第二设备建立第一链路。
在一个示例中,第一设备通过核心网呼叫第二设备,当来电在第二设备或者其他设备(如第三设备)被接听之后,第一设备和第二设备之间的第一链路建立成功。
第一设备和第二设备在通话的过程中,通常会使用到实时传输协议(real-timetransport protocol,RTP)和实时传输控制协议(real-time control protocol,RTCP)。其中,RTP用于进行多媒体数据包(如通话数据包)的传输,RTCP用于对通话质量进行监控,以及传递会话中的参与者信息。通过RTCP,电子设备可以周期性地向会话的其它参与者(例如通话对端、核心网设备等)发送RTCP报文,以反馈当前的通话质量。RTCP报文所携带的内容可以根据预先的配置确定,例如可以携带终端发送数据包的数目、丢失的数据包的数目或者数据包的抖动情况等。当然,RTCP报文中也可以包括其它会话所需的参数。因此,第一链路上传输的信息包括RTP格式的通话数据包和RTCP报文。
需要说明的是,在第一链路既包括主链路又包括辅助链路的情况下,第一设备和第二设备可以通常先建立主链路,再基于主链路协商建立辅助链路。或者,第一设备和第二设备也可以先建立辅助链路再建立主链路,在这种情况下,辅助链路的建立是不依赖主链路的,第一设备和第二设备可以通过服务器寻址的方式建立辅助链路(具体参见下文描述)。
S602,第二设备和第三设备建立第二链路。
在一个示例中,第二设备将来电转移到第三设备且第三设备接听来电之后,第二链路建立成功。或者,第二设备在本地接听来电并在通话过程中将通话转移到第三设备之后,第二链路建立成功。
需要说明的是,在第二链路既包括主链路又包括辅助链路的情况下,第二设备和第三设备通常先建立主链路,再基于主链路协商建立辅助链路。需要说明的是,本实施例可以将第一链路中的任一条链路称作主链路,将其余链路称为辅助链路。
S603,第一设备和第三设备通过第一链路和第二链路传输通话数据包。
以用户1使用第一设备,用户2使用第三设备为例,在第一设备和第三设备通话的过程中,第一设备先通过第一链路将用户1的通话数据包发送给第二设备,随后第二设备再通过第二链路再将其发送给第三设备。同理,第三设备先通过第二链路将用户2的通话数据包发送给第二设备,随后第二设备再通过第一链路再将其发送给第一设备,从而实现第一设备和第三设备的通话。
在第一设备向第三设备发送用户1的通话数据包时,若第一链路包括主链路和至少一条辅助链路,则第二设备在通过第一链路接收到通话数据包之后,可以先在本地对通话数据包进行去重与排序,再将通话数据包通过第二链路发送给第三设备。或者,第二设备也可以直接将其通过第二链路发送给第三设备,由第三设备进行去重与排序。在第二链路包括主链路的情况下,无论其是否包括辅助链路,第三设备在通过第二链路接收到通话数据包之后,通常都需要对其进行去重与排序处理。
同理,在第三设备向第一设备发送用户2的通话数据包时,若第二链路包括主链路和至少一条辅助链路,则第二设备在通过第二链路接收到通话数据包之后,可以先在本地对通话数据包进行去重与排序,再将其通过第一链路发送给第一设备。或者,第二设备也可以直接将通话数据包通过第一链路发送给第一设备,由第一设备进行去重与排序。若第一链路包括主链路和至少一条辅助链路,则第一设备在通过第一链路接收到通话数据包之后,需要对其进行去重与排序处理。
换而言之,在第一设备和第三设备通过第二设备间接传输通话数据包的过程中,第二设备可以对通话数据包进行去重与排除,也可以不对其进行去重与排序,本实施例对此不进行限制。
第二设备和第三设备之间在交互通话数据包时,通常无需对通话数据包的内容进行改动,而是将其透传给对方。示例性的,参见图7所示,第二设备和第三设备均包括应用处理器(application processor,AP)、基带处理器(baseband processor,BP)、蓝牙模块和音频外设(例如麦克风和扬声器)。可选的,当第三设备是智能音箱、智能电视、不支持蜂窝通信的平板电脑等电子设备时,其可以不包括基带处理器。
其中,以语音通话为例,应用处理器包括拨号模块(Dial)、无线接口层(radiointerface layer,RIL)和长期演进语音(voice over long-term evolution,VoLTE)通话模块,VoLTE通话模块包括音频对等(vioce peer,Vpeer)模块。基带处理器包括音频模块(Speech)、IMS协议栈和分组数据汇聚协议(packet data convergence protocol,PDCP)模块。
在蜂窝通话过程中,网络侧设备和第二设备之间基于实时传输协议(real-timetransport protocol,RTP)传输通话数据包。第二设备的基带处理器在接收到网络侧设备发送的下行通话数据包之后,将其发送给PDCP模块处理,PDCP模块将处理后的下行通话数据包发送给第二设备的IMS协议栈。第二设备的IMS协议栈在对下行通话数据包进行去重与排序后,可以将其通过第二设备的Vpeer发送给第三设备的Vpeer,或者通过第二设备的RIL发送给第三设备的RIL。第三设备在接收到下行通话数据包之后对其进行去重和排序,随后通过音频模块将下行通话数据包处理为脉冲编码调制(pulse code modulation,PCM)码流,并发送给音频外设进行播放。
第三设备的音频外设在采集到上行的PCM码流之后,通过音频模块将其处理为特定形式(如RTP、自适应多速率(adaptive multi-rate,AMR)、增强语音服务(enhance voiceservices,EVS)、Opus等形式)的上行通话数据包。随后,由第三设备的Vpeer将上行通话数据包发送给第二设备的Vpeer,或者由第三设备的RIL将上行通话数据包发送给第二设备的RIL。第二设备在接收到上行通话数据包之后,通过基带处理器将其发送给网络侧设备。
Vpeer用于处理和传输语音数据。RIL除了能够传输语音数据之外,还能够传输信令等其他数据。第二设备和第三设备在通过Vpeer或者RIL传输数据的过程中,可以基于IP协议建立Socket连接以传输数据,也可以调用蓝牙或者WiFi传输数据。
此外,在一些实施例中,第三设备可能不具备RTP、AMR、EVS等解码功能,因此第二设备可以将上述形式(如RTP形式)的下行通话数据包解析为PCM码流,并给PCM码流添加序列号(sequence number,SN)后发送给第三设备进行播放。此外,第三设备在采集到上行的PCM码流之后,可以给不同段的PCM码流添加序列号,并将PCM码流发送给第二设备。第二设备在接收到PCM码流之后,根据序列号将PCM码流转化为上述形式(如RTP形式)的上行通话数据包,并将其通过网络侧设备(例如基站)发送给第一设备。
S604,第三设备在检测到第一预设条件之后,和第一设备建立第三链路。
需要说明的是,第一设备或者第二设备在检测到第一预设条件之后,也可以通知第三设备与第一设备建立第三链路,本实施例对此不进行限制。
在一些实施例中,第一预设条件为用户操作电子设备上的第一控件。该电子设备可以是第一设备、第二设备或者第三设备。该第一控件用于控制第三设备与第一设备建立连接,以补偿第一设备和第三设备之间的通话。示例性的,参见图8所示,该第一控件可以为“通话补偿”控件。
在另一些实施例中,该第一预设条件可以是接收到预设的触摸手势、隔空控制手持或者语音控制指令等。
在其他一些实施例中,第一预设条件可以是第二设备将通话转移到第三设备。换而言之,第三设备接听第二设备转移的通话后,立即建立第三链路。
在其他一些实施例中,第一预设条件为第二链路的通话质量低于阈值。例如,第一链路和/或第二链路的丢包率高于丢包率阈值(例如10%);和/或,第一链路和/或第二链路的信噪比低于信噪比阈值(例如10分贝);和/或,第一链路和/或第二链路的通话数据包的时延高于时延阈值(例如120ms)等,本实施例对此不进行具体限制。
在其他一些实施例中,该第一预设条件可以是电子设备进入特定区域(如接入通信质量差的小区等),或者即将进入该特定区域。该电子设备可以是第一设备、第二设备或者第三设备。
在其他一些实施例中,用户可以基于功耗或者资费的考虑控制建立补偿链路。基于此,第二预设条件可以为电子设备开启了补偿链路自动建立功能。在建立补偿链路之后,第一设备和第二设备可以降低通话数据包在第一链路上的传输频度,甚至释放第一链路,从而节约第一设备和第二设备的功耗和蜂窝通话费用。该电子设备可以是第一设备、第二设备或者第三设备。
需要说明的是,第三链路可以只包括一条主链路,也可以在包括主链路的基础上,同时包括至少一条辅助链路。在第三链路既包括主链路又包括辅助链路的情况下,第一设备和第三设备可以通常先建立主链路,再基于主链路、服务器寻址、近场发现等方式协商建立辅助链路。需要说明的是,本实施例可以将第三链路中的任一条链路称作主链路,将其余链路称为辅助链路。
S605,第一设备和第三设备在使用第一链路和第二链路传输通话数据包的同时,使用第三链路传输通话数据包。
可以理解,第三链路建立成功之后,第一设备和第三设备通过两条路径传输通话数据包,一条路径为第一链路和第二链路组成的链路群所对应的传输路径(可称作路径1),另一条路径为第三链路对应的传输路径(可称作路径2)。
在第一设备和第三设备通话的过程中,以用户1使用第一设备,用户2使用第三设备为例,第一设备在采集到用户1的通话数据包之后,将通话数据包同时通过路径1和路径2发送给第三设备,第三设备对两路通话数据包进行去重与排序之后,播放用户1的音视频。同理,第三设备在采集到用户2的通话数据包之后,将通话数据包同时通过路径1和路径2发送给第一设备,第一设备对两路通话数据包进行去重与排序之后,播放用户2的音视频。
在本实施例中,发送端在采集到通话数据包之后,可以通过如下方式1~方式3中的任一种在路径1和路径2之间分配通话数据包,从而将通话数据包发送接收端。应理解,当第一设备是发送端时,第三设备是接收端;当第三设备是发送端时,第一设备是接收端。
方式1:参见图9A,发送端在生成通话数据包之后,对其全部进行复制,并通过路径1和路径2同时传输所有通话数据包,以减少接收端缺失的通话数据包的数目。可以理解,在方式1中,路径1和路径2所述传输的通话数据包全部相同。
方式2:参见图9B,当路径1出现拥塞时,发送端可以减少分配给路径1的通话数据包的数量,并通过路径2对路径1缺失的通话数据包进行补偿发送,以减少路径1的数据传输压力。例如,路径1每发送4个通话数据包丢弃1个通话数据包,并通过路径2补偿该通话数据包,以减少路径1的数据传输压力。可以理解,在方式2中,路径1和路径2所述传输的通话数据包完全不相同。
需要说明的是,在一些实施例中,在路径1的通话质量非常差的情况下或者基于功耗/蜂窝通话资费的考虑,第一设备和第三设备可以释放路径1,并通过路径2传输所有通话数据包。或者,在路径1的通话质量非常差的情况下,第一设备和第三设备也可以维持路径1存在,但不使用路径1传输通话数据包,而是通过路径2传输所有通话数据包。
方式3:参见图9C所示,当主链路出现拥塞时,发送端可以将路径1中的通话数据包复制一部分通过路径2传输,同时减少路径1中通话数据包的数量,以减少路径1的数据传输压力。可以理解,在方式3中,路径1和路径2所述传输的通话数据包仅有部分相同。
需要说明的是,在方式1~3中,路径1传输的所有通话数据包,与路径2传输的所有通话数据包的总和,包括了发送端采集的所有通话数据包。
通过本实施例提供的方法,第一设备和第三设备通过建立第三链路,可以补偿第一设备和第三设备之间的原本的通话链路(即第一链路和第二链路),减少第一设备和第三设备通信过程中出现的通话数据包丢包、抖动、延时等情况,提高通话质量过程,减少或者避免通话过程中出现的语音断续、无声、视频卡顿、甚至通话中断等问题,提高用户体验。
此外,对于第一链路、第二链路和第三链路中的主链路,可以先建立第一链路的主链路,再建立第二链路的主链路;也可以先建立第二链路的主链路,再建立第一链路的主链路,而第三链路的主链路需要在第一链路的主链路和第二链路的主链路均建立成功之后才能建立。
本申请对第一链路、第二链路和第三链路中辅助链路的建立顺序不进行限制。例如,可以先建立第二链路的辅助链路,再建立第一链路的辅助链路,最后建立第三链路的辅助链路。或者,可以先建立第一链路的辅助链路,再建立第三链路的辅助链路,最后建立第二链路的辅助链路。另外,第一链路的辅助链路和第二链路的辅助链路可以在第三链路建立成功之前建立,也可以在第三链路建立成功之后建立,本实施例对此不进行限制。
在一个示例中,第一设备、第二设备和第三设备之间各个链路的建立流程可以参见图10中所示,该流程具体包括S1001~S1005。
S1001,第一设备和第二设备建立第一链路的主链路。
S1002,第二设备和第三设备建立第二链路的主链路。
S1003,第一设备和第二设备建立第一链路的辅助链路。
S1004,第二设备和第三设备建立第二链路的辅助链路。
S1005,第一设备和第三设备建立第三链路。该第三链路包括主链路,可以包括辅助链路,也可以不包括辅助链路。
下面对第一设备和第三设备建立第三链路的具体过程进行示例性说明。
在本实施例中,第一设备和第三设备可以通过如下方式中的任一种建立第三链路:(一)通过第一链路和第二链路协商建立第三链路;(二)基于寻址服务器建立第三链路。具体如下所示。
(一)通过第一链路和第二链路协商建立第三链路
图11是本申请的一个实施例提供的第三链路的建立流程示意图,该流程具体包括如下步骤S1101~S1106。
S1101,第三设备检测到第一预设条件。该第一预设条件的具体内容请参见前文描述,本实施例在此不再赘述。
S1102,第三设备向第二设备发送补偿链路建立请求。
由于第二设备和第三设备之间已建立了第二链路,因此,第三设备可以将补偿链路建立请求通过第二链路发送给第二设备。当第二链路既包括主链路又包括辅助链路时,第三设备可以使用主链路发送补偿链路建立请求,也可以通过辅助链路发送补偿链路建立请求。
该补偿链路建立请求用于请求与第一设备建立补偿链路(即第三链路),并携带补偿链路的链路类型和第三设备的通信地址。根据补偿链路的链路类型的不同,第三设备携带在补偿链路建立请求中的地址信息各不相同。
在一些实施例中,当补偿链路的链路类型为服务器链路或者卫星链路时,该通信地址可以是SessionID、服务器分配的临时ID、手机号码、互联网协议(internet protocol,IP)地址IP和Port(端口号)、email地址等。
在另一些实施例中,当补偿链路的链路类型为P2P链路时,该通信地址包括第三设备的通信标识(即通信ID),其中,通信ID为经过网络地址转换(network addresstranslators,NAT)后的IP地址和Port。需要说明的是,当第三设备需要与其他设备(如第一设备)通过P2P连接时,由于两个电子设备分别处于不同的网关,其无法直接根据对方的IP地址相互访问。此时,电子设备可以采用网络地址转换NAT技术将自身的IP地址和端口号转换为可以被对方访问的IP地址和端口号(即上述通信ID),使两个电子设备能够连接成功。通过第三设备的通信ID,其他电子设备(如第一设备)可以使用WiFi访问第三设备,也可以使用蜂窝数据访问第三设备。
可选的,补偿链路建立请求也可以不携带补偿链路的链路类型,而同时携带IP地址和Port、通信ID、账号ID等多个第三设备的通信地址。需要说明的是,当补偿链路建立请求中不携带链路类型时,第一设备和第三设备之间按照默认的通信方式建立补偿链路。
另外,补偿链路建立请求中还可以携带补偿链路所要传输的数据类型,该数据类型可以是语音、视频、文件、Raw_data(即原始数据)等。根据数据类型的不同,第一设备和第三设备之间可以采用不同的通信方式建立补偿链路。例如,当补偿链路所要传输的数据是语音数据时,第一设备和第三设备之间可以建立蓝牙链路,也可以建立WiFi链路。当补偿链路所要传输的数据是视频数据时,蓝牙链路由于带宽的限制无法满足数据传输要求,因此,第一设备和第三设备之间可以建立WiFi链路。
可选的,该补偿链路建立请求中还包括协商信令,用于与第一设备协商通话数据包在补偿链路的传输规则。示例性的,该传输规则可以包括:在补偿链路仅传输第一设备发送给第三设备的通话数据包,或者,仅传输第三设备发送给第一设备的通话数据包。又例如,该传输规则可以为S605示出的方式1~方式3中的任一种。
S1103,第二设备向第一设备发送补偿链路建立请求。
由于第一设备和第二设备之间已建立了第一链路,因此,第二设备可以将补偿链路建立请求通过第一链路发送给第一设备。当第一链路既包括主链路又包括辅助链路时,第二设备可以使用主链路发送补偿链路建立请求,也可以通过辅助链路发送补偿链路建立请求。
在一些实施例中,第二设备可以将补偿链路建立请求通过第一链路上传输的RTCP报文发送给第一设备。
具体地,基于前文描述可知,第一设备和第二设备之间通过第一链路通信,且第一链路上传输的信息包括RTP通话数据包和RTCP报文。因此,第二设备在接收到第三设备发送的补偿链路建立请求之后,可以将该补偿链路建立请求写入第一链路的RTCP报文中发送给第一设备。
RTCP定义了多种类型的RTCP报文,用以传输不同的控制信息,其中包括源描述项(source description items,SDES)报文。SDES报文用于对发送RTCP报文的源进行描述。参见图12A所示,SDES报文包括一个报头(header)、零个或者多个报告块(chunk)。其中,报头依次包括RTP和RTCP的版本号(Version,V)、填充位(Padding,P)的个数、信源报告块(Source Count,SC)的个数、包类型(Packet Type,PT)以及报文的长度(length)。例如,在图12A所示的SDES报文中,V=2,P=1,SC=5,PT=SDES=202,length=16。报告块包括同步信源/特约信源(Synchronization source/Contributing source,SSRC/CSRC)标识符(identifier)、及零个及零个以上源描述项(Item)。源描述项携带关于SSRC/CSRC的信息。源描述项还包括多种类型,例如规范的终端标志(Canonical Name,CNAME)源描述项、用户名源描述项、电子邮件地址源描述项、电话号码源描述项、用户地址定位源描述项、工具源描述项、通知/状态源描述项、私人扩展源描述项等。
因此,第二设备可以将补偿链路建立请求写入RTCP报文中的上述任意一种源描述项中,并通过RTCP报文发送给第一设备。以第二设备将补偿链路建立请求写入CNAME源描述项为例,CNAME源描述项的结构可以例如图12B所示。
在另一些实施例中,第二设备可以将补偿链路建立请求写入RTP通话数据包中发送给第一设备。具体地,第二设备可以将补偿链路建立请求以水印的方式叠加在通话数据中发送给第一设备。或者,将补偿链路建立请求写入RTP通话数据包的扩展头中,发送给第一设备。
在其他一些实施例中,在第一设备和第二设备已通过其他通信方式(例如WiFi通信、服务器中转通信、数据业务通信、卫星通信等)连接之后,第二设备可以通过该通信方式向第一设备发送补偿链路建立请求。
需要说明的是,当第二设备通过第一链路中的辅助链路向第一设备发送补偿链路建立请求时,第二设备可以采用自定义的格式封装补偿链路建立请求,并将其发送给第一设备。本实施例对该自定义的格式不进行限制。
S1104,第一设备接收到补偿链路建立请求之后,向第二设备发送补偿链路建立响应。
在本实施例中,该补偿链路建立响应用于指示第一设备同意与第三设备建立补偿链路,并包括第一设备的通信地址。示例性的,该通信包括第一设备的IP地址和Port,或者,第一设备的通信ID(即经过NAT转换过的IP地址和Port)。可选的,该补偿链路建立响应还包括第三链路上通话数据包的传输规则的协商结果。
通常情况下,用户可以根据需求开启或者关闭第一设备的通话补偿功能(包括建立第三链路的功能)和无线通信功能,例如WiFi、蓝牙、数据业务等。应理解,在通话补偿功能和无线通信功能均开启的情况下,第一设备支持建立第三链路。若通话补偿功能或者无线通信功能中的任一个未开启,则第一设备不支持建立第三链路。
若第一设备支持建立第三链路,则第一设备在接收到补偿链路建立请求之后,向第二设备发送补偿链路建立响应,以由第二设备将该补偿链路建立响应转发给第三设备。在本实施例中,第一设备也可以通过第一链路的主链路或者辅助链路中的RTCP报文,或者RTP通话数据包向第二设备发送链路建立响应。例如,第一设备可以将补偿链路建立响应写入RTCP报文的SEDE字段,或者,将补偿链路建立响应写入RTP通话数据包的数据部分发送给第二设备;或者,将补偿链路建立请求写入RTP通话数据包的扩展头中,发送给第二设备。具体可参见第二设备向第一设备发送补偿链路建立请求的过程,本实施例在此不在赘述。
需要说明的是,当第一设备通过第一链路中的辅助链路向第二设备发送补偿链路建立响应时,第二设备可以采用自定义的格式封装补偿链路建立响应,并将其发送给第一设备。本实施例对该自定义的格式不进行限制。
若第一设备不支持建立第三链路,则不向第二设备发送该补偿链路建立响应(即不响应第二设备),那么第二设备自然也无法向第三设备转发该补偿链路建立响应。若第三设备在预设时间内(如5S内)未接收到第一设备返回的补偿链路建立响应,则确定第三链路建立失败。或者,若第一设备不支持建立第三链路,则向第二设备发送链路建立失败通知,以由第二设备将其转发给第三设备。第三设备在接收到该链路建立失败通知之后,停止建立第三链路。第一设备发送链路建立失败通知的方式,可参见第一设备发送补偿链路建立响应的方式,本实施例在此不再赘述。
另外,若补偿链路建立请求中携带第三链路的数据传输规则,且第一设备不支持该数据传输规则,那么第一设备也可以不响应补偿链路建立请求,或者也可以向第二设备发送链路建立失败通知。
可选的,第三设备在确定第三链路建立失败之后,可以对用户进行提示。示例性的,第三设备可以通过显示提示信息来提示第三链路建立失败。该提示信息可以为“补偿链路建立失败”。或者,第三设备也可以通过播放语音来提示用户第三链路建立失败,该语音可以为“补偿链路建立失败”。
S1105,第二设备向第三设备发送补偿链路建立响应。
由于第二设备和第三设备之间通过第二链路连接,且第二链路是WiFi、蓝牙等无线通信链路,第二设备可以直接将补偿链路建立响应通过第二链路发送给第三设备,本实施例在此不再赘述。
S1106,第一设备和第三设备建立第三链路。
应理解,第一设备在接收到补偿链路建立请求之后,即获取到了第三设备的通信地址。第三设备在接收到补偿链路建立响应之后,即获取到了第一设备的通信地址。基于此,第一设备和第三设备根据对方的通信地址即可建立第三链路。
需要说明的是,在第三链路中,参见表1所示,第一设备和第三设备接入无线网络的方式可以相同也可以不同。例如,第一设备可以使用数据业务(即蜂窝数据)接入无线网络,第三设备可以使用WiFi接入蜂窝网络,从而在第一设备和第三设备之间建立第三链路。
表1第三链路建立方式
此外,可选的,在第一设备和第三设备协商建立第三链路的过程中,也可以不协商第三连路上的数据传输规则,即补偿链路建立请求中不携带第三设备支持的数据传输规则,链路建立响应中不携带数据传输规则的协商结果。而是在第三链路建立好之后,在传输通话数据包之前,在原通话链路(即第一链路和第二链路)或者第三链路上协商数据传输规则。若协商成功,则继续使用该第三链路传输通话数据包,若协商失败,则断开第三链路。
(二)基于寻址服务器建立第三链路
寻址服务器用于存储电子设备的唯一标识信息和通信地址的对应关系。示例性的,该唯一标识信息可以是电话号码、微信号、畅连号、email地址等,本实施例对此不进行限制。该对应关系可以是由第二设备建立的,也可以是由第三设备建立的。下面分别对其进行说明。
下面以该唯一标识信息是电话号码为例,结合不同的示例对第一设备和第三设备基于寻址服务器建立第三链路的过程进行具体说明。
示例1,第二设备建立电子设备的唯一标识信息和通信地址的对应关系,第一设备和第三设备基于该对应关系建立第三链路。
通常情况下,支持蜂窝通话功能的电子设备(如手机)在每次开机、呼叫其他电子设备或者接收到其他电子设备的来电信息之后,可以在寻址服务器进行注册,将其电话号码和通信地址按照预设的对应关系存储在寻址服务器。例如,参见表2,第一设备在开机后,将其电话号码(即号码1)和通信地址(即地址1-1)存储在寻址服务器中。第二设备在开机后,将其电话号码(即号码2)和通信地址(即地址2-1)存储在寻址服务器中。另外,若电子设备(如第二设备)通过无线网络连接了其他电子设备(如第三设备),那么,第二设备还需要在寻址服务器中建立并存储第二设备的电话号码(即号码2)与第三设备的通信地址(即地址2-2)以及第三设备的设备标识(即标识3)的对应关系。该设备标识用于唯一标识电子设备的,示例性的,该设备标识可以是设备ID等。
在一个示例中,该对应关系可以如表2所示。通过该对应关系,电子设备根据目标通信设备的电话号码,可以查询到目标设备的通信地址。例如,第二设备根据第一设备的电话号码(号码1)也可以查询到第一设备的通信地址为地址1-1。
表2对应关系表
基于通话中的第一设备、第二设备和第三设备已在寻址服务器中注册电话号码和通信地址的对应关系,第一设备和第三设备可以基于寻址服务器建立第三链路。
图13是本申请另一个实施例提供的第三链路的建立流程示意图,涉及第一设备和第三设备基于上述寻址服务器建立第三链路的过程,具体包括如下步骤S1301~S1311。
S1301,第三设备检测到第一预设条件。
该第一预设条件的具体内容请参见前文描述,本实施例在此不再赘述。
S1302,第三设备向第二设备发送补偿链路建立请求,该补偿链路建立请求携带第三设备的标识信息。
在本实施例中,第三设备通过第二链路向第二设备发送补偿链路建立请求,用于请求与第一设备建立第三链路。第三设备的标识信息用于唯一标识第三设备,示例性的,该标识信息可以是设备ID等。
S1303,第二设备在接收到补偿链路建立请求之后,向寻址服务器发送第一查询请求,该第一查询请求用于查询第一设备的通信地址。
在本实施例中,该第一查询请求携带第一设备的电话号码。应理解,第一设备和第二设备在通话的过程中,相互是知道对方的电话号码的。基于此,第二设备在从寻址服务器查询第一设备的通信地址时,可以将第一设备的电话号码携带在第一查询请求中发送给寻址服务器,以便寻址服务器根据该电话号码查询出第一设备的通信地址。
S1304,寻址服务器根据第一查询请求,查询第一设备的通信地址。
由于寻址服务器中存储有第一设备的电话号码和通信地址的对应关系,因此,寻址服务器在接收到第一查询请求之后,根据该请求中携带的第一设备的电话号码和该对应关系,即可确定出第一设备的通信地址。以第一设备的电话号码是号码1为例,根据表示1示出的对应关系,寻址服务器可以确定出第一设备的通信地址为地址1-1。
S1305,寻址服务器向第二设备返回第一设备的通信地址。
S1306,第二设备向第三设备发送第一设备的通信地址。
S1307,第二设备向第一设备发送补偿链路建立请求。
S1308,第一设备向寻址服务器发送第二查询请求,该第二查询请求用于查询第三设备的通信地址。
在本实施例中,该第二查询请求携带第二设备的电话号码,以及第三设备的标识信息。
S1309,寻址服务器根据第二查询请求,查询第三设备的通信地址。
由于寻址服务器中存储有第二设备的电话号码、第三设备的标识信息和第三设备的通信地址的对应关系,因此,第一设备在接收到第二查询请求之后,根据该第二查询请求和该对应关系,即可确定出第三设备的通信地址。以第二设备的电话号码是号码2,第三设备的标识信息是标识3为例,根据表示1示出的对应关系,寻址服务器可以确定出第三设备的通信地址为地址2-2。
S1310,寻址服务器向第一设备返回第三设备的通信地址。
S1311,第一设备和第三设备根据第一设备的通信地址和第三设备的通信地址,建立第三链路。
需要说明的是,在上述过程中,S1307~S1310在S1302之后执行,并在S1311之前执行即可,本实施例对此不进行限制。
可选的,在第一设备和第三设备通过服务器建立第三链路的情况下,若第一设备仅需要向第三设备发送通话数据包,而第三设备无需向第一设备发送通话数据包,则第一设备可以仅获取到第三设备的通信地址,并向第三设备单向发送数据。或者,若第三设备仅需要向第一设备发送通话数据包,而第一设备无需向第三设备发送通话数据包,则第三设备可以仅获取到第一设备的通信地址,并向第一设备单向发送数据。
或者,在第一设备和第三设备通过广播的方式通信的情况下,广播消息接收方获知广播消息发送方的地址即可。例如,第三设备接收第一设备广播的消息时,第三设备获知第一设备的通信地址即可。基于此,第一设备在获取到一个广播消息后,若该广播消息携带第一设备的通信地址,则对该广播消息进行进一步处理。
在另一些实施例中,在例如表2所示的对应关系表中,该设备标识也可以用于指示设备的业务处理状态,例如“通话未转移”、“通话已转移至其他设备”、“已接听转移的通话”、“空闲”等。基于此,寻址服务器在根据第二设备的电话号码查询通话设备的通信地址时,可以将实际接听电话的电子设备的通信地址作为地址查询结果。例如,业务处理状态为“通话未转移”的第二设备的通信地址,或者业务状态为“已接听转移的通话”的第三设备的通信地址。
示例2,第三设备建立电子设备的唯一标识信息和通信地址的对应关系,第一设备和第三设备基于该对应关系建立第三链路。
通常情况下,支持蜂窝通话功能的电子设备(如手机)在每次开机、呼叫其他电子设备或者接收到其他电子设备的来电信息之后,可以在寻址服务器进行注册,将其电话号码和通信地址按照预设的对应关系存储在寻址服务器。需要说明的是,若已经在寻址服务器注册的电子设备将来电转移到其他电子设备之后,需要将对应关系中的通信地址更新为该其他电子设备的通信地址。
以第一设备和第二设备通话为例,参见表3-1所示的对应关系表,第一设备可以将第一设备的电话号码(如号码1)和第一设备的通信地址(如地址1)的对应关系存储在寻址服务器中。第二设备可以将第二设备的电话号码(如号码2)和第二设备的通信地址(如地址2)的对应关系存储在寻址服务器中。
表3-1对应关系表
电话号码 通信地址
号码1 地址1
号码2 地址2
若第二设备在通话过程中,将本次通话转移到了第三设备进行接通,那么第三设备需要将号码2与地址2的对应关系替换为号码2与地址3(即第三设备的通信地址)的对应关系。替换后的对应关系可以参见表3-2所示。
表3-2对应关系表
电话号码 通信地址
号码1 地址1
号码2 地址3
基于此,第三设备在检测到第一预设条件之后,可以基于更新后的对应关系表(如表3-2)建立补偿链路。具体如下所示。
图14是本申请又一个实施例提供的第三链路的建立流程示意图,涉及第一设备和第三设备基于上述寻址服务器建立第三链路的过程,具体包括如下步骤S1401~S1409。
S1401,第三设备检测到第一预设条件。该第一预设条件的具体内容请参见前文描述,本实施例在此不再赘述。
S1402,第三设备向寻址服务器发送第一查询请求,该第一查询请求用于查询第一设备的通信地址。
在本实施例中,该第一查询请求携带第一设备的电话号码。应理解,第一设备和第二设备在通话的过程中,相互是知道对方的电话号码的,第二设备可以将第一设备的电话号码发送给第三设备。基于此,第三设备在从寻址服务器查询第一设备的通信地址时,可以将第一设备的电话号码携带在第一查询请求中发送给寻址服务器,以便寻址服务器根据该电话号码查询出第一设备的通信地址。
S1403,寻址服务器根据第一查询请求,查询第一设备的通信地址。
由于寻址服务器中存储有第一设备的电话号码和通信地址的对应关系,因此,寻址服务器在接收到第一查询请求之后,根据该请求中携带的第一设备的电话号码和该对应关系,即可确定出第一设备的通信地址。以第一设备的电话号码是号码1为例,根据表3-2示出的对应关系,寻址服务器可以确定出第一设备的通信地址为地址1。
S1404,寻址服务器向第三设备返回第一设备的通信地址。
S1405,第三设备通过第二设备向第一设备发送补偿链路建立请求。
在本实施例中,该补偿链路建立请求用于请求第一设备与第三设备建立第三链路。
由于第一设备和第二设备之间已经建立了第一链路,第二设备和第三设备之间已经建立了第二链路,因此,在S1405中,第三设备先通过第二链路将补偿链路建立请求发送给第二设备,再由第二设备将补偿链路建立请求通过第一链路发送给第一设备。
S1406,第一设备向寻址服务器发送第二查询请求,该第二查询请求用于查询第三设备的通信地址。
在本实施例中,该第二查询请求携带第二设备的电话号码。
S1407,寻址服务器根据第二查询请求,查询第三设备的通信地址。
由于寻址服务器中存储有第二设备的电话号码和第三设备的通信地址的对应关系,因此,寻址服务器在接收到第二查询请求之后,根据该第二查询请求和该对应关系,即可确定出第三设备的通信地址。以第二设备的电话号码是号码2为例,根据表3-2示出的对应关系,寻址服务器可以确定出第三设备的通信地址为地址3。
S1408,寻址服务器向第一设备返回第三设备的通信地址。
S1409,第一设备和第三设备根据第一设备的通信地址和第三设备的通信地址,建立第三链路。
应理解,在上述过程中,S1405~S1408在S1401之后执行,并在S1409之前执行即可,本实施例对此不进行限制。
另外,若第二设备将本次通话转移到多个第三设备进行通话,则第二设备可以在寻址服务器中建立第二设备的电话号码和各个第三设备的通信地址的对应关系。基于此,若任意一个第三设备检测到第二预设条件,则每个第三设备都可以根据该对应关系和第一设备建立一个补偿链路。
需要说明的是,上述本申请实施例提供的补偿链路建立方法还适用于第一设备、第二设备和第三设备进行信号接力通信的场景。例如,结合如图1所示,在第一设备和第二设备通信的过程中,第二设备实际使用是的第三设备的SIM卡信息访问蜂窝网络。换而言之,第二设备实际为信号接力设备,其在第一设备和第三设备通信的过程中负责使用第三设备的SIM卡信息接入蜂窝网络,并在第一设备和第三设备之间中转传输通信数据包。在信号接力通信过程中,若第三设备检测到第一预设条件,则第三设备也可以和第一设备建立上述补偿通信链路,补偿通信链路的具体建立方式参见前文所示,本实施例在此不再赘述。
下面结合具体的应用场景对上述本实施例提供的通话补偿方法进行示例性说明。
场景一:手机1和手机2通话,手机2将通话转换到近场的笔记本电脑。
参见图15A所示,手机1由用户1使用,手机2和笔记本电脑由用户2使用。用户2在使用笔记本电脑办公的过程中,可能不方便使用手机接听电话。基于此,若手机2接收到手机1的来电,手机2可以将通话转移到笔记本电脑进行。在通话过程中,手机1和手机2之间通过第一链路连接,手机2和笔记本电脑之间通过第二链路连接。
当笔记本电脑检测到第一预设条件(如通话质量不佳)之后,笔记本电脑和手机1建立第三链路,通过第三链路对原本的通话链路(即第一链路和第二链路)进行通话补偿,以提高手机1和笔记本电脑的通话质量。
场景二:手机1和手机2通话,手机2将通话转换到近场的车机。
参见图15B所示,手机1由用户1使用,手机2和车机由用户2使用。用户2在驾驶车辆的过程中,通常不方便使用手机接听电话。基于此,若手机2接收到手机1的来电,手机2可以将通话转移到车机进行。在通话过程中,手机1和手机2之间通过第一链路连接,手机2和车机之间通过第二链路连接。
当车机检测到第一预设条件(如通话质量不佳)之后,车机和手机1建立第三链路,通过第三链路对原本的通话链路(即第一链路和第二链路)进行通话补偿,以提高手机1和车机的通话质量。在该示例中,车机可以使用车机的蜂窝系统(如车载智能终端(telematics BOX,TBOX))或者车载卫星系统等与手机建立第三链路。应理解,当车机的蜂窝系统与手机2的蜂窝系统所对应的运营商不同时,车机可以利用运营商布网的互补性,对手机1和车机的通话进行补偿。
场景三:手机1呼叫手机2,手机2将来电转移到近场家人的手机3。
参见图15C所示,手机1由用户1使用,手机2和手机3由用户2使用,手机3可以是用户2家人的电子设备。若手机2接收到手机1的来电,手机2可以将通话转移到手机3进行。在通话过程中,手机1和手机2之间通过第一链路连接,手机2和手机3之间通过第二链路连接。
当手机3检测到第一预设条件(如通话质量不佳)之后,笔记本电脑和手机3建立第三链路,通过第三链路对原本的通话链路(即第一链路和第二链路)进行通话补偿,以提高手机1和手机3的通话质量。
场景四:手机1呼叫手机2的副卡,手机2将来电转移到远场的智能手表。
参见图15D所示,手机1为本次通话的主叫设备,手机2为本次通话的被叫设备。手机2安装有SIM卡1(主卡)和SIM卡2(副卡),智能手表安装有eSIM卡3,SIM卡1和eSIM卡3对应同一电话号码(即智能手表和手机2是一号多终端设备)。当手机2与智能手表建立近场连接(如蓝牙连接)之后,智能手表的调制解调器(Modem)下电,断开与核心网设备的交互。当手机2与智能手表的近场连接断开之后,智能手表的Modem上电,启动与核心网设备的交互。
当手机1呼叫手机2的SIM卡2(副卡)时,手机2也可以和智能手表建立第二链路,并通过第二链路将来电转移到智能手表上,以便用户接听。在手机1和智能手表通话的过程中,手机1和手机2之间通过第一链路连接,手机2和智能手表之间通过第二链路连接。
当智能手表检测到第一预设条件(如通话质量不佳)之后,智能手表使用eSIM卡3的数据业务功能与手机1建立第三链路,通过第三链路对原本的通话链路(即第一链路和第二链路)进行通话补偿,以提高手机1和智能手表的通话质量。
或者,当智能手表检测到第一预设条件(如通话质量不佳)之后,若智能手表具备WiFi通信功能时,智能手表使用WiFi与手机1建立第三链路,通过第三链路对原本的通话链路(即第一链路和第二链路)进行通话补偿,以提高手机1和智能手表的通话质量。
在第一设备和第二设备通话的过程中,不仅第二设备可以将通话转移到第三设备,第一设备也可以将通话转移到第四设备。具体如下所示。
图16是本申请的一个实施例提供的通话转移场景下的设备间连接示意图。参见图16所示,当第一设备和第二设备均转移通话之后,第一设备和第二设备之间通过第一链路连接,第二设备和第三设备之间通过第二链路连接,第一设备和第四设备之间通过第四链路连接。第四链路的具体内容可参见上述关于第二链路的介绍,本实施例在此不再赘述。可以理解,在第一设备和第二设备均转移通话之后,用户1实际使用的设备是第四设备,用户2实际使用的设备是第三设备。
在通话过程中,第四设备采集用户1的通话数据包,并依次将通话数据包通过第四链路、第一链路和第二链路发送给第三设备,并由第三设备播放通话数据包。同理,第三设备采集用户2的通话数据包,并依次通过第二链路、第一链路和第四链路发送给第四设备,并由第四设备播放通话数据包。
基于图16所示的通话转移场景,第四设备在检测到第一预设条件(参见前文描述)之后,也可以在第四设备和第三设备之间建立补偿链路(可参见图17所示)。
图18是本申请的一个实施例提供的补偿链路的建立过程示意图,涉及第四设备和第三设备通过第一链路、第二链路和第四链路协商建立补偿链路的过程。该流程具体包括如下步骤S1801~S1808。
S1801,第三设备检测到第一预设条件。
该第一预设条件的具体内容请参见前文描述,本实施例在此不再赘述。需要说明的是,第一设备、第二设备或者第四设备检测到第一预设条件之后,也可以通知第三设备执行后续步骤,本实施例对此不进行限制。
S1802~1804,第三设备依次通过第二设备、第一设备向第四设备发送补偿链路建立请求。
换而言之,第三设备依次通过第二链路、第一链路和第四链路向第四设备发送补偿链路建立请求。该补偿链路建立请求携带第三设备的地址信息,具体参见S1102所示,本实施例在此不再赘述。
S1805~S1807,第四设备依次通过第一设备、第二设备向第三设备发送补偿链路建立响应。
换而言之,第四设备依次通过第四链路、第一链路和第二链路向第三设备发送辅助链路建立响应。该辅助链路建立请求携带第一设备的地址信息,具体参见S1104所示,本实施例在此不再赘述。
另外,在S1802~S1807中,补偿链路建立请求和补偿链路建立响在不同链路上的发送方式可参见前文描述,本实施例在此不再赘述。
S1808,第四设备和第三设备建立第三链路。
在本实施例中,第四设备和第三设备根据相互的通信地址建立第三链路。该第三链路即为原通话链路(即第四链路、第一链路和第二链路)的补偿链路。
另外,第一设备和第三设备还需要协商补偿链路(即第三链路)的数据传输规则。该数据传输规则具体可参见前文描述,此处不再赘述。
在一些实施例中,第四设备和第三设备可以在建立补偿链路的过程中,将传输规则协商信息在补偿链路建立请求和补偿链路建立响应中,以协商数据传输规则。若数据传输规则协商失败,则第四设备和第三设备确定补偿链路建立失败。
在另一些实施例中,第四设备可以和第三设备在建立好补偿链路(第三链路)之后,基于原通话链路(即第四链路、第一链路和第二链路)协商数据传输规则。或者,基于补偿链路(即第三链路)协商数据传输规则,本实施例对此不进行限制。若数据传输规则协商成功,则使用该补偿链路传输通话数据包,若协商失败,则断开补偿链路。
图19是本申请其他实施例提供的补偿通信场景的示意图。参见图19所示,在第四设备和第三设备通过第一设备和第二设备间接通信的过程中,第一设备和第三设备之间还可以建立第五链路,第二设备和第四设备之间还可以建立第六链路。第五链路和第六链路的建立过程具体参见前文描述,本实施例在此不再赘述。
基于图19所示的设备间的连接方式,第四设备和第三设备之间的数据传输路径可以同时包括如下路径1-1~路径1-4:
路径1-1:第四链路—第一链路—第二链路。即第四设备依次通过第一设备和第二设备向第三设备发送通信数据包,对应地,第三设备依次通过第二设备和第一设备向第四设备发送通信数据包。
路径1-2:第四链路—第五链路。即第四设备和第三设备通过第一设备间接地传输通信数据包。
路径1-3:第六链路—第二链路。即第四设备和第三设备通过第二设备间接地传输通信数据包。
路径1-4:第三链路。即第四设备和第三设备直接传输通信数据包。
通过本实施例提供的方法,第三设备和第四设备在通话的过程中,可以通过多条路径进行通话补偿,有助于提高通话质量。
第二设备在接收到第一设备的来电之后,也可以不将通话转移到其他电子设备,而是在本地接听电话,即双方用户实际使用的电子设备是第一设备和第二设备。在第一设备和第二设备通话的过程中,第一设备和第二设备需要通过基站与核心网设备连接,建立核心网链路,以传输通话数据包。然而,基站的网络信号可能会由于网络分布不佳、多个网络相互干扰、建筑物遮挡等情况,导致电子设备接收到的信号强度较弱,甚至接收不到信号。因此,在通话过程中,通话链路中的通话数据包可能会出现大量丢失、时延过大或者抖动过大的情况,导致通话语音断续、无声、甚至通话中断等问题。
为此,本申请还提供一种通信补偿方法,用于在第一设备和第二设备通过核心网链路通话的过程中,通过补偿链路对当前通话进行通话补偿,提高第一设备和第二设备的提高通话质量。
图20A为本申请的一个实施例提供的通信补偿系统的结构示意图。该系统包括第一设备、第二设备和第三设备,第一设备和第二设备之间通过第一链路(包括核心网链路)连接。在第一设备和第二设备通话的过程中,若第二设备检测到第二预设条件,则第二设备和第三设备建立第二链路(若已有第二链路则无需重新建立),并且控制第一设备和第三设备建立第三链路。或者,若第一设备检测到第二预设条件,那么第一设备可以通知第二设备与第三设备建立第二链路(若已有第二链路则无需重新建立),并且控制第一设备和第三设备建立第三链路。其中,第二链路和第三链路构成第一链路的补偿链路。基于此,第一设备和第二设备在通话过程中,可以通过第一链路和补偿链路共同传输通话数据包,以提高第一设备和第二设备的通话质量。
可选的,参见图20B所示,第二设备上设置有“通信补偿”设置界面,在该设置界面中,用户可以设置能够为第二设备助力的设备(简称助力设备),该助力设备可以是本申请实施例中的第三设备。另外,针对每一个助力设备,用户还可以设置助力业务的类型。示例性的,该助力业务的类型包括音视频通话、文件传输、屏幕共享等。
在一些实施例中,第二预设条件为第一链路的通信质量低于阈值。例如,第一链路的丢包率高于丢包率阈值(例如10%);和/或,第一链路的信噪比低于信噪比阈值(例如10分贝);和/或,第一链路的通话数据包的时延高于时延阈值(例如120ms)等,本实施例对此不进行具体限制。或者,该第二预设条件可以是电子设备进入特定区域(如接入通信质量差的小区等),或者即将进入该特定区域。该电子设备可以是第一设备或者第二设备。
在另一些实施例中,第二预设条件为用户操作第二控件,该第二控件用于控制在第一设备和第二设备之间通过其他设备(如第三设备)间接建立连接。示例性的,参见图21所示,该第二控件可以为协同通话补偿选项下的“设备选择控件”。
在其他一些实施例中,该第二预设条件可以是电子设备检测到的预设的触摸手势、隔空控制手持或者语音控制指令等。
在其他一些实施例中,用户可以基于功耗或者资费的考虑控制建立补偿链路。基于此,第二预设条件可以为第一设备/第二设备开启了补偿链路自动建立功能。在建立补偿链路之后,第一设备和第二设备可以降低通话数据包在第一链路上的传输频度,甚至释放第一链路,从而节约第一设备和第二设备的功耗和蜂窝通话费用。
在本实施例提供的系统中,第一设备和第二设备在通过第一链路通话的过程中,还在第一设备和第二设备之间通过第三设备建立了补偿链路,并同时通过该核心网链路和该补偿链路传输通话数据包,能够提高通话质量。
应理解,参见图22所示,各个运营商的蜂窝网络覆盖情况通常是有所差异的,同一位置下,有的运营商(如运营商A)的网络质量可能较差,而有的运营商(如运营商B)的网络质量可能较好。以第二设备使用运营商A的蜂窝网络与第一设备通话为例,当运营商A的网络质量较差时,第二设备在通话过程中可能会出现通话质量不佳的情况。为了提高第二设备的通话质量,第二设备可以通过蓝牙/WiFi等无线通信技术连接第三设备,并通过第三设备所接入的蜂窝网络(即运营商B的蜂窝网络)通过第三链路与第一设备连接。基于此,在第一设备与第二设备通过第一链路通话的过程中,第三设备可以通过运营商B的蜂窝网络对第二设备进行通话补偿,以提高第一设备和第二设备的通话质量。
下面对第一设备和第二设备之间建立补偿链路的具体过程进行示例性的说明。
图23是本申请的一个实施例提供的通信补偿方法的示意性流程图,涉及第一设备和第二设备通过第三设备建立补偿链路的过程。
S2301,第一设备和第二设备建立第一链路。具体参见S601,此处不再赘述。
S2302,第一设备和第二设备通过第一链路传输通话数据包。
在本实施例中,第一链路包括核心网链路,具体参见前文描述,此处不再赘述。
S2303,第二设备检测到第二预设条件。
第二预设条件的具体内容参见前文所述,本实施例在此不再赘述。
S2304,第二设备和第三设备建立第二链路。
在本实施例中,第二链路为近场通信链路,例如蓝牙链路、WiFi链路等,具体参见前文描述,此处不再赘述。另外,第二链路可以是第二设备检测在到第二预设条件之后与第三设备建立的,也可以是第二设备在检测到第二预设条件之前和第三设备间预先建立的,本实施例对此不进行限制。
若第二设备在检测到第二预设条件之后,未与第三设备建立第二链路,则第二设备需要对进行设备发现,以确定并连接第三设备。
在一些实施例中,参见图24所示,第二设备可以通过BLE、WiFi、超宽带(ultrawide band,UWB)、D2D、车联网(vehicle to everything,V2X)等无线通信技术,通过广播的方式从周围的电子设备中发现与连接第三设备,与第三设备建立第二链路。其中,第二设备周围的电子设备可能是自己的智能手表、自己的其他手机、平板电脑、笔记本电脑、车机,或者附近其他人的手机、平板电脑等,本实施例对此不进行限制。
在另一些实施例中,参见图25所示,第二设备可以使用蜂窝数据或者WiFi等无线通信技术,通过服务器(Server)或者中转设备中的至少一个发送远场广播消息,以发现和连接第三设备。或者,第二设备可以直接向第三设备发送远场连接请求,以连接第三设备。下面对其进行具体的说明。
1)第二设备通过服务器发送远场广播消息。
同一用户可能有多个电子设备,并且这些电子设备通常通过同一用户ID(例如电话号码、邮箱)登录同一服务器。基于此,第二设备可以先将广播消息发送给该服务器,再由该服务器将广播消息发送给第二设备的用户ID下的其他电子设备,从而进行第三设备的发现与连接。另外,由于登录服务器的其他电子设备可能存在休眠的情况,因此,服务器也可以先通过第三设备的低功耗软件(如pushagent(推送代理)、短信模块)、低功耗硬件或者第三设备所接入的家庭网关等先唤醒这些电子设备,然后再向这些电子设备发送广播消息来进行第三设备的发现与连接。
2)第二设备同时使用服务器和中转设备发送远场广播消息。
同一用户可能有多个电子设备,并且这些电子设备通常通过同一用户ID(例如电话号码、邮箱)登录同一服务器。在这些电子设备中,用户可以预先设置一个中转设备(如路由器)。基于此,第二设备可以先将广播消息发送给服务器,再由服务器将广播消息转发给中转设备,最后由中转设备将广播消息发送给与第二设备的用户ID下的其他电子设备,从而进行第三设备的发现与连接。
3)第二设备通过中转设备发送远场广播消息。
同一用户可能有多个电子设备,并且这些电子设备和第二设备连接同一中转设备(例如路由器)。基于此,第二设备可以通过该中转设备向这些电子设备发送远场广播消息,并从这些电子设备中发现与连接第三设备。
4)第二设备直接根据第三设备的地址信息,向第三设备发送远场的补偿链路建立请求,以连接第三设备。
需要说明的是,在上述过程中,无论第二设备通过远场广播的方式发现和连接第三设备,还是通过近场广播的方式发现和连接第三设备,其目的都是为了与第三设备协商建立补偿链路来对第一设备和第二设备的通话进行补偿,从而提高第一设备和第二设备的通话质量。因此,在以上各种设备发现与连接的过程中,第二设备均需要向第三设备发送补偿链路建立请求,以及接收第三设备返回的补偿链路建立应答。
S2305,第一设备和第三设备建立第三链路。第三链路具体参见前文描述,此处不再赘述。
S2306,第一设备和第二设备在使用第一链路传输通话数据包的同时,使用第二链路和第三链路传输通话数据包。
可以理解,在第三链路建立成功之后,第一设备和第二设备通过两条路径传输通话数据包,一条路径为第一链路(可称作路径A),另一条路径为第二链路和第三链路组成的补偿链路群(可称作路径B)。在路径B中,第一设备向第二设备发送通话数据包时,先通过第三链路将通话数据包发送第三设备,再由第三设备将其转发给第二设备;第二设备向第一设备发送通话数据包时,先将通话数据包通过第二链路发送给第三设备,再由第三设备将其转发给第一设备。
在本实施例中,在第一设备和第二设备通话的过程中,发送端在采集到通话数据包之后,可以参照如图9A~图9C任一项所示的通话数据包分配方式,在路径A和路径B之间分配通话数据包,从而将通话数据包发送给接收端,本实施例在此不再赘述。应理解,当第一设备是发送端时,第二设备是接收端;当第二设备是发送端时,第一设备是接收端。
在第一设备和第二设备通话的过程中,以用户1使用第一设备,用户2使用第二设备为例,第一设备在采集到用户1的通话数据包之后,将通话数据包同时通过路径A和路径B发送给第二设备,第二设备对两路通话数据包进行去重与排序之后,播放用户1的音视频。同理,第二设备在采集到用户2的通话数据包之后,将通话数据包同时通过路径A和路径B发送给第一设备,第一设备对两路通话数据包进行去重与排序之后,播放用户2的音视频。
需要说明的是,可选的,在路径B中,若第三设备不具备解码功能,第三设备可以对接收到的通话数据包进行去重与排序并将其发送给目标设备(如第一设备或者第二设备)。若第三设备具备解码功能,第三设备可以既对接收到的通话数据包进行去重与排序,又对其进行解码,最后再将其发送给目标设备。当然,第三设备也可以不对接收到的通话数据包进行处理,而是将其透传给目标设备,本实施例对此不进行限制。
在本实施例提供的方法中,第一设备和第二设备在通过第一链路通话的过程中,还在第一设备和第二设备之间通过第三设备建立了补偿链路,并同时通过该核心网链路和该补偿链路共同传输通话数据包,能够提高通话质量。
下面对第一设备和第三设备建立第三链路的具体过程进行示例性说明。
图26是本申请的一个实施例提供的第三链路建立过程的流程图,具体包括如下步骤S2601~S2606。
S2601,第二设备向第三设备发送第一请求。
该第一请求用于请求第三设备与第一设备建立第三链路。
S2602,第三设备向第二设备发送第三设备的通信地址。
需要说明的是,若第二设备和第三设备之间已建立了第二链路,那么第二设备是已知建立第三链路所需的第三设备的通信地址的。那么,第三设备可以无需发送该第三设备的通信地址,仅发送指示同意建立第三链路的响应信息即可。
另外,若第二设备在检测到第二预设条件之前,已经预先和第三设备建立了第二链路,预先存储有第三设备的通信地址,且第三设备已经预先授权了辅助第二设备建立补偿链路,那么第二设备在检测到第二预设条件之后,不仅无需再建立第二链路,而且在建立第三链路时,无需再请求第三设备同意。即可以省略S2601~S2602,直接执行S2603。
S2603,第二设备向第一设备发送第二请求。
该第二请求用于请求第一设备与第三设备建立第三链路,且携带第三设备的通信地址。
S2604,第一设备向第二设备发送第一设备的通信地址。
S2605,第二设备向第三设备发送第一设备的通信地址。
S2606,第一设备和第三设备根据第一设备的通信地址和第二设备的通信地址,建立第三链路。
基于上述S2601~S2606,第一设备和第三设备即可建立第三链路。第三链路和第二链路联合工作,形成第一设备的第二设备的补偿链路。
另外,第一设备和第三设备还需要协商补偿链路(即第二链路和第三链路)的数据传输规则。该数据传输规则具体可参见前文描述,此处不再赘述。
在一些实施例中,第一设备和第三设备可以在建立补偿链路的过程中,第三设备可以将传输规则协商信息携带在请求消息(如第一请求、第二请求)中,以和第一设备协商数据传输规则。若数据传输规则协商失败,则第一设备和第三设备确定补偿链路建立失败。
在另一些实施例中,第一设备可以和第三设备在建立好补偿链路之后,基于第一链路协商数据传输规则。或者,基于补偿链路(即第二链路和第三链路)协商数据传输规则,本实施例对此不进行限制。若数据传输规则协商成功,则使用该补偿链路传输通话数据包,若协商失败,则断开补偿链路。
在断开补偿链路的过程中,若第二链路是第二设备在检测到第二预设条件之后建立的链路,可以将第二链路和第三链路均断开。若第二链路是第二设备在检测到第二预设条件之前建立的链路,则断开第三链路,保留第二链路。
下面结合具体的应用场景对上述本实施例提供的通话补偿方法进行示例性说明。
场景A:手机1和手机2通话,手机2通过近场的笔记本电脑建立补偿链路。
参见图27A所示,手机1由用户1使用,手机2和笔记本电脑由用户2使用。在手机2和手机1通话的过程中,若手机2且检测到通话质量不佳,或者接收到用户指示建立补偿链路的指令,手机2可以通过笔记本电脑和手机1建立补偿链路,对原本的通话链路(即第一链路)进行通话补偿,以提高手机1和手机2的通话质量。该补偿链路包括手机2和笔记本电脑之间的第二链路,以及笔记本电脑和手机1之间的第三链路。
场景B:手机1和手机2通话,手机2通过近场的车机建立补偿链路。
参见图27B所示,手机1由用户1使用,手机2和车机由用户2使用,手机2在车机内部或者车机附近和手机1通话。在通话过程中,若手机2且检测到通话质量不佳,或者接收到用户指示建立补偿链路的指令,手机2可以通过车机和手机1建立补偿链路,对原本的通话链路(即第一链路)进行通话补偿,以提高手机1和手机2的通话质量。该补偿链路包括手机2和车机之间的第二链路,以及车机和手机1之间的第三链路。
场景C:手机1呼叫手机2,手机2通过家人的手机3建立补偿链路。
参见图27C所示,手机1由用户1使用,手机2和手机3由用户2使用,手机3可以是用户2家人的电子设备。在手机2和手机1通话的过程中,若手机2且检测到通话质量不佳,或者接收到用户指示建立补偿链路的指令,手机2可以通过家人的手机3和手机1建立补偿链路,对原本的通话链路(即第一链路)进行通话补偿,以提高手机1和手机2的通话质量。该补偿链路包括手机2和手机3之间的第二链路,以及手机3和手机1之间的第三链路。
场景D:手机1呼叫手机2,通过近场的智能手表建立补偿链路。
参见图27D所示,手机1为本次通话的主叫设备,手机2为本次通话的被叫设备。手机2安装有SIM卡1(主卡)和SIM卡2(副卡),智能手表安装有eSIM卡3,SIM卡1和eSIM卡3对应同一电话号码(即智能手表和手机2是一号多终端设备)。手机2与智能手表通过第二链路(如蓝牙链路)连接,智能手表的调制解调器(Modem)自动下电,断开了与核心网设备的连接。
基于此,在手机1和手机2通过第一链路通话的过程中,若手机2检测到通话质量不佳,或者手机2接收到用户指示建立补偿链路的指令,那么手机2可以控制智能手表的Modem上电,并通过智能手表的数据业务与手机1建立第三链路。在第三链路建立成功之后,第二链路和第三链路构成第一链路的补偿链路,对原本的通话链路(即第一链路)进行通话补偿,以提高手机1和手机2的通话质量。
场景E:手机1和手机2通话,手机2通过路由器建立补偿链路。
参见图27E所示,手机1由用户1使用,手机2和路由器由用户2使用。在手机2和手机1通话的过程中,若手机2且检测到通话质量不佳,或者接收到用户指示建立补偿链路的指令,手机2可以通过路由器和手机1建立补偿链路,对原本的通话链路(即第一链路)进行通话补偿,以提高手机1和手机2的通话质量。该补偿链路包括手机2和路由器之间的第二链路,以及路由器和手机1之间的第三链路。
在第一设备和第二设备通话的过程中,不仅第一设备可以通过第三设备间接访问第二设备,第二设备也可以通过第四设备间接访问第一设备。具体如下所示。
图28是本申请另一个实施例提供的多设备协同补偿通话的示意图。参见图28所示,在用户1和用户2使用第一设备和第二设备通话的过程中,第一设备和第二设备通过第一链路连接并交互通话数据包。在该过程中,示例性的,若第一设备和第二设备均检测到第二预设条件,则第一设备依次通过第四设备和第三设备与第二设备连接,建立补偿链路。
在该补偿链路中,第一设备和第四设备之间通过第四链路连接,第四设备和第三设备之间通过第三链路连接,第三设备和第二设备之间通过第二链路连接。在补偿链路的各段链路中,由于第一设备和第四设备均属于用户1,因此,第一设备和第四设备可以预先建立第四链路,也可以在第一设备检测到第二预设条件之后建立第四链路。同理,由于第二设备和第三设备均属于用户2,因此,第二设备和第三设备可以预先建立该第二链路,也可以在第二设备检测到第二预设条件之后建立第三链路。而第四设备和第三设备是分属于不同的用户的,因此,第四设备和第三设备需要基于已建立的链路(包括一链路、第二链路和第四链路)协商建立第三链路。
图29是本申请的一个实施例提供的第三链路的建立过程示意图,具体包括如下步骤S2901~S2910。
S2901~S2902,第一设备和第二设备分别检测到第二预设条件。
该第二预设条件的具体内容请参见前文描述,本实施例在此不再赘述。本实施例对S2901和S2902的先后顺序不进行限制。下面以第二设备先检测到第二预设条件为例,对后续步骤进行示例性说明。
S2903,第二设备向第三设备发送第三请求。该第三请求用于请求第三设备辅助第二设备建立补偿链路。
S2904~S2906,第三设备依次通过第二设备、第一设备向第四设备发送第三设备的通信地址。换而言之,第三设备依次通过第二链路、第一链路和第四链路向第四设备发送第三设备的通信地址。
S2907~S2909,第四设备依次通过第一设备和第二设备向第三设备发送第四设备的通信地址。换而言之,第四设备依次通过第四链路、第一链路和第二链路向第三设备发送第四设备的通信地址。
S2910,第四设备和第三设备根据相互的通信地址建立第三链路。应理解,第四链路、第三链路和第二链路一起,构成原通话链路(即第一链路)的补偿链路。
另外,第四设备和第三设备还需要协商补偿链路(即第三链路)的数据传输规则。该数据传输规则具体可参见前文描述,此处不再赘述。
在一些实施例中,第四设备和第三设备可以在建立第三链路的过程中,第三设备或者第三设备可以将传输规则协商信息在补偿链路建立请求中,以和对方协商数据传输规则。若数据传输规则协商失败,则第一设备和第二设备确定补偿链路建立失败。
在另一些实施例中,第四设备可以在和第三设备建立好补偿链路(即第四链路、第三链路和第二链路)之后,基于原通话链路(即第一链路)协商数据传输规则。或者,基于补偿链路(即第四链路、第三链路和第二链路)协商数据传输规则,本实施例对此不进行限制。若数据传输规则协商成功,则使用该补偿链路传输通话数据包,若协商失败,则断开补偿链路。
图30是本申请其他实施例提供的补偿通信场景的示意图。参见图30所示,在第一设备和第二设备通过第四设备和第三设备间接通信的过程中,第一设备和第三设备之间还可以建立第五链路,第二设备和第四设备之间还可以建立第六链路。第五链路和第六链路的建立过程具体参见前文描述,本实施例在此不再赘述。
基于图30所示的设备间的连接方式,第一设备和第二设备之间的数据传输路径可以同时包括如下路径2-1~路径2-4:
路径2-1:第一链路。即第一设备和第二设备交互通信数据包。
路径2-2:第四链路—第三链路—第二链路。即第一设备依次通过第四设备、第三设备向第二设备发送通信数据包,对应地,第二设备依次通过第三设备、第四设备向第一设备发送通信数据包。
路径2-3:第五链路—第二链路。即第一设备通过第三设备向第二设备发送通信数据包,对应地,第二设备通过第三设备向第一设备发送通信数据包。
路径2-4:第四链路—第六链路。即第一设备通过第三设备向第二设备发送通信数据包,对应地,第二设备通过第三设备向第一设备发送通信数据包。
通过本实施例提供的方法,第一设备和第二设备在通话的过程中,可以通过多条路径进行通话补偿,有助于提高通话质量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在本申请所提供的实施例中,各个框架或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个框架或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (27)

1.一种补偿通信方法,其特征在于,应用于第一设备、第二设备和第三设备,所述第一设备和所述第二设备通过第一链路连接,所述第二设备和所述第三设备通过第二链路连接,所述第一设备和所述第三设备通过所述第一链路和所述第二链路通信;所述方法包括:
在所述第一设备、所述第二设备或者所述第三设备检测到第一预设条件之后,所述第一设备与所述第三设备建立补偿链路;
所述第一设备和所述第三设备在通过所述第一链路、所述第二链路通信的同时,通过所述补偿链路通信;或者,所述第一设备和所述第三设备断开所述第一链路和/或所述第二链路,并通过所述补偿链路通信。
2.根据权利要求1所述的方法,其特征在于,所述第一预设条件包括:
检测到对第一控件的操作,所述第一控件用于控制所述第三设备与所述第一设备建立所述补偿链路;和/或,
获取到预设的触摸手势、隔空控制手持或者语音控制指令;和/或,
所述第二设备将通信服务转移到所述第三设备;和/或,
所述第一链路或者所述第二链路的通信质量低于阈值;和/或,
所述第一设备、所述第二设备或者所述第三设备即将进入/已经进入特定区域;和/或,
所述第一设备、所述第二设备或者所述第三设备开启了补偿链路自动建立功能。
3.根据权利要求1或2所述的方法,其特征在于,
所述第一链路包括:核心网链路,和/或,基于无线保真WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路;
所述第二链路和所述补偿链路包括:基于WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述第三设备与所述第一设备建立补偿链路,包括:
所述第三设备和所述第一设备通过所述第一链路和所述第二链路协商建立所述补偿链路;或者,
所述第三设备和所述第一设备通过寻址服务器协商建立所述补偿链路。
5.根据权利要求4所述的方法,其特征在于,所述第三设备和所述第一设备通过所述第一链路和所述第二链路协商建立所述补偿链路,包括:
所述第三设备通过所述第二链路和所述第一链路,向所述第一设备发送补偿链路建立请求,所述补偿链路建立请求携带所述第三设备的通信地址;
所述第一设备通过所述第一链路和所述第二链路,向所述第三设备发送补偿链路建立响应,所述补偿链路建立响应携带所述第一设备的通信地址;
所述第一设备和所述第三设备根据对方的通信地址建立所述补偿链路。
6.根据权利要求5所述的方法,其特征在于,所述第三设备通过所述第二链路和所述第一链路,向所述第一设备发送补偿链路建立请求,包括:
所述第三设备通过所述第二链路向所述第二设备发送所述补偿链路建立请求;
当所述第一链路为核心网链路时,所述第二设备将所述补偿链路建立请求写在实时传输控制协议RTCP报文/实时传输协议RTP数据包中发送给所述第一设备;或者,
当所述第一链路不是所述核心网链路时,所述第二设备采用自定义或者预设的方式向所述第一设备发送所述补偿链路建立请求。
7.根据权利要求5所述的方法,其特征在于,所述第一设备通过所述第一链路和所述第二链路向所述第三设备发送补偿链路建立响应,包括:
当所述第一链路为核心网链路时,所述第一设备将所述补偿链路建立响应写在RTCP报文/RTP数据包中发送给所述第二设备;或者,
当所述第一链路不是所述核心网链路时,所述第一设备采用自定义或者预设的方式向所述第二设备发送所述补偿链路建立响应;
所述第二设备通过所述第二链路向所述第三设备发送所述补偿链路建立响应。
8.根据权利要求4所述的方法,其特征在于,所述第三设备和所述第一设备通过寻址服务器协商建立所述补偿链路,包括:
所述第一设备根据所述寻址服务器中存储的所述第二设备的唯一标识信息和所述第三设备的通信地址的对应关系,确定所述第三设备的通信地址;
所述第三设备根据所述寻址服务器中存储的所述第一设备的唯一标识信息与通信地址的对应关系,确定所述第一设备的通信地址;
所述第一设备和所述第三设备根据对方的通信地址建立所述补偿链路。
9.根据权利要求1~8任一项所述的方法,其特征在于,所述第一设备和所述第三设备在通过所述第一链路、所述第二链路通信的同时,通过所述补偿链路通信,包括:
所述第一设备和所述第三设备通过所述第一链路和所述第二链路传输通信数据包的第一部分,通过所述补偿链路传输所述通信数据包的第二部分;所述第一部分和所述第二部分的总和包括待传输的所有通信数据包;
其中,所述第一部分和所述第二部分完全相同,或者完全不同,或者部分相同。
10.根据权利要求1~9任一项所述的方法,其特征在于,所述第三设备为所述第二设备的分机,或者,所述第二设备为所述第三设备的信号接力设备。
11.一种补偿通信系统,其特征在于,包括第一设备、第二设备和第三设备,所述第一设备和所述第二设备通过第一链路连接,所述第二设备和所述第三设备通过第二链路连接;所述第一设备和所述第三设备通过所述第一链路和所述第二链路通信;
所述第一设备被配置为执行权利要求1~10任一项中所述第一设备所执行的方法;
所述第二设备被配置为执行权利要求1~10任一项中所述第二设备所执行的方法;
所述第三设备被配置为执行权利要求1~10任一项中所述第三设备所执行的方法。
12.一种补偿通信方法,其特征在于,应用于第一设备、第二设备、第三设备和第四设备,所述第一设备和所述第二设备通过第一链路连接,所述第二设备和所述第三设备通过第二链路连接,所述第一设备和所述第四设备通过第四链路连接;所述第四设备和所述第三设备通过所述第四链路、所述第一链路和所述第二链路通信;
所述第一设备、所述第二设备、所述第三设备和所述第四设备中的任一个设备在检测到第一预设条件之后,控制所述第三设备与所述第四设备建立补偿链路;
所述第四设备和所述第三设备在通过所述第四链路、所述第一链路和所述第二链路通信的同时,通过所述补偿链路通信;或者,所述第四设备和所述第三设备断开所述第四链路、所述第一链路和所述第二链路中的至少一个,并通过所述补偿链路通信。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述第一设备和所述第三设备建立第五链路,所述第四设备和所述第三设备还通过所述第四链路和所述第五链路通信。
14.根据权利要求12或13所述的方法,其特征在于,所述方法还包括:
所述第二设备和所述第四设备建立第六链路,所述第四设备和所述第三设备还通过所述第二链路和所述第六链路通信。
15.一种补偿通信系统,其特征在于,包括第一设备、第二设备、第三设备和第四设备,所述第一设备和所述第二设备通过第一链路连接,所述第二设备和所述第三设备通过第二链路连接,所述第一设备和所述第四设备通过第四链路连接;所述第四设备和所述第三设备通过所述第四链路、所述第一链路和所述第二链路通信;
所述第一设备被配置为执行权利要求11~14任一项中所述第一设备所执行的方法;
所述第二设备被配置为执行权利要求11~14任一项中所述第二设备所执行的方法;
所述第三设备被配置为执行权利要求11~14任一项中所述第三设备所执行的方法;
所述第四设备被配置为执行权利要求11~14任一项中所述第四设备所执行的方法。
16.一种补偿通信方法,其特征在于,应用于第一设备、第二设备和第三设备,所述第一设备和所述第二设备通过第一链路连接并通信;该方法包括:
所述第一设备/所述第二设备在检测到第二预设条件之后,所述第一设备和所述第二设备通过所述第三设备间接建立补偿链路,所述补偿链路包括所述第二设备和所述第三设备之间的第二链路,和所述第一设备和所述第三设备之间的第三链路;
所述第一设备和所述第二设备在通过所述第一链路通信的同时,通过所述补偿链路通信;或者,所述第一设备和所述第二设备断开所述第一链路,并通过所述补偿链路通信。
17.根据权利要求16所述的方法,其特征在于,所述第二预设条件包括:
检测到对第二控件的操作,所述第二控件用于控制所述第一设备与所述第二设备建立所述补偿链路;和/或,
获取到预设的触摸手势、隔空控制手持或者语音控制指令;和/或,
所述第一链路的通信质量低于阈值;和/或,
所述第一设备/第二设备即将进入/已经进入特定区域;和/或,
所述第一设备/第二设备开启了补偿链路自动建立功能。
18.根据权利要求16或17所述的方法,其特征在于,
所述第一链路包括:核心网链路,和/或,基于无线保真WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路;
所述第二链路和所述第三链路包括:基于WiFi或者蓝牙建立的近场通信链路,和/或,基于WiFi、蜂窝数据或者卫星通信建立的远场通信链路。
19.根据权利要求16~18任一项所述的方法,其特征在于,所述第一设备和所述第二设备通过所述第三设备间接建立补偿链路,包括:
所述第二设备通过近场广播或者远场广播发现并连接所述第三设备,形成所述第二链路;
所述第三设备通过所述第二链路和所述第一链路向所述第一设备发送所述第三设备的通信地址;
所述第一设备通过所述第一链路和所述第二链路向所述第三设备发送所述第一设备的通信地址;
所述第一设备和所述第三设备根据对方的通信地址建立第三链路,所述第二链路和所述第三链路组成的链路群为所述补偿链路。
20.根据权利要求19所述的方法,其特征在于,所述第二设备通过近场广播发现并连接所述第三设备,形成所述第二链路,包括:
所述第二设备通过蓝牙广播、WiFi广播、超带宽UWB广播、设备到设备D2D广播或者车联网V2X广播发现并连接所述第三设备。
21.根据权利要求19所述的方法,其特征在于,所述第二设备通过远场广播发现并连接所述第三设备,包括:
所述第二设备通过服务器发送所述远场广播消息,发现并连接所述第三设备,形成所述第二链路;或者,
所述第二设备通过中转设备发送所述远场广播消息,发现并连接所述第三设备,形成所述第二链路;或者,
所述第二设备同时使用所述服务器和所述中转设备发送所述远场广播消息,发现并连接所述第三设备,形成所述第二链路;或者,
所述第二设备直接根据第三设备的地址信息连接所述第三设备,形成所述第二链路。
22.根据权利要求16~21任一项所述的方法,其特征在于,所述第一设备和所述第二设备在通过所述第一链路通信的同时,通过所述补偿链路通信,包括:
所述第一设备和所述第二设备通过所述第一链路传输通信数据包的第一部分,通过所述补偿链路传输所述通信数据包的第二部分;所述第一部分和所述第二部分的总和包括待传输的所有通信数据包;
其中,所述第一部分和所述第二部分完全相同,或者完全不同,或者部分相同。
23.一种补偿通信系统,其特征在于,包括第一设备、第二设备和第三设备,所述第一设备和所述第二设备通过第一链路连接并通信;
所述第一设备被配置为执行权利要求16~22任一项中所述第一设备所执行的方法;
所述第二设备被配置为执行权利要求16~22任一项中所述第二设备所执行的方法;
所述第三设备被配置为执行权利要求16~22任一项中所述第三设备所执行的方法。
24.一种补偿通信方法,其特征在于,应用于第一设备、第二设备、第三设备和第四设备,所述第一设备和所述第二设备通过第一链路连接并通信;该方法包括:
所述第一设备/所述第二设备在检测到第二预设条件之后,所述第一设备和所述第二设备建立补偿链路;所述补偿链路包括:所述第一设备和所述第四设备之间的第四链路、所述第四设备和所述第三设备之间的第三链路、所述第三设备和所述第二设备之间的第二链路;
所述第一设备和所述第二设备在通过所述第一链路通信的同时,通过所述补偿链路通信;或者,所述第一设备和所述第二设备断开所述第一链路,并通过所述补偿链路通信。
25.根据权利要求24所述的方法,其特征在于,所述方法还包括:
所述第一设备和所述第三设备建立第五链路,所述第一设备和所述第二设备还通过所述第二链路和所述第五链路通信。
26.根据权利要求24或25所述的方法,其特征在于,所述方法还包括:
所述第二设备和所述第四设备建立第六链路,所述第一设备和所述第二设备还通过所述第四链路和所述第六链路通信。
27.一种补偿通信系统,其特征在于,包括第一设备、第二设备、第三设备和第四设备,所述第一设备和所述第二设备通过第一链路连接并通信,
所述第一设备被配置为执行权利要求24~26任一项中所述第一设备所执行的方法;
所述第二设备被配置为执行权利要求24~26任一项中所述第二设备所执行的方法;
所述第三设备被配置为执行权利要求24~26任一项中所述第三设备所执行的方法;
所述第四设备被配置为执行权利要求24~26任一项中所述第四设备所执行的方法。
CN202210615532.0A 2022-05-31 2022-05-31 一种补偿通信方法和系统 Pending CN117202405A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210615532.0A CN117202405A (zh) 2022-05-31 2022-05-31 一种补偿通信方法和系统
PCT/CN2023/096555 WO2023231923A1 (zh) 2022-05-31 2023-05-26 一种补偿通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210615532.0A CN117202405A (zh) 2022-05-31 2022-05-31 一种补偿通信方法和系统

Publications (1)

Publication Number Publication Date
CN117202405A true CN117202405A (zh) 2023-12-08

Family

ID=88998485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210615532.0A Pending CN117202405A (zh) 2022-05-31 2022-05-31 一种补偿通信方法和系统

Country Status (2)

Country Link
CN (1) CN117202405A (zh)
WO (1) WO2023231923A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117111B (zh) * 2018-07-27 2021-06-15 Oppo广东移动通信有限公司 传输链路切换控制方法及相关产品
EP3972346A4 (en) * 2019-08-16 2022-05-18 Guangdong Oppo Mobile Telecommunications Corp., Ltd. LINK SWITCHING METHOD AND COMMUNICATION DEVICE
CN111629452A (zh) * 2020-04-02 2020-09-04 北京大米科技有限公司 一种数据传输控制方法、装置、存储介质及电子设备
EP4188033A4 (en) * 2020-08-07 2023-09-27 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR LINK SWITCHING DURING SIDELINK COMMUNICATION

Also Published As

Publication number Publication date
WO2023231923A1 (zh) 2023-12-07

Similar Documents

Publication Publication Date Title
US9282585B2 (en) Method and apparatus for device to device communication
TW201824940A (zh) 處理尋呼的方法和裝置
JP6093037B2 (ja) グループコールコンテキストを確立する方法、システム、基地局、及びクラスタepc
US20130242843A1 (en) Wireless communication system, base station, and terminal
EP3618503B1 (en) Service path switching method, device, storage medium and system
WO2014019510A1 (zh) 用户设备到用户设备的通信方法及设备
US11399307B2 (en) Service authorization method, terminal device and network device
CN113395785B (zh) 一种辅助链路补偿通话的系统、装置及芯片
EP4294063A1 (en) Communication system, first electronic device and second electronic device
WO2018137364A1 (zh) 数据发送方法、数据发送终端以及基站
WO2021212593A1 (zh) QoS控制方法、装置及可读存储介质
US10193794B2 (en) Multiparty call method and apparatus
KR20050035049A (ko) 셀룰러 이동통신 시스템에서 푸쉬 투 토크 서비스를 위한호 설정 방법
CN117202405A (zh) 一种补偿通信方法和系统
WO2022063186A1 (zh) 传输链路的切换方法及相关产品
WO2022147836A1 (zh) 一种连接建立方法及装置、网络设备
CN110809242B (zh) 一种dect网络集群下的媒体交互方法
WO2023092482A1 (zh) 一种通过中继终端进行通信的方法及装置、终端
WO2022205219A1 (zh) 中继方式的配置方法、中继通信方法、装置及设备
WO2024027412A1 (zh) 通信方法、通信装置及通信系统
WO2022222202A1 (zh) 传输方法、终端设备、网络设备及通信系统
WO2023015454A1 (zh) 路径建立方法、选择方法、装置、终端设备及存储介质
WO2022126412A1 (zh) 一种重置配置方法及装置、终端设备
US20230247112A1 (en) Non-IP Header Compression in Broadcast Sidelink Communication
WO2022006882A1 (zh) Mbs业务的传输方法及装置、网络设备、终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination