WO2001049016A1 - Method for automatic access to a voicemail service including determination of proper number data and time delay - Google Patents

Method for automatic access to a voicemail service including determination of proper number data and time delay Download PDF

Info

Publication number
WO2001049016A1
WO2001049016A1 PCT/US2000/035424 US0035424W WO0149016A1 WO 2001049016 A1 WO2001049016 A1 WO 2001049016A1 US 0035424 W US0035424 W US 0035424W WO 0149016 A1 WO0149016 A1 WO 0149016A1
Authority
WO
WIPO (PCT)
Prior art keywords
voicemail
user
remote
sequence
connection signals
Prior art date
Application number
PCT/US2000/035424
Other languages
French (fr)
Inventor
Craig Hackerd
Original Assignee
Cidco Communications, Llc
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 Cidco Communications, Llc filed Critical Cidco Communications, Llc
Publication of WO2001049016A1 publication Critical patent/WO2001049016A1/en

Links

Classifications

    • 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
    • H04M1/652Means for playing back the recorded messages by remote control over a telephone line
    • 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/27485Appending a prefix to or inserting a pause into a dialling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/533Voice mail systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/25Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service
    • H04M2203/256Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service comprising a service specific user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/38Graded-service arrangements, i.e. some subscribers prevented from establishing certain connections
    • H04M3/382Graded-service arrangements, i.e. some subscribers prevented from establishing certain connections using authorisation codes or passwords

