Abstract:
A method for call processing comprising processing telecommunications data with an Over-The-Top (OTT) client on a handset, determining whether to use a voice over long term evolution (VoLTE) client or a WiFi client in response to an operational change and reconfiguring the handset to use the VoLTE client or the WiFi client if the determination is made to use the VoLTE client or the WiFi client, respectively.

Description:
RELATED APPLICATIONS 
       [0001]    The present application claims priority to U.S. Provisional Patent Application No. 62/266,325, filed Dec. 11, 2015, which is hereby incorporated by reference for all purposes, as if set forth herein in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    The present disclosure relates generally to telecommunications, and more specifically to a co-existence mechanism for an Over-The-Top (OTT) downloadable voice application client and native embedded Voice over LTE (VoLTE) client or Voice over WiFi (VoWiFi) client in a mobile operator network. 
       BACKGROUND OF THE INVENTION 
       [0003]    Systems and methods for call setup and routing are known. In a system that includes a cellular services provider that use the Long Term Evolution (LTE) standard or for devices that are compatible with WiFi or other network standards, an OTT downloadable voice client can be installed by the user, where OTT refers to voice and data that is transmitted over the Internet packet switched network and without carrier involvement in quality of service or call management, but these downloadable voice clients are not compatible with network calls. 
       SUMMARY OF THE INVENTION 
       [0004]    A system and method for call processing is disclosed that includes processing telecommunications data with an OTT client on a handset, such as by downloading the client, configuring the client, and sending or receiving a call with the client. It is then determined whether to use a VoLTE client or a WiFi client in response to an operational change. The handset is reconfigured to use the VoLTE client or the WiFi client if the determination is made to use the VoLTE client or the WiFi client, respectively. 
         [0005]    Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0006]    Aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings may be to scale, but emphasis is placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views, and in which: 
           [0007]      FIG. 1  is a diagram of a system for providing third-party messaging, voice and video calling clients, in accordance with an exemplary embodiment of the present disclosure; 
           [0008]      FIG. 2  is a diagram of an algorithm for initial registration of an OTT client, in accordance with an exemplary embodiment of the present disclosure; 
           [0009]      FIG. 3  is a diagram of an algorithm for registering a VoLTE client or VoWiFi client after an OTT client registers, in accordance with an exemplary embodiment of the present disclosure; 
           [0010]      FIG. 4  is a diagram of an algorithm for registering a VoLTE client or a VoWiFi client when an OTT client has already registered and is on a voice call, in accordance with an exemplary embodiment of the present disclosure; 
           [0011]      FIG. 5  is a diagram of an algorithm for supporting a transition from a native VoLTE client to an OTT client as a result of a coverage change, in accordance with an exemplary embodiment of the present disclosure; and 
           [0012]      FIG. 6  is a diagram of an algorithm for processing an incoming call when a native VoLTE client enters into an LTE service area and an OTT client is engaged in a call, in accordance with an exemplary embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0013]    In the description that follows, like parts are marked throughout the specification and drawings with the same reference numerals. The drawing figures may be to scale and certain components can be shown in generalized or schematic form and identified by commercial designations in the interest of clarity and conciseness. 
         [0014]    As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
         [0015]    As used herein, “hardware” can include a combination of discrete components, an integrated circuit, an application-specific integrated circuit, a field programmable gate array, or other suitable hardware. As used herein, “software” can include one or more objects, agents, threads, lines of code, subroutines, separate software applications, two or more lines of code or other suitable software structures operating in two or more software applications, on one or more processors (where a processor includes one or more microcomputers or other suitable data processing units, memory devices, input-output devices, displays, data input devices such as a keyboard or a mouse, peripherals such as printers and speakers, associated drivers, control cards, power sources, network devices, docking station devices, or other suitable devices operating under control of software systems in conjunction with the processor or other devices), or other suitable software structures. In one exemplary embodiment, software can include one or more lines of code or other suitable software structures operating in a general purpose software application, such as an operating system, and one or more lines of code or other suitable software structures operating in a specific purpose software application. As used herein, the term “couple” and its cognate terms, such as “couples” and “coupled,” can include a physical connection (such as a copper conductor), a virtual connection (such as through randomly assigned memory locations of a data memory device), a logical connection (such as through logical gates of a semiconducting device), other suitable connections, or a suitable combination of such connections. 
         [0016]    Today, there are many OTT third party client applications on the market that can provide voice, messaging and video capabilities to mobile customers. Some third party applications even offer an integrated dialer user interface to provide a seamless voice calling experience to end users, as if they are calling from a native embedded voice dialer on the handsets. These third party systems suffer from many problems, primarily in regards to service reliability and support. A cellular service provider is in a position to offer better service reliability and support in conjunction with an OTT client application, by integrating the OTT client application functionality with a native VoLTE client or VoWiFi client that is provided with the handset, either by the original equipment manufacturer (OEM) or the cellular service provider, such that the handset can switch seamlessly between different media and system functionalities. In this manner, a user making a call or using other services will not suffer interruption and will have greater satisfaction and security than can be offered by other OTT service providers. The OTT application can be offered by the cellular service provider, the cellular service provider can allow OTT application providers to interact with the cellular service provider&#39;s carrier controlled environment, or other configurations can be used to provide the disclosed system functionality. 
         [0017]      FIG. 1  is a diagram of a system  100  for providing third-party messaging, voice and video calling clients, in accordance with an exemplary embodiment of the present disclosure. System  100  allows user devices to communicate with an application server, such as one that is located in a third party controlled environment or that can be hosted by the cellular services provider, using the data network provided by the wireless operators as underlying infrastructure. 
         [0018]    System  100  includes handset  102 , which can be a user device such as a smart phone, a smart watch, a tablet computer or other suitable devices that are used to communicate audio data, video data or other suitable data. Handset  102  includes OTT client  110 , VoLTE client  112  and VoWiFi client  114 , each of which can be implemented in hardware or a suitable combination of hardware and software. OTT client  110  can be provided by a third party or the cellular service provider, but VoLTE client  112  and VoWiFi client  114  are typically provided by the OEM or the cellular service provider. 
         [0019]    Handset  102  is coupled to carrier controlled environment  104  over communications medium  132 , which can be a WIFI network, an LTE network, an Internet network, an Ethernet network, other suitable communications media or a suitable combination of such communications media. Carrier controlled environment  104  includes carrier OTT server  116  and carrier core network  118 , each of which can be implemented in hardware or a suitable combination of hardware and software. Carrier OTT server  116  can provide OTT client  110  services when those services are hosted by the cellular services provider, or can provide support for third party OTT service providers when they are authorized by the cellular services provider. Carrier core network  118  provides core network functionality, including base station radio network functionality, base station controller (BSC) functionality, mobile switching center (MSC) functionality and other carrier core network functionality. 
         [0020]    Carrier controlled environment  104  is coupled to third party system  106  over communications medium  134 , which can be a tier  1  network, a tier  2  network, a tier  3  network or other suitable communications media, as discussed above. Third party system  106  includes session server  120 , voice over Internet protocol (VOIP) and IMS server  122 , auto configuration server  124  and other suitable servers that are used to support OTT client  110 , each of which can be implemented in hardware or a suitable combination of hardware and software. 
         [0021]    Third party system  106  is coupled to provisioning system  108  over communications medium  136 , which can be a tier  1  network, a tier  2  network, a tier  3  network or other suitable communications media, as discussed above. Third party system  106  includes business support system  126  and operation support system  128 , each of which can be implemented in hardware or a suitable combination of hardware and software. 
         [0022]    System  100  can be implemented in accordance with the 2G/3G/4G cellular network, a WiFi data network or other suitable networks as described above, and is configured to operation in a manner that is transparent to OTT client  110 , VoLTE client  112  or VoWiFi client  114 . Handset  102  can communicate with third party system  106  or other suitable systems using a virtual private network, encryption for security, or in other suitable manners. 
         [0023]    A cellular operator can use carrier controlled environment  104  or other suitable systems to provide OTT messaging, voice and video calling applications using OTT client  110 , VoLTE client  112  and VoWiFi client  114 , by coupling those clients to compete with third party application providers. 
         [0024]    System  100  provides an integrated solution with OTT client  110 , VoLTE client  112  and VoWiFi client  114  of handset  102 , using carrier controlled environment  104 , third party system  106  and provisioning system  108  and their associated component systems. In system  100 , handset  102  uses the same Mobile Station International Subscriber Directory Number (MSISDN), which is effectively a telephone number that uniquely identifies handset  102 , to make and receive calls, whether the call is going through the cellular voice network, such as carrier controlled environment  104 , using a traditional original equipment manufacturer (OEM) client such as VoLTE client  112 , or through the cellular network or a wireless data network, using OTT client  110  or VoWiFi client  114 . A call can be initiated from any suitable control, regardless of whether it is a control from the OEM or one that is provided by an application. For example, an OEM device can be provided with a green “talk” button that can be used to instantiate a data communications session, and OTT client  110 , VoLTE client  112  and/or VoWiFi client  114  can intelligently choose the correct communications medium based on predefined criteria, by implementing the algorithmic controls disclosed herein or other suitable variations of those controls that fall within the scope of the claims. 
         [0025]    The disclosed architecture provides for improved session mobility over prior art systems, which typically do not provide for any session mobility at all. Because the same core network is used, a transition from a call that is placed over a WiFi network to a call on the LTE network can be accomplished, because the different calling systems can be coordinated. Thus, when a user places a call over a WiFi network, such as when the user is at home and is using a secure WiFi network in order to place a call using a less expensive calling mechanism, the user can then leave the secure WiFi environment and continue the call in the LTE environment without dropping the call. 
         [0026]    In addition, a handset  102  that does not have built-in voice calling capabilities, such as a tablet computer, can be connected to the cellular network for services such as messaging, voice calling and video calling, and can receive an officially allocated MSISDN that allows the handset  102  to be located by a caller using existing infrastructure systems, such as the cellular service provider BSCs and MSC, and does not require the caller to have a third party application or to be configured to communicate over the third party application, such as to know the called party&#39;s unique identifier for that third party application. 
         [0027]    Using a cellular call processing system service such as instant messaging presents an implementation challenge when end users download OTT client  110  to a handset  102  that already has an OEM/native embedded VoLTE client  112  or VoWiFi client  114  installed. Since both OTT client  110  and VoLTE client  112  or VoWiFi client  114  register into the same cellular IMS system using the same MSISDN number, an additional co-existence mechanism is needed at handset  102  to provide for seamless transitioning, reliability and security, as well as to provide and control the terms and conditions by which handset  102  will interact with the cellular system, to allow the cellular system to route a received call and to determine which client to use for the end users to make a call. For example, if a handset  102  is in an LTE service zone, a caller needs to be able to locate that handset, and then if the handset  102  transits into a WiFi zone during that call, the handset  102  needs to be able to maintain the call without service interruption. The determination of priority and all associated signaling and routing mechanisms related to the mobile cellular core IMS networks to make the end customer&#39;s voice calling experience seamless is provided by the present disclosure. 
         [0028]    In order to accomplish this objective, VoLTE client  112  or VoWiFi client  114  can take priority over OTT client  110 , and OTT client  110  can detect and disengage when VoLTE client  112  or VoWiFi client  114  is registered with the same user in the mobile network. OTT client  110  over WiFi access can be registered at the same time when VoLTE client  112  has also registered. However, whenever VoWiFi client  114  is registered, OTT client  110  can either not register, de-register or can take other appropriate actions to prevent misoperation. 
         [0029]      FIG. 2  is a diagram of an algorithm  200  for initial registration of an OTT client, in accordance with an exemplary embodiment of the present disclosure. Algorithm  200  can be implemented in hardware or a suitable combination of hardware and software. 
         [0030]    Algorithm  200  can be utilized when an end user launches an OTT client on the handset where a native VoLTE client or VoWiFi client have already registered, where the handset is an LTE-only handset and has no voice capability, or in other suitable manners. After an identification of the associated system components, those system components utilize the disclosed algorithm to implement the calling environment. Algorithm  200  is exemplary, and other suitable steps, processes, procedures or applications can be utilized in conjunction with the associated process steps. 
         [0031]    Algorithm  200  begins at  202 , where a client OTT application is initiated on a handset, such as in conjunction with an associated OTT server, carrier core network components, a session server, a VOIP/IMS server, an auto configuration server, a business support system, an operation support system or other suitable systems, and a network access type is determined, such as an LTE or WiFi network. In one exemplary embodiment, a system such as system  100  can be utilized, and a device such as handset  102  using OTT client  110  operating in conjunction with other disclosed system components can be used to determine the network access type, or other suitable processes can also or alternatively be used. The OTT client will typically be configured by the OTT server, but can also or alternatively be configured by the carrier core network components, a session server, a VOIP/IMS server, an auto configuration server, a business support system, an operation support system or other suitable systems, and location of this algorithmic function in any of those system components is contemplated by the present disclosure. These components can also or alternatively be used to implement the algorithmic components of the disclosed algorithms, as would be understood by one of ordinary skill, and this will not be repeated for each algorithm component. For example, a business support system  126 , an operation support system  128  or other systems can be involved with the initiation of the OTT client, and may be called as part of the initiation process, unlike the prior art, which might only utilize a session server, a VOIP/IMS server, and an auto configuration server to configure the OTT client. By coordinating the initiation of the OTT client with the other system components, the remaining algorithmic steps can be performed. The algorithm then proceeds to  204 . 
         [0032]    At  204 , the client application registers with the mobile network and subscribes to a registration event to get network notifications. In one exemplary embodiment, the subscription can be performed using carrier OTT server  116 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  206 . 
         [0033]    At  206 , it is determined whether a native voice client has already been registered for the same user. For example, a native voice client such as VoLTE client  112  or VoWiFi client  114  of handset  102  can already have been registered, or other suitable native voice clients can already have been registered, and this is determined, such as at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein If it is determined that a native voice client has not registered, the algorithm proceeds to  212  where the current registration of the OTT client is maintained. Otherwise the algorithm proceeds to  208 . 
         [0034]    At  208 , it is determined whether the native voice client is a VoLTE client, such as VoLTE client  112 , or a VoWiFi client, such as VoWiFi client  114 . If it is determined that the native voice client is a VoWiFi client, such as at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein, the algorithm proceeds to  214  where the OTT client deregisters. Otherwise, the algorithm proceeds to  210 . 
         [0035]    At  210 , it is determined whether the native voice client is using LTE access or WiFi access, such as at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. Likewise, other suitable determinations can be made, based on the type of wireless access available at the time or in the specific geographic location. If it is determined that the access mode is WiFi, the algorithm proceeds to  212  where the OTT client is maintained. Otherwise, the algorithm proceeds to  216 , where the OTT client de-registers. In addition, the handset can “permanently” de-register the OTT client for LTE network access, such as by setting a suitable state variable or in other suitable manners. 
         [0036]    Although algorithm  200  is shown in flow chart format, one of ordinary skill will understand that object oriented programming, state transition diagrams or other suitable programming paradigms can also or alternatively be used. 
         [0037]      FIG. 3  is a diagram of an algorithm  300  for registering a VoLTE client or VoWiFi client after an OTT client registers, in accordance with an exemplary embodiment of the present disclosure. Algorithm  300  can be implemented in hardware or a suitable combination of hardware and software. 
         [0038]    Algorithm  300  can be used when a client such as OTT client  110  has already registered, and the native VoLTE client or VoWiFi client enters into LTE coverage or WiFi coverage. Algorithm  300  identifies the associated system components, and algorithmic processes that are performed by those system components, using algorithms implemented in hardware or a suitable combination of hardware and software. The diagram is exemplary, and other suitable steps, processes, procedures or applications can be utilized in conjunction with the associated process steps. 
         [0039]    Algorithm  300  begins at  302 , where a client application is initiated and a network access type is determined, such as an LTE or WiFi network. In one exemplary embodiment, a system such as system  100  can be utilized, and a device such as handset  102  using OTT client  110 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein can be used to determine the network access type, or other suitable processes can also or alternatively be used. The algorithm then proceeds to  304 . 
         [0040]    At  304 , the client application registers with the mobile network and subscribes to a registration event to get network notifications. In one exemplary embodiment, the subscription can be performed using carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  306 . 
         [0041]    At  306 , it is determined that no VoLTE client or VoWiFi client has registered for the same user, such as at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein, and the algorithm proceeds to  308 , where the registration is maintained. The algorithm then proceeds to  310 . 
         [0042]    At  310 , the handset is moved into an LTE coverage area or a trusted WiFi coverage area, which can trigger the VoLTE client or the VoWiFi client to register, respectively. Registration can be performed using handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. After the registration process is initiated, the algorithm proceeds to  312 . 
         [0043]    At  312 , the network sends a registration event, such as by using carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein, which also notifies the OTT client that the other client (the VoLTE client or the VoWiFi client) has initiated registration. The algorithm then proceeds to  314 . 
         [0044]    At  314 , it is determined whether the client that is attempting to register is a VoLTE client  112  or VoWiFi client  114  of handset  102 , or other suitable native voice clients can also or alternatively registered, and this can be determined at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. If it is determined that the client is a VoWiFi client, the algorithm proceeds to  318  where the OTT client de-registers. Otherwise the algorithm proceeds to  316 . 
         [0045]    At  316 , it is determined whether the native voice client, such as OTT client  110 , is using LTE access or WiFi access, such as by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. Likewise, other suitable determinations can be made, based on the type of wireless access available at the time or in the specific geographic location. If it is determined that the access mode is WiFi, the algorithm proceeds to  322  where the OTT client is maintained. Otherwise, the algorithm proceeds to  320 , where the OTT client de-registers because the VoLTE client, such as VoLTE client  112 , has registered. In addition, the handset can “permanently” de-register the OTT client, such as by setting a suitable state variable or in other suitable manners. 
         [0046]    Although algorithm  300  is shown in flow chart format, one of ordinary skill will understand that object oriented programming, state transition diagrams or other suitable programming paradigms can also or alternatively be used. 
         [0047]      FIG. 4  is a diagram of an algorithm  400  for registering a VoLTE client or a VoWiFi client when an OTT client has already registered and is on a voice call, in accordance with an exemplary embodiment of the present disclosure. Algorithm  400  can be implemented in hardware or a suitable combination of hardware and software. 
         [0048]    Algorithm  400  can be used when a client such as OTT client  110  has already registered and is on a call, and the native VoLTE client or VoWiFi client enters into LTE coverage or trusted WiFi coverage. Algorithm  400  identifies the associated system components, and algorithmic processes that are performed by those system components, using algorithms implemented in hardware or a suitable combination of hardware and software. The diagram is exemplary, and other suitable steps, processes, procedures or applications can be utilized in conjunction with the associated process steps. 
         [0049]    Algorithm  400  begins at  402 , where a client application is initiated and a network access type is determined, such as an LTE or WiFi network. In one exemplary embodiment, a system such as system  100  can be utilized, and a device such as handset  102  using OTT client  110 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein can be used to determine the network access type, or other suitable processes can also or alternatively be used. The algorithm then proceeds to  404 . 
         [0050]    At  404 , the client application registers with the mobile network and subscribes to a registration event to get network notifications. In one exemplary embodiment, the subscription can be performed using carrier OTT server  116 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  406 . 
         [0051]    At  406 , it is determined that no VoLTE client or VoWiFi client has registered for the same user, such as using handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein, and the algorithm proceeds to  408 , where the registration is maintained. The algorithm then proceeds to  410 . 
         [0052]    At  410 , the end user enters into a call with the OTT client. In one exemplary embodiment, the end user can place a call with the OTT client. In another exemplary embodiment, the end user can be called by a remote user using the OTT client, or other suitable processes can also or alternatively be used. The algorithm then proceeds to  412 . 
         [0053]    At  412 , the handset is moved into an LTE coverage area or a trusted WiFi coverage area, which can trigger the VoLTE client or the VoWiFi client to register, respectively. After the registration process is initiated, the algorithm proceeds to  414 . 
         [0054]    At  414 , the network sends a registration event, which also notifies the OTT client that the other client (the VoLTE client or the VoWiFi client) has initiated registration, such as by using carrier OTT server  116 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  416 . 
         [0055]    At  416 , the mobile network determines that the call should be allowed to continue, such as using carrier OTT server  116 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. In one exemplary embodiment, the local network can determine whether a class of service allows the call to continue to completion, or other suitable processes can also or alternatively be used. The algorithm then proceeds to  418 . 
         [0056]    At  418 , it is determined whether the client that is attempting to register is a VoLTE client  112  or VoWiFi client  114  of handset  102 , or other suitable native voice clients can also or alternatively registered, and this can be determined at handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. If it is determined that the client is a VoWiFi client, the algorithm proceeds to  420  where the OTT client de-registers. Otherwise the algorithm proceeds to  422 . 
         [0057]    At  422 , it is determined whether the native voice client, such as OTT client  110 , is using LTE access or WiFi access. Likewise, other suitable determinations can be made, based on the type of wireless access available at the time or in the specific geographic location. If it is determined that the access mode is WiFi, the algorithm proceeds to  424  where the OTT client is maintained. Otherwise, the algorithm proceeds to  426 , where the OTT client de-registers and the registered VoLTE client is used. In addition, the handset can “permanently” de-register the OTT client, such as by setting a suitable state variable or in other suitable manners. 
         [0058]    Although algorithm  400  is shown in flow chart format, one of ordinary skill will understand that object oriented programming, state transition diagrams or other suitable programming paradigms can also or alternatively be used. 
         [0059]      FIG. 5  is a diagram of an algorithm for supporting a transition from a native VoLTE client to an OTT client as a result of a coverage change, in accordance with an exemplary embodiment of the present disclosure. 
         [0060]    Algorithm  500  can be used when a native VoLTE handset without VoWiFi capability moves out of the LTE coverage area into the WiFi coverage area. In this scenario, the OTT client acts like the native VoWiFi client. Algorithm  500  includes an identification of the associated system components, and algorithmic processes that are performed by those system components, using algorithms implemented in hardware or a suitable combination of hardware and software. The diagram is exemplary, and other suitable steps, processes, procedures or applications can be utilized in conjunction with the associated process steps. 
         [0061]    Algorithm  500  begins at  502 , where a handset is located in an LTE coverage area. The algorithm proceeds to  504 . 
         [0062]    At  504 , the handset is set to use the native VoLTE client, such as by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The OTT client de-registers, and a flag can be set or other suitable processes can be used to never register the OTT client over LTE during the handset lifetime. The algorithm then proceeds to  506 . 
         [0063]    At  506 , the native VoLTE client is selected as the default client to receive and make a voice call, such as by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. In one exemplary embodiment, the voice call can be a call that is initiated by the user, but the call can also be an incoming call that is received by the user or other suitable processes can also or alternatively be used, such as three-way or conference calling. The algorithm then proceeds to  508 . 
         [0064]    At  508 , the handset enters a trusted WiFi coverage area. In one exemplary embodiment, the transition can be initiated when the trusted WiFi coverage area has a stronger signal strength than the LTE signal strength, when the trusted WiFi coverage area is greater than a minimum level for a predetermined period of time, or in other suitable manners. The algorithm then proceeds to  510 . 
         [0065]    At  510 , the OTT client is triggered to register into the network, and becomes the default voice client. In one exemplary embodiment, the transition to the WiFi network can include a command to handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein, to register the OTT client, or other suitable processes can also or alternatively be used. The algorithm then proceeds to  512 . 
         [0066]    At  512 , the native VoLTE client disconnects or is de-registered, such as by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. In one exemplary embodiment, the transition to the WiFi network can include a command to disconnect or de-register the VoLTE client, such as using a command executed by the handset, a command generated by carrier controlled environment  104  or in other suitable manners. 
         [0067]    Although algorithm  500  is shown as a flow chart, the algorithm can be implemented using an objected-oriented process, a state diagram, or other suitable processes. The text portions of the process are incorporated by reference into this disclosure for all purposes. 
         [0068]      FIG. 6  is a diagram of an algorithm  600  for processing an incoming call when a native VoLTE client enters into an LTE service area and an OTT client is engaged in a call, in accordance with an exemplary embodiment of the present disclosure. 
         [0069]    In one exemplary embodiment, when the native VoLTE client has registered through LTE access and the OTT client has registered through WiFi access and been in a call, the following exemplary algorithm can be used to provide a co-existence mechanism. The algorithm includes an identification of the associated system components, and algorithmic processes that are performed by those system components, using algorithms implemented in hardware or a suitable combination of hardware and software. The diagram is exemplary, and other suitable steps, processes, procedures or applications can be utilized in conjunction with the associated process steps. 
         [0070]    Algorithm  600  begins at  602 , where the OTT client registers over a trusted WiFi network and subscribes to a registration event to get a network notification, such as by using handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  604 . 
         [0071]    At  604 , the network sends a registration event, such as from carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein to handset  102  or other components. The algorithm then proceeds to  606 . 
         [0072]    At  606 , the end user enters a call using the OTT client, such as by using handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  608 . 
         [0073]    At  608 , the handset enters an LTE coverage area, and the VoLTE client is registered, such as by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  610 . 
         [0074]    At  610 , an incoming call is received over the LTE network. In one exemplary embodiment, the incoming call can be processed using the LTE network in conjunction with carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. The algorithm then proceeds to  612 . 
         [0075]    At  612 , it is determined whether the VoLTE call or the WiFi call has a higher priority. In one exemplary embodiment, this determination can be made by handset  102 , carrier core network  118 , business support systems  126 , operation support system  128  or other suitable system components as described herein. If it is determined that the VoLTE call has a higher priority, the algorithm proceeds to  614  where the WiFi call is terminated. Otherwise, the algorithm proceeds to  616  and the user makes a selection as to which call to participate in, such as in response to a prompt that is generated during the call, in response to an account setting or in other suitable manners. 
         [0076]    Although the process is shown as a flow chart, the process can be implemented in other suitable manners, such as using an objected-oriented process, a state diagram, or other suitable processes. The text portions of the process are incorporated by reference into this disclosure for all purposes. 
         [0077]    It should be emphasized that the above-described embodiments are merely examples of possible implementations. Many variations and modifications may be made to the above-described embodiments without departing from the principles of the present disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.