Call system switching method and device, nonvolatile storage medium and electronic equipment
By detecting the switching event in the terminal and selecting the corresponding call system for switching, the integration difficulties and complex switching problems caused by different standards between various call systems are solved, and smooth switching and optimized communication of call systems are realized.
Patent Information
- Application Number
- CN202411569513.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-02-14
AI Technical Summary
Different standards between multiple call standards lead to difficulties in integrating call standards and complex switching.
By detecting the switching event in the terminal, determine the type of the switching event and the currently used call format, and select the corresponding second call format from the alternative call format set to switch, close the communication module of the first call format, and then go to The communication module of the second call system sends a switching command.
It realizes smooth switching and optimized communication of call standards, solving the integration difficulties and complex switching problems caused by different standards between multiple call standards.
Smart Images

Figure CN119450627A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of wireless communication technology, and in particular to a call mode switching method, device, non-volatile storage medium and electronic device. Background Art
[0002] In addition to the traditional cellular / volte (long-term evolution voice bearer, 4G high-definition call) dual-mode, many new forms have emerged in recent years, such as satellite calls (multiple standards), quantum secret calls, and local encrypted calls. These functions have different standards at the communication layer, which adds obstacles to the adaptation of the system, system software, and upper-layer software, and ultimately troubles users.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present application provide a call format switching method, device, non-volatile storage medium and electronic device to at least solve the technical problems of difficulty in integrating call formats and complex switching caused by different standards among multiple call formats.
[0005] According to one aspect of an embodiment of the present application, a call standard switching method is provided, including: detecting a switching event in a terminal for triggering switching between a first call standard and a second call standard; determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the turning on of the communication module corresponding to the second call standard.
[0006] Optionally, the first call mode and the second call mode both include at least one of the following: satellite network, wide area encrypted call, local area encrypted call, high-definition voice call, cellular call and emergency call.
[0007] Optionally, determining the type of switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from the set of alternative call standards includes: when the type of the switching event is that the first call standard is unavailable, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns on the call standard, selecting the call standard actively turned on by the user from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns off the call standard, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard.
[0008] Optionally, after sending a first switching instruction to the communication module corresponding to the second call standard, the method also includes: receiving a first switching result returned by the communication module corresponding to the second call standard; when the first switching result is a switching failure, reselecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard; sending a second switching instruction to the communication module corresponding to the reselected second call standard; receiving a second switching result returned by the communication module corresponding to the reselected second call standard; when the second switching result is a switching failure, executing the above steps again until the switching result is a switching success.
[0009] Optionally, the terminal stores multiple sets of switching conditions, and the method also includes: continuously detecting the call quality of the first call standard; when the call quality meets any one of the multiple sets of switching conditions, selecting a call standard corresponding to the switching condition from the set of alternative call standards as the second call standard; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard.
[0010] Optionally, before sending the first switching instruction to the communication module corresponding to the second call standard, the method also includes: detecting whether the terminal supports the second call standard; if the terminal does not support the second call standard, re-selecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard.
[0011] Optionally, after switching the call standard, the method also includes: broadcasting a switching message of the first call standard to a target application in the device, the target application including: an application supporting the first call standard, and after detecting the switching message, the target application starts a process corresponding to the first call standard.
[0012] According to another aspect of an embodiment of the present application, a call standard switching device is also provided, including: a detection module, used to detect a switching event in a terminal for triggering a switch between a first call standard and a second call standard; a determination module, used to determine the type of the switching event and the first call standard currently being used by the terminal, and select a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; a switching module, used to turn off the communication module corresponding to the first call standard, and send a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
[0013] According to another aspect of an embodiment of the present application, a non-volatile storage medium is provided, in which a program is stored, wherein when the program is running, a device where the non-volatile storage medium is located is controlled to execute a call mode switching method.
[0014] According to another aspect of an embodiment of the present application, there is further provided an electronic device, including: a memory and a processor, the processor being configured to run a program stored in the memory, wherein the call format switching method is executed when the program is run.
[0015] According to another aspect of an embodiment of the present application, a computer program product is also provided, including a computer program, and when the computer program is executed by a processor, a call format switching method is implemented.
[0016] In an embodiment of the present application, a switching event is detected in a terminal to trigger switching between a first call standard and a second call standard; the type of the switching event and the first call standard currently being used by the terminal are determined, and a second call standard corresponding to the type is selected from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; the communication module corresponding to the first call standard is turned off, and a first switching instruction is sent to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard. By selecting the call standard to be switched based on the switching event and the current call standard, the purpose of unified management and automatic adaptation of the call standard is achieved, thereby achieving the technical effect of smooth switching of call standards and optimized communication, thereby solving the technical problems of difficult call standard integration and complex switching caused by different standards among multiple call standards. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0018] Figure 1 It is a structural schematic diagram of a computer terminal (mobile device) provided according to an embodiment of the present application;
[0019] Figure 2 It is a flowchart of a call mode switching method provided according to an embodiment of the present application;
[0020] Figure 3 is a schematic diagram of an optional state machine design provided according to an embodiment of the present application;
[0021] Figure 4 It is a structural schematic diagram of a call format switching device provided according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0024] In order to better understand the embodiments of the present application, the technical terms involved in the embodiments of the present application are explained as follows:
[0025] State machine: A mathematical model used to describe the behavior and transitions of an object in different states. It consists of a set of states, a set of possible inputs and outputs, and transition rules between states. State machines can be used to model and analyze various systems, such as computer programs, circuits, communication protocols, etc. It can help understand the behavior of the system, as well as design and verify the system. In a state machine, backoff refers to the operation of returning from the current state to the previous state. It is usually used to undo the previous operation or go back to the previous step. The backoff operation in the state machine can determine the specific behavior based on the relationship between the current state and the previous state.
[0026] Outbound calls: refers to calls made via mobile or landline phones to phones on different networks or in different regions. For example, calls from mobile phones to landline phones, other mobile phones, or international long-distance calls are all outbound calls.
[0027] In the related technologies, only the switching technology between the main and secondary cards and the switching method of the dual-mode system are involved. The switching technology between the main and secondary cards is mainly aimed at the dual-card switching scenario, and the secondary card is smoothly switched in a low-power, user-imperceptible way. It does not involve the switching method of multiple modules, and cannot solve the adaptation problem between modules corresponding to multiple different call systems. The switching method of the dual-mode system is mainly aimed at the seamless switching of the dual modes during the call process, with the purpose of providing better call quality. The two preset systems do not interfere with each other at all, or are only different formats of a single system, so the signal strength of the second system can be judged in the first system call. The relationship between the systems is relatively simple, and it cannot solve the problem of difficult integration and complex switching of multiple call systems.
[0028] In order to solve the above problems, relevant solutions are provided in the embodiments of the present application, which are described in detail below.
[0029] According to an embodiment of the present application, a method embodiment of a call format switching method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0030] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 The hardware structure block diagram of a computer terminal (or mobile device) for implementing a call mode switching method is shown. Figure 1As shown, the computer terminal 10 (or mobile device 10) may include one or more (102a, 102b, ..., 102n are used to illustrate) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0031] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computer terminal 10 (or mobile device). As described in the embodiments of the present application, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0032] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the call mode switching method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, the above-mentioned call mode switching method is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0033] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0034] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 10 (or mobile device).
[0035] The technical solutions of the embodiments of the present application can be applied to various communication systems, for example: Global System of Mobile communication (GSM) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD), Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication system or 5G system, etc.
[0036] Exemplarily, the communication system applied in the embodiment of the present application may include a network device, and the network device may be a device that communicates with a terminal device (or referred to as a communication terminal, terminal). The network device may provide communication coverage for a specific geographical area, and may communicate with a terminal device located in the coverage area. Optionally, the network device may be a base station (Base Transceiver Station, BTS) in a GSM system or a CDMA system, or a base station (NodeB, NB) in a WCDMA system, or an evolved base station (Evolutional Node B, eNB or eNodeB) in an LTE system, or a wireless controller in a cloud radio access network (Cloud Radio Access Network, CRAN), or the network device may be a mobile switching center, a relay station, an access point, a vehicle-mounted device, a wearable device, a hub, a switch, a bridge, a router, a network side device in a 5G network, or a network device in a future evolved public land mobile network (Public Land Mobile Network, PLMN), etc.
[0037] The communication system also includes at least one terminal device within the coverage of the network device. As used herein, "terminal device" includes but is not limited to connection via a wired line, such as via a public switched telephone network (PSTN), a digital subscriber line (DSL), a digital cable, a direct cable connection; and / or another data connection / network; and / or via a wireless interface, such as, for a cellular network, a wireless local area network (WLAN), a digital television network such as a DVB-H network, a satellite network, an AM-FM broadcast transmitter; and / or another terminal device is configured to receive / send a communication signal; and / or an Internet of Things (IoT) device. A terminal device configured to communicate via a wireless interface may be referred to as a "wireless communication terminal", "wireless terminal" or "mobile terminal". Examples of mobile terminals include, but are not limited to, satellite or cellular telephones; Personal Communications System (PCS) terminals that may combine cellular radiotelephones with data processing, fax, and data communications capabilities; PDAs that may include radiotelephones, pagers, Internet / Intranet access, Web browsers, notepads, calendars, and / or Global Positioning System (GPS) receivers; and conventional laptop and / or palmtop receivers or other electronic devices that include radiotelephone transceivers. A terminal device may refer to an access terminal, user equipment (UE), a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a terminal, a wireless communication device, a user agent, or a user device. The access terminal can be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal device in a 5G network, or a terminal device in a future evolved PLMN, etc.
[0038] Optionally, device to device (D2D) communication may be performed between terminal devices.
[0039] Optionally, the 5G system or 5G network may also be referred to as a New Radio (NR) system or NR network.
[0040] In the above operating environment, the embodiment of the present application provides a method for switching call formats, such as Figure 2 As shown, the method comprises the following steps:
[0041] Step S202, detecting a switching event in the terminal for triggering switching between a first call standard and a second call standard;
[0042] In the technical solution provided in step S202, the first call mode and the second call mode both include at least one of the following: satellite network, wide area encrypted call, local area encrypted call, high-definition voice call, cellular call and emergency call.
[0043] Optionally, there are currently multiple call formats, but the existing call formats have their own limitations and are complex dependencies on each other. It is necessary to centrally integrate and process multiple call formats of the terminal to facilitate upper-layer adaptation. The specific call formats are as follows:
[0044] a. Satellite network call format: The high-orbit satellite network currently used in China (combined with the size of handheld devices) requires you to actively disconnect from the cellular network before trying to access the network. They cannot work together, and the network access process will experience a completely network-free state. Under this format, the satellite communication module in the terminal requires disconnection from the cellular network to avoid signal interference. The process of turning on and off the satellite module, searching for satellite signals and accessing the network is relatively slow, which may affect the immediacy and convenience of calls. In addition, when the satellite network is enabled, the cellular network will be shut down, causing other functions that rely on the cellular network, such as data services, positioning services, and some applications, to be unavailable.
[0045] b. Quantum Secret Talk (Wide Area Encrypted Call Mode): Quantum Secret Talk is a wide area call mode that uses quantum physics principles for encryption. It requires that the other party's communication status and the encryption status of the call be clearly displayed to the user to provide a secure call environment. In quantum secret talk mode, the phone user interface will switch to a specific display style and provide unique status prompts related to quantum secret talk. It may involve adaptation between multiple software to ensure the smooth progress of encrypted calls. Since the software layer needs to replace the key, it is a call mode based on the general cellular network. At the same time, the existing quantum secret talk solution is mainly based on volte calls, and it is hoped that it will be selected before volte calls.
[0046] c. Local encrypted call mode: Local encrypted calls rely on data networks and specific user network authentication, which requires users to log in to a specific local network to make encrypted calls. In the local encrypted call mode, the phone interface will show the user whether the other party supports encrypted calls, and only specific software can access the call status information, maintaining complete confidentiality for third-party software, thereby increasing the security of the call, relying on volte calls, and hoping to be selected before volte calls.
[0047] d. Conventional VoLTE call format: VoLTE (Voice over LTE) is a voice call technology based on 4G or 5G data networks, which allows users to access high-speed data services while maintaining high-quality calls. When making a VoLTE call, the device needs to be connected to the data network to ensure clear and smooth voice and video calls. VoLTE calls are based on the 4G standard (4G cellular network) to transmit voice information. In non-Volte scenarios, the call standard has not continued to improve (maintaining basic calls does not require higher bandwidth), and the 2G / 3G standard is still used and will be gradually discontinued.
[0048] e.LTE cellular call standard: LTE cellular call is a call method based on 4G network, mainly referring to data network connection. It has no additional technical or hardware requirements and is the most common and convenient call standard. Under this standard, the call quality is stable, and users can easily make calls without paying attention to additional network or encryption settings.
[0049] f. Emergency Call Mode: The Emergency Call Mode allows emergency telephone communications without a SIM card or SIMC card, or without access to a regular network. It provides a whitelist of specific numbers that can be dialed in an emergency, such as emergency service hotlines, to ensure that necessary emergency communications can be made in any situation.
[0050] Emergency calls will at least use the telephone network, but in reality they may also use any possible method such as cellular, volte, etc.
[0051] Emergency calls are the bottom line of terminal devices. Emergency calls will try to use any available resources, regardless of the network connection status from the user's perspective.
[0052] Each call mode has its own unique application scenarios and limitations. This application scheme designs a state machine management method to uniformly manage and optimize the switching between different call modes to improve user experience and communication efficiency.
[0053] Step S204, determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from the candidate call standard set, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable;
[0054] Optionally, when the terminal detects that the switching event is that the user interacts with the user interface (UI) of the terminal and explicitly sends an instruction or signal to the terminal to indicate that a specific call mode is enabled, the type of the switching event is determined to be that the user actively turns on the call mode. When the terminal detects that the switching event is that the user interacts with the user interface (UI) of the device and explicitly sends an instruction or signal to the terminal to indicate that the currently enabled specific call mode is disabled or terminated, the type of the switching event is determined to be that the user actively turns off the call mode. When the terminal detects that the switching event is that the current communication mode cannot provide effective services or achieve the expected communication quality, the type of the switching event is determined to be that the first call mode is unavailable, which may be caused by poor signal quality, network access failure, hardware failure, resource limitations, and network congestion.
[0055] In the technical solution provided in step S204, the type of switching event and the first call standard currently being used by the terminal are determined, and the second call standard corresponding to the type is selected from the set of alternative call standards, including: when the type of the switching event is that the first call standard is unavailable, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns on the call standard, selecting the call standard actively turned on by the user from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns off the call standard, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard.
[0056] Optionally, in order to realize the communication network of the above multiple modes, the alternative call mode corresponding to the switching event type is set in the form of a finite state machine. Figure 3 A state machine design is shown, such as Figure 3 As shown, the state machine includes: a. satellite network, b. quantum encrypted call, c. local encrypted call, d. conventional volte call, e. LTE cellular call, f. all call modules are closed, and the events include:
[0057] a: The user turns off the module and switches to d; card recognition fails / network access fails, and switches to d.
[0058] b: Quantum Shield fails to access the network, switch to d; manually turn on the Tiantong module, switch to a; quantum and density negotiation fails, switch to d.
[0059] c: Manually enable quantum secret talk and switch to b; if network access fails or the other party does not support it, switch to d.
[0060] d: Manually open a / b / c and switch to a / b / c; disconnect from the network and switch to e. Manually close the module and switch to e;
[0061] e: Manually turn on the satellite module and switch to f; card recognition fails, and the module re-recognizes.
[0062] f: When exiting emergency call, switch to g.
[0063] g: Manually turn on the cellular module and switch to e. Manually turn on the Tiantong module and switch to a.
[0064] Optionally, based on the above-mentioned states and state transition conditions, multiple states involving the use of outbound calls are established, wherein the above-mentioned multiple states include a. satellite network, b. quantum secret call, c. local encrypted call, d. conventional volte call, e. LTE cellular call, and f. all call modules are turned off; determining the current state machine to manually turn on the state; providing the only acceptable communication method for the outbound call through the state; in the state, manually turning on the state when any other state is not allowed; and after manually turning on the state in an unallowed state to use the prohibited state, providing the only acceptable communication method for the outbound call through the state.
[0065] Specifically, this means that the user or the system manually chooses to switch to another communication mode in the current state, such as switching from a cellular network (state e) to a quantum secret call (state b).
[0066] The only acceptable communication method for the outbound call is provided by the state: once the state machine switches to the selected state, it will ensure that the current communication method is the only feasible communication method corresponding to the state. For example, when the state machine is in the quantum secret talk state, only quantum secret talk communication will be allowed to ensure that the call is encrypted.
[0067] In the state, it is not allowed to manually open the state while using any other state: that is, when the device is in a specific state, it is not allowed to try to switch to another incompatible state at the same time. For example, if the device is using quantum secret talk (state b), it is not allowed to open the satellite network (state a) at the same time, because these two communication modes may be incompatible and may require different hardware resources.
[0068] After manually turning on the state in an unallowed state to use the prohibited state, the only acceptable communication method for the outgoing call is provided through the state: that is, if the user or the system attempts to manually turn on another communication mode in an incompatible state, the state machine will automatically adjust, return to a permitted state, and provide the corresponding communication method. For example, if the user attempts to make a regular volte call without a SIM card (state d), the state machine will not allow this operation, but may return to the "all call modules are off" state (state f), or automatically adjust to the emergency call mode of the cellular network to ensure that the user can dial an emergency number.
[0069] Optionally, multiple fallback states involving the use of the outbound call are established, the fallback state including any other fallback state that can be entered when in the state, each fallback state including any other fallback state that cannot be used in the fallback state; the fallback state is manually activated; and the only acceptable communication method for the outbound call is provided through the fallback state.
[0070] Specifically, establishing multiple fallback states related to the use of the outbound call means that in the state machine, the fallback state refers to allowing the system or the user to return to a previous state under certain circumstances. For outbound calls, this means designing multiple states, each of which allows returning to another state under certain conditions, but at the same time restricts the possibility of returning to other states.
[0071] The fallback state includes any other fallback states that can be entered when in the state: this means that the fallback state itself is also part of the state machine, and each fallback state not only defines the state that can be returned to from the previous state, but also may restrict the path from the current fallback state to further return to other states. For example, from quantum secret talk (state b) to regular volte talk (state d), it may not be allowed to fall back to the satellite network (state a).
[0072] Manually start the fallback state: the user or system can actively choose to fall back from the previous communication state to another state. This is usually triggered when encountering problems (such as poor signal, encryption failure, etc.) or changing communication requirements.
[0073] Through the fallback state, the only acceptable communication method for the outbound call is provided: when falling back from the current state to another state, the state machine will ensure that the outbound call communication method that matches the fallback state is used. For example, if you fall back from quantum secret talk (state b) to regular volte call (state d), the system will automatically adjust to the communication mode that supports volte, and will not try to use other incompatible communication methods.
[0074] Optionally, each state machine uses a finite state machine to describe an object, each object represents a communication format, and each control object is instantiated as a state machine instance, which is used to realize the generation, operation and destruction of multiple instances of the state machine;
[0075] Among them, the switching of each state is triggered by the instruction generated by the switching event. The execution of each instruction has a keep-alive cycle, which is used to implement the associated logic of the instruction and control the execution process of the instruction. After the current state machine receives the switching instruction, it returns the execution result of the instruction to the previous state machine and controls the state machine instance to perform the corresponding switching action: send a state machine event to the corresponding state machine instance to drive the operation of the state machine instance.
[0076] The instructions include:
[0077] 1) A sequence consisting of a series of instruction items; the instruction item represents an operation on a state machine instance, and each instruction item includes: an executed object, an executed action, a success judgment condition, a failure judgment condition, and a failure handling.
[0078] 2) The execution mode of the instruction item sequence.
[0079] 3) Processing of communication termination. State machine instances are independent of each other, and each instance is responsible for controlling the communication process of a communication format;
[0080] Among them, the actions performed by each state machine are:
[0081] When the module is switched on or off, the main control software UI is modified and other software is notified via system broadcast.
[0082] In the technical solution provided in step S204, the terminal stores multiple sets of switching conditions, and the method also includes: continuously detecting the call quality of the first call standard; when the call quality meets any one of the multiple sets of switching conditions, selecting the call standard corresponding to the switching condition from the set of alternative call standards as the second call standard; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard.
[0083] Optionally, the state machine of the terminal has multiple state variables and a state switching mechanism, and the state switching mechanism includes: determining whether one or more state variables satisfy a predetermined communication standard; if no state variable satisfies the communication standard, maintaining the current state. If one or more state variables satisfy the communication standard, triggering the state machine to import a state determined by the communication standard.
[0084] Among them, each state machine will detect the change in call quality of the communication standard adopted by its corresponding alternative call standard; automatically adjust the communication standard according to the detected downstream call quality changes, for example, based on the change in call quality, switch back to the communication standard corresponding to the previous state machine.
[0085] Step S206, shut down the communication module corresponding to the first call standard, and send a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
[0086] In the technical solution provided in step S206, after sending the first switching instruction to the communication module corresponding to the second call standard, the method also includes: receiving a first switching result returned by the communication module corresponding to the second call standard; when the first switching result is a switching failure, reselecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard; sending a second switching instruction to the communication module corresponding to the reselected second call standard; receiving a second switching result returned by the communication module corresponding to the reselected second call standard; when the second switching result is a switching failure, executing the above steps again until the switching result is a switching success.
[0087] Optionally, when the first switching result is a switching failure, the state machine falls back and reselects the second call mode. When the module is turned on in the internal fallback mode of the state machine, it is determined whether the module meets the enabling conditions (such as whether the card identification supports the Tiantong card). If not, it continues to fall back. The specific implementation process is as follows:
[0088] (a) Start the main control software; (b) Modify the user interface of the main control software; (c) Notify other applications of the modification of the main control software by system broadcast; (d) Respond to user operations and enable the main control software to start the state machine; (e) Determine whether the state machine meets the enabling conditions; (f) If the enabling conditions are met, execute the requested software operation; (g) If the enabling conditions are not met, continue to fall back.
[0089] Reset this module; execute the BOOTROM software of this module.
[0090] Optionally, for call formats that need to support only single standby, since the switching process usually involves a cold start of the call format, the feedback of a switching failure is usually not a signal, but a timeout. In this case, switching back to other alternative call devices takes a long time, and users will feel the switch, which reduces the experience. Therefore, when switching from the first call format A to the second call format B that requires a cold start, if B does not respond within the timeout period, call format A will be determined as the new second call format and the call will be rolled back.
[0091] In the technical solution provided in step S206, before sending the first switching instruction to the communication module corresponding to the second call standard, the method also includes: detecting whether the terminal supports the second call standard; if the terminal does not support the second call standard, re-selecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard.
[0092] Optionally, when the terminal does not support one of the existing communication formats, there is no need to change the state machine main logic, and only needs to automatically switch to the alternative call format corresponding to the second call format in the corresponding action. The state machine of this solution includes: a. satellite network, b. quantum secret call, c. local encrypted call, d. conventional volte call, e. LTE cellular call, and f. all call modules are closed.
[0093] Alternatively, if Figure 3 As shown, when the terminal does not support conventional volte calls in the existing communication format, there is no need to change the main logic of the state machine. When switching to conventional volte calls, it only needs to automatically switch to the alternative call format corresponding to the conventional volte call, the LTE cellular call format.
[0094] Optionally, when a new call standard is added, to sort out the compatibility between the new communication standard and the existing communication standard, it is only necessary to incorporate the newly added state into the main logic of the state machine and add corresponding switching events to ensure that the upstream and downstream states can be converted normally.
[0095] In the technical solution provided in step S206, after switching the call standard, the method also includes: broadcasting a switching message of the first call standard to the target application in the device, the target application includes: an application that supports the first call standard, and after detecting the switching message, the target program starts a process corresponding to the first call standard.
[0096] Optionally, taking the telephone application as an example, after receiving the switching message of the first call standard, it is synchronized to a mode supporting the first call standard to achieve compatibility and adaptation with the first call mode.
[0097] Specifically, when the status is a satellite call, irrelevant functions such as voice messages (these functions rely on data network or login) are hidden.
[0098] When the status is b quantum secret talk, the quantum secret talk background and the quantum secret talk-specific prompt information are displayed.
[0099] When the status is c, information related to encrypted calls is displayed; if the phone app is at the top of the stack, the intranet encrypted call app will pop up automatically.
[0100] When the status is d, the HD call prompt information is displayed.
[0101] When the status is e, the dial response time is extended; the call quality expectation is lowered and the sound quality compensation effect is improved.
[0102] When the status is f, a unique emergency call interface is used to prompt the user with a list of numbers that can be dialed.
[0103] When the status is G, it displays information such as SIM card not detected and not connected to mobile network; dial-up functions are grayed out. SIMC card is an integrated circuit card used to store and process authentication and encryption data. SIMC cards are commonly used in mobile communication devices such as mobile phones and tablets to store users' personal information, contact information, and mobile operator information for authentication and connection to mobile networks. SIMC cards can also store some applications and data to provide additional functions such as payment, encrypted communication, and authentication.
[0104] Optionally, the system switching usually includes:
[0105] 1. Update the software status of "current format" at the framework layer for query by the upper-layer app.
[0106] 2. Broadcast "Network Connection Status Change" at the same time. This is an Android standard broadcast that can be listened to by non-specific apps; it is not broadcast to a specific target.
[0107] 3. Other modules in the system software monitor the switching message, display the status prompt related to the first call format, and pull up the matching floating window support software (such as a satellite floating ball). What will be "pulled up" here are several parts of the system software, such as the status bar, pop-up windows, and floating windows, which will not block the user's main screen.
[0108] Through the above steps, it is possible to achieve centralized integration and processing of various call formats in the terminal, with characteristics such as high encapsulation, unified management, action adaptation, and easy expansion. A state machine is used to coordinate the conversion relationship between each state, avoiding the upper-level app from working independently.
[0109] The embodiment of the present application provides a device for switching a call mode. Figure 4 is a schematic diagram of the structure of the device, such as Figure 4As shown, the device includes: a detection module 40, which is used to detect a switching event in the terminal for triggering a switch between a first call standard and a second call standard; a determination module 42, which is used to determine the type of the switching event and the first call standard currently being used by the terminal, and select a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; a switching module 44, which is used to turn off the communication module corresponding to the first call standard, and send a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
[0110] In some embodiments of the present application, the first call format and the second call format both include at least one of the following: satellite network, wide area encrypted call, local area encrypted call, high-definition voice call, cellular call and emergency call.
[0111] In some embodiments of the present application, the determination module 42 determines the type of switching event and the first call standard currently being used by the terminal, and selects the second call standard corresponding to the type from the set of alternative call standards, including: when the type of the switching event is that the first call standard is unavailable, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns on the call standard, selecting the call standard actively turned on by the user from the set of alternative call standards as the second call standard; when the type of the switching event is that the user actively turns off the call standard, selecting the alternative call standard corresponding to the first call standard from the set of alternative call standards as the second call standard.
[0112] In some embodiments of the present application, after the switching module 44 sends a first switching instruction to the communication module corresponding to the second call standard, the method also includes: receiving a first switching result returned by the communication module corresponding to the second call standard; when the first switching result is a switching failure, reselecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard; sending a second switching instruction to the communication module corresponding to the reselected second call standard; receiving a second switching result returned by the communication module corresponding to the reselected second call standard; when the second switching result is a switching failure, executing the above steps again until the switching result is a switching success.
[0113] In some embodiments of the present application, the terminal stores multiple sets of switching conditions, and the method also includes: continuously detecting the call quality of the first call standard; when the call quality meets any one of the multiple sets of switching conditions, selecting the call standard corresponding to the switching condition from the set of alternative call standards as the second call standard; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard.
[0114] In some embodiments of the present application, before the switching module 44 sends a first switching instruction to the communication module corresponding to the second call standard, the method also includes: detecting whether the terminal supports the second call standard; if the terminal does not support the second call standard, re-selecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard.
[0115] In some embodiments of the present application, after switching the call format, the method further includes: broadcasting a switching message of the first call format to a target application in the device, the target application including: an application supporting the first call format.
[0116] It should be noted that the various modules in the above-mentioned call mode switching device can be program modules (for example, a set of program instructions that implement a certain specific function) or hardware modules. For the latter, it can be expressed in the following forms, but is not limited to this: the expression form of each of the above-mentioned modules is a processor, or the functions of each of the above-mentioned modules are implemented by a processor.
[0117] An embodiment of the present application provides a non-volatile storage medium, in which a program is stored, wherein when the program is running, the device where the non-volatile storage medium is located is controlled to execute the following call standard switching method: detecting a switching event in a terminal for triggering a switch between a first call standard and a second call standard; determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
[0118] An embodiment of the present application provides an electronic device, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the following call standard switching method is executed when the program is running: detecting a switching event in a terminal for triggering a switch between a first call standard and a second call standard; determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger turning on the communication module corresponding to the second call standard.
[0119] An embodiment of the present application provides a computer program product, including a computer program, which implements the following call standard switching method when executed by a processor: detecting a switching event in a terminal for triggering a switch between a first call standard and a second call standard; determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from a set of alternative call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; turning off the communication module corresponding to the first call standard, and sending a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the turning on of the communication module corresponding to the second call standard.
[0120] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0121] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0122] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0123] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology or all or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.
[0124] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for switching call modes, characterized in that: include: Detecting a switching event in the terminal for triggering switching between a first call standard and a second call standard; Determine the type of the switching event and the first call standard currently being used by the terminal, and select a second call standard corresponding to the type from a set of candidate call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; The communication module corresponding to the first call standard is turned off, and a first switching instruction is sent to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
2. The method for switching call modes according to claim 1, characterized in that: The first call format and the second call format both include at least one of the following: satellite network, wide area encrypted call, local area encrypted call, high-definition voice call, cellular call and emergency call.
3. The method for switching call modes according to claim 1, characterized in that: Determining the type of the switching event and the first call standard currently being used by the terminal, and selecting a second call standard corresponding to the type from a set of candidate call standards includes: When the type of the switching event is that the first call standard is unavailable, selecting an alternative call standard corresponding to the first call standard from an alternative call standard set as the second call standard; In the case where the type of the switching event is that the user actively turns on the call standard, selecting the call standard actively turned on by the user from the set of candidate call standards as the second call standard; In the case that the type of the switching event is that the user actively turns off the call standard, an alternative call standard corresponding to the first call standard is selected from the alternative call standard set as the second call standard.
4. The method for switching call modes according to claim 1, characterized in that: After sending the first switching instruction to the communication module corresponding to the second call standard, the method further includes: Receiving a first switching result returned by the communication module corresponding to the second call standard; In the case where the first switching result is a switching failure, reselecting an alternative call standard corresponding to the second call standard from the alternative call standard set as the second call standard; sending a second switching instruction to the communication module corresponding to the reselected second call standard; Receiving a second switching result returned by the communication module corresponding to the reselected second call standard; In the case where the second switching result is a switching failure, the above steps are performed again until the switching result is a switching success.
5. The method for switching call modes according to claim 1, characterized in that: The terminal stores a plurality of sets of switching conditions, and the method further includes: Continuously detecting the call quality of the first call standard; When the call quality satisfies any one of the multiple groups of switching conditions, selecting a call standard corresponding to the switching condition from the candidate call standard set as the second call standard; The communication module corresponding to the first call standard is turned off, and a first switching instruction is sent to the communication module corresponding to the second call standard.
6. The method for switching call modes according to claim 1, characterized in that: Before sending the first switching instruction to the communication module corresponding to the second call standard, the method further includes: Detecting whether the terminal supports the second call standard; In the case that the terminal does not support the second call standard, an alternative call standard corresponding to the second call standard is re-selected from the alternative call standard set as the second call standard.
7. The method for switching call modes according to claim 1, characterized in that: After switching the call standard, the method also includes: broadcasting a switching message of the first call standard to a target application in the device, the target application including: an application supporting the first call standard, and after detecting the switching message, the target application starts a process corresponding to the first call standard.
8. A call mode switching device, characterized in that: include: A detection module, used for detecting a switching event in the terminal for triggering switching between the first call standard and the second call standard; A determination module, configured to determine the type of the switching event and the first call standard currently being used by the terminal, and select a second call standard corresponding to the type from a set of candidate call standards, wherein the type of the switching event includes at least one of the following: the user actively turns on the call standard, the user actively turns off the call standard, and the first call standard is unavailable; The switching module is used to shut down the communication module corresponding to the first call standard and send a first switching instruction to the communication module corresponding to the second call standard, wherein the switching instruction is used to trigger the opening of the communication module corresponding to the second call standard.
9. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a program, wherein when the program is executed, the device where the non-volatile storage medium is located is controlled to execute the call format switching method described in any one of claims 1 to 7.
10. An electronic device, characterized in that: include: A memory and a processor, wherein the processor is used to run a program stored in the memory, wherein the call format switching method described in any one of claims 1 to 7 is executed when the program is run.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.