A method for improving voice call quality
By detecting network abnormalities in uplink and downlink in electronic devices, determining network problems and adopting corresponding strategies, the problem of poor voice call quality caused by the inability to judge network problems in the prior art is solved, and the user experience and call quality are improved.
Patent Information
- Application Number
- CN202110218667.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-26
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2041-02-26
AI Technical Summary
The prior art cannot effectively judge the poor quality of voice calls caused by network problems, resulting in a decline in user experience.
By implementing all-round detection measures in electronic devices, we can judge network abnormalities in the uplink and downlink, determine whether it is a network problem that causes poor call quality, and adopt corresponding strategies, such as switching networks or renegotiating media parameters, to improve call quality.
Effectively judge and solve the poor call quality caused by network problems, improve user experience and ensure the quality of voice calls.
Smart Images

Figure CN114980152B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method for improving voice call quality. Background Art
[0002] Voice over long-term evolution (VoLTE) is a high-speed wireless communication standard for mobile phones and data terminals. Based on the IP multimedia subsystem (IMS), it uses specialized configuration files for the control plane, SIP signaling, and media plane for voice services, along with UDP / IP protocols, over LTE. This allows voice services (control and media planes) to be transmitted as data streams over the LTE data bearer network, eliminating the need to maintain and rely on traditional circuit-switched voice networks. VoNR (voice over new radio) and VoWiFi have similar processing and implementation mechanisms to VoLTE, with all data interactions occurring over the NR data bearer network and the WiFi data bearer network, respectively.
[0003] When two electronic devices establish a voice call through a VoLTE network, a VoNR network, or a VoWiFi network, and the call quality of one electronic device is poor, on the one hand, the electronic device improves the call quality by reducing the transmission rate of the voice packet on the local end or requesting the other device to reduce the transmission rate of the voice packet. On the other hand, the electronic device analyzes whether the media parameter format of the received voice packet is consistent with the preset media parameter format. If not, it is determined that the poor voice call quality is caused by an error in the media parameter format of the voice packet. The electronic device will improve the call quality by renegotiating the media parameters with the other electronic device.
[0004] However, none of the above methods can determine whether the poor call quality is caused by network problems. Summary of the Invention
[0005] This application provides a method for improving voice call quality, which enables electronic devices to take comprehensive detection measures to detect problems that cause poor call quality and take corresponding strategies to solve call quality problems, thereby improving user experience.
[0006] In the first aspect, the present application provides a method for improving voice call quality, including a first electronic device, a first network device, and a second electronic device, wherein the first network device provides a first network for a first service area, and the method includes: the first electronic device establishes an IMS voice call with the second electronic device through the first network, the first electronic device sends a voice packet to the second electronic device through a first uplink, and the first electronic device receives the voice packet sent by the second electronic device through a first downlink; the first electronic device determines that the network of the first uplink is abnormal or the first electronic device determines that the network of the first downlink is abnormal, then the first electronic device determines that the first network abnormality causes the poor call quality between the first electronic device and the second electronic device. This method can determine that the poor call quality is caused by network problems, and take corresponding measures to improve the call quality, thereby enhancing the user experience.
[0007] In combination with the first aspect, in a possible implementation, when the first network is a VoNR network or a VoLTE network, the first electronic device determines that the network of the first uplink is abnormal, specifically including: the first electronic device determines the number of voice packets sent and the number of discarded voice packets sent by the first electronic device through the first uplink within a second time threshold; the first electronic device calculates the ratio of the number of discarded voice packets to the number of sent voice packets; if the ratio of the number of discarded voice packets to the number of sent voice packets is greater than a second preset value, the first electronic device determines that the network of the first uplink is abnormal.
[0008] In combination with the first aspect, in a possible implementation, when the first network is the VoWiFi network, the first electronic device determines that the network of the first uplink is abnormal, specifically including: the first electronic device establishes a second uplink with the first network device; the first electronic device sends a connection establishment request to the first network device, if the first electronic device does not receive a first response message from the first network device within a third time threshold, the first electronic device determines that the network of the first uplink is abnormal; if the first electronic device receives the first response message within the third time threshold, the first electronic device determines the number of voice packets sent by the first network device received within a fourth time threshold; the first electronic device calculates the ratio of the number of voice packets sent by the first network device received within the fourth time threshold to the preset number of voice packets, if the ratio is less than the third preset value, the first electronic device determines that the network of the first uplink is abnormal.
[0009] In combination with the first aspect, in a possible implementation, the first electronic device determines that the network of the first downlink is abnormal, specifically including: the first electronic device establishes a second downlink with the first network device; the first electronic device sends a connection establishment request to the first network device, if the first electronic device does not receive the second response message of the first network device within the fifth time threshold, the first electronic device determines that the network of the first downlink is abnormal; if the first electronic device receives the second response message within the fifth time threshold, the first electronic device determines the number of voice packets sent by the first network device received within the sixth time threshold; the first electronic device calculates the ratio of the number of voice packets sent by the first network device received within the sixth time threshold to the preset number of voice packets, if the ratio is less than the fourth preset value, the first electronic device determines that the network of the first downlink is abnormal.
[0010] In combination with the first aspect, in a possible implementation, when the first network is a VoNR network or a VoLTE network, after the first electronic device determines that the network of the first uplink is abnormal or the network of the first downlink is abnormal, the method further includes: the first electronic device switches the first network of the first service area to the second network of the first service area through the first network device, or the first electronic device switches the first network of the first service area to the first network of the second service area through the first network device, or the first electronic device switches the first network of the first service area to the first network of the second service area through the first network device, or the first electronic device switches the first network of the first service area to a third network; wherein, the first network, the second network and the third network are different.
[0011] In combination with the first aspect, in a possible implementation, when the first network is the VoNR network, the second network is the VoLTE network, and the third network is a VoWiFi network;
[0012] When the first network is the VoLTE network, the second network is the VoNR network, and the third network is the VoWiFi network.
[0013] In combination with the first aspect, in a possible implementation, when the first network is the VoWiFi network, after the first electronic device determines that the network of the first uplink is abnormal or the network of the first downlink is abnormal, the method further includes: the first electronic device switches the first network of the first service area to the second network of the first service area, and the second network is a VoNR network or a VoLTE network.
[0014] In combination with the first aspect, in a possible implementation, after the first electronic device determines that the network of the first uplink is normal and the first electronic device determines that the network of the first downlink is normal, the method further includes: the first electronic device determines whether the media parameter format of the first voice packet received through the first downlink is consistent with the preset media parameter format; if the media parameter format of the first voice packet is inconsistent with the preset media parameter format, the first electronic device and the second electronic device use the renegotiated media parameter format to conduct a call.
[0015] In combination with the first aspect, in a possible implementation, after the first electronic device determines that the media parameter format of the received first voice packet is consistent with the preset media parameter format, the method further includes: the first electronic device reduces the transmission rate of the first uplink voice packet, or the first electronic device sends a request information to the second electronic device, and the request information is used to request the second electronic device to reduce the transmission rate of the first downlink voice packet.
[0016] In combination with the first aspect, in a possible implementation manner, the media parameter format after the re-negotiation is consistent with the preset media parameter format, or the media parameter format after the re-negotiation is inconsistent with the preset media parameter format.
[0017] With reference to the first aspect, in a possible implementation, the media parameters may include any one or more of the following: a coding type of a voice packet, a coding rate of a voice packet, and a media channel parameter.
[0018] In a second aspect, the present application provides an electronic device, characterized in that it includes one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute a method for improving voice call quality provided in any possible implementation of the first aspect.
[0019] In a third aspect, the present application provides a computer storage medium comprising instructions, characterized in that when the instructions are executed on a computer, the computer is caused to execute a method for improving voice call quality provided in any possible implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 A schematic diagram of the architecture of a communication system 10 provided in an embodiment of the present application;
[0021] Figure 2 A schematic structural diagram of an electronic device 100 provided in an embodiment of the present application;
[0022] Figure 3 A software structure block diagram of an electronic device 100 provided in an embodiment of the present application;
[0023] Figure 4 A schematic diagram of the structure of a network device 300 provided in an embodiment of the present application;
[0024] Figure 5 A flowchart of a method for an electronic device 100 to determine whether an uplink network is abnormal is provided in an embodiment of the present application;
[0025] Figure 6 A flowchart of a method for an electronic device 100 to determine whether a downlink network is abnormal is provided in an embodiment of the present application;
[0026] Figure 7 A flowchart of a method for determining whether an uplink network is abnormal by another electronic device 100 provided in an embodiment of the present application;
[0027] Figure 8 A flowchart of a method for determining whether a downlink network is abnormal by another electronic device 100 provided in an embodiment of the present application;
[0028] Figure 9 A flowchart of a method for an electronic device 100 to determine whether an uplink network is abnormal is provided in an embodiment of the present application;
[0029] Figure 10 A flowchart of a method for an electronic device 100 to determine whether a downlink network is abnormal is provided in an embodiment of the present application;
[0030] Figure 11 A flow chart of a method for improving voice call quality provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] The following is a clear and detailed description of the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship between related objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, "multiple" means two or more than two.
[0032] In the following, the terms "first" and "second" are used for descriptive purposes only and should not be understood to imply or suggest relative importance or implicitly indicate the number of the technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of this application, unless otherwise specified, "plurality" means two or more.
[0033] In order to facilitate the understanding of this application, the corresponding Chinese explanations of the English abbreviations involved in the following embodiments of this application are first introduced.
[0034]
[0035]
[0036] like Figure 1 As shown, Figure 1 A schematic diagram of the architecture of a communication system 10 provided in an embodiment of the present application is shown.
[0037] like Figure 1 As shown, there are three access network devices near the electronic device 100, namely a 5G base station 301, a 4G base station 304 and a WIFI access network device 307.
[0038] Among them, the 5G base station 301 is the next generation NodeB (gNB) in the 5G network. The electronic device 100 can be connected to the 5G base station 301 and communicate with the 5G base station 301 using the new radio (NR) access technology. In other words, the electronic device 100 and the 5G base station 301 communicate via the NR link. Figure 1 As shown, a 5G base station 301 is connected to a 5G core network (5GC) 302, and the 5G base station 301 and the 5GC 302 constitute a 5G system (5GS). The 5GS is connected to an IMS 303.
[0039] 5GC 302 is used to exchange, forward, connect, and route data. The network elements in 5GC 302 are functional virtual units, which may include but are not limited to: a unit for access and mobility management function (AMF), a unit for session management function (SMF), a network element for unified data management (UDM), etc.
[0040] IMS 303 manages IP voice packets, which contain multimedia data such as voice and video. It distinguishes the signaling portion from the multimedia data portion of these IP voice packets and transmits the multimedia data portion of the IP voice packets between the electronic device 100 and the called party, thereby providing audio and video services for the electronic device 100. IMS 303 primarily includes a call session control function (CSCF) and a home subscriber server (HSS). The CSCF controls signaling and authentication during multimedia call sessions, and coordinates with other network entities to control the session. The HSS manages user data.
[0041] It is understandable that since the 5GS is connected to the IMS 303, the 5GS can package the multimedia data during the call and communication between the electronic device 100 and the called party into IP voice packets, and transmit them to the other terminal through the IMS 303. In other words, the 5GS can provide IMS-based audio and video services on circuit switching (PS) sessions, that is, the 5GS supports VoNR. VoNR means that the control plane signaling (IMSsignalling) and user plane data (IMS traffic) involved in a call between two or more electronic devices are packaged into IP voice packets, and these IP voice packets are transmitted between electronic devices through the 5GS and IMS 303. IP voice packets are transmitted at the network layer.
[0042] The 4G base station 304 is an evolved Node B (eNB) in the 4G / LTE network. The electronic device 100 can connect to the 4G base station 304 and communicate with the 4G base station 304 using orthogonal frequency division multiplexing (OFDM) air interface technology. In other words, the electronic device 100 and the 4G base station 304 communicate via an LTE link. Figure 1 As shown, a 4G base station 304 is connected to a 4G core network (evolved packet core, EPC) 305 , and the 4G base station 304 and EPC 305 constitute a 4G system (4G evolved packet system, EPS). The EPS is connected to an IMS 306 .
[0043] The EPC305 mainly includes the following network elements: mobility management entity (MME), serving gateway (SGW), packet data network gateway (PGW), home subscriber server (HSS) and application server. The main functions of MME include access control, mobility management, attachment and detachment, session management (such as bearer establishment, modification and release), etc. The SGW is mainly used for routing and forwarding voice packets. The main functions of PGW include user-based packet filtering, lawful interception function, IP address allocation function, etc. The HSS is used to store user subscription information, user subscription data and mobile user location information.
[0044] The structure and function of IMS 306 are similar to those of IMS 303, and reference may be made to the relevant description of IMS 303. IMS 306 and IMS 303 may be the same IMS or different IMSs, which is not limited in this embodiment of the present application.
[0045] As can be understood, since the EPS is connected to the IMS 306, the EPS can package the multimedia data during the call initiated by the electronic device 100 to the called party and the communication process into IP voice packets, and transmit them to the called party via the IMS 306. In other words, the EPS can provide IMS-based audio and video services on the PS session, that is, the EPS 306 supports VoLTE. VoLTE means that the control plane signaling and user plane data involved in the call between two or more electronic devices are packaged into IP voice packets, and these IP voice packets are transmitted between the electronic devices via the EPS and the IMS 306.
[0046] The electronic device 100 can be connected to the WiFi access network device 307 and communicate with the WiFi access network device 307 via a WiFi link. Figure 1 As shown, the WiFi access network device 307 is connected to the WiFi core network 308 , and the WiFi access network device 307 and the WiFi core network 308 constitute a WiFi system. The WiFi system is connected to the IMS 309 .
[0047] The structure and function of IMS 309 are similar to those of IMS 303. For details about IMS 303, please refer to the description of IMS 303. IMS 309 and IMS 303 may be the same IMS or different IMSs, which is not limited in this embodiment of the present application.
[0048] refer to Figure 1, the communication system 10 may further include an electronic device 200 and a network 20. The electronic device 200 is connected to the network 20. The network 20 is connected to the IMS 303, the IMS 306, and the IMS 309. The network 20 may include but is not limited to a WiFi network, an LTE network, a 5G SA network, an IMS, or a public switched telephone network (PSTN), etc., and the present embodiment of the application is not limited to this. The signaling and data received or sent by the electronic device 200 are all transmitted through the network 20. For the sake of simplicity, the following embodiments will not elaborate on the process of transmitting signaling and data by the network 20.
[0049] It is understood that the 5G base station 301 can operate with different transmit and receive capabilities, thereby creating service areas of different sizes. Figure 1 As shown, service area 1 is the service area created by 5G base station 301.
[0050] It will be appreciated that the 4G base stations 304 can operate with different transmit and receive capabilities, thereby creating service areas of different sizes. Figure 1 As shown, service area 2 is the service area created by 4G base station 304.
[0051] It is understood that the WiFi access network device 307 can operate with different transmission and reception capabilities, thereby creating service areas of different sizes. Figure 1 As shown, service area 2 is also a service area created by the WiFi access network device 307 .
[0052] have Figure 1 It can be seen that the electronic device 100 is in the service area 1 and the service area 2 at the same time.
[0053] The following embodiments will take the electronic device 100 initiating a call to the electronic device 200 as an example to describe the IMS call method provided in the embodiments of the present application.
[0054] In one embodiment of the present application, after the call initiated by the electronic device 100 to the electronic device 200 using the VoNR network fails, the electronic device 100 can use the VoLTE network to initiate a call to the electronic device 200 again. After the call initiated by the electronic device 100 to the electronic device 200 using the VoLTE network fails, the electronic device 100 can use the VoWiFi network to initiate a call to the electronic device 200 again.
[0055] VoNR means that the call data is carried by 5GS during the call. When electronic device 100 calls electronic device 200 through the VoNR network, it means that electronic device 100 requests that the control plane signaling (IMS signaling) and user plane data (IMS traffic) involved in the call between electronic device 100 and electronic device 200 be packaged into IP voice packets and transmitted through 5GS and IMS 303. In this case, the service data and voice data involved in the electronic device 100 are all transmitted in the form of IP voice packets.
[0056] VoLTE means that the EPS network carries call data during a call. When electronic device 100 calls electronic device 200 over the VoLTE network, electronic device 100 requests that the control plane signaling (IMS signaling) and user plane data (IMS traffic) involved in the call between electronic devices 100 and 200 be packaged into IP voice packets and transmitted through EPS and IMS 306. In this case, both the service data and voice data involved in the call between electronic device 100 and electronic device 200 are transmitted in the form of IP voice packets.
[0057] VoWiFi means that the WiFi system carries the call data during a call. When electronic device 100 calls electronic device 200 over the WiFi network, electronic device 100 requests that the control plane signaling (IMS signaling) and user plane data (IMS traffic) involved in the call between electronic devices 100 and 200 be packaged into IP voice packets and transmitted through the WiFi system and IMS 309. In this case, both the service data and voice data involved in the call between electronic device 100 and electronic device 200 are transmitted in the form of IP voice packets.
[0058] Figure 2 A schematic structural diagram of the electronic device 100 is shown.
[0059] The following embodiment is specifically described using electronic device 100 as an example. The device types of electronic device 100 may include mobile phones, televisions, tablet computers, speakers, watches, desktop computers, laptop computers, handheld computers, notebook computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices, etc. The embodiments of the present application do not impose any special restrictions on the device type of electronic device 100.
[0060] It should be understood that Figure 2 The electronic device 100 shown is only one example, and the electronic device 100 may have more Figure 2 The more or less components shown in the figure can be combined with two or more components, or can have different component configurations. The various components shown in the figure can be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
[0061] The electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0062] It should be understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0063] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.
[0064] The controller may be the nerve center and command center of the electronic device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0065] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0066] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface.
[0067] The I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C bus lines. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, and the like via different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K via the I2C interface, enabling communication between the processor 110 and the touch sensor 180K via the I2C bus interface, thereby implementing the touch function of the electronic device 100.
[0068] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface, enabling the function of answering calls through a Bluetooth headset.
[0069] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0070] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface, enabling the function of playing music through Bluetooth headphones.
[0071] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display 194 and the camera 193. MIPI interfaces include the camera serial interface (CSI) and the display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the camera function of the electronic device 100. The processor 110 and the display 194 communicate via the DSI interface to implement the display function of the electronic device 100.
[0072] The GPIO interface can be configured via software. The GPIO interface can be configured as either a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to the camera 193, display 194, wireless communication module 160, audio module 170, sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0073] The USB interface 130 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. The USB interface 130 can be used to connect a charger to charge the electronic device 100, or to transfer data between the electronic device 100 and peripheral devices. It can also be used to connect headphones to play audio. This interface can also be used to connect other electronic devices, such as augmented reality devices.
[0074] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present invention is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 100. In other embodiments of the present application, the electronic device 100 may also adopt different interface connection methods from the above embodiments, or a combination of multiple interface connection methods.
[0075] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also provide power to the electronic device via the power management module 141.
[0076] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.
[0077] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0078] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0079] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0080] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0081] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (WiFi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0082] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0083] Electronic device 100 implements display functionality through a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.
[0084] Display screen 194 is used to display images, videos, and the like. Display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a MiniLED, a MicroLED, a Micro-oLed, or a quantum dot light-emitting diode (QLED). In some embodiments, electronic device 100 may include one or N display screens 194, where N is a positive integer greater than one.
[0085] The electronic device 100 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.
[0086] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.
[0087] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then passes the electrical signal to the ISP for conversion into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0088] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0089] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. This allows electronic device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.
[0090] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in electronic device 100, such as image recognition, face recognition, speech recognition, and text comprehension.
[0091] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.
[0092] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the electronic device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0093] The electronic device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0094] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.
[0095] The speaker 170A, also called a "speaker", is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or listen to hands-free calls through the speaker 170A.
[0096] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the electronic device 100 receives a call or a voice message, the user can place the receiver 170B close to the ear to hear the voice.
[0097] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The electronic device 100 can be provided with at least one microphone 170C. In other embodiments, the electronic device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 100 can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify the source of sound, realize directional recording function, etc.
[0098] The headphone jack 170D is used to connect a wired headphone and can be the USB interface 130 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0099] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be located on display screen 194. There are many types of pressure sensors 180A, such as resistive, inductive, and capacitive. A capacitive pressure sensor can include at least two parallel plates made of conductive material. When force acts on pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the intensity of the pressure based on this change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the touch intensity based on pressure sensor 180A. Electronic device 100 can also calculate the touch location based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch location but with different touch intensities can correspond to different operation instructions. For example, when a touch operation with an intensity less than a first pressure threshold is applied to a short message application icon, a command to view short messages is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to a short message application icon, a command to create a new short message is executed.
[0100] The gyroscope sensor 180B can be used to determine the motion posture of the electronic device 100. In some embodiments, the angular velocity of the electronic device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the electronic device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.
[0101] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates the altitude using the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.
[0102] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip case. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover based on the magnetic sensor 180D. Based on the detected opening and closing status of the case or flip cover, features such as automatic unlocking of the flip cover can be configured.
[0103] Accelerometer 180E can detect the magnitude of acceleration of electronic device 100 in all directions (generally three axes). It can also detect the magnitude and direction of gravity when electronic device 100 is stationary. It can also be used to identify the electronic device's posture, enabling applications such as switching between landscape and portrait modes and pedometers.
[0104] The distance sensor 180F is used to measure distance. The electronic device 100 can measure distance using infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 can use the distance sensor 180F to measure distance to achieve fast focusing.
[0105] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The electronic device 100 emits infrared light outward through the light emitting diode. The electronic device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The electronic device 100 can use the proximity light sensor 180G to detect that the user is holding the electronic device 100 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.
[0106] Ambient light sensor 180L is used to sense ambient light brightness. Electronic device 100 can adaptively adjust the brightness of display screen 194 based on the perceived ambient light. Ambient light sensor 180L can also be used to automatically adjust white balance when taking photos. Ambient light sensor 180L can also work with proximity light sensor 180G to detect whether electronic device 100 is in a pocket to prevent accidental touches.
[0107] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
[0108] The temperature sensor 180J is used to detect temperature. In some embodiments, the electronic device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the electronic device 100 reduces the performance of the processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 100 heats the battery 142 to prevent the electronic device 100 from shutting down abnormally due to low temperature. In other embodiments, when the temperature is lower than another threshold, the electronic device 100 boosts the output voltage of the battery 142 to prevent abnormal shutdown due to low temperature.
[0109] The touch sensor 180K is also called a "touch panel." The touch sensor 180K can be disposed on the display screen 194. The touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen." The touch sensor 180K is used to detect touch operations applied thereto or in the vicinity thereof. The touch sensor can transmit the detected touch operations to the application processor to determine the type of touch event. Visual output related to the touch operations can be provided via the display screen 194. In other embodiments, the touch sensor 180K can also be disposed on the surface of the electronic device 100, in a location different from that of the display screen 194.
[0110] The bone conduction sensor 180M can obtain vibration signals. In some embodiments, the bone conduction sensor 180M can obtain vibration signals from the vibrating bones of the human body. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure pulse signals. In some embodiments, the bone conduction sensor 180M can also be set in headphones to form bone conduction headphones. The audio module 170 can parse out voice signals based on the vibration signals of the vibrating bones of the human body obtained by the bone conduction sensor 180M to implement voice functions. The application processor can parse heart rate information based on the blood pressure pulse signals obtained by the bone conduction sensor 180M to implement heart rate detection functions.
[0111] The buttons 190 include a power button, a volume button, and the like. The buttons 190 may be mechanical buttons or touch buttons. The electronic device 100 may receive key inputs and generate key signal inputs related to user settings and function control of the electronic device 100.
[0112] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0113] The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level changes, messages, missed calls, notifications, etc.
[0114] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the electronic device 100 by inserting it into or removing it from the SIM card interface 195. The electronic device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.
[0115] It should be noted that the hardware structure of the electronic device 200 is shown in FIG. Figure 2 The description of the hardware structure of the electronic device 100 is not repeated in this application.
[0116] The software system of the electronic device 100 can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. In the embodiment of the present invention, the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100.
[0117] Figure 3 1 is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention.
[0118] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0119] The application layer can include a series of application packages.
[0120] like Figure 3 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0121] The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0122] like Figure 3 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0123] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0124] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0125] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0126] The phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including answering, hanging up, etc.).
[0127] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0128] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include displaying text messages in the status bar, emitting alert sounds, vibrating electronic devices, or flashing indicator lights.
[0129] Android Runtime includes core libraries and a virtual machine. Android runtime is responsible for scheduling and management of the Android system.
[0130] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0131] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0132] The system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0133] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0134] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0135] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0136] A 2D graphics engine is a drawing engine for 2D drawings.
[0137] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, and sensor driver.
[0138] It should be noted that the software structure of the electronic device 200 can be found in Figure 3 The description of the software structure of the electronic device 100 in will not be repeated in this application.
[0139] like Figure 4 As shown, Figure 4 This is a schematic diagram of the structure of the network device 300 provided in the embodiment of the present application. The network device 300 can be Figure 1 The 5G base station 301, 4G base station 304, and WiFi access network equipment 307 are shown.
[0140] refer to Figure 4 , Figure 4 300 is a schematic diagram of the structure of a network device 300 provided in an embodiment of the present application. The network device 300 may include: a network device processor 301, a memory 302, a communication interface 303, a transmitter 305, a receiver 306, a coupler 307 and an antenna 308. These components may be connected via a bus 304 or other means. Figure 4 Take bus connection as an example.
[0141] The communication interface 303 can be used for the network device 300 to communicate with other communication devices, such as terminal devices or other network devices. Specifically, the communication interface 303 can be a 5G or other communication interface. Besides being limited to wireless communication interfaces, the network device 300 can also be configured with a wired communication interface 303 to support wired communication. For example, the backhaul link between a network device 300 and other network devices can be a wired communication connection.
[0142] In some embodiments of the present application, the transmitter 305 and the receiver 306 can be considered as a wireless modem. The transmitter 305 can be used to transmit and process the signal output by the network device processor 301. The receiver 306 can be used to receive the signal. In the network device 300, the number of transmitters 305 and receivers 306 can be one or more. The antenna 308 can be used to convert electromagnetic energy in the transmission line into electromagnetic waves in free space, or convert electromagnetic waves in free space into electromagnetic energy in the transmission line. The coupler 307 can be used to split the mobile communication signal into multiple paths and distribute them to multiple receivers 306. It is understood that the antenna 308 of the network device can be implemented as a large-scale antenna array.
[0143] Memory 302 is coupled to network device processor 301 and is used to store various software programs and / or multiple sets of instructions. Specifically, memory 302 may include high-speed random access memory and may also include non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
[0144] The memory 302 may store an operating system (hereinafter referred to as system), such as an embedded operating system such as uCOS, VxWorks, or RTLinux. The memory 302 may also store a network communication program that can be used to communicate with one or more additional devices, one or more electronic devices, or one or more network devices.
[0145] In the embodiments of the present application, the network device processor 301 may be configured to read and execute computer-readable instructions. Specifically, the network device processor 301 may be configured to call a program stored in the memory 302, such as a program for implementing the network identification display method provided in one or more embodiments of the present application on the network device 300 side, and execute the instructions contained in the program.
[0146] Need to explain, Figure 4 The network device 300 shown is only one implementation of the embodiment of the present application. In actual applications, the network device 300 may also include more or fewer components, which is not limited here.
[0147] The following embodiments of the present application provide a method for improving the quality of voice calls. The method includes: a first electronic device sends a voice packet to a second electronic device via an uplink, and the first electronic device receives the voice packet sent by the second electronic device via a downlink. If the ratio of the number of voice packets received by the first electronic device via the downlink within a first time threshold to the predetermined number of voice packets is less than a first preset value, the first electronic device determines that the call quality is poor. Afterwards, if the first electronic device determines that the voice packet loss rate of the uplink is greater than the second preset value or the voice packet reception rate of the downlink is less than a fourth preset value, the first electronic device determines that the poor call quality is caused by network abnormalities. In this way, the first electronic device can determine that the poor call quality is caused by network problems.
[0148] This application is not limited to the electronic device 100 and the electronic device 200 establishing a voice call with the electronic device 200 via the VoLTE network, the VoNR network, or the VoWiFi network. The electronic device 100 and the electronic device 200 using other networks to establish an ims voice call fall within the scope of protection of this application, and this application does not limit the method for the electronic device 100 and the electronic device 200 to establish an ims voice call.
[0149] Below, the embodiment of the present application is described by taking the electronic device 100 and the electronic device 200 as an example of establishing an ims voice call with the electronic device 200 through a VoLTE network, a VoNR network, or a VoWiFi network.
[0150] When the electronic device 100 establishes a voice call with the electronic device 200 through the VoLTE network, the voice call quality on the electronic device 100 side is poor (for example, silence, etc.). First, the electronic device detects whether the uplink is abnormal. If the uplink is abnormal, the electronic device 100 can connect to the VoLTE network in another service area through the 4G base station, or when there is a VoWiFi network or VoNR network in the current service area, the electronic device 100 switches the VoLTE network to the VoWiFi network or VoNR network through the 4G base station, or the electronic device 100 switches the VoLTE network to the VoWiFi network or VoNR network; if the uplink is normal, the electronic device 100 detects whether the downlink is abnormal. If the downlink is abnormal, the electronic device 100 can connect to the VoLTE network in another service area through the 4G base station, or when there is a VoWiFi network or VoNR network in the current service area, the electronic device 100 switches the VoLTE network to the VoWiFi network or VoNR network through the 4G base station, or the electronic device 100 switches the VoLTE network to the VoWiFi network or VoNR network. If the downlink is also normal, the electronic device 100 will analyze whether the voice packet received in the downlink is normal. If the electronic device 100 determines that the encoding type and / or rate of the received voice packet is inconsistent with the ones negotiated with the electronic device 200 when the connection is initially established, the electronic device 100 will negotiate the encoding type and / or rate of the voice packet with the electronic device 200 through SIP renegotiation, and encode and transmit the voice packet with the encoding type and / or rate after renegotiation.
[0151] When the electronic device 100 establishes a voice call with the electronic device 200 through the VoNR network, the voice call quality on the electronic device 100 side is poor (for example, silence). First, the electronic device detects whether the uplink is abnormal. If the uplink is abnormal, the electronic device 100 can connect to the VoNR network in another service area through the 5G base station, or when there is a VoWiFi network or VoLTE network in the current service area, the electronic device 100 switches the VoNR network to the VoWiFi network or VoLTE network through the 5G base station, or the electronic device 100 switches the VoNR network to the VoWiFi network or VoLTE network; if the uplink is normal, the electronic device 100 detects whether the downlink is abnormal. If the downlink is abnormal, the electronic device 100 can connect to the VoNR network in another service area through the 5G base station, or when there is a VoWiFi network or VoLTE network in the current service area, the electronic device 100 switches the VoNR network to the VoWiFi network or VoLTE network through the 5G base station, or the electronic device 100 switches the VoNR network to the VoWiFi network or VoLTE network. If the downlink is also normal, the electronic device 100 will analyze whether the voice packet received in the downlink is normal. If the electronic device 100 determines that the encoding type and / or rate of the received voice packet is inconsistent with the one negotiated with the electronic device 200 when the connection was initially established, the electronic device 100 will negotiate the encoding type and / or rate of the voice packet with the electronic device 200 through SIP renegotiation and transmit the voice packet with the re-negotiated encoding type and / or rate. In this way, the notification quality of the electronic device 100 and the electronic device 200 can be improved.
[0152] When electronic device 100 establishes a voice call with electronic device 200 via a VoWiFi network, the voice call quality on electronic device 100 is poor (e.g., silence). First, the electronic device detects whether the uplink is abnormal. If a VoLTE network or VoNR network is available in the current service area, the electronic device 100 switches the VoWiFi network to the VoLTE network or VoNR network. If the uplink is normal, the electronic device 100 detects whether the downlink is abnormal. If the downlink is abnormal, if a VoLTE network or VoNR network is available in the current service area, the electronic device 100 switches the VoWiFi network to the VoLTE network or VoNR network. If the downlink is also normal, the electronic device 100 analyzes whether the voice packets received in the downlink are normal. If the electronic device 100 determines that the coding type and / or rate of the received voice packets are inconsistent with the ones negotiated with the electronic device 200 when the connection was initially established, the electronic device 100 negotiates the coding type and / or rate of the voice packets with the electronic device 200 through SIP renegotiation and transmits the voice packets using the renegotiation coding type and / or rate.
[0153] In this way, the electronic device 100 can determine the voice call quality problem based on the uplink, downlink and received voice packets, and take corresponding measures to solve the voice quality problem. In this way, the call quality between the electronic device 100 and the electronic device 200 can be improved.
[0154] Before the electronic device 100 establishes a voice call with the electronic device 200 through the VoLTE network, the VoNR network, or the VoWiFi network, the electronic device 100 and the electronic device 200 need to negotiate media parameters. The media parameters include but are not limited to the encoding type of the voice data, the encoding rate of the voice packet, the PT value, and the media channel parameters, etc.
[0155] Specifically, before the electronic device 100 establishes a voice call with the electronic device 200, the electronic device 100 uses the SIP protocol as the signaling negotiation protocol, and uses the SDP protocol in conjunction with the SIP protocol to complete media parameter negotiation. The electronic device 100 completes media negotiation using the offer / answer mechanism through the SIP protocol, that is, the electronic device 100 sends the formats of all supported media parameters to the electronic device 200, and the electronic device 200 receives the formats of all media parameters sent by the electronic device 100, and selects one or several formats of media parameters supported by the electronic device 200 and sends them to the electronic device 100. After the electronic device 100 receives the information fed back by the electronic device 200, it will establish a communication connection in accordance with the format of the media parameters supported by the electronic device 200.
[0156] For example, some media parameters are described as follows:
[0157] c=IN IP6 XX09:XXXX:XX98
[0158] c represents the media connection status information of the electronic device 100. The structure of the media connection status information is <network type><address type><connection type>, where "IN" indicates that the currently defined network type is the Internet, and "IP6" indicates that the address type is IP6.
[0159] b=AS:49
[0160] The format of b is <modifier>:<bandwidth value>. As shown in b, when the modifier is AS, the bandwidth value is 49.
[0161] b=RR:1837
[0162] The format of b is <modifier>:<bandwidth value>. As shown in b, when the modifier is RR, the bandwidth value is 1837.
[0163] b=RS:612
[0164] The format of b is <modifier>:<bandwidth value>. As shown in b, when the modifier is RS, the bandwidth value is 612.
[0165] m=audio31002RTP / AVP107 101
[0166] The format of m is <media name><port number><transport protocol><media type list>, which means the media name is audio, the port number is 31002, the transport protocol is RTP / AVP, and the media payload type (PT value) supports 107 and 101.
[0167] a=rtpmap:107AMR-WB / 16000 / 1
[0168] The format of a is <payload type><encoding name><clock rate><encoding parameter>. Among them, the RTP payload type is 107, the encoding name is AMR-WB, the clock rate is 16000, and the encoding parameter is 1.
[0169] The type is 101 0-15.
[0170] a=ptime:20
[0171] a represents the packet time, that is, the maximum time of a packet is 20 milliseconds.
[0172] a=fmtp:107mode-change-capability=2; max-red=0
[0173] a indicates that the FMTP payload type is 107 and the encoding name is mode-change-capability = 2.
[0174] a=rtpmap:101telephone-event / 16000
[0175] a indicates that the RTP payload type is 101, the encoding name is telephone-event, and the clock rate is 16000.
[0176] a=fmtp:101 0-15
[0177] a indicates that the FMTP load is 101 0-15.
[0178] a represents the packet time, that is, the number of media milliseconds allowed in a packet. For example, the media milliseconds can be 20.
[0179] a=maxptime: 240
[0180] a represents the maximum packet time, that is, the maximum number of milliseconds allowed for media in a packet. For example, the maximum number of milliseconds for media is 240.
[0181] The above examples list some media parameters and should not be construed as limiting.
[0182] First, after electronic device 100 establishes a voice call with electronic device 200 via the VoLTE network in a first service area (or first cell), the call quality between electronic device 100 and electronic device 200 is poor, for example, there is no sound or a pause on the side of electronic device 100. Electronic device 100 will determine the voice call quality problem based on uplink, downlink, and received voice packets, and take appropriate measures to resolve the voice quality problem.
[0183] The electronic device 100 determines the ratio of the number of voice packets received through the first downlink within the first time threshold to the predetermined number of voice packets. If the ratio of the number of received voice packets to the predetermined number of voice packets is less than the first preset value, the electronic device 100 determines that the call quality between the electronic device 100 and the electronic device 200 is poor.
[0184] First, the electronic device 100 determines whether the uplink network is abnormal based on the PDCP layer voice packet congestion and packet abandonment rate.
[0185] like Figure 5 , Figure 5 The flowchart is a method for the electronic device 100 to determine whether the uplink network is abnormal.
[0186] S501: The electronic device 100 and the electronic device 200 establish an IP multimedia subsystem (IMS) voice call via a VoLTE network.
[0187] After electronic device 100 and electronic device 200 establish an IMS voice call connection via the VoLTE network, electronic device 100 encodes the collected data using the negotiated coding type (e.g., the first coding type) and packages it into voice packets. Then, electronic device 100 forms a transmission queue based on the order in which the voice packets are generated. Electronic device 100 then sends the voice packets in the transmission queue via an uplink in the order in which they are generated to the 4G base station in the first service area, which then sends them to electronic device 200.
[0188] S502: The electronic device 100 detects whether the packet loss rate of the PDCP layer within the second time threshold is greater than a first preset value?
[0189] In the initial stage of establishing a call connection between the electronic device 100 and the electronic device 200, the electronic device 100 configures a corresponding discard timer (discard time) for each voice packet packaged in the PDCP layer through RRC reconfiguration signaling.
[0190] The discard timer is used to assign a lifetime to each voice packet in the transmission queue for transmitting voice packets. If more voice packets enter the transmission queue than can be transmitted, the excess voice packets may be deleted if they are not transmitted to the 4G base station in the first service area before their corresponding discard timers expire. When a voice packet is discarded in the transmission queue due to the discard timer, a gap is generated in the voice data. For example, five consecutive voice packets of a data stream may be input into the transmission queue as voice packet 1, voice packet 2, voice packet 3, voice packet 4, and voice packet 5. For example, if the discard timer of voice packet 3 expires before voice packet 3 is transmitted from the transmission queue to the 4G base station in the first service area, voice packet 3 is discarded. At the same time, if voice packet 1, voice packet 2, voice packet 4, and voice packet 5 are all output from the transmission queue before their corresponding discard timers expire, four voice packets will be transmitted from the electronic device 100.
[0191] When the electronic device 100 starts to collect voice data, and encodes the voice data according to the negotiated encoding type (for example, the first encoding type) and packages it into voice packets, the electronic device 100 generates a transmission sequence for the voice packets in the generation order, and starts the discard timer (for example, 2 seconds) corresponding to the voice packet from the time the voice packet enters the transmission queue. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is less than the time of the discard timer, the voice packet is successfully transmitted. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is greater than the time of the discard timer, the transmission time of the voice packet has timed out, and the electronic device 100 will discard the voice packet.
[0192] S503: The electronic device 100 determines whether the packet loss rate of the PDCP layer within the second time threshold is greater than a first preset value, and the electronic device 100 reports the inter-frequency measurement result to the RRC layer through the PDCP layer.
[0193] The electronic device 100 will calculate the ratio of the number of voice packets discarded due to voice packet transmission timeout within a second time threshold (for example, three seconds) to the number of voice packets successfully transmitted within the second time threshold (for example, three seconds). If the ratio is greater than the preset ratio, the electronic device 100 determines that the uplink network is abnormal.
[0194] After the electronic device 100 determines that the uplink network is abnormal, the electronic device 100 reports the uplink network abnormality result to the RRC layer through the PDCP layer.
[0195] S504. The RRC layer of the electronic device 100 receives a result of poor network, and the electronic device 100 reports the inter-frequency measurement result to the 4G base station through the RRC layer. The electronic device 100 switches the VoLTE network in the first service area to the VoLTE network in the second service area through the 4G base station, or the electronic device 100 reports the inter-system measurement result to the 4G base station through the RRC layer, and the electronic device 100 switches the VoLTE network in the first service area to the VoNR network in the first service area through the 4G base station, or the electronic device 100 switches the VoLTE network in the first service area to the VoWiFi network.
[0196] After the RRC layer receives the uplink network abnormality result reported by the PDCP layer, it can improve the uplink network problem in any of the following ways.
[0197] Method 1: The electronic device 100 reports the inter-frequency measurement result to the 4G base station through the RRC layer. If there is a VoNR network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoLTE network to the VoNR network through the 4G base station.
[0198] Method 2: The electronic device 100 reports the inter-system measurement results to the 4G base station through the RRC layer. If the electronic device 100 is also in the second service area, and if there is a VoLTE network in the second service area, the electronic device 100 can change the service area, that is, the electronic device switches the VoLTE network in the first service area to the VoLTE network in the second service area through the 4G base station.
[0199] Method 3: If there is a VoWiFi network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoLTE network to the VoWiFi network.
[0200] If the electronic device 100 determines that the uplink network is normal, the electronic device 100 will determine whether the downlink network is abnormal.
[0201] like Figure 6 As shown, Figure 6 The flowchart is a method for the electronic device 100 to determine whether the downlink network is abnormal.
[0202] S601. The electronic device 100 establishes a second downlink with a 4G base station.
[0203] Specifically, first, the electronic device 100 will establish a new downlink (second downlink) with the 4G base station based on the original downlink (first downlink). The electronic device 100 establishes the second downlink according to the local address and remote address of the first downlink.
[0204] S602: The electronic device 100 initiates a connection request to the 4G base station via the second downlink. Does the electronic device 100 receive a response message (second response information) from the 4G base station within the fifth time threshold?
[0205] Afterwards, the electronic device 100 sends a connection request to the 4G base station. If the electronic device 100 does not receive a response message from the 4G base station within the fifth time threshold, the connection fails, and the electronic device 100 executes S605. Specifically, the electronic device 100 sends a SYN message to the 4G base station. At the same time, the electronic device 100 initiates a timer with a certain time threshold (for example, 1.5 seconds). After the 4G base station receives the SYN message sent by the electronic device 100, the 4G base station responds to the SYN message sent by the electronic device 100, and the 4G base station will send an ACK message to the electronic device 100. If the electronic device 100 does not receive an ACK message sent by the 4G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 fails to establish a connection with the 4G base station, that is, the electronic device 100 determines that the downlink network is abnormal.
[0206] S603. After the electronic device 100 receives the response message from the 4G base station within the fifth time threshold, the electronic device 100 receives the voice packets sent by the 4G base station within the sixth time threshold, and determines the number of received voice packets and the preset number of voice packets to calculate the packet loss rate.
[0207] If the electronic device 100 receives an ACK message sent by the 4G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 is successfully connected to the 4G base station. After the electronic device 100 is successfully connected to the 4G base station, the electronic device 100 and the 4G base station will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the 4G base station agree to send a fixed-size detection voice packet within the sixth time threshold (for example, 3 seconds), that is, the 4G base station sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the sixth time threshold (for example, 3 seconds). The electronic device 100 calculates the ratio of the number of voice packets received from the 4G base station within the sixth time threshold to the fixed number of detection voice packets. If the ratio is less than the fourth preset value (or the packet loss rate is greater than the preset value), the electronic device 100 determines that the downlink network is abnormal.
[0208] S604: If the electronic device 100 determines that the packet loss rate is greater than a preset value?
[0209] If the packet loss rate is greater than the preset value, the electronic device 100 executes S605.
[0210] S605. The RRC layer of the electronic device 100 receives a result of poor network, and the electronic device 100 reports the inter-frequency measurement result to the 4G base station through the RRC layer. The electronic device 100 switches the VoLTE network in the first service area to the VoLTE network in the second service area through the 4G base station, or the electronic device 100 reports the inter-system measurement result to the 4G base station through the RRC layer, and the electronic device 100 switches the VoLTE network in the first service area to the VoNR network in the first service area through the 4G base station, or the electronic device 100 switches the VoLTE network to the VoWiFi network.
[0211] If the electronic device 100 determines that the packet loss rate is greater than the preset value, the electronic device 100 determines that the downlink network is abnormal. After the electronic device 100 determines that the downlink network is abnormal, the electronic device 100 can improve the uplink network problem in any of the following ways.
[0212] Method 1: The electronic device 100 reports the inter-frequency measurement result to the 4G base station through the RRC layer. If there is a VoNR network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoLTE network to the VoNR network through the 4G base station.
[0213] Method 2: The electronic device 100 reports the inter-system measurement results to the 4G base station through the RRC layer. If the electronic device 100 is also in the second service area, and if there is a VoLTE network in the second service area, the electronic device 100 can change the service area, that is, the electronic device switches the VoLTE network in the first service area to the VoLTE network in the second service area through the 4G base station.
[0214] Method 3: If there is a VoWiFi network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoLTE network to the VoWiFi network.
[0215] If the electronic device 100 determines that the packet loss rate is less than the preset value, the electronic device 100 determines that the downlink network is normal.
[0216] If the electronic device determines that both the uplink and downlink networks are normal, the electronic device 100 will detect the first voice packet received on the downlink, that is, the electronic device 100 will decode the received first voice packet and record the media parameters of the first voice packet. If the media parameters of the first voice packet are inconsistent with the negotiated media parameters, the electronic device 100 will renegotiate the media parameters with the electronic device 200 to improve the call quality.
[0217] When the electronic device 100 decodes the received first voice packet, the following situation may occur: poor call quality due to problems with the first voice packet.
[0218] Scenario 1: The payload type (PT) value of the first voice packet is inconsistent with the PT value of the negotiated voice packet.
[0219] Scenario 2: The encoding type of the first voice packet is inconsistent with the encoding type of the negotiated voice packet.
[0220] For example, the encoding type of the first voice packet is AMR-NB, and the encoding type of the negotiated voice packet is AMR-WB.
[0221] Scenario 3: The coding rate of the first voice packet is inconsistent with the negotiated coding rate of the voice packet.
[0222] For example, the coding rate of the first voice packet is 23.85 kbit / s, while the negotiated coding rate of the voice packet is 6.60 kbit / s-12.65 kbit / s.
[0223] Scenario 4: The checksum of the first voice packet is continuously 0 and the decoded voice packet cannot be used normally.
[0224] This application only lists some examples of situations in which voice packets may have errors. There may be more situations, and this application does not limit them here.
[0225] When the electronic device 100 determines that the poor call quality is caused by the inconsistency between the media parameters of the first voice packet and the negotiated media parameters, the electronic device 100 can renegotiate the media parameters with the electronic device 200 and use the renegotiated media parameters for the call. In this way, the voice quality problem caused by the voice packet error can be solved.
[0226] Specifically, the electronic device 100 uses the SIP protocol as the signaling negotiation protocol, and uses the SDP protocol in conjunction with the SIP protocol to complete the media parameter renegotiation. The electronic device 100 uses the offer / answer mechanism through the SIP protocol to complete the media parameter renegotiation.
[0227] Specifically, for the above situation 1, the electronic device 100 can use the PT value of the first voice packet or a PT value different from the PT value of the first voice packet to negotiate with the electronic device 200, and use the negotiated PT value to make a call.
[0228] For the above-mentioned second scenario, the electronic device 100 may adopt the encoding type of the first voice packet or a encoding type different from the encoding type of the first voice packet to negotiate with the electronic device 200, and use the negotiated encoding type to make a call.
[0229] For example, the encoding type of the first voice packet is AMR-NB. The electronic device 100 can use the encoding type AMR-NB to negotiate with the electronic device 200 and use the encoding type AMR-NB to communicate.
[0230] Alternatively, the encoding type of the first voice packet is AMR-NB, and the electronic device 100 may adopt the encoding type of AMR-WB and use the encoding type of AMR-WB for the call.
[0231] For the above situation three, the electronic device 100 can use the coding rate of the first voice packet or a coding rate different from the coding rate of the first voice packet to negotiate with the electronic device 200, and use the negotiated coding rate to make a call.
[0232] For the fourth scenario, the electronic device 100 decodes the first voice packet and finds that the checksum is 0. The electronic device 100 renegotiates the checksum with the electronic device 200.
[0233] When the electronic device 100 determines that there is no problem with the uplink network, the downlink network and the quality of the voice packets received in the downlink, the electronic device 100 will reduce the sending rate of the voice packets in this segment, or the electronic device 100 requests the electronic device 200 to reduce the sending rate of the voice packets to adjust the voice call quality.
[0234] Next, after electronic device 100 establishes a voice call with electronic device 200 via a VoNR network in a first service area (or first cell), the call quality between electronic device 100 and electronic device 200 is poor, for example, there is no sound or a pause on the side of electronic device 100. Electronic device 100 will determine the voice call quality problem based on uplink, downlink, and received voice packets, and take appropriate measures to resolve the voice quality problem.
[0235] If the ratio of the number of voice packets received by the electronic device 100 through the downlink within the first time threshold to the predetermined number of voice packets is less than a first preset value, the electronic device 100 determines that the call quality is poor.
[0236] First, the electronic device 100 determines whether the uplink network is abnormal based on the PDCP layer voice packet congestion and packet abandonment rate.
[0237] like Figure 7 , Figure 7 The flowchart is a method for the electronic device 100 to determine whether the uplink network is abnormal.
[0238] S701: Electronic device 100 and electronic device 200 establish an IMS voice call via a VoNR network.
[0239] After the electronic device 100 and the electronic device 200 establish an IMS voice call connection through the VoNR network, the electronic device 100 encodes the collected data using the negotiated coding type (e.g., the first coding type) and packages it into voice packets. Afterwards, the electronic device 100 forms a transmission queue according to the generation order of the voice packets. Afterwards, the electronic device 100 sends the voice packets in the transmission queue to the 5G base station in the first service area via an uplink in the generation order, and the 5G base station in the first service area sends them to the electronic device 200.
[0240] S702: The electronic device 100 detects whether the packet loss rate of the PDCP layer within the second time threshold is greater than a first preset value?
[0241] In the initial stage of establishing a call connection between the electronic device 100 and the electronic device 200, the electronic device 100 configures a corresponding discard timer (discard time) for each voice packet packaged in the PDCP layer through RRC reconfiguration signaling.
[0242] The discard timer is used to assign a lifetime to each voice packet in the transmission queue for transmitting voice packets. If more voice packets than can be transmitted enter the transmission queue, the excess voice packets may be deleted if they are not transmitted to the 5G base station in the first service area before their corresponding discard timers expire. When a voice packet is discarded in the transmission queue due to the discard timer, a gap is generated in the voice data. For example, five consecutive voice packets of a data stream may be input into the transmission queue for voice packet 1, voice packet 2, voice packet 3, voice packet 4, and voice packet 5. For example, if the discard timer of voice packet 3 expires before voice packet 3 is transmitted from the transmission queue to the 5G base station in the first service area, voice packet 3 is discarded. At the same time, if voice packet 1, voice packet 2, voice packet 4, and voice packet 5 are all output from the transmission queue before their corresponding discard timers expire, four voice packets will be transmitted from the electronic device 100.
[0243] When the electronic device 100 starts to collect voice data, and encodes the voice data according to the negotiated encoding type (for example, the first encoding type) and packages it into voice packets, the electronic device 100 generates a transmission sequence for the voice packets in the generation order, and starts the discard timer (for example, 2 seconds) corresponding to the voice packet from the time the voice packet enters the transmission queue. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is less than the time of the discard timer, the voice packet is successfully transmitted. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is greater than the time of the discard timer, the transmission time of the voice packet has timed out, and the electronic device 100 will discard the voice packet.
[0244] S703: The electronic device 100 determines whether the packet loss rate of the PDCP layer within the second time threshold is greater than a first preset value, and the electronic device 100 reports the inter-frequency measurement result to the RRC layer through the PDCP layer.
[0245] The electronic device 100 will calculate the ratio of the number of voice packets discarded due to voice packet transmission timeout within a second time threshold (for example, three seconds) to the number of voice packets successfully transmitted within the second time threshold (for example, three seconds). If the ratio is greater than a second preset value, the electronic device 100 determines that the uplink network is abnormal.
[0246] After the electronic device 100 determines that the uplink network is abnormal, the electronic device 100 reports the uplink network abnormality result to the RRC layer through the PDCP layer.
[0247] S704. The electronic device 100 reports the inter-frequency measurement result to the 5G base station through the RRC layer, and the electronic device 100 switches the VoNR network in the first service area to the VoNR network in the second service area through the 5G base station, or the electronic device 100 reports the inter-system measurement result to the 5G base station through the RRC layer, and the electronic device 100 switches the VoNR network in the first service area to the VoLTE network in the first service area through the 5G base station, or the electronic device 100 switches the VoNR network in the first service area to the VoWiFi network.
[0248] After the RRC layer receives the uplink network abnormality result reported by the PDCP layer, it can improve the uplink network problem in any of the following ways.
[0249] Method 1: The electronic device 100 reports the inter-system measurement results to the 5G base station through the RRC layer. If there is a VoLTE network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoNR network to the VoLTE network through the 5G base station.
[0250] Method 2: The electronic device 100 reports the inter-frequency measurement results to the 5G base station through the RRC layer. If the electronic device 100 is in the second service area at the same time, and if there is a VoNR network in the second service area, the electronic device 100 can change the service area, that is, the electronic device switches the VoNR network in the first service area to the VoNR network in the second service area through the 5G base station.
[0251] Method 3: If there is a VoWiFi network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoNR network to the VoWiFi network.
[0252] If the electronic device 100 determines that the uplink network is normal, the electronic device 100 will determine whether the downlink network is abnormal.
[0253] like Figure 8 As shown, Figure 8 The flowchart is a method for the electronic device 100 to determine whether the downlink network is abnormal.
[0254] S801. The electronic device 100 establishes a second downlink with the 5G base station.
[0255] Specifically, first, the electronic device 100 will establish a new downlink (second downlink) with the 5G base station based on the original downlink (first downlink). The electronic device 100 establishes the second downlink according to the local address and remote address of the first downlink.
[0256] S802. The electronic device 100 initiates a connection request to the 5G base station through the second downlink. Does it receive a response message (second response message) from the 5G base station within the fifth time threshold?
[0257] Afterwards, the electronic device 100 sends a connection request to the 5G base station. If the electronic device 100 does not receive a response message from the 5G base station, the connection fails, and the electronic device 100 executes S805. Specifically, the electronic device 100 sends a SYN message to the 5G base station. At the same time, the electronic device 100 initiates a timer of a third time threshold (for example, 1.5 seconds). After the 5G base station receives the SYN message sent by the electronic device 100, the 5G base station responds to the SYN message sent by the electronic device 100, and the 5G base station will send an ACK message to the electronic device 100. If the electronic device 100 does not receive the ACK message sent by the 5G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 fails to establish a connection with the 5G base station, that is, the electronic device 100 determines that the downlink network is abnormal.
[0258] S803. After the electronic device 100 receives the response message from the 5G base station within the fifth time threshold, the electronic device 100 receives the voice packets sent by the 5G base station within the sixth time threshold, and determines the number of received voice packets and the preset number of voice packets to calculate the packet loss rate.
[0259] If the electronic device 100 receives an ACK message sent by the 5G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 is successfully connected to the 5G base station. After the electronic device 100 is successfully connected to the 5G base station, the electronic device 100 and the 5G base station will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the 5G base station agree to send a fixed-size detection voice packet within the sixth time threshold (for example, 3 seconds), that is, the 5G base station sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the sixth time threshold (for example, 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of detection voice packets received. If the packet loss rate is greater than the preset value, or the ratio of the number of voice packets sent by the 5G base station to the fixed number of detection voice packets is less than the fourth preset value, the electronic device 100 determines that the downlink network is abnormal.
[0260] S804: If the electronic device 100 determines that the packet loss rate is greater than a preset value?
[0261] If the packet loss rate is greater than the preset value, the electronic device 100 executes S805.
[0262] S805. The electronic device 100 reports the inter-frequency measurement result to the 5G base station through the RRC layer, and the electronic device 100 switches the VoNR network in the first service area to the VoNR network in the second service area through the 5G base station, or the electronic device 100 reports the inter-system measurement result to the 5G base station through the RRC layer, and the electronic device 100 switches the VoNR network in the first service area to the VoLTE network in the first service area through the 5G base station, or the electronic device 100 switches the VoNR network in the first service area to the VoWiFi network.
[0263] After the electronic device 100 determines that the downlink network is abnormal, the electronic device 100 can improve the uplink network problem in any of the following ways.
[0264] Method 1: The electronic device 100 reports the inter-system measurement results to the 5G base station through the RRC layer. If there is a VoLTE network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoNR network to the VoLTE network through the 5G base station.
[0265] Method 2: The electronic device 100 reports the inter-frequency measurement results to the 5G base station through the RRC layer. If the electronic device 100 is in the second service area at the same time, and if there is a VoNR network in the second service area, the electronic device 100 can change the service area, that is, the electronic device 100 switches the VoNR network in the first service area to the VoNR network in the second service area through the 5G base station.
[0266] Method 3: If there is a VoWiFi network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoNR network in the first service area to the VoWiFi network.
[0267] If the electronic device 100 determines that the packet loss rate is less than the preset value, the electronic device 100 determines that the downlink network is normal.
[0268] If the electronic device determines that both the uplink and downlink networks are normal, the electronic device 100 will detect the first voice packet received on the downlink, that is, the electronic device 100 will decode the received first voice packet and record the media parameters of the first voice packet. If the media parameters of the first voice packet are inconsistent with the negotiated media parameters, the electronic device 100 will renegotiate the media parameters with the electronic device 200 to improve the call quality.
[0269] When the electronic device 100 decodes the received first voice packet, the following situation may occur: poor call quality due to problems with the first voice packet.
[0270] Scenario 1: The payload type (PT) value of the first voice packet is inconsistent with the PT value of the negotiated voice packet.
[0271] Scenario 2: The encoding type of the first voice packet is inconsistent with the encoding type of the negotiated voice packet.
[0272] For example, the encoding type of the first voice packet is AMR-NB, and the encoding type of the negotiated voice packet is AMR-WB.
[0273] Scenario 3: The coding rate of the first voice packet is inconsistent with the negotiated coding rate of the voice packet.
[0274] For example, the coding rate of the first voice packet is 23.85 kbit / s, while the negotiated coding rate of the voice packet is 6.60 kbit / s-12.65 kbit / s.
[0275] Scenario 4: The checksum of the first voice packet is continuously 0 and the decoded voice packet cannot be used normally.
[0276] This application only lists some examples of situations in which voice packets may have errors. There may be more situations, and this application does not limit them here.
[0277] When the electronic device 100 determines that the poor call quality is caused by the inconsistency between the media parameters of the first voice packet and the negotiated media parameters, the electronic device 100 can renegotiate the media parameters with the electronic device 200 and use the renegotiated media parameters for the call. In this way, the voice quality problem caused by the voice packet error can be solved.
[0278] Specifically, the electronic device 100 uses the SIP protocol as the signaling negotiation protocol, and uses the SDP protocol in conjunction with the SIP protocol to complete the media parameter renegotiation. The electronic device 100 uses the offer / answer mechanism through the SIP protocol to complete the media parameter renegotiation.
[0279] Specifically, for the above situation 1, the electronic device 100 can use the PT value of the first voice packet or a PT value different from the PT value of the first voice packet to negotiate with the electronic device 200, and use the negotiated PT value to make a call.
[0280] For the above-mentioned second scenario, the electronic device 100 may adopt the encoding type of the first voice packet or a encoding type different from the encoding type of the first voice packet to negotiate with the electronic device 200, and use the negotiated encoding type to make a call.
[0281] For example, the encoding type of the first voice packet is AMR-NB. The electronic device 100 can use the encoding type AMR-NB to negotiate with the electronic device 200 and use the encoding type AMR-NB to communicate.
[0282] Alternatively, the encoding type of the first voice packet is AMR-NB, and the electronic device 100 may adopt the encoding type of AMR-WB and use the encoding type of AMR-WB for the call.
[0283] For the above situation three, the electronic device 100 can use the coding rate of the first voice packet or a coding rate different from the coding rate of the first voice packet to negotiate with the electronic device 200, and use the negotiated coding rate to make a call.
[0284] For the fourth scenario, the electronic device 100 decodes the first voice packet and finds that the checksum is 0. The electronic device 100 renegotiates the checksum with the electronic device 200.
[0285] When the electronic device 100 determines that there is no problem with the uplink network, the downlink network and the quality of the voice packets received in the downlink, the electronic device 100 will reduce the sending rate of the voice packets in this segment, or the electronic device 100 requests the electronic device 200 to reduce the sending rate of the voice packets to adjust the voice call quality.
[0286] Next, after electronic device 100 establishes a voice call with electronic device 200 via a VoWiFi network in a first service area (or first cell), the call quality between electronic device 100 and electronic device 200 is poor, for example, there is no sound or a pause on the side of electronic device 100. Electronic device 100 will determine the voice call quality problem based on uplink, downlink, and received voice packets, and take appropriate measures to resolve the voice quality problem.
[0287] If the ratio of the number of voice packets received by the electronic device 100 through the downlink within the first time threshold to the predetermined number of voice packets is less than a first preset value, the electronic device 100 determines that the call quality is poor.
[0288] First, the electronic device 100 checks whether the uplink network is abnormal.
[0289] like Figure 9 As shown, Figure 9 The flowchart is a method for the electronic device 100 to determine whether the uplink network is abnormal.
[0290] S901: The electronic device 100 establishes a second uplink with a WiFi access network device.
[0291] Specifically, the electronic device 100 first establishes a new uplink (a second uplink) with the WiFi access network device based on the original uplink (the first uplink). The electronic device 100 establishes the second uplink based on the local address (the address of the electronic device 100) and the remote address (the WiFi access network device) of the first uplink.
[0292] S902: The electronic device 100 initiates a connection request to the WiFi access network device via the second uplink. Does the electronic device 100 receive a response message (a second response message) from the WiFi access network device within a third time threshold?
[0293] If the electronic device 100 does not receive a response message (second response message) from the WiFi access network device within the third time threshold, S905 is executed. If the electronic device 100 receives a response message (second response message) from the WiFi access network device within the third time threshold, S903 is executed.
[0294] Afterwards, the electronic device 100 sends a connection request to the WiFi access network device. If the electronic device 100 does not receive a response message from the WiFi access network device, the connection fails. Specifically, the electronic device 100 sends a SYN message to the WiFi access network device, and at the same time, the electronic device 100 initiates a timer of a third time threshold (for example, 1.5 seconds). After the WiFi access network device receives the SYN message sent by the electronic device 100, the WiFi access network device responds to the SYN message sent by the electronic device 100, and the WiFi access network device sends an ACK message to the electronic device 100. If the electronic device 100 does not receive an ACK message sent by the WiFi access network device within the third time threshold (for example, 1.5 seconds), the electronic device 100 fails to establish a connection with the WiFi access network device, that is, the electronic device 100 determines that the uplink network is abnormal.
[0295] S903. After the electronic device 100 receives a response message from the WiFi access network device within the third time threshold, the electronic device 100 receives voice packets sent by the WiFi access network device within a fourth time threshold, and determines the number of received voice packets and the preset number of voice packets to calculate the packet loss rate.
[0296] If the electronic device 100 receives an ACK message sent by the WiFi access network device within the third time threshold (e.g., 1.5 seconds), the electronic device 100 is successfully connected to the WiFi access network device. After the electronic device 100 is successfully connected to the WiFi access network device, the electronic device 100 and the WiFi access network device will send packets for detection to determine whether the uplink network is abnormal. Specifically, the electronic device and the WiFi access network device agree to send a fixed-size detection voice packet within a fourth time threshold (e.g., 3 seconds), that is, the WiFi access network device sends a fixed number of detection voice packets (e.g., 10 detection voice packets) to the electronic device 100 within the fourth time threshold (e.g., 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of received detection voice packets. If the packet loss rate is greater than a preset value, or the ratio of the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the fourth time threshold to the fixed number of detection voice packets is less than a third preset value, the electronic device 100 determines that the uplink network is abnormal.
[0297] S904: If the electronic device 100 determines that the packet loss rate is greater than a preset value?
[0298] S905: The electronic device 100 determines that the packet loss rate is greater than a preset value. The RRC layer of the electronic device 100 receives the inter-frequency measurement result and switches the VoWiFi network in the first service area to the VoNR network or VoLTE network in the first service area.
[0299] After the electronic device 100 determines that the uplink network is abnormal, the electronic device 100 may improve the uplink network problem in any of the following ways.
[0300] Method 1: If there is a VoNR network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoWiFi network to the VoNR network.
[0301] Method 2: If there is a VoLTE network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoWiFi network to the VoLTE network.
[0302] If the electronic device 100 determines that the packet loss rate is less than the preset value, the electronic device 100 determines that the uplink network is normal.
[0303] Afterwards, the electronic device 100 determines whether the downlink network is abnormal based on the packet loss rate of the downlink voice packets.
[0304] like Figure 10 As shown, Figure 10 The flowchart is a method for the electronic device 100 to determine whether the downlink network is abnormal.
[0305] S1001: The electronic device 100 establishes a second downlink with a WiFi access network device.
[0306] Specifically, the electronic device 100 first establishes a new downlink (a second downlink) with the WiFi access network device based on the existing downlink (the first downlink). The electronic device 100 establishes the second downlink based on the local address (the address of the electronic device 100) and the remote address (the WiFi access network device) of the first downlink.
[0307] S1002: The electronic device 100 initiates a connection request to the WiFi access network device via the second downlink. Does the electronic device 100 receive a response message (a second response message) from the WiFi access network device within a fifth time threshold?
[0308] If the electronic device 100 does not receive a response message (second response message) from the WiFi access network device within the fifth time threshold, S1005 is executed. If the electronic device 100 receives a response message (second response message) from the WiFi access network device within the fifth time threshold, S1003 is executed.
[0309] Afterwards, the electronic device 100 sends a connection request to the WiFi access network device. If the electronic device 100 does not receive a response message from the WiFi access network device, the connection fails. Specifically, the electronic device 100 sends a SYN message to the WiFi access network device, and at the same time, the electronic device 100 initiates a timer of a sixth time threshold (e.g., 1.5 seconds). After the WiFi access network device receives the SYN message sent by the electronic device 100, the WiFi access network device responds to the SYN message sent by the electronic device 100, and the WiFi access network device sends an ACK message to the electronic device 100. If the electronic device 100 does not receive an ACK message sent by the WiFi access network device within the sixth time threshold (e.g., 1.5 seconds), the electronic device 100 fails to establish a connection with the WiFi access network device, that is, the electronic device 100 determines that the downlink network is abnormal.
[0310] S1003. After the electronic device 100 receives a response message from the WiFi access network device within the fifth time threshold, the electronic device 100 receives voice packets sent by the WiFi access network device within the sixth time threshold, and determines the number of received voice packets and the preset number of voice packets to calculate the packet loss rate.
[0311] If the electronic device 100 receives an ACK message sent by the WiFi access network device within the fifth time threshold (e.g., 1.5 seconds), the electronic device 100 is successfully connected to the WiFi access network device. After the electronic device 100 is successfully connected to the WiFi access network device, the electronic device 100 and the WiFi access network device will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the WiFi access network device agree to send a fixed-size detection voice packet within a sixth time threshold (e.g., 3 seconds), that is, the WiFi access network device sends a fixed number of detection voice packets (e.g., 10 detection voice packets) to the electronic device 100 within the sixth time threshold (e.g., 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of received detection voice packets. If the packet loss rate is greater than a preset value, or the ratio of the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the sixth time threshold to the number of preset voice packets is less than a fourth preset value, the electronic device 100 determines that the downlink network is abnormal.
[0312] S1004: If the electronic device 100 determines that the packet loss rate is greater than a preset value?
[0313] S1005: The electronic device 100 determines that the packet loss rate is greater than a preset value. The RRC layer of the electronic device 100 receives the inter-frequency measurement result and switches the VoWiFi network in the first service area to the VoNR network or VoLTE network in the first service area.
[0314] After the electronic device 100 determines that the downlink network is abnormal, the electronic device 100 may improve the downlink network problem in any of the following ways.
[0315] Method 1: If there is a VoNR network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoWiFi network to the VoNR network.
[0316] Method 2: If there is a VoLTE network in the first service area where the electronic device 100 is located, the electronic device 100 switches the VoWiFi network to the VoLTE network.
[0317] If the electronic device 100 determines that the packet loss rate is less than the preset value, the electronic device 100 determines that the downlink network is normal.
[0318] If the electronic device determines that both the uplink and downlink networks are normal, the electronic device 100 will detect the first voice packet received on the downlink, that is, the electronic device 100 will decode the received first voice packet and record the media parameters of the first voice packet. If the media parameters of the first voice packet are inconsistent with the negotiated media parameters, the electronic device 100 will renegotiate the media parameters with the electronic device 200 to improve the call quality.
[0319] When the electronic device 100 decodes the received first voice packet, the following situation may occur: poor call quality due to problems with the first voice packet.
[0320] Scenario 1: The payload type (PT) value of the first voice packet is inconsistent with the PT value of the negotiated voice packet.
[0321] Scenario 2: The encoding type of the first voice packet is inconsistent with the encoding type of the negotiated voice packet.
[0322] For example, the encoding type of the first voice packet is AMR-NB, and the encoding type of the negotiated voice packet is AMR-WB.
[0323] Scenario 3: The coding rate of the first voice packet is inconsistent with the negotiated coding rate of the voice packet.
[0324] For example, the coding rate of the first voice packet is 23.85 kbit / s, while the negotiated coding rate of the voice packet is 6.60 kbit / s-12.65 kbit / s.
[0325] Scenario 4: The checksum of the first voice packet is continuously 0 and the decoded voice packet cannot be used normally.
[0326] This application only lists some examples of situations in which voice packets may have errors. There may be more situations, and this application does not limit them here.
[0327] When the electronic device 100 determines that the poor call quality is caused by the inconsistency between the media parameters of the first voice packet and the negotiated media parameters, the electronic device 100 can renegotiate the media parameters with the electronic device 200 and use the renegotiated media parameters for the call. In this way, the voice quality problem caused by the voice packet error can be solved.
[0328] Specifically, the electronic device 100 uses the SIP protocol as the signaling negotiation protocol, and uses the SDP protocol in conjunction with the SIP protocol to complete the media parameter renegotiation. The electronic device 100 uses the offer / answer mechanism through the SIP protocol to complete the media parameter renegotiation.
[0329] Specifically, for the above situation 1, the electronic device 100 can use the PT value of the first voice packet or a PT value different from the PT value of the first voice packet to negotiate with the electronic device 200, and use the negotiated PT value to make a call.
[0330] For the above-mentioned second scenario, the electronic device 100 may adopt the encoding type of the first voice packet or a encoding type different from the encoding type of the first voice packet to negotiate with the electronic device 200, and use the negotiated encoding type to make a call.
[0331] For example, the encoding type of the first voice packet is AMR-NB. The electronic device 100 can use the encoding type AMR-NB to negotiate with the electronic device 200 and use the encoding type AMR-NB to communicate.
[0332] Alternatively, the encoding type of the first voice packet is AMR-NB, and the electronic device 100 may adopt the encoding type of AMR-WB and use the encoding type of AMR-WB for the call.
[0333] For the above situation three, the electronic device 100 can use the coding rate of the first voice packet or a coding rate different from the coding rate of the first voice packet to negotiate with the electronic device 200, and use the negotiated coding rate to make a call.
[0334] For the fourth scenario, the electronic device 100 decodes the first voice packet and finds that the checksum is 0. The electronic device 100 renegotiates the checksum with the electronic device 200.
[0335] When the electronic device 100 determines that there is no problem with the uplink network, the downlink network and the quality of the voice packets received in the downlink, the electronic device 100 will reduce the sending rate of the voice packets on its own end, or the electronic device 100 requests the electronic device 200 to reduce the sending rate of the voice packets, so as to adjust the voice call quality.
[0336] like Figure 11 As shown, Figure 11 A flow chart of a method for improving voice call quality provided in an embodiment of the present application.
[0337] S1101: Electronic device 100 establishes an IMS voice call with electronic device 200 via a first network in a first service area. Electronic device 100 sends a voice packet to electronic device 200 via a first uplink, and electronic device 200 receives the voice packet sent by electronic device 200 via a first downlink.
[0338] Divide the service area of the first network into a first service area (or a first cell) based on the transmission and reception capabilities of the first network.
[0339] The first network in the first service area may be any one of a VoNR network, a VoLTE network, and a VoWiFi network.
[0340] When the first network is a VoNR network, the electronic device 100 transmits information with the electronic device 200 through the 5G base station. That is, the electronic device 100 establishes a first uplink with the 5G base station, and the electronic device 100 packages the collected voice data into voice packets and sends them to the 5G base station through the first uplink. The 5G base station transmits the voice packets sent by the electronic device 100 to the electronic device 200. The electronic device 100 establishes a first downlink with the 5G base station, and the electronic device 200 packages the collected voice data into voice packets and sends them to the 5G base station. The 5G base station transmits the voice packets sent by the electronic device 200 to the electronic device 100 through the first downlink.
[0341] When the first network is a VoLTE network, the electronic device 100 transmits information to the electronic device 200 through the 4G base station. That is, the electronic device 100 establishes a first uplink with the 4G base station, and the electronic device 100 packages the collected voice data into voice packets and sends them to the 4G base station via the first uplink. The 4G base station transmits the voice packets sent by the electronic device 100 to the electronic device 200. The electronic device 100 establishes a first downlink with the 4G base station, and the electronic device 200 packages the collected voice data into voice packets and sends them to the 4G base station. The 4G base station transmits the voice packets sent by the electronic device 200 to the electronic device 100 via the first downlink.
[0342] When the first network is a VoWiFi network, the electronic device 100 transmits information to the electronic device 200 through the WiFi access network device. That is, the electronic device 100 establishes a first uplink with the WiFi access network device. The electronic device 100 packages the collected voice data into voice packets and sends them to the WiFi access network device via the first uplink. The WiFi access network device transmits the voice packets sent by the electronic device 100 to the electronic device 200. The electronic device 100 establishes a first downlink with the WiFi access network device. The electronic device 200 packages the collected voice data into voice packets and sends them to the WiFi access network device. The WiFi access network device transmits the voice packets sent by the electronic device 200 to the electronic device 100 via the first downlink.
[0343] If the ratio of the number of voice packets received by the electronic device 100 through the downlink within the first time threshold to the predetermined number of voice packets is less than a first preset value, the electronic device 100 determines that the call quality is poor.
[0344] S1102. Does the electronic device 100 determine that the network of the first uplink is abnormal?
[0345] When the first network is a VoNR network, the electronic device 100 may determine whether the network of the first uplink is abnormal in the following manner.
[0346] Specifically, after the electronic device 100 establishes a voice call connection with the electronic device 200, the electronic device 100 encodes the collected data using the negotiated encoding type (e.g., the first encoding type) and packages it into a voice packet. Afterwards, the electronic device 100 forms a transmission queue according to the generation order of the voice packets, and starts the discard timer (e.g., 2 seconds) corresponding to the voice packet from the time the voice packet enters the transmission queue. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is less than the time of the discard timer, the voice packet is successfully transmitted. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is greater than the time of the discard timer, the transmission time of the voice packet has timed out, and the electronic device 100 will discard the voice packet.
[0347] The electronic device 100 can calculate the ratio of the number of voice packets discarded due to voice packet transmission timeout within a second time threshold (for example, three seconds) to the number of voice packets successfully transmitted within the second time threshold (for example, three seconds). If the ratio is greater than the second preset value, the electronic device 100 determines that the network of the first uplink is abnormal.
[0348] When the first network is a VoLTE network, the electronic device 100 may determine whether the network of the first uplink is abnormal in the following manner.
[0349] Specifically, after the electronic device 100 establishes a voice call connection with the electronic device 200, the electronic device 100 encodes the collected data using the negotiated encoding type (e.g., the first encoding type) and packages it into a voice packet. Afterwards, the electronic device 100 forms a transmission queue according to the generation order of the voice packets, and starts the discard timer (e.g., 2 seconds) corresponding to the voice packet from the time the voice packet enters the transmission queue. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is less than the time of the discard timer, the voice packet is successfully transmitted. If the time from the time the voice packet enters the transmission queue to the time it is transmitted is greater than the time of the discard timer, the transmission time of the voice packet has timed out, and the electronic device 100 will discard the voice packet.
[0350] The electronic device 100 can calculate the ratio of the number of voice packets discarded due to voice packet transmission timeout within a second time threshold (for example, three seconds) to the number of voice packets successfully transmitted within the second time threshold (for example, three seconds). If the ratio is greater than the second preset value, the electronic device 100 determines that the network of the first uplink is abnormal.
[0351] When the first network is a VoWiFi network, the electronic device 100 may determine whether the network of the first uplink is abnormal in the following manner.
[0352] Specifically, the electronic device 100 establishes a second uplink with the electronic device 200. Thereafter, the electronic device 100 sends a connection request to the WiFi access network device via the second uplink. If the electronic device 100 does not receive a response message from the WiFi access network device within a third time threshold (e.g., 1.5 seconds), the connection fails, indicating that the electronic device 100 determines that the network on the first uplink is abnormal.
[0353] If the electronic device 100 receives a response message sent by the WiFi access network device within the third time threshold (for example, 1.5 seconds), the electronic device 100 is successfully connected to the WiFi access network device. After the electronic device 100 is successfully connected to the WiFi access network device, the electronic device 100 and the WiFi access network device will send packets for detection to determine whether the uplink network is abnormal. Specifically, the electronic device and the WiFi access network device agree to send a fixed-size detection voice packet within a fourth time threshold (for example, 3 seconds), that is, the WiFi access network device sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the fourth time threshold (for example, 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of received detection voice packets. If the packet loss rate is greater than a preset value, or the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the fourth time threshold and the fixed number of detection voice packets are less than a third preset value, the electronic device 100 determines that the network of the first uplink is abnormal.
[0354] If the electronic device 100 determines that the network of the first uplink is abnormal, the electronic device 100 executes S1103 ; otherwise, the electronic device 100 executes S1106 .
[0355] S1103: The electronic device 100 determines that the network of the first uplink is abnormal, and the electronic device 100 determines whether the first network is a VoWiFi network.
[0356] If the electronic device 100 determines that the first network is a VoWiFi network, the electronic device 100 executes S1104 ; otherwise, the electronic device 100 executes S1105 .
[0357] S1104: The electronic device 100 switches the first network in the first service area to the second network in the first service area.
[0358] When the first network is a VoWiFi network, when the electronic device 100 determines that the network of the first uplink is abnormal, the electronic device 100 can switch the VoWiFi network in the first service area to the second network in the first service area, and the second network can be any one of a VoNR network and a VoLTE network.
[0359] S1105. The electronic device 100 reports the inter-frequency measurement result to the first network device through the RRC layer, and the electronic device 100 switches the first network in the first service area to the first network in the second service area through the first network device, or the electronic device 100 reports the inter-system measurement result to the first network device through the RRC layer, and the electronic device 100 switches the first network in the first service area to the second network in the first service area through the first network device, or the electronic device 100 switches the first network in the first service area to the third network.
[0360] The first network is different from the second network and the third network. For example, when the first network is a VoNR network, the second network can be a VoLTE network and the third network can be a VoWiFi network; when the first network is a VoLTE network, the second network can be a VoNR network or a VoWiFi network and the third network can be a VoWiFi network.
[0361] When the first network is a VoNR network, the electronic device 100 determines that the network of the first uplink is abnormal, and the electronic device 100 reports the inter-frequency measurement result to the first network device (e.g., a 5G base station) through the RRC layer, and switches the VoNR network of the first service area to the second network of the first service area through the first network device (e.g., a 5G base station), and the second network can be a VoLTE network or a VoWiFi network. Alternatively, the electronic device 100 reports the inter-system measurement result to the first network device (e.g., a 5G base station) through the RRC layer, and switches the VoNR network of the first service area to the VoNR network of the second service area through the first network device (e.g., a 5G base station), or the electronic device 100 switches the VoNR network of the first service area to a VoWiFi network.
[0362] When the first network is a VoLTE network, when the electronic device 100 determines that the network of the first uplink is abnormal, the electronic device 100 reports the inter-frequency measurement result to the first network device (e.g., a 4G base station) through the RRC layer, and switches the VoLTE network in the first service area to the second network in the first service area through the first network device (e.g., a 4G base station), and the second network can be a VoNR network or a VoWiFi network. Alternatively, the electronic device 100 reports the inter-system measurement result to the first network device (e.g., a 4G base station) through the RRC layer, and switches the VoLTE network in the first service area to the VoLTE network in the second service area through the first network device (e.g., a 4G base station), or the electronic device 100 switches the VoLTE network in the first service area to a VoWiFi network.
[0363] S1106: The electronic device 100 determines that the network of the first uplink is normal, and the electronic device 100 determines that the network of the first downlink is abnormal?
[0364] Specifically, when the first network is a VoNR network, the electronic device 100 can use the following method to determine whether the network of the first downlink is abnormal.
[0365] The electronic device 100 establishes a second downlink with the electronic device 200. Afterwards, the electronic device 100 sends a connection request to the 5G base station through the second downlink. If the electronic device 100 does not receive a response message from the 5G base station within a fifth time threshold (e.g., 1.5 seconds), the connection fails, that is, the electronic device 100 determines that the network of the first downlink is abnormal.
[0366] If the electronic device 100 receives a response message sent by the 5G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 is successfully connected to the 5G base station. After the electronic device 100 is successfully connected to the 5G base station, the electronic device 100 and the 5G base station will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the 5G base station agree to send a fixed-size detection voice packet within the sixth time threshold (for example, 3 seconds), that is, the 5G base station sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the sixth time threshold (for example, 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of detection voice packets received. If the packet loss rate is greater than the preset value, or the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the sixth time threshold and the fixed number of detection voice packets are less than the fourth preset value, the electronic device 100 determines that the network of the first downlink is abnormal.
[0367] When the first network is a VoLTE network, the electronic device 100 may determine whether the network of the first downlink is abnormal in the following manner.
[0368] The electronic device 100 establishes a second downlink with the electronic device 200. Thereafter, the electronic device 100 sends a connection request to the 4G base station via the second downlink. If the electronic device 100 does not receive a response message from the 4G base station within a fifth time threshold (e.g., 1.5 seconds), the connection fails, indicating that the electronic device 100 determines that the network of the first downlink is abnormal.
[0369] If the electronic device 100 receives a response message sent by the 4G base station within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 successfully establishes a connection with the 4G base station. After the electronic device 100 successfully establishes a connection with the 4G base station, the electronic device 100 and the 4G base station will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the 4G base station agree to send a fixed-size detection voice packet within the fourth time threshold (for example, 3 seconds), that is, the 4G base station sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the sixth time threshold (for example, 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of detection voice packets received. If the packet loss rate is greater than the preset value, or the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the sixth time threshold and the fixed number of detection voice packets are less than the fourth preset value, the electronic device 100 determines that the network of the first downlink is abnormal.
[0370] When the first network is a VoWiFi network, the electronic device 100 may determine whether the network of the first downlink is abnormal in the following manner.
[0371] The electronic device 100 establishes a second downlink with the electronic device 200. Thereafter, the electronic device 100 sends a connection request to the WiFi access network device via the second downlink. If the electronic device 100 does not receive a response message from the WiFi access network device within a fifth time threshold (e.g., 1.5 seconds), the connection fails, indicating that the electronic device 100 determines that the network of the first downlink is abnormal.
[0372] If the electronic device 100 receives a response message sent by the WiFi access network device within the fifth time threshold (for example, 1.5 seconds), the electronic device 100 is successfully connected to the WiFi access network device. After the electronic device 100 is successfully connected to the WiFi access network device, the electronic device 100 and the WiFi access network device will send packets for detection to determine whether the downlink network is abnormal. Specifically, the electronic device and the WiFi access network device agree to send a fixed-size detection voice packet within a sixth time threshold (for example, 3 seconds), that is, the WiFi access network device sends a fixed number of detection voice packets (for example, 10 detection voice packets) to the electronic device 100 within the sixth time threshold (for example, 3 seconds). The electronic device 100 calculates the packet loss rate based on the number of received detection voice packets. If the packet loss rate is greater than a preset value, or the number of voice packets sent by the WiFi access network device received by the electronic device 100 within the sixth time threshold is less than a fourth preset value, the electronic device 100 determines that the network of the first downlink is abnormal.
[0373] After the electronic device 100 determines that the network of the first downlink is abnormal, the electronic device 100 executes S1103 , ie, determines whether the first network is a VoWiFi network.
[0374] If the electronic device 100 determines that the first network is a VoWiFi network, the electronic device 100 executes S1104 ; otherwise, the electronic device 100 executes S1105 .
[0375] S1107: After the electronic device 100 determines that the networks of the first uplink and the first downlink are both normal, the electronic device 100 determines whether the media parameters of the first voice packet received on the first downlink are inconsistent with pre-set media parameters.
[0376] Before the electronic device 100 establishes a voice call with the electronic device 200, the electronic device 100 uses the SIP protocol as the signaling negotiation protocol, and uses the SDP protocol in conjunction with the SIP protocol to complete media parameter negotiation. The electronic device 100 completes media negotiation using the offer / answer mechanism through the SIP protocol, that is, the electronic device 100 sends the formats of all supported media parameters to the electronic device 200, and the electronic device 200 receives the formats of all media parameters sent by the electronic device 100, and selects one or several formats of media parameters supported by the electronic device 200 and sends them to the electronic device 100. After the electronic device 100 receives the information fed back by the electronic device 200, it will establish a communication connection in accordance with the formats of the media parameters supported by the electronic device 200. The media parameters of the voice packet negotiated by the electronic device 100 and the electronic device 200 are called preset media parameters. The media parameters of the voice packet can be any one or several of the encoding type of the voice packet, the encoding rate of the voice packet, the PT value, and the media channel parameters.
[0377] If the electronic device determines that both the uplink and downlink networks are normal, the electronic device 100 detects the first voice packet received on the downlink, i.e., the electronic device 100 decodes the received first voice packet and records the media parameters of the first voice packet. If the media parameters of the first voice packet are inconsistent with the preset media parameters, the electronic device 100 determines that the inconsistency between the media parameters of the voice packet and the preset media parameters results in poor call quality. The electronic device 100 executes S1108.
[0378] S1108 : The electronic device 100 and the electronic device 200 renegotiate media parameters.
[0379] After the electronic device 100 determines that the media parameters of the voice packet are inconsistent with the preset media parameters, resulting in poor call quality, the electronic device 100 will renegotiate the media parameters of the voice packet with the electronic device 200, and use the media parameters of the voice packet after negotiation to make a call. The media parameters of the voice packet after negotiation can be the same as the preset media parameters or different from the preset media parameters, and this application does not limit this. Please refer to the above embodiment for the renegotiation of media parameters between the electronic device 100 and the electronic device 200, and this application will not repeat them here.
[0380] The electronic device 100 determines that the media parameters of the first voice packet are consistent with the preset media parameters, and the electronic device 100 executes S1109.
[0381] S1109 : The electronic device 100 reduces the transmission rate of the voice packets at the local end, or the electronic device 100 requests the electronic device 200 to reduce the transmission rate of the voice packets.
[0382] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for improving voice call quality, characterized in that: The method comprises a first electronic device, a first network device and a second electronic device, wherein the first network device provides a first network for a first service area, and the method comprises: The first electronic device establishes an IMS voice call with the second electronic device through the first network, the first electronic device sends a voice packet to the second electronic device through a first uplink, and the first electronic device receives the voice packet sent by the second electronic device through a first downlink; In the case where it is determined that the network of the first uplink is abnormal or the first electronic device determines that the network of the first downlink is abnormal, the first electronic device switches the first network of the first service area to the second network of the first service area through the first network device, or the first electronic device switches the first network of the first service area to the first network of the second service area through the first network device, or the first electronic device switches the first network of the first service area to a third network; wherein the first network, the second network and the third network are different; After the first electronic device determines that the network of the first uplink is normal and the first electronic device determines that the network of the first downlink is normal, the first electronic device determines whether the media parameter format of the first voice packet received through the first downlink is consistent with a preset media parameter format; In the case where the media parameter format of the first voice packet is inconsistent with the preset media parameter format, the first electronic device and the second electronic device use the re-negotiated media parameter format to communicate; When the first electronic device determines that the media parameter format of the received first voice packet is consistent with the preset media parameter format, the first electronic device reduces the transmission rate of the first uplink voice packet, or the first electronic device sends a request message to the second electronic device, and the request message is used to request the second electronic device to reduce the transmission rate of the first downlink voice packet.
2. The method according to claim 1, characterized in that: When the first network is a VoNR network or a VoLTE network, the first electronic device determines that the network of the first uplink is abnormal, specifically including: The first electronic device determines the number of voice packets sent and the number of voice packets discarded by the first electronic device through the first uplink within a second time threshold; The first electronic device calculates the ratio of the number of the discarded voice packets to the number of the sent voice packets; If the ratio of the number of discarded voice packets to the number of sent voice packets is greater than a second preset value, the first electronic device determines that the network of the first uplink is abnormal.
3. The method according to claim 1, characterized in that When the first network is a VoWiFi network, the first electronic device determines that the network of the first uplink is abnormal, specifically including: The first electronic device establishes a second uplink with the first network device; The first electronic device sends a connection establishment request to the first network device, and if the first electronic device does not receive a first response message from the first network device within a third time threshold, the first electronic device determines that the network of the first uplink is abnormal; If the first electronic device receives the first response message within the third time threshold, the first electronic device determines the number of voice packets sent by the first network device and received within a fourth time threshold; The first electronic device calculates the ratio of the number of voice packets sent by the first network device and received within the fourth time threshold to the number of preset voice packets. If the ratio is less than a third preset value, the first electronic device determines that the network of the first uplink is abnormal.
4. The method according to any one of claims 1 to 3, characterized in that: The first electronic device determines that the network of the first downlink is abnormal, specifically including: The first electronic device establishes a second downlink with the first network device; The first electronic device sends a connection establishment request to the first network device, and if the first electronic device does not receive a second response message from the first network device within a fifth time threshold, the first electronic device determines that the network of the first downlink is abnormal; If the first electronic device receives the second response message within the fifth time threshold, the first electronic device determines the number of voice packets sent by the first network device and received within a sixth time threshold; The first electronic device calculates the ratio of the number of voice packets sent by the first network device and received within the sixth time threshold to the number of preset voice packets. If the ratio is less than a fourth preset value, the first electronic device determines that the network of the first downlink is abnormal.
5. The method according to claim 2, characterized in that: When the first network is a VoNR network or a VoLTE network, after the first electronic device determines that the network of the first uplink is abnormal or the network of the first downlink is abnormal, the method further includes: The first electronic device switches the first network in the first service area to the second network in the first service area through the first network device, or the first electronic device switches the first network in the first service area to the first network in a second service area through the first network device, or the first electronic device switches the first network in the first service area to a third network; wherein the first network, the second network and the third network are different.
6. The method according to claim 5, characterized in that When the first network is the VoNR network, the second network is the VoLTE network, and the third network is a VoWiFi network; When the first network is the VoLTE network, the second network is the VoNR network, and the third network is the VoWiFi network.
7. The method according to any one of claims 1 or 3, characterized in that: When the first network is a VoWiFi network, after the first electronic device determines that the network of the first uplink is abnormal or the network of the first downlink is abnormal, the method further includes: The first electronic device switches the first network in the first service area to a second network in the first service area, where the second network is a VoNR network or a VoLTE network.
8. The method according to claim 1, characterized in that The media parameter format after the re-negotiation is consistent with the preset media parameter format or the media parameter format after the re-negotiation is inconsistent with the preset media parameter format.
9. According to the method according to any one of claims 1-3 or claims 5-6 or claim 8, the media parameters may include any one or more of the following: encoding type of voice packets, encoding rate of voice packets, and media channel parameters.
10. An electronic device, characterized in that: The electronic device comprises one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program codes, the computer program codes include computer instructions, and the one or more processors call the computer instructions so that the electronic device executes the method as described in any one of claims 1 to 9.
11. A computer storage medium comprising instructions, characterized in that: When the instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Network switching method and device in communication, and mobile terminal
CN107969020A
Signal processing method and device and terminal equipment
CN110099421A