Call method, terminal device, readable storage medium and chip system
By dynamically adjusting the timeout timer of the silence suppression timer, the problem of terminal devices hanging up the call too early due to timer timeout in specific scenarios is solved, achieving a lower call drop rate and a better user experience.
Patent Information
- Application Number
- CN202410077136.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-18
- Publication Date
- 2025-07-25
AI Technical Summary
In specific scenarios such as high-speed rail, subway, cave, elevator and other network environments are poor, the silence suppression timer of terminal equipment will cause the call to hang up too early, affecting the user experience.
By real-time detection of the terminal device scene, dynamically adjust the timeout time of the silence suppression timer, extend the timeout time of the timer in a specific scenario, avoid hang up the call too early due to timeout, and restore the initial timer time after exiting the specific scenario.
Reduce call drop rate, improve user experience, simplify call recovery process, and avoid unnecessary call interruptions caused by timer timeout.
Smart Images

Figure CN120379073A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a call method, a terminal device, a readable storage medium, and a chip system. Background Art
[0002] Voice call is one of the basic functions of a terminal device. In an open environment with relatively stable network signal quality, a user can use the terminal device to make a call with the other end user, and usually, there will be no scenario of automatically hanging up the call. In an open environment, due to the relatively stable network signal quality, when the terminal device fails to receive a voice packet, it can determine whether the silence suppression timer times out based on the running duration of the silence suppression timer specified by the operator. Before the silence suppression timer times out, if the terminal device receives a voice packet, then the user can continue to make a call with the other end user using the terminal device. Otherwise, the terminal device can actively hang up the call when the silence suppression timer times out.
[0003] However, during a voice call, if the terminal device enters specific scenarios such as high-speed trains, subways, caves, elevators, etc., the above-mentioned silence suppression timer will no longer be applicable. When the terminal device enters these specific scenarios, the network signal quality will suddenly deteriorate, resulting in the terminal user being unable to clearly hear the voice of the other end user. However, it is foreseeable that the terminal user cannot clearly hear the voice of the other end user when the terminal device is in a specific scenario. Once the terminal device exits the specific scenario, the call between the terminal device and the other end can resume normally, and at this time, the terminal user can clearly hear the voice of the other end user. Therefore, the terminal device determines whether the silence suppression timer times out based on the running duration of the silence suppression timer currently specified by the operator, which will cause the terminal device to automatically hang up the call prematurely and seriously affect the user's call experience. Summary of the Invention
[0004] This application provides a call method, a terminal device, a readable storage medium, and a chip system, which can prevent the terminal device from ending the call prematurely in specific scenarios, further reduce the call drop rate, and improve the user experience.
[0005] In a first aspect, this application provides a call method, which is applied to a first terminal. The method includes:
[0006] Determine the scenario of the first terminal;
[0007] When the scenario of the first terminal meets a preset condition, determine the timeout duration of a first timer as a first time value; wherein, the first time value is greater than a second time value, and the second time value is the initial timeout duration of the first timer;
[0008] When the call between the first terminal and a second terminal is successfully established, start the first timer;
[0009] During the operation of the first timer, a data packet is received from the second terminal or the network; or, in the case that no data packet is received from the second terminal or the network during the operation of the first timer and the first timer times out, a first instruction is sent to the second terminal; the first instruction is used to end the call, and the timeout of the first timer means that the count value of the first timer is greater than or equal to the first time value.
[0010] This application determines the current scenario of the first terminal by detecting the scenario of the first terminal in real time; and in the case that the scenario of the first terminal meets the preset conditions (or the first terminal is in a specific scenario), the timeout duration of the first timer can be adjusted from the initial timeout duration (or the second time value) to the longer first time value. Subsequently, in the case that the call between the first terminal and the second terminal is successfully established, the first timer in the first terminal is started, and during the call, it can be monitored whether the first terminal receives a data packet from the second terminal or the network through the first timer.
[0011] Furthermore, since the timeout duration of the first timer is extended, the probability that the first terminal receives a data packet from the second terminal or the network during the operation of the first timer is increased, avoiding the first terminal hanging up the call prematurely due to too short a timeout duration. The call method of the embodiments of this application can use the extended first time value as the judgment basis for whether the first terminal automatically terminates the call when the first terminal is in a specific scenario, avoiding the first terminal hanging up the call prematurely due to the timeout of the first timer.
[0012] Thus, it is possible to dynamically adjust the timeout duration of the first timer, extend the timeout duration of the first timer in a specific scenario, avoid the first terminal hanging up the call prematurely due to the timeout of the first timer in a specific scenario, and reduce the call drop rate. And after the first terminal exits the specific scenario, the first terminal does not need to re-establish the call with the second terminal, that is, it does not need to re-execute the interaction process of establishing call signaling, and the operation process of the solution is simpler and the user experience is better.
[0013] In some possible implementation manners, the method further includes:
[0014] After sending the first instruction to the second terminal, obtain the scenario of the first terminal again:
[0015] In the case that the scenario of the first terminal does not meet the preset conditions, determine the timeout duration of the first timer as the second time value.
[0016] In the above implementation manner, after the first terminal sends a first instruction to the second terminal, that is, after the call between the first terminal and the second terminal ends, the first terminal can obtain the scene of the first terminal currently detected again. Thereby enabling the first terminal to determine whether the scene of the first terminal currently detected meets a preset condition. At this time, if the scene of the first terminal still meets the preset condition, then the first terminal does not change the timeout duration of the first timer, that is, the timeout duration of the first timer remains the first time value. If the scene of the first terminal does not meet the preset condition, then the first terminal can change the timeout duration of the first timer, that is, the first terminal can restore the timeout duration of the first timer to a second time value less than the first time value. Thereby avoiding the first terminal waiting too long after exiting a specific scene and further improving the user experience.
[0017] In some possible implementation manners, the scene of the first terminal meeting the preset condition includes one or more of the following:
[0018] The signal strength value of the first terminal is less than a first threshold, the network identifier accessed by the first terminal is a preset identifier, the first terminal detects a radio link failure, and the number type of the second terminal communicating with the first terminal is a preset number type; the preset number type includes at least one type of number that the first terminal cannot redial.
[0019] In the above implementation manner, by setting multiple preset conditions, the first terminal can determine whether to extend the timeout duration of the first timer or pause the counting of the first timer according to the corresponding preset conditions in different scenes.
[0020] In some possible implementation manners, when no data packet from the second terminal or the network is received during the operation of the first timer, the method further includes:
[0021] When the first timer has not timed out, continuously detect whether a data packet from the second terminal or the network is received until a data packet from the second terminal or the network is received or the first timer times out.
[0022] In some possible implementation manners, when a data packet from the second terminal or the network is received during the operation of the first timer, the method further includes:
[0023] Reset the first timer.
[0024] In the above implementation, when the first terminal receives a data packet from the second terminal or the network, resetting the first timer, or in other words, clearing the count value of the first timer, can prepare the first timer to continue monitoring for subsequent data packets received by the first terminal from the second terminal or the network next time. As a result, the first timer can restart counting before the first terminal receives the next data packet from the second terminal or the network.
[0025] In some possible implementation manners, the first terminal is the calling device and the second terminal is the called device; when the call between the first terminal and the second terminal is successfully established, starting the first timer includes:
[0026] After receiving a first message from the second terminal, starting the first timer, where the first message indicates that the second terminal has successfully responded to the call initiated by the first terminal.
[0027] In the above implementation manner, when the first terminal, as the calling device, receives the first message from the second terminal, the first terminal can determine that the call between the first terminal and the second terminal is successfully established. At this time, the first terminal can start the first timer.
[0028] In some possible implementation manners, the first terminal is the called device and the second terminal is the calling device; when the call between the first terminal and the second terminal is successfully established, starting the first timer includes:
[0029] After sending a second message to the second terminal, starting the first timer, where the second message indicates that the first terminal has successfully responded to the call initiated by the first terminal.
[0030] In the above implementation manner, when the first terminal, as the calling device, sends the second message to the second terminal, the first terminal can determine that the call between the first terminal and the second terminal is successfully established. At this time, the first terminal can start the first timer. It can be seen that the triggering conditions for the first terminal to start the first timer as the calling device and as the called device are different, but both are started after the call between the first terminal and the second terminal is successfully established.
[0031] In some possible implementation manners, determining the scenario of the first terminal includes:
[0032] In response to the operation of the user inserting the first user identification card into the first terminal, determining the scenario of the first terminal and determining that the initial timeout duration of the first timer is the second time value.
[0033] In the above implementation, after inserting the first user identification card into the first terminal, the first terminal can detect various parameters of the first terminal through a detection module in the first terminal, and determine the scenario of the first terminal based on the various parameters. This prepares for the first terminal to accurately determine whether the scenario of the first terminal meets the preset conditions.
[0034] In some possible implementation manners, when the scenario of the first terminal meets the preset conditions, after determining the timeout duration of the first timer as the first time value, the method further includes:
[0035] Sending a third message to the second terminal, where the third message is used to notify the second terminal that the timeout duration of the first timer is the first time value, so that the second terminal determines the timeout duration of the third timer as the first time value.
[0036] In the above implementation, the first terminal sends a third message to the second terminal, so that the second terminal can, based on the first time value that the first terminal has changed the timeout duration of the first timer carried in the third message, synchronously modify the timeout duration of the third timer to the first time value. This can avoid the second terminal prematurely ending the call actively due to the too short timeout duration of the third timer in the second terminal, further reducing the call drop rate. Moreover, it can also avoid the second terminal re - executing the interaction process of establishing call signaling after actively ending the call, and the operation process of the solution is simpler.
[0037] In some possible implementation manners, the method further includes:
[0038] After sending a first instruction to the second terminal, the timeout duration of the third timer is a third time value, and the third time value is the initial timeout duration of the third timer.
[0039] In the above implementation, after the first terminal sends a first instruction to the second terminal, the second terminal can determine that the call between the first terminal and the second terminal ends based on the received first instruction. At this time, the second terminal can restore the timeout duration of the third timer to the third time value, thus avoiding too long waiting time of the third timer in the second terminal.
[0040] In a second aspect, the present application provides a call method applied to a first terminal, and the method includes:
[0041] When the call between the first terminal and the second terminal is successfully established, start a first timer; the timeout duration of the first timer is a second time value; the second time value is the initial timeout duration of the first timer;
[0042] During the operation of the first timer, a data packet is received from the second terminal or the network; or, during the operation of the first timer, no data packet is received from the second terminal or the network, and when the scenario of the first terminal meets a preset condition, the counting of the first timer is paused, and a second timer is started. The counting of the second timer is used to represent the pause duration of the first timer;
[0043] During the operation of the second timer, and when the scenario of the first terminal does not meet the preset condition, the operation of the second timer is stopped, and the first timer continues to run;
[0044] During the continued operation of the first timer, a data packet is received from the second terminal or the network; or, during the continued operation of the first timer, no data packet is received from the second terminal or the network, and when the first timer times out, a first instruction is sent to the second terminal; the first instruction is used to end the call. The first timer timing out means that the count value of the first timer is greater than or equal to the second time value. Continuing to run the first timer means continuing to count based on the count value when the first timer was paused.
[0045] In this application, by setting the timeout duration of the first timer to the second time value and starting the first timer when the call between the first terminal and the second terminal is successfully established, it can be ensured that during the call between the first terminal and the second terminal, the first timer uses the second time value, that is, the initial timeout duration of the first timer, as the criterion for determining whether the first timer times out. Based on this, during the operation of the first timer, when no data packet is received from the second terminal or the network and the scenario of the first terminal meets the preset condition, the counting of the first timer can be paused, and the second timer can be started, which can detect the scenario of the first terminal in real time. When it is determined that the scenario of the first terminal meets the preset condition, that is, when the first terminal is in a specific scenario, the counting of the first timer can be paused in a timely manner, so that when the first timer continues to run, it can start incrementing gradually from the paused count value. Thus, it can be avoided that the first terminal ends the call prematurely due to the first timer timing out.
[0046] Subsequently, during the operation of the second timer, when the scenario of the first terminal does not meet the preset condition, the operation of the second timer can be stopped, and the first timer can continue to run, which can resume the operation of the first timer when it is determined that the scenario of the first terminal does not meet the preset condition, that is, when the first terminal exits the specific scenario, and can avoid the waiting time of the first timer being too long due to the first timer being paused indefinitely, and thus can improve the user experience. Further, during the continued operation of the first timer, when no data packet is received from the second terminal or the network and the first timer times out, a first instruction can be sent to the second terminal, which can avoid the waiting time of the first terminal being too long.
[0047] Therefore, when the first terminal is in a specific scenario, the counting of the first timer can be paused, avoiding the first terminal hanging up the phone prematurely due to the timeout of the first timer in the specific scenario, and reducing the call drop rate. Moreover, after the first terminal exits the specific scenario, the first terminal does not need to re - establish the call with the second terminal, that is, it does not need to re - execute the interaction process of establishing call signaling, and the operation process of the solution is simpler and the user experience is better.
[0048] In some possible implementation manners, during the running of the second timer, the method further includes:
[0049] When the scenario of the first terminal meets a preset condition and the second timer times out, sending a first instruction to the second terminal; the timeout of the second timer means that the count value of the second timer is greater than or equal to a second threshold.
[0050] In the above implementation manner, by setting the second threshold, it is possible to avoid the first terminal waiting for too long due to the second timer continuously counting, further improving the user experience.
[0051] In some possible implementation manners, during the running of the second timer, the method further includes:
[0052] When the scenario of the first terminal meets a preset condition and the second timer does not time out, obtaining the scenario of the first terminal again until the scenario of the first terminal does not meet the preset condition or the second timer times out.
[0053] In some possible implementation manners, when a data packet is received from the second terminal or the network during the continuous running of the first timer, the method further includes:
[0054] Resetting the first timer.
[0055] In some possible implementation manners, when no data packet is received from the second terminal or the network during the continuous running of the first timer, the method further includes:
[0056] When the first timer does not time out, continuously detecting whether a data packet is received from the second terminal or the network until a data packet is received from the second terminal or the network or the first timer times out.
[0057] In a third aspect, the present application provides a call method applied to a second terminal, and the method includes:
[0058] In response to the operation of the user inserting a second user identity card into the second terminal, determining that the timeout duration of a third timer is a third time value; the third time value is the initial timeout duration of the third timer;
[0059] When the call between the first terminal and the second terminal is successfully established, start the third timer;
[0060] After starting the third timer, receive a third message from the first terminal; wherein, the third message is used to notify the second terminal that the timeout duration of the first timer is the first time value;
[0061] After receiving the third message, determine the timeout duration of the third timer as the first time value;
[0062] During the operation of the third timer, receive a first instruction from the first terminal; wherein, the first instruction is used to end the call;
[0063] After receiving the first instruction, restore the timeout duration of the third timer to the third time value.
[0064] In a fourth aspect, the present application provides a terminal device, including a processor; when the processor executes computer code or instructions in a memory, the terminal device is caused to execute the call method in the first aspect and any possible design of the first aspect, or execute the call method in the second aspect and any possible design of the second aspect, or execute the call method in the third aspect and any possible design of the third aspect.
[0065] In a fifth aspect, the present application provides a chip system, which is applied to a terminal device including a memory, a display screen, and a sensor; the chip system includes: one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected by lines; the interface circuits are used to receive signals from the memory and send signals to the processors, and the signals include computer code or instructions stored in the memory; the processors call the computer code or instructions, so that the terminal device executes the call method in the first aspect and any possible design of the first aspect, or executes the call method in the second aspect and any possible design of the second aspect, or executes the call method in the third aspect and any possible design of the third aspect.
[0066] Among them, the chip system may include one chip or multiple chips; when the chip system includes multiple chips, the present application does not limit parameters such as the type and quantity of the chips.
[0067] In a sixth aspect, the present application provides a readable storage medium, in which code or instructions are stored, and the processor calls the code or instructions, so that the terminal device executes the call method in the first aspect and any possible design of the first aspect, or executes the call method in the second aspect and any possible design of the second aspect, or executes the call method in the third aspect and any possible design of the third aspect.
[0068] In a seventh aspect, the present application provides a computer program product which, when running on a computer, causes the computer to execute the call method in the first aspect and any possible design of the first aspect, or execute the call method in the second aspect and any possible design of the second aspect, or execute the call method in the third aspect and any possible design of the third aspect.
[0069] It can be understood that the beneficial effects of the above third aspect to seventh aspect can be referred to the relevant descriptions in the first aspect or the second aspect, and will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] Figure 1 FIG. is a schematic structural diagram of a communication system provided by an embodiment of the present application;
[0071] Figure 2 FIG. is a schematic diagram of the working principle of a silence suppression timer in a terminal device provided by an embodiment of the present application;
[0072] Figure 3 FIG. is a flowchart of a call method provided by an embodiment of the present application;
[0073] Figure 4 FIG. is a flowchart of a call method provided by an embodiment of the present application;
[0074] Figure 5 FIG. is a schematic diagram of signaling interaction of a call method provided by an embodiment of the present application;
[0075] Figure 6 FIG. is a schematic diagram of signaling interaction of a call method provided by an embodiment of the present application;
[0076] Figure 7 FIG. is a schematic diagram of signaling interaction of a call method provided by an embodiment of the present application;
[0077] Figure 8 FIG. is a schematic diagram of signaling interaction of a call method provided by an embodiment of the present application;
[0078] Figure 9 FIG. is a schematic diagram of signaling interaction of a call method provided by an embodiment of the present application;
[0079] Figure 10 FIG. is a schematic diagram of the hardware system of a terminal device provided by an embodiment of the present application;
[0080] Figure 11 FIG. is a schematic diagram of the software system of a terminal device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0081] Next, the technical solutions in the embodiments of the present application will be described with reference to the accompanying drawings in the embodiments of the present application. Among them, in the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B may mean A or B. The "and / or" herein is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, "a plurality" means two or more than two.
[0082] Hereinafter, the terms "first", "second", and "third" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first", "second", and "third" may explicitly or implicitly include one or more of such features.
[0083] To facilitate the introduction of the solutions in the embodiments of the present application, before introducing the embodiments of the present application, the terms or concepts involved in the embodiments of the present application will be explained first.
[0084] 1. Inactive timer
[0085] The terminal device supports the silence suppression function. The silence suppression function can be implemented by introducing an inactive timer. The inactive timer can also be referred to as the RTP-RTCP inactive timer. In the related art, the running duration (or timeout duration) of the inactive timer is specified by the operator. The inactive timer is used to monitor whether the terminal device continuously fails to receive data packets from the peer device or the network.
[0086] Exemplarily, the terminal device can monitor real-time transport protocol (RTP) data packets and / or real-time transport control protocol (RTCP) data packets. If the terminal device does not receive any RTP data packets and / or RTCP data packets from the peer device or the network for a continuous period of time, then the inactive timer in the terminal device times out. At this time, the terminal device can send a bye message to the peer device.
[0087] 2. IP multimedia subsystem (IMS) network
[0088] The IMS network uses the Session Initialization Protocol (SIP) for end-to-end call control. The IMS network can implement voice services under a packet-switched network.
[0089] The IMS network can include entities such as a Proxy-Call Session Control Function (P-CSCF) entity, an Interrogating-Call Session Control Function (I-CSCF) entity, a Serving-Call Session Control Function (S-CSCF) entity, and a Home Subscriber Server (HSS).
[0090] Among them, the P-CSCF entity is used to forward session messages of terminal devices that support the IMS network. The I-CSCF entity can connect the P-CSCF entity and the S-CSCF entity. The I-CSCF entity is used to provide an entry to the home network for terminal devices. The S-CSCF entity is used to provide functions such as session control and registration for terminal devices. The HSS is used to store all user- and service-related data.
[0091] 3. The interaction process of the embodiments of the present application can be applied to the Session Initiation Protocol (SIP). SIP is a signaling protocol used to control the initiation, modification, and termination of interactive multimedia sessions.
[0092] The following provides a brief introduction to some messages in the SIP protocol.
[0093] The INVITE (Session Invitation) message is used to initiate a session request. For example, the INVITE message can be initiated by the calling terminal.
[0094] The BYE message is used to end the current session. When the BYE message is received, the session where the current Dialog is located will be terminated. The BYE message can only be sent in an established dialog (established through an INVITE request). The calling party of the session can send the BYE message to terminate the session in the Early Dialog and the Confirmed Dialog, and the called party can only send the BYE message to terminate the session in the Confirmed Dialog.
[0095] SIP protocol response messages are used to respond to request messages and indicate the success or failure status of a call. Different types of response messages are distinguished by status codes. The status code usually consists of a three-digit integer. The first digit of the status code is used to define the response type, and the other two digits are used to further elaborate on the response in more detail.
[0096] The classification of SIP protocol response messages is as follows:
[0097] 1xx: Information response (call progress response), indicating that the request message has been received and is being processed.
[0098] For example, the 100 Trying message is a provisional response message, indicating that the INVITE message has been received and is being processed. Another example is the 180 Ringing message, which is a ringing message, indicating that the INVITE message has reached the called side and the called side has started ringing. Another example is 183, which represents a session progress response, used to prompt the progress information of establishing a dialogue.
[0099] 2xx: Success response, indicating that the request has been successfully accepted or processed. For example, the 200 OK (INVITE) message is used to indicate that the INVITE request has been successfully accepted or processed.
[0100] It should be understood that the above descriptions of the messages in the SIP protocol are only example descriptions, and the embodiments of the present application are not limited thereto.
[0101] It should be noted that the explanations of the signaling and terms in the present application can also refer to the explanations in the 3rd generation partnership project (3GPP) standard protocol, such as 24.229, the interface protocol of SIP (request for comments, RFC) 3261 protocol, and RFC3262 protocol.
[0102] It should also be noted that the capitalization and spaces of the signaling in the present application are only for examples, and the embodiments of the present application do not limit the capitalization of each signaling. A unified explanation is made here. For example, the INVITE message can also be written as the invite message, or the Invite message, etc.; the BYE message can also be written as the bye message, or the Bye message, etc.; the 200 OK message can also be written as the 200 ok message, or the 200 Ok message, etc.; the 180 Ringing message can also be written as the 180 ringing message, or the 180 Ringing message, etc.
[0103] 4. Physical Cell Identifier (PCI)
[0104] The physical cell identifier is a parameter used to uniquely identify different cells in a network. In a wireless communication network (such as 4G or 5G), each cell has a unique physical cell identifier to distinguish different base stations.
[0105] 5. Tracking Area Code (TAC)
[0106] The network coverage area can be divided into multiple tracking areas. Each tracking area in the multiple tracking areas corresponds to a tracking area code. The tracking area code can be used to determine the location of the terminal device. When the terminal device moves from one tracking area to another, the terminal device needs to perform location registration in the new tracking area, and this process can be called tracking area update (TAU).
[0107] 6. Radio Link Failure (RLF)
[0108] The terminal device monitors whether a radio link failure occurs by measuring the radio link quality of the downlink. In a communication system, when the signal of the cell where the terminal device is currently camped becomes weak, due to factors such as rapid attenuation of the signal channel quality or unreasonable configuration of the reporting threshold, the measurement report may not be successfully sent to the network device. The network device cannot receive the measurement report and does not know that the terminal device may attempt to send the measurement report, resulting in a long delay in switching to other cells with better signals, causing long-term lags in the services carried out in the current camped cell (i.e., the serving cell). Additionally, it may also be due to factors such as the rapid movement of the terminal device, occlusion by objects, long duration of measurement or handover preparation, or the terminal device's inability to decode the handover message sent by the network device, resulting in the inability to switch to other cells with better signals in a timely manner, causing long-term lags in the services carried out in the current camped cell.
[0109] Exemplarily, in a high-speed rail scenario, due to factors such as high vehicle speed and occlusion by objects such as mountain caves, the signal often rapidly weakens to a poor value. At this time, even if the terminal device reports event A3, it may not be able to successfully send the A3 measurement report (MR) (i.e., the measurement report with the event type of event A3) to the network device. Therefore, the terminal device may not receive the cell handover (HO) command issued by the network device, resulting in a worsening signal and ultimately a radio link failure.
[0110] Among them, event A3 (event A3): The neighbor cell (or neighboring cell, that is, the adjacent cell) is better than the current serving cell by a relative value (neighbour becomes offset better than SpCell), with the unit of dB.
[0111] In the embodiment of the present application, when it is detected that the terminal device is in a specific scenario, the terminal device can extend the initial timeout duration of the silence suppression timer or pause the counting of the silence suppression timer, so as to ensure that when the terminal device is in a specific scenario, the terminal device will not prematurely end the call actively due to the timeout of the silence suppression timer, and the call drop rate can be reduced.
[0112] The call method according to the embodiments of the present application can be applied to various communication systems, such as: Code Division Multiple Access (CDMA) systems, Wideband Code Division Multiple Access (WCDMA) systems, General Packet Radio Service (GPRS), Long Term Evolution (LTE) systems, LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, Advanced Long Term Evolution (LTE-A) systems, New Radio (NR) systems, evolved systems of NR systems, LTE-based access to unlicensed spectrum (LTE-U) systems, NR-based access to unlicensed spectrum (NR-U) systems, Universal Mobile Telecommunication System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX) communication systems, Wireless Local Area Networks (WLAN), Wireless Fidelity (WiFi), 5th generation (5G) mobile communication systems, next-generation communication systems, or other communication systems, etc. Among them, the 5G mobile communication system can include non-standalone (NSA) and / or standalone (SA).
[0113] The call method provided by the embodiments of the present application can also be applied to machine type communication (MTC), long term evolution - machine (LTE - M), device - to - device (D2D) network, machine - to - machine (M2M) network, internet of things (IoT) network or other networks. Among them, the IoT network can include, for example, the vehicle - to - everything (V2X) network. Among them, the communication methods in the V2X system are collectively referred to as the vehicle - to - X (V2X, where X can represent anything) system. For example, the V2X can include: vehicle - to - vehicle (V2V) communication, vehicle - to - infrastructure (V2I) communication, vehicle - to - pedestrian (V2P) communication, or vehicle - to - network (V2N) communication, etc. The call method provided by the present application can also be applied to future communication systems, such as the sixth - generation mobile communication system, etc., and the present application does not limit this.
[0114] Please refer to Figure 1 , Figure 1 which shows a schematic structural diagram of a communication system provided by the embodiments of the present application. As Figure 1 shown, the communication system 100 can include: a first terminal 201, a second terminal 202, a first radio access network device 301, a second radio access network device 302, a first core network 401, a second core network 402, and an IMS network 500.
[0115] The first terminal 201 and the second terminal 202 can be deployed in the IMS network 500. The first terminal 201 and the second terminal 202 can establish a call through the IMS protocol. Exemplarily, the first terminal 201 can be a calling device for calling the second terminal 202. Or, the first terminal 201 can also be a called device for responding to the call of the second terminal 202.
[0116] The user information is stored in the terminal device. The user information may include an international mobile subscriber identification number (IMSI). The international mobile subscriber identification number may be stored in the subscriber identity module (SIM) card of the terminal device. The terminal device may use the user information as an identity identifier to initiate or receive calls through various voice solutions.
[0117] The terminal device may also be referred to as a terminal, a user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc. The terminal device is a terminal device with display hardware and corresponding software support. For example, the terminal device may be a mobile phone, a smart TV (or called a smart screen), a wearable device, a portable android device (Pad), a personal digital assistant, a mobile internet device (MID), a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, or other terminal devices that can access the Internet (such as a landline phone, also called a fixed phone), etc. The embodiments of the present application do not limit the specific technologies and specific device forms adopted by the terminal device.
[0118] It can be understood that the first terminal 201 or the second terminal 202 may be used to execute the call method of the embodiments of the present application, and the embodiments of the present application do not limit this.
[0119] The radio access network device is used to forward the interactive data between the terminal device and the core network. In the case where the communication system 100 includes multiple terminal devices (for example, the first terminal 201 and the second terminal 202), the multiple terminal devices can perform data interaction with the core network through the same type of radio access network device, or can perform data interaction with the core network through different types of radio access network devices. Moreover, the radio access network device supports different types of core networks.
[0120] Figure 1 The first radio access network device 301 and the second radio access network device 302 are shown. Exemplarily, the first radio access network device 301 can be a radio access network device related to the first terminal 201. The first radio access network device 301 is used to forward the data interaction between the first terminal 201 and the first core network 401. The second radio access network device 302 can be a radio access network device related to the second terminal 202. The second radio access network device 302 is used to forward the data interaction between the second terminal 202 and the second core network 402.
[0121] It should be noted that the radio access network device can be any device with wireless transceiver functions. The radio access network device includes but is not limited to: evolved node B (eNB), node B (NB), radio network controller (RNC), base station controller (BSC), base transceiver station (BTS), base station (BS), home base station (for example, home evolved NodeB, or home Node B, HNB), baseband unit (BBU), access point (AP) in a wireless network system, radio relay node (RRN), wireless backhaul node, transmission point (TP) or transmission and reception point (TRP), etc. It can be understood that all or part of the functions of the radio access network device in this application can also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (such as a cloud platform).
[0122] Exemplarily, the base station may be: a macro base station, a micro base station, a pico base station, a small station, a relay station, a balloon station, a 4G base station, a 5G base station, etc., and the embodiments of the present application do not limit this. It should be understood that the base station may communicate directly with the terminal device or communicate with the terminal device through a relay station, and the embodiments of the present application do not limit this. The core network is used to connect the request information of the terminal device to the IMS network 500. Optionally, the request information of the terminal device (for example, a voice call request or a data request) may include the user information of the terminal device and the user information of the peer device. After receiving the request information of the terminal device, the IMS network 500 may determine the peer device for communicating with the terminal device based on the user information of the peer device. Exemplarily, after receiving the voice call request of the first terminal 201, the IMS network 500 may determine that the peer device for making a voice call with the first terminal 201 is the second terminal 202 based on the international mobile subscriber identification number of the second terminal 202 included in the voice call request.
[0123] Optionally, Figure 1 The first core network 401 and the second core network 402 are shown. Exemplarily, the first core network 401 may be the core network related to the first terminal 201. The first core network 401 is used to connect the request information of the first terminal 201 to the IMS network 500 through the first radio access network device 301. The second core network 402 may be the core network related to the second terminal 202. The second core network 402 is used to connect the request information of the second terminal 202 to the IMS network 500 through the second radio access network device 302.
[0124] Optionally, the core network can be a 4G core network or a 5G core network. The main network elements in the 4G core network include the following: Mobility Management Entity (MME), Serving Gateway (SGW), Packet Data Network Gateway (PGW), Home Subscriber Server (HSS), Application Server (AS), etc. The main functions of the MME include access control, mobility management, attachment and detachment, session management (e.g., establishment, modification, and release of bearers), etc. The SGW is mainly used for routing and forwarding of data packets. The main functions of the PGW include user-based packet filtering function, lawful interception function, IP address allocation function, etc. The HSS is used to store user subscription information, user subscription data, location information of mobile users, etc. The network elements in the 5G core network are functional virtual units, which may include, but are not limited to, Access and Mobility Management Function (AMF), Session Management Function (SMF) for session management, and Unified Data Management (UDM) for unified data management, etc.
[0125] The core network may include one or more core network devices. For example, the core network devices may include: User Plane Function (UPF), i.e., the data plane gateway. The User Plane Function is used for packet routing and forwarding, or Quality of Service (QoS) processing of user plane data, etc. The User Plane Function is used to access the user data forwarded by the radio access network device to the IMS network 500.
[0126] It can be understood that the first radio access network device 301 and the second radio access network device 302 can be of the same type or different types of radio access network devices; and the first core network 401 and the second core network 402 can be the same core network or different core networks, and the embodiments of the present application do not limit this.
[0127] In the Figure 1 communication system 100 as shown, the IMS network 500 can use the SIP protocol to enable the first terminal 201 to establish communication with the second terminal 202, realize call control between the first terminal 201 and the second terminal 202, so that the first terminal 201 and the second terminal 202 can conduct a voice call.
[0128] Taking the first terminal 201 as the calling device and the second terminal 202 as the called device, the specific process of establishing a voice call between the first terminal 201 and the second terminal 202 will be briefly described below.
[0129] The first terminal 201 sends a call request (invite) to the first core network 401 through the first radio access network device 301. The first core network 401 sends the call request to the IMS network 500. The IMS network 500 determines the second terminal 202 for a voice call with the first terminal 201 based on the call request.
[0130] After the second terminal 202 responds to the call, the first terminal 201 and the second terminal 202 can conduct a voice call. Exemplarily, the second terminal 202's response to the call can be that the second terminal 202 sends an answer message (e.g., 200OK message) in the SIP message to the first terminal 201 in response to the user's answer operation. After the first terminal 201 receives the 200OK message, the voice call between the first terminal 201 and the second terminal 202 is successfully established.
[0131] Exemplarily, the second terminal 202 will remind the user to answer in ways such as ringing (e.g., 180ringing message), vibrating, ringing, or lighting up the screen, etc., which is not limited in the embodiments of the present application.
[0132] Optionally, in some embodiments, after the first terminal 201 initiates a call to the second terminal 202 through the IMS network 500, if the first terminal 201 does not send a message to cancel the call to the second terminal 202, then the first terminal 201 may receive a prompt tone feedback from the IMS network 500. Thus, after the time when the second terminal 202 does not answer exceeds the preset answer time, a specific prompt tone can be played on the first terminal 201. Exemplarily, the specific prompt tone can be "Hello, the number you dialed is temporarily unavailable".
[0133] It should also be noted that the detailed process of establishing the above voice call can be referred to the description in the RFC3261 protocol, which will not be elaborated here.
[0134] After the voice call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 and the second terminal 202 will realize the voice call between the calling user and the called user by transmitting data packets.
[0135] Optionally, the data packets can include RTP data packets and RTCP data packets. The RTP data packets are used to carry audio and video data. The RTCP data packets are used to provide data distribution quality feedback information.
[0136] Optionally, the RTP data packet may include a voice packet or a silence packet, etc. The voice packet is used to transmit the voice information of the user. The silence packet is a data packet sent by a terminal device (for example, the first terminal 201 or the second terminal 202) when it fails to detect the voice information of the peer user. At this time, the terminal device is in a silent state during the call. The terminal device in the silent state may send a silence packet every 160 milliseconds (ms).
[0137] Optionally, the RTCP data packet may include a control packet, etc. The control packet is used to transmit control information related to the audio and video data carried by the RTP data packet. Exemplarily, during a call, if the terminal device is in a suspended state, the terminal device may send an RTCP data packet every 2 seconds (s).
[0138] It should be noted that the suspended state means that when two devices are in a call, if a terminal device initiates a call to any one of the two devices in the call, then the terminal device is suspended.
[0139] Both the first terminal 201 and the second terminal 202 support the silence suppression function, that is, they need to monitor whether they receive data packets from the peer device or the network. Further, the first terminal 201 and the second terminal 202 can monitor whether they receive data packets from the peer device or the network within a period of time. In this way, when they do not receive data packets from the peer device or the network for a long time, the first terminal 201 and the second terminal 202 can perform subsequent operations in a timely manner, and can avoid the first terminal 201 and the second terminal 202 from waiting for a long time.
[0140] Optionally, in some embodiments, the terminal device may monitor whether it continuously fails to receive data packets from the peer device or the network through a silence suppression timer. The silence suppression timer may be a timer already set in the terminal device, or a timer not set in the terminal device. The embodiments of the present application do not limit this.
[0141] The following combines Figure 2 , taking the first terminal 201 as an example, to detail the specific working principle of the silence suppression timer. For ease of explanation, the first radio access network device 301, the second radio access network device 302, the first core network 401, the second core network 402, and the IMS network 500 that transmit data and signaling are collectively referred to as the network (NW).
[0142] As Figure 2 shown, step 11, after the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 may start the corresponding silence suppression timer.
[0143] The first terminal 201 can perform timing through a silence suppression timer. The silence suppression timer started here defaults to the timeout duration defined by the operator. For the convenience of distinction or description, the timeout duration of the silence suppression timer specified by the operator is defined as the initial timeout duration. During the timing process of the first terminal 201 using the silence suppression timer, the first terminal 201 can use the initial timeout duration of the silence suppression timer as the criterion for determining whether the silence suppression timer times out.
[0144] For example, when the first terminal 201 starts to continuously fail to receive data packets due to certain reasons, as the call time progresses, the count value of the silence suppression timer gradually increases from 0. Based on the initial timeout duration of the silence suppression timer, it is determined whether the silence suppression timer times out. The silence suppression timer timing out means that the count value of the silence suppression timer is greater than or equal to the time value corresponding to the initial timeout duration of the silence suppression timer.
[0145] Optionally, the initial timeout duration of the silence suppression timer is a duration pre-set in the first terminal 201. Exemplarily, the initial timeout duration of the silence suppression timer can be set to 20 seconds. It should be noted that the initial timeout duration of the silence suppression timer in the first terminal 201 can be set with reference to the requirements of the operator. The operator can be distinguished by the Public Land Mobile Network (PLMN) identifier, and the PLMNs corresponding to different operators are different. When the first terminal 201 corresponds to different operators, the initial timeout duration of the silence suppression timer in the first terminal 201 can be the same or different.
[0146] For example, when the operator corresponding to the first terminal 201 is Operator 1, the initial timeout duration of the silence suppression timer in the first terminal 201 can be set to 20 seconds. When the operator corresponding to the first terminal 201 is Operator 2, the initial timeout duration of the silence suppression timer in the first terminal 201 can be set to 25 seconds. It should also be noted that the current operator of the first terminal 201 can be obtained from the SIM card currently used by the first terminal 201, or can be obtained from the information fed back by the network during the network registration phase. This embodiment does not limit this. The method for obtaining the current operator of the second terminal 202 is the same as that for obtaining the current operator of the first terminal 201, and will not be elaborated here.
[0147] In some embodiments, for the case where multiple terminal devices correspond to the same operator, the initial timeout duration of the silence suppression timer of each terminal device among the multiple terminal devices is the same. For example, if the operator corresponding to the first terminal 201 and the operator corresponding to the second terminal 202 are both Operator 1, then the initial timeout duration of the silence suppression timer in the first terminal 201 is set to 20 seconds, and the initial timeout duration of the silence suppression timer in the second terminal 202 is also set to 20 seconds.
[0148] During the operation of the silence suppression timer, when the first terminal 201 and the second terminal 202 perform data interaction, the Real-Time Transport Protocol and / or the Real-Time Transport Control Protocol can be used.
[0149] It can be understood that the data interaction between the first terminal 201 and the second terminal 202 can be transmitted through a network. For example, Figure 2 Steps 12 and 13 shown in
[0150] In other words, in practical applications, the first terminal 201 uses the Real-Time Transport Protocol and / or the Real-Time Transport Control Protocol to perform data interaction with the second terminal 202, and the networks in Step 12 and Step 13 only act as intermediaries to forward the data interacted between the first terminal 201 and the second terminal 202.
[0151] Exemplarily, the first terminal 201 can send an RTP data packet to the network through the Real-Time Transport Protocol, and the network can forward the RTP data packet to the second terminal 202 through the Real-Time Transport Protocol. Correspondingly, the network can forward the RTP data packet sent by the second terminal 202 to the first terminal 201.
[0152] It should be understood that the embodiments of the present application do not limit Figure 2 the execution order of Steps 12 and 13 shown in , and it specifically depends on the actual application scenario. For example, Step 12 can be before Step 13; or, Step 12 can be after Step 13; or, Step 12 and Step 13 can be performed simultaneously.
[0153] Step 14, the first terminal 201 can determine whether it has received a data packet (RTP data packet and / or RTCP data packet) from the second terminal 202 or the network.
[0154] In some embodiments, Step 14 may occur after Step 11.
[0155] If the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 can execute Step 15. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 can execute Step 16.
[0156] Step 15: When the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 may reset the silence suppression timer, or in other words, clear the count value of the silence suppression timer.
[0157] Optionally, in some embodiments, the first terminal 201 resetting the silence suppression timer may mean resetting the silence suppression timer at any moment, and the count value of the silence suppression timer starts counting from that moment. Exemplarily, the first terminal 201 resets the silence suppression timer at the first moment t0 (greater than 0 seconds). At this time, the silence suppression timer can start counting from t0 again. When the initial timeout duration of the silence suppression timer is 20 seconds, if the count value of the silence suppression timer is t0 + 20, the first terminal 201 may determine that the silence suppression timer has timed out.
[0158] Optionally, in another embodiment, the first terminal 201 resetting the silence suppression timer may also mean clearing the count value during one timing period while the silence suppression timer is running, so that when the first terminal 201 uses the silence suppression timer for the next timing (or in the process of using the silence suppression timer to monitor whether it continues to not receive the next data packet from the second terminal 202 or the network), the count value of the silence suppression timer can start increasing gradually from 0 again.
[0159] Exemplarily, after the first terminal 201 resets the silence suppression timer, at this time, the silence suppression timer can start counting from 0 again. When the initial timeout duration of the silence suppression timer is 20 seconds, if the count value of the silence suppression timer is 20, the first terminal 201 may determine that the silence suppression timer has timed out.
[0160] It should be noted that after resetting the silence suppression timer, the first terminal 201 can continue to determine whether it has received a data packet from the second terminal 202 or the network, that is, return to execute step 14. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously monitor whether the first terminal 201 has received a data packet from the second terminal 202 or the network through the silence suppression timer. That is to say, the initial timeout duration of the silence suppression timer is the maximum duration for monitoring that the first terminal 201 has not received a data packet. Each time it is detected that the first terminal 201 has received a data packet from the second terminal 202 or the network, the first terminal 201 will reset the silence suppression timer. The first terminal 201 can start the next monitoring process by resetting the silence suppression timer until the call between the first terminal 201 and the second terminal 202 ends.
[0161] Step 16, when the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 can determine whether the silence suppression timer has timed out.
[0162] Specifically, in the case where the first terminal 201 does not receive a data packet from the second terminal 202 or the network for a continuous period of time, the first terminal 201 can compare the count value of the silence suppression timer with the time value corresponding to the initial timeout duration of the silence suppression timer. If the count value of the silence suppression timer is less than the time value corresponding to the initial timeout duration of the silence suppression timer, it indicates that the silence suppression timer has not timed out, and the first terminal 201 can execute Step 17. If the count value of the silence suppression timer is greater than or equal to the time value corresponding to the initial timeout duration of the silence suppression timer, it indicates that the silence suppression timer has timed out, and the first terminal 201 can end the current call. For example, execute Step 18 and Step 19.
[0163] Step 17, in the case where the silence suppression timer has not timed out, the first terminal 201 can return to Step 14 until the silence suppression timer times out or the first terminal 201 receives a data packet from the second terminal 202 or the network.
[0164] The first terminal 201 sends a bye message to the second terminal through the network to end the call.
[0165] For example, the first terminal 201 sends a bye message to the second terminal through the network, including: Step 18, the first terminal 201 can send a bye message to the network; Step 19, the network can forward the bye message to the second terminal 202. Specifically, in the case where it is determined that the silence suppression timer in the first terminal 201 has timed out, the first terminal 201 can automatically forward a bye message to the second terminal 202 through the network. Thus, the voice call between the first terminal 201 and the second terminal 202 is automatically terminated, avoiding the user of the first terminal 201 from perceiving a single-channel call for a long time and improving the experience of the user of the first terminal 201.
[0166] It should be noted that a single-channel call refers to a phenomenon where, during a call, the first terminal 201 cannot receive a data packet or the peer device (e.g., the second terminal 202) communicating with the first terminal 201 cannot receive a data packet.
[0167] Optionally, in some embodiments, after determining that the silence suppression timer in the first terminal 201 has timed out, the reason for the timeout of the silence suppression timer can be carried in the bye message. Thus, the second terminal 202 can determine the reason for the first terminal 201 to terminate the call based on the received bye message.
[0168] Exemplarily, cause = 2 and text = "RTP / RTCP time-out” can be carried in the bye message. Among them, cause = 2 is used to represent the cause value. text = "RTP / RTCP time-out” indicates that the timeout reason is RTP / RTCP timeout, that is, the silence suppression timer times out.
[0169] It should be noted that in addition to the cause values listed above, the 3rd generation partnership project (3GPP) specification also stipulates other call termination reasons and corresponding cause values as shown in Table 1 below.
[0170] Table 1
[0171] Cause value Reason 1 User ends call 2 RTP / RTCP time-out 3 Media bearer loss 4 SIP timeout - no ACK 5 SIP response time-out 6 Call-setup time-out 7 Redirection failure
[0172] In some embodiments, the first terminal 201 may also send a bye message to the network in response to an active hang-up operation by the user of the first terminal 201. The network forwards the bye message to the second terminal 202. At this time, the cause carried in the bye message received by the second terminal 202 is that the user ends the call, and the carried cause value is 1.
[0173] Among the multiple causes listed in Table 1, the call drop rate caused by RTP / RTCP timeout accounts for more than 20% of the total call drop rate. The occurrence of RTP / RTCP timeout in the terminal device is usually caused by a temporary failure of the network of the terminal device. The occurrence of RTP / RTCP timeout in the terminal device may also be caused by an abnormality of the packet data convergence protocol (PDCP) or an abnormal processing of the audio digital signal processor (ADSP) in the terminal device.
[0174] Figure 2 The call method shown is applicable to scenarios where the network signal quality of the terminal devices (the first terminal 201 and the second terminal 202) does not change significantly (for example, the terminal devices are in a static environment or an open location) or scenarios where, even if there is a change in the short term, it has recovered before the silence suppression timer times out. Since the transmission path of the data packets between the first terminal 201 and the second terminal 202 is fixed, if the transmission path still cannot be restored after the silence suppression timer in the first terminal 201 times out, it is usually very likely that the transmission path cannot be restored anymore.
[0175] When the silence suppression timer in the first terminal 201 times out, the first terminal 201 does not need to continue waiting and can automatically terminate the call. After the first terminal 201 automatically terminates the call, the user of the first terminal 201 can re - establish the bearer and routing by redialing to resume the voice call between the first terminal 201 and the second terminal 202. This can avoid long waiting times for both call - making parties and improve the user experience.
[0176] However, when the first terminal 201 and / or the second terminal 202 are in a specific scenario (such as scenarios with poor signal quality like high - speed trains, elevators, subways, highways, mountain caves or tunnels, etc.), due to the weak network signal strength of the first terminal 201 and / or the second terminal 202, the first terminal 201 and / or the second terminal 202 during the call may temporarily fail to receive the data packets forwarded by the network. However, considering that when the first terminal 201 and / or the second terminal 202 exit the specific scenario, the network signal strength of the first terminal 201 and / or the second terminal 202 will recover. That is to say, when the first terminal 201 and / or the second terminal 202 exit the specific scenario, the first terminal 201 and / or the second terminal 202 can receive the data packets forwarded by the network. Therefore, when the first terminal 201 and / or the second terminal 202 are in a specific scenario and the first terminal 201 determines that the silence suppression timer has timed out, if the first terminal 201 automatically terminates the voice call with the second terminal 202, it will result in an excessively high call drop rate.
[0177] Moreover, after the first terminal 201 and / or the second terminal 202 exit the specific scenario, the first terminal 201 needs to re - establish the voice call with the second terminal 202. Re - establishing the voice call means that it is necessary to re - execute the interactive process of establishing call signaling (such as re - establishing the voice bearer, restoring the routing, etc.), which affects the user's call experience and thus leads to a poor user experience.
[0178] In view of this, the call method provided by the embodiment of the present application determines the timeout duration of the first timer as a first time value when the first terminal is in a specific scenario, so that the timeout duration (i.e., the first time value) of the first timer in the specific scenario is greater than the initial timeout duration (i.e., the second time value) of the first timer. Subsequently, when the call between the first terminal and the second terminal is successfully established, the first time value is used as the basis for determining whether the silence suppression timer in the first terminal times out. Furthermore, when the silence suppression timer times out, the voice call between the first terminal and the second terminal can be automatically terminated. Therefore, when the first terminal is in a specific scenario, by adjusting the second time value to a longer first time value, it is possible to avoid the first terminal prematurely terminating the voice call in the specific scenario, thereby reducing the call drop rate during the call process and enhancing the user experience.
[0179] Please refer to Figure 3 , Figure 3 which shows a flowchart of a call method provided by an embodiment of the present application. The call method of the embodiment of the present application can be executed by a terminal device (such as, Figure 1 the first terminal 201 or the second terminal 202 shown). As Figure 3 shown, the call method at least includes the following steps:
[0180] S100, determine the scenario of the first terminal.
[0181] The scenario can be understood as the network environment where the terminal device is currently located. Through scenario detection, it can be known whether the network environment where the terminal device is currently located is a specific scenario. Specific scenarios include, but are not limited to: entering scenarios with poor network environments such as high-speed trains, subways, elevators, caves, and tunnels.
[0182] In some embodiments, in response to the operation of the user inserting the first user identification card into the first terminal 201, the first terminal 201 can start scenario detection to determine the scenario of the first terminal 201. Thus, the first terminal 201 can determine whether it is necessary to adjust the timeout duration of the first timer according to the determined scenario of the first terminal 201.
[0183] It should be noted that after the first terminal 201 starts scenario detection, the scenario of the first terminal 201 can be detected in real time. Thus, when the scenario of the first terminal 201 is detected to change, the first terminal 201 can perform subsequent processing in a timely and accurate manner.
[0184] In another embodiment, when a detection module is included in the first terminal 201, the first terminal 201 can periodically detect various parameters through the detection module (for example, the signal strength value of the first terminal 201, the speed parameter of the first terminal 201, the network identifier accessed by the first terminal 201, etc.), and determine the scenario of the first terminal 201 based on the detected various parameters.
[0185] Exemplarily, the first terminal 201 can periodically detect the signal strength value of the first terminal 201 and the speed parameter of the first terminal 201 (ascending speed parameter or descending speed parameter). Further, the first terminal 201 can determine whether the first terminal 201 is in an elevator scenario based on the signal strength value of the first terminal 201 and the speed parameter of the first terminal 201.
[0186] Exemplarily, the first terminal 201 can also determine whether the first terminal 201 is in a highway scenario based on the speed parameter of the first terminal 201 (translation speed parameter, acceleration parameter, etc.).
[0187] Exemplarily, the first terminal 201 can also determine whether the first terminal 201 is in a cave scenario or a tunnel scenario based on the signal strength value of the first terminal 201.
[0188] It should be understood that the speed parameter of the first terminal 201 can be detected by different sensors set in the first terminal 201, and the embodiments of the present application are not limited thereto. For example, the speed parameter of the first terminal 201 can be detected by a speed sensor set in the first terminal 201.
[0189] Exemplarily, the first terminal 201 can obtain in real time the network identifier corresponding to the currently accessed network to determine whether the first terminal 201 is in a high-speed rail scenario. In a high-speed rail scenario, the network along the high-speed rail includes base stations carrying special identifiers, and the special identifiers are used to distinguish between base stations along the high-speed rail and ordinary base stations. If the base station accessed by the first terminal 201 carries a special identifier, it can be determined that the current is in a high-speed rail scenario. Further, the first terminal 201 can also detect the running speed in real time through an acceleration sensor. If it is detected that the current running speed or moving speed is greater than a certain threshold, it can be considered that the first terminal 201 is currently in a high-speed rail scenario.
[0190] It can be understood that the above detection methods or determination methods for each scenario are only exemplary descriptions, and the embodiments of the present application are not limited thereto.
[0191] In another embodiment, while the first terminal 201 starts scenario detection, the first terminal 201 can also determine the initial timeout duration of the first timer. The first terminal 201 can determine the initial timeout duration of the first timer as a second time value.
[0192] Optionally, the second time value is used to represent the maximum duration for monitoring that the first terminal 201 continuously fails to receive data packets from the second terminal 202 or the network when the scenario of the first terminal 201 does not meet the preset condition (or rather, the scenario of the first terminal 201 is not a specific scenario). Exemplarily, the second time value may be 20 seconds (s).
[0193] It should be noted that the initial timeout duration of the first timer set by the first terminal 201, that is, the second time value, usually corresponds to a relatively short period of time, so as to avoid the first terminal 201 waiting for too long in a scenario with good network signal (open space or static location), and can improve the user experience.
[0194] It should also be noted that the first timer may adopt the silence suppression timer already set in the first terminal 201, or the first timer may also adopt other timers not set in the first terminal 201. The embodiments of the present application do not limit this.
[0195] S101. When the scenario of the first terminal meets the preset condition, determine the timeout duration of the first timer as the first time value.
[0196] Optionally, in some embodiments, the preset condition may include one or more of the following: the signal strength value of the first terminal 201 is less than the first threshold, the network identifier accessed by the first terminal 201 is a preset identifier, the first terminal 201 detects a radio link failure, and the number type of the second terminal 202 in a call with the first terminal 201 is a preset number type.
[0197] Among them, the first threshold is the signal strength threshold preset in the first terminal 201. The preset identifier is used to distinguish the wireless signals of different cells. The preset number type includes at least one type of number that the first terminal 201 cannot redial. That the first terminal 201 cannot redial means that when the first terminal 201 is a called device, after the first terminal 201 hangs up the call and then initiates a call again, it cannot successfully establish a call with the calling device.
[0198] It can be understood that the signal quality strength of the terminal device can be represented by one or more of the following indicators: reference signal receiving power (RSRP), reference signal receiving quality (RSRQ), signal to interference plus noise ratio (SINR), and so on.
[0199] Exemplarily, when the signal quality strength of the first terminal 201 is characterized by RSRP, the first threshold may be the corresponding RSRP value. The RSRP value may be set to 120 decibel-milliwatts (dBm). When the signal quality strength of the first terminal 201 is characterized by RSRQ, the first threshold may be the corresponding RSRQ value. The RSRQ value may be set to 18 decibels (dB). When the signal quality strength of the first terminal 201 is characterized by SINR, the first threshold may be the corresponding SINR value. The SINR value may be set to 8 decibels (dB).
[0200] It should be understood that the above RSRP value, RSRQ value, and SINR value are all exemplary descriptions. In actual applications, the RSRP value, RSRQ value, and SINR value can all be set based on actual needs, and the embodiments of the present application do not limit this.
[0201] It should be noted that the first threshold can be set to one or more. For different scenarios, the first terminal 201 can set multiple different first thresholds, and the embodiments of the present application do not limit this.
[0202] For example, for the elevator scenario, the first terminal 201 can set the first threshold to 120 dBm. That is, when the signal strength value of the first terminal 201 is less than 120 dBm, the first terminal 201 can determine that the first terminal 201 is in the elevator scenario. For the tunnel scenario, the first terminal 201 can set the first threshold to 110 dBm. That is, when the signal strength value of the first terminal 201 is less than 110 dBm, the first terminal 201 can determine that the first terminal 201 is in the tunnel scenario. For the highway scenario, the first terminal 201 can set the first threshold to 130 dBm. That is, when the signal strength value of the first terminal 201 is less than 130 dBm, the first terminal 201 can determine that the first terminal 201 is on the highway.
[0203] Exemplarily, the preset identifier may be a high-speed rail cell identifier or a high-speed rail base station identifier. When the network identifier accessed by the first terminal 201 is a high-speed rail base station identifier, the first terminal 201 can determine that the first terminal 201 is in the high-speed rail scenario.
[0204] Exemplarily, the preset number type may be a number starting with 400 or a virtual number in the four number segments of 170, 171, 167, and 165.
[0205] Exemplarily, the preset number type may also be a virtual number dialed through network conferencing software or network phone software in the terminal device, etc.
[0206] In some embodiments, when the preset number types include multiple types of numbers that the first terminal 201 cannot callback, the first terminal 201 can store the preset number types as a preset list. Thus, by comparing the number type of the second terminal 202 with the preset number types in the preset list stored in advance in the first terminal 201, a comparison result can be obtained. The first terminal 201 can perform corresponding processing based on the comparison result.
[0207] In another embodiment, the scenario of the first terminal 201 meeting the preset conditions may also include that the first terminal 201 temporarily loses network, etc., which is not limited in the embodiments of the present application. Exemplarily, the first terminal 201 temporarily losing network includes at least one of the following: mobile data restriction or arrears of the first terminal 201, etc.
[0208] Optionally, in some embodiments, the first time value is used to represent the maximum duration of monitoring that the first terminal 201 does not receive data packets from the second terminal 202 or the network when the scenario of the first terminal 201 meets the preset conditions (or rather, the scenario of the first terminal 201 is a specific scenario). Thus, when the scenario of the first terminal 201 meets the preset conditions, it is possible to avoid the problem that due to the timeout duration of the first timer being too short, the first terminal 201 prematurely automatically terminates the call, resulting in a relatively high call drop rate.
[0209] Optionally, the first time value is greater than the second time value. Exemplarily, the first time value can be 40 seconds, 60 seconds, 80 seconds, etc.
[0210] Based on the description of S100, after determining the scenario of the first terminal 201, the first terminal 201 can determine whether the scenario of the first terminal 201 meets the preset conditions. When it is determined that the scenario of the first terminal 201 meets the preset conditions, the first terminal 201 can determine the timeout duration of the first timer as the first time value. Thus, after the call between the first terminal 201 and the second terminal 202 is successfully established, a judgment basis for whether the first terminal 201 ends the call can be provided.
[0211] When it is determined that the scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 still uses the initial timeout duration of the first timer set in advance, that is, the second time value, as the judgment basis for whether to end the call.
[0212] In some embodiments, when the scenario of the first terminal 201 meets the preset conditions, for the second terminal 202, if the second terminal 202 does not include a silence suppression timer (for example, the second terminal 202 is a landline phone), then the second terminal 202 does not need to set the timeout duration of the silence suppression timer. That is to say, after the call between the first terminal 201 and the second terminal 202 is successfully established, the second terminal 202 does not actively end the call due to the timeout of the silence suppression timer. Therefore, when the scenario of the first terminal 201 meets the preset conditions and the timeout duration of the first timer in the first terminal 201 is adjusted, the second terminal 202 does not need to perform related operations.
[0213] However, when the scenario of the first terminal 201 meets the preset conditions, for the second terminal 202, if the second terminal 202 includes a silence suppression timer (for example, the second terminal 202 is a mobile phone), then after the call between the first terminal 201 and the second terminal 202 is successfully established, the second terminal 202 may actively end the call due to the timeout of the silence suppression timer.
[0214] Based on this, when the scenario of the first terminal 201 meets the preset conditions and the timeout duration of the first timer in the first terminal 201 is adjusted, the first terminal 201 needs to negotiate with the second terminal 202 to correspondingly adjust the timeout duration of the silence suppression timer of the second terminal 202, so that neither party in the call process hangs up the phone prematurely.
[0215] In another embodiment, when the scenario of the first terminal 201 meets the preset conditions, after the first terminal 201 determines the timeout duration of the first timer as the first time value, the first terminal 201 sends a third message to the second terminal 202. For example, the third message is transmitted through the Real-time Transport Control Protocol.
[0216] Among them, the third message is used to notify the second terminal 202 that the timeout duration of the first timer is the first time value. Or rather, the third message includes the information of the first time value. Thus, after receiving the third message, the second terminal 202 can determine the timeout duration of the third timer in the second terminal 202 as the first time value, and through the negotiation between the first terminal 201 and the second terminal 202, set the timeout duration of the third timer of the second terminal 202 to be the same as the timeout duration of the first timer, so as to avoid the premature termination of the call caused by the too short timeout duration of the third timer of the second terminal 202 and further reduce the call drop rate.
[0217] In another embodiment, when the first terminal 201 includes an IMS module, the first terminal 201 may set a first time value or a second time value through the IMS module. The first terminal 201 may also determine whether the first timer times out through the IMS module.
[0218] It should be noted that when the scenario of the first terminal 201 meets different preset conditions, the first terminal 201 may also set the first time value to different values, which is not limited in this embodiment of the present application. Exemplarily, when the network identifier accessed by the first terminal 201 is a preset identifier, the first terminal 201 may set the first time value to 40 seconds. Or, when the number type of the second terminal 202 in a call with the first terminal 201 is a preset number type, the first terminal 201 may set the first time value to 60 seconds.
[0219] S102. When the call between the first terminal and the second terminal is successfully established, start the first timer.
[0220] When a first user identification card is inserted into the first terminal 201, the first terminal 201 may establish a voice call with the second terminal 202. For the specific establishment process of the voice call between the first terminal 201 and the second terminal 202, refer to the above description and will not be elaborated here.
[0221] When the voice call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 may start the first timer. After the first timer is started, the count value of the first timer may gradually increase from 0, or the count value of the first timer may gradually increase from the value corresponding to the current moment.
[0222] It should be noted that the first terminal 201 may be a calling device or a called device, which is not limited in this embodiment of the present application.
[0223] It should also be noted that the timing for the first terminal 201 to start the first timer as a calling device is different from the timing for the first terminal 201 to start the first timer as a called device. However, in both scenarios where the first terminal 201 is a calling device and the first terminal 201 is a called device, the timer is started when the call between the first terminal 201 and the second terminal 202 is successfully established. The following is a detailed description.
[0224] Optionally, in some embodiments, when the first terminal 201 is the calling device, and correspondingly, the second terminal 202 is the called device, after the first terminal 201 receives the first message sent by the second terminal 202, it indicates that the call between the first terminal 201 and the second terminal 202 can be successfully established. At this time, the first terminal 201 can start the first timer. Wherein, the first message indicates that the second terminal 202 has successfully responded to the call initiated by the first terminal 201. Exemplarily, the first message can be a 200OK message.
[0225] Optionally, in another embodiment, when the first terminal 201 is the called device, and correspondingly, the second terminal 202 is the calling device, after the first terminal 201 sends the second message to the second terminal 202, it indicates that the call between the first terminal 201 and the second terminal 202 can be successfully established. At this time, the first terminal 201 can start the first timer. Wherein, the second message indicates that the first terminal 201 has successfully responded to the call initiated by the second terminal 202. Exemplarily, the second message can be a 200OK message.
[0226] S103, during the running of the first timer, determine whether a data packet is received from the second terminal or the network.
[0227] After the call between the first terminal 201 and the second terminal 202 is successfully established and the first timer is started, data interaction can be performed between the first terminal 201 and the second terminal 202. The embodiments of the present application do not specifically limit the transmission protocol used for data interaction. For example, the real-time transport protocol and / or the real-time transport control protocol are used for data interaction.
[0228] During the process of data interaction between the first terminal 201 and the second terminal 202, the first terminal 201 can monitor whether it continuously fails to receive data packets from the second terminal 202 or the network through the first timer in the first terminal 201.
[0229] If a data packet is received from the second terminal 202 or the network, the first terminal 201 can execute S104. If a data packet from the second terminal 202 or the network is never received, the first terminal 201 can execute S105 to S107.
[0230] It should be noted that in the embodiments of the present application, the data packet from the second terminal 202 or the network can be a data packet sent by the second terminal 202 to the first terminal 201 through the network, or the data packet from the second terminal 202 or the network can be a data packet sent by the network to the first terminal 201. The embodiments of the present application do not limit this.
[0231] S104, reset the first timer.
[0232] When receiving a data packet from the second terminal 202 or the network, the first terminal 201 may reset the first timer, or in other words, clear the count value of the first timer. This enables the first timer to continuously monitor whether the first terminal 201 can receive subsequent data packets from the second terminal 202 or the network.
[0233] It should be noted that the specific process of the first terminal 201 resetting the first timer can be referred to the description of resetting the silence suppression timer above, and will not be elaborated here.
[0234] After the first terminal 201 executes S104, the first terminal 201 may continuously detect whether it receives a data packet from the second terminal 202 or the network, that is, the first terminal 201 may return to execute S103. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it receives a data packet from the second terminal 202 or the network through the first timer until the call between the first terminal 201 and the second terminal 202 ends.
[0235] S105, determine whether the first timer times out.
[0236] Optionally, in some embodiments, the first timer timing out means that the count value of the first timer is greater than or equal to the first time value.
[0237] Optionally, in some embodiments, when the first terminal 201 has not received a data packet from the second terminal 202 or the network, the first terminal 201 may determine whether the first timer times out based on the current count value of the first timer. In other words, the first terminal 201 may compare the current count value of the first timer with the first time value to determine whether the current count value of the first timer is greater than or equal to the first time value. Thus, the first terminal 201 can perform subsequent operations based on the determination result.
[0238] If it is determined that the first timer times out, that is, the current count value of the first timer is greater than or equal to the first time value, the first terminal 201 may execute S106. If it is determined that the first timer does not time out, that is, the current count value of the first timer is less than the first time value, the first terminal 201 may execute S107.
[0239] S106, send a first instruction to the second terminal after the first timer times out.
[0240] Optionally, in some embodiments, the first instruction is used to end the call. The first instruction may carry a cause value and a cause for ending the call. Exemplarily, the first instruction may be a bye message.
[0241] In the case where the first timer times out, the first terminal 201 can automatically send a first instruction to the second terminal 202 via the network, thereby automatically terminating the voice call with the second terminal 202, which can avoid the first terminal 201 waiting for a long time in a specific scenario and further improve the user experience.
[0242] Optionally, in some embodiments, after the first terminal 201 sends the first instruction to the second terminal 202, the first terminal 201 can obtain the scenario of the first terminal 201 again. When it is determined that the scenario of the first terminal 201 meets the preset conditions, the first terminal 201 can repeat the execution of S101 to S107.
[0243] Since the scenario of the first terminal 201 is detected in real time, when it is determined that the currently detected scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 can determine the timeout duration of the first timer as a second time value. That is to say, the first terminal 201 can restore the timeout duration of the first timer to the initial timeout duration of the first timer. Thereby, it can be ensured that when the scenario of the first terminal 201 is not a specific scenario, the waiting time of the first terminal 201 is reduced, so that the first terminal 201 can actively end the call between the first terminal 201 and the second terminal 202 as soon as possible, further improving the user experience.
[0244] In another embodiment, after the first terminal 201 sends the first instruction to the second terminal 202, the second terminal 202 can determine the timeout duration of the third timer as a third time value based on the received first instruction. Wherein, the third time value is the initial timeout duration of the third timer. Exemplarily, the third time value is 20 seconds.
[0245] It should be noted that the third timer can be the silence suppression timer already set in the second terminal 202, or the third timer can also use other timers not set in the second terminal 202. The embodiments of the present application do not limit this.
[0246] It should also be noted that the third time value and the second time value can be the same or different. For specific details, please refer to the relevant description above. The specific numerical values of the duration such as the first time value, the second time value, and the third time value in the embodiments of the present application can be set according to actual needs. The embodiments of the present application do not limit this.
[0247] S107, when the first timer does not time out, return to execute S103.
[0248] When the first timer does not time out, the first terminal 201 can continuously detect whether it receives a data packet from the second terminal 202 or the network until it is determined that the first terminal 201 receives a data packet from the second terminal 202 or the network or the first timer times out.
[0249] It should be noted that the above call method is described by taking the first terminal 201 as an example, but the above call method is also applicable to terminal devices such as the second terminal 202, and the embodiments of the present application do not limit this.
[0250] In the call method of the embodiments of the present application, by detecting the scenario of the first terminal in real time; and when the scenario of the first terminal meets the preset conditions (or the first terminal is in a specific scenario), the timeout duration of the first timer can be adjusted from the initial timeout duration (or the second time value) to the first time value with a longer time. Subsequently, when the call between the first terminal and the second terminal is successfully established, the first timer in the first terminal is started, and during the call, it can be monitored whether the first terminal receives a data packet from the second terminal or the network through the first timer.
[0251] Furthermore, since the timeout duration of the first timer is extended, the probability that the first terminal receives a data packet from the second terminal or the network during the operation of the first timer is increased, avoiding hanging up the call prematurely due to too short a timeout duration. In other words, the method of the embodiments of the present application can use the extended first time value as the judgment basis for whether the first terminal automatically terminates the call when the first terminal is in a specific scenario, avoiding the first terminal hanging up the call prematurely.
[0252] Therefore, it is possible to dynamically adjust the timeout duration of the first timer, extend the timeout duration of the first timer in a specific scenario, avoid the first terminal hanging up the call prematurely in a specific scenario, and reduce the call drop rate. And after the first terminal exits the specific scenario, the first terminal does not need to re-establish a call with the second terminal, that is, it does not need to re-execute the interaction process of establishing call signaling, and the operation process of the solution is simpler and the user experience is better.
[0253] In the embodiments of the present application, in addition to Figure 3 the call method shown, the embodiments of the present application also provide another call method as shown in Figure 4 which will be described in detail below with reference to Figure 4 . Figure 4 The difference from Figure 3 is that after entering the specific scenario, Figure 4 in the method of Figure 3 the timeout duration of the first timer is not adjusted (or not extended), but by pausing the timer count, the same purpose as Figure 3 is achieved.
[0254] Please refer to Figure 4 , Figure 4 which shows a flowchart of another call method provided by an embodiment of the present application. As Figure 4 shown, the call method of the embodiment of the present application is applied to the first terminal 201, and specifically includes the following steps:
[0255] S1001, determine the timeout duration of the first timer as the second time value.
[0256] As described above, the second time value is the initial timeout duration of the first timer, or the initial timeout duration specified by the operator. The relevant description can refer to the previous explanation and will not be elaborated here.
[0257] Optionally, in some embodiments, in response to the operation of the user inserting the first user identification card in the first terminal 201, the first terminal 201 may set the timeout duration of the first timer as the second time value. Thus, when the first terminal 201 uses the first timer for timing, it can use the initial timeout duration of the second time value as the judgment criterion for whether the first timer times out.
[0258] S1002, when the call between the first terminal and the second terminal is successfully established, start the first timer.
[0259] The specific implementation process of S1002 is the same as that of S102. For the relevant description, refer to S102 and will not be elaborated here. The difference between S1002 and S102 is that the timeout duration of the first timer in S1002 is the second time value, while the timeout duration of the first timer in S102 is the first time value greater than the initial timeout duration.
[0260] It should be noted that when the initial timeout duration of the first timer has been set in advance as the second time value in the first terminal 201, S1001 and S1002 can also be combined into one step. That is to say, when the scenario of the first terminal meets the preset conditions and the call between the first terminal and the second terminal is successfully established, directly start the first timer.
[0261] S1003, during the operation of the first timer, determine whether a data packet from the second terminal or the network is received.
[0262] If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 may execute S1004. If the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 may execute S1011.
[0263] The specific implementation process of S1003 is the same as that of S103. For details, please refer to the relevant description of S103 and will not be elaborated here.
[0264] S1004, determine whether the scenario of the first terminal meets the preset conditions.
[0265] Optionally, in some embodiments, in response to the operation of the user inserting the first user identification card into the first terminal 201, the first terminal 201 can start scenario detection. After the first terminal 201 starts scenario detection, it can detect the scenario of the current first terminal 201 in real time and determine whether the scenario of the currently determined first terminal 201 meets the preset conditions.
[0266] If the scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 can execute S1005. If the scenario of the first terminal 201 meets the preset conditions, the first terminal 201 can execute S1006.
[0267] It should be understood that there is no chronological or sequential precedence between S1003 and S1004. S1003 and S1004 can be executed simultaneously, or can be executed sequentially in the order of S1003 and S1004, or can be executed in the order of S1003 after and S1004 before.
[0268] S1005, determine whether the first timer has timed out.
[0269] Among them, the first timer timing out means that the count value of the first timer is greater than or equal to the second time value.
[0270] If the first timer times out, the first terminal 201 can execute S1013. If the first timer does not time out, the first terminal 201 can return to execute S1003, that is, the first terminal 201 can continuously detect whether the first terminal 201 receives data packets from the second terminal 202 or the network.
[0271] The specific implementation process of S1005 is the same as that of S105. For details, please refer to the relevant description of S105 and will not be elaborated here. The difference between S1005 and S105 is that in S105, the first terminal 201 determines that the first timer times out based on the first time value, while in S1005, the first terminal 201 determines that the first timer times out based on the second time value.
[0272] S1006, pause the counting of the first timer and start the second timer.
[0273] Optionally, in some embodiments, the second timer is used to monitor the pause duration of the first timer. The count of the second timer represents the pause duration of the first timer.
[0274] It should be noted that the second timer can be other timers set in the first terminal 201 except the first timer, or a timer set by software code in the first terminal 201. The embodiments of the present application do not limit this.
[0275] Based on the description of S1003, when no data packet is received from the second terminal 202 or the network during the operation of the first timer and the scenario of the first terminal 201 meets the preset condition, it can be determined that the first terminal 201 is in a specific scenario. At this time, the first terminal 201 can pause the counting of the first timer and start the second timer. This can timely pause the first timer, avoid the timeout of the first timer caused by the continuous counting of the first timer, and further avoid the situation that the first terminal 201 prematurely terminates the call automatically. And the first terminal 201 can monitor the pause duration of the first timer through the second timer, which can avoid the too long pause time of the first timer and further improve the user's call experience.
[0276] S1007, determine whether the scenario of the first terminal meets the preset condition.
[0277] Optionally, in some embodiments, during the operation of the second timer, the first terminal 201 can obtain the current scenario of the first terminal 201 again and determine whether the currently determined scenario of the first terminal 201 meets the preset condition.
[0278] If the scenario of the first terminal 201 meets the preset condition, the first terminal 201 can execute S1008. If the scenario of the first terminal 201 does not meet the preset condition, the first terminal 201 can execute S1009.
[0279] It should be noted that the preset condition can be referred to the above description and will not be elaborated here.
[0280] S1008, determine whether the second timer times out.
[0281] Optionally, in some embodiments, the timeout of the second timer means that the count value of the second timer is greater than or equal to the second threshold. The second threshold is the maximum pause duration of the first timer. The second threshold can be stored in the first terminal 201 in advance. Exemplarily, the second threshold can be 15 seconds, 20 seconds, etc.
[0282] When the scenario of the first terminal 201 meets the preset conditions, it indicates that the first terminal 201 is still in a specific scenario. The first terminal 201 can determine whether the second timer times out based on the current count value of the second timer. In other words, the first terminal 201 can compare the current count value of the second timer with a second threshold to determine whether the current count value of the first timer is greater than or equal to the second threshold. Thus, the first terminal 201 can perform subsequent operations based on the judgment result.
[0283] If the second timer times out, that is, the current count value of the second timer is greater than or equal to the second threshold, the first terminal 201 can execute S1013. If the second timer does not time out, that is, the current count value of the second timer is less than the second threshold, the first terminal 201 can return to execute S1007 to continue determining whether the scenario of the first terminal meets the preset conditions.
[0284] S1009, stop running the second timer and continue running the first timer.
[0285] Optionally, stopping the second timer means that the second timer stops counting. That is, regardless of whether the count value of the second timer reaches the second threshold, it stops counting and will not continue to count from the count value of the second timer when it stops.
[0286] Optionally, continuing to run the first timer means continuing to count based on the count value when the first timer was paused.
[0287] During the operation of the second timer and when the scenario of the first terminal 201 does not meet the preset conditions, it indicates that the first terminal 201 has exited the specific scenario. At this time, the first terminal 201 can stop running the second timer and continue running the first timer. That is, the first terminal 201 can continue to count based on the count value when the first timer was paused (or in other words, the count value of the first timer gradually increases from the count value when the first timer was paused). Thus, it can be avoided that the first terminal 201 hangs up the call prematurely due to the too short timeout duration of the first timer, and further, the call drop rate can be reduced.
[0288] Optionally, in some other embodiments, during the operation of the second timer, the first terminal 201 may continuously detect whether it receives a data packet from the second terminal 202 or the network. If the first terminal 201 receives a data packet from the second terminal 202 or the network, it indicates that the first terminal 201 has exited the specific scenario. At this time, the first terminal 201 may stop the operation of the second timer and continue to operate the first timer, that is, execute S1009. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, it indicates that the first terminal 201 has not exited the specific scenario. At this time, the first terminal 201 may continue to operate the second timer.
[0289] S1010. During the continued operation of the first timer, determine whether a data packet is received from the second terminal or the network.
[0290] During the continued operation of the first timer, the first terminal 201 may continuously detect whether it receives a data packet from the second terminal 202 or the network. If the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 may execute S1011. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 may execute S1012.
[0291] S1011. Reset the first timer.
[0292] The specific implementation process of S1011 is the same as that of S104. For details, refer to S104 or the relevant description of resetting the silence suppression timer above, and no further elaboration will be provided here.
[0293] After the first terminal 201 executes S1011, the first terminal 201 may continuously detect whether it receives a data packet from the second terminal 202 or the network, that is, the first terminal 201 may return to execute S1003. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it receives a data packet from the second terminal 202 or the network through the first timer until the call between the first terminal 201 and the second terminal 202 ends.
[0294] S1012. During the continued operation of the first timer, determine whether the first timer times out.
[0295] During the continued operation of the first timer, when the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 may determine whether the first timer times out based on the current count value of the first timer.
[0296] The specific implementation principle of S1012 is the same as that of S105. For details, please refer to the description of S105 and will not be elaborated here. The difference between S1012 and S105 is that in S105, the first terminal 201 determines that the first timer times out based on the first time value, and the counting of the first timer was not paused before S105. While in S1012, the first terminal 201 determines that the first timer times out based on the second time value which is less than the first time value. Moreover, in S1012, the determination is based on the counting starting from when the first timer was paused and continuing until timeout occurs.
[0297] If the first timer times out, the first terminal 201 executes S1013. If the first timer does not time out, the first terminal 201 can return to execute S1010 to continuously detect whether the first terminal 201 receives a data packet from the second terminal 202 or the network until it receives a data packet from the second terminal 202 or the network or the first timer times out.
[0298] Exemplarily, the second time value of the first timer, that is, the initial timeout duration is 20 seconds, and the second threshold is 15 seconds. When the first timer starts from 0 seconds and runs for 5 seconds, the first terminal 201 detects a radio link failure. At this time, the first terminal 201 can pause the counting of the first timer and start a second timer. The count value of the corresponding first timer is 5. When the second timer runs for 10 seconds, the first terminal 201 detects that the radio link is restored. The first terminal 201 can stop running the second timer and continue to run the first timer. At this time, the count value of the second timer is 10 and will not continue to increment. The count value of the first timer starts to count from 5 until the count value of the first timer is greater than or equal to 20, the first terminal 201 can determine that the first timer times out. After determining that the first timer times out, the first terminal 201 can execute S1013.
[0299] S1013: Send a first instruction to the second terminal.
[0300] In the case where the scenario of the first terminal 201 does not meet the preset conditions and the first timer times out; or, in the case where the scenario of the first terminal 201 meets the preset conditions and the second timer times out; or, in the case where no data packet is received from the second terminal 202 or the network during the continuous running of the first timer and the first timer times out, the first terminal 201 can automatically send a first instruction to the second terminal 202 through the network. Thereby automatically terminating the voice call between the first terminal 201 and the second terminal 202, which can avoid the first terminal 201 waiting for a long time in a specific scenario.
[0301] The specific implementation principle of S1013 is the same as that of S106. For the relevant description of S106, please refer to it, and it will not be elaborated here.
[0302] In this application, by setting the timeout duration of the first timer to the second time value, that is, the initial timeout duration of the first timer, when the call between the first terminal and the second terminal is successfully established, the first timer can be started, enabling the first timer to use the second time value as the criterion for determining whether the first timer times out during the call between the first terminal and the second terminal. Based on this, when no data packet is received from the second terminal or the network during the operation of the first timer, and the scenario of the first terminal meets the preset conditions, the counting of the first timer can be paused, and the second timer can be started to detect the scenario of the first terminal in real time. When it is determined that the currently detected scenario of the first terminal meets the preset conditions, that is, the first terminal is in a specific scenario, the counting of the first timer can be paused in a timely manner, so that when the first timer continues to run, it can gradually increase from the paused count value, thereby avoiding the premature termination of the call of the first terminal due to the timeout of the first timer.
[0303] Subsequently, during the operation of the second timer, when the scenario of the first terminal does not meet the preset conditions, the second timer can be stopped, and the first timer can continue to run, enabling the scenario of the first terminal to be obtained again. When it is determined that the scenario of the first terminal does not meet the preset conditions, that is, the first terminal exits the specific scenario, the operation of the second timer can be stopped, and the operation of the first timer can be resumed, which can avoid the overly long waiting time of the first timer caused by the infinite pause of the first timer, thereby improving the user experience. Further, when no data packet is received from the second terminal or the network during the continued operation of the first timer, and the first timer times out, a first instruction can be sent to the second terminal, which can avoid the overly long waiting time of the first terminal when the first terminal is in a specific scenario.
[0304] Therefore, when the first terminal is in a specific scenario, the counting of the first timer can be paused to avoid the first terminal hanging up the phone prematurely in the specific scenario, which can reduce the call drop rate. Moreover, after the first terminal exits the specific scenario, the first terminal does not need to re - establish the call with the second terminal, that is, it does not need to re - execute the interaction process of establishing call signaling, and the operation process of the solution is simpler and the user experience is better.
[0305] The following combines Figures 5 to 9 , and details the specific implementation process of the call method of the embodiment of this application when the scenario of the first terminal 201 meets the preset conditions.
[0306] Please refer to Figure 5 , Figure 5The signaling interaction diagram of a call method provided by an embodiment of the present application is shown.
[0307] It is assumed that the first timer is timer T1. The second time value of timer T1 is 20 seconds, and the first time value of timer T1 is 40 seconds or 60 seconds. The first user identification card inserted in the first terminal 201 is SIM card 1. The first instruction is a bye message.
[0308] It should be noted that the above assumed conditions apply to Figures 5 to 9 the interaction process, and the same assumed conditions will not be elaborated later.
[0309] As Figure 5 shown, the call method of the embodiment of the present application specifically includes the following steps:
[0310] S201, when the first terminal 201 detects that SIM card 1 has been inserted, it starts the scenario detection of the first terminal 201 and sets the initial timeout duration of timer T1 to the second time value.
[0311] Specifically, the first terminal 201 can set the second time value of timer T1 to 20 seconds. The specific implementation process of S201 can refer to the relevant description of S100 and will not be elaborated here.
[0312] S202, when the scenario of the first terminal 201 meets the preset conditions, the first terminal 201 can set the timeout duration of timer T1 to the first time value.
[0313] Specifically, the first terminal 201 can set the first time value of timer T1 to 40 seconds. Thus, the timeout duration of timer T1 can be extended from 20 seconds to 40 seconds, which can prevent the first terminal 201 from prematurely terminating the call when the network signal is weak.
[0314] The specific implementation process of S202 can refer to the relevant description of S101 and will not be elaborated here.
[0315] S203, when the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 starts timer T1.
[0316] The specific implementation process of S203 can refer to the relevant description of S102 above and will not be elaborated here. Thus, the timeout duration of timer T1 set in S202, that is, the first time value, can be used as the standard for judging whether timer T1 times out during the operation of timer T1.
[0317] Since the call between the first terminal 201 and the second terminal 202 has been successfully established, the first terminal 201 can perform data interaction with the second terminal 202 using the Real-time Transport Protocol and / or the Real-time Transport Control Protocol, that is, packets from the peer device or network can be transmitted between the first terminal 201 and the second terminal 202. Refer to the descriptions of step 12 and step 13 in Figure 2 , which will not be elaborated here.
[0318] S204, the first terminal 201 determines whether the first terminal 201 has received a packet from the second terminal 202 or the network.
[0319] For the specific implementation process of S204, refer to the relevant description of S103 above, which will not be elaborated here. If the first terminal 201 receives a packet from the second terminal 202 or the network, the first terminal 201 can execute S205. If the first terminal 201 does not receive a packet from the second terminal 202 or the network, the first terminal 201 can execute S206.
[0320] S205, the first terminal 201 resets the timer T1.
[0321] For the specific implementation process of S205, refer to the relevant description of S104 above, which will not be elaborated here.
[0322] After the first terminal 201 executes S205, the first terminal 201 can continuously detect whether it has received a packet from the second terminal 202 or the network, that is, the first terminal 201 can return to execute S204. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it has received a packet from the second terminal 202 or the network through the timer T1 until the call between the first terminal 201 and the second terminal 202 ends.
[0323] S206, the first terminal 201 determines whether the timer T1 has timed out.
[0324] For the specific implementation process of S206, refer to the relevant description of S105 above, which will not be elaborated here. If the timer T1 times out, the first terminal 201 can execute S207. If the timer T1 does not time out, the first terminal 201 can execute S208.
[0325] S207, the first terminal 201 can send a bye message to the second terminal 202 through the network. Thus, the call process between the first terminal 201 and the second terminal 202 is automatically terminated.
[0326] For the specific implementation process of S207, refer to the relevant description of S106 above, which will not be elaborated here.
[0327] S208, return to execute S204 until a data packet is received from the second terminal 202 or the network, or the timer T1 times out.
[0328] For the specific implementation process of S208, refer to the relevant description of S107 above, which will not be elaborated here.
[0329] After the first terminal 201 sends a bye message to the second terminal 202 through the network, it indicates that the call between the first terminal 201 and the second terminal 202 ends. At this time, the first terminal 201 can execute S209.
[0330] S209, obtain the scenario of the first terminal 201 again. When it is determined that the scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 can restore the timeout duration of the timer T1 to the second time value. That is to say, the first terminal 201 can reset the timeout duration of the timer T1 to 20 seconds. Thus, it can be ensured that only when the first terminal 201 is in a specific scenario, the timeout duration of the timer T1 is extended to avoid the problem that the first terminal 201 actively ends the call prematurely in a specific scenario.
[0331] It should be noted that the first terminal 201 uses the Real-Time Transport Protocol and / or the Real-Time Transport Control Protocol to interact with the second terminal 202 through the network. In addition, the first terminal 201 also forwards the bye message to the second terminal 202 through the network. For specific details, refer to Figure 2 the relevant description. In the embodiments of the present application, for the sake of convenience of description, the network forwarding process is omitted.
[0332] Figure 5 For Figure 3 an interaction example corresponding to the call method shown, Figure 5 it is introduced in detail that when the first terminal 201 is in a specific scenario, the timeout duration of the first timer in the first terminal 201, that is, the first time value, can be adjusted to a value greater than the initial timeout duration, that is, the second time value. Based on Figure 4 the relevant description, it can be known that in the embodiments of the present application, the effect of avoiding the first terminal 201 from actively ending the call prematurely can also be achieved by pausing the initial timeout duration of the first timer, that is, the second time value. The following will describe the specific implementation process of another possible call method in the embodiments of the present application in combination with Figure 6 the interaction example in.
[0333] Please refer to Figure 6 , Figure 6 which shows a signaling interaction diagram of a call method provided by the embodiments of the present application.
[0334] Assume that the second timer is Timer T2. The second threshold value corresponding to Timer T2 is 15 seconds. The first subscriber identity module (SIM) card inserted in the first terminal 201 is SIM card 1. The first instruction is a bye message.
[0335] As Figure 6 shown, the call method according to the embodiment of the present application specifically includes the following steps:
[0336] S301, when the first terminal 201 detects that SIM card 1 has been inserted, the first terminal 201 starts scene detection and sets the initial timeout duration of Timer T1 to a second time value.
[0337] Specifically, the first terminal 201 may set the second time value of Timer T1 to 20 seconds. For the specific implementation process of S301, reference may be made to the related descriptions of S1001 and S100, which will not be elaborated here.
[0338] S302, when the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 starts Timer T1.
[0339] For the specific implementation process of S302, reference may be made to the related descriptions of S1002, which will not be elaborated here. Thus, the initial timeout duration of Timer T1 set in advance, that is, the second time value, can be used as the standard for determining whether Timer T1 times out during the timing of Timer T1.
[0340] Since the call between the first terminal 201 and the second terminal 202 has been successfully established, the first terminal 201 can perform data interaction with the second terminal 202. Reference may be made to Figure 2 the descriptions of steps 12 and 13, which will not be elaborated here.
[0341] S303, the first terminal 201 determines whether the first terminal 201 receives a data packet from the second terminal 202 or the network.
[0342] Exemplarily, after Timer T1 is started, the first terminal 201 may determine whether the first terminal 201 receives a data packet from the second terminal 202 or the network.
[0343] For the specific implementation process of S303, reference may be made to the related descriptions of S1003 above, which will not be elaborated here. For the judgment step S303, if the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 may execute S304. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 may execute S305.
[0344] S304, the first terminal 201 resets Timer T1.
[0345] For the specific implementation process of S304, reference can be made to the relevant description of S1011 above, which will not be elaborated here.
[0346] After the first terminal 201 executes S304, the first terminal 201 can continuously detect whether it receives data packets from the second terminal 202 or the network, that is, the first terminal 201 can return to execute S303. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it receives data packets from the second terminal 202 or the network through the timer T1 until the call between the first terminal 201 and the second terminal 202 ends.
[0347] S305, the first terminal 201 determines whether the scenario of the first terminal 201 meets a preset condition.
[0348] For the judgment step S305, if the scenario of the first terminal 201 meets the preset condition, the first terminal 201 can execute S307. If the scenario of the first terminal 201 does not meet the preset condition, the first terminal 201 can execute S306.
[0349] For the specific implementation process of S305, reference can be made to the relevant description in S1004 above, which will not be elaborated here.
[0350] It should be understood that there is no chronological or sequential precedence between S303 and S305. S303 and S305 can be executed simultaneously, or can be executed sequentially in the order of S303 and S305, or can be executed in the order of S303 after and S305 before.
[0351] S306, the first terminal 201 determines whether the timer T1 times out.
[0352] For the specific implementation process of S306, reference can be made to the relevant description of S1005, which will not be elaborated here. If the timer T1 times out, the first terminal 201 can execute S309. If the timer T1 does not time out, the first terminal 201 can return to execute S303, that is, continuously detect whether it receives data packets from the second terminal 202 or the network.
[0353] S307, the first terminal 201 can pause the counting of the timer T1 and start the timer T2.
[0354] For the specific implementation process of S307, reference can be made to the relevant description in S1006 above, which will not be elaborated here.
[0355] S308, during the running of the timer T2, the first terminal 201 can execute corresponding judgment logic to obtain corresponding execution results.
[0356] Specifically, for the judgment logic in S308, reference can be made to the relevant descriptions of S1007 to S1013 as shown in Figure 4 which will not be elaborated here.
[0357] In S309, the first terminal 201 can send a bye message to the second terminal 202 via the network.
[0358] When the timer T1 times out, or when the execution result is that the timer T2 times out or the timer T1 that resumes running after pausing times out, the first terminal 201 can send a bye message to the second terminal 202 via the network. For the specific implementation principle of S309, reference can be made to the relevant description of S1013, which will not be elaborated here.
[0359] In summary, in the embodiments of this application Figure 6 when the call method shown is in a specific scenario of the first terminal 201, there is no need to change the initial timeout duration of the timer T1 according to the Figure 5 shown call method. Instead, the counting of the timer T1 is paused, and a timer T2 is introduced to determine the pause duration of the timer T1, so as to ensure that when the first terminal 201 is in a specific scenario, the first terminal 201 will not prematurely end the call actively due to the timeout of the timer T1, thereby reducing the call drop rate during the call.
[0360] It should be noted that since Figure 6 the initial timeout duration of the timer T1, that is, the second time value, is not modified in the shown call method, after the call between the first terminal 201 and the second terminal 202 ends, the first terminal 201 does not need to restore the initial timeout duration of the timer T1 either.
[0361] The call method of the embodiments of this application is also applicable to the scenario where the terminal device joins or is joined in a conference call. For example, the peer device for communicating with the terminal device is of a preset number type. The following will describe the specific implementation process when the second terminal 202 initiates a call request to the first terminal 201 as the calling device and the number type of the second terminal 202 is of the preset number type in combination with the Figure 7 interaction example.
[0362] Among them, the call request can be a call request initiated by the network conference software in the second terminal 202 to the first terminal 201 for establishing a virtual call or a network call between the network conference software and the first terminal 201.
[0363] Please refer to Figure 7 , Figure 7 which shows a signaling interaction diagram of a call method provided by the embodiments of this application.
[0364] Assume that the first terminal 201 is the called device.
[0365] As Figure 7 shown, the call method of the embodiments of the present application specifically includes the following steps:
[0366] S401. When the first terminal 201 detects that the SIM card 1 has been inserted, the first terminal 201 starts the scenario detection of the first terminal 201 and sets the initial timeout duration of the timer T1 to a second time value.
[0367] Specifically, the first terminal 201 may set the second time value of the timer T1 to 20 seconds.
[0368] For the specific implementation process of S401, reference may be made to the relevant description of S100 above, which will not be elaborated here.
[0369] After setting the initial timeout duration of the timer T1, if the first terminal 201 receives a call request initiated by the network conferencing software in the second terminal 202. The first terminal 201 may determine that the scenario of the first terminal 201 meets a preset condition. Exemplarily, the first terminal 201 may determine whether the number type of the second terminal 202 is a preset number type according to the information carried in the call request. If the number type of the second terminal 202 is a preset number type, the first terminal 201 may execute S402. If the number type of the second terminal 202 is not a preset number type, the subsequent execution steps of the first terminal 201 may refer to Figure 5 the subsequent steps therein, which will not be elaborated here.
[0370] S402. When the scenario of the first terminal 201 meets the preset condition, the first terminal 201 may set the timeout duration of the timer T1 to a first time value.
[0371] Specifically, the first terminal 201 may set the first time value of the timer T1 to 60 seconds.
[0372] For the specific implementation process of S402, reference may be made to the relevant description of S101 above, which will not be elaborated here. Thus, by extending the timeout duration of the timer T1 from 20 seconds to 60 seconds, it is possible to prevent the first terminal 201 from prematurely terminating the call due to the timeout of the timer T1 when it is unable to call back.
[0373] S403. After the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 starts the timer T1.
[0374] For the specific implementation process of S403, refer to the relevant description of S102 above, which will not be elaborated here. Therefore, the timeout duration of timer T1 set in S402, that is, the first time value, can be used as the criterion for determining whether timer T1 times out during the operation of timer T1.
[0375] Since the call between the first terminal 201 and the second terminal 202 has been successfully established, the first terminal 201 can perform data interaction with the second terminal 202. Refer to Figure 2 the descriptions of step 12 and step 13 in, which will not be elaborated here.
[0376] S404, the first terminal 201 determines whether the first terminal 201 has received a data packet from the second terminal 202 or the network.
[0377] For the specific implementation process of S404, refer to the relevant description of S103 above, which will not be elaborated here. If the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 can execute S405. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 can execute S406.
[0378] S405, the first terminal 201 resets timer T1.
[0379] For the specific implementation process of S405, refer to the relevant description of S104 above, which will not be elaborated here.
[0380] After the first terminal 201 executes S405, the first terminal 201 can continuously detect whether it has received a data packet from the second terminal 202 or the network, that is, the first terminal 201 can return to execute S404. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it has received a data packet from the second terminal 202 or the network through timer T1 until the call between the first terminal 201 and the second terminal 202 ends.
[0381] S406, the first terminal 201 determines whether timer T1 times out.
[0382] For the specific implementation process of S406, refer to the relevant description of S105 above, which will not be elaborated here. If timer T1 times out, the first terminal 201 can execute S407. If timer T1 does not time out, the first terminal 201 can execute S408.
[0383] S407, the first terminal 201 can send a bye message to the second terminal 202 through the network. Thus, the call process between the first terminal 201 and the second terminal 202 is automatically terminated.
[0384] For the specific implementation process of S407, refer to the relevant description of S106 above, which will not be elaborated here.
[0385] S408. Return to execute S404 until a data packet from the second terminal 202 or the network is received or the timer T1 times out.
[0386] For the specific implementation process of S408, refer to the relevant description of S107 above, which will not be elaborated here.
[0387] After the first terminal 201 sends a bye message to the second terminal 202 via the network, the call between the first terminal 201 and the second terminal 202 ends, and the first terminal 201 can execute S409.
[0388] S409. After the call between the first terminal 201 and the second terminal 202 ends, the first terminal 201 can obtain the scenario of the first terminal 201 again. When the scenario of the first terminal 201 does not meet the preset conditions, that is, when the first terminal 201 exits the specific scenario, the first terminal 201 can restore the timeout duration of the timer T1 to the second time value. That is to say, the first terminal 201 can reset the timeout duration of the timer T1 to 20 seconds.
[0389] It should be noted that since the call between the first terminal 201 and the second terminal 202 ends, there is no second terminal 202 whose number type is the preset number type for the call with the first terminal 201. Therefore, in the case of the call ending, when the first terminal 201 obtains the scenario of the first terminal 201 again, it can directly determine that the first terminal 201 exits the specific scenario.
[0390] Thus, it can be ensured that only when the first terminal 201 is in a specific scenario (for example, the number type of the second terminal 202 for the call with the first terminal 201 is the preset number type), the timeout duration of the timer T1 is extended to prevent the first terminal 201 from prematurely ending the call actively when it cannot call back.
[0391] It should be noted that Figure 7 in the call method shown, the first terminal 201 cannot call back, that is, after the first terminal 201 actively ends the call, it cannot successfully establish a call with the second terminal 202 again. Therefore, in Figure 7 the call method shown, the actual value of the first time value (60 seconds) determined by the first terminal 201 can be greater than Figure 5 in the call method shown, the actual value of the first time value (40 seconds) determined by the first terminal 201. And Figure 7 in the call method shown, the timeout duration of the timer T1 is also changed. Therefore, after the call ends, the first terminal 201 still needs to restore the timeout duration of the timer T1 to the second time value.
[0392] The embodiments of the present application do not specifically limit the form of executing scenario detection and / or the division of internal functional modules in the terminal device. In some embodiments, the terminal device includes a detection module for executing scenario detection. During a call, the terminal device can call the detection module to continuously execute scenario detection. The following will be combined with Figure 8 the interaction process shown in
[0393] to describe the interaction process when the terminal device includes a detection module. Figure 8 In the case where the first terminal 201 includes a detection module and an IMS module, the first terminal 201 can detect the scenario of the first terminal 201 through the detection module and determine the timeout duration of the timer T1 through the IMS module. At this time, the specific implementation process of the call method of the embodiments of the present application is as
[0394] Please refer to Figure 8 , Figure 8 which shows a signaling interaction diagram of a call method provided by the embodiments of the present application.
[0395] As Figure 8 shown, the call method of the embodiments of the present application specifically includes the following steps:
[0396] S501, the first terminal 201 detects that the SIM card 1 has been inserted. Thus, the first terminal 201 can complete the operation of inserting the card and camping on the network.
[0397] S502, the first terminal 201 starts the scenario detection of the first terminal 201 through the detection module to determine the scenario of the first terminal 201.
[0398] It should be noted that after the first terminal 201 completes the operation of inserting the card and camping on the network, the first terminal 201 can detect the scenario of the first terminal 201 in real time through the detection module, and when the scenario of the first terminal 201 changes, other modules in the first terminal 201 can perform subsequent processing in a timely manner.
[0399] S503, the first terminal 201 sets the initial timeout duration of the timer T1 to a second time value through the IMS module.
[0400] It should be understood that there is no chronological or sequential precedence between S502 and S503, that is, S502 and S503 can be executed simultaneously, or can be executed sequentially in the order of S502 and S503, or can be executed in the order of S502 after and S503 before.
[0401] The specific implementation principles of S501 to S503 are similar to those of S201, S301 or S401, and reference can be made to the relevant descriptions of S201, S301 or S401, which will not be elaborated here.
[0402] In S504, the first terminal 201 can determine that the scenario of the first terminal 201 meets the preset conditions through the detection module.
[0403] In S505, when it is determined that the scenario of the first terminal 201 meets the preset conditions, the first terminal 201 sets the timeout duration of the timer T1 to the first time value through the IMS module.
[0404] The specific implementation principles of S504 to S505 are similar to those of S101, S202 or S402. For relevant descriptions, refer to S101, S202 or S402, and details are not elaborated here.
[0405] In S506, after the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 starts the timer T1 through the IMS module.
[0406] In S507, during the running of the timer T1, the first terminal 201 determines through the IMS module whether the first terminal 201 receives a data packet from the second terminal 202 or the network. If the first terminal 201 receives a data packet from the second terminal 202 or the network, the first terminal 201 executes S508 through the IMS module. If the first terminal 201 does not receive a data packet from the second terminal 202 or the network, the first terminal 201 executes S509 through the IMS module.
[0407] In S508, the first terminal 201 resets the timer T1 through the IMS module.
[0408] After the first terminal 201 executes S508 through the IMS module, the first terminal 201 can continuously detect through the IMS module whether it receives a data packet from the second terminal 202 or the network, that is, the first terminal 201 can return to execute S507 through the IMS module. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect through the IMS module whether it receives a data packet from the second terminal 202 or the network through the timer T1 until the call between the first terminal 201 and the second terminal 202 ends.
[0409] In S509, the first terminal 201 determines through the IMS module whether the timer T1 times out. If the timer T1 times out, the first terminal 201 executes S510 through the IMS module. If the timer T1 does not time out, the IMS module in the first terminal 201 executes S511.
[0410] In S510, the first terminal 201 sends a bye message to the second terminal 202 through the network through the IMS module.
[0411] S511. The first terminal 201 can return to execute S507 through the IMS module until a data packet from the second terminal 202 or the network is received or the timer T1 times out.
[0412] The specific implementation principles of S506 to S511 are similar to those of S102 to S107, S203 to S208, or S403 to S408. For relevant descriptions, refer to S102 to S107, S203 to S208, or S403 to S408, and details are not elaborated here.
[0413] S512. After the call between the first terminal 201 and the second terminal 202 ends, the first terminal 201 can obtain the scenario of the first terminal 201 again through the detection module. Thus, the first terminal 201 can determine whether the currently detected scenario of the first terminal 201 meets the preset conditions through the detection module.
[0414] S513. The first terminal 201 can determine through the detection module that the scenario of the first terminal 201 does not meet the preset conditions.
[0415] S514. When the first terminal 201 determines through the detection module that the scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 can restore the timeout duration of the timer T1 to the second time value through the IMS module.
[0416] The specific implementation principles of S512 to S514 are similar to those of S209 or S409. For relevant descriptions, refer to S209 or S409, and details are not elaborated here.
[0417] In summary, when the first terminal 201 includes a detection module and an IMS module, the process of detecting and determining the scenario of the first terminal 201 and the process of setting the timeout duration of the timer T1 and determining whether the timer T1 times out are executed separately.
[0418] The call method of the embodiment of the present application is also applicable to the case where a third timer is set in the second terminal 202 that communicates with the first terminal 201. The following will combine Figure 9 the interaction examples in to describe the specific implementation process when a third timer is set in the second terminal 202.
[0419] Please refer to Figure 9 , Figure 9 which shows a signaling interaction diagram of a call method provided by an embodiment of the present application.
[0420] Assume that the second subscriber identity module (SIM) card inserted in the second terminal 202 is SIM card 2. The third timer is timer T3. The third time value of timer T3 is 20 seconds. Also, the operators of both the second terminal 202 and the first terminal 201 are operator 1. The scenario of the second terminal 202 does not meet the preset condition.
[0421] As Figure 9 shown, the call method of the embodiment of the present application specifically includes the following steps:
[0422] S601. When the second terminal 202 detects that SIM card 2 has been inserted, the second terminal 202 can set the initial timeout duration of timer T3 to the third time value, that is, 20 seconds.
[0423] S602. When the first terminal 201 detects that SIM card 1 has been inserted, the first terminal 201 starts the scenario detection of the first terminal 201 and sets the initial timeout duration of timer T1 to the second time value, that is, 20 seconds.
[0424] For the related description of S602, reference can be made to Figure 5 S201, which will not be elaborated here.
[0425] It should be understood that there is no chronological or sequential precedence between S601 and S602, that is, S601 and S602 can be executed simultaneously, or can be executed according to the order of insertion of SIM cards in different terminal devices. For example, they can be executed in the order of S601 first and S602 second; or in the order of S601 second and S602 first.
[0426] S603. When it is determined that the scenario of the first terminal 201 meets the preset condition, the first terminal 201 sets the timeout duration of timer T1 to the first time value.
[0427] For the related description of S603, reference can be made to Figure 5 S202, which will not be elaborated here.
[0428] After the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 can execute S604. The second terminal 202 can execute S605.
[0429] S604. After the call between the first terminal 201 and the second terminal 202 is successfully established, the first terminal 201 starts timer T1 and notifies the second terminal 202 that the timeout duration of timer T1 is the first time value.
[0430] Specifically, the first terminal 201 can use the Real-time Transport Control Protocol (RTCP) to send a third message to the second terminal 202, thereby notifying the second terminal 202 that the timeout duration of timer T1 is 40 seconds.
[0431] S605. When the call between the second terminal 202 and the first terminal 201 is successfully established, the second terminal 202 starts a timer T3, and the initial timeout duration of the timer T3 is the third time value.
[0432] It should be understood that there is no sequence or order priority between S604 and S605, that is, S604 and S605 can be executed simultaneously, or can be executed sequentially in the order of S604 and S605, or can be executed in the order of S605 first and S604 second.
[0433] S606. After the second terminal 202 receives the third message sent by the first terminal 201 using the Real - Time Transport Control Protocol, the second terminal 202 can set the timeout duration of the timer T3 to the first time value, that is, 40 seconds.
[0434] Thus, by setting the timeout duration of the timer T3 to be the same as the timeout duration of the timer T1, it is possible to avoid the problem that the second terminal 202 ends the call prematurely due to the too - short timeout duration of the timer T3 when the first terminal 201 is in a specific scenario, and further reduce the call drop rate.
[0435] Since the call between the first terminal 201 and the second terminal 202 has been successfully established, the first terminal 201 can perform data interaction with the second terminal 202. For details, see Figure 2 the descriptions of step 12 and step 13, which will not be elaborated here.
[0436] S607. The first terminal 201 determines whether the first terminal 201 has received a data packet from the second terminal 202 or the network. If the first terminal 201 has received a data packet from the second terminal 202 or the network, the first terminal 201 can execute S608. If the first terminal 201 has not received a data packet from the second terminal 202 or the network, the first terminal 201 can execute S609.
[0437] S608. The first terminal 201 resets the timer T1.
[0438] After the first terminal 201 executes S608, the first terminal 201 can continuously detect whether it has received a data packet from the second terminal 202 or the network, that is, the first terminal 201 can return to execute S607. Thus, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 can continuously detect whether it has received a data packet from the second terminal 202 or the network through the timer T1 until the call between the first terminal 201 and the second terminal 202 ends.
[0439] S609, the first terminal 201 determines whether the timer T1 times out. If the timer T1 times out, the first terminal 201 may execute S610. If the timer T1 does not time out, the first terminal 201 may execute S611.
[0440] S610, the first terminal 201 may send a bye message to the second terminal 202 via the network.
[0441] S611, return to execute S607 until a data packet from the second terminal 202 or the network is received or the timer T1 times out.
[0442] S612, obtain the scenario of the first terminal 201 again. When it is determined that the scenario of the first terminal 201 does not meet the preset conditions, the first terminal 201 may restore the timeout duration of the timer T1 to the second time value.
[0443] The specific implementation processes of S607 to S612 are the same as those of S204 to S209 or S404 to S409. For details, refer to the relevant descriptions of S204 to S209 or S404 to S409, which will not be elaborated here.
[0444] After the second terminal 202 receives the bye message sent by the first terminal 201 via the network, the call between the first terminal 201 and the second terminal 202 ends. At this time, the second terminal 202 may execute S613.
[0445] S613, after the second terminal 202 receives the bye message sent by the first terminal 201 via the network, the second terminal 202 may restore the timeout duration of the timer T3 to the third time value, that is, 20 seconds. This can avoid the second terminal 202 waiting for too long when the network signal is good and improve the user experience.
[0446] It should be understood that there is no chronological or sequential precedence between S612 and S613, that is, S612 and S613 may be executed simultaneously, or executed sequentially in the order of S612 and S613, or executed in the order of S613 first and S612 later.
[0447] It should be noted that Figure 9The illustrated call method is exemplarily described with the same operator for the second terminal 202 and the first terminal 201. In practical applications, the operators of the second terminal 202 and the first terminal 201 can be different operators, and the initial timeout duration of the timer T3 in the second terminal 202 is usually different from the initial timeout duration of the timer T1 in the first terminal 201. At this time, during the call between the first terminal 201 and the second terminal 202, the first terminal 201 and the second terminal 202 can negotiate to set the timeout duration of the timer T3 to the same duration as the timeout duration of the timer T1. Further, after the call between the first terminal 201 and the second terminal 202 ends, the second terminal 202 can restore the initial timeout duration of the timer T3, and the first terminal 201 can also restore the initial timeout duration of the timer T1.
[0448] It should also be noted that during the operation of the timer T3 in the second terminal 202, it is also necessary to determine whether a data packet from the first terminal 201 or the network is received, and whether the timer T3 times out. The specific implementation process is similar to the principle of the relevant implementation process of the first terminal 201. For details, reference can be made to the relevant description of the first terminal 201. For the sake of convenience of description, Figure 9 it is not shown in the figure. Exemplarily, when the second terminal 202 determines that the timer T3 times out, the second terminal 202 can send a bye message to the first terminal 201 through the network to actively end the call. After the call between the first terminal 201 and the second terminal 202 ends, the first terminal 201 can execute S612, and the second terminal 202 can execute S613.
[0449] It should be understood that in the embodiments of the present application Figures 2 to 9 the step numbers are only for the convenience of describing the implementation process of the call method in the embodiments of the present application, and have no actual meaning, nor are they the actual execution order of the call method in the embodiments of the present application.
[0450] It should also be understood that the call methods in the embodiments of the present application can also be combined for use, and the solutions obtained by combining at least two call methods in the embodiments of the present application also fall within the protection scope of the embodiments of the present application.
[0451] As described above in conjunction with Figures 3 to 9 , the specific implementation process of the call method in the embodiments of the present application has been described in detail. Next, in conjunction with Figure 10 and Figure 11 , the hardware system and software system of the terminal device for implementing the above call method will be introduced in detail.
[0452] Please refer to Figure 10 , Figure 10 which shows a schematic diagram of the hardware system of a terminal device provided by the embodiments of the present application.
[0453] As Figure 10 shown, the terminal device 200 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface, i.e., USB interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a SIM interface 195, etc.
[0454] Among them, the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, and a bone conduction sensor 180M, etc.
[0455] It should be noted that Figure 10 the shown structure does not specifically limit the hardware system of the terminal device 200. In some other embodiments of the present application, the hardware system of the terminal device 200 may include more or fewer components than Figure 10 the shown components, or the hardware system of the terminal device 200 may include a combination of some of the components shown in Figure 10 the shown components, or the hardware system of the terminal device 200 may include sub-components of some of the components shown in Figure 10 the shown components. For example, Figure 10 the proximity light sensor 180G shown may be optional. Figure 10 The shown components may be implemented in hardware, software, or a combination of software and hardware.
[0456] The processor 110 may include one or more processing units. For example, the processor 110 may include at least one of the following processing units: an application processor (AP), a modem (also known as a modulation and demodulation processor), a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and a neural-network processing unit (NPU). Among them, different processing units may be independent devices or integrated devices.
[0457] The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
[0458] The wireless communication function of the terminal device 200 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, and the baseband processor, etc.
[0459] In some embodiments, the modulation and demodulation processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the detected electromagnetic wave signal into a low-frequency baseband signal. Subsequently, the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The baseband processor may transmit the processed low-frequency baseband signal to the application processor. The application processor may output a sound signal through an audio output device (not limited to the speaker 170A, the receiver 170B, etc.), or display an image or video through the display screen 194.
[0460] In some embodiments, the modem is used to execute the call method of the terminal device 200 in the embodiments of the present application. When the terminal device 200 initiates a call to the peer device in the IMS network 500, the modem processor of the terminal device 200 may send a call request to the IMS network 500. After the IMS network 500 forwards the call request to the called peer device, the called peer device issues a call reminder by means of vibration, ringing, etc., so as to prompt the user of the called peer device to answer this call. At this time, the user of the called peer device may perform an operation of answering the call or rejecting the call. After the user of the called peer device performs the operation of answering the call, a voice call can be made between the terminal device 200 and the called peer device. In addition, if the called peer device does not respond to this call for a long time, the modem processor of the terminal device 200 may send a cancel call message to the IMS network 500 to end this call.
[0461] In another embodiment, the modem processor may also be provided as an independent device in the terminal device 200. Alternatively, the modem processor may be independent of the processor 110 and be provided in the same device as the mobile communication module 150 or other functional modules.
[0462] The modem processor may obtain the current geographical location of the terminal device 200 in various ways, and this embodiment does not limit the way of obtaining the geographical location.
[0463] Exemplarily, the modem processor may determine the current geographical location of the terminal device 200 according to the tracking area code or physical cell identifier fed back by the network during the network registration phase. Alternatively, the modem processor may obtain the current geographical coordinates of the terminal device 200 provided by systems such as the global positioning system (GPS) or the Beidou navigation satellite system (BDS) from the wireless communication module 160 of the terminal device 200, and determine the current geographical location of the terminal device 200 through the geographical coordinates.
[0464] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Antenna 1 may cover a single or multiple communication frequency bands. Antenna 2 may also cover a single or multiple communication frequency bands.
[0465] Antenna 1 is coupled to the mobile communication module 150, and antenna 2 is coupled to the wireless communication module 160, so that the terminal device 200 can communicate with the network and other devices through wireless communication technologies.
[0466] In some embodiments, both the mobile communication module 150 and the wireless communication module 160 can be used for receiving and sending data packets during information or call transactions. Specifically, both the mobile communication module 150 and the wireless communication module 160 can be used to receive downlink data sent by the radio access network device 300 and transmit the downlink data to the processor 110 for processing. Correspondingly, both the mobile communication module 150 and the wireless communication module 160 can be used to send the uplink data processed by the processor 110 to the radio access network device 300.
[0467] A memory can also be provided in the processor 110 for storing instructions and data (such as audio data and call records during a call, etc.). In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0468] In some embodiments, the processor 110 may further include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a SIM interface 195, and / or a USB interface 130, etc.
[0469] The SIM interface 195 is used to connect to the SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation from the terminal device 200. It should be understood that the terminal device 200 can support at least one SIM card interface 195.
[0470] It should be noted that the SIM card interface 195 can be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards.
[0471] The terminal device 200 can interact with the IMS network 500 through the SIM card to implement functions such as voice calls and data communication.
[0472] The terminal device 200 can implement audio functions through the audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor, etc. For example, music playback, recording, playing prompt sounds, and voice calls, etc.
[0473] Among them, the speaker 170A is used to convert the audio electrical signal into a sound signal. The terminal device 200 can answer hands-free calls or play prompt sounds through the speaker 170A. The receiver 170B is used to convert the audio electrical signal into a sound signal. When the terminal device 200 answers a call or listens to a voice message, the terminal device 200 can answer the voice close to the user's ear through the receiver 170B. The microphone 170C is used to convert the sound signal into an electrical signal. When the user makes a call or sends a voice message, the user's mouth is close to the microphone 170C to make a sound and input the sound signal into the microphone 170C.
[0474] As a kind of motion sensor, the acceleration sensor 180E can detect the magnitude of acceleration in all directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity, and can be used for applications that identify the posture of the terminal device 200 (such as landscape / portrait screen switching, related games, magnetometer posture calibration, and whether the terminal device 200 is in a descending or ascending elevator scenario), vibration recognition related functions (such as pedometer, tapping), etc. In the embodiments of the present application, the acceleration sensor 180E can collect the acceleration data of the terminal device 200 to provide data basis for judging whether the terminal device 200 is in a specific scenario (such as a high-speed rail scenario).
[0475] The terminal device 200 can implement the display function through the GPU, display screen 194, and application processor, so as to be able to display the interface called by the terminal device 200 or the called interface on the display screen 194. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to execute mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change the display information.
[0476] The display screen 194 can be used to display images or videos. The display screen 194 includes a display panel. The display panel can adopt a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a mini light-emitting diode (Mini LED), a micro light-emitting diode (Micro LED), a micro OLED (Micro OLED), or a quantum dot light-emitting diode (QLED).
[0477] The terminal device 200 can implement the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, the application processor, etc.
[0478] It should be noted that Figure 10 The connection relationships shown between the various modules are only illustrative descriptions and do not constitute limitations on the connection relationships between the various modules of the terminal device 200. Optionally, the various modules of the terminal device 200 can also adopt combinations of various connection methods in the above embodiments.
[0479] Optionally, in some embodiments, the processor 110 is used to identify the network environment in which the terminal device 200 is currently making a call, and dynamically adjust the running duration of the first timer in the terminal device 200 when it is determined that the terminal device 200 enters a specific scenario. For example, when entering a scenario with a poor network environment such as a high-speed train, a subway, an elevator, a cave, or a tunnel, the timeout duration of the first timer is extended (for example, by Figure 3 the call method shown, adjusting the initial timeout duration of the first timer, that is, the second time value, to a first time value greater than the second time value to achieve the purpose of extending the timeout duration of the first timer; or, by Figure 4The call method shown suspends the counting of the first timer and achieves the same effect as extending the timeout duration of the first timer without changing the initial timeout duration of the first timer. Based on this, when the call between the terminal device 200 and the peer device is successfully established, the processor 110 is used to determine whether a data packet from the peer device or the network is received based on the first timer with the adjusted timeout duration. When it is determined that the terminal device 200 has not received a data packet from the peer device or the network, the processor 110 is further used to determine whether the first timer times out (for example, as shown in Figure 3 shown, the count value of the first timer is greater than or equal to the first time value; or, as shown in Figure 4 shown, the count value of the first timer is greater than or equal to the second time value). When it is determined that the first timer times out, the processor 110 is further used to send a first instruction to the peer device through the network.
[0480] Thus, it is possible to dynamically adjust the timeout duration of the first timer when it is determined that the terminal device 200 enters or exits a specific scenario, extend the timeout duration of the first timer, and thereby reduce the call drop rate of the terminal device 200. Specifically, when it is determined that the terminal device 200 enters a specific scenario, the timeout duration of the first timer can be extended, avoiding the terminal device 200 automatically terminating the call prematurely due to the first timer timing out, and the call drop rate can be reduced.
[0481] The hardware system of the terminal device 200 is described in detail above. Next, the software system of the terminal device 200 is introduced. The software system can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservices architecture, or a cloud architecture. In this embodiment of the application, the software system of the terminal device 200 is exemplarily described with the layered architecture as an example.
[0482] Please refer to Figure 11 , Figure 11 which shows a schematic diagram of the software system of a terminal device provided in this embodiment of the application.
[0483] The software system of the terminal device 200 can be divided into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, as shown in Figure 11 shown, the software system of the terminal device 200 can be an Android system architecture. The Android system architecture can be divided into four layers, from top to bottom, namely the application layer (application, APP), the application framework layer (application framework), the system runtime library layer, and the kernel layer (Linux kernel).
[0484] The application layer may include multiple applications. For example, the multiple applications may include a call application, a settings application, a camera application, a calendar application, a music application, etc. Among them, the call application is used to implement the voice call function.
[0485] It can be understood that the multiple applications in the application layer may be third-party applications installed by the user or system applications.
[0486] The application framework layer is a framework layer for supporting the operation of multiple applications in the application layer. In some embodiments, the application framework layer provides application programming interfaces (APIs) and programming frameworks for the multiple applications in the application layer.
[0487] As Figure 11 shown, exemplarily, the application framework layer may include a resource manager, an identification module, a phone manager, a content manager, etc.
[0488] The resource manager is used to provide various resources for the multiple applications in the application layer. For example, localized strings, icons, pictures, layout files, video files, etc.
[0489] The identification module can be used to identify the voice received by the modem processor and feedback the identification result to the modem processor.
[0490] In some embodiments, the identification module may also be located in Figure 11 the application layer shown.
[0491] The phone manager is used to provide the communication function of the terminal device 200. For example, the management of call status (including answering or hanging up, etc.).
[0492] The content provider is used to store and obtain data and enable these data to be accessed by multiple applications in the application layer. The above data may include videos, images, audio, dialed and answered calls, browsing history and bookmarks, and phone books, etc.
[0493] The system runtime library layer may include multiple functional modules. For example: Radio Interface Layer (RIL), media library, surface manager, media libraries, and 2D graphics engine, etc.
[0494] In the Android system architecture, the radio interface layer is used to provide an abstract interface between the call service and the radio hardware (for example, the modem processor).
[0495] The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications.
[0496] The media library supports the playback and recording of multiple common audio and video formats, as well as static image files, etc. The media library can support multiple audio and video coding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG or PNG, etc.
[0497] The 2D graphics engine is a drawing engine for 2D drawing.
[0498] The kernel layer is the layer between hardware and software. The kernel layer at least includes a modem processor driver, a display driver, a camera driver, an audio driver, and a sensor driver, etc. It should be noted that although the embodiments of this application are described by taking the Android system as an example, its basic principle also applies to terminal devices based on operating systems such as iOS and Windows.
[0499] The call method of the embodiments of this application can detect the scenario of the terminal device 200 in real time, and dynamically adjust the running duration of the first timer in the terminal device 200 when the terminal device 200 enters a specific scenario. For example, when entering a scenario with a poor network environment such as high-speed rail, subway, elevator, cave or tunnel, the timeout duration of the first timer is extended (for example, by Figure 3 The call method shown, adjusting the initial timeout duration of the first timer, that is, the second time value, to a first time value greater than the second time value to achieve the purpose of extending the timeout duration of the first timer; or, by Figure 4 The call method shown, pausing the counting of the first timer, and achieving the same effect as extending the timeout duration of the first timer without changing the initial timeout duration of the first timer). When the call between the terminal device 200 and the peer device is successfully established, the terminal device 200 can start the first timer; and based on the first timer with the adjusted timeout duration, determine whether a data packet is received from the peer device or the network. When it is determined that the terminal device 200 does not receive a data packet from the peer device or the network, the terminal device 200 can determine whether the first timer times out (for example, as Figure 3 shown, the count value of the first timer is greater than or equal to the first time value; or, as Figure 4 shown, the count value of the first timer is greater than or equal to the second time value). When it is determined that the first timer times out, the terminal device 200 can automatically terminate the call through the modem processor driver in the kernel layer. Subsequently, the modem processor driver can feedback the call termination information upward to the call application in the application layer. Thus, the call application in the terminal device 200 can exit the display interface during the call based on the call termination information.
[0500] It should be understood that Figure 11 the hierarchical structure shown does not specifically limit the software system of the terminal device 200. In some other embodiments of the present application, the software system of the terminal device 200 may include more or fewer architectures than Figure 11 the hierarchical architecture shown, or each layer architecture of the software system of the terminal device 200 may include more or fewer structures than Figure 11 the component structure shown. The embodiments of the present application are not limited thereto.
[0501] Exemplarily, the present application provides a readable storage medium, in which a computer program is stored. When the processor 110 calls the instruction, the terminal device 200 is caused to execute the method in the foregoing embodiments.
[0502] Exemplarily, the present application provides a chip system, which is applied to a terminal device 200 including a memory, a display screen 194, and a sensor; the chip system includes: one or more interface circuits and one or more processors 110; the interface circuits and the processors 110 are interconnected by lines; the interface circuits are configured to receive signals from the memory and send the signals to the processors 110, and the signals include computer codes or instructions stored in the memory; the processors 110 call the instructions, so that the terminal device 200 executes the method in the foregoing embodiments.
[0503] Exemplarily, the present application provides a computer program product, which causes the terminal device 200 to implement the method in the foregoing embodiments when the computer program product runs on a computer.
[0504] In the foregoing embodiments, all or part of the functions may be implemented by software, hardware, or a combination of software and hardware. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer codes or instructions. When the computer program code or instructions are loaded and executed on a computer, all or part of the processes or functions according to the present application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer code or instructions may be stored in a computer-readable storage medium. The computer-readable storage medium may be any available medium that the computer can access or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.
[0505] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by hardware instructed by a computer program. This program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The aforementioned storage medium includes various media that can store program codes, such as read only memory (ROM), random access memory (RAM), magnetic disks, or optical discs.
Claims
1. A call method, characterized in that, Applied to a first terminal, the method includes: Determine the scenario of the first terminal; When the scenario of the first terminal meets a preset condition, determine the timeout duration of a first timer as a first time value; wherein, the first time value is greater than a second time value, and the second time value is the initial timeout duration of the first timer; When a call between the first terminal and a second terminal is successfully established, start the first timer; During the running of the first timer, receive a data packet from the second terminal or the network; or, when no data packet is received from the second terminal or the network during the running of the first timer and the first timer times out, send a first instruction to the second terminal; the first instruction is used to end the call, and the first timer timing out means that the count value of the first timer is greater than or equal to the first time value.
2. The method according to claim 1, wherein The method further includes: After sending the first instruction to the second terminal, obtain the scenario of the first terminal again: When the scenario of the first terminal does not meet the preset condition, determine the timeout duration of the first timer as the second time value.
3. The method according to claim 1 or 2, characterized in that, The scenario of the first terminal meeting the preset condition includes one or more of the following: The signal strength value of the first terminal is less than a first threshold, the network identifier accessed by the first terminal is a preset identifier, the first terminal detects a radio link failure, and the number type of the second terminal communicating with the first terminal is a preset number type; the preset number type includes at least one type of number that the first terminal cannot redial.
4. The method according to any one of claims 1 to 3, characterized in that, When no data packet is received from the second terminal or the network during the running of the first timer, the method further includes: When the first timer does not time out, continuously detect whether a data packet is received from the second terminal or the network until a data packet is received from the second terminal or the network or the first timer times out.
5. The method according to any one of claims 1 to 3, characterized in that, During the running of the first timer, when a data packet is received from the second terminal or the network, the method further includes: Reset the first timer.
6. The method according to any one of claims 1 to 5, characterized in that, The first terminal is the calling device and the second terminal is the called device; the starting the first timer when a call between the first terminal and the second terminal is successfully established includes: After receiving a first message from the second terminal, start the first timer, and the first message indicates that the second terminal has successfully responded to the call initiated by the first terminal.
7. The method according to any one of claims 1 to 5, characterized in that The first terminal is the called device and the second terminal is the calling device; the starting the first timer when a call between the first terminal and the second terminal is successfully established includes: After sending a second message to the second terminal, start the first timer, and the second message indicates that the first terminal has successfully responded to the call initiated by the first terminal.
8. The method according to any one of claims 1 to 7, characterized in that, The determining the scenario of the first terminal includes: In response to an operation of a user inserting a first user identification card into the first terminal, determine the scenario of the first terminal, and determine that an initial timeout duration of the first timer is the second time value.
9. The method according to any one of claims 1 to 8, characterized in that, After determining that a timeout duration of the first timer is a first time value when the scenario of the first terminal meets a preset condition, the method further includes: Sending a third message to the second terminal, where the third message is used to notify the second terminal that the timeout duration of the first timer is the first time value, so that the second terminal determines that a timeout duration of a third timer is the first time value.
10. The method according to claim 9, characterized in that The method further includes: After sending the first instruction to the second terminal, a timeout duration of the third timer is a third time value, and the third time value is an initial timeout duration of the third timer.
11. A call method, characterized in that, Applied to a first terminal, the method includes: When a call between the first terminal and a second terminal is successfully established, start the first timer, where a timeout duration of the first timer is a second time value, and the second time value is an initial timeout duration of the first timer; During the running of the first timer, receive a data packet from the second terminal or the network; or, during the running of the first timer, if no data packet is received from the second terminal or the network and the scenario of the first terminal meets the preset condition, pause the counting of the first timer and start a second timer, where the counting of the second timer is used to represent a pause duration of the first timer; During the running of the second timer, if the scenario of the first terminal does not meet the preset condition, stop running the second timer and continue running the first timer; During the continued running of the first timer, if a data packet is received from the second terminal or the network; or, during the continued running of the first timer, if no data packet is received from the second terminal or the network and the first timer times out, send a first instruction to the second terminal; the first instruction is used to end the call, and the first timer timing out means that a count value of the first timer is greater than or equal to the second time value, and continuing to run the first timer means continuing to count based on the count value when the first timer is paused.
12. The method according to claim 11, wherein During the running of the second timer, the method further includes: When the scenario of the first terminal meets the preset condition and the second timer times out, send the first instruction to the second terminal, and the second timer timing out means that a count value of the second timer is greater than or equal to a second threshold.
13. The method according to claim 11, characterized in that During the running of the second timer, the method further includes: When the scenario of the first terminal meets the preset condition and the second timer does not time out, obtain the scenario of the first terminal again until the scenario of the first terminal does not meet the preset condition or the second timer times out.
14. The method according to any one of claims 11 to 13, characterized in that, When a data packet is received from the second terminal or the network during the continued running of the first timer, the method further includes: Reset the first timer.
15. The method according to any one of claims 11 to 14, characterized in that, When no data packet is received from the second terminal or the network during the continued running of the first timer, the method further includes: When the first timer does not time out, continuously detect whether a data packet is received from the second terminal or the network until a data packet is received from the second terminal or the network or the first timer times out.
16. The method according to any one of claims 11 to 15, characterized in that, The scenario of the first terminal meeting the preset conditions includes one or more of the following: The signal strength value of the first terminal is less than a first threshold, the network identifier accessed by the first terminal is a preset identifier, the first terminal detects a radio link failure, and the number type of the second terminal in a call with the first terminal is a preset number type; the preset number type includes at least one type of number that the first terminal cannot redial.
17. A terminal device, characterized in that, It includes a processor and a memory, the processor and the memory are coupled, the memory is used to store a computer program, and the processor calls instructions to enable the terminal device to execute the method described in any one of claims 1 to 10 or execute the method described in any one of claims 11 to 16.
18. A readable storage medium, characterized in that, The readable storage medium stores a computer program, and the processor calls instructions to enable the terminal device to execute the method described in any one of claims 1 to 10 or execute the method described in any one of claims 11 to 16.
19. A chip system, characterized in that, The chip system is applied to a terminal device including a memory, a display screen, and a sensor; the chip system includes: one or more interface circuits and one or more processors; the interface circuits and the processors are interconnected by lines; the interface circuits are used to receive signals from the memory and send signals to the processors, and the signals include computer codes or instructions stored in the memory; the processor calls instructions to enable the terminal device to execute the method described in any one of claims 1 to 10 or execute the method described in any one of claims 11 to 16.