AUTOMATED CALL PROGRAMMING SYSTEM AND METHOD OF OPERATION
Bac crround of the Invention It is often difficult to reach a desired party in a remote time zone by telephone. Because of the time difference, there may be only a small window of time during which it is convenient for both the calling party to make the call and for the called party to receive the call. As a result, a calling party might wait several days to speak with a friend or relative overseas and then miss the opportunity by forgetting to call during the relatively small window between the time that the caller wakes up and the time that the friend or relative goes to sleep.
This problem is even more pronounced with respect to business calls, because of the limited number of hours in the working day. When the amount of overlap in business hours between the two locations is small, the calling party may forget to place the call during the overlap period, and thereby miss his opportunity to make the call that day. Moreover, when the time difference is much greater, business hours in the two locations may not overlap at all. In such circumstances, a caller may need to place a call very early in the morning or very late at night in order to ensure that he reaches the desired party. In extreme cases, a caller may even need to place a call during the weekend to reach someone at the beginning of the workweek in the location being called.
This leaves the caller in a dilemma. On the one hand, it may be difficult or undesirable for the caller to travel to his place of business early in the morning, late at night, or on the weekend. On the other hand, the caller may not desire to place the call from his home, for several reasons. For example, the caller's employer may impose cumbersome and time-consuming reimbursement procedures. In addition, the phone rates at the caller's home may be substantially higher than those paid by the caller's employer since companies
freguently negotiate lower rates than those available to private individuals.
There is therefore a need in the art for an automated system which aids businessmen and others to more conveniently reach by telephone a desired party located in a different time zone.
Objects and Summary of the Invention It is therefore an object of the present invention to provide an automated call programming system which permits a calling party to schedule a long distance telephone call for a specified time.
It is a further object of the present invention to provide an automated call programming system in which the calling party may choose to take the scheduled call at a telephone other than the telephone used to schedule the call.
For example, the calling party may schedule the call from the telephone in his office but take the scheduled call at a telephone in his house. It is a further object of the present invention to provide an automated call programming system in which the calling party may choose to bill the scheduled call to a telephone other than the telephone at which the caller has chosen to take the scheduled call. It is a further object of the present invention to provide an automated call programming system in which the telephone of the calling party is made to ring when the scheduled call is connected.
It is a further object of the present invention to provide an automated call programming system in which the calling party may receive a reminder call at a predetermined time prior to the scheduled call being placed.
It is a further object of the present invention to provide an automated call programming system in which the calling party may, upon receiving the above reminder, choose to delay the scheduled call by some specific amount of time.
It is a further object of the present invention to provide an automated call programming system in which the calling party may record a message to be delivered to a called party at a scheduled time. These and other objects of the invention are achieved by an automated system for scheduling and placing long distance phone calls. In a preferred embodiment, the system may be implemented by a call programming module resident in a long distance network. The call programming module comprises a call database which stores information regarding scheduled calls, and a call processor which both processes scheduling information received from the calling party and places scheduled calls at the appropriate times. In addition, the system employs an audio processor for assembling and relaying audio prompts to the calling party. In response to these prompts, the calling party enters scheduling information using the keypad of his telephone.
Brief Description of the Drawings The above objects and summary of the invention will be better understood when taken in conjunction with the following detailed description and accompanying drawings in which:
Fig. 1 is a block diagram of a telephone system incorporating the automated call programming system of the present invention;
Fig. 2 is a block diagram of a call programming module for implementing the present invention;
Figs. 3A-E are a flowchart depicting the scheduling mode of the automated call programming system of the present invention;
Figs. 4A-B are a flowchart depicting the calling mode of the automated call programming system of the present invention; Fig. 5 is a block diagram of a scheduled call record of the present invention; and
Fig. 6 is a flowchart depicting the verification mode of the present invention.
Detailed Description of the Preferred Embodiments 5 Referring to the drawings, Fig. 1 shows a telephone system 100 incorporating the automated call programming system of the present invention. With the exception of call programming module 200, telephone system 100 is illustrative of a standard telephone system for connecting international 0 long distance calls. Specifically, as shown in Fig. 1, telephone system 100 comprises a calling telephone 110 connected to a local telephone network 120. Local telephone network 120 is in turn connected to a long distance network 130. 5 As is further shown in Fig. 1, long distance network 130 comprises an originating toll switch 140, a signalling network 150, and a transmission facility 160, the purpose of which will be described below. In addition, long distance network 130 further comprises international gateway switch 0 170 which is used to connect international long distance calls to a foreign carrier.
When a calling party dials an international long distance call from calling telephone 110, local telephone network 120 connects the call to originating toll switch 140 5 of long distance network 130. The number dialed by the calling party is then transmitted to signalling network 150. Based on the number dialed, signalling network 150 chooses an appropriate transmission facility 160 to carry the call. When signalling network 150 detects that the call is an
30 international call, it chooses a transmission facility which is connected to international gateway switch 170. The call is then connected via international gateway switch 170 to a local foreign telephone network 180. Finally, foreign telephone network 180 connects the call to called telephone
35 190.
As is further shown in Fig. 1, telephone system 100 preferably comprises a call programming module 200 which, as
described below, furnishes the calling party with a variety of options including the opportunity to schedule his call for a particular time in the future.
Turning to Fig. 2, there is shown a block diagram of a preferred embodiment of call programming module 200. Call programming module 200 preferably comprises a call database 210 which stores information relating to scheduled calls, and a call processor 220 which is connected to call database 210. Call processor 220 may be implemented as part of a programmed general purpose computer or in other specialized hardware. Call processor 220 is also connected to two additional databases: a geographical location database 230 and a time database 240. Geographical location database 230 stores a list of country and city long distance codes and their corresponding geographical locations. For each geographical location stored in geographical location database 230, Time database 240 stores the relationship between the local time in that location and some standard time (e.g., Eastern Standard time) . For example, for 33 (country code) , 1 (city code) , geographical location database 230 would store Paris, France. Similarly, using Eastern Standard Time as the standard, Time database 240 would store "+6 hours" for country code 33, city code 1, since the time in Paris is 6 hours ahead of Eastern Standard Time. Geographical location database 230 and time database 240 also store analogous information for area codes in the United States.
Call programming module 200 additionally comprises an audio processor 250. Audio processor 250 is capable of assembling and relaying audio messages in accordance with information provided to it by call processor 220. An example of an audio processor suitable for this purpose is the AT&T Conversant Voice Information System (TM) programmed or configured to assemble and relay the messages described below. The automated call programming system of the present invention preferably comprises two modes: a scheduling mode and a calling mode. In scheduling mode, a calling party is
given the opportunity to schedule an overseas call for a specified subsequent time. In calling mode, scheduled calls are placed at their scheduled times. Each of these modes may be implemented in software which may run on call processor 5 220 and audio processor 250 as well as on other computer systems of telephone system 100. Preferred embodiments of these two modes will now be described in connection with the flowcharts shown in Figs. 3 and 4.
As shown in Fig. 3, when a caller places a long distance 0 call (step 302) , local telephone network 120 recognizes the call as such and connects the call to originating toll switch 140 of long distance network 130 (step 304) . The system then enters a parallel processing mode in which it performs two tasks simultaneously. In the first parallel branch, (not 5 illustrated in Fig. 3) , the dialed number is received by signalling network 150 which chooses an appropriate transmission facility 160 to handle the call. When the call is an international long distance call signalling network 150 chooses a transmission facility 160 which connects with 0 international gateway switch 170.
Meanwhile, in step 306, the dialed number is simultaneously transmitted via originating toll switch 140 to call processor 220 where it is temporarily stored. Call processor 220 determines whether the call is an overseas 5 call, and if so, extracts from the dialed number the country and city code prefixes. In step 308, call processor 220 retrieves the location and relative time difference for the dialed country and city codes from geographical location database 230 and time database 240, respectively. From the 0 relative time difference, call processor 220 determines the time and date in the location being called. In step 310, this information is transmitted to audio processor 250 which prepares and relays an announcement to the calling party.
Illustratively, assume a caller in New York City dials 5 the number 011-33-1-12345678 at 8:30 PM Eastern Standard Time on Thursday January 2, 1997. In a preferred embodiment, the announcement may consist of the following message: "You have
dialed number 12345678 in Paris, France. The local time in that location is 1:30 AM on Friday January 3, 1997."
Subsequently, in step 312, the calling party is prompted by audio processor 250 with a variety of options. Specifically, the calling party is given the option of scheduling the call to be placed at a later time, the option of being connected immediately, and the option of abandoning the call without incurring long distance charges. Illustratively, audio processor 250 may relay the following message: "Please choose from one of the following options.
If you wish to have this call automatically placed at a later time, press one; if you wish to be connected now, press two; if you wish to abandon this call, press three."
The calling party enters his choice using the keypad of calling telephone 110. The system then proceeds to decision step 314 wherein the caller's choice is received by Call processor 220 which executes one of three steps in response thereto. If the calling party enters three or hangs up, call processor 220 sends a signal to originating toll switch 140 to terminate the call (step 316) . In contrast, if the calling party chooses two, call processor 220 sends a signal to signalling network 150 to immediately place the call via international gateway switch 170 (step 318) .
If, however, the calling party chooses one, then the system proceeds to step 320. In step 320, call processor 220 creates a new scheduled call record 270 in call database 210, and stores therein the dialed number. The system then proceeds to step 322, where audio processor 250 prompts the calling party to enter the time at which the caller would like the call to be placed. Illustratively, the message relayed by audio processor 250 might state: "Using the numbers on your telephone keypad, enter the time that you would like your call to be placed. Enter the hour first, followed by the pound sign, then the minutes, followed by the pound sign, and then 1 for A.M. or 2 for P.M. , followed by the pound sign."
In step 324, the string entered by the calling party is transmitted to call processor 220 which converts the local time entered by the calling party to a standard time using time database 240. This standardized time is then also stored in the scheduled call record 270 created in step 320. In a preferred embodiment, the system may further comprise a step in which the time entered by the caller is confirmed. Illustratively, audio processor 250 might relay to the caller the message: "You have entered nine o'clock A.M. If this is correct, press one, if this is not correct press pound and then re-enter the desired time now." This preferred embodiment is indicated in step 326.
In a further preferred embodiment, the caller may be given the option of leaving a recorded message for the called party rather than being personally connected to the called party at the scheduled time. Thus, for example, a caller may record a birthday greeting (or other important message) and schedule it to be "delivered" on the morning of the called party's birthday. This preferred embodiment is represented by steps 328-344 of Fig. 3B.
In particular, as shown in step 328, audio processor 250 relays a message to the calling party inquiring whether the caller wishes to speak personally with the called party or whether the caller wishes to record a message for the called party. Illustratively, the message might state: "If you wish to be personally connected with your party at the scheduled time, press one now. If you wish to record a message to be delivered to your party at the scheduled time, press two no . " If the caller chooses two, then the system proceeds from decision step 330 to step 332 wherein audio processor 250 prompts the caller to state his name. Illustratively, audio processor 250 might relay the message: "Please state your name after the tone." The caller's name is received and stored by call processor 220 as part of scheduled call record 270 in step 334. Similarly, in steps 336 and 338, the system prompts for and stores the name of the called party.
Next, in step 340, audio processor 250 prompts the caller to record a message for the called party. In step 342, the message is received by call processor 220 and stored as part of scheduled call record 270. Alternatively, the caller's name, the called party's name, and the message may be stored on audio tape or other medium.
In a preferred embodiment, as concisely shown in step 344, the system may provide the caller an opportunity to listen to the recorded message and to re-record the message if the caller is not satisfied with the first recorded message. After step 344, the system proceeds to step 372 in Fig. 3D, the purpose of which is described in more detail below.
Returning to Fig. 3A, recall that if the caller chooses one in decision step 330, this indicates that the caller desires to take the scheduled call in person. In that case, the system collects additional scheduling information regarding the call, as described below.
Specifically, in a preferred embodiment, the calling party may be given the option of receiving a reminder call at a predetermined time prior to the scheduled call. Thus, as shown in step 346, audio processor 250 relays a message to the calling party inquiring whether the calling party wishes to receive a reminder call prior to the scheduled call. Illustratively, the message might state: "If you wish to receive a reminder call prior to your scheduled call, press one now. Otherwise, press two now."
If the calling party chooses two, the system bypasses the reminder call portion of the flowchart and proceeds from decision step 348 directly to step 360. If, however, the calling party chooses one, the system proceeds to step 350 wherein audio processor 250 guides the caller to enter the desired time for the reminder call. Illustratively, audio processor 250 might relay the message: "Using the numbers on your telephone keypad, enter the number of minutes prior to your scheduled call that you wish to receive a reminder call. Then press the pound sign."
Call processor 220 receives the calling party's entry. If the number selected is below a predetermined permissible maximum (e.g., 30 minutes), then decision step 352 succeeds and the system proceeds to step 354 wherein call processor 5 220 subtracts the entered number of minutes from the scheduled calling time, and stores the resulting time in the scheduled called record 270 created in step 320. Again, in step 356, the system may confirm that the calling party has correctly entered the desired reminder time. This may be 0 done in a manner analogous to that described above in connection with step 326.
If, however, the requested reminder window exceeds the predetermined maximum, audio processor 250 relays a message indicating that fact (step 358) , and the system returns to 5 step 350 to give the caller another opportunity to enter the desired reminder window.
In a further preferred embodiment, the calling party may be given the option of taking the scheduled call at a location remote from calling telephone 110. In particular, 0 as shown in step 360, call processor 220 receives the telephone number of calling telephone 110 from local telephone network 120 and transmits the number to audio processor 250. Audio processor 250 then assembles and relays a message regarding the location at which the calling party 5 wishes to take the scheduled call. Illustratively, the message might state: "We have identified the number from which you are calling as 212-765-4321. If you wish to take your scheduled call at this telephone number, press one now. If you wish to take your scheduled call at a different 0 telephone number, press two now."
If the calling party chooses one, the system proceeds from decision step 362 to step 364 wherein call processor 220 stores the phone number of calling telephone 110 as part of scheduled call record 270 in call database 210. The system 5 then proceeds to step 372, the purpose of which is described below.
If, however, the calling party chooses two, the system proceeds to step 366 wherein audio processor 250 guides the caller to enter the desired telephone number at which the calling party wishes to take the scheduled call. Illustratively, Audio processor 250 might relay the message: "Using the numbers on your telephone keypad, enter the telephone number at which you would like to take your scheduled call. Enter the area code, followed by the telephone number. After you have finished, press the pound sign."
In step 368, call processor 220 receives the number entered by the calling party and stores it as part of scheduled call record 270 in call database 210.
Again, in step 370, the system may confirm that the calling party has correctly entered the phone number at which the call is to be taken. This may be done in a manner analogous to that described above in connection with step 326.
In a further preferred embodiment, the system may give the calling party the additional option of billing the call to a number other than calling telephone 110. Thus, in step 372, audio processor 250 relays a message to the calling party inquiring whether the calling party wishes to bill the scheduled call to calling telephone 110 or to some other telephone number. Illustratively, audio processor 250 might relay the message: "If you wish to bill your scheduled call to the number from which you are calling press one now. Otherwise press two now."
If the calling party presses one, then the system proceeds from decision step 374 to step 382 wherein call processor 220 stores the number of calling telephone 110 as the billing number for the scheduled call. The system then proceeds to step 384 wherein call processor 220 generates a unique confirmation number for the scheduled call and stores the confirmation number as part of scheduled call record 270. As will be explained in more detail below, the confirmation number may be used by the caller to modify or cancel his
scheduled call before it is made. The system then proceeds to step 386 wherein audio processor 250 relays to the calling party a final confirmation message reviewing the particulars of the scheduled call (number to be called, time of call, unique confirmation number, etc.), and thanking the calling party for using the scheduling service. At this point, the system exits scheduling mode.
If the calling party presses two, however, the system proceeds to step 376 wherein audio processor 250 relays a message requesting that the calling party enter the number to be billed for the scheduled call. Illustratively, audio processor 250 might relay the message: "Using the numbers on your telephone keypad, enter the telephone number that you would like to be billed for your scheduled call." In step 378, the desired billing number is received by call processor 220 and stored as part of scheduled call record 270 in call database 210.
In step 380, the system confirms that the calling party has correctly entered the phone number at which the call is to be taken. This may be done in a manner analogous as that described above in connection with step 326. From step 380, the system proceeds to final confirmation step 386, after which the scheduling mode terminates.
Of course, as will be recognized by those skilled in the art, employing the additional preferred embodiment of steps 372-380 may require security measures to ensure that the calling party does not bill a telephone number for which he is not authorized to do so.
In view of the above description, it will be recognized that, at any given time, call database 210 may contain a plurality of scheduled call records 270, each of which stores a phone number to be called, a phone number to be billed for the call, and a scheduled time. In addition, each scheduled call record 270 may comprise a phone number at which the call is to be taken and a reminder time, or may instead comprise a recorded message for the called party. One illustrative
arrangement of the fields in a scheduled call record 270 is shown in Fig. 5.
A preferred embodiment of the system's calling mode will now be described in connection with Fig. 4. For ease of illustration, the system's calling mode is described with reference to a case in which the calling party has chosen to take the scheduled call at calling telephone 110. As those skilled in the art will recognize, when an alternative telephone has been chosen, the telephone number of the alternative location may simply be substituted for that of calling telephone 110. Similarly, for ease of illustration, the calling mode is described with reference to a case in which the calling party has chosen to receive a reminder call five minutes prior to the scheduled call. Beginning with step 402, when the time for a scheduled call approaches, call processor 220 retrieves the call record 270 associated with the scheduled call from call database 210. This may be accomplished using time driven interrupts or any other method known in the art. In decision step 404, the system determines the whether scheduled call record 270 comprises a recorded message. If it does, then decision step 404 succeeds and the system proceeds to step 406 wherein a connection is established between long distance network 130 and called telephone 190 at the scheduled time. Once the connection has been established, the system proceeds to step 408 wherein audio processor 250 assembles and relays a header message to the party who answers called telephone 190. Illustratively, the header message might state: "Good morning. The following is a message for [called party] from [caller] . To hear the message press one now." In step 410, call processor 220 detects that the called party has pressed one, and transmits the recorded message to called telephone 190.
In a preferred embodiment, shown in steps 410-414, the system may give the called party an opportunity to play the message a second time. Illustratively, in step 410, audio processor 250 might relay a message to the called party which
states: "If you wish to hear this recorded message again, press one now. Otherwise, press two now." If the called party chooses one, the system returns to step 410 and plays the recorded message a second time. If the called party chooses two, the system terminates the call. This preferred embodiment is especially beneficial in situations where the message is intended for more than a single person, e.g. , for both parents.
If scheduled call record 270 does not comprise a recorded message, decision step 404 fails and the system proceeds to step 418 wherein five minutes prior to the scheduled time stored in call record 270 (i.e., at the reminder time) , call processor 220 transmits the telephone number of calling telephone 110 via originating toll switch 140 to local telephone network 120. A connection is established between calling telephone 110 and long distance network 130, and calling telephone 110 is made to ring three times. The system then proceeds to decision step 420. If the caller does not answer, decision step 420 fails, and the connection between call processor 220 and calling telephone 110 is terminated. The system then proceeds to step 422 wherein call processor 220 places the scheduled call via long distance network 130 at the appropriate time. When the connection to the overseas number is made, call processor 220 reconnects to calling telephone 110 and causes calling telephone 110 to ring. The calling party then lifts the receiver of calling telephone 110 and is connected to called telephone 190.
If, however, the calling party answers his phone after step 418, decision step 420 succeeds, and the system proceeds to step 424. There, audio processor 250 relays a message reminding the caller of the scheduled call, and alerting the caller that the call will be placed within five minutes. In one preferred embodiment, the system may then proceed directly to step 422, in which the scheduled call is placed at the appropriate time.
In a further preferred embodiment, the calling mode of the present invention may additionally comprise a "snooze" feature. When furnished with this feature, the system may give the calling party the option of delaying the scheduled call for some amount of time. This feature is illustrated in steps 426-436. In particular, in step 426, audio processor 250 relays a message to the calling party inquiring whether the calling party would like to delay the scheduled call. Illustratively, Audio processor 250 might relay the message: "If you would like to postpone your scheduled call by up to 60 minutes press one now. Otherwise press two now. If the caller presses two, the system proceeds from decision step 428 to step 422 in which the scheduled call is placed at the appropriate time. If, however, the calling party presses one, the system proceeds to step 430, wherein audio processor 250 relays a message requesting that the calling party enter the number of minutes he would like the call delayed. Illustratively, audio processor 250 might relay the message: "Using the keypad on your telephone, enter the number of minutes by which you would like to delay your scheduled call, followed by the pound sign."
Call processor 220 receives the calling party's entry. If the number selected is below a predetermined maximum permissible delay (e.g., 60 minutes), then decision step 432 succeeds and the system proceeds to step 434 wherein call processor 220 updates the scheduled calling time stored in scheduled call record 270 in accordance with the amount of delay requested by the calling party. After a confirmation step 436 (analogous to confirmation step 326) , the calling mode concludes.
If, however, the requested delay exceeds the predetermined maximum, audio processor 250 relays a message indicating that fact (step 438) , and the system returns to step 430 to give the caller another opportunity to enter a desired delay.
It will be appreciated that while the two modes have been described independently, they may operate simultaneously. Thus, a first calling party may schedule a call while the system simultaneously connects a scheduled call requested by a second calling party.
In a further preferred embodiment, the system may provide callers with a means to verify, modify, or cancel a scheduled call prior to the scheduled time. This preferred embodiment is described in connection with Fig. 6. As shown in step 602 of Fig. 6, when a caller desires to verify, modify, or cancel a scheduled call, he dials a toll free telephone number (or other designated number) dedicated to the scheduled call service of the present invention. In step 604, the system answers the call and audio processor 250 prompts the caller to enter his confirmation number.
Illustratively, audio processor 250 might relay the message: "Using the keypad on your telephone, please enter your confirmation number followed by the pound sign." In step 606, call processor 220 receives the confirmation number and retrieves the scheduled-call record associated therewith from call database 210. Then, in step 608, audio processor 250 assembles and relays a message to the caller verifying the particulars of the scheduled call, and offering the caller several options. Illustratively, the message relayed by audio processor 250 might state: "At 4:00 AM on Friday January 3, 1997 your scheduled call will be placed from 212-765-4321 to 12345678, in Paris, France. If you wish to retain your scheduled call, press one now. If you wish to cancel your scheduled call, press two now. If you wish to modify your scheduled call, press three now." If the caller chooses one or hangs up, the scheduled call record is retained unaltered (step 612) . In contrast, if the caller chooses two, the system cancels the scheduled call by deleting its scheduled call record 270 from call database 210 (step 614) . Finally, if the caller chooses three, the system re-enters the scheduling mode at step 322,
thus permitting the caller to modify any aspect of the scheduled call record desired.
It will be appreciated that while the preferred embodiment has been illustrated with respect to overseas calls, the invention could find use in any telephone environment in which a calling party might wish to automatically schedule a call for a later time. For example, a caller on the East Coast of the United States may schedule all of his West Coast calls for the day when he arrives in his office in the morning and thus avoid the frustration of forgetting to place the calls after lunch.
While the invention has been described in conjunction with specific embodiments, it is evident that numerous alternatives, modifications, and variations will be apparent to those skilled in the art in light of the foregoing description.