Definitions

  • This invention relates to the telephony industry. Specifically, this invention concerns automatic outbound calling from a Telephone Adjunct Device (TAD) to access a remotely operated voicemail service.
  • TAD Telephone Adjunct Device
  • Access time delay is the time required for the central system to respond to an input data set, for example, to answer an incoming call.
  • Data position is the relative grouping of input data in a data set. For example, which of a set of incoming digits represents a voice mailbox and which represents a security PIN. This was so due to the captive nature of the system and, as mentioned above, all activity associated with a dedicated on-premises voicemail system was local.
  • AT&T came under Federal scrutiny related to anti-competitive practices.
  • the result of the Federal action was the breakup of AT&T in 1983, the elimination of Bell Telephone as the single telephone service provider, and the creation of several regional telephone service providers.
  • These regional providers referred to as the "Baby Bells," initially simply took over the existing customer base for their region which they inherited from Bell Telephone.
  • the regional providers began adding services.
  • the functional capability of the central switch driven by advances in digital technology, now allowed telephone service providers to deliver additional services such as conference calling, message waiting, and caller identification to the customer without requiring expensive specialized equipment at the customer's site.
  • the regional service provider placed the required dedicated hardware and software at their central office or some other remote location.
  • Customers who desired to be users of the central voice mail service simply signed up for the service and were assigned a mailbox and a security PIN. Now the user could dial up the central voicemail service, gaining access to the same functionality that once was the sole province of private businesses.
  • the CPE device must be able to send and receive data compatible with the remote voicemail system in both time and position in order to make a successful connection.
  • remote voicemail systems vary as to their timing and input data requirements, thus the CPE device must be flexible enough to accommodate a variety of operating environments.
  • inter-system delays are generally small and are related to random internal system timing and operating program responses. Sources for these delays include hard drive access time, human response time and central switch traffic volume, to name just a few. Regional differences are relatively large, and are the result of the ordered delay set by the service provider's program timing. While the random delays are generally less than a second, the ordered delays may range from three to ten seconds.
  • voicemail CPE devices currently allow the user to program an access number using methods well known to those skilled in the art. However, these CPE devices use one of two methods for making a connection.
  • the first method is to simply blind dial the target telephone number and wait for the user to be prompted to enter any ancillary data required, for example, the user's PIN.
  • This method accommodates the variable operating environment of the various voicemail systems, but does so at the expense of user intervention, thus the method still suffers from the need for user monitoring and errors during PIN entry.
  • the second method is to provide a pre-programmed outbound number and associated fixed answering delay. While this relieves the user's intervention, it does so in an inflexible manner, thus failing to accommodate the variations in operating environments that a user's voicemail CPE device must face. The result is that this method suffers from the disadvantage of failed connections and still requires manual entry of the security PIN by the user. As can be seen, both of the current methods suffer from drawbacks.
  • Use of the present invention enables the user of a remote voicemail service to access the service by pressing a single button on a voicemail access device such as a CPE or TAD.
  • a voicemail access device such as a CPE or TAD.
  • the user pre-programs a TAD device through a manual dial-up process during which the device records and stores the outbound connection signals required to access the service provider including the number, time delay and position of the data.
  • the TAD outputs the proper numbers in the correct order with the proper time delay and position, including personal identification data, if required.
  • the voicemail access device is first placed in a learning mode by a programming switch closure.
  • the user manually accesses the voicemail service by dialing the service's telephone number on a telephone connected in parallel to the TAD, waiting for the service to answer, entering any PIN data, and then disconnecting.
  • the voicemail access device records the data and the time delays required for the service to answer the incoming call.
  • all data required for connection is stored in permanent memory within the voicemail access device.
  • the user simply presses a dedicated voicemail access button which instructs the device to dial the previously stored voicemail service provider's number, wait for the delay period, enter the PIN number if needed, and then proceed with normal voicemail operations.
  • One advantage of the present invention is the ability to preprogram personal identification and connection time delay data independent of the TAD operating environment in addition to the voicemail service provider's access number.
  • the user can pre-program the voicemail service number, wait for the service to answer, then enter the personal identification data and hang up.
  • the voicemail access device stores the service access number, the answering delay and the personal identification number. The user then simply depresses the dedicated voicemail access button and the device automatically connects to the service.
  • Figure 1 High level block diagram of a system which can make use of the method of the present invention.
  • Figure 2 Detailed block diagram of a typical TAD which can make use of the method of the present invention.
  • Figure 3 A, 3B, & 3C Examples of data position and time delay parsing associated with a typical remotely operated voicemail service connection transaction.
  • Figure 4 A, 4B & 4C Flow chart of the learning mode process implemented by the method of the present invention.
  • Figure 5 A, 5B & 5C Flow chart of the invoke mode process implemented by the method of the present invention.
  • the present invention provides a method for overcoming these disadvantages by providing a learning mode that creates outbound connection signals for the user's voicemail service provider. Once the data characteristics of the connection signals have been related to the user's voicemail service provider in memory, the user may press a single switch that engages a connection mechanism. This mechanism retrieves the stored connection signals and connects the user to the service by duplicating the learned outbound call.
  • the method of the present invention overcomes the disadvantages enumerated above by providing a method for learning the data patterns and connection time delays required to automatically connect to a remotely operated voicemail service with no user intervention and with few failed connection attempts.
  • the present invention has the ability to learn the outbound connection signal characteristics of a wide variety of telephony environments.
  • the user may add PIN data to the outbound connection signals stored in memory eliminating the need for manual monitoring of the connection.
  • FIG. 1 a high level block diagram 100 of a typical system used in conjunction with the method of the present invention is shown.
  • a user's premises 110 contains a CPE telephone device 120 and a TAD voicemail device 130.
  • the CPE 120 and the TAD 130 are connected in parallel to a remotely operated voicemail service provider 160 via the public service telephone network [PSTN] telephone lines 150.
  • PSTN public service telephone network
  • connection medium used by the method of the present invention is the PSTN, other mediums, for example cellular phone connections, may be used without departing from the spirit of the invention.
  • a TAD device that can implement the method of the present invention is shown.
  • a TAD is used, but as is known to those skilled in the art, the method of the present invention may be implemented in a number of different CPE devices, for example, a programmable telephone, a PC [Personal Computer], or other systems comprised of the requisite hardware and software.
  • the TAD contains a CPU 210 with appropriate software for accomplishing functions related to telephony.
  • the CPU is a W921C844 four bit processor from Winbond, Hsinchu, Taiwan, R.O.C., but as is known to those skilled in the art, this is not the only possible CPU that may be used to support the present invention.
  • the CPU generates the outbound DTMF (Dual Tone Multi-Frequency) tones that are sent via signal lines 220 to the telephone interface circuit [TIC] 215.
  • the TIC 215 provides isolation from the pubic telephone network and impedance matching to the remainder of the circuits internal to the device.
  • the TIC is controlled by the CPU via signals on signal lines 220.
  • the DTMF Receiver 225 and the Dial Tone Detector 240 Two circuits are located between the output of the TIC and the CPU: the DTMF Receiver 225 and the Dial Tone Detector 240.
  • the DTMF Receiver receives and decodes the incoming analog DTMF signals, converts them to digital format and passes them to the CPU via a four bit bus 230. Command and control of the DTMF Receiver is accomplished by the CPU via control lines 235.
  • the Dial Tone Detector [DTD] 240 informs the CPU of the presence a dial tone.
  • a Key Matrix 250 is also attached to the CPU.
  • the Key Matrix is provided to allow the user to manipulate voicemail in a manner well known to those skilled in the art.
  • switches that allow functions such as fast forward, play, rewind and delete.
  • Dial V-Mail switch 253 This dedicated switch provides the user with a single button to automatically connect to the remote voicemail service provider as discussed in detail below.
  • Vmail Waiting LED 255 has two functions. First, when the TAD is in the learning mode the Vmail Waiting LED 255 flashes continuously (e.g. at 50 msec on, 200 msec off.) Second, during normal operation the LED flashes (e.g. at a 50 msec on, 950 msec off rate) to indicate the presence of a new voicemail message.
  • the In Use LED 257 indicates to the user that the TAD has seized the line and the speaker is active.
  • Three types of memory are attached to the CPU. Random Access memory [RAM] 270 is internal to the CPU and is 256 bytes in size. This memory is used for the variables needed during normal CPU program operation.
  • the second area of memory is the masked ROM 260.
  • This area of memory is eight kilobytes in size and contains the necessary program code to operate the TAD. Both of these areas of memory communicate with the CPU via address and data busses.
  • the Address bus 275 is used to identify specific memory locations, whether RAM or masked ROM, to be used for some CPU operation.
  • the Data bus 278 carries the data that is to be stored or retrieved from some memory location, again either RAM or masked ROM. Together, the CPU, RAM and masked ROM operate in a manner well known to those skilled in the art.
  • the masked ROM 260 contains the learning mode module 262 and the invoke mode module 264.
  • Learning mode module 262 enables the present invention by providing a method for parsing and storing connection signals required for automatic access to a remote voicemail service.
  • Invoke mode module 264 enables the present invention by providing a method for automatically connecting to a remote voicemail service and then manipulating that service in a manner consistent with normal voicemail use.
  • the third area of memory is the Electrically Erasable Programmable Read Only Memory [EEPROM] 265.
  • This area of memory contains all non- volatile data including TAD configuration data as well as the outbound connection signal data stored during the learning mode.
  • the characteristic of the EEPROM is such that it may be altered by passing an electrical current to specified memory locations in the write mode. While the EEPROM in the preferred embodiment of the present invention is 128 bytes in size, as is known to those skilled in the art, this area of memory may be expanded to include a larger area for non-volatile data storage. For example, other embodiments of the present invention may store more than one set of outbound connection signal data. As is shown in the diagram of Fig. 2, the EEPROM 265 is accessed via a two wire serial connection to the CPU 210.
  • Fig. 2 contains three remaining circuits. These are a power source, a programming switch, and a speaker and amplifier.
  • the Power Supply 245 is typical of that well understood by those skilled in the art, and is used to provide the operating voltage and current needed by a device such as that used by the present invention.
  • Speaker amplifier 280 and its associated speaker 285 are used to provide audio output to the user. Two paths for audio output are provided: incoming audio from the remote voicemail service provider and outbound DTMF tones from the CPU.
  • Programming switch 290 is used to place the device in the learning mode allowing it to learn the correct data timing and position, as discussed in detail below.
  • the characteristic of the EEPROM, 265 in Fig. 2 is such that it may be altered by passing an electrical current to specified memory locations in the write mode.
  • the content of any given memory location, or address is capable of being altered by first placing the EEPROM in the write mode, and then loading the desired information into the target memory location.
  • Closure of the programming switch 290 causes the TAD to enter the learning mode. By enabling the learning mode, the TAD will write the learned data from RAM 270 to the EEPROM 265 upon the opening of switch 290. When power fails or is removed, the content of that location remains unchanged.
  • the learning feature is used to enable the TAD to learn the necessary data patterns and timing that allow automatic access to a remote voicemail server without the need for user intervention.
  • Fig. 3A shows a typical complex data set 300 composed of a target telephone number data set 310 and a user PIN data set 315 that may be used to access a remote voicemail server.
  • the first data set consists of seven digits, such as would be the case if the remote voicemail server were attached to the same central switch. But as is known to those skilled in the art.
  • a more complex data set could also be stored, for example, eleven digits. The additional four digits could represent a "1" to delineate a call outside the user's central office switch service area and the three digits of the area code where the remote voicemail server resides.
  • the second set of data shown in Fig. 3 A is the PIN 315.
  • This data set is required by the remote voicemail server software to authenticate the user. While the example uses a six digit data set, it will be recognized by those familiar with the art that any number of digits or alpha characters could be stored and used as a PIN. The exact number needed is specified by the provider of the voicemail service.
  • the first step would be to take the telephone off hook, dial the first data set, in this case 776-5527, aurally monitor the call progress until a connection has been made, wait for the prompt to instruct entry of the PIN, then enter the second data set, here the digits 228626.
  • the user may, alternatively, place the TAD in the learning mode by closing the programming switch 290 in Fig. 2, take the associated CPE off hook, dial the first data set, wait for the connection and prompt, enter the second data set, and then disconnect by opening the programming switch and placing the CPE on hook. Since the programming switch was closed, the data sets and time delays associated with the connection were stored temporarily in RAM 270.
  • Fig. 3A illustrates a more realistic set of events associated with the connection to the remote voicemail server.
  • the telephone number is entered as several separated data sets with time delays between them. This happens since users rarely dial a set of seven to eleven numbers perfectly spaced in time.
  • Fig. 3B illustrates a more realistic set of events associated with the connection to the remote voicemail server.
  • a first data set 320 comprised of the three digits 776 has been entered, then a time delay t, 325 occurs, then a second data set 330 comprised of the digits 55 followed by a second time delay t 2 335 and then a third data set 340 composed of the digits 27 is entered.
  • the target telephone number of the remote voicemail server has been dialed and the time delay t 3 345, representing the connection delay time it takes for the server to answer and provide the prompt to enter the PIN, occurs.
  • a fourth data set 350 consisting of 228 representing the first three digits of the PIN, followed by a time delay t 4 355, and then a fifth data set 360 made up of 626, the last three digits of the PIN.
  • the deterioration of the two orderly data sets 310 and 315 of Fig. 3 A into the five random data sets 320, 330, 340, 350 and 360 of Fig 3B occurs due to human mechanics. For example, typically a human user will dial the first three digits of a target telephone number, then pause, dial the next two digits, then pause again, perhaps to look down at a phone book or list of telephone numbers for reference, then dial the last two digits.
  • the delays encountered are random and variable and cannot be predicted. Should these delays be programmed into EEPROM, the resultant output would be just as unpredictable.
  • One of the benefits of the present invention is that it provides the TAD with the ability to "learn" which of the delays are random and which are ordered.
  • time delays 325, 335 and 355 are random, whereas time delay 345 is ordered.
  • Time delay 345 is ordered because it takes a constant amount of time, relative to the random time delays, to connect to the remote voicemail server and receive back the PIN prompt, absent busy or no connection conditions.
  • the method of the present invention parses the incoming data sets by time and position such that they appear as shown in Fig. 3C.
  • Fig. 3C the method of the present invention has grouped the random data sets 320, 330 and 340 into a single seven digit data set 370 representing the target remote voicemail server in EEPROM.
  • the two random delays 325 and 335 have been stripped.
  • the third time delay t 5 380 has been stored in EEPROM, since this is an ordered delay representing connection time.
  • t 3 of Fig. 3B and t 5 of Fig. 3C are the same delay but are labeled differently for clarity.
  • the software then strips the time delay 355 and stores the PIN 390 in EEPROM as a single data set.
  • the result of implementation of the present invention is that when the user initiates a connection, the software retrieves the target telephone number 370 from memory, dials the number, then retrieves the connection delay 380, and then retrieves and sends the PIN 390.
  • the entire connect sequence required no intervention or monitoring by the user.
  • FIG. 4A the learning mode is entered from the main program idle loop at step 410.
  • the operations concerned with power up, configuration and other functional management tasks associated with the TAD are not discussed in detail to aid clarity. However, these operations are performed in a manner consistent with methods well known to those of skill in the art.
  • the user has taken the associated CPE device, 120 of Fig. 1, off hook in preparation for dialing into the remote voicemail service provider.
  • step 412 a determination is made as to whether the programming switch is closed. If it is not, the routine is returned to the main program idle loop at step 432. If the programming switch is closed, then at step 414 a check for line-in-use is made. If the line is not in use, then again the task flow is returned to the main program idle loop at step 432. This is so since if the line is not in use the user has not taken the CPE off hook in preparation for the learning task. If the line is in use, the TAD seizes the line at step 416 and is connected in parallel to the CPE in preparation for receiving data sets and delay input.
  • Step 418 sets the RAM pointer to the first address to be used for temporary storage of digit and delay data.
  • a decision is made determining whether or not the programming switch has been opened. If the switch has been opened all incoming data and delays have been received and flow transfers via connector A 424 to operation 460 in Fig. 4C for a validity check on the data. If the switch remains closed flow continues to operation 422 where a check is made for the presence of a DTMF tone. If a DTMF tone is present, the first digit has been selected by the user on the CPE and is ready to be stored, or learned, by the TAD. If no digit is present, the flow loops on steps 420 and 422 until the digit arrives.
  • step 426 the first digit of the target telephone number is stored in the first memory location of RAM.
  • Connector C 430 is the return path from step 464 in Fig. 4C, discussed further below.
  • Step 438 makes a determination as to whether the programming switch is still closed. As was the case above, if the switch has been opened all incoming data and delays have been received and flow transfers via connector A 424 to operation 460 in Fig. 4C for a validity check on the data. If the switch remains closed step 440 determines if the next incoming digit has arrived. If not, steps 438 and 440 repeat until the next digit has been received.
  • step 442 stops the delay timer and the digit is stored in RAM in step 444.
  • the time value of the delay timer started at step 436 is also stored in a manner consistent with methods well known to those of skill in the art, and is thus not considered in any greater detail here, however, this delay becomes the current delay and serves as the basis for comparison of any following inter-digit time delay measurements.
  • Step 446 then checks to see if a minimum number of digits have been received. This number is set at seven in the preferred embodiment, however, as is known to those of skill in the art, the number may be increased or decreased without affecting the method of the invention. This check is used to set a lower limit on the number of digits to be grouped by the TAD in forming outbound telephone number strings.
  • step 446 If the minimum number of digits in step 446 have not been received, flow now transfers via connector 452 in Fig. 4B to identical connector 452 in Fig. 4C where step 454 checks the state of the programming switch. If the switch has not been opened the user has not finished entering digits, and flow returns to step 434 of Fig. 4B via connector B 456 where the RAM address is set to the next memory location. The method loops on steps 434 through 454 until all digits needed to dial the voicemail service provider have been entered.
  • step 448 a check is made to determine if the delay between the last two digits is greater than the longest delay between any two digits yet received. If the delay is not the longest, flow returns to step 434 in the same manner described above in anticipation of receiving the next incoming digit. If the delay is longer than any inter-digit delay yet received, step 450 makes the current delay the longest delay and stores the delay value to RAM. Flow then proceeds as described above until the user has entered all digits needed to dial the voicemail service provider's number.
  • the delay timer in step 436 has been started. This means that for the length of time it takes for the voicemail service provider's equipment to answer the incoming call and play the prompt to the user the timer has been active and the TAD is waiting for the next digit. Upon hearing the prompt from the service provider, the user enters the first digit of the PIN. The delay timer is stopped and the comparison of the inter-digit delay at step 448 is again made.
  • the delay value stored in RAM at step 450 Since the delay between the last digit of the service provider's number and the first digit of the PIN will necessarily be the longest yet, it will be the delay value stored in RAM at step 450. It is at this point that the method of the present invention has stripped out all random inter-digit delays associated with dialing the remote voicemail service provider (325 and 335 in Fig. 3B) resulting from human mechanics.
  • step 434 where the next RAM address is set.
  • the process continues in the same manner as described above except that now the user is entering digits that represent the security PIN. Since no random inter-digit delay encountered by the TAD while the user is entering the PIN data will be longer than the connection delay time, once again the TAD strips the random delay and groups all incoming digits into a PIN data set in RAM.
  • step 460 a final check is made to determine if enough digits have been received to form a valid outbound telephone number. If the answer is no, either a mistake has been made or the user has aborted the programming session, the line is released at step 464 and flow is returned to the main program idle loop via connector C 430.
  • Step 462 If the proper number of digits has been received flow tranfers to step 462 where the temporary contents of RAM, including the outbound telephone number, the connection delay, and the user PIN, are written to the EEPROM.
  • Step 464 then releases the telephone line from the TAD and returns control to the main program idle loop via connector C 430.
  • the user places the CPE on hook releasing the public telephone line. In this way the method of the present invention has now "learned" the outbound connection signal characteristics needed to automatically connect to the remote voicemail service.
  • Connectors A 424 and B 456 provide outgoing and return paths respectively to Fig. 4C and are discussed in detail in conjunction with that figure below.
  • FIG. 5 A, 5B and 5C form a flowchart 500 of the automatic connection operation, which describes in detail how the method of the present invention connects to a remote voicemail service provider.
  • the routine is entered from the main program idle loop at step 510.
  • a determination is made as to whether the Dial V-mail switch on the TAD is closed, indicating that user desires to make an outbound call to the remote voicemail server. If the answer is no, then control returns to the main program idle loop at step 560. If the answer is yes, then at step 520 the memory address of the number to be dialed is fetched from EEPROM.
  • Step 525 loads the outbound telephone number into the dial buffer and in step 530 a decision is made as to whether the line is already in use. If the line is not in use the flow transfers to step 532 where the TAD seizes the line.
  • step 534 the TAD speaker is activated and in step 535 an eight second timer is started. The eight second time delay is used since this is what is required to ensure that telephone company central office equipment can detect the off-hook condition of the user's TAD, locate an available channel, and return a dial tone to the user's TAD with an approximately 99.9% success rate.
  • step 540 a check is made for a dial tone and, if present, flow transfers to step 550 via connector 555 in Fig. 5 A to identical connector 555 in Fig. 5B.
  • step 545 a check is made to determine if the eight second timer has expired. If the timer has not expired flow returns to step 540 to determine if the dial tone is now present and flow progresses as above. If the timer has expired flow transfers to step 550 via connector 555 in Fig. 5A to identical connector 555 in Fig. 5B and the number in the dial buffer is dialed.
  • step 530 if the line is already in use there is no need to seize the line, activate the speaker and check for a dial tone, thus flow transfers to step 550 via connector 555 in Fig. 5A to identical connector 555 in Fig. 5B.
  • Connector C 596 provides a return path for the clean-up operation 593 in Fig. 5C and is discussed in detail below with that figure.
  • step 558 the connection delay timer is started.
  • step 565 determines if the connection delay timer has expired and, if the time has not expired, the flow loops on step 565 until it has.
  • step 568 the user's security PIN is fetched from EEPROM.
  • Step 570 outputs the PIN to the remote voicemail service equipment and flow transfers via connector 575 in Fig. 5B to identical connector 575 in Fig. 5C.
  • Steps 580 and 583 form a decision tree that determines if the user has completed the voicemail session.
  • step 580 the Dial V-mail switch is checked to see if it is open, which is the normal case during an active voicemail session. If it is not, the user may have inadvertently pressed the switch, thus the process will loop until the open condition is detected.
  • step 583 the process checks for a closed condition indicating that the user has finished the voicemail session and has pressed the Dial V- mail switch in order to disconnect from the remote voicemail equipment. The reason that the two stage decision of steps 580 and 583 is required is that the Dial V-mail switch is of the momentary contact type. Further, the switch is used for both initiation and termination of a voicemail session. Thus in the case of step 515 in Fig. 5A, initiation of a session, only a switch closure check need be made since the step was entered from the main program idle loop. However, in the case of a termination closure, both the open and closed states must be checked for the reason stated above.
  • step 583 Once a closed switch condition is detected in step 583 the process transfers to step 586 where the TAD speaker is deactivated. Then, in step 590, the telephone line is released and in step 593 the process accomplishes a cleanup and reset of variables in preparation for the next session. Note that the exact details of the clean-up and reset operation have no bearing on the invention and are thus not discussed in detail, but, note also that these operations are accomplished by programming methods well known to those skilled in the art. In step 596 the flow is returned to the idle loop via connector C to identical connector C in Fig. 5 A.
  • the preferred embodiment of the present invention is a TAD, but as was mentioned above, it could just as easily be a PC or a CPE.
  • the specific process flow of the preferred invention is exemplary in nature, and other flows could be envisioned which accomplish the same result without departing from the spirit of the present invention.
  • One advantage of the present invention is the ability to accommodate different regional operating environments by compensating for different voicemail service answering delays. The time it takes for a voicemail service to answer varies from region to region, thus a constant preset delay in the user's voicemail device would fail in many cases. Thus one benefit of the present invention is the ability to adjust to different regional delays.
  • a second advantage of the present invention is the ability to distinguish which of the delays inherent in forming a valid outbound connection are random and which are ordered. The method of the present invention accepts and compares incoming data in a way such that the random delays are stripped. This provides proper contiguous sets of number and time delay data to be used for accurate automatic connection to a remote equipment.
  • a third advantage of the present invention is the ability to learn not only an outbound telephone number, but in addition an associated connection time delay. This combination of data enables the present invention to relieve the user of repetitive keystrokes leading to a great reduction in erroneous dialing.
  • a fourth advantage of the present invention is the ability to preprogram personal identification data as well as the voicemail service access number and associated connection delay. By having the ability to learn multiple data sets, the user can dial the voicemail service number, wait for the service to answer, then enter the personal identification data and hang up. In so doing, the voicemail access device stores the service access number, the connection delay and the personal identification number. The user then simply depresses the dedicated voicemail access button and the device automatically connects to the service.
  • a fifth advantage of the present invention is the ability for a user to automatically connect to a remote voicemail service with the single press of a button. While obviously an increase in efficiency, the greatest benefit is the reduction in dialing errors with an attendant increase in percentage of successful connections.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Use of the present invention enables the user of a remote voicemail service (160) to access the service by pressing a single button on a voicemail access device (130). The user pre-programs the device through a manual dial-up process during which the device records and stores the connection characteristics required to access the service provider including the number, delay and position of the data. Thus, upon a single closure of a voicemail access button, the device outputs the proper numbers in the correct order with the proper delay and position, including personal identification data, if required.

