US 5,311,588 AGrant
Call Progress Detection Circuitry and Method
Issue Date:1994-05-10
•58 Claims
•3 Drawing Sheets
Abstract
There is disclosed a method and system for determining the progress of a calling connection. The system measures the peak voltage of the signals on the line and derives a ratio of these peak signals to the average value of the signal. From this ratio a determination is made as to the calling condition of the line.
Metadata
Assignee
- InterVoice, Inc.
Inventors
- Michael J. Polcyn
- Ellis K. Cave
- Howard S. Barnett
Application Information
Application Number:US 0914673
Filing Date:1993-07-13
Priority Date:1991-02-19
Art Unit:261
Classifications
IPC:
H04M 100
Field of Search:
379386;257;377;258;265;266;382;252
Patent Drawings (3 sheets)
Description
TECHNICAL FIELD OF THE INVENTION
This invention relates to a communication system call progress system and method and more particularly to such a system and method using peak to average ratios of the signal for detection purposes.
BACKGROUND OF THE INVENTION
In modern communication technology it is becoming increasingly more important to be able to electronically detect the progress of a calling connection. One reason this is important is so that in automatic systems, particularly predictive dialing systems such as disclosed in concurrently filed copending patent application assigned to a common assignee, which patent is hereby incorporated by reference herein, the system is able to ascertain the status of any calling connection with a high degree of certainty.
It is not acceptable just to know that the call has not been answered, but the value of such a system lies in its ability to distinguish between no answer, busy, a dedicated computer or fax line, operator intercept, modems, etc. By knowing this information, the calling system can make determinations about future calls. For example, if a fax machine answers a call, there is no point in leaving a voice message or in retrying that call to that number. On the other hand, if a busy condition is detected, a call can be retried sooner than it would be if a no-answer condition were to be found.
Typically, the prior art in one form or another detects the envelope of the call progress signals. These envelopes are a result of the dual tones which are used for creating the various call progress audio signals. Such a system, however, does not work well in all countries, particularly where the telephone systems do not have standard tones which define the call progress signals.
In addition to the problem encountered where there are no signal envelopes, the prior art systems do not handle the situation where there is an answer by an attendant or by a fax machine or computer.
Another prior art method of determining call progress is to measure the on and off times of the audio signals, and from the change in cadence of these signals, deduce that a call has been answered. Again, this system cannot discriminate between answering machines, fax equipment, etc.
Accordingly, there exists in the art a need for systems and methods of determining the progress of calling connections without resort to signal timing or signal envelope detection.
SUMMARY OF THE INVENTION
In order to detect the progress of telephone calling connections, we take advantage of a technique called peak to average signal ratios (PAR) determination. By analyzing the PAR and from knowing certain other characteristics of the call progress signals, it is possible to ascertain whether the connection has been answered by a human voice, a machine, or busy, or other signals are on the line.
This technique is coupled with a sliding window in which the measurements are made. This has the advantage of determining when the signal changes or its transition. A further advantage of this system is that the determination of what type of signal is on the line needs to be evaluated only at the transition time.
There are two predominant features that are important in determining call progress. The first is to determine that a transition has occurred on the line, i.e., tone to silence, silence to somebody talking, etc. The second is to be able to classify the detected change. Transition detectors are used to determine when the change occurs, and then other methodology is used to determine what kind of change occurred. One type of methodology used for determining "what" occurred is a repeat methodology. A machine repeatable sound, for instance a tone, will repeat itself over a period of time. By so repeating, the tone maintains the same peak to average and the same power. The results of the peak/average and the power are sampled and resampled, on a periodic basis, and if they are close, it can be assumed that it is a machine repeatable tone.
Another essential feature of this invention is determining the difference between noise and a voice. In this aspect, it is assumed that voice over a short period will change faster than noise, and thus, if the PEAK/MAX remains constant, it is assumed that the tone is non-voice.
Thus, it is an advantage of our system and method that peak to average signal ratios are compared to other known factors and are also taken at various points in time to build a particular profile of the call progress signals. From this profile, a call progress determination can be accurately ascertained, all without regard to signal envelope measurements.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing objects, features and technical advantages, as well as others, of the invention will be more apparent from the following description of the drawings in which:
FIG. 1 is a flow chart showing one arrangement of an algorithm for controlling the system;
FIG. 2 shows the sliding time frames for determining transitions;
FIG. 3 shows a graph of a typical voice energy level;
FIG. 4 shows a graph of peak power, and the results of power summation; and
FIG. 5 shows a typical system using the invention.
DETAILED DESCRIPTION OF THE INVENTION
Before beginning a discussion of the predictive algorithm, it might be helpful to understand the context in which the algorithm is to be used. This is best illustrated from a review of FIG. 5 in which telephone trunks 501 from a telephone exchange (not shown) extend through telephone switch 56 in a conventional way and via telephone lines 502 to telephone stations (not shown), which are utilized by agents. Each of these agents also has a keypad and computer input terminal connected to a computer (not shown), which communicates with computer 57 and provides computer 57 with a list of telephone numbers which are to be called throughout the course of a given time period. Call control computer 57 then places calls through telephone switch 56 by first establishing the call via use of call placement and call progress determination circuit 58.
The system works such that circuit 58 dials a call over one of the trunks 501 and monitors the progress of the call via lines 513 to determine whether the call has been answered, a busy signal has been returned or a no-answer situation exists. Upon determination of an answer, that information is communicated (either through switch 56 or via a direct bus connection) to call control computer 57 which in turn monitors which agent is then available. Computer 57 then controls telephone switch 56 to complete a connection from the active trunk 501 over a selected line 502 to a selected agent. Call control computer 57 then transmits information to the active terminal indicating the identity of the called party. At the same time the terminal communicates this information to the main computer which then accesses its data base and provides the block of data to the appropriate agent operating in this respect in the inquiry mode.
System 50 then operates to automatically place calls to called parties and must do so in a manner such that when the calls are answered, an attendant is available. The efficiency with which call control computer 57 performs its function determines the efficiency and thus the profitability of system 50.
Continuing with FIG. 5, call control computer 57 controls the call placement and call determination algorithms that are resident in call placement unit 58 within a DSP. Within the DSP is control software 520, which controls various subroutines and latches in the subroutines that are needed in order to perform its function, such as DTMF recognition 521 or call progress detection 10. When the call control software wishes to set up a telephone call and do call progress detection, it would control switch 56 to set up the telephone call and receive the PCM data from trunk lines 501. It would then route that data into call progress detect algorithm 10 while controlling the algorithm by defining what type of detection is required. When call progress detection algorithm 10 determined the call disposition, that is, whether the call had been answered or is busy, or is a ring, no answer, etc., it would respond to the control software with the appropriate code. The control software would then pass that control code to the control computer for disposition.
As discussed above, outbound call progress monitors the line after a call has been dialed and reports to the higher level when the call has been answered. Since many calls are terminated without a human answering the call, output call progress detects and reports results of other line conditions. The program will return a result if it detects a busy, reorder, SIT, modem or fax. If the call is not answered in a specified time, or the call was not properly routed, the program will return a ring-no-answer status, a line-dead status, or a line-dead after-first-ringback status.
Outbound call progress is a function that runs in the AT&T signal processing chip in the VCD. The call progress function is designed to monitor multiple channels of PCM audio data concurrently. To access outbound call progress, the system arms call progress by a call to call.sub.-- arm. This allows call progress to initialize its variable memory. The main program makes subsequent calls to call progress every 15 milliseconds. When the main program calls the call progress routine, a sample buffer containing 15 milliseconds of data (120 samples) is passed to the call progress routine. This data passed is referred to as the "sample buffer" in this document.
Call progress needs to examine several of these sample buffers simultaneously. When a sample buffer is received, call progress attaches it to a buffer information structure. As more information is processed about this buffer, the results are added into the buffer information for that sample buffer. Call progress may use up to four sample buffers simultaneously.
Outbound call progress contains a layered approach to call discrimination. Each level uses information from the levels below and refines this information for the next level.
As shown in FIG. 1, the lowest level, layer 0, records the power of the signal. If the power of the signal collected in a sample buffer is large enough (greater than -50 dbm) to be considered a signal on the line, other attributes such as the peak average, and the maximum positive and negative voltages are recorded.
The next layer, layer 1, uses the layer 0 factors to determine transitions in the signal. This change may be from silence to signal or may be from one type of signal to another.
When the change indicator from layer 1 shows a change, or if the level above requests more data, layer 2 performs more transition operations. These measure the click attributes of the signal as well as the consistency of the signal with time.
Layer 3 identifies the type of signal that has caused the transition. Layer 3 evaluates information from the lower layers. Layer 3 must determine whether or not the signal is machine repeatable (defined as a signal that is relatively constant in power and number of frequencies with time). If the signal was machine repeatable, layer 3 categorized the signal as a single tone, dual tone or "rbtone" (more than two tones). If the signal was not machine generated, layer 3 must classify the signal as a voice, click, or noise. If the signal type can be determined with high probability, layer 3 sends that information to layer 4; otherwise, layer 3 will wait for more information. Layer 3 will continue to evaluate and wait until the signal can be determined with a high probability of accuracy, or the signal is going away forcing a "best guess" response to the signal.
Layer 4 receives information when layer 3 determines the type of transition that has been made. This information is processed to evaluate the call progress. Cadences are measured to determine if a busy, ring or reorder cadence exists or if a ring cadence has been broken. Once layer 4 determines the disposition of the call, the routine passes that information to the main routine which in turn informs the calling routine.
Layer 2, layer 3 and layer 4 are event-driven layers. They only act upon data if there is a change in the signal. However, part of the function of layer 4 must be time-driven. The time-driven logic (located in CP.sub.-- MAIN) is responsible for recognizing events that may need to be triggered although there has been no change in that signal. The most obvious of these timing events deals with the dead-air time-out. The main routine monitors the time from enable. If a specified amount of time has elapsed before the first call progress sound is heard, the routine terminates call progress. Other conditions that are monitored at this level are 1) the amount of time the telephone is ringing and 2) the amount of silence from the last call progress tone.
Module Breakdown
When the call progress is first called by the control software, it is initialized using CP.sub.-- ARM, and is called using the call subroutine, which sets up all the initial variables, and thus initializes the call progress algorithms. The parameters initialized in CP.sub.-- ARM would define the amount of time in the ring, no-answer responses, and exactly where the data is coming from. This allows the call progress detection algorithms to initialize the memory and data to know that it is starting a new detection algorithm. Subsequent calls from the main program would go to CP.sub.-- MAIN. CP.sub.-- MAIN would then direct the data, when required, to perform the layer 0, 1, 2, 3 or 4 actions in the program.
Within each of the layers of the algorithm, there are subroutines which have been given various titles, which subroutines are listed below, and will be discussed in detail hereinafter.
FIG. 4 shows how to compute the peak average ratio (PAR). The peak average is the maximum voltage squared divided by the average power (the sum of all voltage samples squared divided by the number of samples) or: ##EQU1## PAR equals 2 for a sine wave. Two tones superimposed on each other produces a par of 4.
It should be noted that the specific number of samples processed, the periodic sample rate and other timing specified are examples and other intervals may be chosen. This also applies to all frequency bands used in the examples.
Although this description describes the invention with reference to the above specified embodiments, it is but one example, and the claims, not this description, limit the scope of the invention. Various modifications of the disclosed embodiment, as well as alternative embodiments of the invention, will become apparent to persons skilled in the art upon reference to the above description. Therefore, the appended claims will cover such modifications that fall within the true scope of the invention.
Claims
What is claimed is:
1. A method of determining telephone line status comprising the steps of: monitoring audio signals on the line to determine a transition from one line state to another; said monitoring step including the step of calculating a first ratio level between a peak instantaneous power level of said audio signals and an average power level of said audio signals, and a second ratio level between said peak instantaneous power level of said audio signals and a maximum power level of said audio signals; and comparing said first and second ratio levels to a set of criteria to determine said telephone line status,
2. The method set forth in claim 1 wherein based upon a determined line state transition, there follows the step of: determining if the transition is to a voice mode by a called party.
3. The method set forth in claim 2 wherein said determining step includes the step of: timing the power ratio level for a period of time; and returning a signal if the power ratio level is unchanged for said period of time.
4. The method set forth in claim 2 wherein said determining step includes the step of: ascertaining if the determined transition is a click or silence.
5. The method set forth in claim 4 wherein said ascertaining step includes the step of: comparing peak to average power ratio levels at spaced apart intervals.
6. The method set forth in claim 5 wherein said ascertaining step further includes: comparing peak power against maximum change in power with respect to time.
7. The method set forth in claim 1 wherein said monitoring step further includes the step of: establishing sliding windows of time increments; and measuring the ratio levels from different windows on a look-ahead basis.
8. The method set forth in claim 7 wherein said calculating step further includes the steps of: storing calculated ratio levels from different time increments; looking backward to at least one time increment to determine an end of a signal period; and looking forward at least one time increment to determine a beginning of a signal period.
9. The method set forth in claim 8 wherein at a given point in time power ratio levels from n different time increments are stored; and wherein said looking steps each include looking at the power ratio levels stored in less than n of said increments.
10. The method set forth in claim 9 wherein n=5.
11. The method set for in claim 1 wherein said monitoring step includes the step of comparing a density change between subsequently calculated ratio levels between said peak instantaneous power level and said average power level of said audio signals.
12. The method set forth in claim 11 wherein said comparing step includes: establishing buffers for different contiguous periods of time, each buffer storing peak to average power ratio levels for one period of time; for any one instant of time, examining the power ratio levels of: the preceding one buffer; the preceding two buffers; and the preceding three buffers so as to establish a first set of three indicators, and for the same one instant of time, examining the power ratio levels of: the following one buffer; the following two buffers; and the following three buffers so as to establish a second set of three indicators; and comparing the three indicators from either said first or said second set of indicators.
13. The method set forth in claim 12 wherein a transition is detected if the compared indicators in either the first or second set move in a particular order.
14. A telephone cell placement system comprising: a processor for identifying calls to be placed on a statistical basis; a plurality of attendants for handling calls placed by said processor; a switching network operable in response to calls identified for establishing a call in connection to called lines in response to said processor; and a call progress detector connectable via said network to calling ones of said lines for controlling connection through said network to idle ones of said attendants, said detector including: means for calculating a first ratio level between a peak instantaneous power level of audio signals on said lines and an average power level of said audio signals, and a second ratio level between said peak instantaneous power level of said audio signals and a maximum power level of said audio signals on said lines to determine transitions from one line state to another.
15. The system set forth in claim 14 further comprising: means enabled by a determined line state transition then determining if the transition is to a voice mode by a called party.
16. The system set forth in claim 14 wherein said calculating means further includes: means for establishing sliding windows of time increments; and means for measuring the power ratio levels from different windows on a look-ahead basis.
17. The system set forth in claim 14 wherein said determining means includes: means for timing the power ratio level for a period of time; and means for returning a signal if the power ratio level is unchanged for said period of time.
18. The system set forth in claim 14 wherein said calculating means further includes: means for storing calculated power ratio levels from different time increments; means for looking backward to at least one time increment to determine an end of a signal period; and means for looking forward at least one time increment to determine a beginning of a signal period.
19. The system set forth in claim 18 wherein at a given point in time power ratio levels from n different time increments are stored; and wherein said looking means each include looking at the power levels stored in less than n of said increments.
20. The system set forth in claim 19 wherein n=5.
21. The system set forth in claim 14 wherein said calculating means includes: means for comparing a density change between subsequently calculated peak to average power ratio levels.
22. The system set forth in claim 21 wherein said comparing means includes: buffers for different contiguous periods of time, each buffer storing peak to average power ratio levels for one period of time; means operable at any one instant of time for examining the power ratio levels of: the preceding one buffer; the preceding two buffers; and the preceding three buffers so as to establish a first set of three indicators, and for the same one instant of time, means operable for examining the power ratio levels of: the following one buffer; the following two buffers; and the following three buffers so as to establish a second set of three indicators, and comparing the three indicators from either said first or said second set of indicators.
23. The system set forth in claim 22 further including: means for detecting a transition if the compared indicators in either the first or second set move in a particular order.
24. The system set forth in claim 14 wherein said calculating means includes: means for ascertaining if the determined transition is a click or silence.
25. The system set forth in claim 24 wherein said ascertaining means includes: means for comparing peak to average power ratio levels at spaced apart intervals.
26. The system set forth in claim 25 wherein said ascertaining means further includes: means for comparing peak power against maximum change in power with respect to time.
27. A system for determining telephone line status comprising: means for monitoring audio signals on the line to determine transitions from one line state to another; wherein said monitoring means includes means for calculating a first ratio level between a peak instantaneous power level of said audio signals and an average power level of said audio signals, and a second ratio level between said peak instantaneous power level of said audio signals and a maximum power level of said audio signals; and means for comparing said first and second ratio levels to a set of criteria to determine said telephone line status,
28. The system set forth in claim 27 wherein said monitoring means further includes: means for establishing sliding windows of time increments; and means for measuring the power ratio levels from different windows on a look-ahead basis.
29. The system set forth in claim 28 wherein said calculating means further includes: means for storing calculated power ratio levels from different time increments; means for looking backward to at least one time increment to determine an end of a signal period; and means for looking forward at least one time increment to determine a beginning of a signal period.
30. The system set forth in claim 27 further comprising: means enabled by a determined line state transition for determining if the transition is to a voice mode by a called party.
31. The system set forth in claim 30 wherein said determining means includes: means for timing the power ratio level for a period of time; and means for returning a signal if the power ratio level is unchanged for said period of time.
32. The system set forth in claim 30 wherein said determining means includes: means for ascertaining if the determined transition is a click or silence.
33. The system set forth in claim 32 wherein said ascertaining means includes: means for comparing peak to average power ratio levels at spaced apart intervals.
34. The system set forth in claim 33 wherein said ascertaining means further includes: means for comparing peak power against maximum change in power with respect to time.
35. The system set forth in claim 27 wherein said monitoring means includes: means for comparing a density change between subsequently calculated peak to average power ratio levels.
36. The system set forth in claim 35 wherein said comparing means includes: buffers for different contiguous periods of time, each buffer storing peak to average power ratio levels for one period of time; means operable at any one instant of time for examining the power ratio levels of: the preceding one buffer; the preceding two buffers; and the preceding three buffers so as to establish a first set of three indicators, and for the same one instant of time, means operable for examining the power ratio levels of: the following one buffer; the following two buffers; and the following three buffers so as to establish a second set of three indicators, and comparing the three indicators from either said first or said second set of indicators.
37. The system set forth in claim 36 further including: means for detecting a transition if the compared indicators in either the first or second set move in a particular order.
38. A circuit for determining telephone line status comprising: means for monitoring audio signals on said line to determine a transition from one line state to another; said monitoring means including means for calculating a first ratio level between a peak instantaneous power level of said audio signals and an average power level of said audio signals, and a second ratio level between said peak instantaneous power level of said audio signals and a maximum power level of said audio signals; and means for comparing said first and second ratio levels to a set of criteria to determine said telephone line status,
39. The circuit as set forth in claim 38 further comprising: means for determining if the transition is to a voice mode by a called party based upon a determined line state transition.
40. The circuit as set forth in claim 39 wherein said determining means includes: means for timing the power ratio level for a period of time; and means for returning a signal if the power ratio level is unchanged for said period of time.
41. The circuit as set forth in claim 39 wherein said determining means includes: means for ascertaining if the determined transition is a click or silence.
42. The circuit as set forth in claim 41 wherein said ascertaining means includes: means for comparing peak to average power ratio levels at spaced intervals.
43. The circuit as set forth in claim 42 wherein said ascertaining means further includes: means for comparing peak power against maximum change in power with respect to time.
44. The circuit as set forth in claim 38 wherein said monitoring means further includes: means for establishing sliding windows of time increments; and means for measuring the power ratio levels from different windows on a look-ahead basis.
45. The circuit as set forth in claim 44 wherein said calculating means further includes: means for storing calculated power ratio levels from different time increments; means for looking backward at least one time increment to determine an end of a signal; and means for looking forward at least one time increment to determine a beginning of a signal.
46. The circuit as set forth in claim 44 wherein at a given point in time power ratio levels from n different time increments are stored, and wherein said looking means each include means for looking at the power ratio levels stored in less than n of said increments.
47. The circuit as set forth in claim 46 wherein n=5.
48. The circuit as set forth in claim 38 wherein said monitoring means includes: means for comparing a density change between subsequently calculated peak to average power ratio levels.
49. The circuit as set forth in claim 48 wherein said comparing means includes: means for establishing buffers for different continguous periods of time, each buffer storing peak to average power ratio levels for one period of time; for any one instant of time, means for examining the power ratio levels of: the preceding one buffer; the preceding two buffers; and the preceding three buffers so as to establish a first set of three indicators, and for the same one instant of time, means for examining the power ratio levels of: the following one buffer; the following two buffers; and the following three buffers so as to establish a second set of three indicators; and means for comparing the three indicators from either said first or said second set of indicators.
50. The circuit as set forth in claim 49 wherein a transition is detected if the compared indicators in either the first or second set move in a particular order.
51. A circuit for determining call progress in a communications system, said circuit comprising: means for monitoring call progress audio signals on a telephone line; means for recording power levels of said monitored call progress audio signals; means for calculating a first ratio level between a peak instantaneous power level of said audio signals and an average power level of said call progress audio signals, and a second ratio level between said peak instantaneous power level of said audio signals and a maximum power level of said call progress audio signals; and means for determining transitions from one line state to another by evaluating said recorded and calculated power levels of said monitored call progress audio signals.
52. The circuit as set forth in claim 51 further comprising: means for comparing said recorded power ratio levels against a present power ratio level to provide an added indication of call progress signals on said line.
53. The circuit as set forth in claim 51 further comprising; means for identifying call progress signal types by evaluating said determined transitions.
54. The circuit as set forth in claim 53 further comprising: means for determining the status of any call based upon said identification of said call progress signal types.
55. The circuit as set forth in claim 54 wherein said determining means includes: means for separating out those call progress signals not having relatively constant power levels and a relatively constant number of frequencies within a frequency spectrum.
56. The circuit as set forth in claim 55 wherein said determining means further includes: means for further separating those separated call progress tones having an average energy level above a certain threshold.
57. The circuit as set forth in claim 55 wherein said determining means further includes: means for further separating those separated call progress tones having a constant peak to maximum value.
58. The circuit as set forth in claim 55 wherein said determining means further includes: means for further separating those separated call progress tones having peak averages higher than a first value and lower than a second value.
Patent Citations (10)
| Patent | Date | Inventor | Cited By |
|---|---|---|---|
| US4405833 | 1983-09-01 | Cave et al. | |
| US4439639 | 1984-03-01 | Munter | |
| US4620066 | 1986-10-01 | Bushnell et al. | |
| US4696031 | 1987-09-01 | Freudberg et al. | |
| US4734933 | 1988-03-01 | Barsellotti et al. | |
| US4742536 | 1988-03-01 | Dewater et al. | |
| US4864605 | 1989-09-01 | Ramsay et al. | |
| US4979214 | 1990-12-01 | Hamilton | |
| US5070526 | 1991-12-01 | Richmond et al. | |
| JPX144949 | 1986-07-01 |