Abstract:
This invention relates to an automated telephone dialing system, for recognizing electronically, whether a called party is a human subject or an automated telephone answering device, and for delivery of pre-recorded messages in synchronization with the activation of the receive function of an automatic answering machine. The determination of whether a called party is human or an answering device is made based on analysis of the party&#39;s response to an audio instruction. The system delivers pre-recorded messages to a live party or to an automated answering device in the time sequence required or recording of the message by the answering device.

Description:
TECHNICAL FIELD 
     The present inventionrelates to automatic telephone systems for detecting the presence on the telephone line of an automated telephone answering device and for the delivery of pre-recorded messages to automated telephone answering apparatus. 
     BACKGROUND AND OBJECTS OF THE INVENTION 
     Automated telephone and dialing devices (&#34;Dial and Deliver&#34;) are now commonly employed to deliver pre-recorded voice messages to each party on a prepared list of telephone numbers. Such devices, under the control of a micro-processor, are able to deliver economically pre-recorded voice messages to great numbers of parties. These devices are often used to provide pre-recorded promotional messages, solicitations for sales, and emergency information. 
     However, the practical utility of automated telephone dialing devices and pre-recorded message delivery systems has been significantly decreased by the widespread use of automated telephone answering machines. 
     If a conventional automatic telephone dialing system dials the number of a telephone which is answered by an automatic answering apparatus, the pre-recorded message will not be delivered to the intended party. Lengthy pre-recorded messages may be played out even though no human is on the line to hear the message as may have been intended. Such a result obviously significantly lessens the cost-effectiveness and efficiency of using the automatic pre-recording message delivery system. Moreover, the pre-recorded message may never be delivered in the necessary time synchronization with the answering device to allow recording. 
     Prior systems directed to solve this problem are complex and unreliable. One method to serve this objective is to utilize the difference in frequency characteristics of a sound generated by a machine from the frequency characteristics generated by a human voice. This technique is very complex, and requires the design of highly complicated signal processing circuits. Some other systems have utilized the differences between the ways a telephone call is answered by a live party and the ways a message is recorded on an answering machine. For example, specific intervals of audio silence are looked for, during the first few seconds after a call is connected to detect a normal &#34;Hello&#34;, which is usually one to four seconds of audio, followed by one to two seconds of silence. Recordings generally do not contain a pause after a &#34;Hello.&#34; This difference enables the calling device to determine the presence or absence of a live person. 
     Prior art systems based on passive detection approach suffer from a significant degree of error. The duration of sound and silence to be tested, can only be optimized for a statistical average. Persons who do not answer within such statistical limits, will be considered machines and their call will be terminated. With recent advances in technology, announcement messages recorded on telephone answering devices are virtually indistinguishable from human voice, invalidating passive detection algorithms based on frequency characteristics of tape generated audio. 
     It is an object of this invention to provide an automatic system for the delivery of pre-recorded telephone messages which is able to efficiently and economically identify when it has reached a telephone answering device and not a human person. 
     It is a further object of this invention to provide an automated telephone system which, upon recognition on the line of an automated answering machine, is capable of delivering a pre-recorded message in time synchronization with the receive function of the answering machine so as to assure recording of the message by the answering apparatus. 
     SUMMARY OF THE INVENTION 
     The automated telephone dialing system of the invention comprises automated dialing devices and switches capable of providing interconnections to any of a series of telephone receivers, devices for delivery of pre-recorded messages to the called party, a computer processor device for activation of the message delivery function and an audio-instruction delivery device which directs the answering party to respond in a specified manner. For instance, this device may direct the called party to depress a telephone key, to remain silent for a specific period of time, or to key in a specified sequence of number or letters. 
     Depending upon how the answering party responds to the audio instruction delivery, the automated delivery system of the present delivery system invention determines if the respondent is either human or machine. If the answering party is designated as human, the automatic delivery message unit proceeds to play out the pre-recorded message. If the answering party is determined to be an answering machine, the automatic dial and message delivery system activates delivery of the pre-recorded message in the time sequence required to assure the recording of the message by the recording machine. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a pictorial diagram of a system embodying the present invention. 
     FIG. 2 is a block diagram of a system illustrating the components of the telephone dialing device. 
     FIG. 3 is a schematic diagram of the line relay circuit utilized to connect the telephone line to the telephone dialing device. 
     FIG. 4 is a schematic diagram of a line signal conditioning and opto-isolator circuit to couple the telephone line to the rest of the telephone dialing device. 
     FIG. 5 is a schematic diagram illustrating an audio detector circuit formed by a band pass filter, a comparator and a level shifter, all utilized to detect the presence or absence of an audio signal in the telephone line. 
     FIG. 6 illustrates the logical diagram of the operation of the present invention. 
     FIG. 7 illustrates the logical diagram of the operations determining the presence or absence of a recording. 
     FIG. 8 illustrates the logical diagram of the operations determining the presence or absence of audio in the telephone line during a certain period of time. 
     FIG. 9 illustrates a modified version of the operations of the present invention utilizing a tone detector. 
     FIG. 10 is a block diagram of a modified system utilizing the components of the telephone dialing device with a tone detector. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In order to afford a complete understanding of the invention and an appreciation of its advantages, a preferred embodiment is presented below in the context of a practical environment including a supervisory computer, a disk storing means, audio/telephony interface circuitry to couple the telephone lines to the computer, and a digital to analog converter. 
     It will be obvious to those skilled in the art that the components of the present invention as described and illustrated hereinafter, could be arranged and designed in a wide variety of configurations. Thus, the following more detailed description of the embodiment of the apparatus of present invention as represented in FIGS. 1-10, and Appendix, is not intended to limit the scope of the invention, as claimed, but is merely representative of the presently preferred embodiment of the invention. 
     Referring first to FIGS. 1 and 2, the components of the automatic dialing device are physically depicted. Supervisory computer 1, controls the flow of audio and control signals. Audio/telephony interface circuitry or line card 2, interfaces the telephone line with the computer, allowing the computer to receive audio and control signals and transmit the same. Cord 3 and jack 4 represent a connecting means to the telephone line. Storage means 5 is a computer diskette for storing relevant control and audio information. 
     Referring to FIG. 2, a general description of the invention is presented. The system can initiate a dialing sequence manually, or at a predetermined time. The CPU 16 upon such time receives instruction from a disk storage 18 to initiate a call. This instruction will in turn translate into a control signal, carried through a bus into the audio/telephony Card 20, and Control logic 21, instructing the line relay to go &#34;off hook.&#34; A call is initiated, and audio detector 28 of card 20 is used to detect the presence or absence of audio signals in the line. Such determination will be stored in status latch 30. Control signals flowing to and from the CPU, determine the mode of the operations and also allow for voice interaction with a called party. Voice messages in digital form are stored in disk storage 18. Upon receiving control signal from CPU 16, digital information representing a voice message is transferred to card 20, and is converted into analog form by analog to digital converter 32. The voice message now represented in analog form is transmitted to the called party. Information received from the called party is converted into a status signal by audio detector 28, and is sent to CPU 16. The CPU 16 by comparing this status signals with previous stored information, determines if the called party is a live person or a machine. 
     If a called party is determined to be a live person, additional voice messages represented in digital form and stored in disk storage 18 are transferred to card 20, and thereafter are converted to analog voice signal and interact with the called party. Received responses are converted back to digital form by the analog to digital converter 32 and are finally stored in disk storage 18. 
     If a called party is determined to be a machine, the CPU 16 generates control signals to transmit appropriate messages to the answering device during the period allowed for recording. CPU 16 will also generate signals indicating the absences of a live person. Digital data representing those signals are then stored in storage 18. The CPU 16 will initialize another call and the same functions are repeated. 
     Referring to FIGS. 3-5 the pertinent parts of the interface circuitry utilized in the present preferred embodiment is illustrated. FIGS. 3-5 show the protective circuitry of the interface section of the audio/telephony interface adapter. The audio path in an actual connection will be described now in more detail. In FIG. 3 the &#34;tip&#34; and the &#34;ring&#34; lead of telephone jack 40 are connected to a line control relay 42. When appropriate, the system sends a control signal to line relay circuit via lead &#34;H&#34; 43 to change the &#34;hook&#34; state. As shown in FIG. 4 when &#34;off hook&#34; the line audio is passed through the relay to the adaptor&#39;s line signal conditioning circuit 46 by &#34;tip&#34; and &#34;ring&#34; lead 44. The audio signal is conditioned using rectifying, filtering, and gain controlling circuitry. After conditioning, the signal is fed to the adaptor&#39;s audio detection and analog to digital conversion sections through the analog output lead &#34;AO&#34; 52. The telephone line is isolated from CPU 16 and its peripherals for obvious reasons to those skilled in the art. In this embodiment the telephone lines have been isolated by use of opto-isolators 48 and 50. 
     The audio signal from the telephone line is provided to audio detector circuit of FIG. 5, by input lead &#34;AO&#34;52. The purpose of audio detector is to indicate the presence of any audio signal on the telephone line, which is above a certain threshold level. One purpose for fixing the threshold level is to discriminate against noise signals. Upon detection of such an audio signal, the audio detector transmits a signal through lead &#34;DS&#34;54. The data provided by the audio detector circuit is utilized by the microprocessor program. 
     The first stage of the audio detector circuit of FIG. 5 comprises an operational amplifier U 10  and capacitors C 1  56 and C 2  58 and resistors R 1  60, R 2  62 and R 3  64 which form an active band pass filter well known to those skilled in the art The output of the filter is fed into a comparator 68. The comparator 68 comprises of an operational amplifier U 20 , which compares the voltage fed out of the band pass filter with a reference voltage. The output of the comparator shifts between high and low levels depending on the voltage fed from the band pass section. 
     This shift of level is in turn translated into a status signal by a level shifter circuitry 70. Therefore, lead &#34;DS&#34;54 indicates a presence or absence of an audio signal in the telephone line. The digital to analog and analog to digital converters are already familiar with those skilled in the art. 
     The system operation of the present invention, implemented in the preferred embodiment, is illustrated by the flow charts of FIGS. 6-9 and the Appendix. Those skilled in the art will readily appreciate that other specific methods may be used in accordance with the present invention and that flow charts of FIGS. 6 through 9 may be modified without departing from the scope of the present invention. 
     Moreover, the flow chart of FIGS. 6 through 9 illustrate one way of implementing the present invention using a personal computer and taking advantage of the particular characteristics of the computer. Thus, the following description of the flow chart of FIGS. 6-9 is intended by way of illustration only, and not limitation. 
     With reference to FIG. 6, the system will begin operating with the Main Logic Loop. It is assumed that a retrievable data file of phone numbers exists on one of the personal computer&#39;s disk drives. One cycle through the Main Logic Loop is made for each phone number contained in the data base. The loop begins at step 100, and a new phone number is read from the data file. At step 102 software instructions are translated by the CPU into control signals that are fed into the audio/telephony interface adapter, to latch the relays into &#34;off hook&#34;, and to dial the phone number at step 104. The system at step 106, monitors the progress of the call to determine if it was answered. There are many techniques available in the prior art to monitor the progress of the call. For example, this may be accomplished by simply monitoring the loop current change in the telephone line, which occurs when the remote phone is lifted off hook. At step 108, the system after a certain period of time when the call is not answered, sends a signal representing &#34;no answer&#34; at 118. Consequently at 130, the system transmits another control signal setting the line relay &#34;on hook&#34;. The &#34;no answer&#34; code is then written into the database at step 132 and then Main Logic Loop is begun again with the next phone number at step 100. 
     If at step 108 the call is answered the system moves to step 110, which is the Recording Detection Operation. The Recording Detection Operation likewise calls the Silence Detection Operation. The system logic of step 110 is illustrated in FIG. 7 which will be later explained in detail. 
     Completion of operations at step 110 results in one of three possible codes represented by a &#34;RTN&#34; signal at steps 112, 114 and 116. If RTN is 0, system moves to 112, where the answering party is determined to be a person. The system moves to step 120, where digital data representing a voice message are converted to analog signal, and transmitted to the called party. At step 124, a code results, indicating that the message was delivered to a human. The system then moves to 130 whose operation has been discussed previously. If RTN is &#34;1&#34;, the system moves to step 114, which indicates that the answering party was determined to be a recording which stopped within a predefined period. The system moves to step 122, where an announcement message intended for answering devices is played. At step 126, a code results, indicating that the message was delivered to a machine. The system then moves to 130, whose operation has been discussed previously. 
     If RTN is &#34;2&#34; , the system moves to step 116, which indicates that the answering party was determined to be a recording which did not stop within a predefined period. No announcement message is played. At step 128, a code results, indicating that the called party was an endless audio. The system then moves to step 130, whose operation has been discussed previously. 
     Referring now to FIG. 7, the logic operations of step 110 of FIG. 6 is further explained. The system, in order to detect a recording, moves to step 200. Depending on the results of each test, successive tests are conducted to determine the status of the called party. Initially the system moves to step 202. A counter is set to examine the audio line for a time period called DURATION. During the examination of the audio line another counter starts counting, waiting for a silence period of a length called TRIGGER. The test will terminate as soon as a silence period equal to TRIGGER is detected, or DURATION expires, whichever occurs first. DURATION and TRIGGER are expressed in &#34;clock ticks&#34; which occur at the rate of 18 times per second in the personal computer of the preferred embodiment. In the preferred embodiment all DURATION and TRIGGER parameters would be easily modifiable software parameters so that &#34;fine tuning&#34; for a particular type or types of automated answering devices would be possible. Typical settings are indicated in FIG. 7. 
     The system at step 202, sets TRIGGER at 27 which is translated to 1.5 seconds and sets DURATION at 72 which is 4.0 seconds. At step 204, the system moves to step 300, for Silence Detection Operation. At this point the system is enabled to actually examine the audio detection signal on the audio/telephone interface adapter, and count the personal computer&#39;s &#34;clock ticks&#34;. At step 206 the result of Silence Detection Operation is examined. If the TRIGGER silence period was detected then the answering party is determined not to be a recording and therefore the system defines the called party as a live person. The return variable RTN is set to zero at step 208. The system then moves to step 230, indicating the completion of its detection. If the TRIGGER silence period was not detected within DURATION, then system determines that audio is present most of the time and the party could be either a person with a lengthy greeting or a recording. At step 210, a voice message to the effect of &#34;One moment please . . .&#34; is then played to the called party and the second test period begins at step 212, with another call to Silence Detection Operation beginning at step 214. Once again, at step 216 the result of Silence Detection Operation is examined. If the TRIGGER silence period was detected then the answering party is determined not to be a recording and therefore the system defines the called party as a live person. The return variable RTN is set to zero at step 218. The system then moves to step 230, indicating the completion of the detection. If the TRIGGER silence period was not detected within DURATION then audio was present most of the time and the party is determined to be a recording since a person would probably have ceased speaking after hearing the &#34;One moment please . . .&#34; message. 
     If the called party is determined to be a recording then a third test begins at step 220 to detect if and when it finishes playback of its message. The DURATION parameter is set to a reasonable maximum period for a message length for a call answering device such as 900 (50 seconds) and a third move to step 300 is initiated for Silence Detection Operation. If the TRIGGER silence period is detected at step 222, then the called party is determined to be a recording which stopped. At step 226 the RTN variable is set to 1 and the system then moves to step 230, indicating the completion of its detection. If at step 224, TRIGGER silence period is not detected within the DURATION period then the called party is determined to be a recording which did not stop. At step 228, the RTN variable is set to 2, meaning &#34;endless audio&#34;. The system then moves to step 230, indicating the completion of its detection. 
     Referring to FIG. 8, the Silence Detection Operation is described in more detail. This operation is conducted by sampling the audio detection signal line of the audio/telephony interface adapter once every cycle of the personal computer&#39;s 50 millisecond clock. At step 302 two variables called SAMPLES and SILCNT are initialized to zero. SAMPLES keeps a running count of total samples made and SILCNT keeps a count of consecutive samples with a silence indication. A loop is entered at step 304, which waits for the next &#34;clock tick&#34; that occurs approximately every 50 milliseconds. As soon as a &#34;clock tick&#34; occurs, the system moves to step 306 and SAMPLES is incremented by one. The audio activity bit of the status port of the audio/telephony interface adaptor is read at step 308 The system then moves to step 310. If the result is silence, then the system moves to step 314, and SILCNT is incremented by one. If the result is audio, then the system moves to step 312, and SILCNT is reset to zero. At 316, SILCNT is compared to the value of TRIGGER which was set at steps 202, 212 and 220. If SILCNT is greater than TRIGGER then the return variable RET is set to 1 at step 318 indicating that silence was detected. The system then moves to step 324 indicating that Silence Detection Operation, has been completed. If SILCNT is not greater than TRIGGER, then at step 320 SAMPLES is compared to the value of DURATION which was set at steps 202, 212 and 220. If SAMPLES is greater than DURATION then the return variable RET is set to zero at step 322, indicating that silence was not detected. The system then moves to steps 324, indicating that the Silence Detection Operation is completed. Silence Detection Operation can be modified so that it could return actual count of sound and silence samples in addition to the RTN variable. These counts could prove useful in the detection of specific recording device types where the greeting audio pattern is consistent and known. 
     Another embodiment of this invention is presented in FIGS. 9 and 10. As illustrated in FIG. 9 and step 210&#39;, it is obvious to those skilled in the art that step 210 of FIG. 7 could be modified so that a message, to the effect that requires a called party to press a specific dial tone, is transmitted. A tone decoder 29 as illustrated in FIG. 10 is activated at modified step 212&#39;. The system at step 216&#39; determines if the called party has responded by pressing the dial tone. If the dial tone is pressed the system moves to step 218 and same operations that were explained for FIG. 7, will resume. If the tone decoder could not detect the requested dial tone the system moves to step 220 and same operations that were explained for FIG. 7, will resume. 
     In the specific embodiments explained herein, the personal computer could be any available PC like IBM &#34;PC&#34;, &#34;XT&#34; or &#34;AT&#34; models. The digital audio/telephony interface adapter is the type similar to IBM Voice Communications Option Adapter part no. 6294771. The number of subscriber lines attached to personal computer based autodialer may be increased from one to as many as desired by use of several audio/telephony interface adapters or by use of adapters which support several subscriber lines. The system operations is implemented by application software written in any suitable personal computer programming language, like the one illustrated in the Appendix. 
     Although illustrative embodiments of the present invention have been described in detail with reference to accompanying drawings, it is obvious to those skilled in the art that modifications to the system described herein, can be implemented in many other designs, like hardware based systems, or analog voice storing and receiving techniques instead of the digital conversion. These and other various changes and embodiments may be effected by one skilled in the art without departing from the spirit and the scope of the invention, which is intended to be determined by reference to the claims and their equivalent in light of the prior art. ##SPC1##