WO1992008309A1 - Telephone calling apparatus and method - Google Patents

Telephone calling apparatus and method Download PDF

Info

Publication number
WO1992008309A1
WO1992008309A1 PCT/US1991/008209 US9108209W WO9208309A1 WO 1992008309 A1 WO1992008309 A1 WO 1992008309A1 US 9108209 W US9108209 W US 9108209W WO 9208309 A1 WO9208309 A1 WO 9208309A1
Authority
WO
WIPO (PCT)
Prior art keywords
telephone
interactive
state
group
calling apparatus
Prior art date
Application number
PCT/US1991/008209
Other languages
French (fr)
Inventor
Anthony Ben Dibianca
Anthony John Dibianca
Original Assignee
Anthony Ben Dibianca
Anthony John Dibianca
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anthony Ben Dibianca, Anthony John Dibianca filed Critical Anthony Ben Dibianca
Publication of WO1992008309A1 publication Critical patent/WO1992008309A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/46Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2749Automatic dialling or redialling systems, e.g. on off-hook or redial on busy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/64Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
    • H04M1/65Recording arrangements for recording a message from the calling party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • H04M2203/2027Live party detection

Definitions

  • This invention relates to telephone calling machines, and more particularly to electronically controlled telephone calling machines.
  • a human "phone tree" is used to communicate messages to a group of people.
  • an organization such as a school or church (or a sub-group such as a choir, band, or activity group) will use a "phone tree" to communicate information such as meeting time reminders, special events, fundraising results, and other information, in the form of a message.
  • a small number of first level callers each deliver a message to one or more second level callers.
  • the second level callers each call one or more third level callers. This "phone tree" continues from one level to the next until everyone in the group has received the message.
  • a telephone calling apparatus and method in which telephone numbers and group identifiers are electronically stored.
  • the stored telephone numbers and group identifiers are linked to one another so that the telephone numbers belonging to each group are defined.
  • Telephone calls to any group may be initiated using the group identifier.
  • group identifiers By linking group identifiers to telephone numbers, multiple groups can be defined and modified.
  • an electronic controller connected to the telephone number and group identifier storage, and a telephone call initiator (dialer) , sequentially provides the telephone numbers linked to a group identification to the telephone call initiator.
  • the telephone call initiator initiates the telephone calls in response to the telephone numbers provided to it.
  • the telephone calling apparatus receives communications signals from both interactive (live human) respondents and non-interactive (for example via an answering machine or any other telephone signal other than a live human voice) systems, and distinguishes between the interactive and non- interactive responses based upon the elapsed receipt time of the responses measured by the calling apparatus.
  • the calling apparatus further distinguishes between the different types (classes) of non- interactive responses, for example answering machines versus wrong number recorded responses.
  • the calling apparatus may transmit a message to the called party.
  • the calling apparatus may ask for and receive a series of pulse signals from the telephone number called, and determine the number of pulse signals in the series of pulse signals based on the receipt time for the received series of pulse signals.
  • the receipt time for the received services of pulse signals is compared to a predetermined receipt time, in order to identify the type of interactive response provided by the telephone number called to the query transmitted by the calling apparatus.
  • FIG. 2 is a high level circuit block diagram of the telephone calling apparatus of Figure 1.
  • Figures 6-48 illustrate operational states for the telephone calling apparatus of Figure 1.
  • Figures 49-58 illustrate timing diagrams for distinguishing between interactive and non-interac ive responses according to the present invention.
  • the telephone calling apparatus of the present invention links group identifiers with telephone numbers to permit sending of a message associated with a group identifier to telephone numbers linked to the group identifier.
  • Names are also linked or associated with telephone numbers to identify the person having a particular telephone number.
  • Telephone numbers, persons' names and group identifiers may be added, deleted, and modified.
  • persons' names and telephone numbers may be added to a particular group and deleted from a particular group. This is accomplished by modifying the linking between telephone numbers and group identifiers.
  • messages associated with group identifiers can be modified. It is possible that a single message may be associated with more than one group identifier.
  • the linking or association between group identifiers and messages may also be modified.
  • the calling apparatus includes a keyboard 14 consisting of function keys 12, alphanumeric/symbol keys 13 and cursor keys 18.
  • Function keys 12 permit the user to direct the calling apparatus to accomplish the functions of adding, deleting, etc.
  • the user enters the data or calling information such as persons' names, telephone numbers, organization list names, group identifiers via alphanumeric/symbol keys 13. Messages may be entered via these keys.
  • Interactive user operations include additions, deletions and modifications of organization list names, group identifiers, persons' names, telephone numbers, messages, and linking or association between telephone numbers and group identifiers as well as between group identifiers and messages.
  • the central processing unit 50 electronically controls the operation of telephone calling apparatus 10.
  • CPU 50 is an Intel 8031, 12 megahertz, microprocessor, however other processors may be used.
  • the CPU electronically controls operations of the calling apparatus including storage and retrieval of data, entry of data, conversion of messages from digital to analog and analog to digital, sending of messages, analysis of responses to calls placed to designated telephone numbers, as well as other operations.
  • Operating software is stored in read only memory 52, referred to as ROM, and communicates directly with CPU 50. The operating software permits CPU 50 to control the operations of calling apparatus 10. This software for controlling the calling apparatus will be described with reference to Figures 7-48.
  • CPU 50 also controls the operation of random access memory 54, referred to as RAM. Names, telephone numbers, group identifiers and status of individual calls placed to telephone numbers are stored in RAM 54. CPU 50 controls the storage and retrieval of data in RAM 54. Keyboard 14 permits entry of data items as well as selection of user functions via alphanumeric/symbol keys 13 and function keys 12. CPU 50 then responds to user designations at keyboard 14 by electronically controlling calling apparatus 10 in accordance with the user commands. Keyboard 14 may be a Conductive Rubber Switchpad manufactured by ITT Schadow/Brandel Stephens, of Greensboro, North Carolina, however other keyboards may also be used.
  • CPU 50 controls screen display 16 to cause display of data being entered via keyboard 14, selection and operation of user functions and status of calling operations thereon. Screen display 16 may be a liquid crystal display (LCD) DM 1621 manufactured by Sanyo, however other displays may be used.
  • LCD liquid crystal display
  • Communications port 56 may provide an RS-232 serial interface for testing and quality control during the manufacturing process.
  • a separate microprocessor can be connected to communications port 56 to perform testing and quality control during the manufacturing process, or interactive data exchange between calling apparatus 10 and a remote computer.
  • Battery controller 58 provides a backup power source connected to RAM 54 for maintaining the storage of group identifications, telephone numbers, names and status of telephone calls as well as associations of messages with particular groups when the primary power source to CPU 50 which provides power to RAM 54 is disconnected.
  • Battery controller 58 may be a DS1210 manufactured by Dallas Semiconductor, Inc. of Dallas, TX, however other battery controllers may be used.
  • DRAM memory dynamic random access memory 60
  • Digital voice circuit 62 records and plays back human speech. This circuit 62 is controlled by CPU 50.
  • DRAM 60 may be a 41C1000 manufactured by
  • Digital voice circuit 62 may be a TC8831F manufactured by Toshiba or others.
  • Voice circuit 62 accepts a human voice message as an analog signal via microphone 64 and converts this message to a digital signal for storage in DRAM 60.
  • Voice circuit 62 retrieves a stored message in DRAM memory 60 and converts the message from a digital signal to an analog signal to be sent to a telephone number or played back via speaker 20 as controlled by CPU 50. Once a message is complete, voice circuit 62 transmits an end of speech indication back to CPU 50.
  • Voice circuit 62 is also used as a dual tone mixed frequency'transmitter referred to as DTMF transmitter which transmits the standard dialing tones defined by a touchtone telephone design.
  • the digital voice circuit transmits pre-recorded DTMF signals for dialing purposes.
  • Prerecorded tones are digitally stored in ROM 52 and are transferred to DRAM 60 via CPU 50 and digital voice circuit 62 for use in dialing. These DTMF tones are transmitted via the digital voice circuit 62 when a user selects tone dialing mode. If a user selects pulse dialing mode, the DTMF tones are not used.
  • Microphone 64 which provides digital voice circuit 62 with human voice speech as an analog signal, may be a model 994 manufactured by Panasonic or another microphone.
  • Signal processor 66 may be a low power, quad operational amplifier having part number LM 324 manufactured by National Semiconductor or others. Signal processor 66 receives output from digital voice circuit 62 under control of CPU 50 as an analog signal. The analog signal is routed by signal processor 66 to local speaker 20 and/or onto telephone network via telephone line interface 68. The path to speaker 20 is via a low power audio amplifier. The path to telephone line interface 68 is a simple low pass filter. Speaker 20 has an on/off control switch which is controlled in accordance with the setting of a mute bit received directly from CPU 50 by signal processor 66. Similarly telephone line interface 68 is controlled by an on/off switch which determines whether the telephone is on/off line.
  • the on/off switch is a hook switch which is controlled by a hook switch bit received by signal processor 66 directly from CPU 50.
  • the hook switch determines whether the telephone is on/off line meaning whether the telephone receiver is hung up or removed from the telephone base.
  • Telephone line interface 68 is a Data Access Arrangement referred to as a DAA.
  • Line interface 68 provides switch hook relay, line impedance matching, FCC approved line coupling and a two to four wire converter. Interface 68 communicates bi-directionally with the telephone lines and ultimately the telephone company central office.
  • the DAA establishes the telephone connection with the central office of the telephone company. In order to establish the connection, the switch hook relay is closed by the DAA. When the switch hook relay is closed, the central office connected with the telephone trunk line knows that the telephone is off hook. The telephone connection can then be completed.
  • the DAA may be model CH1816 manufactured by Cermetek, or other suitable telephone line interface circuit.
  • the telephone connection is completed by a telephone number being transmitted by CPU 50 directly to telephone line interface 68.
  • the telephone line interface performs pulse dialing.
  • CPU 50 transmits touchtones stored in RAM 52 to DRAM 60.
  • CPU 50 controls digital voice circuit 62 to retrieve the tones from DRAM 60 and convert the tones to an analog signal.
  • the converted tones are transmitted to DAA 68 via signal processor 66 to be passed on to the telephone lines and ultimately the central telephone office.
  • CPU 50 controls the telephone calling apparatus to continue allowing the ringing to take place. After a predetermined number of unanswered rings, CPU 50 controls the apparatus to disconnect the connection via telephone line interface 68. If the received signal is a busy signal, or an answering machine, CPU 50 controls the apparatus to disconnect the telephone line connection and make an indication in RAM 54 that the telephone number be called again at a later time. Finally, if a determination was made that the response was human speech, CPU 50 controls digital voice circuit 62 and signal processor 66 to transmit the message via DAA 68. It will be understood having skill in the art that messages may also be sent as a digital signal thus avoiding the need to convert the signal from digital to analog.
  • a failure to respond by either pressing the wrong key on the receiving party's telephone or pressing no key on the receiving party's telephone results in a determination of invalidity. If a valid tone was received, CPU 50 controls digital voice circuit 62 and signal processor 66 to transmit the appropriate message. In the event an invalid signal was received, CPU 50 controls DAA 68 to disconnect the connection with the telephone line and store an appropriate reminder in RAM 54 to indicate that the call be placed again at a later time.
  • FIG. 3 A matrix of individuals listed vertically on the left hand side and groups listed horizontally across the top is illustrated in Figure 3.
  • the intersection of the vertical list of names, telephone numbers and group lists, and the group names and group identifiers listed across the top has either a YES or NO value to indicate whether or not that individual is a member of the group. If the intersection is YES, then the group identifier for that particular group should be listed in the group list for that individual. If the value of the intersection is NO, then the group identifier for that particular group should not be listed in the group list for that particular individual and the lack of association between an individual and a group is indicated by an asterisk in place of the group identifier in the group list for that individual.
  • the association or linking between groups and telephone numbers of group members is accomplished by using linked lists, indexing or other techniques for associating information. Linked lists, indexing and other techniques are commonly known to those skilled in the art.
  • a user identifies a group of an organization to which he or she wants to send a message. For example, the user indicates that he or she desires to send a message to Group 3, i.e. Conference.
  • the telephone calling apparatus searches the group lists to identify those group lists having Group 3 as an element of the list. Each telephone number and consequently individual having the telephone number is identified by the linking of the telephone number to the group. Those individuals who are members of Group 3 as indicated by Group 3 being an element in the group lists receive a message associated with Group 3. For example, Sue Baker, Farmer Brown, Jimbob Coleman and Joe Zeb are identified as members of Group 3 and the message associated with Group 3 is sent in sequence to those individuals at the telephone number associated with their name.
  • an event occurs automatically once the elapsed time is greater than five minutes.
  • the display is changed as illustrated in the state block. It is important to note that the user may take an action indicated within the display at any point during the state. Furthermore, the user may take an action, i.e. cause an event to occur, which is not illustrated in the display but which may be accessed by scrolling the display using cursor keys 18. A one (1) kHz tone then sounds for two (2) seconds. Finally, control is transferred to TIMES_UP_STATE. At any point during processing of a particular state, a user may select a function by pressing a function key 12 on keyboard 14. Selection of a function which is not part of the present state, causes the display to change as necessary for the new state and transfer control to the "newly selected" state corresponding to the selected function.
  • TIME_STATE If this is the first time in TIME_STATE, screen 81 is displayed on screen display 16 indicating that the present time is to be entered if the displayed time is incorrect. If this is not the first time in TIME_STATE, screen 82 appears on display 16. TIME_STATE permits a user to update the time appearing on screen display 16, to save that time, or to stop the present initializing modes. If an operator presses any numeric key, the time appearing on display 16 is updated corresponding to the numeric keys pressed. If an operator presses the ENTER key, control is transferred to CALL_AFTER_STATE. If the user pressed the STOP function key, control is transferred to STOP_STATE. Finally, if the operator causes none of the events to occur in TIME_STATE, control remains with TIME_STATE until the user causes one of the events to occur.
  • CALL_BEFORE_STATE processing will now be described.
  • the user may update the "Don't Call Before" time illustrated in screen 101 and also may begin the selection of the dialing mode, i.e. tone or pulse. If the user presses one of the numeric keys, the time before which calls are not to be placed is updated in accordance with the numeric keys pressed. The updated time appears on screen 101 as the numeric keys are pressed. If the user presses the ENTER key, control is transferred to DIAL_MODE_STATE to permit the user to select the mode of dialing, i.e. tone or pulse dialing. If the user presses the STOP key, control is transferred to STOP_STATE.
  • CALL_BEFORE_STATE If the user causes none of the events to occur in CALL_BEFORE_STATE nor selects any of the function keys, control remains with CALL_BEFORE_STATE until the user causes one of the events to occur or selects one of the other functions.
  • DIAL_MODE_STATE will now be described. In this state, the user can select the mode of dialing in terms of touchtone dialing or pulse dialing from the options appearing in screen 111. If the user presses the "T" key, the telephone calling apparatus recognizes that touchtone dialing has been selected. Control is transferred to LENGTH_STATE where the user can modify the message length. If the user presses the "P" key, the telephone calling apparatus recognizes that pulse dialing was selected.
  • the setup characteristics of the apparatus can be modified by pressing the SETUP key resulting in transfer to
  • ARROW cursor key If the beginning of the list has not been reached, the previous record is displayed containing the previous name, the associated phone number and the associated group list as illustrated in screen 204. If the beginning of the list is reached by the upward scrolling process, the name of the list will be displayed as illustrated in screen 205. The user can also scroll the data lines within a single record by pressing the ENTER key. This results in the cursor being located at the beginning of the next data line within the record as illustrated in screen 206. The entire list as well as names within a list can be deleted. If the DELete key is pressed, a determination is made as to whether the list name or a member name is presently displayed.
  • control is transferred to DELETE_LIST_STATE which will be described with reference to Figure 22. If an individual member name is presently displayed, control is transferred to DELETE_NAME_STATE which will be described with reference to Figure 24.
  • the user can initiate the calling process to the entire list by pressing the CALL key. If this key is pressed, control is transferred to DIAL_NAME_STATE which begins the dialing process. This state will be described with reference to Figure 32.
  • the user can also stop the present processing of LIST_STATE by pressing the STOP key. If the STOP key is pressed, control is transferred to STOP_STATE which was described to Figure 13.
  • the group member records will be scrolled in the down direction and the next record will be displayed. Each record displayed contains the next name, associated phone number and associated group list as illustrated in screen 212. If the end of the group has been reached, the appropriate end of group message will be displayed as illustrated in screen 213. The records of the current group can also be scrolled in the upward direction. If the UP ARROW key is pressed, and the beginning of the group is not being displayed, the previous record will be displayed containing the previous member name, associated phone number and associated group list as illustrated in screen 214. If the beginning of the group is reached by scrolling in the upward direction, the group name will be displayed as illustrated in screen 215. The cursor can scroll to the next data line within the current record. If the ENTER key is pressed, the cursor is moved to the next data line within the current record as illustrated in screen 216.
  • the user may also stop the processing of GROUP_STATE. If the STOP function key is pressed, controlled is transferred to STOP_STATE which was described with reference to Figure 13. If the user causes none of the events to occur, control remains with GROUP_STATE until one of the events are caused to occur.
  • DELETE_LIST_STATE This state permits the user to delete all names from a particular list.
  • the user is prompted as to whether all the names of the list are to be deleted.
  • the prompt is displayed as illustrated in screen 221 which permits the user to select the YES or NO option. If the YES option is selected by pressing the "Y" key, control is transferred to VERIFY_DEL_LIST_STATE which will be described with reference to Figure 23. If any key other than the "Y" key is pressed, including the "N" key, the name of the list is displayed as illustrated in screen 222 and control will be transferred to LIST_STATE which was described with reference to Figure 20. If neither the YES or NO option are selected, control remains with
  • control is transferred to LIST_STATE which was described with reference to Figure 20. If neither the YES nor NO option is selected, control remains with DELETE_NAME_STATE until one of the options is selected. Referring to Figure 25, an indication that the list was erased is displayed as illustrated in screen 251. In order to continue processing, the user is prompted to press the ENTER key. If the ENTER key is pressed, screen 252 is displayed indicating the current time and control is transferred to IDLE_STATE permitting the user to select another user function. IDLE_STATE was described with reference to Figure 14. If the ENTER key is not pressed, control remains with ALL_DELETED_STATE until the ENTER key is pressed.
  • DELETE_GROUP_STATE will now be described.
  • the user is prompted to indicate whether the displayed group is to be deleted.
  • the prompt is illustrated in screen 261. If the user selects the YES option by pressing the "Y" key, control is transferred to VERIFY_DEL_GROUP_STATE which will be described with reference to Figure 27. If any other key, including the "N" key, is pressed indicating a selection of the NO option, control is transferred to GROUP_STATE which was described with reference to Figure 21. If neither the YES or NO option is selected, control remains with DELETE_GROUP_STATE until one of the options is selected.
  • ADD_NUMBER_STATE which will be described with reference to Figure 30.
  • the user may also stop the processing of ADD_NAME_STATE by pressing the STOP key. If the STOP option is selected, an indication is made as illustrated in screen 292 that no names were added. The indication that no names were added is displayed for two (2) seconds. Control is then transferred to STOP state which was described with reference to Figure 13. If neither the ENTER nor the STOP functions were selected, control remains with ADD_NAME_STATE until one of these options is selected.
  • ADD_GROUP_INFO_STATE to allow entry of the appropriate group information for the new name. This state will be described with reference to Figure 34.
  • the user may also select the STOP option by pressing the STOP key. If the STOP key is pressed, an indication is made that the new name is added to the list as illustrated in screen 302 and control is transferred to STOP STATE which was described with reference to Figure 13. The user may also continue to add more names to the list by pressing the ADD key. Screen 303 is displayed for two (2) seconds to notify the user of this option selection to add more names. Control is then transferred to ADD_NAME_STATE to permit entry of additional names. ADD_NAME_STATE was described with reference to Figure 29. If none of the options of adding group information, stopping or adding additional names was selected, control remains with ADD_NUMBER_STATE until one of the options is selected.
  • FIND_NAME_STATE This permits the user to locate a particular name.
  • the user is prompted as illustrated in screen 311 to enter the name to be found.
  • the name to be found is indicated by the user by pressing the alphanumeric/symbol keys.
  • the ENTER key is pressed.
  • the apparatus finds the selected name and displays the name and phone number as
  • the new name is simply added to the group as indicated in screen 342.
  • Screen 342 is displayed for two (2) seconds and then control is transferred to STOP_STATE which was described with reference to Figure 13.
  • the user may also add additional new names by pressing the ADD or ENTER key.
  • the new name is added to the group with the selected group information.
  • An indication of this result is displayed as illustrated in screen 343 for a period of two (2) seconds.
  • the user can then add an additional new name and is prompted to do so by displaying screen 344.
  • Control is then transferred to ADD_NAME_STATE which was described with reference to Figure 29. If neither the STOP, ADD or ENTER options were selected, control remains with ADD_GROUP_INFO_STATE until one of the options is selected.
  • the user can select the STOP option at any time to interrupt the calling process. Pressing of the STOP key results in transfer of control to CALL_INTERRUPT_STATE which will be described with reference to Figure 42. If the last call has not been completed, the default of "on hook" time has not been reached and the STOP option has not been selected, control remains with HANG_UP_STATE until one of these events occurs.
  • the second call to the Type 2 non-interactive system is illustrated.
  • the calling apparatus Once the calling apparatus has identified (“learned") the message delivery period of the Type 2 non-interactive system ( Figures 55-56) , it stores the measured length (MESSAGE_LENGTH) of the message transmitted by the called party as LAST_LENGTH.
  • the calling apparatus after terminating the call to the called party and identifying the called party as a Type 2 non- interactive system, initiates a second call to the same called party.
  • the calling apparatus verifies that the length of the message transmitted by the called party (MESSAGE_LENGTH) is equal to the length the message previously transmitted by the called party (I_AST_LENGTH) .
  • the calling apparatus Once the calling apparatus has verified that the new message length is equal to the previous message length, it delivers or transmits the message to the called party during the message delivery period.
  • control is transferred to QUICK_CALL_STATE which will be described with reference to Figure 71. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with REPEAT_MSG_STATE until one of the events is selected or one of the function keys is selected.

Abstract

A telephone calling apparatus (10) and method provides electronic storage of persons' names, telephone numbers, group identifiers and links among telephone numbers and group identifiers. Messages, associated with group identifiers, are also electronically stored (in 54 and 60). Upon user indication of a group, the linked message is sent to each of the linked telephone numbers. The telephone calling apparatus automatically sends multiple messages to multiple groups without confusion. The telephone calling apparatus can also distinguish between interactive (live human voice) and non-interactive (reproduced human voice) responses. In identifying interactive responsives, the telephone calling apparatus can identify specific types of interactive responses. The telephone calling apparatus can also distinguish between the different types of non-interactive responses.

Description

TELEPHONE CALLING APPARATUS AND METHOD
Cross-Reference to Related Application
This application is a Continuation-In-Part of co-pending United States Application Serial No. 608,536, filed November 2, 1990.
Field of the Invention
This invention relates to telephone calling machines, and more particularly to electronically controlled telephone calling machines.
Background ofthe Invention The telephone is often used to communicate messages to groups of people. Frequently, a human "phone tree" is used to communicate messages to a group of people. For example, an organization such as a school or church (or a sub-group such as a choir, band, or activity group) will use a "phone tree" to communicate information such as meeting time reminders, special events, fundraising results, and other information, in the form of a message. In practice, a small number of first level callers each deliver a message to one or more second level callers. The second level callers each call one or more third level callers. This "phone tree" continues from one level to the next until everyone in the group has received the message. Frequently, however, one or more of the calls at various levels are not completed because the call is not answered or a busy signal is received. Additionally, if the message is left by a caller at a given level on an answering machine at the next level, the "phone tree" will be broken if the caller at the level receiving the message does not retrieve the message from the answering machine and forward it to the next level. Thus, the message often does not reach all members of the group.
Furthermore, multiple messages which need to be sent to different groups often originate from the same person. Attempts to use a "phone tree" to solve the "multiple message/multiple caller" problem often results in confusion about which message goes to which person, causing a break in the "phone tree". This confusion can occur at any level of the "phone tree". For example, a school principal may need to send a first message to teachers, a second message to administrators, and a third message to the support staff. Some persons who are teachers may also be administrators. Similarly, some persons who are support staff may also be administrators. A person may receive, different messages from different persons and then send the different messages to still other persons. The use of a "phone tree" to send the different messages to different, possibly overlapping, groups of people often results in confusion for both senders and receivers. It is known to use telephone calling machines including a dialer and message recorder to send messages. However, these telephone machines do not solve the "multiple message/multiple caller" problem. For example, U.S. Patent 3,445,601 to hitely et al. entitled Automatic Telephone Dialing and Message Delivery System discloses an automatic telephone dialing and message delivery system for placing calls to deliver a prerecorded message to preselected telephone numbers at a designated time in the future. Although this system can detect whether a human voice answered the telephone call, it is unable to distinguish between interactive (live human voice) and non-interactive (reproduced human voice) responses. It will repeat the call at a later time if the particular call resulted in a busy signal or was not answered by a human voice. All calls are monitored in terms of maintaining a record of number of calls placed, number of calls answered, and number of calls unanswered, whether busy or not answered by a human voice.
U.S. Patent 4,406,925 to Jordan et al. entitled Message Delivery System provides a message delivery system for automatically calling extension numbers and delivering a prerecorded message to a plurality of predetermined extension numbers at predetermined times in the future. The system is especially useful in a hotel environment for placing "wake-up" calls to telephone numbers in sequence corresponding to rooms in the hotel. Information in terms of extension number and requested "wake-up" time can be entered into the memory of a microcomputer via an input device. The apparatus places calls to the designated extension numbers at the specified times. A flag is set in memory when a call to an extension number results in a busy signal or is unanswered. All extension numbers marked with flags will be called again at a designated later time. In conclusion, to the best of Applicant's knowledge, the art has heretofore not provided an electronic system to replace the human "phone tree" or for solving the "multiple message/multiple caller" problem including distinguishing between interactive and non-interactive responses. Summarvofthe Invention
It is an object of the present invention to provide an improved electronic telephone calling apparatus and method. It is a further object of the present invention to provide an electronic telephone calling apparatus and method to replace the human "phone tree".
It is still another object of the present invention to provide an electronic telephone calling apparatus and method to solve the "multiple message/multiple caller" problem in human phone trees.
It is an additional object of the present invention to provide an electronic calling apparatus and method to distinguish between interactive and non- interactive responses.
These and other objects are provided according to the present invention by a telephone calling apparatus and method in which telephone numbers and group identifiers are electronically stored. The stored telephone numbers and group identifiers are linked to one another so that the telephone numbers belonging to each group are defined. Telephone calls to any group may be initiated using the group identifier. By linking group identifiers to telephone numbers, multiple groups can be defined and modified. In operation, an electronic controller, connected to the telephone number and group identifier storage, and a telephone call initiator (dialer) , sequentially provides the telephone numbers linked to a group identification to the telephone call initiator. The telephone call initiator initiates the telephone calls in response to the telephone numbers provided to it.
A stored message can also be associated with a group so that the message can be delivered to the telephone numbers of a group. Thus, the device can initiate the sending of multiple messages to multiple groups without confusion thereby insuring that each person actually receives the correct message. In operation, the telephone calling apparatus of the present invention electronically stores message(s) associated with group identifiers to be communicated to all telephone numbers linked with an identified group. The electronic controller interleaves the message associated with the group identification with the sequentially provided telephone numbers. A keyboard connected to the electronic controller permits addition, deletion and modification of persons1 names, telephone numbers, group identifiers, messages and other functions. The linking among group identifications and telephone numbers as well as associations between group identifications and messages can also be modified via the keyboard. The electronic storage, electronic controller, telephone dialer, keyboard and display are all preferably housed in a single, portable housing to facilitate low cost manufacture and distribution of the apparatus.
According to another aspect of the present invention, the telephone calling apparatus receives communications signals from both interactive (live human) respondents and non-interactive (for example via an answering machine or any other telephone signal other than a live human voice) systems, and distinguishes between the interactive and non- interactive responses based upon the elapsed receipt time of the responses measured by the calling apparatus. The calling apparatus further distinguishes between the different types (classes) of non- interactive responses, for example answering machines versus wrong number recorded responses. Based on the distinctions made, the calling apparatus may transmit a message to the called party. In identifying interactive responses, the calling apparatus may ask for and receive a series of pulse signals from the telephone number called, and determine the number of pulse signals in the series of pulse signals based on the receipt time for the received series of pulse signals. The receipt time for the received services of pulse signals is compared to a predetermined receipt time, in order to identify the type of interactive response provided by the telephone number called to the query transmitted by the calling apparatus.
Additional features and aspects of the present invention will be evident from the detailed description which follows, and from the accompanying drawings.
Brief Description of the Drawings
Figure 1 is a perspective view of a telephone calling apparatus according to the invention.
Figure 2 is a high level circuit block diagram of the telephone calling apparatus of Figure 1.
Figure 3 illustrates a list/group matrix of the present invention.
Figure 4 illustrates a screen display diagram for the apparatus of Figure 1 illustrating scrolling and cursor movement.
Figure 5 illustrates a memory map for the telephone calling apparatus of Figure 1.
Figures 6-48 illustrate operational states for the telephone calling apparatus of Figure 1. Figures 49-58 illustrate timing diagrams for distinguishing between interactive and non-interac ive responses according to the present invention.
Figures 59-75 illustrate operational states of the telephone calling apparatus of Figure 1 for distinguishing between interactive and non-interactive responses, according to the present invention. Description of the Preferred Embodiment
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which the preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
The telephone calling apparatus of the present invention links group identifiers with telephone numbers to permit sending of a message associated with a group identifier to telephone numbers linked to the group identifier. Names are also linked or associated with telephone numbers to identify the person having a particular telephone number. Telephone numbers, persons' names and group identifiers may be added, deleted, and modified. Furthermore, persons' names and telephone numbers may be added to a particular group and deleted from a particular group. This is accomplished by modifying the linking between telephone numbers and group identifiers. Similarly, messages associated with group identifiers can be modified. It is possible that a single message may be associated with more than one group identifier. The linking or association between group identifiers and messages may also be modified.
Telephone Calling Apparatus Equipment
Referring now to Figure 1, there is illustrated a telephone calling apparatus 10 according to the present invention. The calling apparatus includes a keyboard 14 consisting of function keys 12, alphanumeric/symbol keys 13 and cursor keys 18. Function keys 12 permit the user to direct the calling apparatus to accomplish the functions of adding, deleting, etc. The user enters the data or calling information such as persons' names, telephone numbers, organization list names, group identifiers via alphanumeric/symbol keys 13. Messages may be entered via these keys. Interactive user operations include additions, deletions and modifications of organization list names, group identifiers, persons' names, telephone numbers, messages, and linking or association between telephone numbers and group identifiers as well as between group identifiers and messages.
User operations and calling status information are displayed on screen display 16. Additional information may be viewed on screen display 16 by scrolling up or down via cursor keys 18. User operations are accomplished by selection of the particular function, scrolling the cursor up or down, shifting the cursor right or left, and entry of data or commands via keyboard 14. Introduction headers and messages can be recorded via microphone 64. They can also be entered via keyboard 14. During operation, introduction headers and messages can be broadcast from speaker 20 to review a previously recorded message or to listen to messages being sent to telephone numbers associated with a particular group identifier selected by the operator. The details of operation of function keys 12, alphanumeric/symbol keys 13, cursor keys 18 and screen display 16 will be described with respect to Figures 4 and 6-48.
Telephone Calling Apparatus Hardware Components
Referring to Figure 2, the components of the telephone calling apparatus 10 are illustrated in a high level circuit block diagram. The components, which will now be described, are preferably housed in a single, portable housing to provide a compact, low cost telephone calling machine. The housing is preferably about the same size as commercially available consumer telephones and answering machines. The central processing unit 50, referred to as CPU, electronically controls the operation of telephone calling apparatus 10. In the embodiment shown, CPU 50 is an Intel 8031, 12 megahertz, microprocessor, however other processors may be used. The CPU electronically controls operations of the calling apparatus including storage and retrieval of data, entry of data, conversion of messages from digital to analog and analog to digital, sending of messages, analysis of responses to calls placed to designated telephone numbers, as well as other operations. Operating software is stored in read only memory 52, referred to as ROM, and communicates directly with CPU 50. The operating software permits CPU 50 to control the operations of calling apparatus 10. This software for controlling the calling apparatus will be described with reference to Figures 7-48.
CPU 50 also controls the operation of random access memory 54, referred to as RAM. Names, telephone numbers, group identifiers and status of individual calls placed to telephone numbers are stored in RAM 54. CPU 50 controls the storage and retrieval of data in RAM 54. Keyboard 14 permits entry of data items as well as selection of user functions via alphanumeric/symbol keys 13 and function keys 12. CPU 50 then responds to user designations at keyboard 14 by electronically controlling calling apparatus 10 in accordance with the user commands. Keyboard 14 may be a Conductive Rubber Switchpad manufactured by ITT Schadow/Brandel Stephens, of Greensboro, North Carolina, however other keyboards may also be used. CPU 50 controls screen display 16 to cause display of data being entered via keyboard 14, selection and operation of user functions and status of calling operations thereon. Screen display 16 may be a liquid crystal display (LCD) DM 1621 manufactured by Sanyo, however other displays may be used.
Communications port 56, directly connected to CPU 50, may provide an RS-232 serial interface for testing and quality control during the manufacturing process. A separate microprocessor can be connected to communications port 56 to perform testing and quality control during the manufacturing process, or interactive data exchange between calling apparatus 10 and a remote computer. Battery controller 58 provides a backup power source connected to RAM 54 for maintaining the storage of group identifications, telephone numbers, names and status of telephone calls as well as associations of messages with particular groups when the primary power source to CPU 50 which provides power to RAM 54 is disconnected. Battery controller 58 may be a DS1210 manufactured by Dallas Semiconductor, Inc. of Dallas, TX, however other battery controllers may be used.
Messages to be sent are digitally stored in dynamic random access memory 60, referred to as DRAM memory. Digital voice circuit 62 records and plays back human speech. This circuit 62 is controlled by CPU 50. DRAM 60 may be a 41C1000 manufactured by
Samsung or other DRAM. Digital voice circuit 62 may be a TC8831F manufactured by Toshiba or others. Voice circuit 62 accepts a human voice message as an analog signal via microphone 64 and converts this message to a digital signal for storage in DRAM 60. Voice circuit 62 retrieves a stored message in DRAM memory 60 and converts the message from a digital signal to an analog signal to be sent to a telephone number or played back via speaker 20 as controlled by CPU 50. Once a message is complete, voice circuit 62 transmits an end of speech indication back to CPU 50. Voice circuit 62 is also used as a dual tone mixed frequency'transmitter referred to as DTMF transmitter which transmits the standard dialing tones defined by a touchtone telephone design. The digital voice circuit transmits pre-recorded DTMF signals for dialing purposes. Prerecorded tones are digitally stored in ROM 52 and are transferred to DRAM 60 via CPU 50 and digital voice circuit 62 for use in dialing. These DTMF tones are transmitted via the digital voice circuit 62 when a user selects tone dialing mode. If a user selects pulse dialing mode, the DTMF tones are not used.
Microphone 64, which provides digital voice circuit 62 with human voice speech as an analog signal, may be a model 994 manufactured by Panasonic or another microphone.
Signal processor 66 may be a low power, quad operational amplifier having part number LM 324 manufactured by National Semiconductor or others. Signal processor 66 receives output from digital voice circuit 62 under control of CPU 50 as an analog signal. The analog signal is routed by signal processor 66 to local speaker 20 and/or onto telephone network via telephone line interface 68. The path to speaker 20 is via a low power audio amplifier. The path to telephone line interface 68 is a simple low pass filter. Speaker 20 has an on/off control switch which is controlled in accordance with the setting of a mute bit received directly from CPU 50 by signal processor 66. Similarly telephone line interface 68 is controlled by an on/off switch which determines whether the telephone is on/off line. The on/off switch is a hook switch which is controlled by a hook switch bit received by signal processor 66 directly from CPU 50. The hook switch determines whether the telephone is on/off line meaning whether the telephone receiver is hung up or removed from the telephone base. Telephone line interface 68 is a Data Access Arrangement referred to as a DAA. Line interface 68 provides switch hook relay, line impedance matching, FCC approved line coupling and a two to four wire converter. Interface 68 communicates bi-directionally with the telephone lines and ultimately the telephone company central office. The DAA establishes the telephone connection with the central office of the telephone company. In order to establish the connection, the switch hook relay is closed by the DAA. When the switch hook relay is closed, the central office connected with the telephone trunk line knows that the telephone is off hook. The telephone connection can then be completed. The DAA may be model CH1816 manufactured by Cermetek, or other suitable telephone line interface circuit.
The telephone connection is completed by a telephone number being transmitted by CPU 50 directly to telephone line interface 68. The telephone line interface performs pulse dialing. In the event a user selected touchtone dialing mode, CPU 50 transmits touchtones stored in RAM 52 to DRAM 60. When it is time to place the call, CPU 50 controls digital voice circuit 62 to retrieve the tones from DRAM 60 and convert the tones to an analog signal. The converted tones are transmitted to DAA 68 via signal processor 66 to be passed on to the telephone lines and ultimately the central telephone office. Once a connection is completed by DAA 68, the response which is received and returned to the connection by DAA 68 is transmitted to signal analysis circuit 70.
Signal analysis circuit 70 receives all responses from a central office across the telephone line via DAA 68. Analysis circuit 70 may be a logic chip having model number 74LS123 and LM324 manufactured by National Semiconductor of Santa Clara, California. The signal analysis circuit makes a determination as to whether the response received by DAA 68 is a ringing signal, a busy signal, a reorder, human voice, an answering machine or a click. Once the determination is made as to the type of response received, analysis circuit 70 transmits a digital message indicating the type of response received and two (2) binary signals which were determined from the incoming analog signal to CPU 50. The two (2) binary signals are transmitted to CPU 50 to permit further analysis. If the response received is a ringing signal, CPU 50 controls the telephone calling apparatus to continue allowing the ringing to take place. After a predetermined number of unanswered rings, CPU 50 controls the apparatus to disconnect the connection via telephone line interface 68. If the received signal is a busy signal, or an answering machine, CPU 50 controls the apparatus to disconnect the telephone line connection and make an indication in RAM 54 that the telephone number be called again at a later time. Finally, if a determination was made that the response was human speech, CPU 50 controls digital voice circuit 62 and signal processor 66 to transmit the message via DAA 68. It will be understood having skill in the art that messages may also be sent as a digital signal thus avoiding the need to convert the signal from digital to analog.
Finally, dual tone mixed freguency and pulse recognition circuits 72 are used during and after sending of a primary or introductory message. The introductory header message asks the individual answering the telephone call to make an indication as to whether he or she wishes to hear the message. The indication will be in the form of pressing one or more buttons on the telephone apparatus of the receiving party, e.g. pressing the "9" key. When the indication is received via DAA 68, it is transmitted to DTMF recognition circuit 72 and signal analysis circuit 70 for a determination as to whether it is a valid signal. A message is then sent by DTMF recognition 72 to CPU 50 indicating whether the received signal was valid or invalid. A valid signal is one which responds in the correct manner. A failure to respond by either pressing the wrong key on the receiving party's telephone or pressing no key on the receiving party's telephone results in a determination of invalidity. If a valid tone was received, CPU 50 controls digital voice circuit 62 and signal processor 66 to transmit the appropriate message. In the event an invalid signal was received, CPU 50 controls DAA 68 to disconnect the connection with the telephone line and store an appropriate reminder in RAM 54 to indicate that the call be placed again at a later time.
"List" Concept
Referring to Figure 3, the "list" concept will now be described. The "list" is a list of all individuals who are a member of a particular organization. For example, all individuals who are members of Central United Church in Figure 3 are listed. Each individual has an associated telephone number. The telephone number can have a maximum of sixteen (16) digits. Each individual also has a "group list" associated with them. This group list specifies the groups within the organization that the individual is a member of. The groups are displayed across the top of the organization list chart and are uniquely identified by a group identifier. The group identifier which corresponds to those groups which an individual is a member of is listed in the group list for each particular individual.
A matrix of individuals listed vertically on the left hand side and groups listed horizontally across the top is illustrated in Figure 3. The intersection of the vertical list of names, telephone numbers and group lists, and the group names and group identifiers listed across the top has either a YES or NO value to indicate whether or not that individual is a member of the group. If the intersection is YES, then the group identifier for that particular group should be listed in the group list for that individual. If the value of the intersection is NO, then the group identifier for that particular group should not be listed in the group list for that particular individual and the lack of association between an individual and a group is indicated by an asterisk in place of the group identifier in the group list for that individual. The association or linking between groups and telephone numbers of group members is accomplished by using linked lists, indexing or other techniques for associating information. Linked lists, indexing and other techniques are commonly known to those skilled in the art.
For example, referring to Figure 3, the list indicates that Farmer Brown has a phone number of 555- 5867 and is a member of Group 3 and 9 as indicated in the group list associated with Farmer Brown. The intersection of Farmer Brown and Group 3, i.e. Choir, indicates that Farmer Brown is a member of the Choir since the intersection is YES. Similarly, the intersection of Group 9, Big Committee, and Farmer Brown is YES, indicating that Farmer Brown is also a member of the Big Committee group.
In practice, a user identifies a group of an organization to which he or she wants to send a message. For example, the user indicates that he or she desires to send a message to Group 3, i.e. Choir. The telephone calling apparatus then searches the group lists to identify those group lists having Group 3 as an element of the list. Each telephone number and consequently individual having the telephone number is identified by the linking of the telephone number to the group. Those individuals who are members of Group 3 as indicated by Group 3 being an element in the group lists receive a message associated with Group 3. For example, Sue Baker, Farmer Brown, Jimbob Coleman and Joe Zeb are identified as members of Group 3 and the message associated with Group 3 is sent in sequence to those individuals at the telephone number associated with their name.
Each record listed in the vertical list of names,' telephone numbers and group lists in Figure 3 contains three pieces of information visible to a user which may be viewed on display 16 and several pieces of information which are not visible to a user. In particular, an organization list member's name can have a maximum of sixteen (16) characters. Similarly, a telephone number can have a maximum of sixteen (16) digits. The group list for each individual list member is represented by ten (10) sequential bits. Each bit is set to one "1" for those groups which a person is a member and set to zero "0" for those groups which a person is not a member. For example, a ten (10) bit representation of a group list for a particular person having a value 1100001111 indicates that the person is a member of Groups 0, 1, 6, 7, 8 and 9 and not a member of Groups 2, 3, 4, and 5. This visible data can be displayed on screen display 16, a two line LCD display which permits scrolling. An example of displaying this visible data, i.e. person's name, telephone number and group list, is illustrated in Figure 4. The screen can be scrolled in a vertical direction and the cursor moved in a horizontal direction using cursor keys 18. The screen may also be scrolled in the downward vertical direction using the ENTER key. As illustrated, any two of the three pieces of visible information can be displayed on screen display 16 at any given time. Group Information Storage in RAM
Referring to Figure 5, a memory map of the telephone calling apparatus is illustrated. As illustrated, 100 bytes of RAM are reserved for system variables. In a preferred embodiment, the name of the list or organization, and the group identifiers with associated group names each can have a maximum of sixteen (16) bytes. In this instance, one (1) byte equals eight (8) bits. In the preferred embodiment, up to ten (10) groups may be associated with an organization list name. The list data contains members names which can be a maximum of sixteen bytes. The phone number associated with the member can have a maximum of sixteen (16) digits. It is stored in eight (8) bytes in packed binary coded decimal representation.
The list of data also has sixteen (16) status bits per entry. The first eight (8) status bits are stored as one (1) byte and the second eight (8) are stored as a second byte. The status bits indicate the status of the call placed to the associated member. For example, status bits one (1) and two (2) indicate a call is completed "11", the line was busy "10", an error was detected "01", or the telephone number was not called "00". Bit three (3) of the status bits . indicates whether or no a response to an inquiry was made. Bit four (4) indicates whether the response was YES or NO. Finally, bits five (5) and six (6) are provided for future use. Additionally, other status may be indicated in the memory provided.
The length of the organization list names, group identifiers and names, member names, telephone numbers and status bits as well as the number of groups associated with a particular organization list are only limited by the size of memory. It will be understood by those skilled in the art that these lengths can be increased as well as the number of associations can be increased by increasing the size of memory.
Operational State Diagram Convention
The detailed operation of the telephone calling apparatus will now be described. Reference will be made to the operational state diagrams illustrated in Figures 7-48. For ease of understanding the description of the operational state diagrams, the convention used to illustrate the control will now be described with reference to Figure 6. The convention used provides a CURRENT_STATE. Processing for the CURRENT_STATE generally requires the occurrence of an event, similar to an "if" statement, before an action, "then" portion of an "if" statement, is taken. Processing generally loops continuously in the
CURRENT_STATE until one of the state criteria, i.e. events, is satisfied resulting in a sequence of actions. A transfer of control, i.e. change of status, is indicated by a "Go To" statement. In the convention utilized, if a display results due to the occurrence of a specified event, the information is displayed on screen display 16. The information which is displayed is illustrated as part of the block diagram. Reference is made to the display and possibly the information contained in the display as part of the description of the processing control.
Referring to Figure 6, a generic example will be described to illustrate this convention. The state of the block illustrated in Figure 6 is CURRENT_STATE. Three events are included as part of CURRENT_STATE. These events include Push "Y", Push Any Other Key and Elapsed Time > Five Minutes. If none of these events occur, processing continues as indicated by the final action in CURRENT_STATE block which provides Go To CURRENT_STATE. This looping continues until one of the events occurs. If an event occurs, actions associated with that event are taken. The actions in the state block are indented under the corresponding event. The appropriate screen display is illustrated next to a "Display" action. The boxed or shaded character on the screens illustrated in the state block indicates the present location of the cursor. The location of the cursor can be changed using cursor keys or the ENTER key.
In order for an event to occur, the user must take some action by making an indication on keyboard 14. The action can be in the form of selecting a function key 12 or one of the alphanumeric/symbol keys 13. In the example illustrated in Figure 6, if the user presses the "Y" key, the information on screen display 16 changes as indicated on screen display 16, an example of which is illustrated in the state block. Once the display is changed, control is transferred to NEXT_STATE_A. If the operator presses any other key, provided the key pressed is not a function key, the display is changed as illustrated in the display provided in the state block. Control is then transferred to NEXT_STATE_B. If no action is taken on the part of the user causing an event to occur, an event occurs automatically once the elapsed time is greater than five minutes. When time has elapsed, the display is changed as illustrated in the state block. It is important to note that the user may take an action indicated within the display at any point during the state. Furthermore, the user may take an action, i.e. cause an event to occur, which is not illustrated in the display but which may be accessed by scrolling the display using cursor keys 18. A one (1) kHz tone then sounds for two (2) seconds. Finally, control is transferred to TIMES_UP_STATE. At any point during processing of a particular state, a user may select a function by pressing a function key 12 on keyboard 14. Selection of a function which is not part of the present state, causes the display to change as necessary for the new state and transfer control to the "newly selected" state corresponding to the selected function.
Telephone Calling Apparatus Detailed Operation
Referring to Figures 7-48 the detailed operation of the telephone calling apparatus and method will now be described using the operational state convention previously described. It is important to note that any function key may be selected in any state even if the function selected is not among one of the events corresponding to the current state. Selection of a function key from any state results in storage of the edited data and immediate exit from the current state and entry into the newly selected state.
POWER_ON_STATE illustrated in Figure 7 begins the processing of the telephone calling apparatus. Processing always starts at the POWER_ON_STATE when the power of the telephone calling apparatus is turned on. The hardware is initialized. The liquid crystal display operating mode is set and the voice chip mode is set. These initializations and settings will be understood by those skilled in the art. Control is then transferred to TIME_STATE, which will be described with reference to Figure 8.
Referring to Figure 8, control of TIME_STATE will now be described. If this is the first time in TIME_STATE, screen 81 is displayed on screen display 16 indicating that the present time is to be entered if the displayed time is incorrect. If this is not the first time in TIME_STATE, screen 82 appears on display 16. TIME_STATE permits a user to update the time appearing on screen display 16, to save that time, or to stop the present initializing modes. If an operator presses any numeric key, the time appearing on display 16 is updated corresponding to the numeric keys pressed. If an operator presses the ENTER key, control is transferred to CALL_AFTER_STATE. If the user pressed the STOP function key, control is transferred to STOP_STATE. Finally, if the operator causes none of the events to occur in TIME_STATE, control remains with TIME_STATE until the user causes one of the events to occur.
Referring to Figure 9, CALL_AFTER_STATE will now be described. This state permits the user to modify the time after which calls should not be placed, which appears in screen 91. If the user presses any numeric key, the time presently on screen 91 is updated in accordance with the selected numeric keys. If the user presses the ENTER key, the selected time including any modifications or updates appears on screen display 16 as illustrated in screen 91 and control is transferred to CALL_BEFORE_STATE. CALL_BEFORE_STATE will be described with reference to Figure 10. If the user presses the STOP function key, control is transferred to STOP_STATE. Finally, if the user causes none of the events to occur and also selects no other function key, control remains with CALL_AFTER_STATE until the user causes one of the events to occur or selects a function from one of function keys 12 on keyboard 14.
Referring to Figure 10, CALL_BEFORE_STATE processing will now be described. During this state, the user may update the "Don't Call Before" time illustrated in screen 101 and also may begin the selection of the dialing mode, i.e. tone or pulse. If the user presses one of the numeric keys, the time before which calls are not to be placed is updated in accordance with the numeric keys pressed. The updated time appears on screen 101 as the numeric keys are pressed. If the user presses the ENTER key, control is transferred to DIAL_MODE_STATE to permit the user to select the mode of dialing, i.e. tone or pulse dialing. If the user presses the STOP key, control is transferred to STOP_STATE. If the user causes none of the events to occur in CALL_BEFORE_STATE nor selects any of the function keys, control remains with CALL_BEFORE_STATE until the user causes one of the events to occur or selects one of the other functions. Referring to Figure 11, DIAL_MODE_STATE will now be described. In this state, the user can select the mode of dialing in terms of touchtone dialing or pulse dialing from the options appearing in screen 111. If the user presses the "T" key, the telephone calling apparatus recognizes that touchtone dialing has been selected. Control is transferred to LENGTH_STATE where the user can modify the message length. If the user presses the "P" key, the telephone calling apparatus recognizes that pulse dialing was selected. Control is transferred to LENGTH_STATE wherein the user can modify the length of the message. If the user presses the STOP key, control is transferred to STOP_STATE. If the user causes none of the events to occur nor selects any of the other function keys, control remains with DIAL_MODE_STATE until one of the events has been selected or one of the other function keys has been pressed. Referring to Figure 12, LENGTH_STATE will now be described. This state permits the user to modify the length of the message presently displayed in screen 121 or to return to TIME_STATE to modify the time for calling. If the user presses one of the alphanumeric keys "1", "2", "3", or "4", the length of the message is changed accordingly. If the user presses the ENTER key, Control is transferred to TIME_STATE permitting the user to update the current time. If the user presses the STOP key, control is transferred to STOP_STATE. If the user selects none of the events nor presses any of the other function keys, control remains with LENGTH_STATE until one of the events is selected or one of the functions is selected.
Referring to Figure 13, STOP_STATE will now be described. Once STOP_STATE receives control, the list of persons is alphabetized. The display illustrated at 131 displaying the present time and a simple "phone-tree" message welcoming the user to the phone-tree system appears on display screen 16. Control is then transferred to IDLE_STATE wherein the user can select one of the processing modes including recording a message, adding names to groups, etc. IDLE_STATE will be described with reference to Figure 14.
Referring to Figure 14, IDLE_STATE will now be described. This state permits the user to select a user function by pressing one of the function keys 12 on keyboard 14. Screen 141 is first displayed to permit the user to view the time clock. If the user presses the RECord key, control is transferred to REC_STATE which will be described with reference to Figure 15. If the PLAY key is pressed, control is transferred to PLAY_STATE which will be described with reference to Figure 18. If the user indicates a desire to operate on the organization member list by pressing the LIST key, control is transferred to LIST_STATE which will be described with reference to Figure 20. The user may also wish to operate upon the members of a group within an organization. This can be done by pressing the GROUP key resulting in transfer of control to GROUP_STATE which will be described with reference to Figure 21. Names can be added to the organization membership list or a particular group by pressing the ADD key resulting in transfer of control to ADD_NAME_STATE which will be described with reference to Figure 29. A particular name may also be located by pressing the FIND key resulting in transfer of control to FIND NAME STATE which will be described with reference to Figure 31. A user can initiate the calling process by pressing the CALL key resulting in transfer of control to CALL_STATE which will be described with reference to Figure 35. This state provides the processing for checking the status of the identified calls. If the STATUS key is pressed in order to check the status of the calling process, a determination is made as to whether the last calls were to one or more particular groups. If the last calls were to one or more groups, a screen is displayed to indicate which groups were called most recently. For example, it may be determined that the last calls were placed to Groups 1, 5 and 9. If so, screen 142 is displayed indicating that Groups 1, 5 and 9 were called. If the last calls were to all organization members on the list, screen 143 is displayed to indicate that the calling status for the particular list is being checked. Finally, if the last call was to a particular person, screen 144 is displayed to indicate that the status of the call being placed to the identified person is being checked. Control is then transferred to CALL_STATUS_STATE which will be described with reference to Figures 47. The setup characteristics of the apparatus can be modified by pressing the SETUP key resulting in transfer to
TIME_STATE which was described with reference to Figure 8. If none of the function keys are pressed, control remains with IDLE_STATE until the user selects one of the functions. Referring to Figure 15, REC_STATE will now be described. As a result of an indication that recording is to be done, screen 151 is displayed indicating that the user can select to record a message or an introduction. The user indicates his selection by pressing the "M" or "I" key consistent with screen 151. If the "M" key is pressed, control is transferred to WAIT_VOICE_STATE. Similarly, if the "I" key is pressed, control is transferred to WAIT_VOICE_STATE. This state will be described with reference to Figure 16. The user may also stop processing of the recording function by pressing the STOP function key which results in transfer of control to STOP_STATE.
STOP_STATE was described with reference to Figure 13. If no event is caused by the user, control remains with REC_STATE until the user selects one of the operations or the STOP function. Referring to Figure 16, WAIT_VOICE_STATE will now be described. This state initializes the recording of messages or introductions. If record message ("M") was selected during REC_STATE, screen 161 is displayed. Otherwise, the apparatus recognizes that the introduction option ("I") was selected during REC_STATE and screen 162 is displayed. The apparatus waits until a voice is detected, i.e. the user has begun to provide the message or introduction. Once a voice is detected, screen 163 is displayed and control is transferred to REC_MESSAGE_STATE which will be described with reference to Figure 17. If the user selects the STOP function by pressing the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. Control remains with WAIT_VOICE_STATE until the user either speaks or selects the STOP function.
Referring to Figure 17, REC_MESSAGE_STATE will now be described. The introduction header or the message is recorded as the user continues to speak. The time which is left for recording is indicated on screen 163 of Figure 16 and continues to be displayed throughout the recording process. This time left is updated as recording proceeds. The introduction header and the message both have a predetermined maximum length. If the length of the introduction or the message being recorded is greater than the predetermined maximum length, control is transferred to STOP_STATE which was described with reference to Figure 13. The user may select the STOP function at any time by pressing the STOP key, resulting in transfer of control to STOP_STATE which was described with reference to Figure 13. The STOP function is selected once recording is complete to permit selection of other user functions. If the user does not select the STOP function and the length of the introduction header or the message is not greater than the predetermined maximum length, control remains with REC_MESSAGE_STATE until the STOP key is pressed.
Referring to Figure 18, PLAY_STATE will now be described. Control is received by PLAY_STATE as a result of selection by the user of the PLAY function during IDLE_STATE. Screen 181 is displayed to permit the user to select the playing of the introduction header or the message. Whether the message is selected for play by pressing the "M" key or the introduction header is selected for play by pressing the "I" key, control is transferred to PLAY_MESSAGE_STATE which will be described with reference to Figure 19. Processing of PLAY_STATE may be stopped by pressing the STOP key which results in transfer of control to STOP_STATE, which was described with reference to Figure 13. If neither the message nor the introduction are selected for play, and processing of PLAY_STATE is not stopped, control remains with PLAY_STATE until one of the options is selected.
Referring to Figure 19, PLAY_MESSAGE_STATE will now be described. If the play message option
("M") was selected, screen 191 is displayed indicating that the message is being played and the amount of time left. Otherwise, the apparatus recognizes that the play introduction option ("I") was selected. Therefore, screen 192 is displayed indicating that the introduction header is being played and providing the amount of time left. Playing of the introduction header or message continues and the time left appearing in screens 191 or 192 is updated. If the message or introduction header recording length is equal to the predetermined maximum length, control is transferred to STOP_STATE. The user may stop the playing process at any time by pressing the STOP function key. This results in transfer of control to STOP_STATE which was described with reference to Figure 13. If the end of the recorded message has not been reached resulting in stopping of playing the message or introduction header and the user does not stop the playing message process by pressing the STOP function key, control remains with PLAY_MESSAGE_STATE until the default occurs or the user selects the STOP function. Referring to Figure 20, LIST_STATE will now be described. This state permits the user to view an organization member list as well as to modify the list by deleting names from the list or the entire list. The user may also initiate the calling process, placing calls to list members. Screen 201 is displayed indicating the name of the list. The name of the list can be edited using the alphanumeric/symbol keys 13 resulting in updating of the name of the list in screen 201. Records for each member of the list contains the member name, the associated phone number, and the group list containing the group identifiers for the groups to which the member belongs.
The list can be scrolled in the downward direction by pressing the DOWN ARROW key. If the end of the list is reached, the appropriate indication is illustrated in screen 203 is displayed. As the scrolling process continues, each record containing the next name, phone number and group list as illustrated in screen 202 is displayed. The list may also be scrolled in the upward direction by pressing the UP
ARROW cursor key. If the beginning of the list has not been reached, the previous record is displayed containing the previous name, the associated phone number and the associated group list as illustrated in screen 204. If the beginning of the list is reached by the upward scrolling process, the name of the list will be displayed as illustrated in screen 205. The user can also scroll the data lines within a single record by pressing the ENTER key. This results in the cursor being located at the beginning of the next data line within the record as illustrated in screen 206. The entire list as well as names within a list can be deleted. If the DELete key is pressed, a determination is made as to whether the list name or a member name is presently displayed. If the name of the list is presently displayed, control is transferred to DELETE_LIST_STATE which will be described with reference to Figure 22. If an individual member name is presently displayed, control is transferred to DELETE_NAME_STATE which will be described with reference to Figure 24. The user can initiate the calling process to the entire list by pressing the CALL key. If this key is pressed, control is transferred to DIAL_NAME_STATE which begins the dialing process. This state will be described with reference to Figure 32. The user can also stop the present processing of LIST_STATE by pressing the STOP key. If the STOP key is pressed, control is transferred to STOP_STATE which was described to Figure 13. If the user causes none of the events to occur, control remains within LIST_STATE until one of the events occurs. Referring to Figure 21, GROUP_STATE will now be described. This state permits the user to view the members of a group, delete an entire group or an individual member of a group, and to initiate the calling process. A determination is "made as to whether control is received from IDLE_STATE. If control is received from IDLE_STATE, screen 211 is displayed indicating which group is presently being viewed. The group name can be edited using the alphanumeric/symbol keys 13. Any modifications to the name appear in screen 211. The members of the selected group appear on the display. The members of the group may be scrolled. If the DOWN ARROW cursor key is pressed, the group member records will be scrolled in the down direction and the next record will be displayed. Each record displayed contains the next name, associated phone number and associated group list as illustrated in screen 212. If the end of the group has been reached, the appropriate end of group message will be displayed as illustrated in screen 213. The records of the current group can also be scrolled in the upward direction. If the UP ARROW key is pressed, and the beginning of the group is not being displayed, the previous record will be displayed containing the previous member name, associated phone number and associated group list as illustrated in screen 214. If the beginning of the group is reached by scrolling in the upward direction, the group name will be displayed as illustrated in screen 215. The cursor can scroll to the next data line within the current record. If the ENTER key is pressed, the cursor is moved to the next data line within the current record as illustrated in screen 216.
Entire groups as well as members of a group can be deleted. If the DELETE key is pressed, a determination is made as to whether the group name or a member of a group is presently displayed. If the group name is presently displayed, control is transferred to DELETE_GROUP_STATE which will be described with reference to Figure 26. If an individual member of a group is presently^ displayed, control is transferred to DELETE_MEMBER_STATE which will be described with reference to Figure 28. The user may also initiate the calling process by pressing the CALL key. If the CALL key is pressed, a determination is made whether a member is currently displayed. If an individual member is currently displayed, control is transferred to DIAL_NAME_STATE which will be described with reference to Figure 32. The user may also stop the processing of GROUP_STATE. If the STOP function key is pressed, controlled is transferred to STOP_STATE which was described with reference to Figure 13. If the user causes none of the events to occur, control remains with GROUP_STATE until one of the events are caused to occur.
Referring to Figure 22, DELETE_LIST_STATE will now be described. This state permits the user to delete all names from a particular list. The user is prompted as to whether all the names of the list are to be deleted. The prompt is displayed as illustrated in screen 221 which permits the user to select the YES or NO option. If the YES option is selected by pressing the "Y" key, control is transferred to VERIFY_DEL_LIST_STATE which will be described with reference to Figure 23. If any key other than the "Y" key is pressed, including the "N" key, the name of the list is displayed as illustrated in screen 222 and control will be transferred to LIST_STATE which was described with reference to Figure 20. If neither the YES or NO option are selected, control remains with
DELETE_LIST_STATE until one of the options is selected. Referring to Figure 23, VERIFY_DEL_LIST_STATE will now be described. This state permits the user to verify whether or not the list which was selected for deletion in DELETE_LIST_STATE is to be erased from memory. The user is presented with an option of erasing the members of a list from memory, the options being illustrated in screen 231. If the user selects the OK option by pressing the "O" key, all records for that list are deleted and control is transferred to ALL_DELETED_STATE which will be described with reference to Figure 25. If any other key including the "N" key is pressed, control is transferred to LIST_STATE which was described with reference to Figure 20. If neither the OK or NO option is selected, control remains with VERIFY_DEL_LIST_STATE until one of the options is selected.
Referring to Figure 24, DELETE_NAME_STATE will now be described. The user is prompted as to whether the current name within the list is to be deleted. This prompt appears on the display as illustrated in screen 241. The user has the options of YES or NO. If the YES option is selected by pressing the "Y" key, the name currently being displayed is deleted and an indication of this deletion is made as illustrated in screen 242. Processing is delayed for approximately two (2) seconds and then the next name on the list is displayed as illustrated in screen 243. Control is then transferred to LIST_STATE to permit further processing of the list or members of the list. LIST_STATE was described with reference to Figure 20. If any key other than the "Y" key is pressed, including the "N" key, control is transferred to LIST_STATE which was described with reference to Figure 20. If neither the YES nor NO option is selected, control remains with DELETE_NAME_STATE until one of the options is selected. Referring to Figure 25, an indication that the list was erased is displayed as illustrated in screen 251. In order to continue processing, the user is prompted to press the ENTER key. If the ENTER key is pressed, screen 252 is displayed indicating the current time and control is transferred to IDLE_STATE permitting the user to select another user function. IDLE_STATE was described with reference to Figure 14. If the ENTER key is not pressed, control remains with ALL_DELETED_STATE until the ENTER key is pressed. Referring to Figure 26, DELETE_GROUP_STATE will now be described. The user is prompted to indicate whether the displayed group is to be deleted. The prompt is illustrated in screen 261. If the user selects the YES option by pressing the "Y" key, control is transferred to VERIFY_DEL_GROUP_STATE which will be described with reference to Figure 27. If any other key, including the "N" key, is pressed indicating a selection of the NO option, control is transferred to GROUP_STATE which was described with reference to Figure 21. If neither the YES or NO option is selected, control remains with DELETE_GROUP_STATE until one of the options is selected.
Referring to Figure 27, VERIFY_DEL_GROUP_STATE will now be described. The user is asked to verify that all members of the group are to be deleted. This verification is sought by displaying screen 271. If the OK option is selected by pressing the "O" key, all members of the group are deleted and control is transferred to GROUP_STATE. If any other key, including the "N" key, is pressed, indicating selection of the NO option, control is transferred to GROUP_STATE which was described with reference to
Figure 21. If neither the OK or NO option is selected, control remains with VERIFY_DEL_GROUP_STATE until one of the options is selected.
Referring to Figure 28, DEL_MEMBER_STATE will now be described. The user is prompted as to whether the member presently displayed is to be deleted. The prompt is in the form of a query as illustrated in screen 281. If the user selects the YES option by pressing the "Y" key, the member currently being displayed is erased from the particular group. An indication of this deletion is displayed as illustrated in screen 282. Processing is delayed for two (2) seconds and then the next member of the group is displayed as illustrated in screen 283. Control is then transferred to GROUP_STATE. If any other key including the "N" key is pressed, indicating a selection of the NO option, control is transferred to GROUP_STATE which was described with reference to Figure 21. If neither the YES or NO option is selected, control remains with DELETE_MEMBER_STATE until one of the options is selected. Referring to Figure 29, ADD_NAME_STATE will now be described. The user is prompted to enter the name to be added. The prompt is displayed as illustrated in screen 291. The name is entered by pressing the alphanumeric/symbol keys. Pressing the ENTER key adds the new name and transfers control to
ADD_NUMBER_STATE which will be described with reference to Figure 30. The user may also stop the processing of ADD_NAME_STATE by pressing the STOP key. If the STOP option is selected, an indication is made as illustrated in screen 292 that no names were added. The indication that no names were added is displayed for two (2) seconds. Control is then transferred to STOP state which was described with reference to Figure 13. If neither the ENTER nor the STOP functions were selected, control remains with ADD_NAME_STATE until one of these options is selected.
Referring to Figure 30, ADD_NUMBER_STATE will now be described. The user is prompted to enter the new phone number to be added. The prompt appears as illustrated in screen 301. The phone number to be added is entered by pressing the numeric keys among the alphanumeric/symbol keys. Once the keys have been pressed, the ENTER key is pressed to add the number and association with the appropriate name. After a two second delay, control is transferred to
ADD_GROUP_INFO_STATE to allow entry of the appropriate group information for the new name. This state will be described with reference to Figure 34. The user may also select the STOP option by pressing the STOP key. If the STOP key is pressed, an indication is made that the new name is added to the list as illustrated in screen 302 and control is transferred to STOP STATE which was described with reference to Figure 13. The user may also continue to add more names to the list by pressing the ADD key. Screen 303 is displayed for two (2) seconds to notify the user of this option selection to add more names. Control is then transferred to ADD_NAME_STATE to permit entry of additional names. ADD_NAME_STATE was described with reference to Figure 29. If none of the options of adding group information, stopping or adding additional names was selected, control remains with ADD_NUMBER_STATE until one of the options is selected.
Referring to Figure 31, FIND_NAME_STATE will now be described. This permits the user to locate a particular name. The user is prompted as illustrated in screen 311 to enter the name to be found. The name to be found is indicated by the user by pressing the alphanumeric/symbol keys. Once the name has been entered using the alphanumeric/symbol keys, the ENTER key is pressed. The apparatus then finds the selected name and displays the name and phone number as
_ illustrated in screen 312. Control is then transferred to LIST_STATE which was described with reference to Figure 20. LIST_STATE permits the user to view the list and modify the list. If the ENTER option is not selected, control remains with FIND_NAME_STATE until the option is selected.
Referring to Figure 32, DIAL_NAME_STATE will now be described. The apparatus picks up the phone, i.e., goes "off hook." The user is notified of the phone pick-up as illustrated in screen 321. The user is prompted as to whether the calling process is to continue. The prompt requires the user to press the ENTER key. If the ENTER key is pressed, control is transferred to WAIT_DIAL_STATE to perform the dialing process. WAIT_DIAL_STATE will be described with reference to Figure 33. The user may select the STOP option at any time by pressing the STOP function key. If the STOP function key is pressed, control is transferred to STOP_STATE which was described with reference to Figure 13. If neither the ENTER nor the STOP options were selected, control remains with DIAL_STATE until one of the options is selected.
Referring to Figure 33, WAIT_DIAL_STATE will now be described. An indication to the user is made that the telephone number associated with the current name is being dialed. The indication is made by displaying screen 331. The number associated with the current name appearing in screen 331 is dialed. Processing is delayed for ten (10) seconds and the apparatus returns to the "on hook" state. Control is then transferred to STOP state, which was described with reference to Figure 13. The user can also interrupt the dialing process by selecting the STOP option at any time. If the STOP option is selected by pressing the STOP key, the apparatus returns to the "on hook" mode and transfers control to STOP_STATE. If neither the default of ten seconds does not occur and the STOP option is not selected, control remains with WAIT_DIAL_STATE until either the default or the STOP option is selected.
Referring to Figure 34, ADD_GROUP_INFO_STATE will now be described. This state permits the user to add new names to particular groups by modifying the group list. The user is prompted to modify the group list by indicating the groups to which the new name is to be associated as illustrated in screen 341. The groups to which the new name is to be associated are indicated by using the cursor keys and the alphanumeric keys. The group lists are single digit for the preferred embodiment. The group list is updated in real time as the user enters the group association using the cursor arrow keys and the alphanumeric keys. The user can select the STOP function at any time. If the STOP key is pressed indicating a selection of the STOP function, no group information is added to the group list for the new name. The new name is simply added to the group as indicated in screen 342. Screen 342 is displayed for two (2) seconds and then control is transferred to STOP_STATE which was described with reference to Figure 13. The user may also add additional new names by pressing the ADD or ENTER key. As a result of the selection of ADD or ENTER options, the new name is added to the group with the selected group information. An indication of this result is displayed as illustrated in screen 343 for a period of two (2) seconds. The user can then add an additional new name and is prompted to do so by displaying screen 344. Control is then transferred to ADD_NAME_STATE which was described with reference to Figure 29. If neither the STOP, ADD or ENTER options were selected, control remains with ADD_GROUP_INFO_STATE until one of the options is selected.
Referring to Figure 35, CALL_STATE will now be described. The user has the options of calling all members of a list, all members of a group or an individual member. These options are presented to the user by displaying screen 351. The user can move the cursor down to display the NAME option using either the DOWN ARROW key or the ENTER key. The result of pressing one of these keys scrolls the display down to display the NAME option. If the user indicates the selection of the GROUP option by pressing the GROUP key, control is transferred to CALL_GROUP_STATE wherein the calling process to all memoers of a particular group will be performed. CALL_GROUP_STATE will be described with reference to Figure 36. If the user indicates a selection of the LIST option by pressing the LIST key, control is transferred-to CALL_LIST_STATE wherein the calling to all members of the list will be performed. CALL_LIST_STATE will be described with reference to Figure 37. If the user selects the NAME option to call an individual name by pressing the "N" key, control is transferred to FIND_NAME_STATE to locate a particular name to be called. FIND_NAME_STATE was described with reference to Figure 31. The user may also select the STOP option at any time by pressing the STOP key. If the STOP key is pressed, control is transferred to STOP_STATE which was described with reference to Figure 13. If none of the options are selected, control remains with CALL_STATE until one of the options is selected.
Referring to Figure 36, CALL_GROUP_STATE will now be described. The operator can select a particular group within a selected list to be called and then initiate the calling process. The user is prompted to select the group to be called. The prompt is illustrated in screen 361. User selection of a group identifier by pressing the appropriate numeric key results in the toggling of the group number between ON and OFF. Pressing of the ENTER key initiates the calling process to those groups which are "On." The apparatus goes "Off Hook" if one or more of the groups is "On." Control is then transferred to DELIVER_MESSAGE_STATE which will be described with reference to Figure 38. If none of the groups are "On", the user is instructed to select a group as illustrated in screen 362. This instruction is displayed for two (2) seconds and then screen 363 is displayed to permit the user to select the groups to be toggled to the "On" position for placing of calls. The user may select the STOP option at any time by pressing the STOP key. If the STOP key is pressed, control is transferred to STOP_STATE which was described with reference to Figure 13. If neither the ENTER option is selected with one or more groups being turned "On" nor the STOP option is selected, control remains with
CALL_GROUP_STATE until one of the options is selected. Referring to Figure 37, CALL_LIST_STATE will now be described. This permits the user to call all members on a list. The user is prompted to initiate the calling process by pressing the ENTER key. The prompt is displayed as illustrated in screen 371. If the user presses the ENTER key, the apparatus goes "off hook" and transfers control to DELIVER_MESSAGE_STATE to begin the calling process. DELIVER_MESSAGE_STATE will be described with reference to Figure 38. The user may select the STOP option at any time. The option is selected by pressing the STOP key which transfers control to STOP_STATE, previously described with reference to Figure 13. If neither the ENTER nor the STOP option are selected, control remains with CALL_LIST_STATE until one of the options is selected. Referring to Figure 38, DELIVER_MESSAGE_STATE will now be described. An indication is made to the user that the dialing process has begun for the first name by displaying screen 381. Once a dial tone is detected, the apparatus dials the number associated with the first name. Control is then transferred to WAIT_RESPONSE_STATE which will be described with reference to Figure 40. If a determination is made that the apparatus has been "off hook" for greater than a predetermined number of seconds, preset time, the apparatus goes "on hook" and indicates to the user that there was no dial tone for the call being placed to the current name. This indication is made by displaying screen 382. Control is then transferred to HANG_UP_STATE which will be described with reference to Figure 39. The user may select the STOP option at any time to interrupt the calling process. If the STOP key is pressed, control is transferred to CALL_INTERRUPT_STATE which will be described with reference to Figure 42. Finally, if none of the options are selected and the default of "off hook" seconds is not reached, control remains with DELIVER_MESSAGE_STATE until one of the options is selected or the default occurs.
Referring to Figure 39, HANG_UP_STATE will now be described. Once all of the calls are completed, the user is notified that all calls are complete. This indication is displayed as illustrated in screen 391. The user then presses ENTER to continue processing. Control is then transferred to CALLS_COMPLETE_STATE which will be described with reference to Figure 48. A determination is made as to whether "on hook" time is greater than a predetermined, i.e. preset, number of seconds. If the "on hook" time is greater than this time the apparatus goes "off hook." The user will be notified of this status by displaying screen 392. The telephone number associated with the current name is dialed and control is transferred to DELIVER_MESSAGE_STATE. The user can select the STOP option at any time to interrupt the calling process. Pressing of the STOP key results in transfer of control to CALL_INTERRUPT_STATE which will be described with reference to Figure 42. If the last call has not been completed, the default of "on hook" time has not been reached and the STOP option has not been selected, control remains with HANG_UP_STATE until one of these events occurs.
Referring to Figure 40, WAIT_RESPONSE_STATE will now be described. Once a ring is detected, an indication is made to the user by displaying screen 401 that the telephone number associated with the current name is ringing. Control is then transferred to
RINGING_STATE which will be described with reference to Figure 41. If a busy signal is detected as a result of the call to the current name, the apparatus goes "on hook" and indicates to the user that the telephone number of the current name was busy by displaying screen 402. The next name is retrieved and control is transferred to HANG_UP_STATE to permit calling of the next name if the last name in the group or list has not been reached. If no ringing or busy signal is received after a predetermined number of seconds, the apparatus goes "on hook" and indicates to the user that there was some error in dialing by displaying screen 403. The pointer to the next name within the group or list is adjusted so that the next name can be called. Control is then transferred to HANG_UP_STATE to permit calling of the next name which was described with reference to Figure 39. The user can select the STOP option at any time to interrupt the calling process. If the STOP option was selected by pressing the STOP key, the current call is completed and control is transferred to CALL_INTERRUPT_STATE which will be described with reference to Figure 42. If a ring has not been detected, a busy signal has not been detected, a default of no ringing signal after the preset time has not occurred and the STOP option has not been selected, control remains with WAIT_RESPONSE_STATE until one of these events occurs.
Referring to Figure 41, RINGING_STATE will now be described. This state permits detection of the call ringing for an extended period of time, a "hello" response, an answering machine response, and a conclusion of an answering machine response. If it is determined that the ringing response has extended for too long a period, the apparatus goes "On Hook." The user is then notified that the current name member is not at home by displaying screen 411. Current name is set to the next name to permit calling of the next name. Control is transferred to HANG_UP_STATE which was described with reference to Figure 39. If a "hello" is detected, control is transferred to GIVE_INTRO_STATE to play the introduction header. GIVE_INTRO_STATE will be described with reference to Figure 44. The detection of "hello" is by analysis of the speech pattern. For example, if "Hello" is detected, it is recognized as speech where as if "Hello, this is Tony. I'm not home..." is detected, it is recognized that a human voice is not presently speaking. If an answering machine response is detected, an indication is made to the user that an answering machine responded to the call. The indication is made by displaying screen 412. When the answering machine which responded to the call is finished, control is transferred to GIVE_INTRO_STATE to play the introduction header. If none of the events of extended ringing, "hello" response, answering machine response or an indication that the answering machine is done occurs, control remains with RINGING_STATE until one of the events occurs.
Referring to Figure 42, CALL_INTERRUPT_STATE will now be described. A particular calling process can be interrupted at any point. The user is prompted to indicate what is to be done as a result of a desire to interrupt the calling procedure. This prompt is in the form of a display as illustrated in screen 421. If an indication is made to view the status of the calling procedure by pressing the "S" key, screen 422 is displayed to indicate that the telephone number associated with the first name is busy. Control is then transferred to CALL_STATUS_STATE. If an indication is made that the calling procedure is to be resumed by pressing the "R" key, the user is notified that the calling procedure is resumed by displaying screen 423. Control is then transferred to
HANG_UP_STATE. The calling procedure can be quit or stopped. This is done by pressing the "Q" or STOP keys resulting in transfer of control to QUIT_CALLING_STATE wherein the user can stop the calling procedure. If none of the options including STATUS, RESUME, QUIT, or STOP is selected, control remains with CALL_INTERRUPT_STATE until one of the options is selected.
Referring to Figure 43, QUIT_CALLING_STATE will now be described. The user is prompted to select an option as to whether the calling procedure is to be stopped. The prompt is displayed as illustrated in screen 431 giving the user the option of YES or NO. If the user indicates a selection of the YES option by pressing the "Y" key, the calling procedure is stopped and screen 432 is displayed providing the current time. Control is then transferred to IDLE_STATE permitting the user to select another function for processing. If the user indicates selection of the NO option by pressing the "N" key, control is transferred to CALL_INTERRUPT_STATE which was described with reference to Figure 42. If neither the YES or NO option is selected, control remains with QUIT_CALLING_STATE until one of the options is selected.
Referring to Figure 44, GIVE_INTRO_STATE will now be described. The user is notified that the introduction header is being played to the current name by displaying screen 441. The introduction header is played to the current name. Once playing of the introduction header is complete, control is transferred to CALL_ACKNOWLEDGE_STATE to await a response to the introduction header. CALL_ACKNOWLEDGE_STATE will be described with reference to Figure 46.
Referring to Figure 45, GIVE_MESSAGE_STATE will now be described. An indication is made to the user that the message is being played to the current name. The notification is made by displaying screen 451. The message is played to the current name. Once the message is complete, the user is notified that the call to the current name is complete by displaying screen 452. The apparatus goes "On Hook." Control is then transferred to HANG_UP_STATE which was described with reference to Figure 39. Referring to Figure 46, CALL_ACKNOWLEDGE_STATE will now be described. An indication is made to the user that the apparatus is awaiting a response to the introduction header. This indication is made by displaying screen 461, which tells the user that the apparatus is awaiting a "9" response. If a "Click" is detected, the apparatus goes "On Hook." The user is notified that the call to the current name is incomplete by displaying screen 462. The current name is then set to the next name to permit attempting placing of a call to the next name. Control is then transferred to HANG_UP_STATE which was described with reference to Figure 39. If a "9" or answering machine is detected in response to the introduction header, control is transferred to GIVE_MESSAGE_STATE to play the message. GIVE_MESSAGE_STATE was described with reference to Figure 45. If no response to the introduction header is received: by the apparatus and the introduction header has been played less than a predetermined number of times, e.g. 5 times, control is transferred to GIVE_INTRO_STATE to replay the introduction header. If no response is received after repeating the introduction header a predetermined number of times (e.g. 5 times), the apparatus goes "On Hook." The user is notified that no confirmation was made to the introduction header by the current name. The notification is made to the user by displaying screen 463. The current name is then set to the next name to permit attempting placing of a call to the next name. Control is then transferred to HANG_UP_STATE which was described with reference to Figure 39. If none of the events including "Click", "9", no response in preset time or in larger preset time occur, control remains with CALL_ACKNOWLEDGE_STATE until one of the events occurs. Referring to Figure 47, CALL_STATUS_STATE will now be described. This permits the user to view the status of the calls being placed in terms of the calls which have already been placed, calls which are presently being placed, and calls which have not yet been placed. The user can view those names which are next in the group or in the organization list by scrolling the records within the group or the organization list. This scrolling is accomplished by pressing the DOWN ARROW key resulting in display of screen 471 which indicates that the line for the next name is busy, ringing, or whatever the present state is of the call being placed to the next name. If the UP ARROW key is pressed, the previous record is displayed and the status of the call to the previous name is displayed as illustrated in screen 472. In this example, the call to the previous name was completed. The user can stop the status procedure at any time by pressing the STOP key. If the STOP key is pressed, control is transferred to CALL_INTERRUPT_STATE to permit interruption of the calling procedure. CALL_INTERRUPT_STATE was described with reference to Figure 42. In order to return from the status checking of the calling procedure, the STOP key must be pressed to return to the CALL_INTERRUPT_STATE to permit further checking of the status of the calling procedure, resuming the calling procedure or quitting the calling procedure. If none of the options are selected, control remains with CALL_STATUS_STATE until one of the options is selected.
Referring to Figure 48, CALLS_COMPLETE_STATE will now be described. This state provides an indication to the user that the calls have been completed and specifies the organization list name, group name or individual member name to which the call was completed. If an entire organization member list was called, the user is notified that the calls were completed to the specified organization member list. The indication is made by displaying screen 481. If calls were placed to a group, the user is notified that the calls were completed to all members of the specified group. The notification is made by displaying screen 482. If the call was placed to an individual member or person, the user is notified that the call to the specified person or name is complete. The notification is made by displaying screen 483. Once the user is notified that the calls are completed to either the organization member list, the group or an individual name, control is transferred to IDLE_STATE to permit user selection of another function. IDLE_STATE was described with reference to Figure 14.
DISTINGUISHING BETWEEN INTERACTIVE AND NON-INTERACTIVE RESPONSES
According to another aspect of the invention, the telephone calling apparatus can distinguish between interactive responses transmitted by the called party where the called party transmitting the response is a live human being, and non-interactive responses which are all other responses including a recorded human voice such as provided by an answering machine. The apparatus identifies the type of non-interactive (answering) system and also can identify specific interactive responses based on the signal pulses received by the calling apparatus from the called party.
Telephone Calling Apparatus Hardware Components Referring again to Figure 2, the components of the telephone calling apparatus 10 may be used to distinguish between interactive and non-interactive responses. As previously described, communications port 56 permits connection of calling apparatus 10 to a separate microprocessor to perform testing and quality control during the manufacturing process. In addition, communications port 56 also permits interactive data exchange between calling apparatus 10 and a remote microprocessor or computer. During operation, CPU 50 controls the apparatus to disconnect the connection via telephone line interface 68. CPU 50 also controls the calling apparatus 10 to disconnect a telephone line connection and makes an indication in RAM 54 that the telephone number should be called again at a later time. In addition, CPU 50 controls the apparatus to disconnect the telephone line connection only when the received signal is a busy signal and not when the receiving party is an answering machine. This is due to the fact that the calling apparatus 10 also analyzes an answering machine on the receiving end of the call and leaves a message with the answering machine. In addition, if a determination was made that the response to an initiated telephone call was human speech, calling apparatus 10 analyzes the signal to determine if the signal is interactive or non-interactive. After making this determination, CPU 50 controls digital voice circuit 62 and signal processor 66 to transmit the message at the appropriate time for delivery via DAA 68.
With respect to dual tone mixed frequency and pulse recognition circuits 72, the individual answering the telephone can make an indication as to whether he or she wishes to hear the message by dialing one or more numbers, whether touch tone or pulse, on the telephone apparatus of the receiving party, e.g. pressing the "9" key. Once DAA 68 has received the called party's indication, it is transmitted to DTMF recognition circuit 72 and signal analysis circuit 70 for a determination as to whether it is a valid signal. A message is then sent by DTMF recognition 72 or signal analysis circuit 70 to CPU 50 indicating whether the received signal, whether from a touch tone telephone or a pulse telephone, was valid.
Interactive/Non-interactive Concept
It is often necessary in telecommunication applications to distinguish between interactive (live human) and non-interactive (machine) respondents. Thus, it is desirable to identify a called party as either interactive or non-interactive and to continue processing based upon the determination. However, it is difficult to distinguish between interactive and non-interactive responses because: (1) there is no required telecommunication protocol for interactive speech; (2) there is no established protocol for non- interactive systems such as answering machines; (3) signal quality is substantially the same for both interactive (human) and non-interactive (machine) speech when transmitted over telecommunication channels; and (4) loss of communications as a result of a failure to identify an interactive response must be prevented within the first few seconds of interaction. The telephone calling apparatus of the present invention distinguishes between interactive and non-interactive responses and proceeds to handle the responses based upon measured elapsed receipt times between communications signals received by the telephone calling apparatus from the telephone number called (called party) . The calling apparatus also uses the measured elapsed receipt time to distinguish between different classes of non-interactive communication signals, to identify the type of non- interactive response or type of answering machine connected to the telephone number called.
The calling apparatus of the present invention relies upon a number of factors including the fact that human response is interactive since humans respond to signals generated by another. In addition. the pattern of non-interactive speech is substantially different from that of interactive speech for several reasons. Interactive communications or responses require the answering party at the telephone number called to process audible information before responding and therefore, pauses in time will occur for the called party to respond. In addition, non-interactive systems generate patterned responses which can be measured. As a result, these responses are repeatable and therefore can be categorized based upon repeatability. The different types of non-interactive systems can be distinguished based upon identification of a particular patterned response.
Referring to Figures 49 through 58, timing diagrams illustrate how the telephone calling apparatus distinguishes between interactive and non-interactive responses. After initiating a telephone call as previously described, a telephone calling apparatus receives communications signals from the telephone number called in response to the initiated telephone call. The calling apparatus identifies the communications signals received by the apparatus from the telephone number called as either signals transmitted by a private party or a telephone company's central office. Communication signals transmitted by a telephone company's central office include a ringing signal, a busy signal, or a telephone company message providing information regarding the telephone service or telephone number called. Identification of a signal transmitted by a telephone company's central office is based on either signal timing or frequency of the signal. Once a distinction is made between communications signals generated by a telephone number called versus a telephone company's central office signal, the calling apparatus proceeds to process the response generated by a telephone number called. Generally, a called party will answer the phone by saying "Hello, Smith residence" (see Figures 49-50) . The telephone calling apparatus detects a pause having a duration greater than a predetermined length PAUSE_1 for the calling party to identify themselves. This first pause, PAUSE_1, in the transmission of signals by the called party, must occur within a predetermined amount of time MAX_TIME_1. In the preferred embodiment, PAUSE_1 may have a value in the range of 0.3 to 0.8 seconds and MAX_TIME__1 may have a value in the range of 1.5 to 3.0 seconds. If a pause having a length greater than PAUSE_1 does not occur within MAX_TIME_1 as illustrated in Figure 51, the calling apparatus concludes that a non-interactive system is connected to the telephone number called. In other words, if the calling party receives a pause-free signal (a signal with no pause greater than PAUSE_1) having a duration greater than MAX_TIME_1, the called party is a non-interactive respondent. If the called party generates a greeting followed by a pause in the transmitted signal having a duration greater than PAUSE_1 within MAX_TIME_1, the calling apparatus, as indicated in Figures 49 and 50, transmits a CHIME or some other signal to the called party in order to prompt a response by the called party. The prompt or CHIME must be of sufficient duration and complexity to cause the called party to either pause for a duration greater than PAUSE_2 (see Figure 49) or respond with a brief query such as "Hello?" which is followed by a pause having a duration greater than PAUSE_2. The pause of duration greater than PAUSE_2 must occur within a specific time MAX_TIME_2. In the preferred embodiment, PAUSE_2 may have a value in the range of 0.5 to 1.5 seconds, MAX_TIME_2 may have a value in the range of 1.5 to 3.0 seconds, and CHIME may have a value in the range of 0.5 to 2.0 seconds. If a pause having a duration greater than PAUSE_2 occurs within MAX_TIME_2 in response to the prompting signal or CHIME transmitted by the calling apparatus, the calling apparatus identifies the called party as interactive (see Figures 49 and 50) . In other words, if the calling party receives a pause- free signal (a signal with no pause greater than PAUSE_2) having a duration greater than MAX_TIME_2, the called party is a non-interactive respondent.
If the called party does allow a pause in the signals transmitted to the calling apparatus having a duration greater than PAUSE_1 within MAX_TIME_1, the calling apparatus identifies the called party as a non- interactive system (see Figure 51) . Although the called party may allow a pause having a duration greater than PAUSE_1 within MAX_TIME_1, if the called party does not allow a second pause having a duration greater than PAUSE_2 within MAX_TIME_2, the calling apparatus identifies the called party as non- interactive (see Figure 52) . It will be understood by those having skill in the art that a number of different distinguishing methods may be implemented by the calling apparatus to distinguish between interactive and non-interactive respondents, including, but not limited to, one or more valid pauses (pauses having at least a predetermined length) and interactive response(s) transmitted by the called party. Furthermore, the different distinguishing methods may be combined. For example, the distinguishing method may consist of receiving the sequence of a pause, a chime, a second pause and a requested digit or the sequence of a pause, a chime, a second pause, a second chime and a third pause.
Once the calling apparatus has distinguished between interactive and non-interactive communication signals based upon measured elapsed receipt time and identified the called party as non-interactive, the calling apparatus then proceeds to distinguish between a plurality of classes of non-interactive communications signals to identify the class of the non-interactive system connected to the telephone number called. There are three general classes or types of non-interactive systems as described below because answering machines use different techniques to accept messages. According to the present invention, non- interactive systems which transmit one or more long "beep" tones are classified as Type 1 systems.
Answering machines which provide a short "beep" tone (or no "beep" tone) followed by a long pause and sometimes even a "beep" before hanging up, are classified as Type 2 non-interactive systems. The calling apparatus "learns" the Type 2 system during the first call to the Type 2 system and must call the Type 2 system a second time to deliver the message to the Type 2 system. Type 3 systems are non-interactive systems which require interaction by the calling party and/or transmit a message having a duration greater than a reasonable amount of time.
Referring to Figures 53 and 54, Type 1 systems allow a message to be recorded after a long "beep". Accordingly, they allow a pause having a duration greater than PRE_BEEP_PAUSE in the signals transmitted back to the calling apparatus. The pause having a duration greater than PRE_BEEP_PAUSE must occur within a specified time ANNOUNCE_PAUSE. In the preferred embodiment, PRE_BEEP_PAUSE may range in value from 0.2 to 0.8 seconds and ANNOUNCE_PAUSE may range in value from 1.0 to 4.0 seconds. The calling apparatus next awaits receipt of a "beep" having a duration greater than MIN_BEEP transmitted by the called party which is followed by a pause having a- duration greater than POST_BEEP_PAUSE in the communication signal transmitted by the called party. In the preferred embodiment, MIN_BEEP may have a value ranging from 0.1 to 0.5 seconds and POST_BEEP_PAUSE may have a value ranging from 1.0 to 4.0 seconds. The pause having a duration greater than POST_BEEP_PAUSE must occur within a specified period of time MAX_WAIT immediately following the "beep". MAX_WAIT may have a value ranging from 2.0 to 5.0 seconds. If the called party allows a pause having a duration greater than PRE_BEEP_PAUSE, transmits a "beep" having a duration greater than MIN_BEEP, and allows a pause having a duration greater than POST_BEEP_PAUSE, the calling apparatus identifies or declares the called party as a Type 1 non-interactive system. The calling apparatus will then deliver a message to the system. This timing sequence is illustrated in Figure 53. Referring to Figure 54, a second Type 1 system is illustrated. These answering machines allow a message to be recorded after a number of "beeps". If a pause of duration greater than POST_BEEP_PAUSE does not follow the "beep" transmitted by the called party within MAX_WAIT time, the calling apparatus continues to wait for a pause of duration greater than POST_BEEP_PAUSE in the signal transmitted by the called party. Once the calling apparatus identifies the occurrence of the pause of duration greater than POST_BEEP_PAUSE within MAX_WAIT after the "beep" transmitted by the called party, the calling apparatus declares the called party as a Type 1 non-interactive system. The calling apparatus then transmits the message to the called party. Similar to Type 1 systems, there are also two
Type 2 non-interactive systems. These systems provide a period for delivering a message after a short "beep". In order to deliver a message, the system must first be "learned" to identify the message delivery period and then a second call must be placed to the system to transmit the message during the message delivery period. Referring to Figures 55 and 56, Type 2 systems allow a pause having a duration greater than PRE_BEEP_PAUSE within a period of time ANNOUNCE_PAUSE. However, Type 2 systems do not transmit a "beep" having a duration greater than MIN BEEP. The calling apparatus first "learns" the Type 2 system before delivering the message. It "learns" the system by measuring the length (MESSAGE_LENGTH) of the initial message transmitted by the called party back to the calling apparatus. The message transmitted by the Type 2 non-interactive system to the calling apparatus, including the pause having a duration greater than PRE_BEEP_PAUSE, ends with either a short "beep" having a duration less than MINJ3EEP or no "beep" at all. The message transmitted by the called party to the calling apparatus having a measured duration greater than MESSAGE_LENGTH must be less than MAX_ANNOUNCE. Otherwise, the called party is a Type 3 non-interactive system (see Figure 58) . Next, the calling apparatus verifies the existence of a pause having a duration greater than MESSAGE_PAUSE in the communication signals transmitted by the called party. MESSAGE_PAUSE may range in value from 5.0 to 10.0 seconds. As illustrated in Figure 55, once the calling apparatus verifies the existence of a pause of duration greater than MESSAGE_PAUSE in the transmission of the communications signals by the called party, the calling apparatus terminates the call and identifies the called party as a Type 2 non-interactive system.
Referring to Figure 56, a second Type 2 non- interactive system is illustrated. The second Type 2 system generates a long "beep" having a duration greater than MIN_BEEP just prior to hanging up and before the expiration of the MESSAGE_PAUSE time period. This long "beep" tone often is used by a Type 2 non- interactive system to indicate to a calling apparatus or party that the time to leave a message has expired. This long "beep" is followed within a time period of POST_BEEP_PAUSE by a hang up "click" which has a duration between MIN_CLICK and MAX_CLICK. The hang up "click" is followed by a pause having a duration greater than CLICK_PAUSE. The calling apparatus should not deliver a message to the called party after the detection of the long "beep" having a duration of MIN_BEEP followed by a "click" having a duration ranging between MIN_CLICK and MAX_CLICK. The calling apparatus then terminates the call placed to the called party and identifies the called party as a Type 2 non- interactive system (see Figure 56) . In the preferred embodiment, MESSAGE_PAUSE may have a value between 5.0 and 10.0 seconds, MIN_CLICK may have a value between 0.02 and 0.5 seconds, MAX_CLICK may have a value between 0.2 and 1.0 seconds and CLICK_PAUSE may have a value between 1.0 and 8.0 seconds. The range of MESSAGE_LENGTH for the duration of the message transmitted by the called party is based upon the non- interactive-system connected to the telephone number called.
Referring to Figure 57, the second call to the Type 2 non-interactive system is illustrated. Once the calling apparatus has identified ("learned") the message delivery period of the Type 2 non-interactive system (Figures 55-56) , it stores the measured length (MESSAGE_LENGTH) of the message transmitted by the called party as LAST_LENGTH. The calling apparatus, after terminating the call to the called party and identifying the called party as a Type 2 non- interactive system, initiates a second call to the same called party. The calling apparatus then verifies that the length of the message transmitted by the called party (MESSAGE_LENGTH) is equal to the length the message previously transmitted by the called party (I_AST_LENGTH) . Once the calling apparatus has verified that the new message length is equal to the previous message length, it delivers or transmits the message to the called party during the message delivery period.
Referring to Figure 58, a third type of non- interactive system is illustrated. Type 3 non- interactive systems provide a message to the calling apparatus requiring interaction by the calling party and/or a message which continues for longer than a reasonable amount of time such as MAX_ANNOUNCE which may range in value from 20 to 40 seconds. As illustrated in Figure 58, once a message transmitted by the called party extends beyond MAX_ANNOUNCE, the calling apparatus declares the called party as a Type 3 non-interactive system and terminates the call. Telephone company error messages and "announce only" answering systems are examples of Type 3 non- interactive systems. In the event the message transmitted by the called party exceeds MAX_ANNOUNCE in duration, the calling apparatus must either discontinue attempts to deliver the message to this telephone number, deliver the message at the longest available pause, or make further attempts to reach an interactive respondent (human) or a Type 1 or Type 2 non- interactive system at the telephone number called.
Identification of Responses by Interactive Respondents The telephone,calling apparatus of the present invention can also identify specific responses transmitted by interactive respondents in response to a request from the calling apparatus. The calling apparatus according to the present invention can identify both DTMF signals and rotary pulse signals. It will be understood by those having skill in the art that DTMF signals are deciphered using DTMF decoding technologies.
The telephone calling apparatus of the present invention identifies a specific rotary pulse digit response provided by an interactive respondent by detecting the on/off signals and counting the repetitive patterns in the rotary pulse signals to translate the signals into the corresponding digit. The telephone calling apparatus establishes a "timing window" by first requesting that the interactive respondent transmit a specified rotary pulse digit such as the digit "9". The apparatus then records the amount of time during which the on/off signals corresponding to the dialed "9" are generated. The calling apparatus then proceeds to transmit questions to the interactive called party prompting responses. The calling apparatus deciphers the responses to the questions by comparing the duration of the on/off signals generated in response to the request to the timing window. For example, the first requested digit "9" may generate on/off signals having a duration of 900 msec. If an interactive respondent were to respond to a question provided by the telephone calling apparatus with a 300 msec on/off signal, the telephone calling apparatus, based on the comparison of the 300 msec signal to the 900 msec signal decodes the 300 msec signal as a "3". As a result, both tone and pulse signals may be deciphered by the telephone calling apparatus. The telephone calling apparatus, in response to answers to questions provided by interactive respondents, may store the responses or discontinue further calls based upon the interactive respondent's answer to the transmitted questions. For example, once a predetermined number of interactive respondents have generated a desired response to a particular question provided by the telephone calling apparatus, the calling apparatus may terminate or discontinue any further calls. It will be understood by those having skill in the art that the telephone calling apparatus may also detect a more complicated signal, such as signal having two digits, transmitted by an interactive respondent.
Thus, the telephone calling apparatus identifies a specific response provided by an interactive respondent based upon a determination of the number of pulse signals in the series of pulse signals received by the telephone calling apparatus from the interactive respondent.
Detailed Operation For Distinguishing Between Interactive and Non-Interactive Responses
Referring to Figures 59-66, alternative operations for Figures 41, 44, 45, and 46 will now be described, to permit the calling apparatus to distinguish between interactive and non-interactive communication signals based upon the measured elapsed receipt time and to distinguish between the classes of non-interactive communication signals received by the calling apparatus. The operational state convention previously used will be described. More specifically, referring to Figure 59,
RINGING_STATE will now be described. This state permits detection of the call ringing for an extended period of time and the presence of a non-telephone company signal. If it is determined that the ringing response has extended for too long a period, the apparatus goes "On Hook". The user is then notified that the calling apparatus is hanging up by displaying screen 591. "Current name" is set to "next name" to permit calling of the next name. Control is transferred to HANG_UP_STATE which was described with reference to Figure 39 and will be described with reference to Figure 74 for interactive/non-interactive identification. If a voice signal is detected which is a non-telephone company signal, the user is notified that a voice is detected and informed as to the current name of the called party by displaying screen 592. Control is transferred to WAIT_PAUSE_1_STATE. If the call has not been ringing for a predetermined time and no voice signal which is a non-telephone company signal has been detected, control remains with RINGING_STATE until one of these events occurs.
Referring to Figure 60, WAIT_PAUSE_1_STATE will now be described. This state detects the occurrence of a pause having a sufficient duration within a specified amount of time. If the calling apparatus detects a pause in the signal transmitted by the called party having a duration greater than PAUSE_1 and occurring within MAX_TIME_1, the calling apparatus transmits a prompting signal (CHIME) to the called party to prompt some type of response by the called party. Control is transferred to WAIT_PAUSE_2_STATE to detect the second pause. WAIT_PAUSE_2_STATE will be described with reference to Figure 61. If no pause having a duration greater than PAUSE_1 occurs within MAX_TIME_1, the calling apparatus identifies the called party as non-interactive and provides the user with the current name of the called party by displaying screen 601. Control is then transferred to
WAIT_PRE_BEEP_PAUSE_STATE which will be described with reference to Figure 64. If neither of these conditions has been met, control remains with WAIT_PAUSE_1_STATE until one of these conditions is met.
Referring to Figure 61, WAIT_PAUSE_2_STATE will now be described. This state permits detection of a pause having a sufficient duration which occurs within a specified amount of time after transmission of the prompting signal (CHIME) to the called party. If it is determined that a Pause having a duration greater than PAUSE_2 occurs within MAX_TIME_2, the calling apparatus notifies the user, by displaying screen 611, that the calling apparatus is currently speaking to the called party. Control is transferred to START MESSAGE STATE which will be described with reference to Figure 62. If a pause having a duration greater than PAUSE_2 is not detected within MAX_TIME_2, the calling apparatus concludes that the called party is non-interactive and notifies the user that an answering machine is connected to the telephone number for the current name by displaying screen 612. Control is transferred to WAIT_PRE_BEEP_PAUSE_STATE which will be described with reference to Figure 64. If neither of these conditions is met, control remains with WAIT_PAUSE_2_STATE until one of these conditions is met.
Referring to Figure 62, START_MESSAGE_STATE will now be described. This state permits playing of messages whether or not the "Confirm with 9" feature is enabled. If "Confirm with 9" is enabled, the apparatus plays an introductory message followed by a "beep". If the apparatus has concluded that the called party is interactive, control is transferred to WAIT_9_STATE which will be described with reference to Figure 63. If the called party is non-interactive, or if "Confirm with 9" is not enabled, the calling apparatus plays the message (transmits the message to the called party) and records pulse or tone digits dialed by the called party. The apparatus then notifies the user that the apparatus is terminating the call to the current called party by displaying screen 621. The apparatus then declares the call "Completed" and goes "On Hook". Control is transferred to HANG_UP_STATE which will be described with reference to Figure 74. Referring to Figure 63, WAIT_9_STATE will now be described. This state permits detection of transmission by the called party of a pulse or tone "9" signal within a specified amount of time. If a pulse or tone "9" signal is detected, the apparatus plays the message and declares the call "Complete". The apparatus then goes "On Hook" to terminate the call to the current name. Control is transferred to HANG_UP_STATE which will be described with reference to Figure 74. If a pulse or tone "9" signal is not detected within a predetermined amount of time, a determination is made as to whether the introductory message played in START_MESSAGE_STATE (see Figure 62) has been played five times. If it is determined that the introductory message has been played five times, the user is notified that the apparatus is terminating the call to the current name by displaying screen 631. The apparatus then declares that the "Confirm with 9" feature was "Not Confirmed" and goes "On Hook". Control is transferred to HANG_UP_STATE which will be described with reference to Figure 74. If it is determined that the introductory message has not been played five times, control is transferred to
START_MESSAGE_STATE which was described with reference to Figure 62. If no pulse or tone "9" signal has been detected and the predetermined time has not lapsed for transmission of the pulse or tone "9" signal by the called party, control remains with WAIT_9_STATE until one of these conditions is met.
Referring to Figure 64, WAIT_PRE_BEEP_PAUSE_STATE will now be described. This state checks to see whether the called party is a non- interactive system of Type 3 or whether a pause has been generated prior to detecting an answering machine "beep". If a Pause having a length greater than PRE_BEEP_PAUSE is detected and the Pause occurs within ANNOUNCE_PAUSE, control is transferred to WAIT_BEEP_STATE which will be described with reference to Figure 65. If no pause having a length greater than PRE_BEEP_PAUSE occurs within ANNOUNCE_PAUSE, a determination is made as to whether the time elapsed is greater than MAX_ANNOUNCE. The user is then notified that the non-interactive system has been learned by displaying screen 641. The length of the message transmitted by the called party to the calling apparatus is stored as LAST_LENGTH and the apparatus declares the called party as a Type 3 non-interactive system. The apparatus then declares that the called party "did not answer", waits one second, and terminates the call. The user is notified that the call placed to the called party is being terminated by displaying screen 642. The apparatus then goes "On Hook" and control is transferred to HANG_UP_STATE which will be described with reference to Figure 74. If none of these conditions is met, control remains with
WAIT_PRE_BEEP_PAUSE_STATE to continue monitoring for the occurrence of one of these conditions.
Referring to Figure 65, WAIT_BEEP_STATE will now be described. This state permits detection of the occurrence of a sufficiently long "beep" tone generated by a non-interactive called party. If a "beep" having a duration greater than MIN_BEEP is detected, control is transferred to WAIT_MESSAGE_PAUSE_STATE which will be described with reference to Figure 66. If no beep is detected within a predetermined time, a determination is made as to whether the non-interactive system connected to the called party is a Type 2 system. If the non-interactive system is a Type 2 system, a determination is made as to whether the message length (MESSAGE_LENGTH) is equal to the previous message length (LAST_LENGTH) which was stored. If MESSAGE_LENGTH is equal to the LAST_LENGTH, the user is provided with the current name by displaying screen 651. The apparatus declares the called party as "Answered By Machine" and control is transferred to
START_MESSAGE_STATE which was described with reference to Figure 62. If MESSAGE__LENGTH is not equal to the LAST_LENGTH, the apparatus declares the non-interactive system as a Type 2 non-interactive system and control is transferred to WAIT_PRE_BEEP_PAUSE_STATE which was described with reference to Figure 64. If no "beep" having a duration greater than MIN_BEEP is detected within a predetermined time and no "beep" is acquired within a predetermined time, control remains with WAIT_BEEP_STATE until one of these events occurs. Referring to Figure 66, WAIT_MESSAGE_PAUSE_STATE will now be described. This state permits detection of a Pause having a duration greater than MESSAGE_PAUSE after a non-interactive "beep" was detected by the state previously having control. If a Pause having a duration greater than MESSAGE_PAUSE is detected, the apparatus notifies the user that it is currently speaking to "current name" by displaying screen 661. The apparatus then declares the called party as "Answered By Machine" and identifies it as a Type 1 non-interactive system. Control is transferred to START_MESSAGE_STATE which was described with reference to Figure 62. If a signal transmitted by the called party is detected which has a duration greater than MIN_CLICK before the detection of a Pause having a duration greater than MESSAGE_PAUSE, control is transferred to WAIT_PRE_BEEP_PAUSE_STATE which was described with reference to Figure 64. If a Pause having a duration greater than MESSAGE_PAUSE is not detected and a signal having a duration greater than MIN_CLICK is not detected, control remains with WAIT_MESSAGE_PAUSE_STATE until one of these events occurs.
Referring to Figures 67-73, an alternative embodiment to LENGTH_STATE (see Figure 12) will now be described. Specifically, referring to Figure 67, this state permits the user to modify the length of the message presently displayed in screen 671, to enable the "Confirm with 9" feature, or to stop the calling process. As previously described, if the user presses one of the alphanumeric keys "1", "2", "3", or "4", the length of the message is changed accordingly. If the user presses the ENTER key, control is transferred to CONFIRM_W_9_STATE permitting the user to enable the "Confirm with 9" feature. If the user presses the STOP key, control is transferred to STOP_STATE. If the user selects none of the events nor presses any of the other function keys, control remains with LENGTH_STATE until one of the events is selected or one of the functions is selected.
Referring to Figure 68, CONFIRM_W_9_STATE will now be described. This state permits the user to control the calling apparatus to transmit an introductory message to the called party and require that the called party respond to the introductory message by dialing a "9" prior to transmission of the primary message. The user is notified of the option to enable the "Confirm with 9" feature by displaying screen 681. If the user presses one of the alphanumeric keys "Y" or "N", the "Confirm with 9" feature is enable or disabled accordingly. If the user presses the ENTER key, control is transferred to LISTEN_STATE which will be described with reference to Figure 69. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with CONFIRM_W_9_STATE until one of the events or one of the function keys is selected.
Referring to Figure 69, LISTEN_STATE will now be described. This state permits the user to choose the default mode for the amplifying speaker for the calling apparatus. The user is prompted by displaying screen 691 to select whether or not he/she desires to listen to the calls being placed by the calling apparatus. If the user presses one of the alphanumeric keys "Y" or "N", the speaker feature of the calling apparatus is enabled or disabled accordingly. Thus, pressing "Y" turns the speaker "on" thereby allowing the user to monitor calls being placed by the calling apparatus. On the other hand, pressing the "N" key turns the speaker "off". If the user presses the ENTER key, control is transferred to REPEAT_MSG_STATE which will be described with reference to Figure 70. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with LISTEN_STATE until one of the events is selected or one of the function keys is selected. Referring to Figure 70, REPEAT_MSG_STATE will now be described. This state permits the user to choose to repeat the primary message being transmitted by the calling apparatus to the called party before terminating the call (going "On Hook"). The user is prompted to select whether or not the primary message is to be repeated by displaying screen 701. If the user selects "Yes" by pressing the "Y" key, the primary message will be repeated. However, if the user presses the "N" key, the primary message will not be repeated. If the user presses the ENTER key, control is transferred to QUICK_CALL_STATE which will be described with reference to Figure 71. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with REPEAT_MSG_STATE until one of the events is selected or one of the function keys is selected.
Referring to Figure 71, QUICK_CALL_STATE will now be described. This state permits the user to select the number of rings to be detected by calling apparatus before terminating the first call to a selected member of a selected group. Most non- interactive systems (answering machines) do not answer an incoming call before a certain number of rings which is often the fourth ring. Therefore, QUICK_CALL_STATE allows the calling apparatus to reach the largest number of interactive (human) respondents before leaving the message on non-interactive (answering machine) respondents. In the event "Quick Call Mode" is selected, it is only effective for the first call to each member of a group and does not affect subsequent calls to a given member. Thus, all subsequent calls to a given member allow the full complement of rings required to complete the call. The user is prompted to select whether or not the "Quick Call Mode" is to be enabled by displaying screen 711. If the user desires to enable the "Quick Call Mode" by pressing the "Y" key, the initial number of rings is set to three (3) . If the user presses the "N" key indicating a desire that the "Quick Call Mode" be disabled, the calling apparatus sets the initial number of rings to seven
(7) . The selection of the "Quick Call Mode" is changed according to the selection by the user. If the user presses the ENTER key, control is transferred to COUNT_REPLIES_STATE which will be described with reference to Figure 72. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with QUICK_CALL_STATE until one of the events is selected or one of the function keys is selected.
Referring to Figure 72, COUNT_REPLIES_STATE will now be described. This state permits the user to control the calling apparatus to automatically terminate further calls to a particular group after a desired number of specific replies, e.g. "3" replies, are detected from previously completed calls. The user is prompted to select whether or not the replies are to be counted by displaying screen 721. If the user presses the "Y" key indicating a desire that the replies be counted, the "Count Reply" feature is enabled and the calling apparatus will count the number of desired replies received from called parties. If the user presses the "N" key, the "Count Reply" feature is disabled. If the user presses the ENTER key, a determination is made as to whether or not the user enabled the "Count Reply" feature. If the user did enable the "Count Reply" feature, control is transferred to HOW_MANY_STATE which will be described with reference to Figure 73. If the user did not enable the "Count Reply" feature, control is transferred to TIME_STATE which was described with reference to Figure 8. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with COUNT_REPLIES_STATE until one of the events is selected or one of the function keys is selected.
Referring to Figure 73, HOW_MANY_STATE will now be described. This state permits the user to choose the number of predetermined desired replies, e.g. "3" replies, required to terminate the initiation of calls to any further numbers within the selected group. The user is prompted to select a number of replies desired to terminate the calling process by displaying screen 731. The user can press any of the numeric keys ranging from "0" through "9" to indicate a number of replies desired in the range of 1 to 999 replies. The calling apparatus sets the "number of replies" condition based upon the number entered by the user. If the user presses the ENTER key, control is transferred to TIME_STATE which was described with reference to Figure 8. If the user presses the STOP key, control is transferred to STOP_STATE which was described with reference to Figure 13. If the user selects none of the events nor presses any of the other function keys, control remains with HOW_MANY_STATE until one of the events is selected or one of the function keys is selected.
Referring to Figure 74, an alternative embodiment to HANG_UP_STATE illustrated in Figure 39 will now be described. The alternative HANG_UP_STATE of Figure 74 controls the operation of the calling apparatus by determining whether the last call is complete (call to the last name within the selected group) or whether the desired number of replies specified by the user during HOW_MANY_STATE (see Figure 73) have been received. If the last call is complete or the desired number of replies has been received, the user is notified that all calls are complete by displaying screen 741. The operation of the calling apparatus will continue as a result of the user pressing the ENTER key as indicated and control is transferred to CALLS_COMPLETE_STATE which was described with reference to Figure 48. Otherwise, control of the calling apparatus according to the alternative HANG_UP_STATE illustrated in Figure 74 is the same as that for HANG_UP_STATE which was described with reference to Figure 39.
Referring to Figure 75, an alternative embodiment to LIST_STATE illustrated in Figure 20 is shown. In particular, control of alternative
LIST_STATE illustrated in Figure 75 is the same as that for LIST_STATE illustrated in Figure 20 with the exception that screens 751, 752, 753, 754, 755 and 756 can be scrolled to display any two of the five pieces of visible information.
In the drawings and specification, there have been disclosed typical preferred embodiments of the invention and, although specific terms are employed, they are used in a generic and descriptive sense only and not for purposes of limitation, the scope of the invention being set forth in the following claims.

Claims

THATWHICH IS CLAIMED:
1. A telephone calling apparatus comprising: means for electronically storing a plurality of telephone numbers and a plurality of group identifications, at least one of the group identifications being electronically linked to at least one of the telephone numbers; means for initiating a telephone call in response to a telephone number provided thereto; and electronic controlling means, operatively connected to said electronic storage means and to said telephone call initiating means, and responsive to a group identification, for providing the telephone numbers linked to the group identification to said telephone call initiating means; whereby telephone calls are automatically initiated to telephone numbers within an identified group.
2. The telephone calling apparatus of Claim
1 wherein said electronic controlling means includes means for modifying the group identifications, the telephone numbers and the linking among the plurality T of telephone numbers and group identifications.
3. The telephone calling apparatus of Claim
2 wherein said modifying means further comprises means for adding telephone numbers to the plurality of telephone numbers and deleting telephone numbers from the plurality of telephone numbers.
4. The telephone calling apparatus of Claim 2 wherein said modifying means further comprises means for adding and deleting the linking between at least one of the telephone numbers and at least one of the group identifications.
5. The telephone calling apparatus of Claim 1 wherein said electronic storing means further comprises means for storing a message associated with a group identification, and wherein said electronic controlling means further comprises means for providing the associated message to said telephone call initiating means in response to the group identification.
6. The telephone calling apparatus of Claim 5 wherein said electronic controlling means sequentially provides the telephone numbers linked to the group identification, interleaved with the message associated with the group identification, to said telephone call initiating means.
7. The telephone calling apparatus of Claim 1, further comprising: means for receiving interactive and non- interactive communication signals from the telephone number called by said telephone call initiating means; and means, responsive to the communication signals received by said receiving means, for distinguishing between interactive and non-interactive communication signals.
8. The telephone calling apparatus of Claim 7 wherein said distinguishing means comprises: means, responsive to the communication signals received by said receiving means, for measuring an elapsed receipt time for said communication signals; and means, responsive to said measuring means, for distinguishing between said interactive and non- interactive communication signals based upon the measured elapsed receipt time.
9. The telephone calling apparatus of Claim 8: wherein said receiving means comprises means for receiving interactive and a plurality of classes of non-interactive communication signals; and wherein said distinguishing means further comprises means for distinguishing between said plurality of classes of non-interactive communication signals.
10. The telephone calling apparatus of Claim 1, further comprising: means for receiving a series of pulse signals from the telephone number called by said telephone call initiating means; and means, responsive to said receiving means, for determining the number of pulse signals in the received series of pulse signals.
11. The telephone calling apparatus of Claim 10 wherein said determining means comprises means for comparing the receipt time for the received series of pulse signals to a predetermined receipt time.
12. A telephone calling apparatus comprising: means for electronically storing a plurality of telephone numbers, a plurality of group identifications and a plurality of telephone messages, at least one of the group identifications being electronically linked to at least one of the telephone numbers and at least one of the telephone messages being electronically linked to at least one of the group identifications; means for initiating a telephone call in response to a telephone number provided thereto; data entry means, for accepting entry of user data; telephone message entry means, for accepting entry of telephone messages; means for displaying user messages; and electronic controlling means, operatively connected to said electronic storing means, said telephone call initiating means, said data entry means, said telephone message entry means and said displaying means, said electronic controlling means comprising: group identification modifying means, responsive to said data entry means, for modifying the group identifications in said electronic storing means; telephone number modifying means, responsive to said data entry means, for modifying the telephone numbers in said electronic storing means; telephone message modifying means, responsive to said telephone message entry means, for modifying the telephone messages in said electronic storing means; linking modifying means, responsive to said data entry means, for modifying the electronic links among the group identifications, the telephone numbers, and the telephone messages in said electronic storing means; and group calling means, responsive to selection of a group identification at said data entry means, for providing said telephone call initiating means the telephone numbers linked to the selected group identification and for providing said telephone call initiating means the telephone message linked to the selected group identification; whereby predefined telephone messages are automatically sent to predefined members of predefined groups.
13. The telephone calling apparatus of Claim 12 wherein said group calling means sequentially provides to said telephone call initiating means the telephone numbers linked to the selected group identification, interleaved with the telephone message linked to the selected group identification.
14. The telephone calling apparatus of Claim 12, further comprising: means for receiving interactive and non- interactive communication signals from the telephone number called by said telephone call initiating means; and means, responsive to the communication signals received by said receiving means, for distinguishing between interactive and non-interactive communication signals.
15. The telephone calling apparatus of Claim 14 wherein said distinguishing means comprises: means, responsive to the communication signals received by said receiving means, for measuring an elapsed receipt time for said communication signals; and means, responsive to said measuring means, for distinguishing between said interactive and non- interactive communication signals based upon the measured elapsed receipt time. .
16. The telephone calling apparatus of Claim 15: wherein said receiving means comprises means for receiving interactive and a plurality of classes of non-interactive communication signals; and wherein said distinguishing means further comprises means for distinguishing between said plurality of classes of non-interactive communication signals.
17. The telephone calling apparatus of Claim 12, further comprising: means for receiving a series of pulse signals from the telephone number called by said telephone call initiating means; and means, responsive to said receiving means, for determining the number of pulse signals in the received series of pulse signals.
18. The telephone calling apparatus of Claim 17 wherein said determining means comprises means for comparing the receipt time for the received series of pulse signals to a predetermined receipt time.
19. A method of placing telephone calls comprising the steps of:_. electronically storing a plurality of telephone numbers and a plurality of group identifications; electronically linking at least one of the group identifications to at least one of the telephone numbers; accepting an identification of a group; and sequentially initiating telephone calls to the telephone numbers linked to the identified group; whereby telephone calls are automatically initiated to members of an identified group.
20. The method of Claim 19 wherein the sequentially initiating step is preceded by the steps of: electronically storing a plurality of messages; and electronically linking at least one of the messages with at least one of the group identifications; and wherein said sequentially initiating step further comprises the step of generating the message linked to the identified group during the sequentially initiated telephone calls.
21. The method of placing telephone calls of Claim 19, further comprising the steps of: receiving interactive and non-interactive communication signals from the telephone numbers called by said telephone call initiating step; and distinguishing between the interactive and non-interactive communication signals received from the telephone numbers called.
22. The method of Claim 21 wherein said distinguishing step further comprises the steps of: measuring an elapsed receipt time for said received communication signals; and distinguishing between said interactive and non-interactive communication signals based upon the measured elapsed receipt time.
23. The method of Claim 22: wherein said receiving step comprises the step of receiving interactive and a plurality of classes of non-interactive communication signals; and wherein said distinguishing step further comprises the step of distinguishing between said plurality of classes of non-interactive communication signals.
24. The method of placing telephone calls of Claim 19, further comprising the steps of: receiving a series of pulse signals from a telephone number called by said telephone call initiating step; and determining the number of pulse signals in the received series of pulse signals.
25. The method of placing telephone calls of Claim 24 wherein said determining step comprises the step of comparing the receipt time for the received series of pulse signals to a predetermined receipt time.
26. A telephone calling apparatus comprising: means for initiating a telephone call to a predetermined telephone number; means for receiving communication signals comprising interactive or non-interactive communication signals from the telephone number called by said telephone call initiating means; and means, responsive to the communication signals received by said receiving means, for distinguishing between interactive and non-interactive communication signals.
27. The telephone calling apparatus of Claim 26 wherein said distinguishing means comprises: means, responsive to the communication signals received by said receiving means, for measuring an elapsed receipt time for said communication signals; and means, responsive to said measuring means, for distinguishing between said interactive and non- interactive communication signals based upon the measured elapsed receipt time.
28. The telephone calling apparatus of Claim 27: wherein said receiving means comprises means for receiving interactive and a plurality of classes of non-interactive communication signals; and wherein said distinguishing means further comprises means for distinguishing between said plurality of classes of non-interactive communication signals.
29. The telephone calling apparatus of Claim 26, further comprising: means for receiving a series of pulse signals from the telephone number called by said telephone call initiating means; and means, responsive to said receiving means, for determining the number of pulse signals in the received series of pulse signals.
30. The telephone calling apparatus of Claim 29 wherein said determining means comprises means for comparing the receipt time for the received series of pulse signals to a predetermined receipt time.
31. The telephone calling apparatus of Claim 26 wherein said distinguishing means comprises: means for detecting the presence of a pause- free communication signal for a predetermined period of time; and means, responsive to the detecting means, for identifying the telephone number called as non- interactive based on the detection of the pause-free communication signal within said predetermined period of time.
32. The telephone calling apparatus of Claim 31 wherein said identifying means further comprises: means, responsive to the detecting means, for transmitting a prompting signal to the telephone number called based on failure to detect the pause-free communication signal within said predetermined period of time; means, responsive to the transmitting means, for detecting receipt of a prompting response signal from the telephone number called; and means, responsive to the receipt of the prompting response signal, for identifying the telephone number called as interactive.
33. The telephone calling apparatus of Claim 26, further comprising: means, responsive to the distinguishing means, for identifying a message delivery period for the non-interactive telephone number called.
34. The telephone calling apparatus of Claim 33, further comprising: means, responsive to the message delivery period identifying means, for initiating a second telephone call to the telephone number called and for transmitting a message to the telephone number called during the message delivery period.
35. A telephone calling apparatus comprising: means for initiating a telephone call to a predetermined telephone number; means for receiving a series of pulse signals from the telephone number called by said telephone call initiating means; and means, responsive to said receiving means, for determining the number of pulse signals in the received series of pulse signals.
36. The telephone calling apparatus of Claim 35 wherein said determining means comprises means for comparing the receipt time for the received series of pulse signals to a predetermined receipt time.
PCT/US1991/008209 1990-11-02 1991-11-01 Telephone calling apparatus and method WO1992008309A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60853690A 1990-11-02 1990-11-02
US608,536 1990-11-02

Publications (1)

Publication Number Publication Date
WO1992008309A1 true WO1992008309A1 (en) 1992-05-14

Family

ID=24436937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1991/008209 WO1992008309A1 (en) 1990-11-02 1991-11-01 Telephone calling apparatus and method

Country Status (1)

Country Link
WO (1) WO1992008309A1 (en)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994010781A1 (en) * 1992-10-30 1994-05-11 Amstrad Public Limited Company Display telephones with automatic repertory dialler control system
WO1995030296A1 (en) * 1994-04-29 1995-11-09 Creative Management S.P.R.L. Speaking/answering device for telephone communication
WO1996002996A1 (en) * 1994-07-18 1996-02-01 Anderson Howard M Telephone number storage device
US5559867A (en) * 1994-06-20 1996-09-24 Sigma/Micro Corporation Automated calling system with database updating
EP0740879A1 (en) * 1994-01-18 1996-11-06 Flexydial Pty. Ltd. Message system
EP0818912A2 (en) * 1996-07-12 1998-01-14 AT&T Corp. Enhanced, deferred messaging service
US5724420A (en) * 1994-09-28 1998-03-03 Rockwell International Corporation Automatic call distribution with answer machine detection apparatus and method
GB2317073A (en) * 1996-09-05 1998-03-11 Orange Personal Comm Serv Ltd Mobile telephone generating multiple short message signals
EP0831630A1 (en) * 1996-09-06 1998-03-25 Siemens Aktiengesellschaft Telecommunication terminal
WO1998019282A1 (en) * 1996-10-30 1998-05-07 British Telecommunications Public Limited Company Communications system
US5761285A (en) * 1994-06-01 1998-06-02 Davox Corporation Universal telephony application client that is configurable from a profile for a telphone call campaign
WO1998039902A1 (en) * 1997-03-06 1998-09-11 Ericsson Inc. Improved method and apparatus for searching a plurality of destination numbers
EP0886416A1 (en) * 1995-05-09 1998-12-23 Caldwell Communications Development Inc. Automatic telephone call origination and retry system and method of operation
GB2327571A (en) * 1997-07-18 1999-01-27 Orange Personal Communications Services Limited Sending short messages to groups of users
US5912947A (en) * 1994-06-20 1999-06-15 Sigma/Micro Corporation Public notification system and method
EP0935379A2 (en) * 1998-02-04 1999-08-11 Deutsche Telekom AG Method for the automatic conversion of text messages or the like into speech
FR2790897A1 (en) * 1999-03-10 2000-09-15 Sagem Telephone call transmission circuit holds recorded message for later transmission when recipient's telephone is not engaged
US6233319B1 (en) * 1997-12-30 2001-05-15 At&T Corp. Method and system for delivering messages to both live recipients and recording systems
AU733897B2 (en) * 1997-06-03 2001-05-31 Caldwell Communications Development Inc. Automatic telephone call origination and retry system and method of operation
US6327475B1 (en) * 1997-06-25 2001-12-04 Matsushita Electric Industrial Co., Ltd. Selective pager and paging system
WO2002023874A2 (en) * 2000-09-15 2002-03-21 Qualcomm Incorporated Storing and originating voice mail messages
US6556664B1 (en) 1994-06-20 2003-04-29 Sigma Communications, Inc. Public notification system and method
US6567504B1 (en) 1994-06-20 2003-05-20 Sigma Communications, Inc. Automated calling system with database updating
EP1328926A1 (en) * 2000-09-01 2003-07-23 Eliza Corporation Sppech recognition method and system to determine the status of an outbound telephone call
US6912270B1 (en) 1996-10-30 2005-06-28 British Telecommunications Public Limited Company Communications system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864520A (en) * 1972-07-25 1975-02-04 Ford Ind Inc Signal monitoring control apparatus
US4371751A (en) * 1980-04-07 1983-02-01 Newart Electronic Sciences, Inc. Automatic telephonic user emergency message transmitting apparatus
US4438296A (en) * 1980-09-02 1984-03-20 Digital Products Corporation Multimessage automatic telephone polling methods and apparatus
US4492820A (en) * 1980-10-24 1985-01-08 Salt Lake Communications, Inc. Telephone alarm system
US4577062A (en) * 1983-09-02 1986-03-18 Butler National Corporation Method for dispensing information
JPS62283755A (en) * 1986-05-30 1987-12-09 Juki Corp Transfer telephone system
JPS63226163A (en) * 1986-12-10 1988-09-20 Canon Inc Communication equipment
JPH01133455A (en) * 1987-11-19 1989-05-25 Sanyo Electric Co Ltd Circuit for discriminating presence/absence of voice message of automatic answering telephone set
US4922520A (en) * 1986-12-31 1990-05-01 M. A. Kempner, Inc. Automatic telephone polling system
US4941168A (en) * 1988-09-21 1990-07-10 U.S. Telecom International Inc. System for the recognition of automated telephone answering devices and delivery of prerecorded messages to such devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864520A (en) * 1972-07-25 1975-02-04 Ford Ind Inc Signal monitoring control apparatus
US4371751A (en) * 1980-04-07 1983-02-01 Newart Electronic Sciences, Inc. Automatic telephonic user emergency message transmitting apparatus
US4438296A (en) * 1980-09-02 1984-03-20 Digital Products Corporation Multimessage automatic telephone polling methods and apparatus
US4492820A (en) * 1980-10-24 1985-01-08 Salt Lake Communications, Inc. Telephone alarm system
US4577062A (en) * 1983-09-02 1986-03-18 Butler National Corporation Method for dispensing information
JPS62283755A (en) * 1986-05-30 1987-12-09 Juki Corp Transfer telephone system
JPS63226163A (en) * 1986-12-10 1988-09-20 Canon Inc Communication equipment
US4922520A (en) * 1986-12-31 1990-05-01 M. A. Kempner, Inc. Automatic telephone polling system
JPH01133455A (en) * 1987-11-19 1989-05-25 Sanyo Electric Co Ltd Circuit for discriminating presence/absence of voice message of automatic answering telephone set
US4941168A (en) * 1988-09-21 1990-07-10 U.S. Telecom International Inc. System for the recognition of automated telephone answering devices and delivery of prerecorded messages to such devices

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994010781A1 (en) * 1992-10-30 1994-05-11 Amstrad Public Limited Company Display telephones with automatic repertory dialler control system
EP0740879A1 (en) * 1994-01-18 1996-11-06 Flexydial Pty. Ltd. Message system
EP0740879A4 (en) * 1994-01-18 2000-01-05 Flexydial Pty Ltd Message system
BE1008361A5 (en) * 1994-04-29 1996-04-02 Creative Management S P R L Device advertiser - answering telephone communications.
WO1995030296A1 (en) * 1994-04-29 1995-11-09 Creative Management S.P.R.L. Speaking/answering device for telephone communication
US5761285A (en) * 1994-06-01 1998-06-02 Davox Corporation Universal telephony application client that is configurable from a profile for a telphone call campaign
US6009149A (en) * 1994-06-20 1999-12-28 Sigma/Micro Corporation Automated calling system with database updating by callee
US5912947A (en) * 1994-06-20 1999-06-15 Sigma/Micro Corporation Public notification system and method
US6556664B1 (en) 1994-06-20 2003-04-29 Sigma Communications, Inc. Public notification system and method
US5559867A (en) * 1994-06-20 1996-09-24 Sigma/Micro Corporation Automated calling system with database updating
US6567504B1 (en) 1994-06-20 2003-05-20 Sigma Communications, Inc. Automated calling system with database updating
WO1996002996A1 (en) * 1994-07-18 1996-02-01 Anderson Howard M Telephone number storage device
US5724420A (en) * 1994-09-28 1998-03-03 Rockwell International Corporation Automatic call distribution with answer machine detection apparatus and method
DE19536212B4 (en) * 1994-09-28 2004-12-23 Rockwell International Corp., Downers Grove Arrangement for recognizing an answering machine
EP0886416A1 (en) * 1995-05-09 1998-12-23 Caldwell Communications Development Inc. Automatic telephone call origination and retry system and method of operation
EP0818912A2 (en) * 1996-07-12 1998-01-14 AT&T Corp. Enhanced, deferred messaging service
EP0818912A3 (en) * 1996-07-12 2000-08-09 AT&T Corp. Enhanced, deferred messaging service
GB2317073A (en) * 1996-09-05 1998-03-11 Orange Personal Comm Serv Ltd Mobile telephone generating multiple short message signals
GB2317073B (en) * 1996-09-05 2001-04-04 Orange Personal Comm Serv Ltd Mobile communications
EP0831630A1 (en) * 1996-09-06 1998-03-25 Siemens Aktiengesellschaft Telecommunication terminal
WO1998019282A1 (en) * 1996-10-30 1998-05-07 British Telecommunications Public Limited Company Communications system
AU729783B2 (en) * 1996-10-30 2001-02-08 British Telecommunications Public Limited Company Communications system
US6912270B1 (en) 1996-10-30 2005-06-28 British Telecommunications Public Limited Company Communications system
WO1998039902A1 (en) * 1997-03-06 1998-09-11 Ericsson Inc. Improved method and apparatus for searching a plurality of destination numbers
AU733897B2 (en) * 1997-06-03 2001-05-31 Caldwell Communications Development Inc. Automatic telephone call origination and retry system and method of operation
US6327475B1 (en) * 1997-06-25 2001-12-04 Matsushita Electric Industrial Co., Ltd. Selective pager and paging system
GB2327571B (en) * 1997-07-18 2002-01-09 Orange Personal Comm Serv Ltd Mobile communications
GB2327571A (en) * 1997-07-18 1999-01-27 Orange Personal Communications Services Limited Sending short messages to groups of users
US6233319B1 (en) * 1997-12-30 2001-05-15 At&T Corp. Method and system for delivering messages to both live recipients and recording systems
EP0935379A3 (en) * 1998-02-04 2002-03-06 Deutsche Telekom AG Method for the automatic conversion of text messages or the like into speech
EP0935379A2 (en) * 1998-02-04 1999-08-11 Deutsche Telekom AG Method for the automatic conversion of text messages or the like into speech
FR2790897A1 (en) * 1999-03-10 2000-09-15 Sagem Telephone call transmission circuit holds recorded message for later transmission when recipient's telephone is not engaged
EP1328926A4 (en) * 2000-09-01 2004-09-29 Eliza Corp Sppech recognition method and system to determine the status of an outbound telephone call
EP1328926A1 (en) * 2000-09-01 2003-07-23 Eliza Corporation Sppech recognition method and system to determine the status of an outbound telephone call
US6990179B2 (en) 2000-09-01 2006-01-24 Eliza Corporation Speech recognition method of and system for determining the status of an answered telephone during the course of an outbound telephone call
US8363792B2 (en) 2000-09-01 2013-01-29 Eliza Corporation Speech recognition method of and system for determining the status of an answered telephone during the course of an outbound telephone call
US9313312B2 (en) 2000-09-01 2016-04-12 Eliza Corporation Speech recognition method of and system for determining the status of an answered telephone during the course of an outbound telephone call
US9848083B2 (en) 2000-09-01 2017-12-19 Eliza Corporation Speech recognition method of and system for determining the status of an answered telephone during the course of an outbound telephone call
WO2002023874A3 (en) * 2000-09-15 2002-08-01 Qualcomm Inc Storing and originating voice mail messages
WO2002023874A2 (en) * 2000-09-15 2002-03-21 Qualcomm Incorporated Storing and originating voice mail messages

Similar Documents

Publication Publication Date Title
WO1992008309A1 (en) Telephone calling apparatus and method
US5390236A (en) Telephone answering device linking displayed data with recorded audio message
US5283818A (en) Telephone answering device linking displayed data with recorded audio message
CA2179835C (en) Method and apparatus for accessing a telephone answering device from a cordless telephone portable unit
US4834551A (en) Call holding alert system
KR100308348B1 (en) Ring count controlled by incoming call related information
US7616738B2 (en) Telephone line dialer and emergency call system
US6614883B2 (en) Emergency call system
US6212260B1 (en) Emergency call system
JP2615571B2 (en) Answering machine
US5063589A (en) Automatic telephone answering machine with ring signal responsive mode changing arrangement
JP2000101710A (en) Control system including voice message system
US5594788A (en) Telephone system and interface device
WO1996016501A9 (en) An improved telephone system and interface device
US6748060B2 (en) Apparatus and method for providing voice telephone instructions
WO1991012685A1 (en) Multiple called-party telephone and answering machine system
JPS5991766A (en) Tone ringer system
JPH11317810A (en) Telephone set
JPH0114742B2 (en)
JP3695147B2 (en) Communication terminal device
JPH08186637A (en) Automatic answering telephone system
JPS63267048A (en) Automatic answering telephone set
JPH04306038A (en) Automatic answering telephone set
JP2000092529A (en) Call state display device for telephone
JPH02179149A (en) Automatic answering telephone system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

NENP Non-entry into the national phase

Ref country code: CA