Improved methods and systems for handling IMS registration failures caused by P-CSCF server connection failures.
By detecting and dynamically adjusting the P-CSCF server connection, the problem of IMS registration failure in 5G networks was resolved, improving the success rate of voice calls and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-02
- Publication Date
- 2026-04-03
AI Technical Summary
In 5G networks, IMS registration failures lead to voice call failures, particularly due to connection problems with the P-CSCF server, resulting in a degraded user experience.
By detecting P-CSCF server connection failures, the voice call processing flow is dynamically adjusted, and TCP connections are selected and attempted to be established with multiple available P-CSCF servers until successful registration is achieved, thus preventing voice call drops.
It improves the success rate of voice calls in 5G networks, reduces latency and call rejection, and enhances the user experience.
Smart Images

Figure CN116762327B_ABST
Abstract
Description
[0001] Citation of relevant applications
[0002] This application claims priority to U.S. Patent Application No. 63 / 145,706, filed February 4, 2021, entitled “METHOD AND APPARATUS TO IMPROVEIMS REGISTRATION FAILURES DUE TO P-CSCF SERVER CONNECTION FAILURE”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application generally relates to telecommunications and broadband cellular networks, and more specifically to methods and systems for improving user experience in relation to and supporting voice services over 5G networks. Attached Figure Description
[0004] This disclosure is described in detail below with reference to one or more different embodiments and the accompanying drawings. The drawings are provided for illustrative purposes only and depict only typical or exemplary embodiments.
[0005] Figure 1 An example computing system (e.g., a mobile computing device) is described, which implements a 5G voice call flow processing procedure according to an embodiment of the present application for resolving connection failures with a proxy call session control function (P-CSCF) server.
[0006] Figure 2 This is an example of an operational flowchart illustrating a 5G-based voice call process for attempting to connect to multiple available P-CSCF servers according to some embodiments.
[0007] Figure 3 This is an example of an operation flowchart illustrating another 5G-based voice call process for confirming the availability of a P-CSCF server using Internet Protocol Message Protocol (ICMP) messages, according to some embodiments.
[0008] Figure 4 This is an example of an operation flowchart illustrating another 5G-based voice call process for disconnecting a Protocol Data Unit (PDU) session according to some embodiments.
[0009] Figure 5 This is an example of an operational flowchart illustrating another 5G-based voice call process handling procedure that temporarily disables New Radio (NR) or Long Term Evolution (LTE) based on IMS registration failure, according to some embodiments.
[0010] Figure 6This is a block diagram of an example computing component or device for implementing the disclosed technology according to this disclosure.
[0011] These illustrative embodiments are mentioned not to limit or restrict this disclosure, but to provide examples to aid in understanding them. Additional embodiments are discussed in the detailed description, and further description is provided in the detailed description. Detailed Implementation
[0012] Fifth-generation wireless (5G) is an iteration of the cellular technology standard for broadband cellular networks, mandated by the International Mobile Telecommunication Union (IMTU) as a standard for supporting full Internet Protocol (IP) networks. 5G technology supports faster data rates, higher connection density, and lower latency. 5G deployment is planned as the successor to 4G networks, providing connectivity for most current cellular phones. 5G technology has been engineered to significantly improve the speed and responsiveness of wireless networks. In the case of 5G, data transmitted via wireless broadband connections can travel at multi-gigabit speeds, with some estimates suggesting potential peak speeds of up to 20 gigabits per second (Gbps). These speeds significantly exceed wired network speeds and offer latency of 1 millisecond (ms) or less, which is useful for applications requiring real-time feedback. Therefore, due to more available bandwidth and advanced antenna technology, 5G technology enables a dramatic increase in the amount of data transmitted via wireless systems.
[0013] While 5G is considered a major driver for enhanced data services, voice and video remain key elements for subscribers. As the number of global voice subscriptions and demand from subscribers continue to grow, cellular providers must deliver an ever-increasing volume of voice services. Telecommunications networks have evolved from circuit-switched (CS) 2G networks with an initial focus on telephone calls to fully packet-switched (PS) 4G networks focused on internet data communications. Furthermore, increasing device penetration is forcing network traffic to shift from the circuit-switched domain (3G / 2G) to the packet-switched domain. This allows operators to reuse 3G / 2G spectrum for new technologies and reduce the operating costs of legacy technologies while improving network capacity and performance. In addition, there are other benefits to be gained with all packet-based voice services, such as VoLTE. For example, packet-based voice services deliver a richer customer experience by introducing new features such as HD voice, video calling, and Rich Communication Services (RCS). Packet-based voice services can also enable faster network technology migration by simplifying network architecture and phasing out older technology layers. With the deployment of 5G, and given the limited spectrum supporting all technologies, cellular providers are including Voice over New Radio (VoNR) services (which support 5G-based voice services) and migrating customers to 5G and even more critically.
[0014] In some deployments, 5G networks are implemented as standalone networks. For example, in 5G NR, voice calls are fully supported via a packet-switched (PS) domain with IP Multimedia Subsystem (IMS) signaling and media. Similar to 4G LTE networks, 5G voice calls are implemented as end-to-end IP-bearer Voice (VoIP) connections managed by the IMS core. In other words, the IMS core provides voice as a 5G application service. Voice and video communication services in 5G networks can be provided over IP data connections. Therefore, the IMS architecture plays an increasingly important role in 5G VoNR. Unlike voice services provided by external applications (i.e., so-called OTT voice services), voice carried by IMS supports Quality of Service (QoS) management across the entire 5G system (5GS). While IMS can provide voice services for various types of access (e.g., fixed, cable, and 2G / 3G) and 5G deployments, 5G is not so flexible. In many cases, even across the many deployments possible for voice via 5G networks, 5G NR and VoNR must utilize the IMS network to handle voice services. Therefore, in order to make a voice call entirely via 5G, the user equipment (UE) must successfully register with IMS.
[0015] Therefore, when a user initiates a voice call via 5G, but IMS registration has failed or is still in progress (e.g., IMS registration status is "not registered"), the voice call may be immediately rejected because the UE has not yet registered with IMS before the call. Furthermore, in scenarios where there is a permanent IMS registration failure on 5G NR, 5G NR may be disabled on the UE to allow the use of legacy networks (e.g., 4G LTE) or CS radio access technologies (RAT) (e.g., 2G GSM and / or 3G WCDMA).
[0016] Furthermore, in operation, users can connect to IMS through a variety of methods that utilize standard IP. For example, in many deployments, IMS can utilize the IP-based Session Initiation Protocol (SIP), which enables the system to support voice services over IP packet-switched networks. By utilizing SIP, UEs can register directly with IMS via IP, even when roaming in another network or country (the visited network). For example, a UE can register with IMS via SIP on a 5G network. Therefore, the performance of SIP during this process can also be a contributing factor to the success of IMS registration. For example, in scenarios with significant delays in SIP messages and / or lost SIP signaling, UE registration with IMS may fail. In other words, if there is a particular point of failure experienced in the SIP session with IMS (e.g., a SIP / TCP connection failure between the UE and one of the IMS servers), a voice call entirely over 5G may fail because the UE cannot successfully complete its registration with IMS.
[0017] Specifically, an example of a potential point of failure in the IMS SIP session that could affect 5G voice calls is the UE's inability to connect to the Proxy Call Session Control Function (P-CSCF). As will be described in more detail below, IMS defines an architecture for logical elements of SIP used for call signaling between network elements and provides a layered approach with defined service plane, control plane, and transport plane. Several roles of IMS SIP servers (or proxies) (collectively referred to as Call Session Control Functions (CSCFs)) are used to process SIP signaling packets within IMS. One of these IMS SIP servers is the P-CSCF. The P-CSCF acts as the entry and exit point relative to the IMS domain of the service provider for the IMS client. The P-CSCF has a number of responsibilities, including: forwarding registration and session requests to the correct nodes in the network; ensuring that the S-CSCF (Service CSCF) is kept up-to-date on the access network used by the subscriber; providing session information to the PCRF (Policy and Charging Rules Function); and maintaining a secure connection with the client device. Therefore, since the P-CSCF plays a crucial role in IMS, the inability of a UE to properly connect to and / or communicate with the P-CSCF can cause problems with IMS registration. For example, in a scenario where a UE attempts to establish a SIP session with the P-CSCF (e.g., transmitting a SIP registration packet) via TCP connection but the P-CSCF server does not respond, the UE may be unable to register for IMS (or lose IMS service for an extended period), ultimately affecting the user's voice service via 5G.
[0018] While disabling 5G does prevent the UE from being trapped in 5G (without IMS registered), it also prevents the UE from providing voice services until it registers through another network (e.g., 4G LTE or CS RAT). If the occurrence of rejected voice calls and / or the loss of voice services become widespread due to these types of situations, this can negatively impact the overall user experience regarding 5G networks. Therefore, to improve the user experience when making voice calls in 5G NR deployments, the disclosed method allows for dynamic adjustment of the procedures used to handle voice call setup in a manner that takes into account IMS (and particularly the connection to the P-CSCF server (as a point of failure in SIP communication with IMS)).
[0019] Embodiments of this application provide unique methods and systems for improving the overall experience for users making voice calls via 5G, despite connection interruptions and / or failures with the P-CSCF (which further lead to an unfavorable state or failure of IMS registration). Specifically, after a UE device initiates a voice call on 5G, the disclosed techniques can detect failures with the P-CSCF associated with establishing IMS registration for the voice call (e.g., no response from the P-CSCF, inability to connect to the P-CSCF). Thereafter, voice call processing functions can be adjusted based on the type of failure detected and completed for the voice call to determine the most efficient and reliable way to successfully connect to one or more available P-CSCFs. The disclosed embodiments can avoid unnecessary delays, prevent failures, and improve the reliability of voice call association in the 5G network, thereby increasing the UE's call success rate and enhancing the user experience in the 5G network.
[0020] Now refer to Figure 1 An example of a communication network environment 100 for a broadband cellular network is shown, wherein a mobile computing device 110 may be employed, which uses the disclosed technologies to improve voice calls via 5G. The mobile computing device 110 may be a UE with 5G capability. Figure 1In the examples, mobile computing device 110 is shown as a handheld user device, and more specifically as a smartphone. However, mobile computing device 110 can be implemented as various other wireless devices directly used by end users for communication and equipped with telecommunications functions (e.g., voice, video, and text). For example, mobile computing device 110 can also be implemented as a cellular phone, a laptop computer equipped with a mobile broadband adapter, or other computing devices. Thus, as a 5G-enabled smartphone, mobile computing device 110 is capable of supporting enhanced data services, voice (e.g., voice calls via 5G NP, VoNP, etc.), video, and other telecommunications functions commonly used by subscribers of broadband cellular networks. Furthermore, mobile computing device 110 is depicted as including a voice call processing unit 111, which implements the disclosed techniques for improving the user's experience of making voice calls via 5G, as described in more detail herein.
[0021] As previously mentioned, various deployments exist for implementing 5G networks. For example, in a non-standalone (NSA) deployment mode, LTE+NR with an evolved packet core (EPC) can be used. In contrast, there is a standalone (SA) deployment mode involving NR with a 5G core (5GC). Furthermore, there are 5G deployments where the cellular network provider can have an existing 4G LTE network, and the 5G network is deployed alongside the legacy network. In this manner, the 5G NR acts as a secondary cell, and the core technology remains EPC. For voice calls established via the 5G network using any of the above deployment modes, the disclosed technologies (e.g., voice call processing unit 111 on mobile computing device 110) can be used. Figure 1 A communication network environment 100 for a 5G network is shown, which has an exemplary deployment including: a mobile computing device 110 (or UE); a gNodeB (gNB) 115; a 5GC 120; an IMS 130; and multiple P-CSCF servers 131a-131c deployed on the IMS 130.
[0022] exist Figure 1In the example shown, a user subscribing to a 5G-enabled cellular provider can use mobile computing device 110. Therefore, mobile computing device 110 can include hardware, software applications, etc., that allow it to be configured for 5G capabilities. Thus, a user can use their mobile computing device 110 for multimedia telephony services including audio, video, and text, and particularly for voice calls via a 5G network in environment 100. Mobile device 110 can include an operating system that provides an interface between the hardware (e.g., input / output mechanisms and a processor executing instructions retrieved from a computer-readable medium) and software of mobile computing device 110. Exemplary operating systems include ANDROID, CHROME, IOS, MAC OS X, WINDOWS 7, WINDOWS PHONE 7, SYMBIAN, BLACKBERRY, WEBOS—various UNIX operating systems or proprietary operating systems for computerized devices. The operating system can provide a platform for executing applications that facilitate interaction between the computing device and the user.
[0023] Mobile computing device 110 may include other applications, computing subsystems, and hardware. Voice call flow processor 111 may be implemented on mobile computing device 110 as hardware, a standalone processor, firmware, software applications, or any combination thereof. According to the disclosed embodiments, voice call flow processor 111 may receive instructions from a user to initiate outgoing voice calls and / or receive incoming voice calls, wherein the voice calls are intended to be supported over 5G. Voice call flow processor 111 is configured to dynamically adjust the flow for: detecting failures related to connection to a P-CSCF (e.g., no response from the P-CSCF, connection to the P-CSCF failure), and, based on the type of detected failure, to determine the most efficient and reliable way to process voice calls via 5G for successful connection to one of the available P-CSCFs shown as P-CSCFs 131a-131c. The following describes in detail example functions of voice call flow processor 111 that enhance the user's experience with voice services in a 5G network.
[0024] also, Figure 1 The illustrated communication network environment 100 includes a gNB 115. The gNB 115 is a 5G base station using New Radio (NR) technology. NR access technology for 5G can generally be described as a replacement for LTE, and therefore, the new base station for NR is the gNB 115. The gNB 115, acting as a 5G wireless base station, in... Figure 1 The diagram illustrates the sending and / or receiving of communications between the mobile computing device 110 (or UE) and the mobile network. Figure 1The image shows a gNB that provides a cell within 5G network coverage, which can be used to transmit voice, data and other types of content via 5GC 120.
[0025] The 5GC 120 can be described as part of a 5G network deployment that provides 5G services to mobile subscribers (e.g., users of mobile computing device 110) via a radio access network (RAN) (e.g., a 5G NR RAN). The 5GC 120 can also act as a gateway to other networks (e.g., the public switched telephone network, a public cloud, and IMS 130). In the example, the 5GC 120 connects to an IMS 130 that supports voice services. The IMS 130 is a standardized architectural framework for delivering IP multimedia services. Furthermore, the IMS 130 provides connection management for voice services in 5G, just as it does in legacy LTE networks. The IMS 130 utilizes IP-based SIP, which enables the system to support voice services via an IP packet-switched network.
[0026] In some 5G deployments, NR does not support voice services. Therefore, Figure 1 An example is shown where 5GC 120 provides connectivity to IMS 130 to support voice over 5G. For mobile computing device 110 to make voice calls over 5G, device 110 may be required to register with IMS 130, which supports voice services, before connecting to the voice call. From a high-level perspective, voice services operating over 5G (e.g., VoNR) are IP-based voice services using the IMS 130 infrastructure. This requirement to register with IMS 130 can potentially create several issues in supporting voice over 5G, which could degrade the user experience, as previously mentioned, including an increased risk of numerous dropped calls.
[0027] As described above, the IMS 130 infrastructure includes logical elements that use SIP for call signaling between network elements and provides a layered approach with defined service plane, control plane, and transport plane. Several roles exist, including the SIP server (or agent) of the IMS 130, collectively referred to herein as CSCFs. CSCF servers (e.g., Query-CSCF (I-CSCF) (not shown), Service-CSCF (S-CSCF) (not shown), and P-CSCF 131a-131c) provide the various functions and roles necessary to support IMS services and are typically used to process SIP signaling packets with the IMS 130. Figure 1The P-CSCF servers 131a-131c included in the IMS 130 architecture are specifically shown. As referred to herein, P-CSCFs 131a-131c act as entry and exit points for IMS clients (i.e., mobile computing device 110) entering and leaving the IMS 130 domain. The P-CSCFs have several responsibilities, including forwarding registration and session requests to the correct nodes in the network and to IMS 130, and maintaining secure connections with clients of IMS 130 (e.g., mobile computing device 110). Therefore, if mobile computing device 110 cannot connect to one of the P-CSCFs 131a-131c, it may cause problems with device 110's proper registration with IMS 130.
[0028] However, as Figure 1 As shown, the deployment may include multiple P-CSCF servers that can be used to support connections between client devices and IMS. Multiple P-CSCF servers can exist across different network areas, management domains, and service provider networks. Therefore, for example, when mobile computing device 110 is used in different geographical areas, different P-CSCFs can be used to connect mobile computing device 110 to IMS services. For example, mobile computing device 110 may be located within the service area of the home service provider's network of the P-CSCF, where the service provider's P-CSCF is available and can be connected to mobile computing device 110 for IMS services. However, if mobile computing device 110 is used outside the home service provider's network of the P-CSCF, although connections with previous P-CSCFs may fail, the network of the visited service provider may have P-CSCFs that mobile computing device 110 can connect to to establish IMS services.
[0029] As another example, such as Figure 1As shown, IMS 130 may include multiple P-CSCF servers locally deployed in its architecture to achieve various performance characteristics (e.g., load balancing, redundancy, location-specific support). Therefore, in the event of a failure of any of P-CSCF servers 131a-131c, another P-CSCF server on IMS 130 remains available to support mobile computing device 110. According to an embodiment, voice call flow processor 111 is specifically implemented to utilize the availability of multiple P-CSCFs that can potentially support connections to mobile computing device 110 to successfully provide IMS services, as described in the foregoing scenario. That is, voice call flow processor 111 can detect the existence of failures related to connections to P-CSCFs, the failed and / or unresponsive P-CSCF servers, or failed connections to P-CSCFs. Therefore, voice call flow processor 111 can, based on the type of failure, execute one of several defined processes that can resolve detected failures and dynamically adjust processes to establish connections to another P-CSCF or that are available to mobile computing device 110 in a manner considered optimal or efficient. Therefore, the voice call flow processor 111 can mitigate points of failure in the SIP session associated with registration with IMS 130 that can affect 5G voice calls (especially when the mobile computing device 110 cannot connect to the P-CSCF). Furthermore, by improving IMS registration failures caused by P-CSCF server connection failures, the voice call flow processor 111 improves the user experience (e.g., reduces latency and call rejection) using 5G-bearing voice. Figure 1 An example of such a process, implemented by a voice call flow processor 111 according to the disclosed technology, is shown.
[0030] In operation, a user can initiate a voice call using their 5G-enabled mobile computing device 110. For example, a user can press the displayed icon from the user interface of the mobile computing device 110 to start a voice call, which initiates the call flow for establishing a UE-initiated voice session on 5G NR. Before connecting the call, the mobile computing device 110 must begin a registration process with the IMS 130. This registration process involves the parameters and capabilities of two entities: the UE (mobile computing device 100) and the network switch. This registration process can begin with the UE (i.e., mobile computing device 110) establishing an IMS Data Network Name (DNN) Packet Data Unit (PDU) session in the 5GC 120 (which allows the UE to register in the IMS 130) as a prerequisite for establishing a voice session. Figure 1As shown, mobile computing device 110 can send a registration request message 112. In the registration request message 112, the UE can indicate its usage settings to the network. These usage settings can be data-centric or voice-centric. Since mobile computing device 110 has already initiated a voice call, the UE usage settings in the registration request message 112 will indicate a voice-centric mode. Furthermore, the registration request 112 can indicate IMS-related parameters for mobile computing device 110. Common IMS parameters that a UE can support include, for example, indications of voice support for E-UTRA bearers, indications of voice support for secondary cell group (SCG) bearers, and indications of voice fallback to EPS. 5GC 120 receives the registration request 112 and will provide an appropriate response depending on network capabilities or provisions. For brevity, not all steps involved in the registration process for mobile computing device 110 in IMS are described. Typically, the goal is to register the UE primarily in the 5G network even if voice services are not supported (and a switch to LTE will be required). However, there may be situations where the mobile computing device 110 is currently in a block with weak 5G coverage, which may delay the exchange of communication between entities during the registration process.
[0031] Following the successful setup for the PDU session, the next step is the registration process for IMS. As previously mentioned, the UE can initiate the registration process with IMS 130 using SIP signaling on the IMS DDN PDU. SIP, as discussed herein, is a signaling protocol used to initiate, maintain, and terminate real-time sessions including voice, video, and messaging applications. Furthermore, SIP is designed to be independent of the underlying transport layer protocol and can be used with User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and Stream Control Transport Protocol (SCTP). In some 5G deployments, after the successful establishment of the PDU session, the subsequent process for IMS registration may involve establishing a TCP connection between the UE and the P-CSCF at the IMS entry point. By establishing this TCP connection, SIP can be utilized on TCP to support the messaging required for IMS registration. Figure 1In the example, mobile computing device 110 (or UE) initially attempts to establish a first TCP connection 140 with one of P-CSCF servers 131a-131c. For example, the IMS 130 infrastructure may have a defined default P-CSCF server, which is initially selected by IMS 130 to establish any TCP connection with mobile computing device 110 for use with SIP in the IMS registration process. In the example shown, mobile computing device 110 is shown proposing a first TCP connection 140a with P-CSCF server 131a (which may be defined as the default (or initial) P-CSCF server for IMS 130) for the initial attempt. If this first TCP connection 140a is successfully established, a SIP session can begin to allow mobile computing device 110 to register with IMS 130. However, Figure 1 The diagram illustrates a failure in establishing the first TCP connection 140a with P-CSCF 131a, and consequently, the inability to correctly establish a SIP session with IMS 130. This could potentially lead to complete failure in IMS registration and catastrophic interruption and / or failure of 5G voice calls. Several factors can otherwise be involved in causing the TCP connection to the P-CSCF server to fail. For example, TCP-related configuration problems (e.g., invalid IP address, invalid hostname), routing problems, network connectivity problems, etc., can cause the TCP connection to fail.
[0032] The voice call flow processor 111 is configured to detect that a failure has occurred in the first TCP connection 140a with the default P-CSCF server 131a. In an embodiment, the voice call flow processor 111 may detect that a TCP connection failure has occurred by detecting the transmission of a TCP "connection timeout" indication or other mechanisms indicating that the creation of a connection with the host has failed. By detecting that the initial attempt at TCP connection 140a has experienced some type of failure, the voice call flow processor 111 has realized that the mobile computing device 110 has not successfully connected to IMS 130 in a manner that supports the SIP-based IMS registration process. However, instead of immediately rejecting the voice call because IMS registration is in progress, the voice call flow processor 111 allows additional time for the IMS registration process to complete successfully (the mobile computing device 110 registers to IMS 130) and dynamically adjusts the process to selectively switch to another of the available P-CSCF servers 131b, 131c in the IMS 130 architecture. Therefore, the voice call flow processor 111 allows time for one or more subsequent attempts to establish different TCP connections with other available P-CSCF servers before IMS registration completely fails, where a complete failure of IMS registration would result in a substantial degradation of the user experience (e.g., dropped voice calls via 5G). For example, each time a TCP connection failure with a P-CSCF is detected, the voice call flow processor 111 can select different P-CSCF servers from the group of deployed P-CSCF servers 131a-131c in a round-robin manner to perform successive attempts to successfully establish a TCP connection for the mobile computing device 110.
[0033] As an example, Figure 1 The diagram illustrates that after the failure of the first TCP connection 140a, the voice call flow processor 111 can selectively switch to the P-CSCF 131b and then attempt to establish a second TCP connection 140b between the mobile computing device 110 and the P-CSCF 131b. However, in this example, there is a problem with the connection to the P-CSCF 131b, and the second TCP connection 140b fails. In response to the detection of yet another TCP connection failure, the voice call flow processor 111 can select the P-CSCF server 131c (which is an unconnected P-CSCF on the IMS 310) and attempt a third TCP connection 140c. Figure 1This demonstrates that the third TCP connection between P-CSCF server 131c and mobile computing device 110 is successful, and therefore, in the underlying transport layer protocol used for SIP sessions, there is a connection to at least one available P-CSCF on IMS 130, which allows device 110 to register with IMS. Upon successful IMS registration, the 5G network then provides an appropriate response to the IMS registration request message 112. In an embodiment, voice call flow processor 111 implements a round-robin scheme regarding the selection of different P-CSCF servers in successive TCP connection attempts. For example, in the round-robin scheme, voice call flow processor 111 may transfer each subsequent TCP connection attempt to the next P-CSCF server in a defined order, then return to the beginning of the order and repeat again until a successful TCP connection is established or the defined waiting period expires. While a round-robin scheme is described, this implementation is not intended to be limiting, and voice call flow processor 111 may be configured to implement other selection algorithms utilized in computing techniques to perform selection among available P-CSCF servers for successive TCP connection attempts as needed and / or as circumstances allow.
[0034] In existing UEs, there is no corrective response for TCP connection failures with the P-CSCF, and therefore, in these failure scenarios, the mobile computing device 110 will not register with the IMS 130 (and thus a connection with the IMS 130, which supports voice services via 5G, is not correctly established) and will immediately reject the voice call (e.g., NR does not support voice services via 5G). However, by dynamically adjusting the process for handling TCP connection failures with the P-CSCF during the IMS registration process, for example using the aforementioned P-CSCF selection procedure, the voice call process processor 111 can avoid and / or substantially reduce dropped voice calls, thereby enhancing voice services via 5G NR for subscribers. Reference will now be made to... Figures 2-5 Further details are described regarding various processes that can be implemented to control the flow of voice calls in order to enhance voice services in 5G, according to the disclosed embodiments.
[0035] Now refer to Figure 2 Further details describe how the process for dynamically modifying a voice call via 5G NR according to the disclosed embodiments to resolve P-CSCF server connection failures. The flowchart is provided in [location missing]. Figure 2 The diagram illustrates an example of process 200 performed according to an embodiment of the system and method described herein. Figure 2As can be seen, process 200 is illustrated as a series of executable operations in machine-readable storage medium 206 executed by hardware processor 204. Computing component 202 can be a computer device for telecommunications functions (e.g., voice, video, and text) supported by 5G networks. For example, computing component 202 can be the aforementioned... Figure 1 The described mobile computing device supports 5G (e.g., a smartphone). Typically, according to some embodiments, process 200 implements a voice call flow processing procedure that can detect connection failures to the P-CSCF server and handle the connection failures by attempting one or more subsequent connections to other available P-CSCF servers, thus mitigating associated IMS registration failures.
[0036] Procedure 200 can begin at operation 205, whereby the user initiates a 5G voice call. For example, a user can make an outgoing voice call on a 5G-enabled mobile computing device (i.e., the UE), which initiates a call flow to establish a UE-initiated voice session via 5G NR. As previously mentioned, the UE needs to register with IMS first to utilize the required IMS-supported VoIP services for voice calls. Furthermore, the UE can register with IMS over the 5G network via SIP. Therefore, the IMG registration process can involve initiating a TCP connection between the UE and an initial P-CSCF server on the IMS to support the use of SIP in IMS signaling during the registration process. While procedure 200 is described as involving a TCP connection with the P-CSCF, this is not intended to be limiting, and procedure 200 can be applied to other types of protocols suitable as the underlying transport layer protocol for SIP sessions (e.g., UDP, SCTP, etc.). Additionally, while the IMS registration process 200 is described in relation to initiating a 5G voice call, a keep-active IMS registration execution process 200 can also be performed in response to an ongoing 5G voice call.
[0037] Next, process 200 continues with: performing a condition check in operation 210 to determine if the TCP connection with the initial P-CSCF server has failed. Detecting a TCP connection failure in operation 210 may include: identifying a TCP timeout, or employing other mechanisms supported by the protocol that can indicate that a TCP connection with the host has failed to be established. For example, a TCP timeout may occur if no traffic flow is detected within a specified amount of time (e.g., no ACK as a response), indicating a problem with the TCP connection and causing a delivery timeout signal. Typically, any initial attempt to establish a TCP connection with the IMS P-CSCF at the start of the IMS registration process (as associated with an initiated 5G voice call) is routed to the initial P-CSCF server. As previously mentioned, a P-CSCF server defined as the default P-CSCF may exist within the IMS infrastructure. Therefore, any initial attempt to create a TCP connection with the IMS for IMS registration of the UE is routed to the default P-CSCF server. Thus, in this scenario, the default P-CSCF acts as the initial P-CSCF. However, other methods can be used to determine which P-CSCF server from multiple available P-CSCF servers can act as the initial P-CSCF server in IMS. This is in response to the determination that the TCP connection with the initial P-CSCF server has failed (in...). Figure 2 If indicated as "Yes", the process continues to operation 215 to perform the TCP connection failure resolution process in a manner that prevents full IMS registration failure, where the full IMS registration failure may occur if the failure is allowed to persist.
[0038] As a general description, this branch of process 200, including operations 215-220, can be viewed as an iteratively executed subroutine. This subroutine iteratively selects one or more other available auxiliary P-CSCF servers to switch to, and correspondingly performs continuous TCP connection attempts against the selected P-CSCF servers. According to an embodiment, the subroutine of process 200, including operations 215-220, executes iteratively until a TCP connection with the selected auxiliary P-CSCF server is successfully established, unsuccessful TCP connection attempts have been made against all known available auxiliary P-CSCF servers, or a defined time period (the period during which TCP connections with other P-CSCF servers are allowed to be retried during IMS registration) expires.
[0039] A secondary P-CSCF server can be any one of multiple additional P-CSCF servers that can also be used to establish and maintain TCP connections to support the UE's registration with IMS. These secondary P-CSCF servers mentioned herein can be other P-CSCF servers besides the initial P-CSCF server that can also provide access to IMS services. For example, these multiple secondary P-CSCF servers can be available P-CSCF servers deployed on the same IMS architecture as the initial P-CSCF server, or P-CSCF servers located on another IMS infrastructure available to the UE (e.g., the IMS of the visited server provider's network (e.g., roaming)).
[0040] In operation 215, an attempt is made to establish another TCP connection with the selected secondary P-CSCF server (from a plurality of available secondary P-CSCF servers). Operation 215 may involve executing a scheme or algorithm defined to determine which secondary P-CSCF server is specifically selected in each iteration. In an embodiment, an available secondary P-CSCF server is selected according to a cyclical scheme, as referred to above. Figure 1 As described in detail. In an embodiment, operation 215 involves maintaining a count of the number of failed TCP connections to a specific P-CSCF server, such that if the count (the current number of tracked failures) reaches and / or exceeds a defined failure threshold, the P-CSCF server (identified by the P-CSCF address) can be placed on a blacklist. This failure threshold may be a set number of failures allowed before the P-CSCF server is considered to be experiencing a persistent problem and placed on the blacklist. Once a P-CSCF server is blacklisted or otherwise identified as a "failed" or "unavailable" P-CSCF server, any subsequent IMS registration for the UE will not be routed to that specific P-CSCF server (whether it is the initial P-CSCF server at the start of the IMS registration process or an auxiliary P-CSCF server during the process).
[0041] After selecting a specific secondary P-CSCF server from multiple available P-CSCF servers, a new attempt to establish a TCP connection with the newly selected secondary P-CSCF server is performed. For example, the routing of signals from the UE in the handshake used to establish this next TCP connection switches from the initial P-CSCF server to the selected secondary P-CSCF server. Therefore, in response to the failure of the initial TCP connection with the initial P-CSCF, a retry to establish a TCP connection for the UE's IMS registration is routed to the secondary server. Process 200 then continues to operation 220.
[0042] In operation 220, a condition check is performed to determine (for the current iteration) whether the retry TCP connection with the selected secondary P-CSCF server has failed. In response to determining that the TCP connection with the secondary P-CSCF server has failed (in... Figure 2 (shown as "Yes"), process 200 returns to operation 215 and executes another iteration of the subroutine, selecting a different auxiliary P-CSCF server from the multiple available P-CSCF servers and repeating another attempt to establish a TCP connection.
[0043] Alternatively, if the check in operation 220 determines that a TCP connection with the auxiliary P-CSCF server has been successfully established (e.g., the TCP connection did not fail) (in Figure 2 If the condition is shown as "No" in the diagram, then process 200 can continue to operation 225. Therefore, the process handling of process 200 has successfully established a TCP connection from the UE to the selected auxiliary P-CSCF server. Since a TCP connection has been created, a SIP session can be established to continue establishing the UE's IMS registration, and process 200 can continue.
[0044] Next, in operation 225, since the TCP connection failure with the P-CSCF server has been correctly resolved, the remaining actions in the process of UE registration with IMS and subsequent initiation of the 5G voice call can be performed. For example, the UE initiating the voice call can become registered to IMS using SIP (over TCP connection), and the voice session initiated by the UE can be established and conducted on 5G NR (or 4G LTE) based on 5G deployment.
[0045] Return to reference operation 210 if it is determined that the TCP connection to the initial P-CSCF server did not fail (in Figure 2 If indicated as "No", this can serve as an indication that a TCP connection has been successfully established with the P-CSCF and there is no TCP connection failure issue to resolve. In this case, the normal call flow can be executed, and the IMS registration process can be completed as expected. That is, process 200 can move to operation 225 and perform actions for initiating the 5G voice call. The disclosed technology can achieve an improved user experience for voice calls on 5G networks by successfully and efficiently completing voice calls in scenarios where a TCP connection failure with the P-CSCF would lead to dropped calls via 5G NR in many traditional voice services.
[0046] Figure 3This is a flowchart illustrating an example of another process 300, which can be executed as different processing procedures for a voice call via 5G to resolve a TCP connection failure with a P-CSCF, according to one embodiment described herein. Process 300 can generally be described as: detecting whether the P-CSCF server may be experiencing a failure before even attempting to establish a corresponding TCP connection. Therefore, compared with reference to... Figure 2 The described processing procedure (which may be more suitable for scenarios where failures are related to TCP connection interruptions) is compared to... Figure 3 The handling process may be more applicable to failures at the actual P-CSCF server, which may cause the server itself to become unavailable, down, or unresponsive (as opposed to failures in the connection to the P-CSCF server, which is functioning normally). Figure 3 This illustrates the process 300, which is stored in a machine-readable storage medium 306 for executable operations performed by a hardware processor 304. The computing component 302 may be as described above. Figure 1 The described 5G-enabled mobile computing device (e.g., a smartphone) is configured to perform the disclosed technologies.
[0047] In operation 305, process 300 begins. In operation 305, the user initiates a voice call. For example, the user can use a 5G-enabled mobile computing device (i.e., UE) to make an outgoing voice call, which initiates a call flow to establish a voice session initiated by the UE via 5G NR. As previously mentioned, the UE needs to register with IMS first in order to utilize the IMS-supported VoIP services required for making voice calls. Furthermore, the UE can register with IMS via SIP on the 5G network. Therefore, the IMS registration process may involve: initiating a TCP connection between the UE and the P-CSCF server on the IMS to support the use of SIP in IMS signaling during the registration process.
[0048] Before attempting to establish a TCP connection with the P-CSCF server for IMS registration, process 300 proceeds to operation 310 to begin the processing flow. As a general description, the call handling procedure of process 300 is adjusted to first confirm whether the P-CSCF server is operational (or responsive). In other words, by determining whether the P-CSCF server is operational, it can be further determined whether a TCP connection to that particular server host can be established. That is, it would be practically impossible to establish a TCP connection with a down or inoperable P-CSCF server, and therefore, attempting and rebinding to create a TCP connection with a non-operating P-CSCF server would be futile. Therefore, the processing implemented by process 300 can achieve lower latency compared to other disclosed schemes by avoiding a TCP connection with a high probability of failure (e.g., attempting a TCP connection with a down or inoperable P-CSCF server), thereby eliminating the latency associated with timeouts and retransmissions accompanying such failed TCP connections.
[0049] In operation 310, Internet Control Message Protocol (ICMP) messages (e.g., ping packets) are sent to the P-CSCF server, which is the target host for an upcoming TCP connection. For context, ICMP is a supported protocol in the Internet Protocol set. Network devices (e.g., routers) use ICMP to send error messages and operational information indicating success or failure when communicating with another IP address (e.g., when indicating an error, when a requested service is unavailable, or when a host (or router) cannot be reached). Therefore, in this scenario, ICMP functionality can be used to indicate that the P-CSCF server cannot be reached, which could indicate that the server is unresponsive or inoperable.
[0050] Specifically, operation 310 can utilize ICMP Ping. Ping is a computer network management software utility used to test the reachability of hosts on an IP network. For example, procedure 300 can ping the P-CSCF server by sending ICMP ping packets (also known as echo request packets) to the target host (i.e., the aforementioned P-CSCF server) and waiting for a corresponding ICMP ping packet response (also known as an echo reply). Although procedure 300 is described in terms of ping, the implementation is not intended to be restrictive, and other ICMP messages or TCP / IP applications (e.g., telnet, ftp, traceroute, etc.) can be used to confirm whether the P-CSCF server is available.
[0051] Therefore, in operation 315, a condition check is performed to determine whether a response to an ICMP message (i.e., an ICMP ping packet) has been received. If a response to sending a ping is received, an ICMP ping packet response is received from the P-CSCF server (in... Figure 3 If the P-CSCF is indicated as "Yes", it confirms that the P-CSCF is operating and responding. It can be assumed that a responding P-CSCF server can communicate in a manner that allows the establishment of a TCP connection. Therefore, after confirming that the P-CSCF has responded, the process can continue to operation 320.
[0052] Subsequently, in operation 320, since the P-CSCF server is responding, the call processing flow is deemed suitable to continue establishing a TCP connection with the P-CSCF server. Once the TCP connection with the P-CSCF server is successfully established, a SIP session can be supported to perform the UE's IMS registration. The normal call flow can proceed, and the IMS registration process can complete as expected. That is, process 300 can move to operation 325 and perform the actions for initiating the 5G voice call.
[0053] In scenarios where TCP connection failure with P-CSCF leads to dropped calls over 5G NR in many traditional voice services, the disclosed technology can improve the user experience for voice calls over 5G networks by successfully and efficiently completing voice calls.
[0054] Return to reference operation 315 if no ICMP ping packet response is received (in... Figure 3 If indicated as "No" in the code, this confirms that the P-CSCF server is not responding, which can indicate that the P-CSCF is not operational or "unavailable." Therefore, process 300 can return to operation 310 and iteratively send ICMP ping packets to the P-CSCF server. In embodiments, subroutines of process 300, including operations 310 and 315, can be executed iteratively. For example, process 300 can continue pinging the P-CSCF server and wait for a response until a ping packet response is successfully received, or until a defined time period expires. This process can be particularly advantageous in scenarios where the P-CSCF server may be experiencing a problem that temporarily renders it unresponsive (rather than completely inoperable).
[0055] Alternatively, if the problem persists at the P-CSCF server, this may indicate that the P-CSCF server is likely experiencing a more substantial or catastrophic failure. In such an event that the P-CSCF server is unavailable for an extended period (or permanently), process 300 may execute one or more of the other processing flows disclosed herein. By continuing with these additional processing flows, the process can further resolve TCP connection failures with the P-CSCF server by preventing the UE from being completely unable to register with IMS (which could impact the overall user experience) (e.g., if process 300 cannot resolve the problem before attempting a TCP connection). The disclosed techniques can achieve an improved user experience for voice calls via 5G networks by using ICMP to check the availability of the P-CSCF server before attempting to establish a TCP connection. Therefore, the process reduces the likelihood that the UE will make multiple unnecessary TCP connection attempts to an inactive P-CSCF server (which could further lead to delays and failures that impact the user experience).
[0056] Additionally, a scenario might exist where the UE is unable to establish a TCP connection with any available P-CSCF server to support its IMS registration. This widespread failure affecting all available P-CSCF servers suggests that the root cause may not be the actual TCP connection or the operation of the P-CSCF server. Instead, there might be a more fundamental problem. For example, an error might be occurring while the UE is being configured to initiate a connection with the P-CSCF. Types of errors potentially related to configuring the UE could include, but are not limited to, having an invalid IP address or hostname for the P-CSCF server, which could cause problems that become apparent later during TCP connection establishment and / or IMS registration.
[0057] The disclosed embodiments employ a method that allows for retrying the establishment of a PDU session between the UE and the network (by...). Figure 4 The process implemented in process 400 addresses these concerns. The establishment of a PDU session, described in further detail below, is performed early in the call flow for making voice calls via 5G and for performing the aforementioned settings to configure the UE to connect to the P-CSCF. As mentioned above, for example, the process for establishing a VoNR call can begin with the UE establishing an IMS Data Network Name (DNN) Packet Data Unit (PDU) session in the 5GC as a prerequisite for voice session setup. Specifically for VoNR, this part of the process can be referred to as the PDU session establishment process. For VoLTE, a similar process is used to establish an IMS PDN connection for the UE (inverse of the PDU session in VoNR). Figure 4The process implemented in process 400 is used for both PDU sessions (in the case of VoNR) and IMS PDN connections (in the case of VoLTE). Figure 4 This is a flowchart illustrating an example of process 400, which is an implementation of the above-described processing procedure for a voice call via 5G, according to an embodiment described herein.
[0058] Figure 4 A flowchart illustrating a process 400 stored in a machine-readable storage medium 406 for execution by a hardware processor 404 is provided. The computing component 402 may be as described above. Figure 1 The described 5G-enabled mobile computing device (e.g., a smartphone) is configured to perform the disclosed technologies.
[0059] Process 400 begins at operation 405, where the user initiates a voice call. For example, the user may use a 5G-enabled mobile computing device (i.e., the UE) to make an outgoing voice call, which initiates a call flow for establishing a UE-initiated voice session via 5G NR. As part of the call flow for VoNR, operation 405 may also include performing a PDU session establishment procedure. For the UE to begin its registration with IMS, a PDU session must be established to set the configurations required for IMS registration, as a prerequisite for voice session setup.
[0060] Therefore, as an example, operation 405 could involve the UE sending a PDU session establishment request that initiates the configuration required for the UE to register with IMS. For example, the PDU session establishment request message is requesting PDU settings with DNN="ims" and also requesting an IP address for the P-CSCF for connecting to IMS. Once the network receives the PDU session establishment request message from the UE, the network informs the UE of the requested information (i.e., information about the P-CSCF) and creates the QoS pipeline necessary for the service. The processing implemented by procedure 400 can leverage this function of the PDU session establishment procedure and can recover and / or retransmit the P-CSCF information to the UE, potentially correcting errors related to setting the configuration for the UE to connect to the P-CSCF (e.g., the UE receiving an invalid IP address for one or more P-CSCF servers).
[0061] After the PDU session establishment process is completed, the procedure for IMS registration can begin, which involves setting up a TCP connection between the UE and the P-CSCF. Therefore, after performing the PDU session establishment operation 405, the procedure can continue to operation 410, which determines whether establishing a TCP connection with an available P-CSCF has failed.
[0062] Next, in operation 410, a condition check is performed to determine whether establishing TCP connections with all available P-CSCF servers has failed. In an embodiment, process 400 may include performing the previously described process of attempting to establish TCP connections with multiple available P-CSCF servers in a round-robin scheme. Continuing with this example, operation 410 may determine that the UE is still unable to connect to all available P-CSCF servers after the entire round of the scheme has been completed (in...). Figure 4 (As shown in the diagram as "Yes"), and each attempt to establish a TCP connection with each of the available servers has failed. Therefore, process 400 continues to perform this processing procedure to resolve this type of failure.
[0063] The failure detected in the previous operation 410 may indicate that an error or problem has occurred in the configuration used for the UE to connect to the P-CSCF, because the UE is unable to successfully connect to any P-CSCF server provided by the network during the PDU session establishment process. Therefore, this type of problem can be resolved by retrying the PDU session establishment process. Specifically, in operation 415, the current PDU session associated with the initial PDU session establishment process (of operation 405) is disconnected, and then a PDU session reconnection is performed as a mechanism for recovering the P-CSCF address from the network. In an embodiment, the PDU session is reconnected by the UE sending another PDU session establishment request and thereby performing a subsequent PDU session establishment process. Furthermore, as described above, when processing VoLTE implementation procedure 400, operation 415 involves: disconnecting and then reconnecting the IMS PDN connection.
[0064] If the P-CFCS information is transmitted to the UE in a manner that successfully resolves the TCP connection problem during the PDU session reconnection in operation 415, then procedure 400 can continue. That is, in response to the UE successfully establishing a TCP connection with one of the available P-CSCF servers provided by the network during the PDU session retry establishment process, procedure 400 moves to operation 420. In operation 420, after successfully establishing a TCP connection with the P-CSCF server, a SIP session can be supported to perform the UE's IMS registration. The normal call flow can be executed, and the IMS registration process can complete as expected. Therefore, operation 325 can include performing further actions to initiate the 5G voice call, since the processing flow has resolved the TCP connection failure that could have caused the 5G voice call to drop.
[0065] Returning to operation 410, if it is confirmed that the TCP connections with all available P-CSCF servers have not failed (e.g., the UE has successfully established a TCP connection with at least one available P-CSCF), process 400 can proceed directly to operation 425. In operation 425, call processing operations are performed, which will ultimately result in a voice call via 5G NR (or 4G LTE).
[0066] Now refer to Figure 5 The diagram illustrates a flowchart of another process 500, representing an implementation of a further processing procedure for a voice call via 5G according to an embodiment described herein. Typically, process 500 implements the procedure for handling a voice call when an IMS registration failure occurs on 5G due to a TCP connection failure with the P-CSCF. For example, in any of the problematic operating scenarios described above, the TCP connection failure may not be resolved in a way that completely avoids the UE's IMS registration process failure, leaving the UE unregistered and therefore unable to utilize IMS voice services.
[0067] Procedure 500 can typically be described as follows: If the UE’s IMS registration for all available P-CSCF servers has failed, then LTE or NR is temporarily disabled in order to fall back to the legacy system (i.e., CS RAT). Figure 5 This illustrates process 500, which is stored in a machine-readable storage medium 306 for executable operations performed by a hardware processor 504. The computing component 502 may be as described above. Figure 1 The described 5G-enabled mobile computing device (e.g., a smartphone) is configured to perform the disclosed technologies.
[0068] In operation 505, process 500 begins. In operation 505, the user initiates a voice call. For example, the user may use a 5G-enabled mobile computing device (i.e., the UE) to make an outgoing voice call, thus initiating a call flow to establish a UE-initiated voice session via 5G NR. Then, process 500 continues: in operation 510, a condition check is performed to determine whether the UE's IMS registration has failed. For example, the UE may be unable to establish a TCP connection with any of the multiple available P-CSCF servers. Therefore, the UE cannot (via TCP) set up the required SIP session to complete its IMS registration process. In other words, if the TCP connection with each of the available P-CSCF servers fails, this may ultimately lead to the overall failure of the UE's IMS registration process and the UE's ability to make calls via 5G.
[0069] According to an embodiment, process 500 may include performing one or more of the previously described processing steps for resolving TCP connection failures before performing the check at operation 510. As an example, the UE may attempt to establish TCP connections with multiple available P-CSCF servers in a round-robin pattern. However, as mentioned above, if the UE cannot correctly connect to any available P-CSCF server via TCP, the UE will experience further failures when registering with IMS, which affects the UE's ability to make 5G voice calls via VoLTE or VoNR.
[0070] Then, process 500 continues with: Operation 510 performs a condition check to determine the status of the IMG registration associated with the initiated voice call. Specifically, operation 510 checks to determine whether the UE's IMS registration has failed on 5G. If it is determined that the IMS registration status (as associated with the UE's initial IMS registration request) is "failed" (in... Figure 5 If the value is indicated as "Yes", this indicates a potential IMS registration failure on 5G due to the aforementioned TCP connection failure. Process 500 can perform the following processing flow: in response to detecting an IMS registration failure, it attempts to make a call without requiring IMS registration, rather than waiting until a complete voice call failure occurs due to the UE not being registered. Therefore, process 500 can reduce the number of dropped voice calls on 5G (e.g., improve the success rate of voice calls via 5G). In some cases, operation 510 involves identifying the IMS registration status sent in response to an IMS registration request from the UE. For example, if the IMS registration status includes an "Unregistered" or "Incomplete" status indication, operation 510 can determine that the UE's IMS registration process has failed. In embodiments, operation 510 can employ TCP connection detection capabilities, as previously described, to determine IMS registration failure. For example, after a full round of the loop scheme has been completed, and it has been detected that each attempt to establish a TCP connection with each of the available servers has failed, operation 510 can consider this an indication that IMS registration will also fail. In response to a detected IMS registration failure, process 500 continues to operation 515, where the failure is detected based on identifying the IMS registration status or based on detecting that the UE can no longer connect to all available P-CSCF servers. In this case where the UE has an IMS registration failure, process 500 continues to operation 515 to immediately fall back to the legacy system.
[0071] Subsequently, in Operation 515, 5G NR (or LTE) of the UE can be temporarily disabled, and 2G or 3G RAT / cell selection can be performed. Therefore, by falling back to RAT, CSFB voice service can be initiated. As previously described, the type of voice support in 5G depends on the available Radio Access Technology (RAT). Some deployments can use both PS domain and circuit-switched domain, which allow CSRAT to remain available. Therefore, 2G and 3G CS voice services can still be used in this type of deployment.
[0072] This specific procedure for handling voice calls can leverage this deployment to avoid potential call drops in 5G NR if IMS registration cannot be completed, by directing the UE back to CSFB once an indication of IMS registration failure is detected. CSFB provides a fallback scheme to enable switching from NR (or LTE) to 2G or 3G circuit-switched voice during voice connection setup. CSFB does not require IMS-based voice support and therefore eliminates the requirement for IMS registration (required for voice calls via 5G NR) for voice calls. Furthermore, a defined time period can exist for NR or LTE to be temporarily disabled for the UE. For example, this time period can allow sufficient time to complete the voice call using CSFB before NR and LTE are re-enabled. Alternatively, NR or LTE may remain disabled based on variables other than time (e.g., user mobility).
[0073] Returning to operation 510, if the IMS registration status is confirmed to be "complete", process 500 can proceed to operation 525. In operation 525, a call processing action is performed, which will ultimately enable a voice call via 5G NR or 4G LTE because the UE's IMS registration process has been successfully completed (e.g., the UE registers with IMS), thus enabling its voice capability via 5G.
[0074] After the UE-initiated voice call is completed, process 500 can proceed to operation 520. Operation 520 involves disconnecting the call via CSFB and re-enabling NR on the UE. After re-enabling NR, handover from CS RAT can return to 5G NR. Because NR (or LTE) is only temporarily disabled, the UE can return to 5G NR (or 4G LTE) and subsequently retry registration with IMS. Therefore, even if CSFB is required to establish a single voice call, the UE does not have to continue operating using CS RAT. Once the UE is able to successfully register with IMS, this process allows the UE to retry its IMS registration process via 5G and then make any subsequent voice calls via 5G NR, which provides users with enhanced voice services (e.g., HD voice).
[0075] Figure 6 A block diagram depicts an example computer system 600 that can implement the various features described herein. The computer system 600 includes: a bus 602 or other communication mechanism for transmitting information; and one or more hardware processors 604 connected to the bus 602 for processing information. The hardware processors 604 may be, for example, one or more general-purpose microprocessors.
[0076] Computer system 600 also includes main memory 606 (e.g., random access memory (RAM), cache, and / or other dynamic storage devices), which is connected to bus 602 for storing information and instructions to be executed by processor 604. Main memory 606 can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by processor 604. When such instructions are stored in a storage medium accessible to processor 604, computer system 600 presents itself as a dedicated machine tailored to perform the operations specified in the instructions.
[0077] Computer system 600 also includes read-only memory (ROM) 608 or other static storage device connected to bus 602 for storing static information and instructions for processor 604. Storage device 610 (e.g., disk, optical disk, or USB thumb drive (flash drive)) is provided and connected to bus 602 for storing information and instructions.
[0078] Computer system 600 can be connected to display 612 (e.g., liquid crystal display (LCD) (or touchscreen)) via bus 602 for displaying information to a computer user. Input device 614, including alphanumeric and other keys, is connected to bus 602 for transmitting information and command selections to processor 604. Another type of user input device is cursor control 616 (e.g., mouse, trackball, or arrow keys) for transmitting directional information and command selections to processor 604 and for controlling cursor movement on display 612. In some embodiments, the same directional information and command selections as with cursor control can be achieved by receiving touches on a touchscreen without a cursor.
[0079] The computing system 600 may include a user interface module to implement a GUI that can be stored in a mass storage device as executable software code to be executed by the computing device. By way of example, this module and other modules may include components (e.g., software components, object-oriented software components, class components, and task components), processes, functions, properties, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0080] Generally, the terms “component,” “engine,” “system,” “database,” and “data storage” used herein can refer to logic embodied in hardware or firmware, or to a set of software instructions that may have entry and exit points written in a programming language (e.g., Java, C, or C++). Software components can be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language (e.g., BASIC, Perl, or Python). It should 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 (e.g., optical discs, digital video discs, flash drives, magnetic disks, or any other tangible media), or can be provided as digital downloads (and can be initially stored in a compressed or installable format that requires installation, decompression, or decryption before execution). The software code can be stored, in part or in whole, on a storage device executing the computing device for execution by the computing device. Software instructions can be embedded in firmware (e.g., EPROM). It should be further understood that the hardware components may include connected logic units (e.g., gates and toggle flip-flops), and / or may include programmable units (e.g., programmable gate arrays or processors).
[0081] Computer system 600 can implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or combinations thereof to generate or program program logic for a dedicated machine. According to one embodiment, computer system 600 performs the techniques described herein in response to processor 604 executing one or more sequences of one or more instructions contained in main memory 606. These instructions may be read into main memory 606 from another storage medium (e.g., storage device 610). Executing the sequence of instructions contained in main memory 606 causes processor 604 to perform the processing steps described herein. In alternative embodiments, hardwired circuitry may be used instead of or in combination with software instructions.
[0082] 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. These non-transitory media can include non-volatile media and / or volatile media. Non-volatile media include, for example, optical discs or magnetic disks (e.g., storage device 910). Volatile media include dynamic memory (e.g., main memory 606). Common forms of non-transitory media include, for example, floppy disks, flexible 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 memory cartridges and their network versions.
[0083] Non-transitory media are distinct from transmission media, but can be used in conjunction with them. Transmission media participate in the transfer of information between non-transitory media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including conductors containing bus 902. Transmission media can also take the form of sound waves or light waves (e.g., waves generated during radio wave and infrared data communication).
[0084] Computer system 600 also includes a communication interface 618, which is connected to bus 602. Communication interface 618 provides bidirectional data communication coupled to one or more network links connected to one or more local networks. For example, communication interface 618 may be an Integrated Services Digital Network (ISDN) card, cable modem, satellite modem, or modem to provide data communication connectivity with a corresponding type of telephone line. As another example, communication interface 618 may be a Local Area Network (LAN) card to provide data communication connectivity with a compatible LAN (or a WAN component communicating with a WAN). Wireless links may also be implemented. In any such implementation, communication interface 618 transmits and receives electrical, electromagnetic, or optical signals carrying streams of digital data representing various types of information.
[0085] A network link typically provides 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. The ISP, in turn, provides data communication services through a global packet data communication network now commonly referred to as the "Internet." Both local networks and the Internet use electrical, electromagnetic, or optical signals carrying digital data streams. Examples of transmission media include signals carrying digital signals to and from computer system 900 and computer system 600, signals passing through various networks, and signals on network links and through communication interface 618.
[0086] Computer system 600 can send messages and receive data including program code via a network, network link, and communication interface 618. In the Internet example, the server can send requested code for an application via the Internet, ISP, local network, and communication interface 618.
[0087] The received code, upon receipt, can be executed by processor 604 and / or stored in storage device 610 or other non-volatile memory for subsequent execution.
[0088] Each of the processes, methods, and algorithms described above can be embodied in a code component executed by one or more computer systems or computer processors, including computer hardware, and can be fully or partially automated by them. The one or more computer systems or computer processors can also be operated to support the performance of related operations in a “cloud computing” environment or as “Software as a Service” (SaaS). Processes and algorithms can be implemented partially or entirely in a dedicated circuit. 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 specific method or process blocks may be omitted in some implementations. The methods and processes described herein are not limited to any particular order, and the blocks or states associated with them can be executed in a suitable other order, or can be executed in parallel, or in some other way. Blocks or states can be added to or removed from the disclosed exemplary embodiments. The execution of a particular operation or process can be distributed among computer systems or computer processors, residing not only within a single machine but also deployed across several machines.
[0089] 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 a circuit. In implementation, 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. Even if elements of various features or functions can be described individually or claimed as separate circuits, these features and functions can be shared among one or more common circuits, and the description should not require or imply the need for separate circuits to implement these features or functions. When circuits are implemented wholly or partially using software, the software can be implemented as operating on a computing or processing system (e.g., computer system 600) capable of performing the functions described herein.
[0090] As used herein, the term “or” can be interpreted in an inclusive or exclusionary sense. Furthermore, resources, operations, or structures described in the singular should not be construed as excluding the plural. Conditional language (e.g., “can,” “able,” “may,” or “may,” etc.) is generally intended to convey that a particular embodiment includes certain features, elements, and / or steps that are not included in other embodiments, unless otherwise expressly stated or otherwise understood within the context in which it is used.
[0091] Unless otherwise expressly stated, the terms and phrases used in this document, and their variations thereof, should be interpreted as open-ended rather than restrictive. Adjectives such as “traditional,” “regular,” “normal,” “standard,” “known,” and terms with similar meanings should not be interpreted as limiting the described items to those available for a given period of time or up to a given time, but rather as encompassing traditional, regular, normal, or standard techniques available or known at any time now or in the future. The presence of extended words and phrases in some instances (e.g., “one or more,” “at least,” “but not limited to,” or other similar phrases) should not be interpreted as indicating an intention or need for a narrower scope in instances where these extended phrases may be omitted.
Claims
1. A computer-implemented method, comprising: Initiating a voice call, wherein the voice call includes a voice session initiated via 5G New Radio (NR) through a user equipment (UE); In response to the failure of the first connection to the Initial Proxy Call Session Control Function (P-CSCF) server, an auxiliary P-CSCF server is selected from a plurality of P-CSCF servers, wherein each of the plurality of P-CSCF servers is available for connection to the UE; and An attempt is made to establish a second connection with the selected auxiliary P-CSCF server, wherein the second connection supports registration with the IP Multimedia Subsystem (IMS) for the UE to make the voice call as the voice session via 5G NR; The selection of an auxiliary P-CSCF server from multiple P-CSCF servers is based on a round-robin scheme; in response to the failure of the UE to connect to each of the multiple P-CSCF servers, the Protocol Data Unit (PDU) session associated with the UE's registration with the IMS is disconnected; and a subsequent PDU session establishment process is performed to reconnect the PDU session to restore the P-CSCF address corresponding to the initial P-CSCF server and the multiple P-CSCF servers.
2. The computer-implemented method as described in claim 1, further comprising: In response to the success of the second connection with the selected auxiliary P-CSCF server, the action of making the voice call as the voice session via 5G NR is performed.
3. The computer-implemented method as described in claim 2, wherein, The second connection to the selected auxiliary P-CSCF server is a Transmission Control Protocol (TCP) connection.
4. The computer-implemented method as described in claim 3, wherein, Performing the action of making the voice call as the voice session via 5G NR includes: A Session Initiation Protocol (SIP) session is established via the TCP connection, wherein the SIP session supports the UE's registration with the IMS.
5. The computer-implemented method as described in claim 4, wherein, The failure of the first connection to the initial P-CSCF server includes: identifying a TCP timeout.
6. The computer-implemented method as described in claim 1, further comprising: Maintain a count of the number of failed connections to the initial P-CSCF server; as well as In response to the count reaching a defined threshold, the initial P-CSCF server is placed on a blacklist associated with the registration of the IMS for the UE.
7. The computer-implemented method as described in claim 1, wherein, The initial P-CSCF server and the plurality of P-CSCF servers are deployed on the IMS infrastructure.
8. The computer-implemented method as described in claim 1, further comprising: In response to the failure of the registration for the IMS for the UE, 5G NR on the UE is temporarily disabled; Complete the selection of the 2G or 3G radio access technology (RAT) for the UE; This causes circuit domain fallback (CSFB); and The voice call is made using circuit-switched voice service.
9. The computer-implemented method as described in claim 8, wherein, The failure of the UE's registration with the IMS is based on the UE's inability to connect to each of the plurality of P-CSCF servers.
10. The computer-implemented method of claim 8, further comprising: Re-enable the 5G NR.
11. The computer-implemented method of claim 8, further comprising: Before establishing a connection with the Proxy Call Session Control Function (P-CSCF) server for the UE, an Internet Control Message Protocol (ICMP) message is sent to the P-CSCF.
12. The computer-implemented method of claim 11, further comprising: Determine whether to receive an ICMP response message from the P-CSCF server in response to the ICMP message, wherein receiving the ICMP response message confirms the availability of the P-CSCF server; and In response to successfully receiving the ICMP response message to confirm the availability of the P-CSCF server, a connection is established with the P-CSCF server.
13. The computer-implemented method as described in claim 11, wherein, The ICMP message is a ping packet, and the ICMP response is a ping packet response.
14. The computer-implemented method of claim 13, further comprising: In response to the determination that the ICMP response message has not been received, ping packets continue to be sent to the P-CSCF until a ping packet response is successfully received or until the defined time period expires.
15. The computer-implemented method as described in claim 12, wherein, The connection to the P-CSCF server is a Transmission Control Protocol (TCP) connection.
16. The computer-implemented method of claim 15, further comprising: A Session Initiation Protocol (SIP) session is established via the TCP connection, wherein the SIP session supports registration with the IP Multimedia Subsystem (IMS) for the UE to make the voice call as the voice session via 5G NR; and Perform the action of making the voice call as the voice session via 5G NR.
17. A computer system, comprising: One or more processors; and A memory having instructions stored thereon that, when executed by the one or more processors, cause the processors to perform the following: Initiating a voice call, wherein the voice call includes a voice session initiated via 5G New Radio (NR) through a user equipment (UE); In response to the failure of the first connection with the Initial Proxy Call Session Control Function (P-CSCF) server, an auxiliary P-CSCF server is selected from a plurality of P-CSCF servers, wherein each of the plurality of P-CSCF servers is available for connection to the UE; and An attempt is made to establish a second connection with the selected auxiliary P-CSCF server, wherein the second connection supports registration with the IP Multimedia Subsystem (IMS) for the UE to make the voice call as the voice session via 5G NR; The selection of an auxiliary P-CSCF server from multiple P-CSCF servers is based on a round-robin scheme; in response to the failure of the UE to connect to each of the multiple P-CSCF servers, the Protocol Data Unit (PDU) session associated with the UE's registration with the IMS is disconnected; and a subsequent PDU session establishment process is performed to reconnect the PDU session to restore the P-CSCF address corresponding to the initial P-CSCF server and the multiple P-CSCF servers.
18. The computer system of claim 17, wherein, The computer system is a 5G-enabled mobile computing device.
Citation Information
Patent Citations
Session initiation protocol registration with ping
CN101816161A
Enhanced p-CSCF restoration procedure
CN112272936A
SIP Call Continuity Upon Failure
US20180132291A1