Description

METHOD FOR AUTOMATIC ACCESS TO A VOICEMAIL SERVICE INCLUDING DETERMINATION OF PROPER NUMBER DATA
AND TIME DELAY
BRIEF DESCRIPTION
This invention relates to the telephony industry. Specifically, this invention concerns automatic outbound calling from a Telephone Adjunct Device (TAD) to access a remotely operated voicemail service.
BACKGROUND OF THE INVENTION
Prior to approximately 1986, voicemail was limited to use inside businesses. The systems were dedicated in nature, requiring both hardware and software systems to implement. Access to these systems was straight forward since a limited number of extensions, or mailboxes, existed. Typically, a user desiring access to an account would simply dial the appropriate extension representing their voice mailbox. Usually this meant little more than four or five digits. In these early, dedicated systems there was little need for a security code, or PIN (Personal Identification Number) since virtually all users were employees of the owner of the system. Note that the purpose of the present invention is access to a user's voicemail service provider to retrieve voicemail messages, thus access to a third party's remote voicemail system to leave a message is beyond the scope of the invention and is not included in the following detailed discussion.
Once in the system, the user could manipulate the functions provided by the voicemail software, for example, listening to messages, saving, deleting, responding, and sending new messages to other users. For these systems there were no problems associated with access time delays or data positioning due to the local nature of the system. Access time delay is the time required for the central system to respond to an input data set, for example, to answer an incoming call. Data position is the relative grouping of input data in a data set. For example, which of a set of incoming digits represents a voice mailbox and which represents a security PIN. This was so due to the captive nature of the system and, as mentioned above, all activity associated with a dedicated on-premises voicemail system was local.
In approximately 1980, during a period of rapid expansion of the telephony industry, AT&T came under Federal scrutiny related to anti-competitive practices. The result of the Federal action was the breakup of AT&T in 1983, the elimination of Bell Telephone as the single telephone service provider, and the creation of several regional telephone service providers. These regional providers, referred to as the "Baby Bells," initially simply took over the existing customer base for their region which they inherited from Bell Telephone. However, over time, and in response to increasing competition for customers among the regions, the regional providers began adding services. The functional capability of the central switch, driven by advances in digital technology, now allowed telephone service providers to deliver additional services such as conference calling, message waiting, and caller identification to the customer without requiring expensive specialized equipment at the customer's site.
One of the main services offered was centrally operated voice mail. The regional service provider placed the required dedicated hardware and software at their central office or some other remote location. Customers who desired to be users of the central voice mail service simply signed up for the service and were assigned a mailbox and a security PIN. Now the user could dial up the central voicemail service, gaining access to the same functionality that once was the sole province of private businesses.
At generally the same time as the expansion in available services from the regional providers occurred the expansion of the small office/home office, or the so called SOHO market, was taking place. Indicative of this trend was the creation of small business entities in a widely dispersed geographical space. One attendant requirement for this market was voicemail. At about the same period in time, wireless services such as paging and cellular phones also appeared in large volume, making access to voice mail from remote locations a reality.
But the ability to access remotely served voicemail accounts was hampered by the fact that now the user was required to memorize the service provider's telephone number and, in the majority of cases, a security PIN. For example, a user might be required to dial as many as fifteen numbers to access their account. This commonly occurs where the voicemail service provider's system is outside the area code of the user. Thus the user must first dial a "1" to designate a call outside the local service area, then the three digit area code, then the seven digits of the provider's system. After waiting for the system to answer (the connection delay time), the user would then enter their four digit PIN, for a total of fifteen numbers. While it is true that the more common number set would be eleven (seven for access to the system plus the four digit PIN), the increasing use of area code overlays due to the rapidly expanding demand for individual telephone numbers makes the fifteen digit case more and more a norm. An area code overlay is, simply put, an area code within an area code. The impact to the user is that although the remote voicemail service provider may be across the street, an eleven digit number is required to complete a connection to the service provider's equipment. A further consideration is that with increased security concerns in a data driven community, a six digit PIN is not uncommon, leading to a total of a seventeen digit outbound number requirement with an attendant increase in the potential for dialing errors.
What is required to simplify and improve the accuracy of access to remote voicemail systems is a method for automatically dialing the telephone number of the service provider. Many contemporary CPEs [Customer Premises Equipments] have the ability to automatically dial a complex outbound telephone number, but once a successful connection has been made, the user must still listen for a prompt, then enter the security PIN, if required, in order to make use of the system. Thus current automatic access methods have the serious disadvantage of requiring the user to monitor the system before use may commence. To enable truly automatic access several problems must be resolved. First, the CPE device must have the necessary intelligence to recognize certain line conditions such as line-in-use or no dial tone. Second, the CPE device must be able to send and receive data compatible with the remote voicemail system in both time and position in order to make a successful connection. Third, remote voicemail systems vary as to their timing and input data requirements, thus the CPE device must be flexible enough to accommodate a variety of operating environments.
It is important to note that the timing differences to be recognized by the voicemail device have at least two sources: inter-system delays and regional timing delays. The inter-system delays are generally small and are related to random internal system timing and operating program responses. Sources for these delays include hard drive access time, human response time and central switch traffic volume, to name just a few. Regional differences are relatively large, and are the result of the ordered delay set by the service provider's program timing. While the random delays are generally less than a second, the ordered delays may range from three to ten seconds. There are at present many known methods for generating outbound telephone numbers. For example, state of the art voicemail CPE devices currently allow the user to program an access number using methods well known to those skilled in the art. However, these CPE devices use one of two methods for making a connection. The first method is to simply blind dial the target telephone number and wait for the user to be prompted to enter any ancillary data required, for example, the user's PIN. This method accommodates the variable operating environment of the various voicemail systems, but does so at the expense of user intervention, thus the method still suffers from the need for user monitoring and errors during PIN entry.
The second method is to provide a pre-programmed outbound number and associated fixed answering delay. While this relieves the user's intervention, it does so in an inflexible manner, thus failing to accommodate the variations in operating environments that a user's voicemail CPE device must face. The result is that this method suffers from the disadvantage of failed connections and still requires manual entry of the security PIN by the user. As can be seen, both of the current methods suffer from drawbacks.
Accordingly, it would be highly desirable to provide a system in which the user's voicemail CPE device enters all required data, including the PIN, and automatically dials the number using a method that accommodates the variations in operating environments and alleviates the need for user intervention. In this way the user would be able to press a single button to gain direct access to the remotely operated voicemail system. Additionally, having a method such as this would reduce the errors associated with manual dialing.
SUMMARY OF THE INVENTION
Use of the present invention enables the user of a remote voicemail service to access the service by pressing a single button on a voicemail access device such as a CPE or TAD. For the present invention, the user pre-programs a TAD device through a manual dial-up process during which the device records and stores the outbound connection signals required to access the service provider including the number, time delay and position of the data. Thus, upon a single closure of a voicemail access button, the TAD outputs the proper numbers in the correct order with the proper time delay and position, including personal identification data, if required.
In operation, the voicemail access device is first placed in a learning mode by a programming switch closure. In this mode the user manually accesses the voicemail service by dialing the service's telephone number on a telephone connected in parallel to the TAD, waiting for the service to answer, entering any PIN data, and then disconnecting. During the manual dialing process the voicemail access device records the data and the time delays required for the service to answer the incoming call. After opening the programming switch and terminating the call all data required for connection is stored in permanent memory within the voicemail access device. For future connection to the voicemail service provider the user simply presses a dedicated voicemail access button which instructs the device to dial the previously stored voicemail service provider's number, wait for the delay period, enter the PIN number if needed, and then proceed with normal voicemail operations.
One advantage of the present invention is the ability to preprogram personal identification and connection time delay data independent of the TAD operating environment in addition to the voicemail service provider's access number. By having the ability to learn and adjust for connection delays, the user can pre-program the voicemail service number, wait for the service to answer, then enter the personal identification data and hang up. In so doing, the voicemail access device stores the service access number, the answering delay and the personal identification number. The user then simply depresses the dedicated voicemail access button and the device automatically connects to the service. These and other advantages of the present invention are discussed in detail in conjunction with the figures and text below.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 : High level block diagram of a system which can make use of the method of the present invention.
Figure 2: Detailed block diagram of a typical TAD which can make use of the method of the present invention. Figure 3 A, 3B, & 3C: Examples of data position and time delay parsing associated with a typical remotely operated voicemail service connection transaction.
Figure 4 A, 4B & 4C: Flow chart of the learning mode process implemented by the method of the present invention.
Figure 5 A, 5B & 5C: Flow chart of the invoke mode process implemented by the method of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
As discussed briefly above, there are a number of disadvantages of current methods for connecting to a remotely operated voicemail service. Primary among these are the need for user intervention for manual connect systems and failed connection attempts for the so-called automatic connect methods. The present invention provides a method for overcoming these disadvantages by providing a learning mode that creates outbound connection signals for the user's voicemail service provider. Once the data characteristics of the connection signals have been related to the user's voicemail service provider in memory, the user may press a single switch that engages a connection mechanism. This mechanism retrieves the stored connection signals and connects the user to the service by duplicating the learned outbound call. The method of the present invention overcomes the disadvantages enumerated above by providing a method for learning the data patterns and connection time delays required to automatically connect to a remotely operated voicemail service with no user intervention and with few failed connection attempts. Advantageously, the present invention has the ability to learn the outbound connection signal characteristics of a wide variety of telephony environments. In one embodiment of the present invention the user may add PIN data to the outbound connection signals stored in memory eliminating the need for manual monitoring of the connection.
For a more complete understanding of the method of the present invention, it is helpful to first describe the environment in which the invention operates. Referring to Fig. 1 , a high level block diagram 100 of a typical system used in conjunction with the method of the present invention is shown. A user's premises 110 contains a CPE telephone device 120 and a TAD voicemail device 130. The CPE 120 and the TAD 130 are connected in parallel to a remotely operated voicemail service provider 160 via the public service telephone network [PSTN] telephone lines 150. Note that while the present invention makes use of the combination of a CPE plus a TAD connected via conventional telephone lines, as is known to those skilled in the art, this is not the only possible environment that may take advantage of the method of the present invention. For example, the functions accomplished by the TAD in the present invention may be incorporated in the CPE without departing from the spirit of the present invention. Further, while the connection medium used by the method of the present invention is the PSTN, other mediums, for example cellular phone connections, may be used without departing from the spirit of the invention.
Referring now to Fig. 2, a detailed block diagram 200 of a TAD device that can implement the method of the present invention is shown. In the preferred embodiment of the present invention a TAD is used, but as is known to those skilled in the art, the method of the present invention may be implemented in a number of different CPE devices, for example, a programmable telephone, a PC [Personal Computer], or other systems comprised of the requisite hardware and software.
The TAD contains a CPU 210 with appropriate software for accomplishing functions related to telephony. In the preferred embodiment, the CPU is a W921C844 four bit processor from Winbond, Hsinchu, Taiwan, R.O.C., but as is known to those skilled in the art, this is not the only possible CPU that may be used to support the present invention. As well as command and control functions, the CPU generates the outbound DTMF (Dual Tone Multi-Frequency) tones that are sent via signal lines 220 to the telephone interface circuit [TIC] 215. The TIC 215 provides isolation from the pubic telephone network and impedance matching to the remainder of the circuits internal to the device. The TIC is controlled by the CPU via signals on signal lines 220. Two circuits are located between the output of the TIC and the CPU: the DTMF Receiver 225 and the Dial Tone Detector 240. The DTMF Receiver receives and decodes the incoming analog DTMF signals, converts them to digital format and passes them to the CPU via a four bit bus 230. Command and control of the DTMF Receiver is accomplished by the CPU via control lines 235. The Dial Tone Detector [DTD] 240 informs the CPU of the presence a dial tone.
Also attached to the CPU are a Key Matrix 250 and a set of Display LEDs [Light Emitting Diodes] 255 and 257. The Key Matrix is provided to allow the user to manipulate voicemail in a manner well known to those skilled in the art. For example, included in this matrix are switches that allow functions such as fast forward, play, rewind and delete. Also included in the key matrix 250 is a Dial V-Mail switch 253. This dedicated switch provides the user with a single button to automatically connect to the remote voicemail service provider as discussed in detail below.
The LEDs provide an output to indicate device status to the user. Vmail Waiting LED 255 has two functions. First, when the TAD is in the learning mode the Vmail Waiting LED 255 flashes continuously (e.g. at 50 msec on, 200 msec off.) Second, during normal operation the LED flashes (e.g. at a 50 msec on, 950 msec off rate) to indicate the presence of a new voicemail message. The In Use LED 257 indicates to the user that the TAD has seized the line and the speaker is active. Three types of memory are attached to the CPU. Random Access memory [RAM] 270 is internal to the CPU and is 256 bytes in size. This memory is used for the variables needed during normal CPU program operation. It is volatile — that is the data contained in RAM will be lost upon loss of power. The second area of memory, also internal to the CPU, is the masked ROM 260. This area of memory is eight kilobytes in size and contains the necessary program code to operate the TAD. Both of these areas of memory communicate with the CPU via address and data busses. The Address bus 275 is used to identify specific memory locations, whether RAM or masked ROM, to be used for some CPU operation. The Data bus 278 carries the data that is to be stored or retrieved from some memory location, again either RAM or masked ROM. Together, the CPU, RAM and masked ROM operate in a manner well known to those skilled in the art.
In addition to operational code such as the power up routine needed to operate TAD, the masked ROM 260 contains the learning mode module 262 and the invoke mode module 264. Learning mode module 262 enables the present invention by providing a method for parsing and storing connection signals required for automatic access to a remote voicemail service. Invoke mode module 264 enables the present invention by providing a method for automatically connecting to a remote voicemail service and then manipulating that service in a manner consistent with normal voicemail use.
The third area of memory is the Electrically Erasable Programmable Read Only Memory [EEPROM] 265. This area of memory contains all non- volatile data including TAD configuration data as well as the outbound connection signal data stored during the learning mode. The characteristic of the EEPROM is such that it may be altered by passing an electrical current to specified memory locations in the write mode. While the EEPROM in the preferred embodiment of the present invention is 128 bytes in size, as is known to those skilled in the art, this area of memory may be expanded to include a larger area for non-volatile data storage. For example, other embodiments of the present invention may store more than one set of outbound connection signal data. As is shown in the diagram of Fig. 2, the EEPROM 265 is accessed via a two wire serial connection to the CPU 210. While the preferred embodiment of the present invention uses a combination of RAM, masked ROM and EEPROM, it should be understood by those skilled in the art that other memory configurations are possible, for example, using flash RAM instead of EEPROM, thus the scope of the invention is limited only by the claims. Fig. 2 contains three remaining circuits. These are a power source, a programming switch, and a speaker and amplifier. The Power Supply 245 is typical of that well understood by those skilled in the art, and is used to provide the operating voltage and current needed by a device such as that used by the present invention. Speaker amplifier 280 and its associated speaker 285 are used to provide audio output to the user. Two paths for audio output are provided: incoming audio from the remote voicemail service provider and outbound DTMF tones from the CPU. The speaker output is only available to the user when the TAD unit is activated. Programming switch 290 is used to place the device in the learning mode allowing it to learn the correct data timing and position, as discussed in detail below. As mentioned briefly above, the characteristic of the EEPROM, 265 in Fig. 2, is such that it may be altered by passing an electrical current to specified memory locations in the write mode. As such the content of any given memory location, or address, is capable of being altered by first placing the EEPROM in the write mode, and then loading the desired information into the target memory location. Closure of the programming switch 290 causes the TAD to enter the learning mode. By enabling the learning mode, the TAD will write the learned data from RAM 270 to the EEPROM 265 upon the opening of switch 290. When power fails or is removed, the content of that location remains unchanged. The learning feature is used to enable the TAD to learn the necessary data patterns and timing that allow automatic access to a remote voicemail server without the need for user intervention.
To gain access to a remote voicemail server a minimum of one set of data, a telephone number, is required. The more usual case requires two sets of data, the telephone number and a password, or PIN. Fig. 3A shows a typical complex data set 300 composed of a target telephone number data set 310 and a user PIN data set 315 that may be used to access a remote voicemail server. In the example shown the first data set consists of seven digits, such as would be the case if the remote voicemail server were attached to the same central switch. But as is known to those skilled in the art. a more complex data set could also be stored, for example, eleven digits. The additional four digits could represent a "1" to delineate a call outside the user's central office switch service area and the three digits of the area code where the remote voicemail server resides.
The second set of data shown in Fig. 3 A is the PIN 315. This data set is required by the remote voicemail server software to authenticate the user. While the example uses a six digit data set, it will be recognized by those familiar with the art that any number of digits or alpha characters could be stored and used as a PIN. The exact number needed is specified by the provider of the voicemail service.
In the prior art, each time the user wishes to connect to the voicemail service, the first step would be to take the telephone off hook, dial the first data set, in this case 776-5527, aurally monitor the call progress until a connection has been made, wait for the prompt to instruct entry of the PIN, then enter the second data set, here the digits 228626. By use of the present invention the user may, alternatively, place the TAD in the learning mode by closing the programming switch 290 in Fig. 2, take the associated CPE off hook, dial the first data set, wait for the connection and prompt, enter the second data set, and then disconnect by opening the programming switch and placing the CPE on hook. Since the programming switch was closed, the data sets and time delays associated with the connection were stored temporarily in RAM 270. By opening the programming switch, the TAD transferred the various data sets to the EEPROM 265. Each time in the future that the user wishes to connect to the voicemail service provider, simply pressing the Dial V-Mail switch 253 function key on the TAD will automatically connect to the remote voicemail server. While the data and connection events shown in Fig. 3A are theoretically correct, Fig. 3B illustrates a more realistic set of events associated with the connection to the remote voicemail server. In the scenario shown in Fig. 3B, the telephone number is entered as several separated data sets with time delays between them. This happens since users rarely dial a set of seven to eleven numbers perfectly spaced in time. In Fig. 3B, a first data set 320 comprised of the three digits 776 has been entered, then a time delay t, 325 occurs, then a second data set 330 comprised of the digits 55 followed by a second time delay t2 335 and then a third data set 340 composed of the digits 27 is entered. At this point in time the target telephone number of the remote voicemail server has been dialed and the time delay t3 345, representing the connection delay time it takes for the server to answer and provide the prompt to enter the PIN, occurs. Now the user enters a fourth data set 350 consisting of 228 representing the first three digits of the PIN, followed by a time delay t4 355, and then a fifth data set 360 made up of 626, the last three digits of the PIN.
The deterioration of the two orderly data sets 310 and 315 of Fig. 3 A into the five random data sets 320, 330, 340, 350 and 360 of Fig 3B occurs due to human mechanics. For example, typically a human user will dial the first three digits of a target telephone number, then pause, dial the next two digits, then pause again, perhaps to look down at a phone book or list of telephone numbers for reference, then dial the last two digits. The delays encountered are random and variable and cannot be predicted. Should these delays be programmed into EEPROM, the resultant output would be just as unpredictable.
One of the benefits of the present invention is that it provides the TAD with the ability to "learn" which of the delays are random and which are ordered. In the example in Fig. 3B, time delays 325, 335 and 355 are random, whereas time delay 345 is ordered. Time delay 345 is ordered because it takes a constant amount of time, relative to the random time delays, to connect to the remote voicemail server and receive back the PIN prompt, absent busy or no connection conditions. The method of the present invention parses the incoming data sets by time and position such that they appear as shown in Fig. 3C.
In Fig. 3C the method of the present invention has grouped the random data sets 320, 330 and 340 into a single seven digit data set 370 representing the target remote voicemail server in EEPROM. The two random delays 325 and 335 have been stripped. But the third time delay t5 380, has been stored in EEPROM, since this is an ordered delay representing connection time. Note that t3 of Fig. 3B and t5 of Fig. 3C are the same delay but are labeled differently for clarity. The software then strips the time delay 355 and stores the PIN 390 in EEPROM as a single data set. The result of implementation of the present invention is that when the user initiates a connection, the software retrieves the target telephone number 370 from memory, dials the number, then retrieves the connection delay 380, and then retrieves and sends the PIN 390. The entire connect sequence required no intervention or monitoring by the user.
The combination of Figures 4A, 4B and 4C form a flowchart 400 of the learning mode operation which describes in detail how the method of the present invention parses and stores the proper data sets and delays. Beginning with Fig. 4A, the learning mode is entered from the main program idle loop at step 410. Note that the operations concerned with power up, configuration and other functional management tasks associated with the TAD are not discussed in detail to aid clarity. However, these operations are performed in a manner consistent with methods well known to those of skill in the art. Note also that at the time the learning operation is entered the user has taken the associated CPE device, 120 of Fig. 1, off hook in preparation for dialing into the remote voicemail service provider.
In step 412 a determination is made as to whether the programming switch is closed. If it is not, the routine is returned to the main program idle loop at step 432. If the programming switch is closed, then at step 414 a check for line-in-use is made. If the line is not in use, then again the task flow is returned to the main program idle loop at step 432. This is so since if the line is not in use the user has not taken the CPE off hook in preparation for the learning task. If the line is in use, the TAD seizes the line at step 416 and is connected in parallel to the CPE in preparation for receiving data sets and delay input.
Step 418 sets the RAM pointer to the first address to be used for temporary storage of digit and delay data. At step 420 a decision is made determining whether or not the programming switch has been opened. If the switch has been opened all incoming data and delays have been received and flow transfers via connector A 424 to operation 460 in Fig. 4C for a validity check on the data. If the switch remains closed flow continues to operation 422 where a check is made for the presence of a DTMF tone. If a DTMF tone is present, the first digit has been selected by the user on the CPE and is ready to be stored, or learned, by the TAD. If no digit is present, the flow loops on steps 420 and 422 until the digit arrives. In step 426 the first digit of the target telephone number is stored in the first memory location of RAM. Flow now transfers via connector 428 in Fig. 4A to identical connector 428 in Fig. 4B where step 434 sets the next RAM address to be used for temporary storage of data. Connector C 430 is the return path from step 464 in Fig. 4C, discussed further below.
Referring now to Fig. 4B, a delay timer is started in step 436 in anticipation of receiving the next incoming digit. Step 438 makes a determination as to whether the programming switch is still closed. As was the case above, if the switch has been opened all incoming data and delays have been received and flow transfers via connector A 424 to operation 460 in Fig. 4C for a validity check on the data. If the switch remains closed step 440 determines if the next incoming digit has arrived. If not, steps 438 and 440 repeat until the next digit has been received.
Once the next incoming digit has been received, step 442 stops the delay timer and the digit is stored in RAM in step 444. The time value of the delay timer started at step 436 is also stored in a manner consistent with methods well known to those of skill in the art, and is thus not considered in any greater detail here, however, this delay becomes the current delay and serves as the basis for comparison of any following inter-digit time delay measurements. Step 446 then checks to see if a minimum number of digits have been received. This number is set at seven in the preferred embodiment, however, as is known to those of skill in the art, the number may be increased or decreased without affecting the method of the invention. This check is used to set a lower limit on the number of digits to be grouped by the TAD in forming outbound telephone number strings.
If the minimum number of digits in step 446 have not been received, flow now transfers via connector 452 in Fig. 4B to identical connector 452 in Fig. 4C where step 454 checks the state of the programming switch. If the switch has not been opened the user has not finished entering digits, and flow returns to step 434 of Fig. 4B via connector B 456 where the RAM address is set to the next memory location. The method loops on steps 434 through 454 until all digits needed to dial the voicemail service provider have been entered.
Returning to step 446, if enough digits have been received flow transfers to step 448. In step 448 a check is made to determine if the delay between the last two digits is greater than the longest delay between any two digits yet received. If the delay is not the longest, flow returns to step 434 in the same manner described above in anticipation of receiving the next incoming digit. If the delay is longer than any inter-digit delay yet received, step 450 makes the current delay the longest delay and stores the delay value to RAM. Flow then proceeds as described above until the user has entered all digits needed to dial the voicemail service provider's number.
Recall that the user has been entering digits via the CPE, which is off hook and connected to the public telephone lines in parallel with the TAD. This means that as soon as the user has dialed the appropriate number of digits to connect with the voicemail service provider, the provider's answering equipment will respond. Recall also that at this point in the flow, the delay timer in step 436 has been started. This means that for the length of time it takes for the voicemail service provider's equipment to answer the incoming call and play the prompt to the user the timer has been active and the TAD is waiting for the next digit. Upon hearing the prompt from the service provider, the user enters the first digit of the PIN. The delay timer is stopped and the comparison of the inter-digit delay at step 448 is again made. Since the delay between the last digit of the service provider's number and the first digit of the PIN will necessarily be the longest yet, it will be the delay value stored in RAM at step 450. It is at this point that the method of the present invention has stripped out all random inter-digit delays associated with dialing the remote voicemail service provider (325 and 335 in Fig. 3B) resulting from human mechanics.
Having entered the first digit of the PIN, flow again returns to step 434 where the next RAM address is set. The process continues in the same manner as described above except that now the user is entering digits that represent the security PIN. Since no random inter-digit delay encountered by the TAD while the user is entering the PIN data will be longer than the connection delay time, once again the TAD strips the random delay and groups all incoming digits into a PIN data set in RAM.
Looking now at Fig. 4C, once the PIN has been entered the user opens the programming switch and flow is transferred to step 460 via the "Yes" decision in step 454. In step 460 a final check is made to determine if enough digits have been received to form a valid outbound telephone number. If the answer is no, either a mistake has been made or the user has aborted the programming session, the line is released at step 464 and flow is returned to the main program idle loop via connector C 430.
If the proper number of digits has been received flow tranfers to step 462 where the temporary contents of RAM, including the outbound telephone number, the connection delay, and the user PIN, are written to the EEPROM. Step 464 then releases the telephone line from the TAD and returns control to the main program idle loop via connector C 430. At generally the same time the user places the CPE on hook releasing the public telephone line. In this way the method of the present invention has now "learned" the outbound connection signal characteristics needed to automatically connect to the remote voicemail service. Connectors A 424 and B 456 provide outgoing and return paths respectively to Fig. 4C and are discussed in detail in conjunction with that figure below.
Once the proper data sets and delays have been stored in EEPROM an automatic connection to the remote voicemail server can be made by pressing a single button. The combination of Figures 5 A, 5B and 5C form a flowchart 500 of the automatic connection operation, which describes in detail how the method of the present invention connects to a remote voicemail service provider. The routine is entered from the main program idle loop at step 510. At step 515 a determination is made as to whether the Dial V-mail switch on the TAD is closed, indicating that user desires to make an outbound call to the remote voicemail server. If the answer is no, then control returns to the main program idle loop at step 560. If the answer is yes, then at step 520 the memory address of the number to be dialed is fetched from EEPROM. Step 525 loads the outbound telephone number into the dial buffer and in step 530 a decision is made as to whether the line is already in use. If the line is not in use the flow transfers to step 532 where the TAD seizes the line. In step 534 the TAD speaker is activated and in step 535 an eight second timer is started. The eight second time delay is used since this is what is required to ensure that telephone company central office equipment can detect the off-hook condition of the user's TAD, locate an available channel, and return a dial tone to the user's TAD with an approximately 99.9% success rate. In step 540 a check is made for a dial tone and, if present, flow transfers to step 550 via connector 555 in Fig. 5 A to identical connector 555 in Fig. 5B. However, if no dial tone is present flow transfers to step 545 where a check is made to determine if the eight second timer has expired. If the timer has not expired flow returns to step 540 to determine if the dial tone is now present and flow progresses as above. If the timer has expired flow transfers to step 550 via connector 555 in Fig. 5A to identical connector 555 in Fig. 5B and the number in the dial buffer is dialed. Returning to step 530, if the line is already in use there is no need to seize the line, activate the speaker and check for a dial tone, thus flow transfers to step 550 via connector 555 in Fig. 5A to identical connector 555 in Fig. 5B. Connector C 596 provides a return path for the clean-up operation 593 in Fig. 5C and is discussed in detail below with that figure.
Continuing with Fig. 5B, once the outbound number has been dialed in step 550, the proper connection delay stored in EEPROM is fetched in step 558. In step 560 the connection delay timer is started. Step 565 determines if the connection delay timer has expired and, if the time has not expired, the flow loops on step 565 until it has. Once the connection delay timer has expired flow transfers to step 568 where the user's security PIN is fetched from EEPROM. Step 570 outputs the PIN to the remote voicemail service equipment and flow transfers via connector 575 in Fig. 5B to identical connector 575 in Fig. 5C. Steps 580 and 583 form a decision tree that determines if the user has completed the voicemail session. In step 580 the Dial V-mail switch is checked to see if it is open, which is the normal case during an active voicemail session. If it is not, the user may have inadvertently pressed the switch, thus the process will loop until the open condition is detected. In step 583 the process checks for a closed condition indicating that the user has finished the voicemail session and has pressed the Dial V- mail switch in order to disconnect from the remote voicemail equipment. The reason that the two stage decision of steps 580 and 583 is required is that the Dial V-mail switch is of the momentary contact type. Further, the switch is used for both initiation and termination of a voicemail session. Thus in the case of step 515 in Fig. 5A, initiation of a session, only a switch closure check need be made since the step was entered from the main program idle loop. However, in the case of a termination closure, both the open and closed states must be checked for the reason stated above.
Once a closed switch condition is detected in step 583 the process transfers to step 586 where the TAD speaker is deactivated. Then, in step 590, the telephone line is released and in step 593 the process accomplishes a cleanup and reset of variables in preparation for the next session. Note that the exact details of the clean-up and reset operation have no bearing on the invention and are thus not discussed in detail, but, note also that these operations are accomplished by programming methods well known to those skilled in the art. In step 596 the flow is returned to the idle loop via connector C to identical connector C in Fig. 5 A.
While the above detailed description provides exemplary details of the preferred embodiment of the present invention, it will be clear to those skilled in the art that other embodiments are possible, thus the scope of the present invention is limited only by the claims. For example, the preferred embodiment of the present invention is a TAD, but as was mentioned above, it could just as easily be a PC or a CPE. Similarly, the specific process flow of the preferred invention is exemplary in nature, and other flows could be envisioned which accomplish the same result without departing from the spirit of the present invention.
One advantage of the present invention is the ability to accommodate different regional operating environments by compensating for different voicemail service answering delays. The time it takes for a voicemail service to answer varies from region to region, thus a constant preset delay in the user's voicemail device would fail in many cases. Thus one benefit of the present invention is the ability to adjust to different regional delays. A second advantage of the present invention is the ability to distinguish which of the delays inherent in forming a valid outbound connection are random and which are ordered. The method of the present invention accepts and compares incoming data in a way such that the random delays are stripped. This provides proper contiguous sets of number and time delay data to be used for accurate automatic connection to a remote equipment. A third advantage of the present invention is the ability to learn not only an outbound telephone number, but in addition an associated connection time delay. This combination of data enables the present invention to relieve the user of repetitive keystrokes leading to a great reduction in erroneous dialing. A fourth advantage of the present invention is the ability to preprogram personal identification data as well as the voicemail service access number and associated connection delay. By having the ability to learn multiple data sets, the user can dial the voicemail service number, wait for the service to answer, then enter the personal identification data and hang up. In so doing, the voicemail access device stores the service access number, the connection delay and the personal identification number. The user then simply depresses the dedicated voicemail access button and the device automatically connects to the service.
Thus a fifth advantage of the present invention is the ability for a user to automatically connect to a remote voicemail service with the single press of a button. While obviously an increase in efficiency, the greatest benefit is the reduction in dialing errors with an attendant increase in percentage of successful connections.

Claims

WHAT IS CLAIMED IS:
1 A method of automatically connecting a user voicemail device to a remote voicemail service, said method comprising the steps of: connecting a user voicemail device to a remote voicemail service with a sequence of connection signals; storing said connection signals; recalling said connection signals in response to a dial demand; and reconnecting to said remote voicemail service with said connection signals.
2. The method of claim 1 wherein said connecting step includes the step of connecting a user voicemail device to a remote voicemail service with a sequence of connection signals with at least one data set and at least one processing pause signal.
3. The method of claim 2 wherein said connecting step includes the step of connecting a user voicemail device to a remote voicemail service with a sequence of connection signals including a first data set representing a remote voicemail service provider destination number.
4. The method of claim 3 wherein said connecting step includes the step of connecting a user voicemail device to a remote voicemail service with a sequence of connection signals including a processing pause signal creating a time delay corresponding to the amount of time required for said remote voice mail service to respond to the dialing of the last digit of said remote voicemail service provider destination number.
5. The method of claim 4 wherein said connecting step includes the step of connecting a user voicemail device to a remote voicemail service with a sequence of connection signals including a second data set representing a user security code.
6. The method of claim 1 wherein said connecting step includes the step of connecting a user voicemail device to a remote voicemail service with a sequence of connection signals in the form of DTMF tones.
7. A voicemail access device, comprising: a learning mode switch to engage a learning mode; a telephone interface circuit to receive a first data set representing a telephone number of a remote voice mail service provider; a memory; and a control circuit connected to said learning mode switch, said telephone interface circuit, and said memory, said control circuit being configured to: identify said learning mode and in response thereto, route said first data set to said memory, dial said telephone number, measure a processing pause corresponding to the amount of time required for said remote voice mail service to respond to the last digit of said telephone number, store said processing pause in said memory, and terminate said leaning mode.
8. The voicemail access device of claim 7 wherein said telephone interface circuit receives a second data set representing a security code, said control circuit being configured to route said second data set to said memory prior to terminating said learning mode.
9. The voicemail access device of claim 8 wherein said control circuit is configured to recognize a dial demand and in response thereto facilitate the dialing of said telephone number.
10. The voicemail access device of claim 9 wherein said control circuit is configured to invoke said processing pause after said telephone number is dialed.
11. The voicemail access device of claim 10 wherein said control circuit is configured to dial said security code after said processing pause.
12. A computer readable memory to direct a digital device to function in a specified manner, comprising: a learning mode module to identify a sequence of connection signals used to enter a remote voicemail service; and an invoke module to implement said sequence of connection signals to enter said remote voicemail service.
13. The computer readable memory of claim 12 wherein said learning mode module identifies a sequence of connection signals with at least one data set and at least one processing pause signal.
14. The computer readable memory of claim 13 wherein said learning mode module identifies a sequence of connection signals including a first data set representing a remote voicemail service provider destination number.
15. The computer readable memory of claim 13 wherein said learning mode module identifies a sequence of connection signals including a processing pause signal representing a time delay corresponding to the amount of time required for said remote voice mail service to respond to the dialing of the last digit of said remote voicemail service provider destination number.
16. The computer readable memory of claim 13 wherein said learning mode module identifies a sequence of connection signals including a second data set representing a user security code.
17. The computer readable memory of claim 13 wherein said learning mode module identifies a sequence of connection signals in the form of DTMF tones.
PCT/US2000/035424 1999-12-29 2000-12-28 Method for automatic access to a voicemail service including determination of proper number data and time delay WO2001049016A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47411799A 1999-12-29 1999-12-29
US09/474,117 1999-12-29

