CN116709582A - 辅助通话的方法和电子设备 - Google Patents
辅助通话的方法和电子设备 Download PDFInfo
- Publication number
- CN116709582A CN116709582A CN202211366278.1A CN202211366278A CN116709582A CN 116709582 A CN116709582 A CN 116709582A CN 202211366278 A CN202211366278 A CN 202211366278A CN 116709582 A CN116709582 A CN 116709582A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- information
- call
- data channel
- relay
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 135
- 230000006854 communication Effects 0.000 claims abstract description 265
- 238000004891 communication Methods 0.000 claims abstract description 263
- 238000012545 processing Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 44
- 230000006870 function Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
- H04W76/34—Selective release of ongoing connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种辅助通话的方法和电子设备,该方法由第一电子设备执行,包括:获取目标信息,该目标信息包括第一电子设备和第二电子设备均可用的目标通信服务供应商的信息,其中,第二电子设备为与第一电子设备已建立第一数据通道的电子设备;基于目标信息,与第二电子设备建立第二数据通道,该第二数据通道为目标通信服务供应商提供的数据通道,第二数据通道用于在第一电子设备与第二电子设备进行通话时传输通话数据包。该方法可以在电子设备之间建立辅助链路以提升通话质量。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种辅助通话的方法和电子设备。
背景技术
目前,各个电子设备之间的通话通常是借助于运营商网络进行,例如采用多媒体子系统(IP multimedia subsystem,IMS)等传统的通话方式。在这种IMS通话方式中,各个电子设备之间通过基站和核心网设备构成的通话链路传输通话数据包。
但是,在通话过程中,可能会由于电子设备接收到的网络信号较弱,导致通话链路传输的通话数据包(也可称为语音数据包)出现丢失、时延过大或者抖动过大的情况,进而导致通话语音断续、无声或者中断等现象,影响通话质量。
发明内容
本申请提供了一种辅助通话的方法和电子设备,可以在电子设备之间建立辅助链路以提升通话质量。
第一方面,本申请提供一种辅助通话的方法,该方法由第一电子设备执行,包括:获取目标信息,该目标信息包括第一电子设备和第二电子设备均可用的目标通信服务供应商的信息,其中,第二电子设备为与第一电子设备已建立第一数据通道的电子设备;基于目标信息,与第二电子设备建立第二数据通道,该第二数据通道为目标通信服务供应商提供的数据通道,第二数据通道用于在第一电子设备与第二电子设备进行通话时传输通话数据包。
其中,第一电子设备可以为下述实施例中的电子设备1,也可以为电子设备2;在第一电子设备为电子设备1时,第二电子设备为电子设备2,在第一电子设备为电子设备2时,第二电子设备为电子设备1。第一电子设备与第二电子设备之间已建立有第一数据通道,例如控制通道,用于传输各种控制消息。
上述目标信息可以包括目标通信服务供应商的信息,目标通信服务供应商即第一电子设备和第二电子设备都支持的通信服务供应商,例如目标通信服务供应商为目标relay供应商。该目标信息可以是第一电子设备根据第一电子设备可用的通信服务供应商的信息(即第一relay供应商信息)和第二电子设备可用的通信服务供应商的信息(即第二relay供应商信息)所确定的,也可以是第二电子设备根据第一电子设备可用的通信服务供应商的信息和第二电子设备可用的通信服务供应商的信息所确定,并发送给第一电子设备的。然后第一电子设备和第二电子设备便可以基于该目标信息建立第二数据通道,该第二数据通道即为辅助通道,例如为relay数据通道,用于传输通话数据包。
上述实现方式中,电子设备之间可以通过建立辅助链路以提升通话质量,并且在存在多个通信服务供应商的情况下,可以协商一个共同可用的通信服务供应商,提高建立辅助链路的成功率。
结合第一方面,在第一方面的有些实现方式中,上述获取目标信息,包括:通过第一数据通道,接收来自第二电子设备的第一信息,该第一信息包括第二电子设备可用的通信服务供应商的信息;根据第一信息和第二信息,确定目标信息,第二信息包括第一电子设备可用的通信服务供应商的信息。
在该实现方式中,上述目标信息为第一电子设备根据第二信息和第一信息确定的,此时需要第二电子设备将自身的第一信息发送给第一电子设备,即第二电子设备为offer端,第一电子设备是answer端。
在一种实现方式中,上述根据第一信息和第二信息,确定目标信息,包括:对第二信息中的供应商标识与第一信息中的供应商标识进行匹配,将标识相同的通信服务供应商的信息确定为目标信息。
其中,上述第二信息和第一信息中可以携带供应商标识,例如供应商ID、供应商名称等,那么第一电子设备可以对第二信息中的通信服务供应商的标识与第一信息中通信服务供应商的标识进行匹配,确定是否有相同的通信服务供应商的标识,若有则将该标识相同的通信服务供应商的信息确定为目标信息。
在该实现方式中,若第一电子设备确定标识相同的通信服务供应商只有一个,则可以直接将该供应商对应的信息作为目标信息。
若第一电子设备确定标识相同的通信服务供应商有多个,上述第二信息和第一信息中还可以携带供应商的优先级,则可以选择其中优先级最高的供应商作为目标通信服务供应商,其对应的信息即为目标信息。
若第一电子设备确定第二信息和第一信息中没有标识相同的供应商,即当前没有目标通信服务供应商,则第一电子设备确定本设备的RFCS版本号是否低于第二电子设备的RFCS版本号。若第一电子设备的RFCS版本号较低,则第一电子设备可以向服务器查询是否有可升级的版本,若有可升级的版本,则可以向用户输出“连接失败,请尝试升级设备的版本”的信息;若第二电子设备的RFCS版本号较低,则第一电子设备可以向第二电子设备发送连接失败的消息,进而由第二电子设备向服务器查询是否有可升级的版本。
上述实现方式中,电子设备在存在多个通信服务供应商的情况下,可以综合多种因素协商一个共同可用的通信服务供应商,以提高建立辅助链路的成功率。
结合第一方面,在第一方面的有些实现方式中,在接收来自第二电子设备的第一信息之后,上述方法还包括:从第一服务器获取第二信息,第一服务器存储有多个通信服务供应商的信息。
在该实现方式中,第一电子设备在接收到第二电子设备的第一信息之后,再向第一服务器(例如relay配置服务器)获取本设备的第二信息,可以减少第一电子设备先获取到第二信息的情况下,等待第二电子设备发送第一信息的时间。并且,通过第一服务器配置各通信服务供应商的信息,可以灵活的修改电子设备交互时使用的通信服务供应商,减少电子设备侧升级版本的概率。
结合第一方面,在第一方面的有些实现方式中,在确定目标信息之后,上述方法还包括:基于第一数据通道,向第二电子设备发送目标信息。
其中,在第一电子设备确定了目标信息之后,还可以通过上述控制通道(即第一数据通道)将该目标信息发送至第二电子设备,以备第二电子设备与第一电子设备加入同一通信服务供应商提供的数据通道。
结合第一方面,在第一方面的有些实现方式中,上述获取目标信息,包括:通过第一数据通道,向第二电子设备发送第二信息;通过第一数据通道,接收来自第二电子设备的根据第一信息和第二信息确定的目标信息。
在该实现方式中,上述目标信息为第二电子设备根据第一信息和第二信息确定的,此时需要第一电子设备将自身的第二信息发送给第二电子设备,即第一电子设备为offer端,第二电子设备是answer端。第二电子设备确定目标信息的过程可以参见上述第一电子设备确定目标信息的过程,其实现方式类似。
其中,因上述第一电子设备与第二电子设备是通过第一数据通道发送消息的,那么两者之间需要事先建立该第一数据通道,则上述方法还包括:基于第二服务器,建立第一电子设备与第二电子设备之间的第一数据通道,该第二服务器可以为连接服务器(Connector)。通过事先建立第一数据通道可在后续需要发送消息时减少等待时间。
结合第一方面,在第一方面的有些实现方式中,上述基于目标信息,与第二电子设备之间建立第二数据通道,包括:基于目标信息中的通道标识,连接通道标识对应的第二数据通道;通过第一数据通道,向第二电子设备发送第一消息,第一消息用于指示第二电子设备连接该通道标识对应的第二数据通道;通过第一数据通道,接收来自第二电子设备的第二消息,第二消息表征第二电子设备已连接上述通道标识对应的第二数据通道。
其中,上述目标信息中还可以携带通道标识,即目标通信服务供应商提供的通道标识,电子设备可以通过该通道标识加入对应的第二数据通道。因此,第一电子设备可以先加入该通道标识对应的第二数据通道,待加入成功后向第二电子设备指示消息,指示第二电子设备也加入该第二数据通道,待双方都加入同一数据通道时,即表征第一电子设备与第二电子设备之间建立了辅助通道。
然后,在第一电子设备与第二电子设备之间建立第二数据通道之后,便可以相互发送通话数据包,即上述方法还包括:基于第二数据通道,接收来自第二电子设备的第一通话数据包;对第一通话数据包和第二通话数据包进行去重及合并处理,第二通话数据包为第一电子设备与第二电子设备进行通话的过程中,基于核心网设备的通话链路所传输的通话数据包。
其中,在第一电子设备与第二电子设备之间进行通话时,两者之间除了具有辅助链路之外还具有主链路,即基于核心网设备的通话链路,两个链路都可以传输通话数据包。在第一电子设备接收到第二电子设备的第一通话数据包时,第一电子设备可以对第一通话数据包和第二通话数据包进行去重及合并处理;在第二电子设备接收到第一电子设备的第一通话数据包时,第二电子设备可以对第一通话数据包和第二通话数据包进行去重及合并处理,由此可提高通话数据包的质量,进而提高通话质量。
在一个实现方式中,为减少电子设备之间的数据处理量,可以在当上述主链路的通话质量较差时再启用辅助链路,即上述基于第二数据通道,接收来自第二电子设备的第一通话数据包,包括:在基于核心网设备的通话链路的通话质量不满足预设通话质量的情况下,基于relay数据通道,接收来自第二电子设备的第一通话数据包。
结合第一方面,在第一方面的有些实现方式中,上述方法还包括:在预设条件满足的情况下,断开与第二电子设备之间的第二数据通道,其中,该预设条件包括第一电子设备与第二电子设备之间通话结束,和/或,基于核心网设备的通话链路的通话质量满足预设通话质量。
在该实现方式中,为减少辅助链路的资源占用率,在第一电子设备与第二电子设备之间的通话结束时,或者在上述主链路的通话质量比较好时,则可以使第一电子设备和第二电子设备之间断开上述第二数据通道。
在一个实现方式中,上述断开与第二电子设备之间的第二数据通道,包括:断开第二数据通道;通过第一数据通道,向第二电子设备发送第三消息,第三消息用于指示第二电子设备断开第二数据通道;通过第一数据通道,接收来自第二电子设备的第四消息,第四消息表征第二电子设备已断开第二数据通道。
即,第一电子设备可以先离开上述通道标识对应的第二数据通道,待离开成功后向第二电子设备指示消息,指示第二电子设备也离开该第二数据通道,待双方都离开上述第二数据通道时,即表征第一电子设备与第二电子设备之间断开了上述辅助通道。由此可以减少辅助链路的资源占用率。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选地,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例通过主链路和辅助链路分别传输通话数据包的场景示意图;
图2是本申请实施例提供的一例远场SIM卡的场景示意图;
图3是本申请实施例提供的一例电子设备的结构示意图;
图4是本申请实施例提供的一例电子设备的软件结构框图;
图5是本申请实施例提供的一例辅助通话的方法所采用的系统架构示意图;
图6是本申请实施例提供的一例辅助通话的方法中第一阶段和第二阶段的时序示意图;
图7是本申请实施例提供的一例辅助通话的方法中第三阶段的时序示意图;
图8是本申请实施例提供的一例协商relay服务器过程所采用的系统架构示意图;
图9是本申请实施例提供的一例协商relay服务器过程的流程示意图;
图10是本申请实施例提供的一例辅助通话的方法的流程示意图;
图11是本申请实施例提供的另一例辅助通话的方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
目前,各个电子设备之间的通话通常是借助于运营商网络进行,例如采用IMS等传统的通话方式。在这种IMS通话方式中,各个电子设备之间通过基站和核心网设备构成的通话链路传输通话数据包。但是,在通话过程中,可能会由于电子设备接收到的网络信号的强度较弱,导致通话链路传输的通话数据包(也可称为语音数据包)出现丢失、时延过大或者抖动过大的情况,进而导致通话语音断续、无声或者中断等现象,因此通话质量较差。
针对此问题,本申请实施例提出一种通过辅助链路传输通话数据包的方式,可以提高通话质量。具体过程为:在主链路(即基站和核心网设备构成的通话链路)的基础上增加一条辅助链路(也可以称为辅链路),通过主链路和辅助链路分别传输通话数据包,并对主链路和辅助链路分别传输的通话数据包进行整合来提升通话质量。图1示出了本申请实施例提供的通过主链路和辅助链路分别传输通话数据包的场景示意图。如图1所示,在该场景中,在两个电子设备(分别为电子设备1和电子设备2)之间建立了两路通话链路:主链路和辅助链路。其中,主链路中包括电子设备1、基站1、核心网设备、基站2以及电子设备2,在电子设备1和电子设备2通话过程中,电子设备1和电子设备2分别通过基站提供的蜂窝网络接入核心网,以连接形成主链路。辅助链路中包括电子设备1、Wi-Fi设备1、远场通信服务器(或者服务云)、Wi-Fi设备2以及电子设备2,在电子设备1和电子设备2通话过程中,电子设备1和电子设备2分别通过Wi-Fi设备与远场通信服务器建立连接,以形成辅助链路。如此,电子设备1和电子设备2在通过主链路传输通话数据包的过程中,若出现网络信号的强度较弱的情况下,可以通过辅助链路传输通话数据包;电子设备1和电子设备2接收到主链路的通话数据包和辅助链路的通话数据包后,可以对两种通话数据包进行去重以及合并处理,从而提高通话质量。
可以理解,上述远场通信服务器可以为云服务器、服务器集群等,本申请实施例对此不做限制。
除上述场景之外,通过辅助链路传输通话数据包的方式还可应用于远场SIM卡的场景中,示例性地,图2为本申请实施例提供的一例远场SIM卡的场景示意图。以电子设备3通过电子设备4与电子设备5进行语音通话为例,其中,电子设备3未安装SIM卡,电子设备4与电子设备5均安装有SIM卡。如图2所示,电子设备3可以通过远场通信服务器与电子设备4建立连接,电子设备4与电子设备5可以通过SIM卡的蜂窝网络,基于各自的基站以及核心网设备建立连接。因此,在通话过程中,电子设备3和电子设备5之间可以通过电子设备4转发通话数据包,实现电子设备3和电子设备5之间的语音通话,电子设备3与电子设备4之间建立的通话链路即辅助链路。在此场景中,电子设备4也可以为用户前置设备(customerpremise equipment,CPE),CPE设备是指用户前端与运营商网络直接对接的设备,包括但不限于电话机,无线路由器,防火墙,电脑,光猫,4G转Wi-Fi的无线路由器等等。
对于上述各场景中建立的辅助链路,可以是基于P2P(peer to peer)的点对点音频传输通道,也可以是基于relay服务器的音频传输通道;其中,relay服务器是一种中继服务器,用于在距离较远而无法直接发送信息的两个设备之间发送信息。在辅助链路为基于relay服务器的音频传输通道的情况下,因目前提供relay服务器的供应商可以有多个,那么电子设备之间在建立辅助链路之前,就需要相互协商一个可用的relay服务器,以后续根据该relay服务器建立辅助链路。
有鉴于此,本申请实施例提供一种辅助通话的方法,可以使通话过程中的各电子设备之间协商可用的relay服务器,以建立辅助链路,提升通话质量。需要说明的是,本申请实施例提供的辅助通话的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)等具有通话功能或支持远场SIM卡功能的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图3是本申请实施例提供的一例电子设备100的结构示意图。以电子设备100是手机为例,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。图3中的天线1和天线2的结构仅为一种示例。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图4是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括通话(Telephony)服务模块,通话辅助模块,Push服务模块,连接管理(ConnectivityManager)模块,通知管理器,视图系统,资源管理器等。
系统库层可以包括多个功能模块。例如:远场通信服务模块、IMS通话服务模块、安卓运行时(Android Runtime)等。
其中,通话服务模块主要用于提供通话服务,例如负责IMS服务注册,以及电话的接通及挂断等事项。通话辅助模块主要用于辅助远场通信服务模块建立辅助链路。Push服务模块也主要用于辅助远场通信服务模块建立辅助链路,为建立辅助链路提供一些需要的信息。连接管理模块主要用于负责电子设备的无线局域网连接以及蜂窝网络注册及连接等事项。
远场通信服务模块主要用于建立电子设备之间的辅助链路,通过该辅助链路可以收发通话数据包。IMS通话服务模块主要用于建立通话的主链路并监测主链路的通话质量,并在主链路的通话质量较差时通知通话辅助模块触发建立辅助链路。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库层还可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等(图中未示出)。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动、通话驱动等。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS或Windows等操作系统的电子设备。
为了更好地理解本申请实施例,以下先对本申请实施例中建立辅助链路的过程进行简要说明:
首先需要说明的是,传统电子设备通常使用IMS通话服务模块(也可简称为IMS通话服务),用于提供通话服务。与传统电子设备相比,本申请实施例在电子设备侧增加了通话辅助模块和远场通信服务模块(也可简称为远场通信服务),并且还使用Push服务模块(也可简称为Push服务)的相关功能。本申请实施例在网络侧增加了通话辅助业务云、远场通信服务云以及Push云。图5示出了本申请实施例提供的辅助通话的方法所采用的系统架构。如图5所示,电子设备1包括通话辅助模块101、远场通信服务模块102、Push服务模块103以及IMS通话服务模块104。电子设备2包括通话辅助模块201、远场通信服务模块202、Push服务模块203以及IMS通话服务模块204。网络侧包括远场通信服务云301、通话辅助业务云302以及Push云303。其中,Push服务模块103和Push服务模块203均连接至Push云303。通话辅助模块101和通话辅助模块201均连接至通话辅助业务云302。远场通信服务模块102和远场通信服务模块202均连接至远场通信服务云301。
需要说明的是,图5中仅示出的系统架构中仅体现了用于建立辅助链路的相关功能模块,在实际实现时,系统架构可以包括比图示更多或更少的部件。
以下先对本申请实施例涉及到的一些概念或关键词进行解释说明,以便于本领域技术人员理解。
(1)通信ID:即电子设备用于通信的身份标识(identification,ID)。
电子设备的通信ID由远场通信服务云统一分配,且每个电子设备的通信ID均是唯一的。
其中,通信ID的数据格式可以为例如8字节的长整型数字。
(2)PushToken:即推送令牌,用于消息推送的标识。
其中,每个电子设备上的每个应用的PushToken都是唯一的。PushToken可以为字符串形式,例如PushToken可以为16字节或32字节的字符串。
需要说明的是,应用申请的PushToken具有一定生命周期,PushToken在生命周期内有效,超期则失效。
(3)Push服务:即用于管理电子设备中各个应用的PushToken,并根据PushToken向应用推送消息的模块。
应用可以向Push服务请求该应用的PushToken,Push服务向该应用分配一个PushToken。Push服务可以根据分配的PushToken向该应用推送消息。
(4)Push云:即根据PushToken在不同电子设备之间转发应用推送消息的模块(或服务器)。
下面结合图5所示的系统架构,介绍一下本申请实施例通过通话辅助模块、远场通信服务模块、Push服务模块、IMS通话服务模块、Push云、通话辅助业务云以及远场通信服务云的交互建立辅助链路的过程。需要说明的是,这里以电子设备1发起建立辅助链路为例进行示例性描述,可以理解,在实际实现时,也可以由电子设备2发起建立辅助链路,本申请实施例对此不做限制。
第一阶段,电子设备1申请通信ID以及PushToken。
如图6所示,一方面,在电子设备1首次开机后,当通话辅助模块101检测到Wi-Fi连接或蜂窝网络注册成功(涉及连接管理模块)时,通话辅助模块101向远场通信服务模块102申请电子设备的通信ID,远场通信服务模块102接收到通话辅助模块101的申请后,向远场通信服务云103申请电子设备的通信ID,并返回至通话辅助模块101,通话辅助模块101将通信ID记录(即缓存)在电子设备1本地(参见图6中的1.1-1.2过程)。需要说明的是,针对远场通信服务模块102已分配电子设备1的通信ID的情况,远场通信服务模块102不再向远场通信服务云301申请通信ID,远场通信服务模块102可以直接向通话辅助模块101返回缓存的本地通信ID。
另一方面,通话辅助模块101可以向Push服务模块103申请PushToken,相应地Push服务模块103可以返回一个PushToken(参见图6中的2.1过程)。
本申请实施例在需要时可以直接采用缓存的电子设备的通信ID和PushToken建立辅助链路,由于此时减少了网络交互流程,因此可以加快辅助链路的建立速度。
第二阶段,电子设备1将本机手机号码与本设备的通信ID和PushToken绑定。
当通话辅助模块101检测到本机的SIM卡在位并且IMS服务注册成功(涉及通话服务模块)时,通话辅助模块101将本机手机号码与本设备的通信ID和PushToken绑定,并将绑定信息上传到通话辅助业务云302,由通话辅助业务云302进行存储(参见图6中的2.2过程)。
需要说明的是,通话辅助模块101可以注册监听SIM卡信息变化(比如本设备更换了SIM卡)和PushToken有效期,当通话辅助模块101检测到SIM卡信息发生变化或者PushToken即将过期或已经过期时,通话辅助模块101可以重新绑定手机号码、通信ID和PushToken,并将该绑定信息上传到通话辅助业务云302。
可选地,在绑定信息中,手机号码可以采用明文形式,也可以采用对手机号码进行哈希加密之后得到的密文形式,以保护用户隐私。
第三阶段,通过Push方式触发双方建立辅助链路。
首先,如图7所示,在通话接通之后(Telephony),当通话辅助模块101检测到Wi-Fi网络连接(涉及连接管理模块)时,通话辅助模块101通过对方手机号码向通话辅助业务云302查询电子设备2的通信ID和PushToken,并将电子设备2的通信ID和PushToken记录在本地(参见图7中的A1-A2过程)。可以理解,电子设备2中的通话辅助模块201也可以通过对方手机号码向通话辅助业务云302查询电子设备1的通信ID和PushToken,并将电子设备1的通信ID和PushToken记录在本地(参见图7中的A3-A4过程)。
然后,在通话过程中,电子设备1监听电子设备1和电子设备2之间的主链路通话质量是否下降。可选地,通话质量可以根据参考信号接收功率(reference signal receivingpower,RSRP)、参考信号接收质量(reference signal receiving quality,RSRQ)等蜂窝信号质量参数来确定,也可以根据主链路的通话数据包丢包率、时延和抖动等参数来确定。例如,这里以通话信号强度来衡量通话质量是否下降。示例性地,通话信号强度可以采用信号格或条的数量表示。信号格越多,则表示通话质量越好;信号格越少,则表示通话质量越差。例如,五格信号表示通话质量最好,0格信号表示通话质量最差。由于通话时信号不稳定,因此信号格的数量会在0格到5格之间发生变化。
示例性地,电子设备1可以监听通话信号强度是否下降到第一预设阈值(例如以4格信号强度为例)。当电子设备1检测到信号强度下降到4格时,表明通信质量不稳定,可以认为是电子设备目前处于可能需要使用辅助链路进行辅助通话的场景,因此可以建立辅助链路;具体地,可以基于电子设备1的通信ID和电子设备2的通信ID,在电子设备1和电子设备2之间建立远场通信辅助链路。
对于此过程,继续参见图7,可以由电子设备1的IMS通话服务模块104检测主链路的通话质量,当主链路的通话质量降低时,IMS通话服务模块104通知通话辅助模101块建立辅助链路(参见图7中的A5过程)。一方面,通话辅助模块101根据电子设备2的PushToken,通过Push服务模块103、Push云303向电子设备2的Push服务模块203推送建立辅助链路消息,进而电子设备2的Push服务模块203将该推送消息发送至通话辅助模块201(参见图7中的A6-A9过程),通话辅助模块201通过远场通信服务模块202根据该建立辅助链路消息与远场通信服务云301交互,请求建立辅助链路(参见图7中的A12-A13过程)。另一方面,电子设备1的通话辅助模块101向远场通信服务模块102申请建立辅助链路,然后远场通信服务模块102与远场通信服务云301交互,请求建立辅助链路(参见图7中的A10-A11过程)。远场通信服务云301基于电子设备1的通信ID和电子设备2的通信ID,在电子设备1和电子设备2之间建立远场通信辅助链路(参见图7中的A14过程)。
具体何时使用已建立的辅助链路进行辅助通话,以及何时释放该辅助链路,可以根据主链路通话质量进一步的监听结果进行确定,详细内容参见下述第四阶段中的描述。
第四阶段,电子设备1根据通话质量的变化动态启用或停用辅助链路。
在一些实施例中,在通话过程中,当IMS通话服务104检测到主链路通话质量继续降低(例如下降到3格信号)时,电子设备1可以使用主链路和辅助链路分别传输通话数据包。电子设备2在接收到电子设备1发送的两路通话数据包后,对两路通话数据包进行去重及合并处理,由此可以提升通话质量。
在一些实施例中,在通话过程中,当主链路通话质量较好时(例如增加到4格信号)时,电子设备1可以及时停止使用辅助链路进行数据包传输。
第五阶段,电子设备1触发释放辅助链路。
在一些实施例中,在主链路通话质量优(例如增加到5格信号)并且稳定一段时间(例如20秒)的情况下,电子设备1的IMS通话服务模块104关闭辅助链路,或者在通话结束时由通话辅助模块101直接释放辅助链路。
通过本申请实施例的过程,可以在Wi-Fi网络下完成通话辅助链路的建立,保证建立辅助链路及时性的同时,大大降低业务资源消耗。
对于上述图7所示的建立辅助链路的过程,若电子设备1和电子设备2之间要建立的辅助链路是基于relay服务器的音频传输通道(可简称为relay数据通道),则电子设备1和电子设备2需要协商一个可用的relay服务器(也即协商一个可用的relay供应商,该供应商提供有relay服务器),也即,在图7的A11步骤(或A13步骤)之前,可以执行下述实施例的过程,待电子设备1和电子设备2确定了可用的relay供应商之后,便可以执行A11步骤(或A13步骤),向远场通信服务云301请求基于确定的relay服务器在电子设备1和电子设备2之间建立辅助链路。
为便于理解,下面先对协商可用的relay服务器的过程的系统架构进行简要介绍。图8示出了本申请实施例提供的协商relay服务器的过程所采用的系统架构,如图8所示,电子设备1的远场通信服务模块102、电子设备2的远场通信服务模块202均可以与连接服务器(Connector服务器)401连接,基于该连接服务器401,电子设备1和电子设备2之间可以建立控制通道,用于在电子设备1和电子设备2发送各种控制消息。电子设备1的远场通信服务模块102、电子设备2的远场通信服务模块202还均可以与relay配置服务器(relayConfig服务器)402连接,通过该relay配置服务器402电子设备1和电子设备2可以查询并获取本设备可以使用的relay供应商的信息。需要说明的是,本申请实施例中的连接服务器401和relay配置服务器402可以为上述远场通信服务云301中的服务器,也可以是另外配置的服务器,本申请实施例对此不做限制。
基于图8所示的系统架构,下面结合附图对本申请实施例提供的辅助通话的方法中协商relay服务器的过程进行具体阐述。图9是本申请实施例提供的一例协商relay服务器的过程的流程示意图,具体可以包括:
S1,电子设备1的通话辅助模块101向远场通信服务模块102发送请求建立relay数据通道的消息。
S2,电子设备2的通话辅助模块201向远场通信服务模块202发送请求建立relay数据通道的消息。
其中,S1的步骤相当于上述A10的步骤,S2的步骤相当于上述A12的步骤,即是电子设备双方向各自的远场通信服务模块推送建立辅助链路的消息的过程。
可选地,通话辅助模块可以通过requestAudioChannel()接口向远场通信服务模块发送请求建立relay数据通道的消息。电子设备1的通话辅助模块101发送的消息中可以携带电子设备2的通信ID,电子设备2的通话辅助模块201发送的消息中可以携带电子设备1的通信ID,以向远场通信服务模块告知要请求和哪个电子设备建立relay数据通道。
S3,电子设备1的远场通信服务模块102判断和电子设备2之间是否已有relay数据通道,若是执行S4,若否执行S5。
S4,远场通信服务模块102向通话辅助模块101发送relay数据通道建立成功的消息,并执行后续S24发送通话数据包的过程。
因远场通信服务模块102接收到的消息中携带有电子设备2的通信ID,则远场通信服务模块102可以通过电子设备2的通信ID查询当前是否与电子设备2已建立有relay连接,若有则可以向通话辅助模块102发送relay数据通道建立成功的消息,后续可直接采用该relay数据通道发送通话数据包。
可以理解,S3的步骤也可以是电子设备2的远场通信服务模块202判断和电子设备1之间是否已有relay数据通道,执行过程与电子设备1类似,在此不再赘述。
S5,电子设备1的远场通信服务模块102与连接服务器401之间建立控制通道。
S6,电子设备2的远场通信服务模块202与连接服务器401之间建立控制通道。
其中,电子设备1的远场通信服务模块102与连接服务器401之间建立控制通道时,可以向连接服务器401发送电子设备2的通信ID,电子设备2的远场通信服务模块202与连接服务器401之间建立控制通道时,可以向连接服务器401发送电子设备1的通信ID,以告知连接服务器401要和哪个电子设备之间发送控制消息,也即相当于电子设备1与电子设备2之间建立了控制通道。可选地,上述控制通道可以为WebSocket通道。
S7,电子设备1的远场通信服务模块102向relay配置服务器402请求查询本设备可用的relay供应商信息。
S8,relay配置服务器402向远场通信服务模块102返回电子设备1可用的relay供应商信息。
此步骤中,远场通信服务模块102可以向relay配置服务器402发送relayRequest消息,以查询本设备可用的relay供应商信息,relay配置服务器402可以向远场通信服务模块102返回relayResponse消息,该消息携带电子设备1可用的relay供应商信息。其中,relay配置服务器中配置有各个relay供应商的供应商ID、供应商名称、优先级、有效期、音频通道名称等信息,以及配置有各relay供应商支持的电子设备类型、版本等信息;那么,电子设备1的远场通信服务模块102可以向relay配置服务器402发送携带有本设备类型、当前版本等信息的请求消息,relay配置服务器402即可查询并返回电子设备1可用的relay供应商信息(以下简称第一relay供应商信息)。
示例性地,电子设备1向relay配置服务器402发送的请求消息可以包括下表1所示的内容,需要说明的是,实际应用中请求消息可以包括比表1更多或更少的内容,本申请实施例对此不做限制。
表1
其中,RFCS版本号可以为电子设备的系统版本号,也可以为支持relay服务的应用版本号,该版本号与上述relay配置服务器402配置信息中的版本号对应。角色(role)表示电子设备是发送端(offer)还是接收端(answer),在本申请实施例中,可以任选电子设备1和电子设备2中的其中一个作为offer端,另一个作为answer端;也可以协商将通信ID较大的作为offer端,通信ID较小的作为answer端;该实施例中以电子设备1为offer端,电子设备2为answer端为例进行说明。channel为relay供应商提供的通道信息,通过该通道可使电子设备1和电子设备2之间发送通话数据包。
然后,relay配置服务器402向电子设备1返回的消息可以包括下表2所示的内容,需要说明的是,实际应用中返回消息可以包括比表2更多或更少的内容,本申请实施例对此不做限制。
经过上述过程,电子设备1即查询到了本设备的第一relay供应商信息。
表2
S9,电子设备1的远场通信服务模块102通过连接服务器401向电子设备2的远场通信服务模块202发送第一relay供应商信息。
可选地,远场通信服务模块102可以将上述获取到的表2的数据发送给远场通信服务模块202,还可以发送除了上述表2之外的内容,例如电子设备1的音频参数(如音频格式等)、密钥协商参数(如ECDH密钥协商参数)等。可选地,远场通信服务模块102可以通过NegotiateRequest()接口向远场通信服务模块202发送上述信息。可以理解,此步骤中通过连接服务器401向电子设备2发送信息即是通过上述建立的控制通道发送信息,下面的类似步骤不再赘述。
S10,电子设备2的远场通信服务模块202向relay配置服务器402请求查询本设备可用的relay供应商信息。
S11,relay配置服务器402向远场通信服务模块202返回电子设备2可用的relay供应商信息。
其中,S10-S11步骤的实现过程与上述S7-S8步骤的实现过程类似,在此不再赘述。
S12,电子设备2的远场通信服务模块202根据电子设备1可用的relay供应商信息和电子设备2可用的relay供应商信息,确定目标relay供应商。
因上述S9中远场通信服务模块202已接收到电子设备1可用的relay供应商信息,S11中也已接收到电子设备2可用的relay供应商信息(以下简称第二relay供应商信息),因此,远场通信服务模块202可以对第一relay供应商信息和第二relay供应商信息进行比对,确定电子设备1和电子设备2都可用的relay供应商,即目标relay供应商。
其中,远场通信服务模块202对第一relay供应商信息和第二relay供应商信息进行比对的过程可以包括:查找第一relay供应商信息和第二relay供应商信息中是否有相同的供应商ID,若有,则将该供应商ID对应的供应商作为目标relay供应商。
在一个可实现的方式中,若远场通信服务模块202确定供应商ID相同的供应商只有一个,则可以直接将该供应商ID对应的供应商作为目标relay供应商。
在另一个可实现的方式中,若远场通信服务模块202确定供应商ID相同的供应商有多个,则可以选择其中优先级最高的供应商作为目标relay供应商。
在又一个可实现的方式中,若远场通信服务模块202确定第一relay供应商信息和第二relay供应商信息中没有供应商ID相同的供应商,即当前没有目标relay供应商,则远场通信服务模块202确定本设备的RFCS版本号是否低于电子设备1的RFCS版本号。若电子设备2的RFCS版本号较低,则电子设备2可以向relay配置服务器402查询是否有可升级的版本,若有可升级的版本,则可以向用户输出“连接失败,请尝试升级设备的版本”的信息。可以理解,因上述协商可用的relay供应商的过程是在电子设备1与电子设备2进行通话的过程中执行的,因此上述“连接失败,请尝试升级设备的版本”的信息可以是在通话过程中输出,也可以是在通话结束后进行输出。
若电子设备1的RFCS版本号较低,则电子设备2的远场通信服务模块202可以通过连接服务器401向电子设备1的远场通信服务模块102发送连接失败的消息,进而由电子设备1向relay配置服务器402查询是否有可升级的版本。
S13,电子设备2的远场通信服务模块202通过连接服务器401向电子设备1的远场通信服务模块102发送目标relay供应商的信息。
可选地,远场通信服务模块202可以将协商结果(例如协商成功或协商不成功)的消息发送远场通信服务模块102,并且在协商成功的情况下,还需要发送目标relay供应商的信息,例如可以是该目标relay供应商对应的上述表2的数据。除此之外,远场通信服务模块202还可以发送密钥协商参数(如ECDH密钥协商参数)等。可选地,远场通信服务模块202可以通过NegotiateResponse()接口向远场通信服务模块102发送上述信息。
对于上述S7-S13的过程,是以电子设备1作为offer端,电子设备2作为answer端为例进行示出的,当然也可以以电子设备2作为offer端,电子设备1作为answer端来执行,即电子设备2将第二relay供应商信息发送给电子设备1,电子设备1接收到此信息后再向relay配置服务器402请求查询本设备可用的第一relay供应商信息,然后根据第一relay供应商信息和第二relay供应商信息确定目标relay供应商信息,详细过程不再赘述。并且在S7-S13的过程中,电子设备2是在接收到电子设备1发送的第一relay供应商信息之后再向relay配置服务器402查询本设备的第二relay供应商信息,可以减少在电子设备2先查询到第二relay供应商信息的情况下,等待电子设备1发送第一relay供应商信息的时间。
当然,在不考虑电子设备2的等待时间的情况下,上述S7-S13的过程也可以采用以下过程实现:
A,电子设备1的远场通信服务模块102向relay配置服务器402请求查询本设备可用的relay供应商信息。
B,relay配置服务器402向远场通信服务模块102返回电子设备1可用的relay供应商信息(即第一relay供应商信息)。
C,电子设备2的远场通信服务模块202向relay配置服务器402请求查询本设备可用的relay供应商信息。
D,relay配置服务器402向远场通信服务模块202返回电子设备2可用的relay供应商信息(即第二relay供应商信息)。
E,电子设备1的远场通信服务模块102通过连接服务器401向电子设备2的远场通信服务模块202发送第一relay供应商信息。
F,电子设备2的远场通信服务模块202根据第一relay供应商信息和第二relay供应商信息,确定目标relay供应商。
G,电子设备2的远场通信服务模块202通过连接服务器401向电子设备1的远场通信服务模块102发送目标relay供应商的信息。
其中,A-G每个步骤的实现过程可以参见上述S7-S13的描述,在此不再赘述,也不在图中示出。
经过上述过程,即电子设备1与电子设备2之间协商好了可用的relay供应商,便可以执行上述A11(或A13)建立辅助链路的步骤,以电子设备1主动发起建立辅助链路为例,具体可以包括:
S14,电子设备1的远场通信服务模块102调用relaySDK启动relay服务。
S15,远场通信服务模块102向relaySDK发送加入relay数据通道的请求。
S16,relaySDK向远场通信服务模块102返回加入relay数据通道成功的消息。
其中,relaySDK可以包括目标relay供应商(服务器)提供的API,通过该API可以启动relay服务并加入relay数据通道。可选地,远场通信服务模块102可以通过JoinChannel()接口向relaySDK发送加入relay数据通道的请求,该请求中可以携带channelID(或名称)、user ID和token等参数。可选地,relaySDK可以通过onJoinChannelSuccess()接口返回加入relay数据通道成功的消息。
S17,电子设备1的远场通信服务模块102通过连接服务器401向电子设备2的远场通信服务模块202发送已加入的relay数据通道的信息。
可选地,远场通信服务模块102可以将上述加入的relay数据通道的channelID发送给远场通信服务模块202,除此之外,还可以发送token等安全参数。可选地,远场通信服务模块102可以通过JoinChannelRequest()接口向远场通信服务模块202发送上述信息。
S18,电子设备2的远场通信服务模块202调用relaySDK启动relay服务。
S19,远场通信服务模块202向relaySDK发送加入relay数据通道的请求。
S20,relaySDK向远场通信服务模块202返回加入relay数据通道成功的消息。
其中,S18-S20步骤的实现过程与上述S14-S16步骤的实现过程类似,在此不再赘述。
S21,电子设备2的远场通信服务模块202通过连接服务器401向电子设备1的远场通信服务模块102发送加入relay数据通道成功的消息。
可选地,远场通信服务模块202可以将加入relay数据通道的结果(例如加入成功或加入不成功)的消息发送远场通信服务模块102,并且还可以携带relay数据通道的channelID。可选地,远场通信服务模块202可以通过JoinChannelResponse()接口向远场通信服务模块102发送上述信息。
对于上述S14-S21的过程,是电子设备1先加入relay数据通道,加入成功后再通知电子设备2加入,但因在电子设备1与电子设备2协商目标relay供应商的时候,供应商的信息中可以携带对应的channelID,因此,协商好目标relay供应商时双方也即都确定了要加入的relay数据通道的标识,那么电子设备1和电子设备2也可以同时请求加入该relay数据通道,具体过程可以包括:
H:电子设备1的远场通信服务模块102调用relaySDK启动relay服务。
I,远场通信服务模块102向relaySDK发送加入relay数据通道的请求。
J,relaySDK向远场通信服务模块102返回加入relay数据通道成功的消息。
K,电子设备2的远场通信服务模块202调用relaySDK启动relay服务。
L,远场通信服务模块202向relaySDK发送加入relay数据通道的请求。
M,relaySDK向远场通信服务模块202返回加入relay数据通道成功的消息。
N,电子设备1的远场通信服务模块102与电子设备2的远场通信服务模块202相互通知已加入relay数据通道成功的消息。
其中,H-N每个步骤的实现过程可以参见上述S14-S21的描述,在此不再赘述,也不在图中示出。可以理解,上述建立辅助链路的过程也可以由电子设备2主动发起,其实现过程类似,不再赘述。
经过上述过程,电子设备1和电子设备2都加入了同一个relay数据通道,即电子设备1与电子设备2之间成功建立了辅助链路,则电子设备1和电子设备2之间便可以根据上述第四阶段发送通话数据包,例如在检测到主链路通话质量继续降低的情况下,电子设备1和电子设备2之间可以采用辅助链路发送通话数据包,具体可以包括:
S22,电子设备1的远场通信服务模块102通知通话辅助模块101relay数据通道建立成功。
S23,电子设备2的远场通信服务模块202通知通话辅助模块201relay数据通道建立成功。
其中,在辅助链路之后,电子设备的远场通信服务模块可以向通话辅助模块发送辅助链路建立成功的消息,以指示通话辅助模块发送通话数据包。以下以电子设备1向电子设备2发送通话数据包的过程为例进行描述,当然通话过程中电子设备2也可以向电子设备1发送通话数据包,其实现原理类似,后续不再赘述。
S24,电子设备1的通话辅助模块101向远场通信服务模块102发送通话数据包。
S25,远场通信服务模块102向relaySDK发送通话数据包。
可选地,通话辅助模块101可以通过sendAudio()接口向远场通信服务模块102发送通话数据包,且还可以携带电子设备2的通信ID及业务ID等参数;远场通信服务模块102也可以通过sendAudio()接口向relaySDK发送通话数据包。
S26,电子设备1的relaySDK通过relay数据通道向电子设备2的relaySDK发送通话数据包。
可选地,电子设备2的relaySDK可以通过onAudioData()接口接收到电子设备1发送的通话数据包。
S27,电子设备2的relaySDK向远场通信服务模块202发送通话数据包。
S28,远场通信服务模块202向通话辅助模块201发送通话数据包。
可选地,远场通信服务模块202可以通过onAudioReceived()向通话辅助模块201发送通话数据包。
S29,通话辅助模块201对主链路和辅助链路的通话数据包进行去重及合并处理。
可以理解,在上述图1所示的场景下,电子设备2的通话辅助模块201可以对主链路和辅助链路的通话数据包进行去重及合并处理。若电子设备2是处于图2所示的场景中的电子设备3,则电子设备2仅能接收到辅助链路的通话数据包,即不必再进行去重及合并处理。
在电子设备1和电子设备2之间启用辅助链路之后,参见上述第五阶段的内容,若主链路的通话质量变优(例如增加到5格信号)并且稳定一段时间(例如20秒),或者在通话结束时,可以释放该辅助链路,以下以电子设备1主动请求释放辅助链路的过程为例进行描述,当然也可以由电子设备2主动请求释放辅助链路,具体的释放过程可以如下:
S30,电子设备1的通话辅助模块101向远场通信服务模块102发送请求释放relay数据通道的消息。
S31,远场通信服务模块102调用relaySDK离开relay数据通道。
可选地,relaySDK包括的API还可以结束relay服务并离开relay数据通道。可选地,远场通信服务模块102可以通过LeaveChannel()接口向relaySDK发送离开relay数据通道的请求。
S32,远场通信服务模块102通过连接服务器401向电子设备2的远场通信服务模块202发送离开relay数据通道的消息。
可选地,远场通信服务模块102可以通过LeaveChannelRequest()接口向远场通信服务模块202发送离开relay数据通道的消息,还消息可以携带channelID。
S33,电子设备2的远场通信服务模块202调用relaySDK离开relay数据通道。
该过程可以参见上述S31的描述,在此不再赘述。
S34,relaySDK分别向远场通信服务模块102、远场通信服务模块202发送对端离开relay数据通道的消息。
可选地,relaySDK可以通过OnUserOffline()接口向远场通信服务模块102、远场通信服务模块202发送对端离开relay数据通道的消息。
S35,电子设备2的远场通信服务模块202向通话辅助模块201通知relay数据通道已断开。
S36,远场通信服务模块202通过连接服务器401向电子设备1的远场通信服务模块102发送离开relay数据通道成功的消息。
可选地,远场通信服务模块202可以将离开relay数据通道的结果(例如离开成功或离开不成功)的消息发送远场通信服务模块102,并且还可以携带relay数据通道的channelID。可选地,远场通信服务模块202可以通过LeaveChannelResponse()接口向远场通信服务模块102发送上述信息。
S37,电子设备1的远场通信服务模块102调用relaySDK结束relay服务。
S38,电子设备2的远场通信服务模块202调用relaySDK结束relay服务。
经过上述过程,电子设备1与电子设备2之间的辅助链路即释放成功。
上述实施例中,电子设备之间通过建立辅助链路以提升通话质量,并且在存在多个relay供应商的情况下,可以协商一个可用的relay供应商,提高建立辅助链路的成功率。另外,通过云侧的relay配置服务器配置各relay供应商的信息,可以灵活的修改电子设备交互时使用的relay供应商,减少电子设备侧升级版本的概率。
基于上述图9所示的实施例流程,针对本申请实施例提供的辅助通话的方法,下面再以一个实施例对其进行介绍,该方法可以应用于上述图8所示的系统架构,如图10所示,该方法可以包括:
S101,电子设备1与电子设备2之间建立第一数据通道。
其中,该第一数据通道可以为上述控制通道,用于电子设备1与电子设备2之间发送控制消息。
可选地,电子设备1在与电子设备2建立第一数据通道之前,还可以先启动relay服务,并判断和电子设备2之间是否已有relay数据通道,若有则可以直接使用该relay数据通道发送通话数据包,若没有则执行下面建立relay数据通道的过程。
S102,电子设备1通过第一数据通道向电子设备2发送第一relay供应商信息,该第一relay供应商信息为电子设备1从relay配置服务器获取的本设备可用的供应商信息。
其中,电子设备1可以与relay配置服务器连接,并可以从relay配置服务器查询本设备可用的relay供应商信息(即第一relay供应商信息),进而将第一relay供应商信息发送给电子设备2,以供电子设备2选择出两个设备都支持的relay供应商。
S103,电子设备2根据第一relay供应商信息和第二relay供应商信息,确定并向电子设备1发送目标relay供应商。
上述第二relay供应商信息为电子设备2从relay配置服务器获取的本设备可用的供应商信息。其中,电子设备2也可以与relay配置服务器连接,并在接收到电子设备1发送的第一relay供应商信息后,从relay配置服务器查询本设备可用的relay供应商信息(即第二relay供应商信息),进而对第一relay供应商信息和第二relay供应商信息进行比对,确定电子设备1和电子设备2都可用的relay供应商,即目标relay供应商。
可选地,电子设备2也可以与电子设备1同时从relay配置服务器查询本设备可用的relay供应商信息,即本申请实施例对电子设备1和电子设备2查询relay供应商信息的时机与顺序不做限制。
S104,电子设备1根据目标relay供应商的信息加入relay数据通道。
S105,电子设备2根据目标relay供应商的信息加入relay数据通道。
其中,目标relay供应商的信息中可以包括对应的音频通道标识(channelID或名称),则电子设备1和电子设备2便可以根据音频通道标识加入对应的relay数据通道,也即成功建立了辅助链路。
可选地,电子设备1可以先根据目标relay供应商的信息加入relay数据通道,待加入成功后,将成功消息发送至电子设备2,电子设备2再根据该成功消息以及目标relay供应商的信息加入relay数据通道。
可选地,电子设备2可以与电子设备1同时根据目标relay供应商的信息加入relay数据通道。
上述实施例中,电子设备之间通过建立辅助链路以提升通话质量,并且在存在多个relay供应商的情况下,可以协商一个可用的relay供应商,提高建立辅助链路的成功率。
在经过图10所示实施例的过程之后,若电子设备1或电子设备2检测到通话过程中的主链路通话质量持续降低,则可以采用辅助链路发送通话数据包,以电子设备1向电子设备2发送通话数据包为例,如图11所示,上述辅助通话的方法还可以包括:
S106,电子设备1通过relay数据通道向电子设备2发送通话数据包。
S107,电子设备2对主链路和辅助链路的通话数据包进行去重及合并处理。
可选地,电子设备1向电子设备2发送的通话数据包可以为加密后的数据包,以提高数据安全性;另外,为减少传输数据的数据量,电子设备1向电子设备2发送的通话数据包还可以为压缩后的数据包。电子设备2分别接收到主链路和辅助链路的通话数据包后,可以对数据相同的数据部分进行去除,对主链路缺失的数据部分进行补充等处理。
然后,若主链路的通话质量变优(例如增加到5格信号)并且稳定一段时间(例如20秒),或者在通话结束时,则电子设备1和电子设备2可以释放上述辅助链路,继续参见图11,上述辅助通话的方法还可以包括:
S108,电子设备1断开上述relay数据通道。
S109,电子设备2断开上述relay数据通道。
可选地,在电子设备1与电子设备2断开上述relay数据通道之后,还可以结束relay服务,由此辅助链路即释放成功。
上述实施例中,电子设备之间在主链路通话质量不好的情况下,可以建立辅助链路,通过对主链路和辅助链路的通话数据包进行去重及合并处理,得到较为完整的通话数据包,由此可提高电子设备之间的通话质量。
上文详细介绍了本申请实施例提供的辅助通话的方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述辅助通话的方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图3所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的辅助通话的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的辅助通话的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的辅助通话的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种辅助通话的方法,其特征在于,所述方法由第一电子设备执行,包括:
获取目标信息,所述目标信息包括所述第一电子设备和第二电子设备均可用的目标通信服务供应商的信息,其中,所述第二电子设备为与所述第一电子设备已建立第一数据通道的电子设备;
基于所述目标信息,与所述第二电子设备建立第二数据通道,所述第二数据通道为所述目标通信服务供应商提供的数据通道,所述第二数据通道用于在所述第一电子设备与所述第二电子设备进行通话时传输通话数据包。
2.根据权利要求1所述的方法,其特征在于,所述获取目标信息,包括:
通过所述第一数据通道,接收来自所述第二电子设备的第一信息,所述第一信息包括所述第二电子设备可用的通信服务供应商的信息;
根据所述第一信息和第二信息,确定所述目标信息,所述第二信息包括所述第一电子设备可用的通信服务供应商的信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一信息和第二信息,确定所述目标信息,包括:
对所述第一信息中的供应商标识与所述第二信息中的供应商标识进行匹配,将标识相同的通信服务供应商的信息确定为所述目标信息。
4.根据权利要求3所述的方法,其特征在于,在标识相同的通信服务供应商的个数为多个的情况下,所述将标识相同的通信服务供应商的信息确定为所述目标信息,包括:
将标识相同且优先级最高的通信服务供应商的信息确定为所述目标信息。
5.根据权利要求2至4中任一项所述的方法,其特征在于,在所述接收来自所述第二电子设备的所述第一信息之后,所述方法还包括:
从第一服务器获取所述第二信息,所述第一服务器存储有多个通信服务供应商的信息。
6.根据权利要求2至5中任一项所述的方法,其特征在于,在所述确定所述目标信息之后,所述方法还包括:
基于所述第一数据通道,向所述第二电子设备发送所述目标信息。
7.根据权利要求1所述的方法,其特征在于,所述获取目标信息,包括:
通过所述第一数据通道,向所述第二电子设备发送第二信息;
通过所述第一数据通道,接收来自所述第二电子设备的根据第一信息和所述第二信息确定的目标信息。
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述获取目标信息之前,所述方法还包括:
基于第二服务器,建立所述第一电子设备与所述第二电子设备之间的所述第一数据通道。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述基于所述目标信息,与所述第二电子设备建立第二数据通道,包括:
基于所述目标信息中的通道标识,连接所述通道标识对应的第二数据通道;
通过所述第一数据通道,向所述第二电子设备发送第一消息,所述第一消息用于指示所述第二电子设备连接所述通道标识对应的第二数据通道;
通过所述第一数据通道,接收来自所述第二电子设备的第二消息,所述第二消息表征所述第二电子设备已连接所述通道标识对应的第二数据通道。
10.根据权利要求1至9中任一项所述的方法,其特征在于,在所述与所述第二电子设备建立第二数据通道之后,所述方法还包括:
基于所述第二数据通道,接收来自所述第二电子设备的第一通话数据包;
对所述第一通话数据包和第二通话数据包进行去重及合并处理,所述第二通话数据包为所述第一电子设备与所述第二电子设备进行通话的过程中,基于核心网设备的通话链路所传输的通话数据包。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第二数据通道,接收来自所述第二电子设备的第一通话数据包,包括:
在所述基于核心网设备的通话链路的通话质量不满足预设通话质量的情况下,基于所述第二数据通道,接收来自所述第二电子设备的第一通话数据包。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
在预设条件满足的情况下,断开与所述第二电子设备之间的所述第二数据通道,所述预设条件包括所述第一电子设备与所述第二电子设备之间通话结束,和/或,所述基于核心网设备的通话链路的通话质量满足预设通话质量。
13.根据权利要求12所述的方法,其特征在于,所述断开与所述第二电子设备之间的所述第二数据通道,包括:
断开所述第二数据通道;
通过所述第一数据通道,向所述第二电子设备发送第三消息,所述第三消息用于指示所述第二电子设备断开所述第二数据通道;
通过所述第一数据通道,接收来自所述第二电子设备的第四消息,所述第四消息表征所述第二电子设备已断开所述第二数据通道。
14.根据权利要求1至13中任一项所述的方法,其特征在于,所述目标通信服务供应商为relay供应商,所述第二数据通道为relay数据通道。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至14中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366278.1A CN116709582B (zh) | 2022-10-31 | 2022-10-31 | 辅助通话的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211366278.1A CN116709582B (zh) | 2022-10-31 | 2022-10-31 | 辅助通话的方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116709582A true CN116709582A (zh) | 2023-09-05 |
CN116709582B CN116709582B (zh) | 2024-04-12 |
Family
ID=87829943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211366278.1A Active CN116709582B (zh) | 2022-10-31 | 2022-10-31 | 辅助通话的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116709582B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
WO2021030965A1 (zh) * | 2019-08-16 | 2021-02-25 | Oppo广东移动通信有限公司 | 一种中继选择方法及装置、终端设备 |
CN114339674A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 目标业务执行方法和电子设备 |
CN114338913A (zh) * | 2020-09-29 | 2022-04-12 | 荣耀终端有限公司 | 故障诊断方法和电子设备 |
-
2022
- 2022-10-31 CN CN202211366278.1A patent/CN116709582B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021030965A1 (zh) * | 2019-08-16 | 2021-02-25 | Oppo广东移动通信有限公司 | 一种中继选择方法及装置、终端设备 |
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
CN114338913A (zh) * | 2020-09-29 | 2022-04-12 | 荣耀终端有限公司 | 故障诊断方法和电子设备 |
CN114339674A (zh) * | 2020-09-30 | 2022-04-12 | 华为技术有限公司 | 目标业务执行方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116709582B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021051989A1 (zh) | 一种视频通话的方法及电子设备 | |
EP4319169A1 (en) | Screen projection method for electronic device, and electronic device | |
US20220256626A1 (en) | Device Control Method and Terminal | |
US20220159453A1 (en) | Method for Using Remote SIM Module and Electronic Device | |
CN113014483B (zh) | 一种多路径传输的方法及设备 | |
EP4192057A1 (en) | Bluetooth communication method, wearable device, and system | |
CN113038627B (zh) | 一种文件分享方法、移动设备、计算机存储介质 | |
US11665274B2 (en) | Call method and apparatus | |
US11895215B2 (en) | Application server access method and terminal | |
EP4199562A1 (en) | Method for transmitting data and electronic device | |
CN117014859A (zh) | 基于通讯录的设备发现方法、音视频通信方法及电子设备 | |
CN113676902B (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN113746945B (zh) | 反向地址解析方法及电子设备 | |
CN114928898B (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN114928900B (zh) | 通过WiFi直接连接进行传输的方法和装置 | |
CN116709582B (zh) | 辅助通话的方法和电子设备 | |
CN114979261B (zh) | 业务交互方法、终端、服务器及系统 | |
CN113868635B (zh) | 应用数据的传输方法、终端及系统 | |
CN116367123A (zh) | 基于Wi-Fi P2P的数据传输方法及电子设备 | |
CN114173317B (zh) | 传输数据的方法和电子设备 | |
CN117715001B (zh) | 一种ims短信处理方法、电子设备及存储介质 | |
WO2023051204A1 (zh) | 跨设备连接方法、电子设备及存储介质 | |
WO2023165513A1 (zh) | 通信方法、电子设备及装置 | |
CN116938950A (zh) | 一种数据传输的方法、电子设备和存储介质 | |
CN117014377A (zh) | 拥塞控制协商方法、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |