Call method and device, electronic equipment and storage medium
By setting up identification queues and updating policies when the network is congested and retaining the latest call identification, the problem of call failure caused by network congestion is solved, call connections can be quickly established, and the call success rate and user experience are improved.
Patent Information
- Application Number
- CN202410244785.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-04
- Publication Date
- 2025-09-05
AI Technical Summary
In the case of network congestion, voice calls are prone to failure, resulting in a long period of inability to establish a connection, affecting user experience and even threatening life and property safety.
By setting up an ID queue and updating policy, the latest call ID is retained and the target call ID is selected to process call requests, so as to quickly establish a call connection when the network is congested.
It reduces the probability of paging timeout, increases call success rate, and improves user experience, especially avoiding the risk of call failure in emergency situations.
Smart Images

Figure CN120603054A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a communication method, device, electronic device, and storage medium. Background Art
[0002] With the rapid development of mobile communication technology, 4G-LTE (Long Term Evolution) technology has matured, and 5G-NR (New Radio) technology is in the process of rapid popularization. Voice services, as the core services of mobile communication technology, are indispensable to users' daily lives and work. VoLTE (Voice over Long Term Evolution) and VoNR (Voice over New Radio) are 4G / 5G voice solutions based on the IMS (IP Multimedia Subsystem) network and are the mainstream technologies for voice calls at this stage. However, due to the complexity of the network environment and usage scenarios, call failures are inevitable during voice services. The inability to establish a voice call for a long time will seriously affect the user experience and even cause loss of life and property. Summary of the Invention
[0003] To overcome the problems existing in the related art, the present disclosure provides a communication method, device, electronic device and storage medium.
[0004] According to a first aspect of an embodiment of the present disclosure, a calling method is provided, the method comprising:
[0005] receiving a call request, wherein the call request carries a first call identifier;
[0006] Update an identification queue according to the first call identification, wherein the identification queue is used to store a maximum of N call identifications, where N is an integer greater than 1;
[0007] If no new call request is received within the timing length of the first timer, select a call identifier from the identifier queue as the target call identifier, wherein the first timer is reset when any call request is received;
[0008] Processing the call request corresponding to the target call identifier to establish a call connection.
[0009] In an exemplary embodiment, the method further comprises:
[0010] If no call identifier is selected from the identifier queue as the target call identifier within the timing length of the second timer and the call request corresponding to the target call identifier is processed, a call cancellation message is sent;
[0011] The second timer is triggered by receiving a first call request, and the first call request is a call request corresponding to the call identifier stored when the identifier queue is empty.
[0012] In an exemplary embodiment, the call request is received within a timing duration of the first timer.
[0013] In an exemplary embodiment, updating the identification queue according to the first call identification includes:
[0014] If the first call identifier is identical to any call identifier stored in the identifier queue, the call identifier in the identifier queue that is identical to the first call identifier is kept unchanged.
[0015] In an exemplary embodiment, if the first call identifier is identical to any call identifier stored in the identifier queue, keeping the call identifier in the identifier queue that is identical to the first call identifier unchanged includes:
[0016] If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as the last call identifier stored in the identifier queue, keep the last call identifier unchanged, and delete the call identifiers in the identifier queue except the last call identifier;
[0017] If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as any call identifier stored in the identifier queue except the last call identifier, the identifier queue remains unchanged.
[0018] In an exemplary embodiment, updating the identification queue according to the first call identification includes:
[0019] If the first call identifier is different from any call identifier stored in the identifier queue, the first call identifier is stored in the identifier queue.
[0020] In an exemplary embodiment, the method further comprises:
[0021] If the number of call identifiers stored in the identifier queue is equal to N, the first call identifier in the identifier queue is deleted.
[0022] In an exemplary embodiment, the method further comprises:
[0023] After the call connection is established or the call cancellation message is sent, all call identifiers in the identifier queue are deleted.
[0024] According to a second aspect of an embodiment of the present disclosure, a communication device is provided, the device comprising:
[0025] A receiving module is configured to receive a call request, wherein the call request carries a first call identifier;
[0026] An updating module is configured to update an identification queue according to the first call identification, wherein the identification queue is used to store a maximum of N call identifications, where N is an integer greater than 1;
[0027] The selection module is configured to select a call identifier from the identifier queue as a target call identifier if no new call request is received within a timing duration of a first timer, wherein the first timer is reset when any call request is received;
[0028] The processing module is configured to process the call request corresponding to the target call identifier to establish a call connection.
[0029] According to a third aspect of an embodiment of the present disclosure, there is provided an electronic device, including:
[0030] processor;
[0031] a memory for storing processor-executable instructions;
[0032] The processor is configured to execute the method as described in the first aspect of the embodiment of the present disclosure.
[0033] According to a fourth aspect of an embodiment of the present disclosure, a non-temporary computer-readable storage medium is provided, which, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to execute the method described in the first aspect of the embodiment of the present disclosure.
[0034] The above-mentioned method disclosed in the present invention has the following beneficial effects: the call method disclosed in the present invention can quickly process multiple call requests received in a short period of time by setting an identification queue and an identification queue update strategy, retain the latest call identification and select the target call identification for processing, so as to successfully establish a call connection. In the event of network congestion, it can reduce the probability of paging timeout, increase the call success rate, and greatly improve the user experience.
[0035] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0037] Figure 1A 、 Figure 1B 、 Figure 1C is a schematic diagram showing a call establishment process according to an exemplary embodiment;
[0038] Figure 2 is a flow chart showing a calling method according to an exemplary embodiment;
[0039] Figure 3 is a schematic diagram showing a call establishment process according to an exemplary embodiment;
[0040] Figure 4 is a flow chart showing a calling method according to an exemplary embodiment;
[0041] Figure 5A 、 Figure 5B 、 Figure 5C 、 Figure 5D 、 Figure 5E is a schematic diagram showing an update identification queue according to an exemplary embodiment;
[0042] Figure 6A 、 Figure 6B is a schematic diagram showing a call establishment process according to an exemplary embodiment;
[0043] Figure 7 is a block diagram of a communication device according to an exemplary embodiment;
[0044] Figure 8 It is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0045] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all possible embodiments consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
[0046] In some embodiments, when a Mobile Original (MO) device (calling device) calls a Mobile Terminated (MT) device (called device), a call is established between the two devices. During the call establishment process, the MO device initiates the call and uses a call identifier (Call ID) to identify the call. Uplink and downlink signaling is then exchanged between the MO device, MT device, and the network.
[0047] Figure 1A FIG. 1 is a schematic diagram showing a call establishment process according to an exemplary embodiment. Figure 1A As shown, the AS server (Application Server) represents a network device in the IMS network. The MO device sends a call request (Call Invite) message with a Call Id to the AS server and starts a timer (Timer). The AS server forwards the Call Invite message to the MT device. After the MT device negotiates resources with the AS server, the MT device establishes a dedicated bearer for the call. The AS server sends the resource negotiation message to the MO device. If the MO device receives the resource negotiation message before the timer expires, the call is successfully established. If the MO device does not receive the resource negotiation message sent by the network device before the timer expires, it will send a Call Cancel message to the network device to cancel the call, and the call establishment fails. That is, the call fails due to the MO device not responding for a long time during the call.
[0048] In some embodiments, in the case of network congestion, such as during large-scale events, due to the excessive number of terminal devices and limited network resources, it is difficult to obtain sufficient uplink and downlink resources for data transmission, and communication through instant messaging software is somewhat difficult. Therefore, in this case, calls are particularly important as a reliable communication method. However, when the MO device pages the MT device, due to network congestion caused by excessive network load, the Call Invite message received from the MO device may not be forwarded to the MT device in time, causing the Call Invite message to accumulate in the network. During this period, the network device may generate different Call IDs to mark the call due to communication synchronization issues between different network elements. After the network congestion ends, within a very short period of time, the network will continue to send these CallInvite messages marked with different or the same Call ID to the MT device. When the MT device receives multiple CallInvite messages with different or the same Call ID in a short period of time, it will use the 486Busy message to reject the subsequent Call Invite messages, and confusion will occur when processing the multiple Call Invite messages that have been received. Finally, until the timer ends, the MO device does not receive the resource negotiation message sent by the network device, and sends a Call Cancel message, resulting in the failure of call establishment.
[0049] Figure 1B and Figure 1C is a schematic diagram showing a call establishment process according to an exemplary embodiment. Figure 1B Indicates that the MO device is called only once. Figure 1C This means that if an MO device makes multiple calls in a short period of time, network congestion will cause CallInvite messages to accumulate in the network. After the congestion ends, the network device will continue to send CallInvite messages marked with different or identical Call IDs to the MT device within a very short period of time. The MT device becomes confused when processing multiple CallInvite messages. Ultimately, until the timer expires, the MO device does not receive any resource negotiation messages from the network device and sends a CallCancel message, causing the call establishment to fail. During this process, the call establishment failure can last for tens to dozens of seconds, seriously affecting the user experience and, especially in emergency situations, potentially threatening the life and property safety of both parties on the call.
[0050] In an exemplary embodiment of the present disclosure, in order to overcome the problem of call failure caused by network congestion in the related art, a call method is provided, including: receiving a call request, the call request carrying a first call identifier, updating an identifier queue based on the first call identifier, the identifier queue being used to store up to N call identifiers, N being an integer greater than 1, and selecting a call identifier from the identifier queue as a target call identifier when no new call request is received within the timing duration of a first timer, wherein the first timer is reset based on the receipt of any call request, and processes the call request corresponding to the target call identifier to establish a call connection. This call method, by setting an identifier queue and an identifier queue update strategy, retains the latest call identifier and selects the target call identifier for processing, can quickly process multiple call requests received in a short period of time to successfully establish a call connection, and in the event of network congestion, can reduce the probability of paging timeout, increase the call success rate, and significantly enhance the user experience.
[0051] In an exemplary embodiment of the present disclosure, a calling method is provided. Figure 2 FIG. 1 is a flow chart showing a calling method according to an exemplary embodiment. Figure 2 As shown, the following steps are included:
[0052] Step S201: receiving a call request, where the call request carries a first call identifier;
[0053] Step S202: updating an identifier queue according to the first call identifier, where the identifier queue is used to store a maximum of N call identifiers, where N is an integer greater than 1;
[0054] Step S203: If no new call request is received within the timer duration of the first timer, select a call identifier from the identifier queue as the target call identifier, wherein the first timer is reset upon receipt of any call request;
[0055] Step S204: Process the call request corresponding to the target call identifier to establish a call connection.
[0056] The calling method in the embodiments of the present disclosure is applied to electronic devices, including smart phones, tablets, smart wearable devices and other electronic devices with calling functions. The calling method in the embodiments of the present disclosure can be applied to services such as voice calls or video calls under different network standards based on the IMS network, such as VoLTE, VoNR, ViLTE (Video over Long Term Evolution, video carried by long-term evolution), ViNR (Video over New Radio, video carried by new air interface), VoWiFi (Voice over WiFi, voice carried by WiFi) and other scenarios. In the above application scenarios, when the electronic device acts as a called device, that is, an MT device, the method in this embodiment is applied.
[0057] In step S201, a call request is initiated by the calling device, i.e., the MO device, and carries a first call identifier. The calling device can be any electronic device with call functionality. The first call identifier represents an identifier that uniquely identifies the call. There are no restrictions on how the first call identifier can be represented, for example, Call Id = 1. The calling device sends the call request to the network device, which then forwards it to the called device. Upon receiving the call request, the called device determines the first call identifier carried in the call request.
[0058] In step S202, an identification queue is set up in the called device. The identification queue is used to store a maximum of N call identifications, where N is an integer greater than 1. There are no restrictions on how the identification queue can be set up. For example, a state machine can be set to represent the identification queue. The maximum number of call identifications that can be stored in the identification queue is N, which is a preset value. For example, when N = 2, the identification queue stores a maximum of 2 call identifications. The identification queue is updated based on the first call identification of the received call request, and the first call identification is stored in the identification queue. This allows the identification queue to retain the one or more call identifications of the most recent one or more call requests.
[0059] In step S203, a first timer is set by the called device. The first timer is reset upon receipt of any call request, i.e., upon receipt of any call request, the first timer's duration is set to 0. The duration of the first timer is a preset value, determined based on the duration of the calling device's timer. When the calling device issues a call request, it starts the timer Timer. If it does not receive a resource negotiation message from the network device within the duration of the timer, it sends a Call Cancel message to the network device to cancel the call. Therefore, to ensure that the calling device can receive the resource negotiation message from the network device within the duration of its timer, the duration of the first timer used by the called device for each call request is much shorter than the duration of the calling device's timer.
[0060] If no new call request is received within the timer duration of the first timer, it indicates that the network device has sent all call requests to the called device. In this case, a call identifier is selected from the identifier queue as the target call identifier. When selecting the target call identifier, any call identifier in the identifier queue can be determined as the target call identifier. For example, the new call identifier in the identifier queue can be determined as the target call identifier, that is, the call identifier with the latest reception time can be determined as the target call identifier, or the last call identifier in the identifier queue can be determined as the target call identifier.
[0061] In some embodiments, when only one call identifier is stored in the identifier queue, one of the call identifiers is selected as the target call identifier. When multiple call identifiers are stored in the identifier queue, the last call identifier is selected as the target call identifier. For example, if the identifier queue stores two call identifiers, the first of which is CallId=1 and the second is CallId=2, the call identifier with CallId=2 is selected as the target call identifier. If the identifier queue stores three call identifiers, the first of which is CallId=1, the second of which is CallId=2, and the third of which is CallId=3, the call identifier with CallId=3 is selected as the target call identifier.
[0062] In some embodiments, the call request in step S201 is received within the timing duration of the first timer, that is, the call request in step S201 is not the first call request received. Therefore, if a new call request is received within the timing duration of the first timer, the first timer is reset and the timing is restarted. The new call request carries the second call identifier, and the identifier queue is updated again according to the second call identifier. If new call requests can be received continuously, the identifier queue is continuously updated using the call identifier of the new call request until no new call request is received within the timing duration of the first timer, and a call identifier is selected from the latest identifier queue as the target call identifier. It should be noted that the first call identifier, the second call identifier, and the call identifier of the new call request thereafter may be the same call identifier or different call identifiers.
[0063] In step S204, based on the call request corresponding to the target call identifier, the called device negotiates resources with the network device and reserves resources to establish a dedicated call bearer. The network device then sends a resource negotiation message to the calling device, ensuring that the calling device receives the resource negotiation message within the timer's duration. Thus, a call connection is successfully established between the calling and called devices. If the electronic device receives a new call request while processing the call request corresponding to the target call identifier, the new call request may be ignored.
[0064] In one example, Figure 3 FIG. 1 is a schematic diagram showing a call establishment process according to an exemplary embodiment. Figure 3 As shown, the MO device sends a Call Invite, carries a Call Id, and starts a timer. Network congestion occurs, causing Call Invites to accumulate in the network. After the network congestion ends, within a very short period of time, the network device will continue to send Call Invites marked with different or the same Call Id to the MT device. When receiving each Call Invite, the MT device starts or resets the first timer Timer1, and updates the identification queue according to the Call Id carried in the Call Invite. When no new Call Invite is received within the timing duration of the first timer Timer1, the target call identification is selected from the latest identification queue, and resources are negotiated with the network device, and resources are reserved to establish a dedicated call bearer. The network device sends the resource negotiation message to the calling device, and the calling device receives the resource negotiation message within the timing duration of its timer Timer, thereby successfully establishing a call connection between the calling device and the called device.
[0065] In an exemplary embodiment of the present disclosure, a call request is received, the call request carries a first call identifier, and an identifier queue is updated based on the first call identifier. When no new call request is received within the timing duration of the first timer, a call identifier is selected from the identifier queue as a target call identifier, wherein the first timer is reset based on the receipt of any call request, and processes the call request corresponding to the target call identifier to establish a call connection. By setting an identifier queue and an identifier queue update strategy, the latest call identifier is retained and the target call identifier is selected for processing, and multiple call requests received in a short period of time can be quickly processed to successfully establish a call connection. Therefore, in the event of network congestion, paging timeouts caused by confusion when the called device processes multiple call requests received in a short period of time can be avoided, the probability of paging timeouts can be reduced, the call success rate can be increased, and the user experience can be greatly improved. In addition, the method in this embodiment has very low overhead and does not require any network adjustments.
[0066] In an exemplary embodiment of the present disclosure, a calling method is provided. Figure 4 FIG. 1 is a flow chart showing a calling method according to an exemplary embodiment. Figure 4 As shown, the following steps are included:
[0067] Step S401: receiving a call request, where the call request carries a first call identifier;
[0068] Step S402: updating an identifier queue according to the first call identifier, where the identifier queue is used to store a maximum of N call identifiers, where N is an integer greater than 1;
[0069] Step S403: If no new call request is received within the timer duration of the first timer, select a call identifier from the identifier queue as the target call identifier, wherein the first timer is reset upon receipt of any call request;
[0070] Step S404: Process the call request corresponding to the target call identifier to establish a call connection;
[0071] Step S405: If no call identifier is selected from the identifier queue as the target call identifier within the timing duration of the second timer and the call request corresponding to the target call identifier is processed, a call cancellation message is sent, wherein the second timer is triggered by receiving the first call request, and the first call request is the call request corresponding to the call identifier stored when the identifier queue is empty;
[0072] Step S406: After the call connection is established or the call cancellation message is sent, all call identifiers in the identifier queue are deleted.
[0073] The specific implementations of step S401 , step S403 , and step S404 refer to the specific implementations of step S101 , step S103 , and step S104 , which will not be repeated here.
[0074] In step S402, when updating the identification queue according to the first call identification, there are two cases:
[0075] The first method is to keep the call identifier in the identifier queue the same as the first call identifier if the first call identifier is the same as any call identifier stored in the identifier queue.
[0076] When the number of call identifiers stored in the identification queue is 1, if the first call identifier is the same as any call identifier stored in the identification queue, that is, the first call identifier is the same as a call identifier in the identification queue, then the call identifier that is the same as the first call identifier remains unchanged, that is, the identification queue remains unchanged.
[0077] In one example, the identifier queue is used to store at most 2 call identifiers. Figure 5A FIG. 1 is a schematic diagram of an update identification queue according to an exemplary embodiment. Figure 5A As shown, the identification queue stores one call identification, which is Call Id=1. The first call identification is Call Id=1. When the identification queue is updated according to the first call identification, the identification queue remains unchanged.
[0078] When the number of call IDs stored in the ID queue is greater than 1, the following two situations may occur:
[0079] ① If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as the last call identifier stored in the identifier queue, keep the last call identifier unchanged and delete the call identifiers in the identifier queue except the last call identifier.
[0080] In one example, the identifier queue is used to store at most 2 call identifiers. Figure 5B FIG. 1 is a schematic diagram of an update identification queue according to an exemplary embodiment. Figure 5B As shown, there are 2 call identifiers stored in the identification queue, the first one is Call Id = 1, and the second one is Call Id = 2. The first call identifier is Call Id = 2. When the identification queue is updated according to the first call identifier, the last call identifier is kept unchanged, and the call identifiers except the last call identifier in the identification queue are deleted, that is, Call Id = 1 is deleted and Call Id = 2 is retained.
[0081] ② If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as any call identifier stored in the identifier queue except the last call identifier, the identifier queue remains unchanged.
[0082] In one example, the identifier queue is used to store at most 2 call identifiers. Figure 5C FIG. 1 is a schematic diagram of an update identification queue according to an exemplary embodiment. Figure 5C As shown, the identification queue stores two call identifications, the first one is CallId=1, and the second one is CallId=2. The first call identification is CallId=1, so when the identification queue is updated according to the first call identification, the identification queue remains unchanged.
[0083] The second method is to store the first call identifier in the identifier queue if the first call identifier is different from any call identifier stored in the identifier queue.
[0084] In some implementations, when the number of call identifiers stored in the identifier queue is less than N, the first call identifier may be directly stored in the identifier queue.
[0085] In one example, the identifier queue is used to store at most 2 call identifiers. Figure 5D FIG. 1 is a schematic diagram of an update identification queue according to an exemplary embodiment. Figure 5DAs shown, there is one call identifier stored in the identifier queue, which is Call Id=1, and the first call identifier is Call Id=2. Then, according to the first call identifier, when updating the identifier queue, the first call identifier is stored in the identifier queue, that is, Call Id=2 is stored in the identifier queue.
[0086] In some implementations, if the number of call identifiers stored in the identifier queue is equal to N, the first call identifier is stored in the identifier queue, and the first call identifier in the identifier queue is deleted.
[0087] In one example, the identifier queue is used to store at most 2 call identifiers. Figure 5E FIG. 1 is a schematic diagram of an update identification queue according to an exemplary embodiment. Figure 5E As shown, there are 2 call identifiers stored in the identification queue, the first one is CallId=1, the second one is Call Id=2, and the first call identifier is Call Id=3. Then, according to the first call identifier, when updating the identification queue, the first call identifier is stored in the identification queue, and the first call identifier in the identification queue is deleted, that is, CallId=3 is stored in the identification queue, and Call Id=1 is deleted.
[0088] In step S405, the second timer is triggered by the receipt of the first call request. The first call request is the call request corresponding to the call identifier stored when the identifier queue is empty. That is, the second timer is started upon receipt of the first call request. The second timer's timing duration is a preset value, which is greater than the timing duration of the first timer and less than the timing duration of the timer of the calling device. If a call identifier is not selected from the identifier queue as the target call identifier within the timing duration of the second timer, and the call request corresponding to the target call identifier is processed, it indicates that the call connection cannot be successfully established. To conserve resources on the called device, a call cancellation message is sent to terminate the call.
[0089] In step S406, after the call connection is established or the call cancellation message is sent, the call process is completely ended. In order to avoid affecting the establishment of the next call, all call identifiers in the identifier queue are deleted.
[0090] In one example, Figure 6A and Figure 6BThis is a schematic diagram of a call establishment process according to an exemplary embodiment. As shown in the figure, the MO device sends a Call Invite carrying a Call Id and starts a timer. A network congestion occurs, causing Call Invites to accumulate in the network. After the network congestion ends, within a very short period of time, the network device will continue to send Call Invites marked with different or the same Call Id to the MT device. When the MT device receives the first Call Invite, it starts the first timer Timer1 and the second timer Timer2, and records the Call Id carried by the first Call Invite in the identification queue. When each new Call Invite is received within the timing of the first timer Timer1, Timer1 is reset, and the identification queue is continuously updated according to the Call Id carried in each new Call Invite. When no new Call Invite is received within the timing of the first timer Timer1, the target call identification is selected from the latest identification queue, and resources are negotiated with the network device. Figure 6A As shown, when the MT device completes the above process within the timing duration of the second timer Timer2, the MT device reserves resources to establish a dedicated call bearer, and the network device sends a resource negotiation message to the calling device. The calling device then receives the resource negotiation message within the timing duration of its timer Timer, thereby successfully establishing a call connection between the calling device and the called device. Figure 6B As shown, when the MT device fails to complete the above process within the timing duration of the second timer Timer2, the MT device sends a Call Cancel message to the network device, and the network device sends the Call Cancel message to the calling device, thereby stopping the call establishment.
[0091] In an exemplary embodiment of the present disclosure, a communication device is provided. Figure 7 is a block diagram of a communication device according to an exemplary embodiment. Figure 7 As shown, the communication device includes:
[0092] The receiving module 701 is configured to receive a call request, where the call request carries a first call identifier;
[0093] An updating module 702 is configured to update an identifier queue according to the first call identifier, where the identifier queue is used to store a maximum of N call identifiers, where N is an integer greater than 1;
[0094] The selection module 703 is configured to select a call identifier from the identifier queue as a target call identifier if no new call request is received within a timer duration of a first timer, wherein the first timer is reset upon receipt of any call request;
[0095] The processing module 704 is configured to process the call request corresponding to the target call identifier to establish a call connection.
[0096] In an exemplary embodiment, the communication device further includes a sending module 705 configured to:
[0097] If no call identifier is selected from the identifier queue as the target call identifier within the timing length of the second timer and the call request corresponding to the target call identifier is processed, a call cancellation message is sent;
[0098] The second timer is triggered by receiving the first call request, and the first call request is a call request corresponding to the call identifier stored when the identifier queue is empty.
[0099] In an exemplary embodiment, the call request is received within a timing duration of the first timer.
[0100] In an exemplary embodiment, the update module 702 is further configured to:
[0101] If the first call identifier is identical to any call identifier stored in the identifier queue, the call identifier in the identifier queue that is identical to the first call identifier is kept unchanged.
[0102] In an exemplary embodiment, the update module 702 is further configured to:
[0103] If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as the last call identifier stored in the identifier queue, keep the last call identifier unchanged, and delete the call identifiers in the identifier queue except the last call identifier;
[0104] If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as any call identifier stored in the identifier queue except the last call identifier, the identifier queue remains unchanged.
[0105] In an exemplary embodiment, the update module 702 is further configured to:
[0106] If the first call identifier is different from any call identifier stored in the identifier queue, the first call identifier is stored in the identifier queue.
[0107] In an exemplary embodiment, the update module 702 is further configured to:
[0108] If the number of call identifiers stored in the identifier queue is equal to N, the first call identifier in the identifier queue is deleted.
[0109] In an exemplary embodiment, the update module 702 is further configured to:
[0110] After a call connection is established or a call cancellation message is sent, all call identifiers in the identifier queue are deleted.
[0111] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0112] Figure 8 is a block diagram of an electronic device 800 according to an exemplary embodiment.
[0113] Reference Figure 8 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .
[0114] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operation, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to perform all or part of the steps of the above-described method. In addition, the processing component 802 may include one or more modules to facilitate interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
[0115] The memory 804 is configured to store various types of data to support operations on the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk.
[0116] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.
[0117] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have a focal length and optical zoom capability.
[0118] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), which is configured to receive external audio signals when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.
[0119] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as a keyboard, click wheel, buttons, etc. These buttons may include but are not limited to: a home button, volume buttons, a start button, and a lock button.
[0120] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the electronic device 800, the relative positioning of components, such as the display and keypad of the electronic device 800. The sensor assembly 814 can also detect changes in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and temperature changes of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0121] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0122] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.
[0123] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by the processor 820 of the electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0124] A non-transitory computer-readable storage medium, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to execute a call method, wherein the method includes any of the above methods.
[0125] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the following claims.
[0126] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A calling method, characterized in that: The method comprises: receiving a call request, wherein the call request carries a first call identifier; Update an identification queue according to the first call identification, wherein the identification queue is used to store a maximum of N call identifications, where N is an integer greater than 1; If no new call request is received within the timing length of the first timer, select a call identifier from the identifier queue as the target call identifier, wherein the first timer is reset when any call request is received; Processing the call request corresponding to the target call identifier to establish a call connection.
2. The method according to claim 1, characterized in that The method further comprises: If no call identifier is selected from the identifier queue as the target call identifier within the timing length of the second timer and the call request corresponding to the target call identifier is processed, a call cancellation message is sent; The second timer is triggered by receiving a first call request, and the first call request is a call request corresponding to the call identifier stored when the identifier queue is empty.
3. The method according to claim 1, characterized in that The call request is received within the timing duration of the first timer.
4. The method according to claim 1, wherein The updating of the identification queue according to the first call identification includes: If the first call identifier is identical to any call identifier stored in the identifier queue, the call identifier in the identifier queue that is identical to the first call identifier is kept unchanged.
5. The method according to claim 4, characterized in that If the first call identifier is identical to any call identifier stored in the identifier queue, keeping the call identifier in the identifier queue that is identical to the first call identifier unchanged includes: If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as the last call identifier stored in the identifier queue, keep the last call identifier unchanged, and delete the call identifiers in the identifier queue except the last call identifier; If the number of call identifiers stored in the identifier queue is greater than 1, and the first call identifier is the same as any call identifier stored in the identifier queue except the last call identifier, the identifier queue remains unchanged.
6. The method according to claim 1, characterized in that The updating of the identification queue according to the first call identification includes: If the first call identifier is different from any call identifier stored in the identifier queue, the first call identifier is stored in the identifier queue.
7. The method according to claim 6, characterized in that The method further comprises: If the number of call identifiers stored in the identifier queue is equal to N, the first call identifier in the identifier queue is deleted.
8. The method according to claim 2, characterized in that The method further comprises: After the call connection is established or the call cancellation message is sent, all call identifiers in the identifier queue are deleted.
9. A communication device, characterized in that: The device comprises: A receiving module is configured to receive a call request, wherein the call request carries a first call identifier; An updating module is configured to update an identification queue according to the first call identification, wherein the identification queue is used to store a maximum of N call identifications, where N is an integer greater than 1; The selection module is configured to select a call identifier from the identifier queue as a target call identifier if no new call request is received within a timing duration of a first timer, wherein the first timer is reset when any call request is received; The processing module is configured to process the call request corresponding to the target call identifier to establish a call connection.
10. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to execute the method according to any one of claims 1 to 8.
11. A non-transitory computer-readable storage medium, characterized in that When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the method according to any one of claims 1 to 8.