Publications (1)

Publication Number Publication Date
WO2001049016A1 true WO2001049016A1 (en) 2001-07-05

Family

ID=23882251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/035424 WO2001049016A1 (en) 1999-12-29 2000-12-28 Method for automatic access to a voicemail service including determination of proper number data and time delay

Country Status (1)

Country Link
WO (1) WO2001049016A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851718A1 (en) * 2003-02-24 2004-08-27 Thomas Renaudin Telephone terminal e.g. mobile phone, has measuring unit to measure time separating two successive actions of triggering off sending one code during connection, and recording unit recording codes to be composed in memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935954A (en) * 1988-12-28 1990-06-19 At&T Company Automated message retrieval system
US5638424A (en) * 1994-11-30 1997-06-10 Texas Instruments Incorporated Telephone voice mail delivery system
US5822405A (en) * 1996-09-16 1998-10-13 Toshiba America Information Systems, Inc. Automated retrieval of voice mail using speech recognition
US5991366A (en) * 1996-11-07 1999-11-23 Lucent Technologies Inc. Telephone information retrieval system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935954A (en) * 1988-12-28 1990-06-19 At&T Company Automated message retrieval system
US5638424A (en) * 1994-11-30 1997-06-10 Texas Instruments Incorporated Telephone voice mail delivery system
US5822405A (en) * 1996-09-16 1998-10-13 Toshiba America Information Systems, Inc. Automated retrieval of voice mail using speech recognition
US5991366A (en) * 1996-11-07 1999-11-23 Lucent Technologies Inc. Telephone information retrieval system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2851718A1 (en) * 2003-02-24 2004-08-27 Thomas Renaudin Telephone terminal e.g. mobile phone, has measuring unit to measure time separating two successive actions of triggering off sending one code during connection, and recording unit recording codes to be composed in memory

Similar Documents

Publication Publication Date Title
US6038443A (en) Calling party announcement apparatus
US6295341B1 (en) Network based voice mail with call screening
US4916726A (en) Telephone answering service with integrated voice and textual message storage
US5469491A (en) Telephone answering service with integrated voice and textual message storage
US5309504A (en) Automated identification of attendant positions in a telecommunication system
US6067349A (en) Dialing using caller ID
EP0588101A2 (en) Message storage and retrieval systems employing selective caller processing
JPH0566780B2 (en)
US6542751B1 (en) Multi-mode paging system
US6882719B2 (en) Method for providing outgoing call reservation service in exchange system
KR100395276B1 (en) A communication system for exchanging information between a computer and a communication switching system
US5572577A (en) Information system for a PABX
CA2138069C (en) Screen-based telephone set for interactive enhanced telephony service and method of operating same by microprocessor control
AU727253B2 (en) Method of and apparatus for establishing call forwarding service for subscriber's telephone terminal in switching system with verification function
US6603846B1 (en) Methods and devices for selecting preferred call back numbers using CID data
JPH08502873A (en) Circuit and method for automatic memory dial operation
US7221741B1 (en) Dialing using caller ID
US7218717B2 (en) Method, system, and article for audibly identifying a called party
US6396918B1 (en) Method for forwarding a call to a telephone behind a key telephone system
WO2001049016A1 (en) Method for automatic access to a voicemail service including determination of proper number data and time delay
AU723629B2 (en) Apparatus and method for providing music-on-hold service in key telephone system
US6879675B2 (en) Toll saving call feature from a remote site to initiate a call through a CPE that supports 3 way calling
JPS6128268A (en) Automatic selector of terminal
US7286493B1 (en) Network-based notification of voice mail
JPH04237298A (en) Electronic key telephone set

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): BR MX

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)