A communication method, electronic device and system
By initiating a convergence request to VoIP-enabled terminals when a carrier call request is detected, the problem of conflict between VoIP calls and carrier calls is resolved, enabling simultaneous multi-party calls, improving call efficiency and security, and avoiding additional costs.
Patent Information
- Application Number
- CN202110977380.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-24
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2041-08-24
AI Technical Summary
When a user receives a call from a carrier while making a VoIP call, existing technology cannot effectively handle call conflicts, resulting in low call efficiency. Users must choose to abandon one call to receive the other.
When a carrier call request is detected, a VoIP call request is initiated to a terminal that supports VoIP calls, thereby integrating VoIP and carrier calls, allowing multiple parties to talk simultaneously, and prompting the user through the interface whether to join or decline to join the VoIP call.
It improves the efficiency of calls between terminals, allows users to answer carrier calls without interrupting the current VoIP call, enhances call flexibility and security, and avoids additional carrier call charges.
Smart Images

Figure CN115941847B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of terminal technology, and in particular to a communication method, electronic device and system. Background Technology
[0002] Currently, an increasing number of users are using various terminals for audio and video calls. Audio and video calls can be divided into Voice over Internet Protocol (VoIP) calls and carrier calls. Examples of VoIP calls include Changlian Calls. voice, Videos, etc.
[0003] In some calling plans, when a phone is engaged in a VoIP call, if someone calls a carrier-related call, the phone can maintain the VoIP call, thus preventing the carrier call from being answered. Alternatively, the phone can hang up the VoIP call and answer the carrier call. Taking MeeTime as an example, if user A is having a VoIP call with user B through the MeeTime app, and friend C calls user A's phone with a carrier call, user A can only choose to answer friend C's carrier call or continue the VoIP call with user B. This results in lower call efficiency. Summary of the Invention
[0004] This application provides a call method, electronic device, and system that can improve call efficiency between terminals.
[0005] To achieve the above objectives, the embodiments of this application provide the following technical solutions:
[0006] Firstly, a calling method is provided, which can be applied to a first terminal or a component (such as a chip system) capable of implementing the functions of the first terminal; the method includes: conducting a VoIP call with a second terminal; during the VoIP call with the second terminal, receiving a carrier call request from a third terminal; and, if it is determined that the third terminal supports VoIP calls, sending a VoIP call request to the third terminal. The VoIP call request is used to request the third terminal to join the VoIP call.
[0007] The call method provided in this application embodiment can, when the first terminal detects a conflict between a VoIP call and a carrier call, such as when a new carrier call comes in during a VoIP call, initiate a VoIP call to the third terminal that initiated the carrier call and add the third terminal to the current VoIP call, thereby achieving the fusion of VoIP calls and carrier calls. This can simultaneously meet the needs of both VoIP calls and carrier calls, and improve call efficiency.
[0008] Furthermore, the call method in this application embodiment communicates via VoIP, without incurring additional carrier call charges.
[0009] In some possible designs, the method also includes presenting a first interface that prompts the user whether to request a third terminal to join the VoIP call. This allows the user to be prompted whether to request a third terminal to join the VoIP call, and the user can agree or refuse to allow the third terminal to join the current VoIP call based on their current call needs.
[0010] In some possible designs, the method also includes presenting a first interface that indicates that a third terminal has been requested to join the VoIP call.
[0011] In some possible designs, sending a VoIP call request to a third terminal includes: in response to a first instruction entered by a first user on a first interface of a first terminal, sending a VoIP call request to a third terminal.
[0012] In some possible designs, the method also includes: determining whether there is a friend relationship between the third user on the third terminal and the second user on the second terminal;
[0013] Sending a VoIP call request to a third terminal includes: in response to determining that the second user and the third user are friends, sending a VoIP call request to the third terminal. In this way, the first terminal only sends a VoIP call request to the third terminal if the second user and the third user are confirmed to be friends. This avoids adding a third user unknown to the second user to the current VoIP call, thereby enhancing call security and reducing the probability of privacy leaks.
[0014] In one possible design, presenting the first interface includes: responding to the second user and the third user being friends. That is, the first terminal only presents the first interface after confirming that the second user and the third user are friends, thereby prompting the user whether to request the third terminal to join the current VoIP call.
[0015] Secondly, a call method is provided, which can be applied to a third terminal or a component (such as a chip system) that can realize or assist in realizing the functions of a third terminal; the method includes:
[0016] During a VoIP call between the first terminal and the second terminal, a carrier call request is sent to the first terminal, and a VoIP call request is received from the first terminal. The second terminal then joins the VoIP call based on the VoIP call request.
[0017] In one possible design, after receiving the VoIP call request from the first terminal, the method further includes:
[0018] A second interface is displayed, which is used to prompt VoIP call requests. In this way, when the third terminal makes a call to the operator, it can be prompted by the VoIP call request from the first terminal through the interface, thereby guiding the user of the third terminal whether to choose to answer the VoIP call and join the VoIP call that is being conducted by the first terminal.
[0019] In one possible design, joining a VoIP call based on a VoIP call request includes:
[0020] In response to the second instruction entered by the user on the second interface, the user joins a VoIP call based on the VoIP call request and the second instruction, which is used to instruct the user to join the VoIP call.
[0021] Thirdly, a communication system is provided, including a first terminal, a second terminal, and a third terminal;
[0022] The first terminal is used to make VoIP calls with the second terminal, and to receive call requests from the operator from the third terminal during the VoIP call with the second terminal.
[0023] The first terminal is also used to send a VoIP call request to the third terminal when it is determined that the third terminal supports VoIP calls. The VoIP call request is used to request the third terminal to join the VoIP call.
[0024] The third terminal is used to receive VoIP call requests from the first terminal and join the VoIP call according to the VoIP call requests.
[0025] In one possible design, the first terminal is also used to present a first interface, which prompts whether to request the third terminal to join the VoIP call.
[0026] In one possible design, the first terminal is used to send a VoIP call request to the third terminal, including: in response to a first instruction input by a first user of the first terminal on a first interface, sending a VoIP call request to the third terminal.
[0027] In one possible design, the first terminal is also used to determine whether there is a friend relationship between the third user of the third terminal and the second user of the second terminal;
[0028] The first terminal is used to send a VoIP call request to the third terminal, including: in response to determining that the second user and the third user have a friend relationship, sending a VoIP call request to the third terminal.
[0029] In one possible design, a first terminal, used to present a first interface, includes: in response to determining that a second user and a third user have a friend relationship, presenting the first interface.
[0030] In one possible design, the third terminal is also used to present a second interface, which is used to prompt VoIP call requests.
[0031] Fourthly, a call method is provided, which can be applied to a first terminal or a component (such as a chip system) capable of implementing the functions of the first terminal; the method includes: receiving a call request from a third terminal, and, if it is determined that the third terminal supports VoIP calls, sending a VoIP call request to the third terminal.
[0032] The call method provided in this application embodiment allows a first terminal to call back the incoming call terminal (third terminal) via VoIP if the receiving terminal (i.e., the third terminal) supports VoIP calling. This enables the terminals to communicate with each other via VoIP.
[0033] Typically, VoIP calling requires the installation of a corresponding VoIP application. VoIP calling offers features different from carrier-based calls. For example, in some cases, VoIP applications can integrate screen sharing functionality. A first terminal can initiate a VoIP call to a third terminal, utilizing some of VoIP calling's features to enhance the interactive experience during the call.
[0034] In some possible designs, the method also includes: presenting a first interface, which prompts whether to send a VoIP call request to a third terminal, or indicates that a VoIP call request has been sent to a third terminal.
[0035] In some possible designs, sending a VoIP call request to a third terminal includes: in response to a first instruction entered by a first user on a first interface of a first terminal, sending a VoIP call request to a third terminal.
[0036] Fifthly, a call method is provided, which can be applied to a third terminal or a component (such as a chip system) capable of or assisting in realizing the functions of a third terminal; the method includes:
[0037] Send a carrier call request to the first terminal and receive a VoIP call request from the first terminal, and conduct a VoIP call with the first terminal according to the VoIP call request.
[0038] In one possible design, after receiving the VoIP call request from the first terminal, the method further includes:
[0039] A second interface is displayed, which is used to prompt VoIP call requests.
[0040] In one possible design, initiating a VoIP call with a first terminal based on a VoIP call request includes:
[0041] In response to a second instruction entered by the user on the second interface, a VoIP call is initiated with the first terminal based on the VoIP call request and the second instruction, wherein the second instruction is used to instruct the user to answer the VoIP call.
[0042] Sixthly, a communication system is provided, including a first terminal and a third terminal;
[0043] The first terminal is used to receive call requests from the operator from the third terminal;
[0044] The first terminal is also used to send a VoIP call request to the third terminal if it is determined that the third terminal supports VoIP calls.
[0045] The third terminal is used to receive VoIP call requests from the first terminal and to conduct VoIP calls with the first terminal based on the VoIP call requests.
[0046] In one possible design, the first terminal is also used to present a first interface, which prompts whether to send a VoIP call request to the third terminal.
[0047] In one possible design, the first terminal is used to send a VoIP call request to the third terminal, including: in response to a first instruction input by a first user of the first terminal on a first interface, sending a VoIP call request to the third terminal.
[0048] Seventhly, this application provides an electronic device having the function of implementing the call method as described in any of the above aspects and any possible implementations thereof. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0049] Eighthly, this application provides a computer-readable storage medium including computer instructions that, when executed on an electronic device, cause the electronic device to perform a call method as described in any of the foregoing aspects and any of its possible implementations.
[0050] Ninthly, this application provides a computer program product that, when run on an electronic device, causes the electronic device to perform a call method as described in any aspect and any possible implementation thereof.
[0051] In a tenth aspect, a circuit system is provided, the circuit system including processing circuitry configured to perform a call method as described in any of the foregoing aspects and any possible implementation thereof.
[0052] Eleventhly, embodiments of this application provide a chip system including at least one processor and at least one interface circuit. The at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor. When the at least one processor executes the instructions, the at least one processor executes a call method as described in any of the above aspects and any possible implementation thereof. Attached Figure Description
[0053] Figure 1 This is a schematic diagram of the system architecture provided for an embodiment of this application;
[0054] Figure 2A , Figure 2B This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;
[0055] Figure 3 A schematic diagram of the call architecture provided in an embodiment of this application;
[0056] Figure 4 A set of UI schematic diagrams provided for embodiments of this application;
[0057] Figures 5A-5D Four sets of UI schematic diagrams provided for embodiments of this application;
[0058] Figures 6A-6B Two sets of UI schematic diagrams provided for embodiments of this application;
[0059] Figures 7A-7B Two sets of UI schematic diagrams provided for embodiments of this application;
[0060] Figure 8 A set of UI schematic diagrams provided for embodiments of this application;
[0061] Figure 9 A set of UI schematic diagrams provided for embodiments of this application;
[0062] Figures 10-13 A flowchart illustrating the call method provided in an embodiment of this application;
[0063] Figures 14-15 UI diagram provided for embodiments of this application;
[0064] Figures 16-17 A flowchart illustrating the call method provided in an embodiment of this application;
[0065] Figure 18 UI diagram provided for embodiments of this application;
[0066] Figure 19 A schematic diagram of the architecture of the communication device provided in the embodiments of this application;
[0067] Figure 20 This is a schematic diagram of the chip system architecture provided in an embodiment of this application. Detailed Implementation
[0068] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0069] This application provides a call fusion method that can be applied to a call system 100. The call system may include one or more electronic devices. These electronic devices may be, but are not limited to, mobile phones, tablets, televisions (also known as smart screens, large-screen devices, etc.), laptops, handheld computers, netbooks, in-vehicle devices (also known as vehicle-mounted systems), etc. This application does not impose any limitations on these.
[0070] For example, Figure 1 This is a schematic diagram of the communication system architecture. Figure 1 As shown, the communication system 100 includes mobile phones 101, 102, and 103 as an example. Mobile phones 101, 102, and 103 can communicate with each other through a communication network.
[0071] In some embodiments, calls between mobile phones can be carrier calls via a carrier network. A phone application can be installed on the mobile phone, allowing the user to make carrier calls. In some embodiments, carrier calls may include public switched telephone network (PSTN) calls. This document primarily uses the PSTN as an example, but this does not constitute a limitation on carrier calls.
[0072] In some embodiments, calls between mobile phones can also be VoIP calls implemented over non-carrier networks. VoIP calls include voice calls and / or video calls. Mobile phones can have applications that enable VoIP calls (referred to as VoIP applications) installed, allowing users to make VoIP calls. VoIP applications include, but are not limited to, MeeTime, etc. Etc. Among them, the Connect app can be used as a standalone application or integrated into system applications such as telephone applications.
[0073] The operator network can be, for example, a network that conforms to the 3rd Generation Partnership Project (3GPP) specifications. For instance, operator networks include, but are not limited to, 4th generation (4G) mobile communication systems, such as Long Term Evolution (LTE) systems; 5th generation (5G) mobile communication systems, such as New Radio (NR) systems; and future communication systems, such as 6th generation (6G) mobile communication systems.
[0074] Non-carrier networks may include, but are not limited to, wireless fidelity (Wi-Fi) networks. This application does not limit the specific types and standards of carrier networks and non-carrier networks.
[0075] In some embodiments, the calling system 100 further includes a server 104. The server 104 stores call-related information. This call-related information includes, but is not limited to, whether the mobile phone supports VoIP calls. Taking VoIP calls as an example, the call-related information for the mobile phone includes whether the mobile phone supports VoIP calls. Supporting VoIP calls means that the mobile phone number corresponding to the mobile phone has activated the VoIP service (a preset service), and the mobile phone currently has the VoIP application (a preset application) installed. The VoIP application can be integrated into the phone application, or it can be a standalone application.
[0076] As one possible implementation, when call-related information in the server is updated, the server can proactively send the updated call-related information to the terminals it manages (or terminals that subscribe to call-related information). Alternatively, the server can send updated call-related information to terminals according to a preset period. Or, after receiving a request from a terminal to obtain call-related information, the server sends the call-related information to the terminal. This application does not limit the specific method by which the server sends call-related information to the terminal.
[0077] It should be noted that the call system 100 may include one or more servers. A server may have multiple functions, or different functions may be implemented by different servers. For example, the call system 100 may also include server 105 (not listed in the original text). Figure 1 (As shown in the diagram). Server 105 can be used to create a signaling channel between the parties before a call, so that the parties can address each other. Optionally, server 105 can also handle call instructions during the call, such as sending and receiving call requests and call responses, to ensure the smooth progress of the call. For example, the call system 100 may also include server 106 (not shown in the diagram). Figure 1 As shown in the image, it can be used to create one or more media rooms. Subsequently, different mobile phones can join different media rooms. After joining a media room, a mobile phone can collect its own media data and publish that media data; other devices in the same room can subscribe to that phone's media data. Media data includes, but is not limited to, voice data and image data during a call.
[0078] In some solutions, if someone makes a PSTN call to a phone while the phone is on a VoIP call, the phone can maintain the VoIP call, thus preventing the PSTN call from being answered. Alternatively, the phone can hang up the VoIP call and answer the PSTN call. Taking MeeTime as an example, if user A is having a VoIP call with user B through the MeeTime app, and friend C makes a PSTN call to user A's phone, user A can only choose to answer friend C's PSTN call or continue the VoIP call with user B.
[0079] To address the aforementioned issues, this application provides a call fusion method. When mobile phone 101 is engaged in a VoIP call (e.g., a seamless calling service) with mobile phone 102, if mobile phone 101 receives a call from mobile phone 103, then mobile phone 101 can query from the server whether mobile phone number 103 has activated VoIP calling service (e.g., seamless calling service), or mobile phone 101 can query locally stored call-related information of mobile phone 103 previously obtained from the server.
[0080] It should be noted that the phone 101 can query call-related information of other authorized mobile phones from the server and can store this information locally. A storage period can be set; within a preset period, the phone 101 can query the call-related information of other authorized mobile phones locally. When the preset period expires, the phone 101 automatically deletes this call-related information to ensure its security as much as possible.
[0081] In some cases, if a query reveals that the mobile phone number of phone 103 has activated VoIP service, then phone 101 can initiate a VoIP call to phone 103. Thus, after the user of phone 103 agrees to answer the VoIP call, phone 103 can participate in the VoIP call between phone 101 and phone 102. In other words, in this embodiment, the user initiating the PSTN call can be added to the current VoIP call. For the user currently in the VoIP call, this allows them to maintain their current VoIP call without interruption while also answering calls from new users, thereby improving call efficiency.
[0082] The following example will still use mobile phone 101 as the electronic device in the communication system 100. Figure 2A A schematic diagram of the structure of mobile phone 101 is shown.
[0083] Mobile phone 101 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, etc.
[0084] It is understood that the structure illustrated in the embodiments of the present invention does not constitute a specific limitation on the mobile phone 101. In other embodiments of this application, the mobile phone 101 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0085] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0086] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0087] The wireless communication function of mobile phone 101 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.
[0088] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 101 can be used to cover one or more 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 some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0089] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the mobile phone 101. The mobile communication module 150 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via the antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to the modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0090] The wireless communication module 160 can provide solutions for wireless communication applications on the mobile phone 101, including wireless local area networks (WLAN), such as Wi-Fi networks, Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. 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 antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0091] In some embodiments, antenna 1 of mobile phone 101 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling mobile phone 101 to communicate with networks and other devices via 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), LTE, BT, GNSS, WLAN, NFC, FM, and / or IR technology, etc. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).
[0092] The mobile phone 101 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0093] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may 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 miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, mobile phone 101 may include one or N displays 194, where N is a positive integer greater than 1.
[0094] The phone 101 can achieve shooting functions through the ISP, camera 193, video codec, GPU, display 194 and application processor.
[0095] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, 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, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.
[0096] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. 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, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, mobile phone 101 may include one or N cameras 193, where N is a positive integer greater than 1.
[0097] A digital signal processor (DSP) is used to process digital signals. Besides digital image signals, it can also process other digital signals. For example, when the mobile phone 101 is selecting a frequency, the DSP performs Fourier transforms on the frequency energy.
[0098] Video codecs are used to compress or decompress digital video. The mobile phone 101 can support one or more video codecs. Thus, the mobile phone 101 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0099] The external storage interface 120 can be used to connect an external storage card, such as a Micro SD card, to expand the storage capacity of the mobile phone 101. The external storage card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external storage card.
[0100] The internal memory 121 can be used to store computer executable program code, which includes instructions. The processor 110 executes various functional applications and data processing of the mobile phone 101 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. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of the mobile phone 101 (such as audio data, phonebook, etc.). Furthermore, the internal memory 121 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0101] The mobile phone 101 can perform audio functions, such as music playback and recording, through the audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0102] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.
[0103] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The mobile phone 101 can listen to music or make hands-free calls through the speaker 170A.
[0104] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the mobile phone 101 receives a call or voice message, the receiver 170B can be brought close to the user's ear to listen to the voice.
[0105] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Mobile phone 101 may have at least one microphone 170C. In some embodiments, mobile phone 101 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, mobile phone 101 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.
[0106] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.
[0107] The sensor module 180 may include pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, bone conduction sensors, etc.
[0108] Of course, the mobile phone 101 may also include a charging management module, a power management module, a battery, buttons, an indicator, and one or more SIM card interfaces, etc. This application embodiment does not impose any restrictions on this.
[0109] It should be noted that the structure of server 104 can also be referenced. Figure 2A The terminal structure, server 104 can have more than Figure 2A The structures shown may have more or fewer components, or combine some components, or separate some components, or have different component arrangements. The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0110] For example, such as Figure 2B As shown, server 104 may include processor 401 (optionally, including processor 408), memory 403, transceiver 404, etc.
[0111] The aforementioned components may include a pathway for transmitting information between them.
[0112] The transceiver 404 is used to communicate with other devices or communication networks using protocols such as Ethernet and WLAN.
[0113] For detailed information on the processor and memory, please refer to [link / reference needed]. Figure 2A The description of the relevant structures in the terminal is omitted here.
[0114] Taking mobile phones as an example, Figure 3 This diagram illustrates the phone's call architecture. The phone's call architecture includes a call application, a telephony module, a telecom module, and a Meetime.HwVoipService module. These modules work together to complete the call function.
[0115] In some embodiments, the calling application may be InCallUI. In other embodiments of this application, the calling application may be a VoIP application such as MeeTime. The following embodiments mainly use MeeTime as an example to illustrate the technical solution, and it is hereby stated that it will not be repeated below.
[0116] The MeeTime app may include modules such as InCallActivity, InCallServiceImp, and Call.
[0117] InCallActivity can be used to implement call interfaces, such as displaying the dialer, incoming call, and outgoing call interfaces. Taking a user initiating a call as an example, the user makes a call through the call interface implemented in InCallActivity, and the MeeTime app passes the call event to the telecom module.
[0118] InCallServiceImp is an extended implementation class for the call management service. In this embodiment, the callback function onCallAdded can be implemented in the InCallServiceImp class. When onCallAdded is called, the Changlian Calling application can determine that there is an incoming PSTN call. Call is a call implementation class that can be used to record the status of each call.
[0119] The telecom module is responsible for call logic control. As one possible implementation, the telecom module may include modules such as InCallService, Call, ConnectionService, and Connection. InCallService is the call management service class, used to handle call information. Call is the call implementation class. ConnectionService is the call connection management service, and Connection is the call connection implementation class.
[0120] In embodiments of this application, when the user is the caller, the user implements the interface through InCallActivity (e.g., Figure 4 (2) As shown in the interface, a call is initiated, and the Meetime.HwVoipService application passes the call event to the telecom module. The telecom module can determine whether the call is a PSTN call or a Meetime call. If the call is a Meetime call, the telecom module passes the call event to the Meetime.HwVoipService module, which establishes the relevant media channel and signaling channel. In this way, a Meetime call between the caller and the callee can be realized. If the caller dials a PSTN call, the telecom module passes the call event to the telephony module, which then realizes the PSTN call between the caller and the callee.
[0121] When the user is the called party and a PSTN call comes in, the telecom module can receive the incoming call event from the telephony module and notify the upper-layer MeeTime application of the PSTN incoming call event.
[0122] One possible implementation is for the telecom module to report PSTN call events to the Changlian calling application, which could be done by calling onCallAdded. Alternatively, a broadcast transmitter can be set in the telecom module, and a broadcast receiver can be set in the Changlian calling application. When the telecom module detects a PSTN call event, it sends a broadcast, and Changlian calling can listen to the broadcast of the PSTN call event through the broadcast receiver to determine if a PSTN call has come in.
[0123] When the user is the called party and a Meetime call is coming in, the telecom module can receive the call event from the Meetime.HwVoipService module and report the Meetime call to the upper-layer Meetime application.
[0124] In some embodiments, the technical solution of this application implements the detection of VoIP calls and carrier calls by extending the functionality of the telecom module.
[0125] The telephony module is used to manage PSTN call services. This includes handling dialing, hanging up, and changes to call status such as dialing, ringing, and connection. The telephony module can include TelephonyConnectionService and TelephonyConnection. TelephonyConnectionService is the connection management service, and TelephonyConnection is the connection implementation class.
[0126] In the embodiments of this application, when a PSTN call comes in, the telephony module reports the PSTN call event to the telecom module.
[0127] The Meetime.HwVoipService module can be used to provide VoIP calling services. As one possible implementation, this module may include CassVoipConnectionService (the VoIP connection management service for the Meetime application) and CassVoipConnection (the VoIP connection implementation class for the Meetime application).
[0128] In the embodiments of this application, when a Meetime call comes in, the Meetime.HwVoipService module reports the Meetime call event to the telecom module.
[0129] As one possible implementation method, Figure 3 The media cloud shown can be a server providing media services for seamless calling. The signaling cloud can be a server providing signaling services for seamless calling. Media services include, but are not limited to, establishing, maintaining, and updating media channels between the parties in a call. Signaling services include, but are not limited to, establishing, maintaining, and updating signaling channels between the parties in a call, signaling addressing, etc.
[0130] The following section will continue to use a mobile phone as the terminal for the call, and will provide a detailed introduction to the above call fusion method.
[0131] In this application's embodiments, the application used to implement VoIP calls can be various applications. For example, it can be a system-level application or a user-level application. The following mainly uses the example of implementing VoIP calls through Changlian Call, where Changlian Call can be used as an independent application, for illustration.
[0132] like Figure 4As shown in (1), mobile phone A can display interface 501, which includes icons for multiple applications. For example, it includes an icon 502 for the MeeTime calling application. When a user's click operation on icon 502 is detected, mobile phone A can display an icon such as... Figure 4 The interface 503 shown in (2) is optional. Interface 503 may include one or more of the following information: input box 504, device information 505, and contact information for those who have enabled the MeeTime calling function. Users can search for contacts by entering keywords in input box 504 or make a MeeTime call by entering a mobile phone number. Users can also find the contact they want to call in contact information 506 and initiate a voice or video call through the control 507 corresponding to that contact.
[0133] For example, if phone A detects that a user clicked control 507 corresponding to contact Jane (user B), then phone A can send a call request to the server, which can then forward the call request to contact Jane's phone B. Furthermore, phone A can display, for example... Figure 4 The call interface 508 is shown in (3).
[0134] After Jane answers the call, for example by pressing the "answer button," Jane's phone B can send a call response to the server. The server then forwards the call response to the calling phone A to inform phone A that the call has been connected. Optionally, after the call is connected, phone A can display something like... Figure 4 The call interface 509 (first interface) shown in (4) is shown.
[0135] In some scenarios, while phone A is engaged in a seamless call with Jane's (second user) phone B, phone C (e.g., Bob's (third user) phone) might call Jack (first user), a user of phone A. Specifically, upon detecting a user's instruction to initiate a PSTN call to phone A—for example, detecting a user making a PSTN call through a phone application—phone C can send a call request to phone A, and phone C can display information such as... Figure 6A The call interface 601 shown in (1) is as follows. When mobile phone A receives a call request, mobile phone A can pop up a pop-up such as Figure 5A Control 510, shown in (1), is used to prompt the user that there is currently a PSTN call from Bob. Mobile phone A can query call-related information about Bob's mobile phone C, either from this query or from the server. In some cases, if, upon querying, mobile phone C's number has activated the seamless calling service, then mobile phone A can display... Figure 5A The control 511 shown in (1) is used to ask the user whether to request to initiate a call to Bob's mobile phone C.
[0136] In some examples, if a user-instructed action to initiate a MeeTime call to Bob's phone C is detected, such as detecting a user clicking... Figure 5A If the "Yes" button (first instruction) shown in (1) is pressed, then mobile phone A can initiate a MeeTime call to mobile phone C through the MeeTime call application. As one possible implementation, mobile phone A sends a MeeTime call request to Bob's mobile phone C. During the process of initiating the MeeTime call, mobile phone A can display displays such as... Figure 5A The call interface shown in (2) is as follows. Correspondingly, after receiving a seamless call request from mobile phone A, mobile phone C can display pop-ups such as... Figure 6A Interface 605 (second interface) shown in (2) is used to display a MeeTime call from mobile phone A. Interface 605 includes control 602 for displaying MeeTime calls that are yet to be answered. Optionally, Figure 6A The control 602 shown in (2) also includes an "answer" control 603, which is used to answer a call from Jack. In response to a user input such as clicking the control 603 (a second instruction), mobile phone C joins a call between mobile phone A and mobile phone B according to the second instruction, wherein the second instruction is used to indicate joining the call.
[0137] In other embodiments, such as Figure 6B As shown in (1), if mobile phone C detects that mobile phone A is making a seamless call while calling mobile phone A, mobile phone C can pop up a pop-up message such as Figure 6B Control (2) 604 is used to prompt whether to join the seamless call of mobile phone A. In one example, if the user clicks the "Yes" button, mobile phone C joins the seamless call of mobile phone A. After mobile phone C joins the seamless call of mobile phone A, mobile phone A can display something like... Figure 6B The call interface shown in (3) is as follows.
[0138] In this embodiment, the callback process can refer to the process of calling the other party after receiving a PSTN call from them. The callback can be performed through VoIP applications such as MeeTime. In this way, after a successful callback, the other party can join the ongoing VoIP call.
[0139] It is understood that mobile phone C can detect whether Bob agrees to answer a call from mobile phone A (Jack). For example, if it detects that Bob double-clicks control 602, mobile phone C determines that Bob agrees to answer a call from mobile phone A. As another example, if it detects that Bob clicks control 602, mobile phone C can display the call interface for the call, which includes an "answer button". When it detects an action such as clicking the "answer button" by Bob, mobile phone C determines that Bob agrees to answer a call from mobile phone A (Jack). This application embodiment does not limit the method by which mobile phone C detects whether a user agrees to answer a current call.
[0140] Taking the detection of Bob's double-click on control 602 and the confirmation by phone C that Bob agrees to answer a seamless call from phone A as an example, after confirming Bob's agreement, phone C can send a seamless call response to phone A through the server, instructing phone C to join the call. Upon receiving the seamless call response from phone C, the call is connected, and phone A can display displays such as... Figure 5A The call interface 512 shown in (3) is used to display image information of all parties involved in the call. For example, the interface 512 may include windows 513 for each party, which may display the avatars or live video of the parties. Figure 5A As can be seen from (3), the parties in the Changlian call have increased from the initial Jack and Jane to Jack, Jane, and Bob. Correspondingly, after the Changlian call is connected, mobile phone C can display things like... Figure 6A The (3) diagram shows the seamless call interface.
[0141] Therefore, for a mobile phone currently engaged in a seamless call, if it receives a PSTN call from another mobile phone that has activated the seamless call service, the mobile phone can initiate a seamless call to the phone that initiated the PSTN call. This allows the phone that initiated the PSTN call to be added to the current seamless call. Consequently, the user can receive important incoming calls without interrupting their current seamless call.
[0142] In other cases, if mobile phone C's phone number is not registered for the Unlimited Calling service, then mobile phone A can perform the following operations using existing technology. For example, mobile phone A can, at the user's instruction, answer a PSTN call from Bob's mobile phone C and hang up the Unlimited Calling service with Jane's mobile phone B. Alternatively, the phone can maintain its current Unlimited Calling service and not answer the PSTN call from mobile phone C.
[0143] In this application embodiment, the control used to trigger a MeeTime call from mobile phone A to mobile phone C is not limited to... Figure 5AThe control 511 is shown. In other embodiments, when mobile phone A receives a PSTN call from mobile phone C (Bob's phone), mobile phone A can display something such as... Figure 5B The control 510 shown in (1) may include control 516. Control 516 is used to trigger the mobile phone to send a corresponding VoIP call request. For example, the user can trigger mobile phone A to initiate a VoIP call request to mobile phone C by operating control 516.
[0144] In other embodiments, mobile phone A can determine whether the other party to the PSTN call to be answered (e.g., user B on mobile phone B) and the other party to the VoIP call being answered (e.g., user C on mobile phone C) are friends. In some cases, in response to determining that user B and user C are friends, mobile phone A sends a VoIP call request to mobile phone C.
[0145] Alternatively, in response to determining that user B and user C are friends, phone A can display a first screen prompting user B to request phone C to join the ongoing MeeTime call, such as displaying something like... Figure 5A The control 511 shown in (1) is used to prompt the user to invite mobile phone C to join the current MeeTime call.
[0146] In other cases, if it is determined that User B and User C are not friends, then for reasons such as privacy protection, Mobile Phone A will not ask User B whether to request Mobile Phone C to join the ongoing MeeTime call. The user of Mobile Phone A can handle Mobile Phone C's PSTN calls according to their current needs.
[0147] For example, if a user of phone A chooses to answer a PSTN call from phone C, such as by swiping right... Figure 7A The "Answer" control 514 in control 510 shown in (1) is used to answer PSTN calls from mobile phone C. Optionally, after answering a PSTN call from mobile phone C, mobile phone A automatically hangs up the seamless call between mobile phone A and mobile phone B.
[0148] Or, user A of phone A clicks Figure 5A The hang-up control 515 shown in (1) hangs up the PSTN call of mobile phone C, so that the user of mobile phone A can continue to maintain the current seamless call with mobile phone B.
[0149] As one possible implementation, different users can back up their respective phone contacts to a server, and the server will then store the contacts for each phone. Subsequently, the phone can query the friend relationships between other users from the server. Of course, the phone can also determine the friend relationships between other users through other methods. This application does not limit this approach.
[0150] It should be noted that user B and user C are friends. This means that user B's contact information is in user C's phone contacts, or user C's contact information is in user B's phone contacts.
[0151] Alternatively, user B and user C can be friends, or user B's address book can include user C's contact information, while user C's address book can include user B's contact information.
[0152] Alternatively, user B and user C can be friends, which could mean that user C is in the "Friends" group of phone B's contacts, user B is in the "Friends" group of phone C's contacts, or user B is in the "Friends" group of phone C's contacts and user C is in the "Friends" group of phone B's contacts. This application does not limit the specific meaning of the "friendship" concept.
[0153] Optionally, to reduce privacy leaks, the server can set certain query conditions for mobile phones that want to query the friend relationships between other users. Only when the query conditions are met will the mobile phone have the permission to query the friend relationships between other users. Optionally, the query conditions can be that the mobile phone queries the friend relationships between its own friends. For example, among user A on mobile phone A, user B on mobile phone B, user C on mobile phone C, user D on mobile phone D, and user E on mobile phone E, user A and user B are friends, and user A and user C are friends. Then, mobile phone A can query whether user B and user C are friends (because users B and C are both friends of user A), but mobile phone A cannot query whether user D and user E are friends, nor can mobile phone A query whether user B and user E are friends. This application embodiment does not limit the query conditions.
[0154] For example, still using phones A, B, and C as examples, Jane can back up the contacts from phone B to the server, and Bob can back up the contacts from phone C to the server. Figure 7A As shown in (1), during a call between Jack's phone A and Jane's phone B, phone A receives a PSTN call from Bob's phone C and displays interface 701. Interface 701 includes control 510 to indicate the PSTN call. Phone A can send a query request to the server to check whether user B (Jane) and user C (Bob) are friends. The server sends a query response to phone A, which includes information indicating whether they are friends. Assuming the query response indicates that users B and C are friends, then phone A determines that phones B and C can participate in this call together, and phone A can display something like this on interface 701. Figure 7AThe control 702 shown in (1) is used to ask the user whether to invite Bob to join the ongoing Changlian call. When it detects that the user has indicated to invite Bob to join the ongoing Changlian call, such as by clicking... Figure 7A If the "Yes" button is pressed as shown in (1), then mobile phone A can call Bob via seamless calling and can display messages such as... Figure 7A The call interface is shown in (2). After the call is connected, mobile phones A, B, and C can have a three-way seamless call. During the three-way seamless call, the interface of mobile phone A can be as follows: Figure 7A As shown in (3).
[0155] In other embodiments, during a callback from phone A to phone C (i.e., phone A calling phone C via a VoIP application such as MeeTime), phone A can inform phone C of the participants in the current MeeTime call. As one possible implementation, phone A sends the participant information to phone C through a server. Optionally, the participant information is carried in the call request, or it is carried in other messages on the server. For example, when a user on phone C makes a call to a carrier, during the call, phone C may display information such as... Figure 8 The interface shown in (1) is as follows. When mobile phone C receives a callback from mobile phone A via the MeeTime app, mobile phone C can display the following: Figure 8 The interface 802 shown in (2) includes a control 801, which can include information about the participants in the current seamless call. Thus, user C (Bob) of mobile phone C can see the participants in the ongoing seamless call and decide whether to join. After joining the seamless call, mobile phone C can display information such as... Figure 8 The call interface shown in (3) is as follows.
[0156] Of course, phone A can also send other relevant information about this seamless call to phone C, so that user C on phone C can determine whether to join the ongoing seamless call based on this information.
[0157] Optionally, to enhance user privacy and security, authorization verification can be performed before sending the caller's information to phone C. As one possible implementation, phone A can send a notification message to phone B, informing phone C that it may join the call. Upon receiving the notification message from phone A, phone B can display something such as... Figure 9 Window 901, as shown, asks whether to authorize phone C to access phone B's call information. If the user clicks "Yes," it means that phone C can subsequently access phone B's call information (such as the user's identity information). For example, if the user of phone B clicks... Figure 9If the option "Yes" is selected in window 901, then when phone A calls phone C back via MeeTime, phone C can display... Figure 8 The control 801 shown in (2) is used to prompt the user of mobile phone C with the identity information of the participants in the current seamless call.
[0158] Alternatively, an interface for authorizing call information can be displayed on phone A. For example, phone A could display "Allow Bob to obtain the identity information of all parties in the current call?". Other prompts can also be displayed on phone A; this application does not limit the specific interface presentation.
[0159] Taking an ongoing VoIP call as an example, it's important to note that an ongoing VoIP call may involve three or more parties. Some of these parties may agree to authorize their information to a third-party terminal, while others may not. Accordingly, the third-party terminal can view the information of authorized parties through its interface, but cannot view the information of unauthorized parties.
[0160] Alternatively, users can set call information to be visible to their contacts. Then, if it's confirmed that the user of phone B and the user of phone C are friends, phone C can also obtain the identity information of the participants in the current MeeTime call.
[0161] Figure 10 The flowchart of a call method according to an embodiment of this application is shown. See also Figure 10 The method includes:
[0162] S101, The first terminal and the second terminal conduct a VoIP call.
[0163] For example, taking mobile phone A as the first terminal, mobile phone B as the second terminal, and VoIP call as MeeTime, as an example... Figure 4 As shown in (1)-(2), mobile phone A can initiate a MeeTime call to mobile phone B through the MeeTime call application. After making the call but before it is connected, the call interface of mobile phone A is as follows: Figure 4 As shown in (3), after the call is connected, the call interface of mobile phone A is as follows: Figure 4 shown in (4).
[0164] S102, The third terminal sends a carrier call request to the first terminal.
[0165] Correspondingly, the first terminal receives the operator call request from the third terminal.
[0166] Here, taking the first terminal as mobile phone A, the second terminal as mobile phone B, and the third terminal as mobile phone C, with VoIP calls being MeeTime calls and carrier calls being PSTN calls as an example, for instance... Figure 5A As shown in (1), mobile phone A and mobile phone B are in a seamless call, and mobile phone C sends a PSTN call request to mobile phone A. Optionally, before connecting the PSTN call, mobile phone C can display... Figure 6A The call interface 601 is shown in (1). After receiving a PSTN call from Bob's mobile phone C, mobile phone A can display interface 509 to indicate the PSTN call from mobile phone C.
[0167] For example, such as Figure 5B As shown in (1), mobile phone A and mobile phone B are in a seamless call. Mobile phone A receives a PSTN call from Bob's mobile phone C and displays control 517 to indicate the PSTN call from mobile phone C.
[0168] It should be noted that, Figure 5A The control 511 shown in (1) and Figure 5B Control 516 shown in (2) is optional. That is, after receiving a PSTN call request from mobile phone C, if mobile phone A determines that mobile phone C supports seamless calling, mobile phone A can automatically send a seamless calling request to mobile phone C without requiring the user to input a command to trigger mobile phone A to send a seamless calling request. Figure 5B For example, after phone C connects to a seamless call, phone A can display... Figure 5B The interface shown in (3) is as follows.
[0169] S103, The first terminal determines whether the third terminal supports VoIP calls.
[0170] As one possible implementation, the first terminal (e.g., mobile phone A) has previously queried the server for call-related information about the third terminal (e.g., mobile phone C) (including whether the third terminal supports VoIP calls (e.g., MeeTime)) and stored this information locally. In this case, the first terminal can query locally whether the third terminal supports VoIP calls. Alternatively, if the first terminal does not store the call-related information of the third terminal, then the first terminal can obtain whether the third terminal supports VoIP calls from the server.
[0171] In this embodiment, if the third terminal supports VoIP calls, the first terminal can call back the third terminal through a VoIP call application (such as a MeeTime application) so that the third terminal can access the ongoing VoIP call. The process of the first terminal calling back the third terminal includes the following steps S104-S105. Conversely, if the first terminal does not support VoIP calls, as a possible implementation, the first terminal uses existing technology to handle the third terminal's carrier calls (such as PSTN calls).
[0172] S104. The first terminal sends a VoIP call request to the third terminal.
[0173] Correspondingly, the third terminal receives VoIP call requests from the first terminal.
[0174] Optionally, the seamless call request can be an invite multiparty (inviteMP) signaling.
[0175] Optionally, the first terminal sends a VoIP call request to the third terminal through the server, in order to request the third terminal to join the VoIP call between the first terminal and the second terminal.
[0176] For example, taking mobile phone A as the first terminal, mobile phone B as the second terminal, and mobile phone C as the third terminal, with VoIP calls being "MemoPay" and carrier calls being PSTN calls, mobile phone A sends a MemoPay request to mobile phone C. Before connecting the MemoPay call, mobile phone A can display the following: Figure 5A The call interface shown in (2) can be displayed on mobile phone C as follows: Figure 6A The call interface shown in (2) is 605 or Figure 6B The call interface 606 is shown in (2). For detailed descriptions of interfaces 605 and 606, please refer to the above embodiments.
[0177] S105. The third terminal joins the VoIP call based on the VoIP call request.
[0178] For example, still using mobile phone A as the first terminal, mobile phone B as the second terminal, and mobile phone C as the third terminal, with VoIP calls being seamless calls and carrier calls being PSTN calls, in one example, after receiving a seamless call request from mobile phone A, mobile phone C can join the seamless call between mobile phone A and mobile phone B. Optionally, mobile phone C can join the seamless call between mobile phone A and mobile phone B based on a user-input command. For example, mobile phone C responds to a user click... Figure 6A The instructions of control 603 shown in (2) enable seamless communication between mobile phone A and mobile phone B. For example, mobile phone C responds to the user's click... Figure 6BThe "Yes" button of control 604 shown in (2) is used to add a seamless call between mobile phone A and mobile phone B.
[0179] By using the above-mentioned call method, when a conflict between VoIP calls and carrier calls is detected, such as when a new carrier call comes in during a VoIP call, a VoIP call can be initiated to the third terminal of the new carrier call, and the third terminal can be added to the current VoIP call. This achieves the integration of VoIP calls and carrier calls, which can simultaneously meet the needs of both VoIP calls and carrier calls, and improve call efficiency.
[0180] Optionally, the above Figure 10 The corresponding embodiments may also include other steps, or, Figure 10 Some steps in the illustrated embodiments can be replaced with other steps or further refined. Accordingly, this application also provides another communication method, such as... Figure 11 As shown, the method includes the following steps:
[0181] S201, the first terminal and the second terminal join the first media room.
[0182] For details on how a terminal can join a media room, please refer to existing technologies. For example, a terminal can call the system's interface to join the first media room.
[0183] As one possible implementation, based on S201, Figure 10 Step S101 can be implemented as follows:
[0184] S101a, the first terminal and the second terminal conduct VoIP calls through the first media room.
[0185] As one possible implementation, after the first terminal joins the first media room, it can collect local media data and publish the collected media data to the server. Optionally, if the VoIP call between the first terminal and the second terminal is a voice call, the first terminal can collect only audio data; if the VoIP call between the first terminal and the second terminal is a video call, the mobile phone can collect both audio and image data.
[0186] The second terminal can subscribe to media data from one or more devices within the same media room, such as subscribing to audio and / or video data from the first terminal. Taking the first terminal as mobile phone A and the second terminal as mobile phone B as an example, for instance... Figure 4In the scenario described above, where Jack and Jane are having a seamless video call, mobile phones A and B subscribe to each other's audio and video data by default. After mobile phone A subscribes to mobile phone B's audio and video data, mobile phone A can obtain the audio and video data collected by mobile phone B and display it. Figure 4 The call interface shown in (4) plays the audio data collected by mobile phone B. Similarly, after mobile phone B subscribes to the audio and video data of mobile phone A, it can obtain the audio and video data collected by mobile phone A and display the corresponding call interface including the video data, as well as play the audio data collected by mobile phone A.
[0187] S102, The third terminal sends a carrier call request to the first terminal.
[0188] Correspondingly, the first terminal receives the operator call request from the third terminal.
[0189] Taking the first terminal as mobile phone A, the second terminal as mobile phone B, and the third terminal as mobile phone C, with carrier calls being PSTN calls and VoIP calls being MeeTime calls as an example, Figure 5A As shown in (1), mobile phone A and mobile phone B are in a seamless call. Mobile phone A receives a PSTN call from Bob's mobile phone C.
[0190] As one possible implementation, a broadcast listener can be set in mobile phone A to listen for the first broadcast from the telecom module, which is a broadcast for PSTN call events.
[0191] As another possible implementation, mobile phone A can implement the callback function onCallAdded in the InCallService module of the MeeTime call application. When onCallAdded is called, mobile phone A can determine that there is an incoming PSTN call.
[0192] Further implementation details of step S102 can be found in [link to documentation]. Figure 10 The corresponding descriptions will not be repeated here.
[0193] S103, The first terminal determines whether the third terminal supports VoIP calls.
[0194] Taking mobile phone A as the first terminal, mobile phone B as the second terminal, and mobile phone C as the third terminal, with PSTN calls and VoIP calls using the MeeTime app as an example, optionally, if mobile phone C supports MeeTime, mobile phone A can call back mobile phone C through the MeeTime application so that mobile phone C can join the ongoing MeeTime call. The process of mobile phone A calling back mobile phone C includes the following steps S105-S115. Conversely, if mobile phone C does not support MeeTime, as a possible implementation, mobile phone A can use existing technology to handle PSTN calls from mobile phone C.
[0195] For further implementation details of step S103, please refer to [link / reference]. Figure 10 The description of the corresponding embodiments will not be repeated here.
[0196] S202, the first terminal determines whether there is a friend relationship between the third user of the third terminal and the second user of the second terminal.
[0197] Step S202 is an optional step.
[0198] Taking mobile phone A as the first terminal, mobile phone B as the second terminal, and mobile phone C as the third terminal, with PSTN calls and VoIP calls as MeeTime calls as an example, optionally, after receiving a PSTN call from mobile phone C, mobile phone A can check whether the user of mobile phone B and the user of mobile phone C are friends. In some examples, if mobile phone A determines that the user of mobile phone B and the user of mobile phone C are friends, then mobile phone A can execute the following step S203, displaying a first interface to prompt whether to request mobile phone C to join MeeTime. In this method, in response to the first instruction input by the user (the instruction to request mobile phone C to join MeeTime), mobile phone A sends a MeeTime request to mobile phone C. If mobile phone A determines that the user of mobile phone B and the user of mobile phone C are not friends, then the existing call mechanism can be used. For example, as shown... Figure 7A As shown in (1), after receiving a PSTN call from mobile phone C, mobile phone A can check whether the user of mobile phone B and the user of mobile phone C are friends. In response to mobile phone A determining that the user of mobile phone B and the user of mobile phone C are friends, mobile phone A can display interface 701 to prompt whether to request mobile phone C to join the call.
[0199] In other examples, if phone A determines that the user of phone B and the user of phone C are friends, then phone A will no longer display the first screen prompting whether to request phone C to join the MeeTime call. Optionally, such as... Figure 7B As shown in (1), when mobile phone A detects that user Bob of mobile phone B and user Jane of mobile phone A are friends, it directly sends a seamless call request to mobile phone C (no longer triggered by user commands such as the first command), and displays... Figure 7B The call interface 705 shown in (2) includes a control 704 for indicating that a seamless call has been initiated to Bob's mobile phone C. If the user clicks the "Deny Join" option, mobile phone A stops sending seamless call requests to mobile phone C, and mobile phone A continues to have a seamless call with mobile phone B. If the user does not click the "Deny Join" option, mobile phone A continues to wait for mobile phone C to join the seamless call. After mobile phone C joins the seamless call, the call interface of mobile phone A can be displayed as follows: Figure 7B As shown in (3). In other examples, control 704 is optional.
[0200] As one possible implementation, step S105 is optional. That is, after finding that phone C supports MeeTime calling, phone A can directly send a MeeTime calling request to phone C without displaying the callback control. Alternatively, if phone A finds that phone C supports MeeTime calling and the user of phone C is a friend of the user of phone B, phone A can directly send a MeeTime calling request to phone C without displaying the callback control.
[0201] S203, The first terminal displays the first interface.
[0202] Optionally, step S203 can be executed after S103, i.e., S202 is not executed. Step S203 can also be executed after S202. Or, step S203 can be omitted.
[0203] The first interface can be used to prompt whether to request a third terminal to join the VoIP call. Taking the first terminal as mobile phone A, the second terminal as mobile phone B, and the third terminal as mobile phone C, with the carrier call being a PSTN call and the VoIP call being a seamless call, for example, mobile phone A receives a PSTN call from mobile phone C during a seamless call with mobile phone B. And mobile phone A can confirm that mobile phone C supports seamless calls. Therefore, mobile phone A can display something like... Figure 5A The interface 509 shown in (1) (used to prompt whether to request mobile phone C to join the seamless call), the user can initiate a callback to mobile phone C through the control 511 in the interface 509.
[0204] For another example, mobile phone A receives a PSTN call from mobile phone C while on a MeeTime call with mobile phone B. Mobile phone A checks and confirms that mobile phone C supports MeeTime calls. Therefore, mobile phone A can display something like... Figure 5B The interface 517 shown in (1) (used to prompt whether to request mobile phone C to join the seamless call), the user can initiate a callback to mobile phone C through the control 516 in the interface 517.
[0205] S204. In response to the first instruction entered by the first user on the first interface, the first terminal sends a first message to the second terminal.
[0206] The first message is used to request a third terminal to join the VoIP call. Optionally, the first message may carry the identifier of the third terminal. Optionally, the first message may be inviteMP signaling.
[0207] Taking the first terminal as mobile phone A, the second terminal as mobile phone B, and the third terminal as mobile phone C, with carrier calls being PSTN calls and VoIP calls being MeeTime calls as an example, for instance, as follows: Figure 5A As shown in (1), in response to the first instruction entered by the user on interface 509, that is, the instruction of the user clicking the "Yes" button in control 511, mobile phone A determines that the user wants to initiate a callback to mobile phone C for a seamless call. Then mobile phone A sends the first message to mobile phone B to notify mobile phone B that it has requested mobile phone C to join this seamless call.
[0208] S205. The second terminal presents the third interface based on the first message.
[0209] The third interface is used to indicate that a third terminal has been requested to join the VoIP call.
[0210] For example, taking mobile phone A as the first terminal, mobile phone B as the second terminal, and mobile phone C as the third terminal, with PSTN calls and VoIP calls being MeeTime calls, after receiving a PSTN call request from mobile phone C, mobile phone A can send a first message to mobile phone B. Mobile phone B can then display the message as follows: Figure 5C The third interface 511 shown is used to indicate that mobile phone C has been requested to join the ongoing seamless call.
[0211] Optionally, the user of mobile phone B can also choose whether to accept mobile phone C joining the seamless call through a third interface. For example, such as Figure 5D As shown, the third interface 512 includes an "Accept Join" option and a "Deny Join" option. If the user of mobile phone B clicks the "Accept Join" option, mobile phone B can send a response to mobile phone A accepting mobile phone C's joining of the seamless call, and mobile phone A can continue to execute the subsequent seamless callback process. Conversely, if the user of mobile phone B clicks the "Deny Join" option, mobile phone B can send a response to mobile phone A rejecting mobile phone C's joining of the seamless call, and mobile phone A will no longer initiate a seamless callback to mobile phone C, for example, it will not execute step S104.
[0212] S206. The second terminal obtains the identifier (room id) of the second media room based on the first message.
[0213] It is understandable that after receiving the first message from the first terminal, the second terminal learns that the first terminal has requested the third terminal to join the VoIP call. Optionally, the second terminal can obtain the identifier of the second media room in order to conduct subsequent multi-party VoIP calls in the second media room.
[0214] S207. The second terminal sends the identifier of the second media room to the first terminal.
[0215] The identifier for the second media room is used by the first terminal to join the second media room.
[0216] S208, The second terminal sends the identifier of the second media room to the third terminal.
[0217] S104. The first terminal sends a seamless call request to the third terminal.
[0218] Correspondingly, the third terminal receives the seamless call request from the first terminal. Based on this, the third terminal can know that other terminals have invited it to join the seamless call.
[0219] S209, the third terminal displays the second interface.
[0220] The second interface is used to display VoIP call requests from the first terminal. Taking the first terminal as mobile phone A, the second terminal as mobile phone B, the third terminal as mobile phone C, the VoIP call request as a seamless call request, and the carrier call as a PSTN call as an example, mobile phone C can receive the seamless call request from mobile phone A and can display... Figure 6A The interface 605 shown in (2) is used to indicate that a pending call from Jack has been received. As another example, mobile phone C can receive a call request from mobile phone A and can display... Figure 6B The interface 606 shown in (2) is used to indicate that a pending call from Jack has been received.
[0221] Optionally, with the authorization of the VoIP call participants, the second interface displayed on the third terminal may also include information about the VoIP call participants. For example, such as... Figure 8 As shown in (2), after receiving the call request from mobile phone A, mobile phone C can display the information of the participants in the call on interface 802, and can determine whether to join the call based on the information.
[0222] S210, Negotiating Key Procedure.
[0223] Step S209 is optional. It is understood that, to enhance data security, authentication of all parties involved in a call can be performed before the call is established, including but not limited to negotiating secret keys and verifying the identities of each party based on those keys.
[0224] The key negotiation process may include a series of signaling interactions. These signaling interactions include, but are not limited to, Update MP signaling.
[0225] exist Figure 11 In the corresponding embodiment, S105 can be implemented as follows: S105a, the third terminal responds to the second instruction input by the user on the second interface, joins the second media room according to the VoIP call request, the second instruction and the identifier of the second media room, and conducts VoIP calls with the first terminal and the second terminal through the second media room.
[0226] Taking the first terminal as mobile phone A, the second terminal as mobile phone B, and the third terminal as mobile phone C, with the VoIP call request being a seamless call request and the carrier call being a PSTN call as an example, it can be understood that after receiving the seamless call request from mobile phone A, mobile phone C responds to the user's input instruction to join the seamless call with the second instruction (such as clicking). Figure 6A (2) As shown in the answer control 603, if mobile phone C determines that it needs to access the seamless call between mobile phone A and mobile phone B, then mobile phone C can join the second media room according to the identifier of the second media room so as to have a seamless call with mobile phone A and B in the second media room. Among them, mobile phone C can publish corresponding media data in the second media room and subscribe to the media data of mobile phone A and mobile phone B through the second media room.
[0227] S211. The first terminal joins the second media room according to the identifier of the second media room, and conducts VoIP calls with the third terminal and the second terminal through the second media room.
[0228] S212. The second terminal joins the second media room based on the first message and the identifier of the second media room, and conducts VoIP calls with the first terminal and the third terminal through the second media room.
[0229] It is understandable that after mobile phones A, B, and C all join the second media room, all three can publish their own media data through the second media room and subscribe to the media data of other participants in the second media room. In this way, mobile phones A, B, and C can interact with each other's media data and achieve seamless three-way communication.
[0230] Through this embodiment, if the incoming terminal of a PSTN call (i.e., the third terminal) has seamless calling capability, the incoming terminal of a new PSTN call can be invited to the media room of a VoIP multi-party call, thus upgrading the current two-party call to a multi-party call.
[0231] In addition, this embodiment can provide more user experience options, such as allowing users to freely choose to merge calls (i.e., switch the current two-party VoIP call to a three-party VoIP call), keep the existing VoIP call (not answering carrier calls), or choose to answer new carrier calls, resulting in a better user experience.
[0232] In other embodiments, the call method provided in this application can also be applied to a call system including a server. The server can be used to relay data, signaling, etc., between terminals. In this case, the call method of this application can be as follows: Figure 12 As shown.
[0233] It should be noted that, Figure 12 This example uses a server that includes room management functions and signaling management functions. In other embodiments, Figure 12 A server can also be a server group, which includes multiple servers.
[0234] As one possible implementation method, in Figure 12 middle, Figure 11 Step S204 can be implemented as follows: S204a, in response to the first instruction input by the first user on the first interface, the first terminal sends a first message to the server; S204b, the server sends a first message to the second terminal. That is, the server forwards the first message from the first terminal to the second terminal.
[0235] exist Figure 12 In a corresponding embodiment, as an optional step, after receiving the first message from the first terminal, the server may execute S301, sending a ringing signal to the first terminal; and S302, sending a ringing signal to the second terminal. Thus, users of the first and second terminals can know from the ringing sound that a third terminal is joining the VoIP call.
[0236] As one possible implementation method, in Figure 12 middle, Figure 11 Step S104 can be implemented as follows: S104a, the first terminal sends a VoIP call request to the server; S104b, the server sends a VoIP call request to the third terminal. In other words, the server forwards the first message from the first terminal to the third terminal.
[0237] exist Figure 12 In a corresponding embodiment, after receiving a VoIP call request from the first terminal, the server can execute step S303 to send a ringing signal to the third terminal. Thus, the user of the third terminal can know about the VoIP call waiting to be answered based on the ringing sound.
[0238] Figure 12For implementation details of other steps, please refer to [link / reference]. Figure 10 , Figure 11 The corresponding descriptions will not be repeated here.
[0239] It should be noted that some operations in the above method embodiments can be optionally combined, and / or the order of some operations can be optionally changed. For example, S202 can be combined with S203 and S204, that is, when the first terminal determines that the user of the second terminal and the user of the third terminal are friends, the first terminal can display a first interface to prompt the user of the first terminal whether to request the third terminal to join the VoIP call. In response to the first instruction input by the first user of the first terminal on the first interface, the first terminal sends a first message to the second terminal. Alternatively, S202 can also be combined with sending the first message in S204, that is, when the first terminal determines that the user of the second terminal and the user of the third terminal are friends, the first terminal directly sends the first message to the second terminal without prompting the first user whether to request the third terminal to join the VoIP call.
[0240] Furthermore, the execution order of the steps in each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described herein. Additionally, it should be noted that this document incorporates other methods described herein (e.g., Figure 11 Corresponding methods Figure 12 The details of other processes described in the corresponding method also apply in a similar manner to the above-mentioned combination. Figure 10 The method described.
[0241] For example, Figure 11 The order of steps S204 and S104 shown can be: S204 can be executed first, or S104 can be executed first, or S104 and S204 can be executed simultaneously. As another example, the key negotiation process can be executed after S208, or before S208, or at other possible times. For example, Figure 11 The execution order of steps S210, S211, and S105a is also unrestricted.
[0242] Alternatively, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments can be optional and can be deleted in certain use cases. Alternatively, other possible steps can be added to the method embodiments.
[0243] For example, Figure 11The corresponding embodiment takes the second terminal determining the identifier of the second media room after the switch as an example. In other embodiments, the first terminal may determine the identifier of the second media room, or the first terminal and the second terminal may determine which media room to switch the two-way call from the first media room through a negotiation process. Alternatively, the server may determine the identifier of the second media room. This application embodiment does not limit the specific implementation of determining the identifier of the second media room.
[0244] The above embodiments are mainly illustrated using the example of a two-way seamless call. The technical solutions of the embodiments of this application are still applicable to scenarios where the original seamless call is a multi-way seamless call.
[0245] Furthermore, the above embodiments mainly take receiving a PSTN call during a VoIP call as an example. In other embodiments, the technical solutions of this application can also be applied to scenarios where another VoIP call is received during a VoIP call, scenarios where another PSTN call is received during a PSTN call, and scenarios where a VoIP call is received during a PSTN call.
[0246] In this embodiment, the ongoing call is referred to as the first call, and the newly received call is referred to as the second call. If the first terminal receives a second call request (e.g., a PSTN call) from the third terminal while conducting a first call (e.g., a seamless call) with the second terminal, the first terminal can call back the third terminal using the first call method (e.g., calling back the third terminal through the seamless call application). In this way, the first terminal can simultaneously talk to the second and third terminals, effectively improving call efficiency.
[0247] This application also provides a call method whereby, upon receiving an incoming call from a mobile carrier, if the calling terminal supports VoIP calling, it can call back the calling terminal via VoIP, enabling communication between terminals via VoIP. Figure 13 As shown, the method includes:
[0248] S401, the third terminal sends a carrier call request to the first terminal.
[0249] For details on how to implement this step, please refer to step S102 above.
[0250] For example, taking mobile phone C as the third terminal and mobile phone A as the first terminal, mobile phone C sends a carrier call request to Jack's mobile phone A, and mobile phone C can display as follows: Figure 15 The call interface 601 shown in (1) is as follows. After receiving the operator's call request from mobile phone C, mobile phone A can display the following: Figure 14 The control 1401 shown in (1) is used to indicate pending carrier calls.
[0251] S402, The first terminal determines whether the third terminal supports VoIP calls.
[0252] For details on how to implement this step, please refer to step S103 above.
[0253] S403, The first terminal sends a VoIP call request to the third terminal.
[0254] For details on how to implement this step, please refer to step S104 above.
[0255] For example, if the third terminal supports VoIP call requests, the first terminal sends a VoIP call request to the third terminal.
[0256] Optionally, the first terminal may also display a UI to prompt the user that a VoIP call request has been sent to the third terminal, or to ask the user whether to send a VoIP call request to the third terminal. If the user agrees to send a VoIP call request (e.g., the user enters the command "send VoIP call request"), the first terminal sends a VoIP call request to the third terminal. Alternatively, the first terminal may display other UI elements.
[0257] For example, the first terminal sends a VoIP call request to the third terminal, and may display as follows: Figure 14 Window 1402, shown in (1), is used to indicate that a seamless call has been initiated to mobile phone C. The user can click the "Cancel" button to control mobile phone A to stop the seamless call-back process. After mobile phone A stops the seamless call-back, missed calls on mobile phone C can be handled according to existing technology. For example, after detecting the user's operation of clicking the answer control 1403 or swiping up to answer the control 1403, the operator call on mobile phone C can be answered. After detecting the user's operation of clicking the hang-up control 1404 or swiping up to hang-up the control 1404, the operator call on mobile phone C can be hung up.
[0258] As another example, the first terminal may also display, for example, Figure 5A The control 511 shown in (1) is used to ask the user whether to send a seamless call request to the mobile phone C. After detecting that the user clicks the "Yes" button, the first terminal sends a seamless call request to the third terminal.
[0259] For example, after the first terminal sends a seamless call request to the third terminal, the first terminal may display something such as... Figure 14 The call interface shown in (2) is displayed on the third terminal. Figure 15 The call interface shown in (2) is as follows.
[0260] S404. The third terminal initiates a VoIP call with the first terminal based on the VoIP call request.
[0261] For details on how to implement this step, please refer to step S105 above.
[0262] For example, taking VoIP calls as an example of seamless calling, the call interfaces of the first terminal and the third terminal during the seamless calling process can be as follows: Figure 14 (3) Figure 15 As shown in (3).
[0263] This application also provides a call method, such as... Figure 16 The method includes:
[0264] S401, the third terminal sends a carrier call request to the first terminal.
[0265] S402, The first terminal determines whether the third terminal supports VoIP calls.
[0266] S501, the first terminal displays the first interface.
[0267] The first interface can be used to ask whether to send a VoIP call request to the third terminal, or to indicate that a VoIP call request has been sent to the third terminal. For example, the first interface can be such as... Figure 14 The prompt interface shown in (1), or the first interface, includes, for example, Figure 5A The query control 511 is shown in (1).
[0268] For a detailed implementation of step S501, please refer to step S203 above.
[0269] S403, The first terminal sends a VoIP call request to the third terminal.
[0270] For details on how to implement this step, please refer to step S104 above.
[0271] In some examples, if the first terminal does not execute S501, then if it is determined that the third terminal supports VoIP call requests, the first terminal can directly send a VoIP call request to the third terminal.
[0272] In some examples, if the first terminal executes S501, the first terminal can send a VoIP call request to the third terminal after detecting the operation instruction of the user input indicating to send a VoIP call request.
[0273] S502, The first terminal obtains the identifier of the second media room.
[0274] The process of the first terminal obtaining the identifier of the second media room can be found in the above-described implementation process of the second terminal obtaining the second media room, which will not be repeated here.
[0275] S503, The first terminal sends the identifier of the second media room to the third terminal.
[0276] S504, the second terminal displays the second interface.
[0277] The second interface is used to prompt VoIP call requests.
[0278] For details on how step S504 is implemented, please refer to step S208 above.
[0279] For example, the second interface can be such as Figure 15 The interface shown in (2) is as follows.
[0280] S505, Negotiation of Key Procedure.
[0281] S506. The first terminal joins the second media room according to the identifier of the second media room, and conducts VoIP calls with the third terminal through the second media room.
[0282] S404a: In response to the second instruction entered by the user on the second interface, according to the VoIP call request, the second instruction and the identifier of the second media room, join the second media room and conduct a VoIP call with the first terminal through the second media room.
[0283] For example, such as Figure 15 As shown in (2), in the second interface 605, if the user clicks the second instruction of answer button 603, the third terminal joins the second media room according to the identifier of the second media room, and makes a VoIP call with the first terminal through the second media room.
[0284] This application also provides a call method, which can be applied to a call system including a server. For example... Figure 17 A flowchart of the method is shown. In this method, the server can be used to forward signaling and / or data between the first terminal and the third terminal.
[0285] in, Figure 17 For the specific implementation of steps S403a, S403b, S602, S601, S503a, and S503b, please refer to steps S104a, S104b, S302, S303, S206, and S208 above. Figure 17 Other steps can also refer to the corresponding steps in the above embodiments, and will not be repeated here.
[0286] It should be noted that some operations in the processes of the above method embodiments are optionally combined, and / or the order of some operations is optionally changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described herein. Additionally, it should be noted that this document combines other methods described herein (e.g., Figure 10 , Figure 11 Corresponding methods Figure 12 The details of other processes described in the corresponding method also apply in a similar manner to the above-mentioned combination. Figure 13 , Figure 16 , Figure 17 The method described.
[0287] Alternatively, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments can be optional and can be deleted in certain use cases. Alternatively, other possible steps can be added to the method embodiments. For example, Figure 17 The step S502 shown can also be determined by the server or a third terminal. This application embodiment does not limit the way of determining the second media room identifier, nor does it limit the way the second media room is forwarded between devices.
[0288] In other embodiments, the terminal may provide an entry point for configuring the seamless callback function. For example, Figure 18 As shown in (1)-(3), when the user turns on switch 1001, it further allows callbacks to be made to the PSTN caller who is currently on a call. After the user enables the smart callback function, Figure 18 As shown, the conditions for the intelligent callback function can be set. Subsequently, when the terminal detects that the condition is met, it can intelligently call back the PSTN caller during a seamless call to improve communication efficiency between terminals.
[0289] It should be noted that the interfaces in the various embodiments of this application can be used individually or in combination. The embodiments of this application do not limit the specific implementation of the interfaces.
[0290] Other embodiments of this application provide an apparatus, which can be the aforementioned electronic device (such as a foldable screen phone). The apparatus may include a display screen, a memory, and one or more processors. The display screen, memory, and processors are coupled. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the mobile phone in the above method embodiments. The structure of the electronic device can be referred to... Figure 2A or Figure 2B The electronic device shown.
[0291] The core structure of this electronic device can be represented as follows: Figure 19 The structure shown may include: a processing module 1301, an input module 1302, a storage module 1303, and a display module 1304.
[0292] Processing module 1301 may include at least one of a central processing unit (CPU), an application processor (AP), or a communication processor (CP). Processing module 1301 may perform operations or data processing related to the control and / or communication with at least one of other components of the user electronic device.
[0293] by Figure 19 The structure shown is an example of the structure in the first terminal. The processing module 1301 is used to make VoIP calls with the second terminal. During the call, the processing module 1301 can call modules such as the communication module 1305 to perform corresponding functions.
[0294] Optionally, the processing module 1301 is further configured to determine whether the third user of the third terminal and the second user of the second terminal have a friend relationship.
[0295] by Figure 19 The structure shown is an example of the structure in the third terminal. The processing module 1301 is used to join the VoIP call according to the VoIP call request received from the first terminal.
[0296] Joining the VoIP call according to the VoIP call request includes:
[0297] In response to a second instruction input by the user on the second interface, the user joins the VoIP call according to the VoIP call request and the second instruction, wherein the second instruction is used to instruct the user to join the VoIP call.
[0298] Input module 1302 is used to acquire user input instructions or data and transmit the acquired instructions or data to other modules of the electronic device. Specifically, the input method of input module 1302 may include touch, gesture, proximity to the screen, or voice input. For example, the input module may be the screen of the electronic device, acquire user input operations, generate input signals based on the acquired input operations, and transmit the input signals to processing module 1301.
[0299] The storage module 1303 may include volatile memory and / or non-volatile memory. The storage module is used to store at least one related instruction or data from other modules of the user terminal device; specifically, the storage module may record the location of the UI element on the terminal interface.
[0300] Display module 1304 may include, for example, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, a microelectromechanical system (MEMS) display, or an electronic paper display. It is used to display user-viewable content (e.g., text, images, videos, icons, symbols, etc.).
[0301] by Figure 19 The structure shown is an example of the structure in the first terminal. The display module 1304 is used to present the first interface, which is used to prompt whether to request the third terminal to join the VoIP call.
[0302] The presentation of the first interface includes: responding to the fact that the second user and the third user are friends, presenting the first interface.
[0303] by Figure 19 The structure shown is an example of the structure in the third terminal. The display module 1304 is used to present the second interface, which is used to prompt the VoIP call request.
[0304] Optional, Figure 19 The illustrated structure may also include a communication module 1305 for supporting communication between the electronic device and other electronic devices. For example, the communication module may be connected to a network via wireless or wired communication to communicate with other personal terminals or network servers. Wireless communication may employ at least one of the following cellular communication protocols: Long Term Evolution (LTE), LTE-A Advanced, Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), Wi-Fi, or Global System for Mobile Communications (GSM). Wireless communication may include, for example, short-range communication. Short-range communication may include, but is not limited to, at least one of Wi-Fi, Bluetooth, Near Field Communication (NFC), Magnetic Stripe Transmission (MST), or GNSS.
[0305] by Figure 19 The structure shown is an example of the structure in the first terminal. The communication module 1305 is used to receive a call request from the operator of the third terminal during a VoIP call with the second terminal; and to send a VoIP call request to the third terminal if it is determined that the third terminal supports VoIP calls.
[0306] Sending the VoIP call request to the third terminal includes: in response to a first instruction input by a first user of the first terminal on the first interface, sending the VoIP call request to the third terminal.
[0307] Sending the VoIP call request to the third terminal includes: in response to determining that the second user and the third user are friends, sending the VoIP call request to the third terminal.
[0308] by Figure 19 The structure shown is an example of the structure in the third terminal. The communication module 1305 is used to send a carrier call request to the first terminal and receive a VoIP call request from the first terminal during the process of the first terminal and the second terminal making a VoIP call.
[0309] This application also provides a chip system, such as... Figure 20 As shown, the chip system includes at least one processor 1401 and at least one interface circuit 1402. The processor 1401 and the interface circuit 1402 are interconnected via lines. For example, the interface circuit 1402 can be used to receive signals from other devices (e.g., the memory of an electronic device). As another example, the interface circuit 1402 can be used to send signals to other devices (e.g., the processor 1401). Exemplarily, the interface circuit 1402 can read instructions stored in the memory and send those instructions to the processor 1401. When the instructions are executed by the processor 1401, the electronic device can perform the steps in the above embodiments. Of course, the chip system may also include other discrete devices, and this application embodiment does not specifically limit this.
[0310] This application also provides a computer storage medium that includes computer instructions. When the computer instructions are executed on the electronic device, the electronic device causes the electronic device to perform various functions or steps performed by the mobile phone in the above method embodiment.
[0311] This application also provides a computer program product that, when run on a computer, causes the computer to perform the various functions or steps performed by the mobile phone in the above method embodiments.
[0312] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0313] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0314] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0315] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0316] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0317] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication system, characterized in that, Including the first terminal, the second terminal, and the third terminal; The first terminal is used to make VoIP calls with the second terminal, and to receive operator call requests from the third terminal during the VoIP call with the second terminal. The first terminal is further configured to send a VoIP call request to the third terminal when it is determined that the third terminal supports VoIP calls, wherein the VoIP call request is used to request the third terminal to join the VoIP call; The third terminal is used to receive the VoIP call request from the first terminal; The third terminal is also used to present a second interface, which is used to prompt the VoIP call request containing information about the second terminal. The third terminal is also used to determine whether to join the VoIP call based on the VoIP call request; The first terminal is configured to send a VoIP call request to the third terminal, including: in response to determining that a second user of the second terminal and a third user of the third terminal have a friend relationship, sending the VoIP call request to the third terminal.
2. The system according to claim 1, characterized in that, The first terminal is also used to display a first interface, which is used to prompt whether to request the third terminal to join the VoIP call.
3. The system according to claim 2, characterized in that, The first terminal is configured to send a VoIP call request to the third terminal, including: in response to a first instruction input by a first user of the first terminal on the first interface, sending the VoIP call request to the third terminal.
4. The system according to any one of claims 1-3, characterized in that, The first terminal is further configured to determine whether the third user of the third terminal and the second user of the second terminal have a friend relationship.
5. The system according to any one of claims 1-3, characterized in that, The first terminal is used to present a first interface, including: in response to determining that the second user and the third user have a friend relationship, presenting the first interface.
6. The system according to any one of claims 1-3, characterized in that, The second terminal is also used to authorize the first terminal to confirm the friend relationship.
7. A method for making a call, characterized in that, Applied to a first terminal; the method includes: To make a VoIP call with a second terminal; During a VoIP call with the second terminal, a carrier call request is received from the third terminal; If it is determined that the third terminal supports VoIP calls, a VoIP call request is sent to the third terminal, the VoIP call request being used to request the third terminal to join the VoIP call; Sending the VoIP call request to the third terminal includes: in response to determining that the second user of the second terminal and the third user of the third terminal are friends, sending the VoIP call request to the third terminal.
8. The method according to claim 7, characterized in that, The method further includes: presenting a first interface, the first interface being used to prompt whether to request the third terminal to join the VoIP call.
9. The method according to claim 8, characterized in that, Sending the VoIP call request to the third terminal includes: in response to a first instruction input by a first user of the first terminal on the first interface, sending the VoIP call request to the third terminal.
10. The method according to any one of claims 7-9, characterized in that, The method further includes: determining whether the third user of the third terminal and the second user of the second terminal have a friend relationship.
11. The method according to claim 8 or 9, characterized in that, The presentation of the first interface includes: responding to the fact that the second user and the third user are friends, presenting the first interface.
12. A method for making a call, characterized in that, Applied to a third terminal; the method includes: During a VoIP call between the first terminal and the second terminal, a carrier call request is sent to the first terminal. If the second user of the second terminal and the third user of the third terminal are friends, a VoIP call request is received from the first terminal. A second interface is presented, which is used to prompt the VoIP call request containing the information of the second terminal, and to join the VoIP call according to the VoIP call request.
13. The method according to claim 12, characterized in that, The method further includes: The first terminal is authorized to confirm the friend relationship.
14. The method according to claim 13, characterized in that, Joining the VoIP call according to the VoIP call request includes: In response to a second instruction input by the user on the second interface, the user joins the VoIP call according to the VoIP call request and the second instruction, wherein the second instruction is used to instruct the user to join the VoIP call.
15. An electronic device, characterized in that, include: A processor, a memory coupled to the processor, the memory for storing computer program code including computer instructions, which, when the processor reads the computer instructions from the memory, cause the electronic device to perform the method as described in any one of claims 7-14.
16. A computer-readable storage medium storing instructions, characterized in that, When the instructions are executed on an electronic device, the electronic device causes the electronic device to perform the method as described in any one of claims 7-14.
17. A computer program product containing instructions, characterized in that, When the computer program product is run on an electronic device, it causes the electronic device to perform the method as described in any one of claims 7-14.
Citation Information
Patent Citations
Call switching method, device and system
CN105792188A