Abstract:
Processes and apparatus for collection and delivery of voice messages. The process includes identifying information indicative of a calling party attempting to complete a call to a another party and then identifying that a condition other than ring no answer or normal busy exists preventing the calling party from completing a call to the another party. In response to identifying that a condition exists that prevents call completion, the process includes storing a message from the calling party to the another party in a memory, storing the information indicative of the calling party in the memory and attempting to deliver the stored message to the another party at a later time.

Description:
TECHNICAL FIELD 
     The invention relates to computerized telecommunications. More particularly, the invention relates to processes and apparatus for message storage and retrieval in such systems. 
     BACKGROUND OF THE INVENTION 
     Telephone messaging machines, systems and methods are known in the art. For example, a telephone messaging system is described in U.S. Pat. No. 5,036,533, entitled “System For Providing Automatic Voice Messaging In A Digital Network Environment” and issued to Carter et al., hereby incorporated herein by reference. This system is intended for use with digital telephone systems and provides a voice messaging capability when the calling party is unable to reach another party because the another party is using their telephone, providing the calling party with a normal busy signal, or does not answer their telephone, providing the calling party with a “ring no answer” situation. 
     However, many other kinds of situations may result in an incomplete call. The system described in the above-referenced patent does not provide a capability for storing a message when, for example, a modem or a facsimile machine answers the calling party. 
     Other situations in which the calling party may be frustrated in efforts to reach another party may stem from a variety of different causes. These may include busy or inoperative trunk lines, a busy exchange that cannot accommodate additional calls at that time (both of which later may result in a “fast busy” signal) or the another party&#39;s phone line or lines being busy (i.e., “normal busy” or engaged. Further causes may include a “ring no answer” condition that may be due to equipment malfunction, power failure or other causes not necessarily attributable to the another party and other conditions that give rise to a failure to complete an attempted calling transaction. 
     When these conditions prevent call completion within the confines of a single telephone network, automatic messaging capabilities within that network may permit the calling party to record a message that the another party may later retrieve. However, in situations where larger numbers of networks and switches are involved, it may not be obvious which of the networks or switches need to execute the message storing function, how to bill the calling party for the messaging service or how to effectively handle a presently existing volume of calling parties desiring to avail themselves of message-storing and delivery services. 
     Accordingly, it is desirable to provide a system and process for telephone messaging that allows a message to be exchanged under a broader range of circumstances than is possible in the prior art. 
     SUMMARY OF THE INVENTION 
     In one aspect, the present invention provides a process for collection and delivery of voice messages. The process includes identifying information indicative of a calling party attempting to complete a call to another party and then identifying that a condition other than ring no answer or normal busy exists preventing the calling party from completing a call to the another party. In response to identifying that a condition exists that prevents call completion, the process includes storing a message from the calling party to the another party in a memory, storing the information indicative of the calling party in the memory and attempting to deliver the stored message to the another party at a later time. 
     In another aspect, the present invention includes an article., of manufacture comprising a computer usable medium having computer readable code embodied therein. The computer readable code is configured to cause a messaging system to store and later attempt to deliver at least one message to be delivered. The computer readable program code in the article of manufacture is also configured to identify information indicative of a calling party attempting to complete a call to another party and to identify that a condition exists preventing the calling party from completing a call to the another party. In response to identifying that a condition other than ring no answer or normal busy exists preventing call completion, the computer readable program code in the article of manufacture is further configured to store a message from the calling party to the another party in a memory, to store the information indicative of the calling party in the memory and to attempt to deliver the stored message to the another party at a later time. 
     In yet another aspect, the present invention provides a computer-implemented messaging system. The messaging system includes memory configured to provide an operating system and operative to store files representing at least one message to be delivered and identification information indicative of a party leaving the at least one message and processing circuitry. The processing circuitry is configured to identify information indicative of a calling party attempting to complete a call to another party and to identify that a condition other than ring no answer or normal busy exists preventing the calling party from completing a call to the another party. In response to identification that a condition exists preventing call completion, the processing circuitry is further configured to store a message from the calling party to the another party in a memory, to store the information indicative of the calling party in the memory and to attempt to deliver the stored message to the another party at a later time. 
     In a still further aspect, the present invention includes a computer data signal embodied in a transmission medium. The computer data signal includes a call monitoring program configured to identify information indicative of a calling party attempting to complete a call to another party and to identify that a condition other than ring no answer or normal busy exists preventing the calling party from completing a call to the another party. The computer data signal also includes a data storage program configured to store a message from the calling party to the another party in a memory and to store the information indicative of the calling party in the memory and a message delivery program configured to attempt to deliver the stored message to the another party at a later time. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified block diagram of a telephone network, in accordance with an embodiment of the present invention. 
     FIG. 2 is a simplified flow chart of a process for leaving a message for later delivery, in accordance with an embodiment of the present invention. 
     FIG. 3 is a simplified flow chart of a process for automatically retrieving, deferring or erasing a stored message from the calling party, in accordance with an embodiment of the present invention. 
     FIG. 4 is a simplified flow chart of a process for retrieving, deferring or erasing a stored message from the calling party, in accordance with an embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 is a simplified block diagram of a telephone network  10 , in accordance with an embodiment of the present invention. The telephone network  10  includes multiple telephones or other message exchange devices, configured to process audio and/or digital signals, some of which are represented in FIG. 1 as a calling party  12  and another party  14 . 
     In making a call from the calling party  12  to another party  14 , the calling party  12  enters data causing an originating switch  16  to select a terminating switch  18  that is coupled to the another party  14 . Interconnection of the originating switch with the terminating switch  18  may be through a number of intermediate call-routing and distribution elements, represented by ellipsis in FIG.  1 . In many cases, the calling party  12  will be connected with the another party  14  and they will be able to exchange information as desired. However, in situations where the calling party  12  is unable to reach the another party  14 , it is desirable to be able to provide a messaging capability allowing the calling party  12  to store a message for the another party  14  using either an automated voice message system  20  or via an operator-assisted messaging system  22 . An operator-assisted messaging system  22  may be needed in some situations. These may include situations where the calling party  12  has a telephone that is defective in some manner, where noise on the telephone line inhibits effective DTMF keying of commands using the telephone keypad or where a severe language barrier or temporary medical condition (e.g., a visit to the dentist) causes the calling party  12  to be unable to successfully interact with voice recognition software. 
     In either case, an entity operating the overall network  10  will desire information allowing billing to take place for the services provided. In one embodiment, the calling party  12  is identified using a database  24  of previously-stored information identifying the calling party  12  and an account that is associated with the calling party  12 . 
     It will be appreciated that while only one database  24 , automated voice messaging system  20  and manual operator messaging system  22  are shown in conjunction with the exemplary originating switch  16  in FIG. 1 for simplicity of illustration and ease of understanding, there may be many such systems associated with many switches  16 ,  18  located throughout the system. It will be further appreciated that many switches function as both originating and terminating switches in normal operation of the network  10 . 
     Automatic call distribution systems sometimes rely on technology to automatically identify the telephone number of the calling party  12 . See, for example, U.S. Pat. No. 5,163,087 to Kaplan (incorporated herein by reference) which discloses a system that translates an Automatic Number Identification (ANI) of the calling party  12  into a customer database such as the database  24  or that translate the ANI into a previously-defined customer account number. In one embodiment, the network  10  identifies the calling party  12  using ANI. In one embodiment, the network  10  accepts billing information, such as a credit card number, that is entered by the calling party  12  using a touch-tone pad or voice recognition software, and that then may be stored, e.g., in the database  24 . 
     FIG. 2 is a simplified flow chart of a process P 1  for leaving a message for later delivery, in accordance with an embodiment of the present invention. The process P 1  begins with a step S 1  identifying that a call from the calling party  12  will not be completed. The step S 1  may be triggered by a predetermined number of rings, recognition of a fax or modem response from the another party  14 , recognition of a busy signal or a fast busy signal, recognition of special information tones (SIT) (“do-dah-dee”), timeout, ringback stopped, answering machine or other call incomplete situation. In one embodiment, the step S 1  is carried out by the terminating switch  18 . In one embodiment, the step S 1  is carried out by the originating switch  16  or at another point in the network  10 . In order to take messages from the calling party  12  when the reason for non-completion of the call is that there are no trunk lines available to couple the originating switch  16  to the terminating switch  18 , it is necessary that the steps in the process P 1  be carried out by portions of the network  10  that are located between the trunk lines and the calling party  12 , e.g., by the originating switch  16 . 
     The process P 1  then generates a message to the calling party  12  in a step S 2 . In one embodiment, the message includes information regarding options that the calling party  12  has for leaving messages. In one embodiment, the message advises the calling party  12  that they will be billed in the event that the message is delivered. In one embodiment, the calling party  12  is given an option to obviate the informational message of the step S 2 , e.g., by pushing a predetermined key on a telephone keypad. 
     The process P 1  then determines if the calling party  12  wishes to leave a message in a query task S 3 . When the calling party  12  does not wish to leave a message, the process P 1  terminates. When the calling party  12  does wish to leave a message, the process P 1  continues. 
     The process P 1  then captures and stores information indicative of the calling party  12  in a step S 4 . In one embodiment, ANI is used to identify the calling party  12  and to look up billing information relating to the calling party  12  that was previously stored in the database  24 . In one embodiment, the calling party  12  is given an option to provide credit or debit data relative to an account. In one embodiment, the calling party  12  is given an option to cause the system  10  to use data relating to the another party  14  for billing purposes. 
     The process P 1  then captures and stores a message from the calling party  12  together with information indicative of the calling party  12  and information indicative of the another party  14  in a step S 5 . In one embodiment, the message, the information indicative of the calling party  12  and the information indicative of the another party  14  are stored in association with the originating switch  16 , which may obviate use of long distance lines for message capture and storage. In one embodiment, the message, the information indicative of the calling party  12  and the information indicative of the another party  14  are stored in association with the terminating switch  18 , which may obviate repeated use of long distance lines for later message polling/delivery efforts. The process P 1  then ends. 
     FIG. 3 a simplified flow chart of a process P 2  for retrieving, deferring or erasing a stored message from the calling party  12  in response to selections made by the another party  14 , in accordance with an embodiment of the present invention. The process P 2  begins, in a step S 6 , by initiating contact between the another party  14  and the network  10 . In one embodiment, the step S 6  is carried out by automatically placing a call to the another party  14  to advise the another party  14  of the fact that one or more messages to the another party  14  have been stored. 
     In one embodiment, the another party  14  has previously selected or presently selects notification options such as another telephone number, email, a pager, facsimile or other notification of stored messages. In one embodiment, the initiating contact step S 6  includes providing the another party  14  with information identifying or indicative of the calling party  12 . In one embodiment, the initiating contact step S 6  includes the another party  14  supplying a PIN or other coded identification that is verified by the network  10  prior to continuing the process P 2 . 
     In a query task S 7 , the process P 2  determines if the another party  14  wants to retrieve, defer or erase one or more of the stored messages. 
     When the query task S 7  determines, in response to signals from the another party  14 , or from user options preset by the another party  14 , that the another party  14  wants to erase a stored message, the process P 2  erases one or more stored messages in a step S 8 . 
     A query task S 9  then determines if there are any additional stored messages for the another party  14 . When the query task S 9  determines that there are additional stored messages for the another party  14 , control passes back to the query task S 7 . 
     When the query task S 7  determines that the another party  14  wants to defer one or more stored messages, the process P 2  defers these messages in a step S 10 . Control then passes to the query task S 9  to determine if there are any additional stored messages for the another party  14 . 
     When the query task S 9  determines that there are no additional stored messages for the another party  14 , the process P 2  ends. 
     When the query task S 7  determines that the another party  14  wants to retrieve one or more stored messages, the process P 2  proceeds to a step S 11 . The query task S 7  may include providing the another party  14  with information, such as a name or telephone number, corresponding to the calling party  12 . 
     In the step S 11 , billing data are assembled and a bill is prepared to reflect delivery of the stored message. In one embodiment, the calling party  12  is billed in the step S 11  using the information indicative of the calling party that was collected in the step S 4 . 
     In a step S 12 , one or more stored messages are delivered to the another party  14 . Control then passes to the step S 9  to determine if there are additional stored messages and proceeds as discussed above until there are no additional stored messages or until the stored messages have all been erased, deferred or retrieved. 
     FIG. 4 a simplified flow chart of a process P 3  for retrieving, deferring or erasing a stored message from the calling party  12 , in accordance with an embodiment of the present invention. The process P 3  begins with a step S 13  by initiating contact between the another party  14  and the network  10 . In one embodiment, the step S 13  is carried out by the another party  14  placing a call to retrieve messages stored in the network  10 . In one embodiment, the initiating contact step S 13  includes the another party  14  supplying a PIN or other coded identification that is verified by the network  10  prior to continuing the process P 3 . 
     In a query task S 14 , the process P 3  determines if there are any stored messages for the another party  14 . 
     When the query task S 14  determines that there are no stored messages for the another party  14 , the process P 3  advises the another party  14  of this in a step S 15 . The process P 3  then ends or provides the another party  14  with other options, such as an opportunity to update notification options. When the query task S 14  determines that there are stored messages for the another party  14 , control passes to a query task S 16 . 
     In the query task S 16 , the process P 3  determines if the another party  14  wants to retrieve, defer or erase one or more stored messages. 
     When the query task S 16  determines that the another party  14  wants to erase a stored message, the process P 3  erases one or more stored messages in a step S 17 . The process P 3  then proceeds to the query task S 14  to determine if there are any additional stored messages for the another party. When the query task S 16  determines that the another party  14  wants to defer one or more stored messages, the process P 3  defers these messages in a step S 18  and then proceeds to the query task S 14  to determine if there are any additional stored messages for the another party  14 . 
     When the query task S 14  determines that there are no additional stored messages for the another party  14 , the step S 15  provides an informational message to the another party  14  and the process P 3  ends. 
     When the query task S 16  determines that the another party  14  wants to retrieve one or more stored messages, the process P 3  proceeds to a step S 19 . The query task S 16  may include providing the another party  14  with information, such as a name or telephone number, corresponding to the calling party  12  who left the stored message. 
     In the step S 19 , billing data are assembled and a bill is prepared to reflect delivery of the stored message. In one embodiment, the calling party  12  is billed in the step S 19  using the information indicative of the calling party that was collected in the step S 4  (FIG.  2 ). 
     In a step S 20 , one or more stored messages are retrieved by the another party  14 . Control then passes to the step S 14  to determine if there are additional stored messages, as described above. 
     In one embodiment, the processes P 1 , P 2  and P 3  of FIGS. 2,  3  and  4  are carried out automatically by computer equipment in the network  10 . In one embodiment, portions of the processes P 1 , P 2  and P 3  are carried out with assistance from operators, for example, when a severe language barrier, static or equipment malfunction inhibit the automated voice messaging system  20  of FIG.  1 . In one embodiment, where the processes P 1 , P 2  and P 3  are carried out automatically, languages are chosen for the informational messages automatically, based upon comparison of, e.g., the another party&#39;s telephone number or the ANI data to previously-stored data related to the another party  14  and/or the calling party  12 , or similar comparisons using data relevant to the another party  14 . 
     The above-described method is defined by discrete digital circuitry or software or firmware installed in general-purpose computing machinery in order to cause that machinery to be able to provide these features. In one embodiment, this may be effectuated by transmitting the software over telephone lines. In one embodiment, this may be effectuated by downloading software from another computing machine using a broad coverage network such as the Internet. In either case, a carrier wave modulated with data representing suitable computer programming is transmitted from a data source to a data sink and then ultimately is installed onto the computing machinery that is to implement functionality associated with the software. 
     The protection sought is not to be limited to the disclosed embodiments, which are given by way of example only, but instead is to be limited only by the scope of the appended claims as properly interpreted in accordance with the doctrine of equivalents.