Method and apparatus for detecting and recovering from ims missed calls
By receiving voicemail notifications, user devices automatically identify and correct connectivity issues with the IMS network, resolving missed incoming calls and improving connection reliability and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 创峰科技
- Filing Date
- 2022-02-17
- Publication Date
- 2026-08-04
AI Technical Summary
When user equipment loses synchronization with the IMS network, it cannot detect and automatically correct missed incoming calls, resulting in a degraded user experience.
By receiving a voicemail notification as a trigger, the user device automatically identifies the connection problem and executes recovery options, such as re-registration, RAT switching, airplane mode switching, or device restart, to restore synchronization with IMS.
Automatic detection and correction of missed incoming calls improves the reliability of the connection between user equipment and the IMS network and enhances the user experience.
Smart Images

Figure CN116830550B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 151,268, filed on February 19, 2021, entitled “METHOD AND APPARATUS TO DETECTIMS MISSING CALL AND RECOVERY,” the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application generally relates to communication networks that facilitate electronic communication between electronic devices, and more specifically to methods and apparatus for detecting and recovering missed IMS calls. Background Technology
[0004] In the deployment of Radio Access Technology (RAT), IMS signaling and / or media are used for voice calls and communications. Voice and video communication services in RAT can be implemented over IP data connections, enabling IMS to provide services to the corresponding RAT. Summary of the Invention
[0005] This application provides a user equipment (UE), a method, and a communication apparatus for detecting and resolving missed incoming calls due to connectivity issues with electronic devices.
[0006] In a first aspect, embodiments of this application disclose a user equipment (UE), comprising: a first communication circuit configured to receive a notification; a processor; and a memory unit operatively connected to the processor and including instructions, which, when executed, cause the processor to: determine that the notification indicates that an incoming call has been directed to the UE within a preset time period; identify that the UE has not received the incoming call within the preset time period based on the identification that the incoming call has not been forwarded to another device and based on the identification that the UE is not in a call processing mode that prevents the UE from receiving incoming calls within the preset time period; and execute a recovery option based on the identification that the UE has not received the incoming call.
[0007] Secondly, embodiments of this application disclose a computer-implemented method, comprising: receiving a notification at a user equipment (UE) via a first communication circuit; determining that the notification indicates that an incoming call has been directed to the UE within a preset time period; identifying that the UE has not received the incoming call within the preset time period based on the identification that the incoming call has not been forwarded to another device and based on the identification that the UE is not in a call processing mode that prevents the UE from receiving incoming calls within the preset time period; and executing a recovery option based on the identification that the UE has not received the incoming call.
[0008] Thirdly, embodiments of this application disclose a communication device, including: a processor; and a memory unit operatively connected to the processor and including instructions, which, when executed, cause the processor to: determine, when a user equipment (UE) receives a notification indicating that a voicemail message for the UE has been received within a given time period, that the UE is in a mode for receiving incoming calls at the time the notification is received; determine that the UE has not received an incoming call within a preset time period after receiving the notification; and, based on the determination that the UE has missed the incoming call, execute one or more recovery options without user input. Attached Figure Description
[0009] This disclosure is described in detail below with reference to one or more different embodiments and the accompanying drawings. These drawings are provided for illustrative purposes only and describe only typical or exemplary implementations.
[0010] Figure 1 An exemplary computing system according to an embodiment of this application is shown, which is used for communicating through a communication network and for identifying and correcting connectivity problems using one or more aspects of the communication network.
[0011] Figure 2 Illustrations are shown according to some embodiments Figure 1 The diagram shows an operational flowchart of an exemplary computing device in a computing system, which is used to identify connectivity problems and select and execute recovery options.
[0012] Figure 3A and Figure 3B A flowchart illustrating operation according to some embodiments is shown, which shows that in Figure 2 The flowchart shows the details of selecting and executing recovery options after identifying connection problems.
[0013] Figure 4 A block diagram of an exemplary computing component or device for implementing the disclosed technology is shown according to some embodiments.
[0014] Figure 5A flowchart illustrating a method for detecting and recovering from connectivity problems, according to some embodiments, is provided.
[0015] These accompanying drawings are not exhaustive and do not limit this disclosure to the exact forms disclosed. References to these illustrative embodiments are not intended to limit or define this disclosure, but rather to provide examples to aid in understanding it. Further embodiments are discussed in the detailed description, and further description is provided therein. Detailed Implementation
[0016] Various wireless technology standards enable communication between connected electronic devices. 802.11-based wireless communication (Wi-Fi), third-generation (3G), fourth-generation (4G), Long Term Evolution (LTE), and fifth-generation (5G) wireless are examples of existing Radio Access Technologies (RATs), each with corresponding standards specifying how communication should occur. These RATs, as well as newly developed ones and standards, support Internet Protocol (IP) Multimedia Subsystem (IMS) and / or Short Message Service (SMS) communication between corresponding devices. In summary, these technologies provide connectivity to most current and future cellular or wireless devices.
[0017] In some deployments of any RAT, voice calls and communications utilize IMS signaling and / or media. Voice and video communication services within the RAT can be implemented over IP data connections, enabling IMS to provide services for the corresponding RAT. In other words, IMS provides voice communication as an application service. For example, in 5G New Radio (5G NR), voice calls can be fully supported over a packet-switched (PS) domain utilizing IMS signaling and / or media, for instance, implemented as an end-to-end Voice over IP (VoIP) connection managed by IMS.
[0018] To enable this connectivity between User Equipment (UE), IMS allows the UE to register with IMS and maintains synchronization between the UE and IMS. In some embodiments, registration and synchronization also occur between the UE and a network through which IMS provides voice, video, and similar communications. Therefore, IMS can play a significant role in enabling various existing communication systems.
[0019] In some cases, whether the UE registers with and synchronizes with the IMS controls whether a call between the UE and the IMS is properly terminated or completed. For example, for outgoing calls, if the UE is not registered with the IMS or is out of sync with the IMS, the outgoing voice call may fail or be rejected by the UE because the UE cannot initiate the call to the IMS over the network. For incoming calls, if the UE is not registered with the IMS or is out of sync with the IMS, the incoming call for that UE cannot be transmitted to the UE, and therefore such an incoming call will also fail.
[0020] In the case of outgoing calls, the UE can present the user with a notification or other warning that the call could not be completed, for example, because the UE is not registered with or synchronized with IMS. Therefore, the UE's user can receive notifications of connectivity issues between the UE and IMS, and once the UE identifies the connectivity problem and communicates it to the user, remedial measures can be taken to resolve the failed call. However, for incoming voice calls, because IMS cannot communicate with the UE, the UE is not even aware that the missed call was caused by not registering with or being out of synchronization with IMS. Therefore, the UE cannot present the user with any indication of the connectivity problem leading to the missed voice call, and no remedial measures are taken to correct the problem. Typically, the UE will continue to miss incoming calls until the user attempts to make an outgoing call, at which point the UE identifies the connectivity problem with IMS and notifies the user. Therefore, the UE and the user may be unaware of this connectivity problem with IMS for an extended period, which can hinder the use of the UE and the corresponding subscribed communication services.
[0021] The embodiments of the technology disclosed herein provide various methods, apparatuses, and systems for improving the overall experience of users experiencing a loss of IMS synchronization between the UE and IMS. Specifically, based on receiving other notifications that may tangentially (briefly, superficially, or insignificantly) or substantially indicate a missed voice call, such as voicemail notifications, the disclosed technology can identify and thus resolve connectivity problems causing missed incoming voice calls. For example, when the UE receives a notification that a voicemail is available for viewing, but the UE has not registered for an incoming call that may have caused the voicemail, the UE determines that there may be a connectivity problem between the UE and IMS. Subsequently, the disclosed embodiments enable the UE to automatically take corrective action to re-establish IMS registration and synchronization without waiting for the user to discover the problem (or wait for the user to be notified) and take manual corrective action. Therefore, the disclosed embodiments can avoid missed calls and unnecessary communication delays, and improve the reliability associated with voice calls across various RAT networks, thereby enhancing the user experience of the corresponding mobile network.
[0022] The following acronyms and terms are used throughout this description, and for convenience, these acronyms and terms are provided below; however, other acronyms and terms may be introduced.
[0023] IMS: IP Multimedia Subsystem
[0024] RAT: RadioAccess Technology
[0025] NR: New Radio
[0026] SA: Stand-Alone
[0027] VoNR: Voice over NR
[0028] VoLTE: Voice over LTE
[0029] VoWiFi: Voice over WiFi
[0030] UE: User Equipment
[0031] MT: Mobile Terminated
[0032] MO: Mobile Originated
[0033] SMS: Short Message Service (text)
[0034] In this field, multiple instances have been observed where users of a UE encounter connectivity problems when the UE establishes a connection with the IMS network via Radio Access Technology (RAT), during which the UE is unable to receive voice calls for a period of time. Such connectivity problems can also occur when the UE and IMS lose synchronization for various reasons, or when the UE's registration with the IMS fails or becomes ineffective. In many cases, the UE is unaware of the connectivity problem because, from the UE's perspective, it has correctly registered with the IMS to make and receive voice calls. However, the UE may not actually have registered with the IMS to make or receive voice calls. Therefore, in an example where the calling UE initiates a call to the called UE, if the called UE is experiencing connectivity problems with the IMS, the IMS may not send appropriate signals and / or messages, such as the IMS Session Initiation Protocol (SIP), to the called UE. Instead, the call from the calling UE may be directly forwarded to the called UE's voicemail. In this case, the called UE will not receive any notification of the incoming call, and therefore will not indicate a missed call (to its users).
[0035] Because connectivity issues between the called UE and the IMS network can occur randomly, these problems can be difficult to detect, debug, and correct. Therefore, these issues can degrade the user experience, as the user cannot receive any incoming calls until the problem is identified and corrected. See below for reference. Figures 1 to 5 It provides more detailed automated solutions for detecting connectivity problems and attempting to recover from them.
[0036] Figure 1 A block diagram of an exemplary computing system 100 is depicted, which is configured to enable a user equipment (UE) 110 to send and receive voice communications with an IMS 130 via a network 120, and employs disclosed techniques to improve voice connectivity with the IMS 130. As shown, the network 120 connects the IMS 130 to one or more UEs, such as UE 110, and enables communication between UE 110, the IMS 130, and the voicemail server 150.
[0037] Network 120 can be described as part of a radio access network (RAN) deployment that provides voice, data, and / or messaging services to mobile subscribers (e.g., users of UE 110). Network 120 can also act as a gateway to other networks, such as the public switched telephone network, a public cloud, and IMS 130. In this example, network 120 is connected to IMS 130, which supports voice services.
[0038] The IMS130 may include a standardized architectural framework for delivering Internet Protocol (IP) multimedia services. Furthermore, the IMS130 can provide connection management for voice services across the various technical standards described herein. The IMS130 may utilize the IP-based Session Initiation Protocol (SIP), which enables voice services over IP packet-switched or similar networks.
[0039] Voicemail server 150 may include any computing system that stores voicemail messages associated with user accounts. Voicemail server 150 may be configured to generate one or more notifications and deliver them to users to indicate that new voicemail is available for viewing. In some embodiments, voicemail server 150 generates notifications as SMS messages or uses similar non-IMS signaling to deliver them over network 120.
[0040] exist Figure 1 In the example, UE 110 is shown as a handheld user equipment, more specifically a smartphone. However, UE 110 can be implemented as a variety of other wireless devices that are used directly by end users for communication and are equipped with telecommunications functions such as voice, video, and text. For example, UE 110 can also be implemented as a cellular phone, a laptop computer equipped with a mobile broadband adapter, or another mobile computing device. Therefore, UE 110 is capable of supporting enhanced data services, voice (e.g., voice calls via 5G NP, VoNP, VoLTE, etc.), video, and other telecommunications functions typically used by subscribers of broadband cellular networks such as network 120.
[0041] As mentioned earlier, various technologies can be deployed through network 120 to provide connectivity between UE110 and IMS130, such as 2G / 3G, 4G, 4G LTE, 5G, Wi-Fi, and similar technologies. For example, a user can use UE110 to make voice calls through network 120 and IMS130. Therefore, UE110 may include hardware, software applications, etc., which allows UE110 to be configured for: multimedia telephony services, including audio, video, and text; and voice calls via any of these technologies.
[0042] UE110 may include an operating system that provides an interface between the UE110's hardware (e.g., input / output mechanisms and a processor that executes instructions retrieved from a computer-readable medium) and software components. An exemplary operating system includes Android. TM CHROME TM , X、 7. PHONE7 Various An operating system; or a proprietary operating system for a computerized device. This operating system provides a platform for executing applications that facilitate interaction between the UE110 and the user.
[0043] UE110 may also include applications, computing subsystems, and hardware. For example, UE110 includes a connectivity processor 111 for implementing the disclosed techniques to improve the user experience of users of UE110 on one or more voice networks, as described in more detail herein. The connectivity processor 111 may be implemented on UE110 as hardware, a standalone processor, firmware, a software application, or any combination thereof.
[0044] According to some embodiments, UE110 can use connectivity processor 111 to identify and remedy connectivity problems between UE110 and IMS130, as described in more detail below. This can help prevent negative impacts on users of UE110, such as delayed notifications, missed calls, and call failures.
[0045] In operation, a user can use UE110 to make or receive calls. For example, UE110 can register with IMS130 via network 120 and then maintain synchronization with IMS130. When UE110 powers on or initiates a voice call, UE110 can connect to network 120 and register with IMS130. The registration process may involve UE110 and IMS130 exchanging various parameters and capabilities of the two entities, for example, via IMS Data Network Name (DNN) Packet Data Unit (PDU) sessions and appropriate responses. For brevity, not all steps involved in the UE110 registration process with IMS130 are described. Once UE110 has registered with IMS130, UE110 can maintain synchronization with it. As used herein, the term synchronization can refer to the state / scenario in which the network has received the UE's IMS registration status. There may also be periodic IMS re-registration times that require the UE to synchronize with the network.
[0046] In some cases, UE 110 may lose synchronization with IMS 130. Loss of synchronization may result in: UE 110 being unable to receive or send outgoing calls; a network failure; or the UE experiencing problems, such as being unable to complete its re-registration process. UE 110 can automatically recognize the loss of synchronization when sending outgoing calls and take steps to remedy the connectivity issue. However, when UE 110 is idle and may be ready to receive incoming calls, it may not recognize such a problem. In fact, UE 110 may not even be aware that it is not receiving incoming calls. The following discussion provides details on identifying and correcting connectivity problems, assuming that UE 110 has previously registered with and synchronized with IMS 130.
[0047] like Figure 1 As shown, system 100 illustrates UE 110 attempting to make voice call 123. However, because UE 110 has lost synchronization with IMS 130 or network 120, the call fails before voice call 123 reaches network 120 and IMS 130, indicated by an "X". In this situation, since UE 110 is the originating point for voice call 123, connection processor 111 (or another application of UE 110) can present an error or other notification to the user indicating that the call failed to connect and there is a connection problem. The user or UE 110 can then take one or more steps to correct the connection problem.
[0048] On the other hand, in the case of an incoming call, network 120 may route the incoming voice call 122, for example, from IMS 130 to UE 110. The incoming voice call 122 may be initiated at the calling device (not shown) and routed via IMS 130 and network 120 to terminate at UE 110, which is the called device in the incoming voice call 122. However, due to reasons such as loss of synchronization with IMS 130, UE 110 cannot receive the incoming voice call 122. Therefore, the incoming voice call 122 does not reach UE 110 but is instead redirected to user voicemail at voicemail server 150. If the incoming voice call 122 results in voicemail, voicemail server 150 or a similar component may generate a voicemail notification 142 to notify UE 110 that new voicemail is available. In some embodiments, voicemail server 150 sends the voicemail notification 142 to UE 110 via SMS or some other non-IMS communication. In this way, UE 110 can receive voicemail notification 142 (e.g., non-IMS communication), although it cannot receive incoming voice calls 122 (e.g., IMS communication). This may occur when UE 110 maintains a connection with network 120—this maintains SMS communication—but loses registration or synchronization with IMS 130. In embodiments where UE 110 receives voicemail notification 142 but does not receive incoming voice calls 122, UE 110 may indicate (or otherwise identify) that there is an pending voicemail via notification 104, but may not indicate (or otherwise identify) a missed call via notification 104.
[0049] In some aspects of the embodiments described herein, the connectivity processor 111 uses voicemail notification 142 as a trigger to determine whether the UE 110 is experiencing a connectivity problem with the IMS 130.
[0050] No connection problem
[0051] When a voicemail notification 142 is received at UE 111 within a preset timeframe of receiving an incoming voice call, the connection processor 111 can determine that there is no connection problem. For example, upon receiving voicemail notification 142, the connection processor 111 can determine whether an incoming voice call was received at UE 110 within a preset timeframe (e.g., three minutes) prior to receiving voicemail notification 142 and was not answered. If UE 110 did indeed receive but not answer the incoming voice call, the connection processor 111 can determine that the received voicemail notification 142 is related to the unanswered incoming call and further determine that there is no connection problem.
[0052] Similarly, when UE 110 receives voicemail notification 142 while UE 110 is in a "call forwarding," "Do Not Disturb," or similar "call processing mode," the connection processor 111 can determine that there is no connection problem. Such a call processing mode may not trigger a "missed call" notification to the user, and may not cause UE 110 to notify the user of an incoming voice call or present the user with an option to answer the incoming voice call via a "ringing" or other means. For example, when voicemail notification 142 is received, the connection processor 111 can determine whether UE 110 is in call processing mode or whether it has been in call processing mode for a preset time (e.g., three minutes) after receiving voicemail notification 142. When UE 110 receives an incoming voice call during call processing mode, the connection processor 111 can determine that the received voicemail notification 142 is related to the incoming voice call received during call processing mode, and further determine that there is no connection problem.
[0053] Connection problems
[0054] However, when a voicemail notification 142 is received but no incoming voice call is received within a preset time, and the UE 110 is not in any call processing mode, the connection processor 111 can determine that a connection problem exists. For example, when the voicemail notification 142 is received, the connection processor 111 can determine whether the UE 110 has received the corresponding incoming voice call and it has not been answered, or whether the UE 110 is in call processing mode or has been in call processing mode for a previous preset time. If the UE 110 has not received an incoming voice call and the UE is not in call processing mode, the connection processor 111 can determine that a connection problem exists. Therefore, the connection processor 111 identifies a connection problem between the UE 110 and the IMS 130 based on the following: (1) receiving the voicemail notification 142; (2) identifying that the UE 110 has not received the incoming voice call 122 within a preset time prior to receiving the voicemail notification 142; and (3) determining that the UE 110 is not in one of the described call processing modes within the preset time.
[0055] According to the disclosed embodiments, when a connectivity problem is determined to exist, the connectivity processor 111 can provide a notification to the user via the UE 110, and can execute various procedures to identify and remedy the connectivity problem. (See also...) Figures 2 to 4 Further details were described.
[0056] Figure 2 for Figure 1An exemplary computing device for a computing system, configured to identify connectivity problems and select and execute recovery options to correct the connectivity problems based on an operation flowchart and according to some embodiments. For example... Figure 2 As shown, process 200 is illustrated as a series of executable operations stored in machine-readable storage medium 206 and executed by the hardware processor 204 of computing component 202. Computing component 202 may be a computing device for telecommunications functions, such as UE 110. In some embodiments, connection processor 111 of UE 110 implements process 200 to determine whether UE 110 is experiencing a connectivity problem with IMS 130 and performs recovery steps to correct the problem. While the following discussion describes the corresponding operations performed by connection processor 111, any other component of UE 110 may alternatively or similarly perform any of the operations described below.
[0057] Process 200 begins at operation 205, where UE 110 receives a message indicating that UE 110 missed an incoming voice call or other incoming multimedia voice message. For example, UE 110 receives the message via a non-IMS message or signaling, such as via an SMS message. In some embodiments, the message includes a voicemail notification indicating that new voicemail is available for viewing. In some embodiments, the message is an SMS message received from another user indicating that the other user attempted to call the user, or another notification indicating that someone attempted to contact the user through UE 110. Connection processor 111 can review the message or notification to determine whether the received message indicates that UE 110 missed an incoming communication, such as an incoming voice call.
[0058] In operation 210, the connection processor 111 can determine whether the UE 110 registered a missed call or communication attempt within a preset time period prior to receiving the message in operation 205. In some embodiments, the preset time includes several seconds, minutes, etc. The preset time can represent an expected amount of time before receiving the message at operation 205, within which the UE 110 may have received an incoming call corresponding to the received message. For example, when the message received in operation 205 indicates that a new voicemail is available, the preset time can correspond to several minutes in which the UE 110 will receive a voicemail message if the UE 110 missed an incoming call. In some embodiments, determining whether the UE 110 registered a missed call or communication attempt within a preset time period prior to receiving the message includes: determining whether the UE 110 is in call processing mode, as described above.
[0059] In operation 210, when connection processor 111 determines that UE 110 has not missed an incoming voice call, process 200 repeats from operation 205 until connection processor 111 determines that UE 110 has indeed missed an incoming voice call. On the other hand, when connection processor 111 determines that UE 110 has indeed missed an incoming voice call, process 200 continues to operation 215.
[0060] In operation 215, the connectivity processor 111 selects a recovery option or step to execute to recover from the connectivity problem. Depending on the various conditions of the UE 110, the connectivity processor 111 can select one or more recovery options to execute sequentially or in parallel with each other. See below for reference. Figure 3A and Figure 3B Details on providing recovery options and execution are provided.
[0061] In operation 220, after connection manager 111 selects and executes one or more recovery options in operation 215, connection manager 111 determines whether the voice connection between UE 110 and network 120 has been restored or repaired. In some embodiments, this operation is optional, and connection processor 111 and UE 110 assume that the recovery options have successfully remedied the connection problem between UE 110 and IMS 130. In some embodiments, connection processor 111 may determine that the voice connection of UE 110 has been restored by issuing an outgoing call, performing a connection check with IMS 130, receiving connection verification communication from IMS 130, etc. In response to determining that the voice connection between UE 110 and IMS 130 has been restored, process 200 may restart process 200 at operation 205 and monitor for new or subsequent connection problems. In some embodiments, restarting process 200 involves connection processor 111 resetting counter variable A to zero in operation 225. In response to determining that the voice connection between UE 110 and IMS 130 has not been restored, in operation 215, the connection processor 111 may repeatedly select and execute one or more additional restoration options.
[0062] As mentioned above, Figure 3A and 3B Details are provided regarding subprocess 300 according to some embodiments, which corresponds to Figure 2 The process 200 involves selecting and executing recovery options in operation 215. The sub-process 300 shown includes, after identifying a connectivity problem via operation 210, performing four different possible actions to restore voice connectivity to the IMS network.
[0063] Subprocessor 300 begins with connection processor 111 executing operation 305. In operation 305, connection processor 111 determines whether a first recovery attempt for a connection problem is being selected and executed (i.e., whether this is the first execution of subprocessor 300 for a connection problem). When connection processor 111 determines this is a first recovery attempt, it executes operation 310. When connection processor 111 determines this is not a first recovery attempt, it instead executes operation 320 (described below). In some embodiments, connection processor 111 identifies the first recovery attempt based on a counter variable A or some other tracking device. For example, when counter variable A equals "0", in operation 305, connection processor 111 determines this is a first recovery attempt for a connection problem. On the other hand, when counter variable A is greater than "0", connection processor 111 determines this is not a first recovery attempt for a connection problem.
[0064] In operation 310, the connection processor 111 selects a first recovery option. Specifically, in operation 310, the connection processor 111 can select toggle (switch, toggle, flip) to the re-registration option. In operation 315, the connection processor 111 can execute the re-registration option. By toggling (i.e., selecting and executing) re-registration (also known as the switch via IMS call), the connection processor 111 can restart IMS registration between UE 110 and IMS 130. In some embodiments, the re-registration process re-establishes synchronization between UE 110 and IMS 130 and enables the reception of incoming voice calls. In some cases, the re-registration process can be a remedy performed by the connection processor 111 sufficient to recover UE 110 from connectivity problems. Furthermore, in operation 315, the connection processor 111 can increment a counter variable A by 1 to record the first recovery attempt by the connection processor 111. Thereafter, the connection processor 111 can terminate sub-process 300 and proceed to the step according to... Figure 2 The process 200 operation 220.
[0065] In operation 320, connection processor 111 determines whether a second recovery attempt for a connection problem is being selected and executed (i.e., whether this is the second execution of sub-process 300 for a connection problem). When connection processor 111 determines that this is a second recovery attempt, connection processor 111 executes operation 325. When connection processor 111 determines that this is not a second recovery attempt, connection processor 111 instead executes operation 335.
[0066] In some embodiments, the connection processor 111 identifies the second recovery attempt based on a counter variable A or some other tracking device. For example, when the counter variable A equals "1", in operation 320, the connection processor 111 determines that this is a second recovery attempt for a connection problem. On the other hand, when the counter variable A is greater than "1", the connection processor 111 determines that this is not a second recovery attempt for a connection problem.
[0067] In operation 325, the connectivity processor 111 selects a second recovery option. Specifically, in operation 325, the connectivity processor 111 can select to switch the RAT currently used by the UE 110 for communication with the IMS 130, and performs the RAT switch in operation 330. By switching the RAT, the connectivity processor 111 can disable the corresponding radio (e.g., 2G / 3G, 4G, 4G LTE, 5G, Wi-Fi, or other radio) that the UE 110 previously registered with the IMS 130, and then re-enable that radio. In some embodiments, this disabling and re-enabling of the RAT can cause the UE 110 to re-register with or synchronize with the IMS 130, and thus be able to receive incoming voice calls at the UE 110. In some embodiments, disabling the corresponding radio can also help clear any errors (software and / or hardware) in the radio that may cause connectivity problems. Therefore, in situations where simply switching to re-registration at operation 310 is insufficient, disabling and re-enabling RAT may, in some cases, be a remedy performed by connection processor 111 sufficient to recover UE 110 from connectivity issues. Furthermore, at operation 330, connection processor 111 may increment counter variable A by 1 to record the second recovery attempt by connection processor 111. Afterward, connection processor 111 may terminate subprocess 300 and proceed to... Figure 2 The process 200 operation 220.
[0068] On the other hand, in operation 335, the connection processor 111 determines whether a third recovery attempt for the connection problem is being selected and executed (i.e., whether this is the third execution of sub-process 300 for the connection problem). When the connection processor 111 determines that this is the third recovery attempt, the connection processor 111 executes operation 340. When the connection processor 111 determines that this is not the third recovery attempt, the connection processor 111 instead executes operation 350.
[0069] In some embodiments, the connection processor 111 identifies the third recovery attempt based on a counter variable A or some other tracking device. For example, when the counter variable A equals "2", in operation 335, the connection processor 111 determines that this is the third recovery attempt for a connection problem. On the other hand, when the counter variable A is greater than 2, the connection processor 111 determines that this is not the third recovery attempt for a connection problem.
[0070] In operation 340, the connection processor 111 selects a third recovery option. Specifically, the connection processor 111 can select to switch flight mode or a similar mode for UE 110, and performs the flight mode or similar mode switch in operation 345. By switching to flight mode, the connection processor 111 can deregister UE 110 from IMS 130. Switching to flight mode can also disable all radios of UE 110, which can clear and reset any erroneous states of UE 110 regarding IMS 130. After UE 110 deregisters from IMS 130, the connection processor 111 can perform a new registration of UE 110 to IMS 130. In some embodiments, this switch to flight mode or a similar mode may result in additional software and / or hardware changes in UE 110, which in turn causes UE 110 to re-register with or synchronize with IMS 130 when flight mode is disabled. Therefore, in situations where switching to re-registration at operation 310 and disabling and re-enabling RAT at operation 325 are insufficient, switching to flight mode for UE 110 may be a remedy performed by connection processor 111 sufficient to recover UE 110 from connectivity problems. Furthermore, at operation 345, connection processor 111 may increment counter variable A by 1 to record the third recovery attempt by connection processor 111. Afterward, connection processor 111 may terminate subprocess 300 and, based on the progress made... Figure 2 The process 200 operation 220.
[0071] In operation 350, connection processor 111 determines whether a fourth (or more) recovery attempt is being selected and executed for a connection problem (i.e., whether this is the fourth or more execution of subprocess 300 for a connection problem). When connection processor 111 determines that this is the fourth or more recovery attempt, connection processor 111 executes operation 355.
[0072] In some embodiments, the connection processor 111 identifies the fourth or more recovery attempts based on a counter variable A or some other tracking method. For example, when the counter variable A is equal to or greater than 3, in operation 350, the connection processor 111 determines that this is the fourth or more recovery attempts for a connectivity problem.
[0073] In operation 355, the connection processor 111 selects the fourth recovery option. Specifically, the connection processor 111 can choose to switch to displaying a message to the user and restarting the UE 110, and in operation 360, it performs message delivery and restarting the UE 110. By switching to displaying a message and restarting, the connection processor 111 can ensure that the user knows the reason for the restart of the UE 110 (because an unexpected and unexplained restart of the UE 110 would disrupt the user's experience with the UE 110). Compared to any other measures at the UE 110, restarting the UE 110 can more thoroughly clear and reset any errors or incorrect states at the UE 110 regarding the IMS 130. After restarting the UE 110, the connection processor 111 can perform a new registration of the UE 110 to the IMS 130. In situations where switching to re-registration at operation 310, disabling and re-enabling RAT at operation 325, and enabling / disabling flight mode at operation 340 are insufficient, restarting UE 110 may be a remedy performed by connection processor 111 sufficient to recover UE 110 from connectivity problems. Furthermore, at operation 360, connection processor 111 may increment counter A by "1" to record the fourth recovery attempt by connection processor 111. Afterward, connection processor 111 may terminate subprocess 300 and proceed to... Figure 2 Operation 220 of process 200. In some embodiments, restarting UE 110 according to operation 360 is automatic and requires no user input. In some other embodiments, UE 110 may prompt the user to restart UE 110.
[0074] Figure 4 A block diagram of an exemplary computer system 400 is depicted, in which various features described herein may be implemented. Computer system 400 includes: a bus 402 or other communication mechanism for transmitting information; and one or more hardware processors 404 coupled to the bus 402 for processing information. Hardware processor 404 may be, for example, one or more general-purpose microprocessors.
[0075] Computer system 400 also includes main memory 406, such as random access memory (RAM), cache, and / or other dynamic storage devices, coupled to bus 402, for storing information and instructions to be executed by processor 404. Main memory 406 can also be used to store temporary variables or other intermediate information during instruction execution by processor 404. When these instructions are stored in storage media accessible to processor 404, this makes computer system 400 a dedicated machine customized to perform the operations specified by the instructions.
[0076] The computer system 400 also includes a read-only memory (ROM) 408 or other static storage device coupled to the bus 402 to store static information and instructions for the processor 404. A storage device 410, such as a disk, optical disk, or USB flash drive, coupled to the bus 402, is provided for storing information and instructions.
[0077] Computer system 400 may be coupled to display 412, such as a Liquid Crystal Display (LCD) (or touchscreen), via bus 402 for displaying information to the computer user. Input device 414, including alphanumeric keys and other keys, is coupled to bus 402 for transmitting information and command selections to processor 404. Another type of user input device is cursor control 416, such as a mouse, trackball, or arrow keys, for transmitting directional information and command selections to processor 404 and for controlling cursor movement on display 412. In some embodiments, the same directional information and command selections as cursor control can be achieved by receiving touches on the touchscreen without using a cursor.
[0078] Computer system 400 may include a user interface module for implementing a GUI, which may be stored as executable software code executed by a computing device in a mass storage device. For example, this module and other modules may include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0079] Generally, the terms "component," "engine," "system," "database," and "data storage" used in this document can refer to logic implemented in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language (such as Java, C, or C++). Software components can be compiled and linked into executable programs, installed in dynamic link libraries, or written in interpreted programming languages (such as BASIC, Perl, or Python). It will be understood that software components can be invoked from other components or from themselves, and / or can be invoked in response to detected events or interrupts. Software components configured to execute on a computing device can be provided on computer-readable media, such as optical discs, digital video discs, flash drives, magnetic disks, or any other tangible media, or as digital downloads (and may initially be stored in a compressed or installable format that needs to be installed, decompressed, or decrypted before execution). This software code can be stored, in part or in whole, on a memory device executing the computing device for execution by the computing device. Software instructions can be embedded in firmware, such as EPROM. It will also be understood that hardware components may include connected logic units, such as gates and flip-flops, and / or may include programmable units, such as programmable gate arrays or processors.
[0080] Computer system 400 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the computer system, make computer system 400 a special-purpose machine. According to one embodiment, the techniques herein are executed by computer system 400 in response to processor 404 executing one or more sequences of one or more instructions contained in main memory 406. These instructions may be read into main memory 406 from another storage medium, such as storage device 410. Execution of the sequence of instructions contained in main memory 406 causes processor 404 to perform the process steps described herein. In alternative embodiments, hardwired circuitry may be used instead of software instructions or in combination with software instructions.
[0081] As used herein, the term "non-transitory media" and similar terms refer to any medium that stores data and / or instructions that enable a machine to operate in a particular manner. Such non-transitory media can include non-volatile media and / or volatile media. Non-volatile media include, for example, optical discs or magnetic disks, such as storage device 410. Volatile media include dynamic memory, such as main memory 406. Common forms of non-transitory media include, for example, floppy disks, floppy disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassettes and their network versions.
[0082] Non-transitory media differ from transmission media, but can be used in conjunction with transmission media. Transmission media participate in the transmission of information between non-transitory media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including the conductors constituting bus 402. Transmission media can also take the form of sound waves or light waves, such as those generated during radio waves and infrared data communication.
[0083] Computer system 400 also includes a communication interface 418 coupled to bus 402. Communication interface 418 provides bidirectional data communication coupled to one or more network links connected to one or more local networks. For example, communication interface 418 may be an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem providing data communication connectivity to a corresponding type of telephone line. As another example, communication interface 418 may be a Local Area Network (LAN) card to provide data communication connectivity to a compatible LAN (or a WAN component for communicating with a WAN). Wireless links may also be implemented. In any such implementation, communication interface 418 transmits and receives electrical, electromagnetic, or optical signals carrying streams of digital data representing various types of information.
[0084] Network links typically provide data communication to other data devices via one or more networks. For example, a network link can provide connectivity to a host computer or to data devices operated by an Internet Service Provider (ISP) via a local network. ISPs, in turn, provide data communication services through a global packet data communication network now commonly referred to as the "Internet." Both local area networks (LANs) and the Internet use electrical, electromagnetic, or optical signals that carry digital data streams. Signals through various networks and on network links, as well as signals through communication interface 418, are example forms of transmission media carrying digital data to and from computer system 400.
[0085] Computer system 400 can send messages and receive data, including program code, via a network, network link, and communication interface 418. In the Internet example, the server can transmit application request code via the Internet, ISP, local area network, and communication interface 418.
[0086] The received code may be executed by processor 404 upon receipt and / or stored in storage device 410 or other non-volatile storage device for later execution.
[0087] Figure 5A flowchart of a method 500 for detecting and recovering from connectivity problems is shown, comprising example steps that can be performed by one or more components of the UE 110 (e.g., a processor or other hardware or software components). For example, processor 404 may acquire, decode, and / or execute one or more instructions for performing various steps of method 500. For example, various instructions (for performing one or more steps described herein) may be stored in a non-transitory storage medium and / or corresponding control logic circuitry, wherein the term “transitory” does not include transient propagation signals. As used herein, “non-transitory” refers to any medium that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-transitory media may include non-volatile media and / or volatile media. Non-volatile media include, for example, optical discs or magnetic disks. Volatile media include dynamic memory. Common forms of non-transitory media include, for example, floppy disks, floppy disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a perforated pattern, RAM, PROMs and EPROMs, FLASH-EPROMs, NVRAMs, any other memory chips or cassette memories and their network versions. As described in detail below, the machine-readable storage media of main memory 406, ROM 408, and / or memory 410 may be encoded with executable instructions, such as instructions for performing the steps of method 500. Non-transitory media differ from transmission media but can be used in conjunction with them. Transmission media participate in information transmission between non-transitory media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including the lines of bus 402 that constitutes the connection between processor 404 and other components of computer system 400. Transmission media may also take the form of sound waves or light waves, such as radio waves and sound waves or light waves generated during infrared data communication.
[0088] Method 500 may include a method for detecting missed calls and recovering from corresponding connectivity problems in UE 110. The operations constituting method 500 may be performed by one or more UEs, a centralized computing system, or a server. For example, the operations of method 500 are described as being performed by UE 110.
[0089] Step 505 of method 500 includes receiving a notification at the UE, such as UE 110, indicating that the UE missed an incoming voice call. As described above, the notification may include voicemail or a similar notification. In some embodiments, the notification is associated with a preset time period, including several seconds or several minutes.
[0090] In step 510, method 500 includes determining that the UE is in a mode for receiving incoming calls during a preset period of time after the UE receives the notification. This means that the UE is not in one of the aforementioned call processing modes during the preset period of time.
[0091] In step 515, the UE determines that it has not received any incoming calls within the preset time period. As mentioned above, this determination implies a connectivity problem between the UE and the IMS.
[0092] In step 520, the UE selects and executes one or more recovery options. This selection and execution can be performed automatically based on the determination that the UE missed an incoming call. As mentioned above, the one or more recovery options can include a variety of choices.
[0093] In some embodiments, although method 500 is described as being performed by the UE, it will be understood that the corresponding operations may be performed by a network controller or other controller device communicating via network 120. Furthermore, in some embodiments, the network controller may monitor communications occurring or attempted via network 120 (e.g., incoming voice calls 122 and voicemail notifications 142). In some embodiments, the network controller is a cloud-based computing system.
[0094] Each process, method, and algorithm described in the foregoing sections can be implemented fully or partially automatically in code components executed by one or more computer systems or computer processors, including computer hardware. The one or more computer systems or computer processors can also operate to support the execution of related operations in a “cloud computing” environment or as “Software as a Service” (SaaS). These processes and algorithms can be implemented, partially or entirely, in dedicated circuitry. The various features and processes described above can be used independently of each other or can be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some embodiments. The methods and processes described herein are not limited to any particular order, and blocks or their associated states can be executed in other suitable orders, or can be executed in parallel, or can be executed in some other manner. Blocks or states can be added to or removed from the disclosed example embodiments. The execution of certain operations or processes can be distributed among computer systems or computer processors, residing not only within a single machine but also deployed across multiple machines.
[0095] As used herein, circuits can be implemented using any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to form the circuit. In implementations, the various circuits described herein can be implemented as discrete circuits, or the described functions and features can be shared partially or wholly among one or more circuits. Although various feature or functional elements can be described or claimed as separate circuits, these features and functions can be shared among one or more common circuits, and such descriptions should not require or imply the need for separate circuits to implement such features or functions. Where the circuit is implemented wholly or partially using software, such software can be implemented to operate in conjunction with a computing or processing system (e.g., computer system 400) capable of performing the functions described herein.
[0096] As used herein, the term “or” can be interpreted as inclusive or exclusive. Furthermore, resources, operations, or structures described in the singular should not be construed as excluding the plural. Conditional language, such as “can,” “may,” “perhaps,” or “may,” unless expressly stated otherwise or otherwise understood in the context as used, is generally intended to convey that some embodiments include certain features, elements, and / or steps, while other embodiments do not.
[0097] Unless otherwise expressly stated, the terms and phrases used herein, and their variations thereof, should be interpreted as open-ended rather than restrictive. Adjectives such as “regular,” “traditional,” “normal,” “standard,” “known,” and similar terms should not be interpreted as limiting the described items to a given time period or to items available within a specific time period, but should be understood to include regular, traditional, normal, or standard techniques available or known at any time now or in the future. In some cases, the presence of extended words and phrases such as “one or more,” “at least,” “but not limited to,” or other similar phrases should not be interpreted as indicating a narrower expectation or requirement where such extended phrases might not exist.
Claims
1. A user equipment (UE), comprising: The first communication circuit is configured to receive notifications; processor; as well as A memory cell, operatively connected to the processor and comprising instructions that, when executed, cause the processor to: The notification indicates that an incoming call is directed to the UE within a preset time period; The following criteria are used to identify that the UE has not received the incoming call within the preset time period: The incoming call was not forwarded to another device; and It was detected that the UE was not in a call processing mode that prevents the UE from receiving incoming calls during the preset time period; Based on the detection that the UE has not received the incoming call, the recovery option is executed; The instructions for executing the recovery options include instructions that cause the processor to synchronize communication between the Internet Protocol IP Multimedia Subsystem (IMS) and the UE, wherein the incoming call is received via the IMS, and the instructions that cause the processor to synchronize the communication include instructions that cause the processor to perform the following operations: In response to determining that this is the first attempt to recover from a connectivity issue with the IMS, the registration process between the IMS and the UE is restarted, and after the registration process is restarted, the voice call capability between the UE and the IMS is re-established. In response to determining that the first attempt failed to recover from the connection problem with IMS and that this is the second attempt to recover from the connection problem with IMS, the second communication circuit of the UE is first disabled and then re-enabled, wherein the incoming call is routed via the second communication circuit, and after the second communication circuit is re-enabled, the voice call capability between the UE and the IMS is re-established via the second communication circuit. In response to the determination that the second attempt failed to recover from the connection problem with IMS, and that this is the third attempt to recover from the connection problem with IMS, all communication circuits of the UE are first disabled and then re-enabled, and after all communication circuits of the UE are re-enabled, the voice call capability between the UE and the IMS is re-established. In response to the determination that the third attempt to recover from the connection problem with IMS failed, and that this is the fourth attempt to recover from the connection problem with IMS, the UE is restarted, and after the UE is restarted, the voice call capability between the UE and the IMS is re-established.
2. The UE according to claim 1, wherein, The notification is received via Short Message Service (SMS) and the UE receives the incoming call via Internet Protocol (IP) Multimedia Subsystem (IMS) service.
3. The UE according to claim 1, wherein, The instruction also causes the processor to: generate an indication signal to the user of the UE indicating that the UE is experiencing a connection problem, based on the recognition that the UE has not received the incoming call.
4. A computer-implemented method, comprising: The notification is received at the user equipment (UE) via the first communication circuit. The notification indicates that an incoming call is directed to the UE within a preset time period; The following criteria are used to identify that the UE has not received the incoming call within the preset time period: The incoming call was not forwarded to another device; and It was detected that the UE was not in a call processing mode that prevents the UE from receiving incoming calls during the preset time period; Based on the detection that the UE has not received the incoming call, the recovery option is executed; The instructions for executing the recovery options include instructions that cause the processor to synchronize communication between the Internet Protocol IP Multimedia Subsystem (IMS) and the UE, wherein the incoming call is received via the IMS, and the instructions that cause the processor to synchronize the communication include instructions that cause the processor to perform the following operations: In response to determining that this is the first attempt to recover from a connectivity issue with the IMS, the registration process between the IMS and the UE is restarted, and after the registration process is restarted, the voice call capability between the UE and the IMS is re-established. In response to determining that the first attempt failed to recover from the connection problem with IMS and that this is the second attempt to recover from the connection problem with IMS, the second communication circuit of the UE is first disabled and then re-enabled, wherein the incoming call is routed via the second communication circuit, and after the second communication circuit is re-enabled, the voice call capability between the UE and the IMS is re-established via the second communication circuit. In response to the determination that the second attempt failed to recover from the connection problem with IMS, and that this is the third attempt to recover from the connection problem with IMS, all communication circuits of the UE are first disabled and then re-enabled, and after all communication circuits of the UE are re-enabled, the voice call capability between the UE and the IMS is re-established. In response to the determination that the third attempt to recover from the connection problem with IMS failed, and that this is the fourth attempt to recover from the connection problem with IMS, the UE is restarted, and after the UE is restarted, the voice call capability between the UE and the IMS is re-established.
5. The method according to claim 4, wherein, The notification is received via Short Message Service (SMS) and the UE receives the incoming call via Internet Protocol (IP) Multimedia Subsystem (IMS) service.
6. The method according to claim 5, based on the identification that the UE has not received the incoming call, generating an indication signal to the user of the UE indicating that the UE is experiencing a connection problem.
7. A communication device, comprising: processor; as well as A memory cell, operatively connected to the processor and comprising instructions that, when executed, cause the processor to: When a user equipment (UE) receives a notification indicating that a voicemail message for the UE has been received within a given time period, it is determined that the UE was in a mode for receiving incoming calls at the time the notification was received. It is determined that the UE has not received an incoming call within a preset time period after receiving the notification; as well as Based on the determination that the UE missed the incoming call, one or more recovery options are executed without user input. The instructions for executing the recovery options include instructions that cause the processor to synchronize communication between the Internet Protocol IP Multimedia Subsystem (IMS) and the UE, wherein the incoming call is received via the IMS, and the instructions that cause the processor to synchronize the communication include instructions that cause the processor to perform the following operations: In response to determining that this is the first attempt to recover from a connectivity issue with the IMS, the registration process between the IMS and the UE is restarted, and after the registration process is restarted, the voice call capability between the UE and the IMS is re-established. In response to determining that the first attempt failed to recover from the connection problem with IMS and that this is the second attempt to recover from the connection problem with IMS, the second communication circuit of the UE is first disabled and then re-enabled, wherein the incoming call is routed via the second communication circuit, and after the second communication circuit is re-enabled, the voice call capability between the UE and the IMS is re-established via the second communication circuit. In response to the determination that the second attempt failed to recover from the connection problem with IMS, and that this is the third attempt to recover from the connection problem with IMS, all communication circuits of the UE are first disabled and then re-enabled, and after all communication circuits of the UE are re-enabled, the voice call capability between the UE and the IMS is re-established. In response to the determination that the third attempt to recover from the connection problem with IMS failed, and that this is the fourth attempt to recover from the connection problem with IMS, the UE is restarted, and after the UE is restarted, the voice call capability between the UE and the IMS is re-established.
8. The communication device according to claim 7, wherein, The notification is received via Short Message Service (SMS) and the UE receives the incoming call via Internet Protocol (IP) Multimedia Subsystem (IMS) service.