Call processing method and related equipment
By judging the priority of the caller and the called, canceling the conflicting call, and establishing a call with the third device, the call failure problem caused by the caller and the called conflict in the terminal device is solved, and the success rate of the call is improved.
Patent Information
- Application Number
- CN202310731185.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-19
- Publication Date
- 2024-12-20
AI Technical Summary
When a caller and the called are in conflict at the bottom of the terminal device, the caller cannot dial out normally and the calleder cannot be answered by the terminal device. The prior art is difficult to effectively resolve the call failure problem caused by such conflicts.
By receiving invitation signaling and dialing requests sent by the network device, the priority of the caller and the called is determined. If the caller's priority is higher than the caller, the call with the called is cancelled and a call with the third device is established. to ensure the normal execution of the caller.
This improves the success rate of callers, ensures that callers can make calls normally in conflict situations, and prioritizes important calls.
Smart Images

Figure CN119172365A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a call processing method and related equipment. Background Art
[0002] When a conflict occurs between the calling party and the called party at the bottom layer of the terminal device, the calling party cannot dial out normally and the called party cannot be answered by the terminal device. For example, the called party needs to be in the ringing stage before the user interface (UI) can feel the incoming call. Therefore, when the terminal device or network abnormality causes the called party's call to not reach the ringing stage, the calling party initiates the call. The calling party and the called party conflict, and the bottom layer directly returns an error, resulting in the call failure. Summary of the invention
[0003] The present application provides a call processing method and related equipment, through which when the called party conflicts with the calling party, the normal execution of the calling party can be guaranteed, thereby improving the success rate of the calling party.
[0004] In a first aspect, some embodiments of the present application provide a call processing method. The call processing method is applied to a first device, and the method may include: receiving a first invitation signaling sent by a network device, the first invitation signaling is used to request the first device to establish a call with a second device; receiving a dialing request, the dialing request is used to request the first device to call a third device, wherein the calling party from the first device to the third device conflicts with the called party from the second device; sending a call cancellation message to the network device, and establishing a call between the first device and the third device, the call cancellation message is used to cancel the call between the first device and the second device.
[0005] By using the above method, when the calling party from the first device to the third device conflicts with the called party from the second device, the call between the first device and the second device is canceled and the call between the first device and the third device is established, so as to ensure the normal execution of the first device actively calling the third device, thereby improving the success rate of the calling party.
[0006] In one possible implementation, the method also includes: determining whether the priority of the caller is higher than the priority of the called party; if the priority of the caller is higher than the priority of the called party, executing the step of sending a call cancellation message to the network device and establishing a call between the first device and the third device; if the priority of the called party is lower than the priority of the caller, outputting a prompt message, and the prompt message is used to indicate that the call failed.
[0007] Through the above method, when a call from the first device to the third device conflicts with a call from the second device, by judging whether the priority of the caller is higher than the priority of the called party, it is ensured that the first device answers the call corresponding to the second device normally, or that the first device dials the call corresponding to the third device normally.
[0008] In a possible implementation, the prompt information is also used to prompt the reason for the call failure.
[0009] In one possible implementation, determining whether the caller's priority is higher than the called party's priority includes: determining whether the caller's priority is higher than the called party's priority based on a first policy, the first policy being that the caller's priority is higher than the called party's priority, or the first policy being that the called party's priority is higher than the caller's priority, the first policy being a system default policy, or the first policy being a user-set policy.
[0010] By using the above method, when the first policy exists, it is determined whether the priority of the calling party is higher than the priority of the called party based on the first policy. Since the first policy can be set by the user, the first policy is more flexible.
[0011] In a possible implementation, the method further includes: determining whether a first policy exists; when the first policy does not exist, judging whether the priority of the calling party is higher than the priority of the called party based on the time when the first invitation signaling is received and the time when the dial request is received. When the first policy exists, judging whether the priority of the calling party is higher than the priority of the called party based on the first policy.
[0012] Through the above method, when the first strategy does not exist, the time when the first device receives the first invitation signaling and the dial request is used to determine whether the caller's priority is higher than the called party's priority, so that when the first strategy does not exist, it is also possible to determine whether the caller's priority is higher than the called party's priority.
[0013] In one possible implementation, the first invitation signaling includes the telephone number of the second device, and the dial request includes the telephone number of the third device; determining whether the priority of the caller is higher than the priority of the called party includes: based on the telephone number of the second device and the telephone number of the third device, determining whether the priority of the caller is higher than the priority of the called party.
[0014] Through the above method, the phone number of the third device actively called by the first device and the phone number of the second device calling the first device are used to determine whether the priority of the caller is higher than the priority of the called party, so that the call between the user and the important phone numbers can be prioritized.
[0015] In one possible implementation, the method also includes: determining the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device based on a number list; the number list includes one or more telephone numbers, and the number list indicates the priority of one or more telephone numbers; based on the telephone number of the second device and the telephone number of the third device, judging whether the priority of the caller is higher than the priority of the called party, including: judging whether the priority of the caller is higher than the priority of the called party based on the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device.
[0016] In a possible implementation, the number list is set by the user, or the number list is determined based on call records.
[0017] Through the above method, the number list can be set by the user, making the number list more flexible. Or the number list is determined based on the call records, so that the number list can be automatically determined.
[0018] In one possible implementation, the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device are used to determine whether the priority of the caller is higher than the priority of the called party, including: if the priority corresponding to the telephone number of the second device is higher than the priority corresponding to the telephone number of the third device, then the priority of the called party is determined to be higher than the priority of the caller; if the priority corresponding to the telephone number of the third device is higher than the priority corresponding to the telephone number of the second device, then the priority of the caller is determined to be higher than the priority of the called party.
[0019] In one possible implementation, if the priority corresponding to the phone number of the second device is equal to the priority corresponding to the phone number of the third device, it is determined whether the priority of the caller is higher than the priority of the called party based on the time when the first invitation signaling is received and the time when the dial request is received.
[0020] In a possible implementation, determining whether the priority of the calling party is higher than the priority of the called party includes: determining whether the priority of the calling party is higher than the priority of the called party based on the time when the first invitation signaling is received and the time when the dialing request is received.
[0021] In a second aspect, the present application provides a terminal device. The terminal device includes: one or more processors, and one or more memories; the one or more memories are coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the terminal device to perform the method described in the first aspect or any one of the implementations of the first aspect.
[0022] In a third aspect, the present application provides a computer storage medium, which includes computer instructions, and when the computer instructions are executed on a terminal device, the terminal device executes the method described in the first aspect or any one of the implementations of the first aspect.
[0023] In a fourth aspect, an embodiment of the present application provides a chip. The chip can be applied to a terminal device, and the chip includes one or more processors, and the processor is used to call a computer instruction to enable the terminal device to execute the method described in the first aspect or any implementation of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 A schematic diagram of the system architecture of a call processing method provided in an embodiment of the present application;
[0025] Figure 2A A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;
[0026] Figure 2B A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;
[0027] Figure 3 A flowchart of a call processing method provided in an embodiment of the present application;
[0028] Figure 4 A schematic diagram of a process flow of a conflict between a calling party and a called party provided in an embodiment of the present application;
[0029] Figure 5 A flowchart of another call processing method provided in an embodiment of the present application;
[0030] Figure 6 A flowchart of another call processing method provided in an embodiment of the present application;
[0031] Fig. 7A A schematic diagram of an interface for prompting information provided in an embodiment of the present application;
[0032] Figure 7B A schematic diagram of an interface for priority setting provided in an embodiment of the present application;
[0033] Figure 7C A schematic diagram of an interface for priority setting provided in an embodiment of the present application;
[0034] Figure 8 A flowchart of another call processing method provided in an embodiment of the present application;
[0035] Fig. 9 A schematic diagram of a number list setting interface provided in an embodiment of the present application;
[0036] Fig.10 A schematic diagram of another interface for setting a number list provided in an embodiment of the present application;
[0037] Fig.11 A schematic diagram of another interface for setting a number list provided in an embodiment of the present application;
[0038] Fig.12 A schematic diagram of another interface for setting a number list provided in an embodiment of the present application;
[0039] Fig.13 A schematic diagram of another interface for setting a number list provided in an embodiment of the present application;
[0040] Fig.14 A flowchart of another call processing method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] The terms "first" and "second" and the like in the specification, claims and drawings of this application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof 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 limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products or devices.
[0042] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0043] In the present application, "at least one (item)" means one or more, "more than one" means two or more, "at least two (items)" means two or three and more than three, and "and / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0044] In order to improve the calling success rate of a terminal device, the present application provides a call processing method and a terminal device.
[0045] In order to better understand the embodiments of the present application, some professional terms involved in the embodiments of the present application are first introduced below:
[0046] 1. Provisional Response (Provisional 1xx)
[0047] A temporary response is also called a response message. A temporary response is used to indicate that the contacted service is performing some corresponding operations and there is no clear response yet. If a service expects to spend 200 milliseconds to obtain a final response, the service sends a temporary response. The temporary response can contain a message body and a session description. The following is an introduction to several temporary responses involved in this application:
[0048] 100 response (100 trying): This response indicates that the request has been received by the next hop server (Next Hop Server, NHS) and is performing some unspecified operations (for example, querying the database).
[0049] 180 ringing response (180ringing): This response is used to remind the user that there is an incoming call. This response can be used to initiate a local ringback tone.
[0050] 183 response (183Session Progress): 183 response is also called 183 session progress response. 183 response is used to transmit unconfidential call progress messages. The 183 response can transmit more details about the call progress through header fields or message bodies.
[0051] 2. Invite signaling
[0052] Invite signaling is also called media call establishment signaling, which is used to establish a media call between terminal devices. The Invite signaling usually carries a message body, which contains the media information of the caller. Specifically:
[0053] The Invite signaling includes a Via header field, which includes the address where the caller hopes to receive a response to the Invite signaling. For example, if UserA calls UserB, the Via header field includes the address of UserB.
[0054] The Invite signaling also includes a To header field, which includes the display name and phone number of the called party. For example, if UserA calls UserB, the To header field includes the display name and phone number of UserB.
[0055] The Invite signaling also includes a From header field, which includes the display name and the phone number of the caller. For example, if UserA calls UserB, the From header field includes the display name and the phone number of UserA.
[0056] The Invite signaling may also include other header fields, which are not limited in this application.
[0057] The communication system involved in the embodiment of the present application is introduced below:
[0058] The embodiments of the present application can be applied to long term evolution (LTE) systems, fifth generation mobile communication (5G) systems, sixth generation mobile communication (6G) systems and other communication systems evolved after 5G, satellite communication and short-range wireless communication systems. Among them, the wireless communication systems mentioned in the embodiments of the present application include but are not limited to: three major application scenarios of 5G / 6G mobile communication systems: enhanced mobile broadband (eMBB), ultra reliable low latency communication (URLLC) and massive machine type communication (mMTC), long range Internet of Things (LoRa) systems or vehicle networking systems.
[0059] Figure 1 A possible, non-limiting communication system schematic is shown. Figure 1 As shown, the system includes three terminal devices 101, and the three terminal devices 101 are connected by a communication network 102. Any two of the three terminal devices 101 can communicate through the communication network 102. The communication system may also include a larger number of terminal devices 101 and communication networks 102, which is not limited in the embodiment of the present application.
[0060] The three terminal devices 101 are connected by a communication network 102. Any two terminal devices 101 can communicate through the communication network 102. The communication system may also include a greater number of terminal devices 101 and communication networks 202, which is not limited in the embodiment of the present application.
[0061] 1. Terminal Equipment 101
[0062] The terminal device 101 may also be referred to as a terminal, user equipment (UE), mobile station, mobile terminal, electronic device, etc. The terminal device 101 may be widely used in various scenarios, such as device-to-device (D2D), vehicle to everything (V2X) communication, machine-type communication (MTC), Internet of Things (IOT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wear, smart transportation, smart city, etc. The terminal device 101 may be a mobile phone, a tablet computer, a computer with wireless transceiver function, a wearable device, a vehicle, a drone, a helicopter, an airplane, a ship, a robot, a robotic arm, a smart home device, etc.
[0063] 2. Communication Network 102
[0064] The communication network 102 may be a local area network (LAN) or a wide area network (WAN), such as the Internet. The communication network 102 may be implemented using any known network communication protocol, which may be various wired or wireless communication protocols, such as Ethernet, universal serial bus (USB), FIREWIRE, long term evolution (LTE), Bluetooth, wireless fidelity (Wi-Fi), near field communication (NFC), voice over Internet protocol (VoIP), a communication protocol supporting a network slicing architecture, or any other suitable communication protocol.
[0065] The communication network 102 includes network equipment, which includes access network equipment and core network equipment. The access network equipment may also be sometimes referred to as a radio access network (RAN) node, a RAN entity or an access node, etc., which constitutes a part of the communication system to help the terminal device 101 achieve wireless access. In a possible scenario, the access network equipment may be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a sixth generation (6th generation, 6G) mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system. The access network equipment may be a macro base station, a micro base station or an indoor station, a relay node or a donor node, or a wireless controller in a CRAN scenario. In a possible embodiment, the access network equipment may also be a server, a wearable device, a vehicle or a vehicle-mounted device, etc. For example, the access network device in the vehicle to everything (V2X) technology may be a road side unit (RSU).
[0066] The core network equipment may include one or more of the following: network slice selection function (NSSF), network exposure function (NEF), network function repository function (NRF), policy control function (PCF), unified data management (UDM) network element, application function (AF), network slice and SNPN authentication and authorization function (NSSAAF), authentication server function (AUSF), access and mobility management function (AMF), session management function (SMF), service communication prox (SCP), network slice admission control function (NSACF), user plane function (UPF), unified data repository (UDR), etc.
[0067] The hardware structure and software structure of the terminal device 101 involved in the embodiment of the present application are introduced below:
[0068] Figure 2A Schematic diagram of the hardware structure of a terminal device 101 provided in an embodiment of the present application. Figure 2A As shown, the terminal device 101 may include a processor, a mobile communication module, a wireless communication module, an external memory interface, an internal memory, a display screen, a sensor, an audio module, a speaker, a receiver, a microphone and an earphone interface.
[0069] The structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device 101. In some embodiments of the present application, the terminal device 101 may include more components than those shown in the figure. In some embodiments of the present application, the terminal device 101 may include fewer components than those shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware. The interface connection relationship between the modules illustrated in the embodiments of the present application is only a schematic illustration and does not constitute a limitation on the structure of the terminal device 101.
[0070] The processor may include one or more processing units, for example, the processor may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated into one or more processors.
[0071] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker, a receiver, etc.), or displays an image or video through a display screen. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor and be set in the same device as the mobile communication module or other functional modules.
[0072] The wireless communication function of the terminal device 101 can be implemented through antenna 1, antenna 2, a mobile communication module, a wireless communication module, a modem processor, and a baseband processor.
[0073] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 101 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0074] The mobile communication module can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 101. The mobile communication module may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module may be arranged in the processor. In some embodiments, at least some of the functional modules of the mobile communication module may be arranged in the same device as at least some of the modules of the processor.
[0075] The wireless communication module can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 101. The wireless communication module can be one or more devices integrating at least one communication processing module. The wireless communication module receives electromagnetic waves via antenna 2, modulates the frequency of the electromagnetic wave signal and filters it, and sends the processed signal to the processor. The wireless communication module can also receive the signal to be sent from the processor, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through antenna 2.
[0076] In some embodiments, the antenna 1 of the terminal device 101 is coupled to the mobile communication module, and the antenna 2 is coupled to the wireless communication module, so that the terminal device 101 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0077] The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 101. The external memory card communicates with the processor through the external memory interface to implement a data storage function. For example, files such as music and videos can be stored in the external memory card.
[0078] The internal memory can be used to store computer executable program codes, which include instructions. The processor executes various functional applications and data processing of the terminal device 101 by running the instructions stored in the internal memory. The internal memory may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image or video playback function, etc.). The data storage area may store data created during the use of the terminal device 101 (such as audio data, a phone book, etc.). In addition, the internal memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0079] The terminal device 101 implements the display function through a GPU, a display screen, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor may include one or more GPUs, which execute program instructions to generate or change display information.
[0080] The display screen is used to display images, videos, etc. The display screen includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light emitting diode (QLED), etc. In some embodiments, the terminal device 101 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0081] The sensor may include, but is not limited to, a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, an ambient light sensor, a fingerprint sensor, or a temperature sensor.
[0082] The terminal device 101 can implement audio functions such as music playing and recording through an audio module, a speaker, a receiver, a microphone, an earphone interface, and an application processor.
[0083] Figure 2B A schematic diagram of the software structure of a terminal device 101 provided in an embodiment of the present application.
[0084] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
[0085] The application layer can include a series of application packages. Figure 2B As shown, the application layer may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message, etc.
[0086] The application framework layer provides application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 2B As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0087] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0088] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0089] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0090] The phone manager is used to provide communication functions for the terminal device 101, such as management of call status (including connection, disconnection, etc.).
[0091] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0092] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, the user terminal vibrates, the indicator light flashes, etc.
[0093] The Android runtime includes the core library and the virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
[0094] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
[0095] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0096] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0097] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0098] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0099] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0100] A 2D graphics engine is a drawing engine for 2D drawings.
[0101] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0102] The call processing method provided in the embodiment of the present application is further introduced below:
[0103] See also Figure 3 , Figure 3 : is a flowchart of a call processing method provided by an embodiment of the present application.
[0104] 301. A second device sends a first Invite signaling to a network device, where the first Invite signaling is used to request the first device to establish a call with the second device. Accordingly, the network device receives the first Invite signaling sent by the second device.
[0105] Among them, for the description of the first Invite signaling, please refer to the description of the Invite signaling in the professional terms in the previous text, which will not be repeated here. The first Invite can also be replaced by other invitation signaling for requesting to establish a call. The embodiment of the present application takes the Invite signaling as an example for illustration. Before the second device sends the first Invite signaling to the network device, the second device establishes a radio resource control (RRC) connection with the network device. The To header field in the first Invite signaling includes the telephone number corresponding to the first device, and the From header field in the first Invite signaling includes the telephone number corresponding to the second device.
[0106] 302. The network device sends a first Invite signaling to the Modem in the first device. Correspondingly, the Modem in the first device receives the first Invite signaling sent by the network device.
[0107] Before the network device sends the first Invite signaling to the Modem in the first device, the first device establishes an RRC connection with the network device. The first Invite signaling can be found in the description of step 301, which will not be described here.
[0108] 303. The AP in the first device sends a dial request to the Modem in the first device, where the dial request is used to request the first device to call the third device. Correspondingly, the Modem in the first device receives the dial request sent by the AP in the first device.
[0109] The second device and the third device may be the same device or two different devices. The dial-up request includes the telephone number corresponding to the third device. The AP in the first device may send the dial-up request to the modem in the first device when the user clicks the dial-up button displayed on the screen of the first device. Alternatively, the AP in the first device may send the dial-up request to the modem in the first device when the user clicks the telephone number corresponding to the third device displayed on the screen of the first device. It should be noted that the operation of triggering the AP in the first device to send the dial-up request to the modem in the first device may also be other operations. The above two triggering operations are only examples and are not limited in this application.
[0110] In the embodiment of the present application, step 303 may be performed after step 302, that is, the modem in the first device first receives the first Invite signaling sent by the network device, and then receives the dial-up request sent by the AP in the first device. Optionally, step 303 may also be performed before step 302, that is, the modem in the first device first receives the dial-up request sent by the AP in the first device, and then receives the first Invite signaling sent by the network device. Optionally, step 303 and step 302 may also occur simultaneously, that is, the modem in the first device simultaneously receives the dial-up request sent by the AP in the first device and the first Invite signaling sent by the network device.
[0111] In the embodiment of the present application, the first device being called by the second device conflicts with the first device actively calling the third device. That is, the caller and the called party conflict. In order to better understand the conflict between the caller and the called party, several situations in which the caller and the called party conflict are introduced below.
[0112] Case 1: The second device calls the first device. Before the first device reaches the ringing stage, the user uses the first device to dial a third device, resulting in a conflict between the calling party and the called party.
[0113] In conjunction with the embodiment of the present application, the modem in the first device first receives the first Invite signaling sent by the network device. After receiving the first Invite signaling sent by the network device, the first device does not enter the ringing phase. At this time, the modem in the first device receives the dial request sent by the AP in the first device, resulting in a conflict between the caller and the called party.
[0114] For example, Figure 4As shown, the second device sends a first Invite signaling to the network device to request the first device to establish a call with the second device, and the network device sends the first Invite signaling to the Modem in the first device. After receiving the first Invite signaling, the Modem in the first device returns 100trying. Due to the network reasons of the first device, the first device has not received a reply from the network device after sending a 183 response to the network device, and a dedicated bearer cannot be established between the first device and the network device. The first device repeatedly sends 183 responses to the network device at time intervals of 2s, 4s, 8s, and 16s. During this period, the first device has not reached the 180ringing stage (ringing stage), and the user interface (UserInterface, UI) of the first device has not felt the incoming call. At this time, after the user uses the first device to dial, the AP in the first device sends a dialing request to the Modem in the first device, and the Modem in the first device returns a failure, and the caller and the called party conflict.
[0115] Case 2: When the second device calls the first device, the first device calls the third device at the same time, resulting in a conflict between the caller and the called party.
[0116] For example, the modem in the first device receives the first Invite signaling sent by the network device and the dial request sent by the AP in the first device at the same time, resulting in a conflict between the caller and the called party.
[0117] Case 3: When the first device dials the third device but the call fails, the second device calls the first device, resulting in a conflict between the calling party and the called party.
[0118] For example, after the modem in the first device receives the dial-up request sent by the AP in the first device, the modem in the first device sends a second Invite signaling to the network device, and the second Invite signaling is used to request the third device to establish a call with the first device. During the process of establishing a call between the first device and the third device (the call has not been successfully established), the second device calls the first device, and the modem in the first device receives the first Invite signaling sent by the network device, resulting in a conflict between the caller and the called party.
[0119] 304. The modem in the first device sends a call cancellation message to the network device, and establishes a call between the first device and the third device, wherein the call cancellation message is used to cancel the call between the first device and the second device. Accordingly, the network device receives the call cancellation message sent by the modem in the first device.
[0120] The cancel call message can also be used to inform the second device that the first device is temporarily unable to answer the call. If the first device repeatedly sends a 183 response to the network device before the modem in the first device sends the cancel call message to the network device, the first device no longer sends a 183 response to the network device after the modem in the first device sends the cancel call message to the network device.
[0121] 305. The network device sends a call cancellation message to the second device. Correspondingly, the second device receives the call cancellation message sent by the network device.
[0122] Among them, the cancellation of the call message can refer to the description in step 304, and this application will not elaborate on it here.
[0123] 306. The first device establishes a call with the third device.
[0124] Specifically: If the situation of conflict between the caller and the called party is: the second device calls the first device, and when the first device has not yet reached the ringing stage, the user uses the first device to dial to call the third device, resulting in a conflict between the caller and the called party (case one), then the process of establishing a call between the first device and the third device may include: the modem in the first device sends a second Invite signaling to the network device, and the second Invite is used to request the third device to establish a call with the first device. Among them, the To header field in the second Invite signaling includes the telephone number corresponding to the third device, and the From header field in the second Invite signaling includes the telephone number corresponding to the first device. The network device sends a second Invite signaling to the third device. The process of establishing a call may also include other steps, which are not repeated in this application.
[0125] Optionally, if the situation of the conflict between the calling party and the called party is: the first device dials the third device, but when the call fails, the second device calls the first device, resulting in a conflict between the calling party and the called party (situation three), then the process of establishing a call between the first device and the third device may include: continuing the calling process to establish a call between the first device and the third device. Exemplarily, if the first device receives the first Invite (conflict between the calling party and the called party) after receiving 100trying for the second Invite, the first device sends 183 signaling to the network device to establish a call between the first device and the third device.
[0126] It can be seen that through the implementation Figure 3 The described method cancels the call between the first device and the second device and establishes the call between the first device and the third device when the call from the first device to the third device conflicts with the call from the second device, so as to ensure the normal execution of the first device actively calling the third device, thereby improving the success rate of the call.
[0127] See also Figure 5 , Figure 5 : is a flowchart of a call processing method provided by an embodiment of the present application.
[0128] 501. A second device sends a first Invite signaling to a network device, where the first Invite signaling is used to request the first device to establish a call with the second device. Accordingly, the network device receives the first Invite signaling sent by the second device.
[0129] This step can refer to the description in the above step 301, and this application will not elaborate on it here.
[0130] 502. The network device sends a first Invite signaling to the Modem in the first device. Correspondingly, the Modem in the first device receives the first Invite signaling sent by the network device.
[0131] This step can refer to the description in the above step 302, and this application will not elaborate on it here.
[0132] 503. The AP in the first device sends a dial request to the Modem in the first device, where the dial request is used to request the first device to call the third device. Correspondingly, the Modem in the first device receives the dial request sent by the AP in the first device.
[0133] This step can be referred to the description in the above step 303, and this application will not elaborate on it here.
[0134] The conflict between the first device being called by the second device and the first device actively calling the third device can also refer to the description of the conflict between the calling party and the called party in the above step 303.
[0135] 504. The modem in the first device determines whether the priority of the calling party is higher than the priority of the called party.
[0136] The priority of the calling party and the priority of the called party are used to determine whether the first device is making a call or being called. If the priority of the calling party is high, the first device makes the call (the process of making a call). Similarly, if the priority of the called party is high, the first device makes the call (the process of answering a call).
[0137] 505. If the priority of the called party is lower than the priority of the calling party, the modem in the first device sends a prompt message to the AP in the first device, where the prompt message is used to prompt the call failure. Correspondingly, the AP in the first device receives the prompt message sent by the modem in the first device.
[0138] It should be noted that step 505 is an optional step.
[0139] 506. The AP in the first device outputs prompt information.
[0140] The form in which the AP in the first device outputs the prompt information may be one or more of the following forms: displaying a prompt interface corresponding to the call failure on the screen; or playing a prompt tone corresponding to the call failure in the form of voice; or prompting the user in the form of vibration. The form of prompting the user of the call failure may also be in other forms, which are not limited in this application.
[0141] In a possible embodiment, the prompt information is also used to prompt the reason for the call failure.
[0142] The reason for the call failure may specifically be a conflict between the calling party and the called party. Optionally, if the user is prompted of the call failure by displaying a call failure prompt interface on the screen, the reason for the call failure and the phone number corresponding to the second device may be displayed on the call failure prompt interface. For example, Fig. 7A A pop-up window marked with 701.
[0143] 507. If the priority of the calling party is higher than the priority of the called party, the modem in the first device sends a call cancel message to the network device, and the call cancel message is used to cancel the call between the first device and the second device and to establish a call between the first device and the third device. Accordingly, the network device receives the call cancel message sent by the modem in the first device to the network device.
[0144] This step can be referred to the description in the above step 304, and this application will not elaborate on it here.
[0145] 508. The network device sends a call cancellation message to the second device. Correspondingly, the second device receives the call cancellation message sent by the network device.
[0146] This step can be referred to the description in the above step 305, and this application will not elaborate on it here.
[0147] 509. The first device establishes a call with the third device.
[0148] This step can be referred to the description in the above step 306, and this application will not elaborate on it here.
[0149] It can be seen that through the implementation Figure 5 The described method ensures that, when a call from a first device to a third device conflicts with a call from a second device, the first device answers the call corresponding to the second device normally, or ensures that the first device dials the call corresponding to the third device normally, by judging whether the priority of the caller is higher than the priority of the called party.
[0150] See also Figure 6 , Figure 6 : is a flowchart of a call processing method provided by an embodiment of the present application.
[0151] 601. A second device sends a first Invite signaling to a network device, where the first Invite signaling is used to request the first device to establish a call with the second device. Accordingly, the network device receives the first Invite signaling sent by the second device.
[0152] This step can refer to the description in the above step 301, and this application will not elaborate on it here.
[0153] 602. The network device sends a first Invite signaling to the Modem in the first device. Correspondingly, the Modem in the first device receives the first Invite signaling sent by the network device.
[0154] This step can refer to the description in the above step 302, and this application will not elaborate on it here.
[0155] 603. The AP in the first device sends a dial request to the Modem in the first device, where the dial request is used to request the first device to call the third device. Correspondingly, the Modem in the first device receives the dial request sent by the AP in the first device.
[0156] This step can be referred to the description in the above step 303, and this application will not elaborate on it here.
[0157] The conflict between the first device being called by the second device and the first device actively calling the third device can also refer to the description of the conflict between the calling party and the called party in the above step 303.
[0158] 604. The modem in the first device determines whether a first policy exists.
[0159] The first policy is that the priority of the calling party is higher than that of the called party, or the first policy is that the priority of the called party is higher than that of the calling party, the first policy is a policy set by system default, or the first policy is a policy set by the user.
[0160] Exemplarily, the user can complete the setting of the first policy by selecting an option corresponding to calling party priority, or the user can complete the setting of the first policy by selecting an option corresponding to called party priority. When the user selects an option corresponding to calling party priority, the first policy is that the priority of the calling party is higher than the priority of the called party; when the user selects an option corresponding to called party priority, the first policy is that the priority of the called party is higher than the priority of the calling party. For example, Figure 7B As shown, when the user sets the first policy, the screen of the first device displays as follows Figure 7BIn the interface shown, the user can click the option marked with 702 and select calling priority to complete the setting of the first strategy.
[0161] For example, the user can complete the setting of the first policy by selecting whether to turn on the switch of calling party priority. When the switch of calling party priority is on, the first policy is that the priority of the calling party is higher than the priority of the called party; when the switch of calling party priority is off, the first policy is that the priority of the called party is higher than the priority of the calling party. For example, Figure 7C As shown, the user can change the state of the switch by clicking / sliding the switch marked with 703 to complete the setting of the first strategy.
[0162] The user may set the first policy in other ways. Figure 7B and Figure 7C The setting method shown is only an example, and this application does not limit the method in which the user sets the first strategy.
[0163] 605. When the first policy does not exist, the modem in the first device determines whether the priority of the calling party is higher than the priority of the called party based on the time when the first Invite signaling is received and the time when the dial request is received.
[0164] The time when the modem in the first device receives the first Invite signaling and the time when the dial request is received may be the system time of the first device or the Universal Time Coordinated (UTC). This application does not impose any restrictions on this time.
[0165] If the time when the Modem in the first device receives the first Invite signaling is earlier than the time when the Modem in the first device receives the dial request, it is determined that the called party has priority; conversely, if the time when the Modem in the first device receives the dial request is earlier than the time when the Modem in the first device receives the first Invite signaling, it is determined that the calling party has priority. In other words, if the Modem in the first device receives the first Invite signaling first, it is determined that the called party has priority; conversely, if the Modem in the first device receives the dial request first, it is determined that the calling party has priority. For example, if the time when the Modem in the first device receives the first Invite signaling is 21:17:24, and the time when the Modem in the first device receives the dial request is 21:17:20, the time when the Modem in the first device receives the dial request is earlier than the time when the Modem in the first device receives the first Invite signaling, it is determined that the calling party has priority.
[0166] Optionally, when the first strategy exists, the Modem in the first device executes step 606 .
[0167] It should be noted that the above steps 604 and 605 are optional steps.
[0168] 606. The modem in the first device determines whether the priority of the calling party is higher than the priority of the called party based on the first policy.
[0169] Among them, the explanation of the first strategy can be found in the description of the above step 604, and this application will not elaborate on it here.
[0170] 607. If the priority of the called party is lower than the priority of the calling party, the modem in the first device outputs a prompt message, where the prompt message is used to indicate that the call has failed.
[0171] This step can be referred to the description in the above step 505, and this application will not elaborate on it here.
[0172] 608. If the priority of the calling party is higher than the priority of the called party, the modem in the first device sends a call cancel message to the network device, and the call cancel message is used to cancel the call between the first device and the second device and to establish the call between the first device and the third device. Accordingly, the network device receives the call cancel message sent by the modem in the first device to the network device.
[0173] This step can be referred to the description in the above step 304, and this application will not elaborate on it here.
[0174] 609. The network device sends a call cancellation message to the second device. Correspondingly, the second device receives the call cancellation message sent by the network device.
[0175] This step can be referred to the description in the above step 305, and this application will not elaborate on it here.
[0176] 610. The first device establishes a call with the third device.
[0177] This step can be referred to the description in the above step 306, and this application will not elaborate on it here.
[0178] It can be seen that through the implementation Figure 6 In the method shown, when the first policy exists, it is determined whether the priority of the calling party is higher than the priority of the called party based on the first policy. Since the first policy can be set by the user, the first policy is more flexible. When the first policy does not exist, it is determined whether the priority of the calling party is higher than the priority of the called party based on the time sequence of the first Invite signaling and the dial request received by the Modem in the first device. Therefore, when the first policy does not exist, it is possible to determine whether the priority of the calling party is higher than the priority of the called party.
[0179] See also Figure 8 , Figure 8: is a flowchart of a call processing method provided by an embodiment of the present application.
[0180] 801. A second device sends a first Invite signaling to a network device, where the first Invite signaling is used to request the first device to establish a call with the second device. Correspondingly, the network device receives the first Invite signaling sent by the second device.
[0181] This step can refer to the description in the above step 301, and this application will not elaborate on it here.
[0182] 802. The network device sends a first Invite signaling to a modem in a first device. Correspondingly, the modem in the first device receives the first Invite signaling sent by the network device.
[0183] This step can refer to the description in the above step 302, and this application will not elaborate on it here.
[0184] 803. The AP in the first device sends a dial request to the Modem in the first device, where the dial request is used to request the first device to call the third device. Correspondingly, the Modem in the first device receives the dial request sent by the AP in the first device.
[0185] This step can be referred to the description in the above step 303, and this application will not elaborate on it here.
[0186] 804. The modem in the first device determines whether the priority of the caller is higher than the priority of the called party based on the telephone numbers of the second device and the third device. The first Invite signaling includes the telephone number of the second device, and the dial request includes the telephone number of the third device.
[0187] In a possible embodiment, the modem in the first device determines the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device based on a number list; the number list includes one or more telephone numbers, and the number list indicates the priority of the one or more telephone numbers; the modem in the first device determines whether the priority of the caller is higher than the priority of the called party based on the telephone number of the second device and the telephone number of the third device, specifically: the modem in the first device determines whether the priority of the caller is higher than the priority of the called party based on the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device.
[0188] The form in which the number list indicates the priority of one or more phone numbers may be: all phone numbers in the number list have the same priority, and any phone number in the number list has a higher priority than a phone number not in the number list. For example, if the number list contains the following phone numbers: phone number A, phone number B, and phone number C, and phone number D is not in the number list, then the priority of phone number A is higher than the priority of phone number D.
[0189] Optionally, the number list may indicate the priority of one or more telephone numbers in the form of: the number list includes one or more telephone numbers and the priorities corresponding to the one or more telephone numbers. That is, the priorities of all telephone numbers in the number list may be different, and the priority of any telephone number in the number list is higher than that of any telephone number not in the number list.
[0190] For example, the number list is as follows: phone number A—first priority, phone number B—second priority, and phone number C—second priority. The first priority is higher than the second priority. Phone number D is not in the number list. Then the priority of phone number A is higher than the priority of phone number B, the priority of phone number B is the same as the priority of phone number C, and the priority of phone number B is higher than the priority of phone number D.
[0191] The number list is set by the user, or the number list is determined based on call records.
[0192] Combine the following Figure 9-13 Four methods for users to set number lists are further introduced respectively. It should be noted that the following four methods for users to set number lists are only examples, and there may be other methods for users to set number lists, which are not limited in this application.
[0193] Method 1: The user adds the phone number to the number list through the address book list.
[0194] The address book list is stored in the first device, and the address book list stores at least one contact's media information and the contact's phone number. There is a mapping relationship between the contact's media information and the contact's phone number in the address book list. The media information may be the contact's name and the contact's photo, etc. The contact's name is the name noted by the user when storing the contact's phone number. For the convenience of description, the contact's media information is subsequently replaced by the contact's name.
[0195] For example, Fig. 9 As shown, Fig. 9The image marked with 90 in FIG. 1 is a schematic diagram of an address book list, and the address book list 90 includes the names of multiple contacts. The user can long press the row where the target contact is located (such as Fig. 9 ), triggers the display of the action list corresponding to the target contact (such as Fig. 9 The operation list corresponding to the target contact includes a button for adding to the number list (such as Fig. 9 The user clicks the Add to Number List button to add the phone number corresponding to the target contact to the number list.
[0196] Optionally, if the target contact corresponds to at least two telephone numbers, after clicking the Add to Number List button, the at least two telephone numbers corresponding to the contact are added to the number list.
[0197] Optionally, if the target contact corresponds to at least two phone numbers, after the user clicks the Add to Number List button, a selection interface for the user to select phone numbers to be added to the number list pops up, and the user selects one or more phone numbers corresponding to the target contact in the selection interface to add the selected phone numbers to the number list. For example, Fig.10 As shown, Fig.10 The target contact has two phone numbers. The user can click a button (such as Fig.10 Click the button marked with 110 in the figure) to add the phone number "07558280****" corresponding to the target contact to the number list.
[0198] Since the contacts stored in the address book list are usually associated with the user, and the address book list has a search function, the target contact can be quickly found through the user's address book list, and the phone number of the target contact can be added to the number list.
[0199] Method 2: The user adds the phone number to the number list through the personal interface of the address book.
[0200] The personal interface in the address book can be entered by the user by clicking on the address book list (for example, clicking Fig. 9 901), the personal interface of the address book includes the name of the contact and one or more telephone numbers corresponding to the contact.
[0201] For example, Fig.11 As shown, Fig.11 The image marked with 111 is a schematic diagram of a personal interface of the address book, and the personal interface 111 includes a contact named "Xiao Li" and a phone number corresponding to "Xiao Li" (136******** and Fig.11In the phone number marked with 1101, there is a "More" button at the bottom of the personal interface of the address book (such as Fig.11 Click the "More" button to trigger the display of the corresponding operation list for the contact (such as Fig.11 The operation list corresponding to the contact includes a button for adding to the number list (such as Fig.11 The user clicks the Add to Number List button to add the target contact's phone number to the number list.
[0202] Alternatively, the user can long press any phone number in the personal interface (such as Fig.11 The phone number marked with 1101 in the figure) triggers the display of the action list corresponding to the contact (such as Fig.11 Then click the Add to Number List button to add the contact's phone number ( Fig.11 The phone number marked with 1101) is added to the number list.
[0203] Optionally, if the contact corresponds to at least two phone numbers, the user can select one or more phone numbers corresponding to the contact in the pop-up selection interface and add them to the number list. Please refer to the description in the above method 1, and this application will not repeat it here.
[0204] Method 3: The user adds the phone number to the number list through the recent call records.
[0205] The recent call records include at least one call record, and any call record includes the name or phone number of the contact who has a call with the user.
[0206] For example, Fig.12 As shown, Fig.12 The image marked with 120 is a schematic diagram of the user's recent call records, which include call records with a contact named "Xiao Li" ( Fig.12 The user long presses the call record marked with 1201 to trigger the display of the operation list corresponding to the contact named "Xiao Li" (such as Fig.12 The operation list corresponding to the contact includes a button for adding to the number list (such as Fig.12 The user clicks the Add to Number List button to add the contact's phone number to the number list.
[0207] Optionally, if the contact corresponds to at least two phone numbers, the user can select one or more phone numbers corresponding to the contact in the pop-up selection interface and add them to the number list. Please refer to the description in the above method 1, and this application will not repeat it here.
[0208] In the above manner, since the phone numbers recorded in the recent calls are mostly phone numbers that the user has contacted recently, the phone number can be quickly added to the number list through the recent call records.
[0209] Method 4: The user enters the number list setting interface through the setting interface, and adds the phone number to the number list in the number list setting interface.
[0210] The setting interface includes a number list setting option, and the user clicks the number list setting option to enter the number list setting interface. The setting interface may also include other setting options, which are not limited in this application.
[0211] For example, Fig.13 As shown, Fig.13 The image marked with 130 is a setting interface, which includes multiple setting options (such as Bluetooth setting options, mobile network setting options, and number list setting options). The user clicks on the number list setting option (such as Fig.13 1301 in the setup options), trigger the display number list setup interface (such as Fig.13 The number list setting interface includes the names of multiple contacts in the number list (such as the boss) and phone numbers (such as 177********). The number list setting interface includes an add button (such as Fig.13 The user clicks the button marked with 1302 to add a new phone number to the number list.
[0212] In a possible embodiment, after the user clicks the add button to add a new phone number to the number list, the number list setting interface will display the newly added phone number.
[0213] For example, the names and phone numbers of the contacts originally displayed on the number list setting interface are as follows: Anna, Dad, Boss, and 177********. After clicking the Add button and adding the new phone number (Mr. Li) to the number list, the names and phone numbers of the contacts displayed on the number list setting interface are: Anna, Dad, Boss, 177********, and Mr. Li.
[0214] In a possible embodiment, the user adds a new phone number to the number list by clicking the Add button, including: if the new phone number is stored in the address book, the user clicks the Add button and enters the name of the contact corresponding to the new phone number to add the new phone number to the number list; if the new phone number is not stored in the address book, the user clicks the Add button and enters the new phone number to add the new phone number to the number list.
[0215] The phone numbers in the number list can be managed uniformly through the number list setting interface, and multiple phone numbers can be added to the number list at one time, which improves the efficiency of adding the number list.
[0216] The above methods introduce four ways for users to add phone numbers to the number list. Users can also add phone numbers to the number list in other ways to set the number list. The following is a further introduction to the method of automatically determining the number list. It should be noted that the following method of automatically determining the number list is only an example. There may be other methods of automatically determining the number list, and this application does not limit it.
[0217] Method 1: Determine the number list based on call records.
[0218] Specifically, the phone numbers in the call records may be sorted based on the number of calls corresponding to each phone number in the call records within a preset time period; the Nth phone number in front is added to the number list, where N is a preset value. For example, the call records within a month include call records with the following five phone numbers: phone number A, phone number B, phone number C, phone number D, and phone number E. Among them, within a month, there were 10 calls with phone number A, 1 call with phone number B, 17 calls with phone number C, 6 calls with phone number D, and 34 calls with phone number E. The five phone numbers are sorted based on the number of calls as follows: phone number E, phone number C, phone number A, phone number D, and phone number B. Assuming N is 2, phone number E and phone number C are added to the number list.
[0219] Optionally, the phone numbers in the call records may be sorted based on the total call duration corresponding to each phone number in the call records within a preset time period; the Nth phone number in front is added to the number list, where N is a preset value. For example, the call records within a month include call records with the following five phone numbers: phone number A, phone number B, phone number C, phone number D, and phone number E. Among them, within a month, the call with phone number A lasted 40 minutes, the call with phone number B lasted 3 minutes, the call with phone number C lasted 600 minutes, the call with phone number D lasted 70 minutes, and the call with phone number E lasted 6 minutes. The five phone numbers are sorted based on the number of calls as follows: phone number C, phone number D, phone number A, phone number E, and phone number B. Assuming N is 2, phone number C and phone number D are added to the number list.
[0220] Method 2: Determine the number list based on the categories in the address book.
[0221] Specifically, the phone numbers in the preset categories in the address book are added to the number list. For example, the address book includes the following three categories: relatives, friends, and companies. The relatives category includes the following three phone numbers: phone number A, phone number B, and phone number C, the friends category includes the following two phone numbers: phone number D and phone number E, and the company category includes the following three phone numbers: phone number F, phone number G, and phone number H. Assuming that the preset category is the relatives category, the three phone numbers included in the relatives category (phone number A, phone number B, and phone number C) are added to the number list.
[0222] Through the above-mentioned method 1 and method 2, the number list can be automatically determined.
[0223] In a possible embodiment, the modem in the first device determines whether the priority of the caller is higher than the priority of the called party based on the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device. Specifically: if the priority corresponding to the telephone number of the second device is higher than the priority corresponding to the telephone number of the third device, the priority of the called party is higher than the priority of the caller; conversely, if the priority corresponding to the telephone number of the third device is higher than the priority corresponding to the telephone number of the second device, the priority of the caller is higher than the priority of the called party.
[0224] In a possible embodiment, if the priority corresponding to the telephone number of the second device is equal to the priority corresponding to the telephone number of the third device, the modem in the first device determines whether the priority of the caller is higher than the priority of the called party based on the time when the first Invite signaling is received and the time when the dial request is received.
[0225] This step can be referred to the description in the above step 605, and this application will not elaborate on it here.
[0226] Optionally, if the priority corresponding to the telephone number of the second device is equal to the priority corresponding to the telephone number of the third device, the modem in the first device sends a call cancellation message to the network device and establishes a call between the first device and the third device. The call cancellation message is used to cancel the call between the first device and the second device.
[0227] 805. If the priority of the called party is lower than the priority of the calling party, the modem in the first device outputs a prompt message, where the prompt message is used to indicate that the call has failed.
[0228] This step can be referred to the description in the above step 505, and this application will not elaborate on it here.
[0229] 806. If the priority of the calling party is higher than the priority of the called party, the modem in the first device sends a call cancel message to the network device, where the call cancel message is used to cancel the call between the first device and the second device and to establish a call between the first device and the third device. Accordingly, the network device receives the call cancel message sent by the modem in the first device to the network device.
[0230] This step can be referred to the description in the above step 304, and this application will not elaborate on it here.
[0231] 807. The network device sends a call cancellation message to the second device. Correspondingly, the second device receives the call cancellation message sent by the network device.
[0232] This step can be referred to the description in the above step 305, and this application will not elaborate on it here.
[0233] 808. The first device establishes a call with the third device.
[0234] This step can be referred to the description in the above step 306, and this application will not elaborate on it here.
[0235] It can be seen that by judging whether the priority of the caller is higher than that of the called party through the phone number of the third device actively called by the first device and the phone number of the second device calling the first device, the call between the user and important phone numbers can be prioritized.
[0236] See also Fig.14 , Fig.14 : is a flowchart of a call processing method provided by an embodiment of the present application.
[0237] 141. The second device sends a first Invite signaling to the network device, where the first Invite signaling is used to request the first device to establish a call with the second device. Correspondingly, the network device receives the first Invite signaling sent by the second device.
[0238] This step can refer to the description in the above step 301, and this application will not elaborate on it here.
[0239] 142. The network device sends a first Invite signaling to the Modem in the first device. Correspondingly, the Modem in the first device receives the first Invite signaling sent by the network device.
[0240] This step can refer to the description in the above step 302, and this application will not elaborate on it here.
[0241] 143. The AP in the first device sends a dial request to the Modem in the first device, where the dial request is used to request the first device to call the third device. Correspondingly, the Modem in the first device receives the dial request sent by the AP in the first device.
[0242] This step can be referred to the description in the above step 303, and this application will not elaborate on it here.
[0243] 144. The modem in the first device determines whether the priority of the calling party is higher than the priority of the called party based on the time when the first Invite signaling is received and the time when the dial request is received.
[0244] This step can be referred to the description in the above step 605, and this application will not elaborate on it here.
[0245] 145. If the priority of the called party is lower than the priority of the calling party, the modem in the first device outputs a prompt message, where the prompt message is used to indicate that the call has failed.
[0246] This step can be referred to the description in the above step 505, and this application will not elaborate on it here.
[0247] 146. If the priority of the calling party is higher than the priority of the called party, the modem in the first device sends a call cancel message to the network device, where the call cancel message is used to cancel the call between the first device and the second device and to establish a call between the first device and the third device. Accordingly, the network device receives the call cancel message sent by the modem in the first device to the network device.
[0248] This step can be referred to the description in the above step 304, and this application will not elaborate on it here.
[0249] 147. The network device sends a call cancellation message to the second device. Correspondingly, the second device receives the call cancellation message sent by the network device.
[0250] This step can be referred to the description in the above step 305, and this application will not elaborate on it here.
[0251] 148. The first device establishes a call with the third device.
[0252] This step can be referred to the description in the above step 306, and this application will not elaborate on it here.
[0253] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A call processing method, It is characterized in that The method is applied to a first device, and the method includes: receiving a first invitation signaling sent by a network device, where the first invitation signaling is used to request the first device to establish a call with a second device; receiving a dialing request, the dialing request being used to request the first device to call a third device, wherein a calling number from the first device to the third device conflicts with a called number from the second device; A call cancellation message is sent to the network device, and a call is established between the first device and the third device, wherein the call cancellation message is used to cancel the call between the first device and the second device.
2. The method according to claim 1, It is characterized in that The method further comprises: Determine whether the priority of the calling party is higher than that of the called party; If the priority of the calling party is higher than the priority of the called party, executing the step of sending a call cancellation message to the network device and establishing a call between the first device and the third device; If the priority of the called party is lower than the priority of the calling party, a prompt message is output, where the prompt message is used to prompt that the call fails.
3. The method according to claim 2, It is characterized in that The prompt information is also used to prompt the reason for the call failure.
4. The method according to claim 2 or 3, It is characterized in that The determining whether the priority of the calling party is higher than the priority of the called party includes: Based on the first policy, it is determined whether the priority of the caller is higher than the priority of the called party, the first policy is that the priority of the caller is higher than the priority of the called party, or the first policy is that the priority of the called party is higher than the priority of the caller, the first policy is the policy set by system default, or the first policy is the policy set by the user.
5. The method according to claim 4, It is characterized in that The method further comprises: determining whether a first strategy exists; When the first strategy does not exist, judging whether the priority of the calling party is higher than the priority of the called party based on the time when the first invitation signaling is received and the time when the dial request is received; When the first policy exists, the step of determining whether the priority of the calling party is higher than the priority of the called party based on the first policy is performed.
6. The method according to claim 2 or 3, It is characterized in that The first invitation signaling includes the telephone number of the second device, and the dial request includes the telephone number of the third device; The determining whether the priority of the calling party is higher than the priority of the called party includes: Based on the telephone number of the second device and the telephone number of the third device, it is determined whether the priority of the calling party is higher than the priority of the called party.
7. The method according to claim 6, It is characterized in that The method further comprises: Determining a priority corresponding to the telephone number of the second device and a priority corresponding to the telephone number of the third device based on a number list; the number list includes one or more telephone numbers, and the number list indicates the priority of the one or more telephone numbers; Determining whether the priority of the calling party is higher than the priority of the called party based on the telephone number of the second device and the telephone number of the third device includes: Based on the priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device, it is determined whether the priority of the calling party is higher than the priority of the called party.
8. The method according to any one of claims 7, It is characterized in that The number list is set by the user, or the number list is determined based on call records.
9. The method according to claim 6, It is characterized in that The priority corresponding to the telephone number of the second device and the priority corresponding to the telephone number of the third device, and determining whether the priority of the calling party is higher than the priority of the called party, include: If the priority corresponding to the telephone number of the second device is higher than the priority corresponding to the telephone number of the third device, then determining that the priority of the called party is higher than the priority of the calling party; If the priority corresponding to the telephone number of the third device is higher than the priority corresponding to the telephone number of the second device, it is determined that the priority of the calling party is higher than the priority of the called party.
10. The method according to claim 9, It is characterized in that The method further comprises: If the priority corresponding to the phone number of the second device is equal to the priority corresponding to the phone number of the third device, it is determined whether the priority of the caller is higher than the priority of the called party based on the time when the first invitation signaling is received and the time when the dial request is received.
11. The method according to claim 2, It is characterized in that The determining whether the priority of the calling party is higher than the priority of the called party includes: Based on the time when the first invitation signaling is received and the time when the dial request is received, it is determined whether the priority of the calling party is higher than the priority of the called party.
12. A terminal device comprising one or more memories and one or more processors. It is characterized in that The memory is used to store a computer program; the processor is used to call the computer program so that the terminal device executes the method described in any one of claims 1-11.
