While party A is leaving party B a voicemail message, party B may become available to return party A's telephone call. Party B becomes available to return party A's call by, for example, coming home and determining that party A just called or by locating party B's wireless telephone and determining that party A just called. In one embodiment, party B uses caller identification (i.e., caller ID) (or any other type of call identifier) to determine that party A just called.
Party B tries to return party A's call but party A is leaving a voicemail message for party B at that time (t2 112) in step 114. Party B may be directed to party A's voicemail or may receive a busy signal because party A is leaving a voicemail message for party B on party B's voicemail. Party A's telephone uses caller ID to identify the caller as party B. At this moment, the two parties are unable to connect because party A is leaving a voicemail message for party B.
A node detects that party A and party B are trying to reach each other and takes an action to connect them. The node determines that party A has just called party B and is currently leaving party B a voicemail and party B is currently calling party A back.
If there is a match between the telephone number identified by party A's caller ID and the telephone number that party A just previously called (i.e., party B's telephone number) at time t3 116 in step 118, then the voicemail message is aborted and party B is connected with party A at time t4 120 in step 122. If the system didn't detect the condition fast enough, both party A and party B may be leaving voicemail messages for each other. In this case, both messages would be aborted. Alternatively, party B may receive a busy signal when calling party A while party A is leaving party B a message. In one embodiment, each time (e.g., time t4 120) is extremely close to (e.g., one second after) the previous time (e.g., time t3 116).
The service of connecting the second party to the first party (i.e., enabling direct (i.e., person to person) communication between the first and second parties over the telephone network) after the first party is diverted to the second party's voicemail can be applied by any telephone network, such as Public Switched Telephone Network (PSTN), wireless, VoIP, etc. In particular, many components within any type of telephone network may provide the capabilities to offer the service of connecting a caller previously diverted to voicemail with another caller.
The node then determines whether party B is getting a busy signal or voicemail because party A is currently leaving a voicemail for party B in step 180. If not, then no action is taken and the call continues in step 185. If so, then the node connects party A and party B in step 190. In one embodiment, the node may also provide an announcement to one or both parties that they are being connected. Steps 180-190 are enclosed in a dashed box indicating that these steps are being performed by the node in accordance with an aspect of the present invention.
First, party B calls party A in step 205. Party B's telephone service stores party A's information, such as in SIP messaging, memory or a database (e.g., in the memory of a component of the telephony network, such as in an application server's memory in a Voice over Internet Protocol (VOIP) network) in step 210. In step 215, the telephone service provider of party B (i.e., a component or node in the telephone network) determines whether a call was received from party A just before party B made the call to party A in step 205. If not, the call continues in step 217 and party B connects to party A (e.g., connects to party A or connects to party A's voicemail).
If a call was received from party A just prior to party B's call to party A, then party B's telephone service provider determines whether party A is currently leaving party B a voicemail message on party B's voicemail in step 220. If party A is not currently leaving party B a voicemail message, then the call continues in step 217. If, however, party A is currently leaving party B a voicemail message in step 220, then the voicemail message being left by party A is aborted and the call between party A and party B is connected in step 225.
First, party A calls party B in step 305. As part of this initial call, party A's telephone (and/or telephone service provider) stores party B's information, such as party B's telephone number, in memory in step 310. Party A's telephone or telephone service provider (or a node in the telephone network) then determines, in step 315, whether party A has been directed to party B's voicemail. If not, the call continues in step 317.
If party A has been directed to party B's voicemail in step 315, then party A typically leaves a voicemail message in step 320. While party A is leaving a voicemail message on party B's voicemail, party A's telephone or telephone service provider (or a node) checks whether a call is received in step 325. If not, then party A continues to leave a voicemail message in step 320.
If a call is received in step 325, party A's telephone service provider (or node) then determines in step 330 whether the caller ID of the incoming call matches the information stored in step 310 for party B. During this time, party B may be directed to party A's voicemail (i.e., crossing voicemail messages), may receive a busy signal, or may not receive an answer to the call.
If the caller ID does not match the stored information for party B in step 330, party B is diverted to (or continues the message in) voicemail in step 332. If the caller ID of the incoming call matches the information stored in step 310 for party B, the voicemail message being left by party A (and/or party B) is aborted and party A is connected to party B in step 335.
In one embodiment, a subscriber of the service described above can enable or disable the service for their account, for instance, initially when the subscriber signs up with the telephone service provider or anytime thereafter (e.g., by calling the telephone service provider).
In one embodiment, the service plays an announcement to the party (e.g., party B) that made a call back to the previous caller (e.g., party A). The announcement can be, for example, “You are being joined to the person that you were calling,” before party A is joined with party B.
The previous description describes the present invention in terms of the processing steps required to implement an embodiment of the invention. These steps may be performed by an appropriately programmed computer, the configuration of which is well known in the art. An appropriate computer may be implemented, for example, using well known computer processors, memory units, storage devices, computer software, and other nodes. A high level block diagram of such a computer is shown in
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.