The invention relates to the field of communication networks and, more specifically, to establishing a connection between user terminals.
Changes in subscriber behavior can affect the state of telecommunications networks, possibly causing significant congestion and, hence, blocked calls. For this reason, telecommunications providers often go to great lengths to prepare the network for special events and days, e.g., Mother's Day, when subscriber behavior is expected to be different than normal. However, when changes in subscriber behavior are unexpected, e.g., due to some emergency situation, telecommunications networks are more likely to experience network congestion. Furthermore, network congestion may be exacerbated if the emergency situation causes failure of components of the telecommunications networks. Under such conditions, emergency calls, such as 911 calls, may be delayed or even blocked, possibly resulting in further stress on the network as subscribers reattempt emergency calls.
Today, while the Public Switched Telephone Network (PSTN) and the Mobile Wireless Network (MWN) are connected at the subscriber level, e.g., subscribers to PSTN-based service can call subscribers to MWN-based service, these networks operate independently of one another on the equipment level, i.e., neither network can automatically forward calls to the other network. For this reason, when a calling subscriber is unable to make a call to a called subscriber's wireline phone, the calling subscriber will often repeat trying to make the call to the called subscriber's wireless phone, especially if the call is important, e.g., during an emergency. Disadvantageously, the decision by the calling subscriber to repeat the call to called subscriber's wireless phone is left to the discretion of the calling subscriber, and requires the calling subscriber to know both the wireline and wireless telephone numbers of the called subscriber. Furthermore, during an emergency, precious time may be lost if the calling subscriber must redial the originally-dialed number of the called subscriber from a different phone, or must dial a different number of the called subscriber.
Various deficiencies in the prior art are addressed through the invention of a method and apparatus for establishing a call from a caller to a callee by monitoring call establishment signaling associated with a request to establish a call from a first terminal of the caller to a first terminal of the callee, determining a location of at least one condition in the network, and routing the call establishment signaling to at least one of a second terminal of the caller and a second terminal of the callee based on the location(s) of the condition(s) in the network. For example, using the present invention, call establishment signaling for a call initiated from a wireline phone of the caller to a wireline phone of the callee may be automatically routed from the wireline phone of the caller to a wireless phone of the caller and/or from the wireline phone of the callee to a wireless phone of the callee.
When a call is routed from a first terminal of the caller, e.g., a wireline phone, to a second terminal of the caller, e.g., a wireless phone, the caller may hear an announcement on the wireline phone informing the caller that the call cannot be completed using the caller's wireline phone and is instead being routed to the caller's wireless phone. The announcement provided to the caller's wireline phone would inform the caller that the ringing of the wireless phone is not a different call, but, rather, is a continuation of the call initiated by the caller using the wireline phone. Such an announcement may be particularly helpful during an emergency situation in which the caller may be more likely to ignore what the caller would otherwise believe to be a different call initiated by someone else.
The increased call completion capabilities of the present invention are automatic and, thus, do not require called users to activate call forwarding instructions and, further, do not require calling users to attempt calls from different user terminals. Thus, by enabling more robust call establishment signaling, the present invention provides increased, and more efficient, call completion during network conditions, such as network congestion or failure conditions, e.g., during unexpected emergencies, non-emergency overload conditions, and the like, network blocking or line blocking under normal network conditions, and like network conditions, as well as various combinations thereof.
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
The present invention provides increased call completion during network conditions. The increased call completion capabilities of the present invention are automatic and, thus, do not require called users to activate call forwarding instructions and, further, do not require calling users to reattempt calls from different user terminals. In other words, the present invention provides increased, and more efficient, call completion during network conditions, such as network congestion or failure conditions (e.g., during unexpected emergencies, non-emergency overload conditions, and the like), network blocking or line blocking under normal network conditions, and the like, as well as various combinations thereof. The present invention may provide automatic call completion using an available call completion path or, more optimally, using an optimal path identified from multiple available call completion paths. The present invention uses signaling networks and databases in order to control call completion, as depicted and described herein.
Specifically, communication network 100 includes a wireline network 110 and a wireless network 120. As depicted in
As depicted in
As depicted in
In one embodiment, CEC 130 may identify an additional user terminal associated with a user locally (e.g., using local database 135). In one embodiment, CEC 130 may identify an additional user terminal associated with a user remotely (e.g., querying one or more components of wireline network 110 in order to identify a wireline user terminal, querying one or more components of wireless network 120 in order to identify a wireless user terminal, and the like, as well as various combinations thereof). The CEC 130 may identify one or more additional user terminals associated with a callee and/or may identify one or more additional user terminals associated with a caller, thereby enabling call establishment signaling to be routed from any caller terminal (one of one or more available caller terminals) to any callee terminal (one of one or more available caller terminals).
For example, given a wireline telephone number for a wireline user terminal of a callee, CEC 130 may identify a wireless telephone number for a wireless user terminal of the callee. In one such example, CEC 130 may determine the wireless number of the callee by querying database 135 using an identifier associated with the callee. In another such embodiment, CEC 130 may determine the wireless number of the callee by querying a component of wireline network 110 (e.g., a user profile database, a user subscription database, and the like) using an identifier associated with the callee. In another such embodiment, CEC 130 may determine the wireless number of the callee by querying a component of wireless network 120 (e.g., a home location register (HLR), a visitor location register (VLR), and the like) using an identifier associated with the callee. In such embodiments, the identifier associated with the callee that is used to determine the wireless number of the callee may be a user identifier, a customer number, a terminal identifier, a terminal address, the wireline number of the callee, and like callee-identifying information, as well as various combinations thereof.
For example, given a wireless telephone number for a wireless user terminal of a caller, CEC 130 may identify a wireline telephone number for a wireline user terminal of the caller. In one such example, CEC 130 may determine the wireline number of the caller by querying database 135 using an identifier associated with the caller. In another such embodiment, CEC 130 may determine the wireline number of the caller by querying a component of wireless network 120 (e.g., a home location register (HLR), a visitor location register (VLR), and the like) using an identifier associated with the caller. In another such embodiment, CEC 130 may determine the wireless number of the caller by querying a component of wireline network 110 (e.g., a user profile database, a user subscription database, and the like) using an identifier associated with the caller. In such embodiments, the identifier associated with the caller that is used to determine the wireline number of the caller may be a user identifier, a customer number, a terminal identifier, a terminal address, the wireless number of the caller, and like caller-identifying information, as well as various combinations thereof.
As described herein, the caller initiates a call to the callee. The caller may initiate the call using the wireline caller terminal 102LA or the wireless caller terminal 102WA. The caller may initiate the call to the wireline callee terminal 102LZ or the wireless callee terminal 102WZ. For purposes of clarity, the present invention is primarily described within the context of a call initiated from wireline caller terminal 102LA to wireline callee terminal 102LZ. Using the present invention, this call may be completed from either the wireline caller terminal 102LA or the wireless caller terminal 102WA to either the wireline callee terminal 102LZ or the wireless callee terminal 102WZ, depending on the condition of wireline network 110 (including individual network portions 112A and 112Z) and the condition of wireless network 120 (including individual network portions 122A and 122Z), as well as the condition of communication path 115 which couples wireline network 110 and wireless network 120.
The present invention may be better understood with respect to the specific examples depicted and described with respect to
As described herein, the communication path that is established (i.e., one of communication paths 202) is dependent on a number of factors. The communication path 202 that is established depends on the connection which the caller initially attempts to establish (e.g., wireline-to-wireline, wireless-to-wireline, and the like). The communication path 202 that is established depends on the state of communication network 100. Specifically, communication path 202 that is established depends on whether or not a condition (or conditions) is present in communication network 100 as the call establishment request is signaled from the caller to the callee. The condition(s) may affect one or more of the caller side of the wireline network 112A, callee side of the wireline network 112Z, caller side of the wireless network 122A, callee side of the wireless network 122Z, and communication path 115 by which wireline network 110 and wireless network 120 communicate.
As depicted in
The call establishment request follows first communication path 202, if CEC 130 does not detect any conditions in the caller side of the wireline network 112A or the callee side of the wireline network 112Z. In this case, the call establishment request is propagated from the wireline caller terminal 102LA to the wireline callee terminal 102LZ using the wireline network 110 (i.e., this is standard call establishment signaling in which the call is completed as dialed from the wireline caller terminal 102LA to the wireline callee terminal 102LZ, which is presented here for purposes of completeness). The other communication paths 2022-2024 may be used to propagate the call establishment request when the call establishment request must be rerouted around one or more network conditions using at least a portion of the wireless network 120.
The call establishment request follows second communication path 2022 if CEC 130 does not detect any conditions in the caller side of the wireline network 112A, detects a condition in the callee side of the wireline network 112Z, does not detect a condition on communication path 115, and does not detect a condition in the callee side of the wireless network 122Z. In this case, CEC 130 identifies the wireless callee terminal 102WZ of the caller. In this case, the call establishment request is propagated from the wireline caller terminal 102LA to the wireline callee terminal 102LZ using the caller side of the wireline network 112A, communication path 115 from wireline network 110 to wireless network 120 (to the callee side of the wireless network 122Z, and, optionally, also via the caller side of the wireless network 122A), and the callee side of the wireless network 122Z (illustratively, second communication path 2022).
The call establishment request follows the third communication path 2023 if CEC 130 detects a condition on the caller side of the wireline network 112A, does not detect a condition in the caller side of the wireless network 122Z, does not detect a condition on communication path 115, and does not detect a condition in the callee side of the wireline network 112Z. In this case, CEC 130 identifies the wireless caller terminal 102WA of the caller and signals wireless caller terminal 102WA. The call establishment request is propagated to the wireline callee terminal 102LZ using the caller side of the wireless network 122A, communication path 115 from wireless network 120 to wireline network 110 (to the callee side of the wireline network 112Z), and the callee side of the wireline network 112Z (illustratively, third communication path 2023).
The call establishment request follows the fourth communication path 2024 if CEC 130 detects a condition on the caller side of the wireline network 112A, does not detect a condition in the caller side of the wireless network 122Z, detects a condition on communication path 115 or in the callee side of the wireline network 112A, and does not detect a condition in the callee side of the wireless network 112Z. In this case, CEC 130 identifies the wireless caller terminal 102WA of the caller and signals wireless caller terminal 102WA. The CEC 130 also identifies the wireless callee terminal 102WZ of the callee. The call establishment request is propagated to the wireless callee terminal 102WZ using the wireless network 120 (illustratively, fourth communication path 2024).
In one embodiment, in which CEC 130 signals a different calling terminal than the calling terminal from which the caller initiated the call establishment request (illustratively, communications paths 2023 and 2024, in which the call is switched from wireline caller terminal 102LA to wireless caller terminal 102WA), CEC 130 may generate one or more notification messages to be propagated to the calling terminal from which the caller initiated the call establishment request in order to inform the caller that the call is being switched to a different caller terminal. The message may be a message presented in human perceptible form. For example, CEC 130 may propagate an audio notification such as THIS CALL IS BEING FORWARDED TO YOUR WIRELESS DEVICE. PLEASE ANSWER YOUR WIRELESS DEVICE TO CONTINUE THIS CALL, thereby informing the caller that the ringing of his or her wireless device is not a different call, but, rather, is an automatic transfer of the current call attempt from the wireline caller terminal to the wireless caller terminal.
The call establishment request cannot be propagated from the caller to the callee if CEC 130 detects a combination of conditions which does not allow the call establishment request to be routed from any of the caller terminals to any of the callee terminals. For example, the call establishment request cannot be propagated if CEC 130 detects a condition in the caller side of the wireline network 112A (which prevents establishment of the first and second communications paths 2021 and 2022), detects a condition in the communication path 115 (which prevents establishment of the third communications path 2023), and detects a condition in the callee side of the wireless network 112Z (which prevents establishment of the fourth communications path 2024). In this case, the caller may hear a busy signal at wireline caller terminal 102LA, and possibly also at wireless caller terminal 102WA if the call establishment request is forwarded to wireless caller terminal 102WA.
Although primarily depicted and described with respect to attempting to establish calls using a specific number of networks (illustratively, two networks, i.e., a wireline network and a wireless network), the present invention may be used to attempt to establish calls using any number of networks. For example, the present invention may be used to attempt to establish calls using one wireline network, one wireless network, two wireline networks and one wireless network, and the like, as well as various combinations thereof. Although primarily depicted and described with respect to attempting to establish calls using a specific wireline network (i.e., the PSTN) and a specific wireless network (i.e., the MWN), the present invention may be used to automatically establish calls across various other wireline and/or wireless networks, as well as various other types of networks (e.g., private wireline and/or wireless networks, the Internet, and the like, as well as various combinations thereof).
Although primarily depicted and described herein with respect to an embodiment in which the caller has two caller terminals and the callee has two callee terminals, the present invention may be used for establishing calls between users having different numbers of user terminals. The present invention may be used for establishing calls from one caller terminal to one of multiple callee terminals, from one of multiple caller terminals to one callee terminal, or from one of multiple caller terminals to one of multiple callee terminals (the case primarily depicted and described herein). The case in which both the caller and callee each have multiple user terminals by which the call may be established clearly provides the greatest resiliency with respect to call establishment in accordance with the present invention.
Although primarily depicted and described herein with respect to an initial wireline-to-wireline call establishment request, the present invention may be utilized in order to provide automatic call establishment in response to any initial call establishment request, e.g., wireline-to-wireless, wireless-to-wireline, wireless-to-wireless, and the like. Although primarily depicted and described herein with respect to establishing voice calls, the present invention may be used to provide resilient signaling in order to establish various other types of connections between users (e.g., data connections, video connections, multimedia connections, and the like, as well as various combinations thereof).
Although primarily depicted and described herein with respect to attempting to establish a type of connection requested by a caller, where a request to establish a first type of connection cannot be completed, the present invention may be adapted to attempt to establish a second type of connection. For example, assuming a caller attempts to establish a voice connection from a wireline phone of the caller to a wireline phone of the callee, if the voice connection cannot be established, the present invention may attempt to establish a data connection from a wireless phone of the caller to a desktop computer of the callee. Similarly, for example assuming a caller attempts to establish a voice connection from a wireline phone of the caller to a wireless phone of the callee, if the voice connection cannot be established between any phones of the caller and callee, the present invention may attempt to establish a video connection from a laptop of the caller to a desktop computer of the callee.
Since the present invention is not limited by the number of available caller terminals, the number of available callee terminals, the numbers, types and combinations of networks over which the call establishment signaling may be routed, the types of connections which may be requested, or other like factors, the present invention may be described in more general terms. A generalized method for completing a call from one or more caller terminals to one or more callee terminals (or, more generally, between user terminals) is depicted and described herein with respect to
At step 304, call establishment signaling is monitored. The call establishment signaling includes signaling associated with a request to establish a call from a first terminal of the caller to a first terminal of the callee. The call establishment signaling may include any rerouted call establishment signaling (e.g., rerouted in response to one or more network conditions). In other words, the call establishment signaling may be any signaling adapted for completing a call from a caller terminal (which may be one of many user terminals available to the caller, e.g., wireline phones, wireless phones, and the like) to a callee terminal (which may be one of many user terminals available to the callee, e.g., wireline phones, wireless phones, and the like).
For example, the call establishment signaling may be signaling from a caller terminal to a network element, signaling between network elements (which may include network elements both within and between different portions of the same network or same type of network, network elements both within and between different types of networks, and the like, as well as various combinations thereof), signaling from a network element to a callee terminal, signaling from a network element to a caller terminal, and the like, as well as various combinations thereof. The call establishment signaling may include any other signaling which may be required in order to establish a connection between a caller terminal and a callee terminal, as described herein.
At step 306, call establishment signaling is routed from one of at least one caller terminal to one of at least one callee terminal. The call establishment signaling initially routed from a first caller terminal to a first callee terminal may be rerouted to at least one of: a second terminal of the caller and a second terminal of the callee. The call establishment signaling may be rerouted in response to at least one condition in the network. The call establishment signaling may be rerouted based on the location of each of the at least one condition in the network in response to which the call establishment signaling is rerouted. The call establishment signaling may continue to be rerouted to additional terminals of the caller and/or additional terminals of the callee (assuming such additional terminals exist) in response to network conditions.
If the call can be completed between any one of the combinations of caller terminal and callee terminal, the call is completed and the caller and callee are connected (assuming that the callee answers the call). If the call cannot be completed between any of the possible combinations of available caller terminals and available callee terminals, the call is not completed and the caller and callee are not connected. In this case, the caller may hear a busy signal, or some other audible indicator, on one or more of the available caller terminals. A method for routing call establishment signaling is depicted and described herein with respect to
At step 404, a determination is made as to whether a condition (or conditions) is detected from call establishment signaling. The condition may be detected from any call establishment signaling. For example, the condition may be detected from signaling on the caller side of one or more networks (e.g., signaling from a caller terminal to a network element, from a network element to a caller terminal, and the like), on the callee side of one or more networks (e.g., signaling from a network element to a callee terminal, and the like), at one or more network transfer/connection points for signaling between similar types of networks (e.g., wireline-to-wireline signaling, wireless-to-wireless signaling, and the like), at one or more network transfer/connection points for signaling between different types of networks (e.g., wireline-to-wireless signaling, wireless-to-wireline signaling, and the like), and the like, as well as various combinations thereof.
The condition or conditions may be any condition(s) impacting connection establishment signaling. In one embodiment, a condition which causes a change to routing of a call establishment request may be any condition which prevents propagation of call establishment signaling. For example, a condition may include a network failure (e.g., failure of one or more network elements, failure of one or more network links, and the like, as well as various combinations thereof), network congestion, and the like, as well as various combinations thereof. In one embodiment, a condition which causes a change to routing of a call establishment request may be any condition which affects call establishment signaling (e.g., a network failure, network congestion, and the like, as well as various combinations thereof).
As depicted in
At step 406, the call can be completed as signaled, i.e., between the caller terminal and the callee terminal (using any network transfer/connection points required to complete the call), and no action (or no further action if this is not the first loop through method 400) is required from the call establishment controller. The caller terminal with which the call is completed may or may not be the original caller terminal from which the caller attempted the call (depending on whether or not conditions were detected and, thus, the number of times method 400 looped). Similarly, the callee terminal with which the call is completed may or may not be the original callee terminal which the caller attempted to call (depending on whether or not conditions were detected and, thus, the number of times method 400 looped). The callee terminal rings and the caller terminal receives a ringback. The call may or may not be completed depending on whether or not the callee answers the incoming call. From step 406, method 400 proceeds to step 418, where method 400 ends.
At step 408, a determination is made as to whether another callee terminal is found that can be used to complete the call. As described herein, another callee terminal may be found by querying one or more systems and/or databases. If another callee terminal is found, method 400 proceeds to step 410, at which point signaling is initiated to complete the call from the caller terminal (which may be the original caller terminal or another caller terminal) to the found callee terminal. From step 410, method 400 returns to step 404 in order to determine whether additional conditions are detected from the call establishment signaling or whether the call can then be completed as signaled using the found callee terminal (i.e., proceeding to step 406). If another callee terminal is not found, method 400 proceeds to step 416, at which point the call cannot be completed and, thus, the call is abandoned. From step 416, method 400 proceeds to step 418, where method 400 ends.
At step 412, a determination is made as to whether another caller terminal is found that can be used to complete the call and/or whether another callee terminal is found that can be used to complete the call. The determination as to whether to attempt to identify another caller terminal, another callee terminal, or both another caller terminal and another callee terminal depends upon the attempted signaling of the call and the source of the detected condition or conditions. This may be better understood with respect to the examples depicted and described herein with respect to
If an attempt is made to identify another caller terminal (but not another callee terminal) and another caller terminal is found, method 400 proceeds to step 414. If an attempt is made to identify another callee terminal (but not another caller terminal) and another callee terminal is found, method 400 proceeds to step 414. If an attempt is made to identify both another caller terminal and another callee terminal and the other caller terminal and the other callee terminal are both found, method 400 proceeds to step 414. At step 414, signaling is initiated to complete the call from the caller terminal (which may be the original caller terminal or another identified caller terminal) to the callee terminal (which may be the original callee terminal or another identified callee terminal). From step 414, method 400 returns to step 404 in order to determine whether additional conditions are detected from the call establishment signaling or whether the call can then be completed as signaled using the caller and callee terminals (i.e., proceeding to step 406).
If an attempt is made to identify another caller terminal and another caller terminal cannot be found, method 400 proceeds to step 416 (and this is true even if another callee terminal is found since, without any available caller terminals, the call cannot be completed). If an attempt is made to find another callee terminal and another callee terminal cannot be found, method 400 proceeds to step 416 (and this is true even if another caller terminal is found since, without any available callee terminals, the call cannot be completed). At step 416, the call cannot be completed (due to a lack of one or both of an available caller device and an available callee device, and possibly also due to lack of available connectivity between portions of networks and/or between portions of different networks) and, thus, the call is abandoned. From step 416, method 400 proceeds to step 418, where method 400 ends.
Although primarily depicted and described herein with respect to establishing a connection by signaling via the first communication path identified as being available for completing call establishment signaling, in one embodiment the present invention may determine all possible communication paths available for completing call establishment signaling (e.g., based on the presence and/or absence of conditions in various locations of available networks) and attempt the complete the call establishment signaling using the available communications paths in order of desirability. In one such embodiment, the available communication paths may be ranked in order of desirability and attempts to complete the call establishment signaling using the different communication paths may be performed according to the order of desirability (e.g., trying an optimum communication path first, trying the next-best communication path second, and so on). In other words, this embodiment may be implemented in order to select an optimum route for a call establishment request where multiple communication paths are available.
It should be noted that the present invention may be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the present call establishment control process 505 can be loaded into memory 504 and executed by processor 502 to implement the functions as discussed above. As such, call establishment control process 505 (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.
It is contemplated that some of the steps discussed herein as software methods may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various method steps. Portions of the present invention may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods and/or techniques of the present invention are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in fixed or removable media, transmitted via a data stream in a broadcast or other signal bearing medium, and/or stored within a working memory within a computing device operating according to the instructions.
Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings.