MXPA99000259A - Intelligent telephone inalambr - Google Patents

Intelligent telephone inalambr

Info

Publication number
MXPA99000259A
MXPA99000259A MXPA/A/1999/000259A MX9900259A MXPA99000259A MX PA99000259 A MXPA99000259 A MX PA99000259A MX 9900259 A MX9900259 A MX 9900259A MX PA99000259 A MXPA99000259 A MX PA99000259A
Authority
MX
Mexico
Prior art keywords
telephone device
telephone
user
recorder
facsimile
Prior art date
Application number
MXPA/A/1999/000259A
Other languages
Spanish (es)
Inventor
J Johnson William
Original Assignee
Mci Communications Corporation
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 Mci Communications Corporation filed Critical Mci Communications Corporation
Publication of MXPA99000259A publication Critical patent/MXPA99000259A/en

Links

Abstract

A telephone device (100) that allows a user to perform data processing functions. The functions of data processing include calculator, recorder, data transmission, facsimile and answering device functions. A macro function is further provided to activate an invokable sequence of telephone buttons (104) to be defined by the user. Telephone calls can be received and processed (112) while the telephone device is in an offline mode. The functionality can be updated or added to the telephone device by downloading computer programs (122, 120) into the telephone network.

Description

WIRELESS INTELLIGENT TELEPHONE Background of the Invention 1. Field of the Invention The present invention relates to a telephone device. More particularly, the present invention relates to a telephone device configured to be used in a wireless or cellular network. Still more particularly, the present invention relates to a telephone device that includes a computer system that enables the telephone device to perform data processing functions. 2. Related Technique Telephone communication is an integral part of the business and personal life of most individuals in today's society. With the arrival of wireless or cell phones, many individuals carry a phone on their person, or have a phone in their cars. However, to perform tasks with that conventional telephone requires that a call be established with a service provider to perform those tasks. The types of tasks or functions that the telephone can perform are limited, consequently, to the services offered by the service provider. For example, the Sprint SpectrumSM Service provides an answering machine service. However, to retrieve the messages from the answering machine, a call must be established with the service provider. In addition, the speed or efficiency to perform these functions depends on the service provider, and service bottlenecks may occur. Many individuals also routinely carry a calculator to perform different types of calculations. For example, a real estate agent would normally have a calculator to perform some calculations regarding the price or percentages of interest to buy a house. A real estate agent would also routinely carry a telephone in order to maintain contact with buyers and sellers. Some individuals routinely carry a personal recorder or dictation machine, so that recordings or notes can be made at any time. Some individuals also routinely require access to a device to send and receive facsimile messages. However, a single device is not available to allow a user to make and receive telephone calls, use a calculator, make recordings on a tape recorder, and send and receive faxes. Therefore, there is a need in the art for a single device that is capable of providing telephone communication, as well as performing other functions or different tasks that an individual routinely requires.
SUMMARY OF THE INVENTION In one embodiment, the present invention is a telephone device that includes a connection circuit for connecting the telephone device to a network, or for enabling it to receive and initiate telephone calls through the network. The telephone device also includes a computer system for controlling the telephone device, to allow the user to perform data processing functions. The computer system may include a processor, data elements for transmitting and receiving data through the network, and a memory device for storing software programmers, or software used to control the processor. The telephone device includes elements to accept input from a user; the input is implemented through user interconnection interruption vectors, which allow the processor to operate the telephone device to perform data processing functions selected by the user. A status message may be provided on the network, so that telephone calls can be received while the telephone device is in offline mode. The telephone device may also include an answering device to play an output message when a telephone call that is entering after a predetermined number of rings is not answered. You can also set the phone device with a recorder to record an audible message, and a playback device to reproduce the audible message. In another embodiment of the present invention, the telephone device is equipped with calculation elements to configure the telephone device to function as a calculator. The telephone device may also be equipped with facsimile elements to receive and transmit facsimile messages through the network. The telephone device may also include macro elements to define an invokable sequence of telephone buttons. In still another embodiment of the present invention, there is provided a method for controlling the operation of a telephone device, for the purpose of installing telephone device processing software. The method to control the operation to perform the installation includes: establishing a connection between the telephone device and a software provider through a network; Download the logic software program from the software provider inside the telephone device, to control a processor; and installing user interconnection interrupt vectors in a memory device coupled to the processor. The user interconnection interrupt vectors are used to enable appropriate processing that is associated with the key operation of the corresponding user interconnection telephone. The user interconnection interruption vectors are used in the configuration of the telephone device to perform data processing functions selected by a user. In still another embodiment of the present invention, a method for processing a telephone call by a telephone device is provided. This process includes: determining if the telephone device is in an offline mode; answer the phone call if the telephone device is in offline mode; and ring a bell if the telephone device is not in offline mode. After answering the phone call, when in offline mode, if a facsimile tone is detected, a facsimile is processed. If a facsimile tone is not detected, a response device sequence is initiated. After ringing a ringer, if the telephone device is not in offline mode, a received call processing sequence is initiated, if the telephone call is not answered after a predetermined number of rings. In yet another embodiment of the present invention, there is provided a method for controlling the operation of a telephone device including: receiving a sequence of telephone buttons that initiates an off-line mode, which allows a user to perform data processing functions; and configure the telephone device to perform data processing functions selected by the user. A hanging status message can be sent to a telephone network switch, so that telephone calls can be received while the telephone device is in an off-line mode. Data processing functions can include recorder functions to record a new recording, to play a recording, to erase a record corresponding to a recording, or to review through a configuration or stored record index table. Data processing functions may also include facsimile functions to send a facsimile. The facsimile sent may be a facsimile previously received by the telephone device, or it may be a talk recording.
Features and Advantages It is a feature of the present invention that the telephone device operates in an off-line mode that allows a user to perform off-line functions. It is another advantage that Phone calls can be received and processed while the phone device is in offline mode.
It is another feature of the present invention that functionality can be updated or added to the telephone device by software downloaded through a telephone network from a software provider. It is still another feature of the present invention that the telephone device performs the function of an answering device, with the messages entering recorded and stored in the telephone device itself, this eliminates the need to make a separate call to a service provider to review or retrieve recorded messages. It is still another feature of the present invention that the telephone device operates as a recorder in off-line mode, to allow a user to make recordings. It is another feature of the present invention that it operates as a recorder in online mode, to allow a user to record one or both sides of a telephone call. It is still another feature of the present invention that the telephone device provides reception and transmission of facsimiles or data. It is still another feature of the present invention that the telephone device can be configured to function as a calculator. It is another feature that the telephone device can play and previously save recordings (recorded messages or from the answering device) in offline mode, or play back on one or both sides of a telephone call. It is an advantage of the present invention that all recordings, including the recordings of the incoming answering machine, are stored in the telephone device itself. All recordings can be reviewed using only the telephone device, without having to make a call to a service provider. It is another advantage of the present invention that a device can perform a multitude of functions, including, for example, initiating and receiving telephone calls, as well as functions of calculator, recorder, facsimile, and answering device. It is still another advantage of the present invention that facsimile messages can be received or transmitted while a telephone call is in progress. It is still another advantage of the present invention that custom macros can be defined for the automatic pressing of the telephone buttons, to automatically navigate through the customer service or automatic response unit menus.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention is described with reference to the accompanying drawings. In the drawings, the same reference numbers indicate identical or functionally similar elements. Additionally, the digit (s) furthest to the left of a reference number identifies the drawing in which the reference number first appears. Figure 1 shows a telephone device of the present invention, configured to download software. Figure 2 shows one embodiment of a schematic of the telephone device of the present invention. Figure 3 shows a flow chart for downloading software to the telephone device of the present invention. Figure 4 shows a flow diagram for operating the telephone device of the present invention in an online mode. Figure 5 shows a flow diagram for putting the telephone device of the present invention in an off-line mode. Figures 6a and 6b show a flow chart for receiving a call from a switch. Figure 7 shows a flowchart for inspecting a user's selection of off-line functions.
The Figures 8a to 8e show flow charts for configuring the telephone device of the present invention to function as a calculator. Figures 9a to 9e show flowcharts for configuring the telephone device of the present invention to function as a recorder. Figures 10a to 10d show flow diagrams for configuring the telephone device of the present invention to function as a device for transmitting and receiving facsimiles. Figure 11 shows a flow chart for specifying a reply output message. Figure 12 shows a flow diagram for configuring the telephone device of the present invention to function as an answering device for recording a message. Figures 13a to 13g show flowcharts for configuring the telephone device to store and execute sequences of keystrokes defined by the user.Detailed Description of Modalities 1. General View The telephone device of the present invention is configured to operate as a wireless telephone device to receive and initiate telephone calls through a network. This network can be a digital or analog network, such as a cellular telephone network made available by a service provider. The telephone device of the present invention also contains a computer system that allows the telephone device to perform data processing functions, including functions in an off-line mode. Technology is producing smaller and faster parts. It is possible to manufacture data processing systems within small devices, such as a telephone device. Telephone calls can be received while the telephone device of the present invention is in an off-line mode. These data processing functions may include, for example, functions of calculator, recorder, facsimile, and answering device. Another function that is operated at any time (online or offline mode) includes a macro function that allows you to define an invokable sequence of buttons on your phone. The user can define the invokable sequence. In order to perform the data processing functions, the telephone device of the present invention is preferably configured with a processor, one or more memory devices, and data elements for transmitting and receiving data through the network. The processor is controlled by software programmers or software that is stored in a memory device. The software can be downloaded via the network to the telephone device of the present invention by means of telephoning a software provider. This allows updating the software, and adding additional functionality to the telephone device. When configured to operate as a recorder, key keys are provided in such a way that the user can change the recording mode during a call, or in offline mode. Other recording functions, as described below, operate only in offline mode. When configured as an answering device, the telephone device of the present invention answers incoming calls while the telephone is in offline mode, or if the telephone call is not answered at a predetermined number of rings. The telephone device of the present invention also functions as a facsimile device. For link facsimile messages, the telephone device works in a similar way to an answering device, but facsimile processing starts automatically when the fax tone is detected. Facsimile messages or previously received voice recordings can be transmitted as a facsimile message. The telephone device of the present invention can also be configured to operate as a calculator in off-line mode. A key key, for example, you can use the cat prefix (#) to enter the calculator mode. In an alternative embodiment of the present invention, a key key allows a user to enter the calculator mode during a telephone call, to allow both parties to listen to the results of a particular calculation. 2. Description of the Telephone Device Figure 1 shows a telephone device of the present invention which will also be referred to herein as a "Smart Phone". The telephone device is configured as a microtelephone apparatus 100 that includes an antenna 102, a keyboard 104, a speaker 106, and a microphone 108. Alternatively, the microtelephone apparatus 100 may also include a visual display to visually display alphanumeric characters, or graphics, for a user. Internal to the microtelephone apparatus 100 is a computer system 110 which includes a processor 112 having a central processing unit (CPU) 114 and a main memory 116. A modem 119 is included to transmit and receive data through the network. A direct access storage device (DASD) 118 or equivalent secondary memory capable of long-term non-volatile storage is provided, such as a hard drive. The direct access storage device 118 can store software or software program logics, as well as other data generated through the operation of the telephone device. As shown in Figure 1, the software 122 can be downloaded to the microlephonic apparatus 100 from the software provider 120 through the network. In Figure 2 a schematic embodiment for the telephone device of the present invention is shown. The central processing unit (CPU) 114 is connected to a digital bus 214. The digital bus bar 214 is a communication busbar to which the different components shown in the schematic of Figure 2 are connected. Three memory or storage devices are connected to the digital bus 214. The first memory or storage device is the direct access storage device 118. The second memory or storage device is a direct access memory (RAM) 218. The third memory or storage device is a read-only memory (ROM) 216. The logic of the computer program or software is stored in the device 118. direct access storage, and / or RAM 218, and / or ROM 216. These computer programs, when executed, allow computer system 110 to perform the features of the present invention, as described herein. . In particular, computer programs, when executed, allow the central processing unit 114 to perform the features of the present invention. In accordance with the foregoing, these computer programs or software represent controllers of the computer system 110. The telephone device of the present invention includes a connection circuit for connecting the telephone device to a network, to enable the telephone device to receive and initiate telephone calls through the network. In the preferred embodiment, the connection to the network is a wireless connection, such as in a cellular telephone system. It will be apparent to a person skilled in the relevant art that the telephone connection can alternatively be a wired line connection. As shown in Figure 2, antenna 102 receives radio frequency (RF) signals. A circulator 202 is provided to avoid mixing the radio frequency signals that are going out with the radio frequency signals that are entering the antenna 102. The radiofrequency signals received by the antenna 102, denoted by the reference number 290 in the Figure 2, are input to a receiver 260. The receiver 260 converts the radio frequency signal 290 to an analog signal carried on an analog reception line 261. The analog reception signal on the analog reception line 261 is input to the speaker 106. Similarly, an analog signal carried on an analog transmission line 251 is input from the microphone 108 to a transmitter 250. The transmitter 250 converts the analog transmission signal from the analog transmission line 251 to the radio frequency output signal 280, which is transmitted by the antenna 102. As shown in Figure 2, the keyboard 104 is connected to the digital bus bar 214 by means of a keyboard array interconnection 204. The keyboard array interconnection 204 inspects the pressure of the telephone buttons on the keyboard 104 by the user. The keyboard matrix interconnect 204 is not enabled unless the telephone device is off-hook, or the telephone device is in an off-line mode, which will be better described later. When the keyboard array interconnection 204 determines that the user has pressed the telephone buttons on the keyboard 104, the sequence of the pressed buttons of the telephone is sent to the central processing unit 114. This is achieved through the use of an interruption requirement, identified in Figure 2 as IRQ on a line 205 connecting the keyboard matrix matrix interconnection 204 to the digital collector bar 214. The central processing unit 114 processes the sequence of keys that were sent to it by the keyboard matrix interconnection 204, and maps the sequence of buttons of the telephone to the command or function selected by the user. The connection circuit of the telephone device also includes a tone detector 222, connected to the digital bus bar 214. The tone detector 222 is intercepted in the analog reception signal of the reception analog line 261 in the lead 263. The tone detector 222 inspects the analog reception signal on the reception analog line 261 to detect a facsimile tone, to determine if the reception signal corresponds to a facsimile that enters or to a telephone call. The tone detector 222 is particularly useful in the mode where the transmitter 250 and the receiver 260 are shared between the modem 119 and other telephone processes. A signal detector 228 is connected to the digital pick-up bar 214 to receive the analog signal from the analog reception line 261 in a lead 264. The signal detector 228 detects a unique identifier, the central processing unit 114 commands a ring 224 ring, indicating that a telephone call is being sent to the telephone device. While the bell 224 is ringing, the central processing unit 114 inspects to receive an off-hook detection from a hanging / off-hook detector 226. If the user picks up the telephone, the on / off detector 226 sends a off-hook message to the central processing unit 114. The off-hook message is sent to the central processing unit by an interruption, noted in Figure 2 as IQR on a line 227, by connecting the hanging / off-hook detector 226 to the digital collection bar 214. The signal detector 228 also detects when the incoming radio frequency signal 290 has finished, such as when the other party has hung. An alternative embodiment can eliminate the tone detector 222 by performing the tone detection as part of the processing with the signal detector 228. A tone / signal generator 229 is connected to digital bus bar 214 to transmit one. analog signal on the analog 251 transmission line in a bypass 253. The tone / signal generator 229 is used to generate a tone / signal that is transmitted as radio frequency by the transmitter 250. The tone / signal generated by the tone generator 229 / signal is used to dial the digits of a telephone number, to end a telephone session, and to change the status from off-hook to on-hook, to allow the telephone device to receive another call. In order to allow the user to hear his own voice in the speaker 106, a sidetone connection of the microphone 108 to the speaker 106 is provided. The voice signal from the telephone user is muffled, and mixed with the signal that is being received from the other party. To do so, a bypass 255 is made in analog transmission line 251. The lateral tone signal is then damped through element 208, and sent through a switch 206 to receive the analog signal of line 261. analog reception in a lead 268. In this way, a user who listens to the speaker 106 will hear both his own voice and the voice of the party he is calling in. The amplifiers and filters necessary to achieve the mix have been omitted for clarity of the signals, and will be readily apparent to a person skilled in the relevant art. In order to make recordings, the telephone device of the present invention is equipped with an analog-to-digital (A / D) converter 242 which is connected to the digital collector bar 214. The analog-to-digital converter 242 is used to convert analog signals to digital signals that can be stored or recorded in the device. Direct access storage 118 or RAM 218. Direct access storage device 118 and RAM 218 function as well as audible message recorders. To record a message generated by the user, the user speaks in the microphone 108. This analog signal is accessed in a lead 257 in the analogue transmission signal of the analog transmission line 251. The intercepted signal is then sent from the bypass 257, through a switch 241, to the analog-to-digital converter 242, via a bypass 243. To record a different part to the user, or both to the user and to the user. connected part by telephone, a branch 265 is provided to receive the analog signal of the analog reception line 261. The intercepted signal is sent by a switch 240 and bypass 243 to analog-to-digital converter 242. In this way, the operation of the central processing unit 114 of the switch 240 and the switch 241, allows off-line recording, for the recording of one or both sides of a telephone call. The telephone device of the present invention can also play messages that have been recorded. To do this, a digital-to-analog converter 244 (D / A) is provided. To play a recording that the user hears through the speaker 106, the signal is sent from the digital-to-analogue converter 244, through a lead 247 and a switch 246 into the analog reception signal 261 in a lead 267. Then the intercepted signal is sent to the speaker 106, in such a way that the user can hear it. To allow a part other than the user to listen to the reproduced recording, the signal is sent from the digital-to-analogue converter 244, through the bypass 247 and a switch 245, to transmit the analog signal on the analog line 251 of transmission in a bypass 254. Then the signal is transmitted to the other party by transmitter 250. A clock 220 is connected to digital bus 214. The clock 220 is used to provide a date and time stamp for the different recordings made by the telephone device of the present invention. A battery (not shown) ensures that clock 220 continues to operate. To facilitate the sending and receiving of data, such as software or software program logics, and facsimile messages, modem 119 is provided. Modem 119 is connected to digital bus bar 214 via a modem interconnect 270. The modem interconnect 270 functions as a data interconnection between the digital collection bar 214 and the modem 119. Alternatively, the modem 119 may be wired to the digital collection bar 214. The interconnection 270 of the modem is connected on a transmitting side of the modem 119 to a modulator module 235. The modulator module 235 is connected to a transmitter module 236 and a transmitter synthesizer 237. The transmitter module 236 is connected to an external radiofrequency line 231. The external radiofrequency line 231 is connected by a switch 232 to the external radio frequency signal 280 in a lead 252. The data to be transmitted outside the telephone device by the modem 119 are retrieved from one or more of the memory devices or storage, and sent by digital bus bar 214 to the interconnection 270 of the modem. Then the data to be sent is sent from the interconnection 270 of the modem to the transmitting side of the modem 119, where these are converted to a radio frequency signal. The modem 119 also includes a receiver side having a demodulator module 238, which is also connected to the interconnect 270 of the modem. A receiving module 239 and a receiving synthesizer 230 are connected to the demodulator module 238. The radiofrequency signals to be received by the modem 119 are accessed in the radio frequency lead 262 in the signal 290. This radio frequency signal is sent by a switch 234 to a radio frequency on the line 233 connected to receive the module 239. The side The modem reception means 119 converts the radio frequency signal that enters digital data that is sent, through the interconnection 270 of the modem, to the digital collection bar 214 for storage in one or more of the memory storage devices. In the embodiment shown in Figure 2, the modem 119 uses a transmitter and a receiver separate from the transmitter 250 and the receiver 260. In the preferred embodiment, the transmitter module 236 of the modem 119 operates at a frequency different from the frequency of the transmitter. operation of the transmitter 250. In the same way, the reception module 239 of the modem 119 operates at a frequency different from the operating frequency of the receiver 260. This allows the simultaneous use of the telephone device to transmit and receive messages by means of the modem 119 while is in a telephone call using the transmitter 250 and the receiver 260. Accordingly, a user can send or receive a fax message while in a telephone call. To implement this feature, the modem 119 is preferably configured as shown in Figure 2, between the circulator 202 and the transmitter 250 / receiver 260 that are used for telephone calls. In an alternative embodiment, the modem 119 may be configured to use the transmitter 250 and the receiver 260. In yet another embodiment, a separate modem is not provided, and the modem functionality is provided by software. In that embodiment, the transmitter 250 and the receiver 260 are used to transmit and receive facsimile messages. Consequently, this mode does not allow facsimile messages to be transmitted or received while a telephone call is in progress.
However, this mode may be convenient due to the reduced cost and reduced size of the telephone device. In the embodiment shown in Figure 2, the central processing unit 114 provides standard bus concrol through the devices connected to the digital collection bar 214. It will be understood that when the switches shown in Figure 2 are closed, the switch is in an "on" state. When the switches shown in Figure 2 are open, the switch is in an "off" state. All the switches are controlled by the central processing unit 114, through the digital collection bar 214 (connection of the switches to the digital collection bar 214 is not shown). Now the status of the different switches for the operation of the telephone device will be described. It is assumed that all switches are open, except as indicated in the following descriptions. When the telephone device is energized and ready to receive a call, the switches shown in Figure 2 are open, that is, in an off state. The signal detector 228 is in an inspection mode, inspecting for its unique identifier to be closed over the appropriate radio frequency signal. When the signal detector 228 detects the unique identifier, the signal is closed and the central processing unit 114 causes the bell 224 to start ringing. While the bell 224 is ringing, the central processing unit 114 is waiting for an off-hook interruption requirement from the hang-up / off-hook detector 226, indicating that the telephone has been answered. If an off-hook interruption requirement is not detected at a previously determined number of rings, a received call processing sequence will be initiated. The call is answered and an outgoing message is retrieved from the direct access storage device 118. The digital file corresponding to the output message is sent to digital-to-analog converter 244, which converts the output message to an analog signal. The switch 245 is closed, and the analog output message is sent to the transmitter 250, where it is converted to a radio frequency signal that is transmitted outside the party at the other end of the telephone call. Switch 256 is opened to ensure that no noise is mixed with the output message. In a preferred embodiment, switch 246 remains open, while switch 245 is closed to reproduce the output message to the other party. Alternatively, the switch 246 can be closed at the same time that the switch 245 is closed. By closing the switch 246, the output message could be reproduced through the speaker 106 at the same time that it is being transmitted to the the part on the other end of the line. In the same way, the switch 266 can be opened to ensure that no input signal is transmitted to the speaker 106. The output message preferably ends with a "beep" indicating the person at the other end of the line leave a message Once the short sound is emitted, switch 245 is opened which turns off this switch. The digital-to-analog converter 244 is also turned off. The switch 240 is then opened and the analog-to-digital converter 242 is turned on. The message to be recorded is received as the analog reception signal on the analog reception line 261, and is routed to the analog-to-digital converter 242, via the switch 240. The analog signal is then converted by the analog-to-digital converter 242 to a digital file that is recorded in the direct access storage device 118 or RAM 218. Preferably, the recording continues for a pre-determined and configurable amount of time. The recording is cut after a set amount of time (for example, 30 seconds or 45 seconds) to conserve disk space. To cut the recording, the switch 240 is opened. A signal is generated by the tone / signal generator 229 to terminate the telephone call, and puts the telephone device on-hook, to allow it to receive another telephone call. The switch 266 can be opened to ensure that no input signal is transmitted to the speaker 106. When a user answers a call, the user answers before the specified number of rings, which puts the telephone device off-hook. The switch 266 is closed in such a way that the signal received in the speaker 106 can be heard. The switches 256 and 206 are then closed substantially simultaneously. In this way, bidirectional analog signals are sent through the microphone 108 and the speaker 106 to the person at the other end of the telephone call. The user of the telephone device of the present invention can listen not only to what the party at the other end of the telephone call is saying, but also what he is saying as well. The telephone call may be terminated either by the user of the telephone device of the present invention, or by the party at the other end of the telephone call. If the other party terminates the call, the signal detector 228 detects that the received signal has been terminated, indicating that the other party has hung up. Alternatively, the user of the telephone device of the present invention can terminate the telephone call by placing the telephone device on the hook. Then the tone / signal generator 229 generates a tone signal terminating the telephone call. Once either party ends the telephone call, the telephone device is in a hung state, and then the switches are placed in an open state. As explained more fully in Section 3 below, the telephone device of the present invention can be put in an off-line mode that allows the user to perform off-line functions. To ensure that telephone calls can be received while the telephone device is in an offline mode, the network should think that the telephone device is on-hook, and ready to receive a call. Once the user picks up the microtelephone apparatus 100 to perform off-line functions, the network thinks that a call will be established, and identifies the telephone device as being off-hook. Therefore, a signal is sent to the network to indicate that the telephone device has been hung, even if it is not, and will be used in an off-line mode. A status message is provided hanging on the network, such that the network thinks that the telephone device is hung, so that the telephone device can receive telephone calls while in offline mode. A user of the telephone device of the present invention can make a recording using off-line recorder functions. When the user selects this feature, switch 241 is closed, and analog-to-digital converter 242 is on. The user speaks into the microphone 108, and the analog signal accessed in the branch 257 is transmitted to the analog-to-digital converter 242, where it is converted to a digitized file. The digitized file is then transmitted, via the digital collector bar 214 to either the RAM 218 or the direct access storage device 118. The RAM 218 is used to buffer or queue the recorded files, which are then archived to the direct access storage device 118. When the recording is finished, the analog-to-digital converter 242 is stopped, and the switch 241 is opened. The recorded file is archived to the direct access storage device 118 using a unique file name. A recording can also be made while a phone call is in progress. It is possible to record not only the user of the telephone device of the present invention, but also the party connected at the other end of the telephone call. While a telephone call is in progress, switches 256, 206, and 266 are closed. To record both sides of the telephone call in progress, switch 240 and switch 241 are both closed. By means of closing the switch 240, the connected party is being recorded. By closing the switch 241, the user of the telephone device speaking on the microphone 108 is being recorded. The offline recorder functions of the present invention also allow a user to play a recording that has been previously made. The user identifies the recording to be played by selecting and entering an index number. The recording to be played is identified by a recording in an index table that includes the index number. Once the user has identified the recording to be played, the switch 246 is closed. The selected recording file to be played is transferred from the direct access storage device 118, through the digital collection bar 214 , to digital-to-analog converter 244, where this is converted to an analog signal. The analog signal is then sent through the switch 246 in such a way that the recording on the speaker 106 is reproduced. If during a telephone call in progress (the switches 256, 206, and 266 are closed) the switch 245 is closed in addition to the switch 246, the recording being played through the speaker 106, as well as the connected part, can be heard. The recording being played is transmitted to the speaker 106 by closing the switch 246. The recording being played is transmitted to the party connected through the switch 245. In the mode shown in Figure 2, the modem 119 has its own transmitter and receiver that operate at frequencies other than transmitter 250 and receiver 260, which are used for telephone calls. In this mode, the switch 234 is closed at all times to be inspecting by an input radiofrequency signal with the appropriate unique identifier. The switch 232 is properly closed during the transmission times of the modem 119. For example, the switch 234 remains closed to inspect the reception of an incoming facsimile message. The switch 232 closes only when a fax message is being actively transmitted outside the modem 119, or when the communication protocol is being handled. The telephone device of the present invention can be configured to function as a calculator in offline mode. In a preferred embodiment, the calculator functions are controlled by the software that is contained in the direct access storage device 118. When the user selects the calculator function in offline mode, this software, if not yet in memory, is loaded into RAM 218. Switch 246 is closed, such that speaker 106 can be used. for the calculator function. For example, instruction messages are provided through speaker 106 to the user. Additionally, the operations that are being performed, the result of those operations, and the confirmation messages, can also be pronounced to the user through the speaker 106. The appropriate information is sent from the central processing unit 114, through the bar 214 digital collector, to 244 digital-to-analog converter. The analog signal is then sent, via switch 246, to horn 106. 3. Telephone Device Operating Method To achieve a reduced production cost, and to describe what would otherwise be non-obvious processing, Figure 3 and all subsequent figures assume that the modem functionality is integrated using the same transmitter 250 and 260 receiver than other telephone device processes. The operation of the telephone device of the present invention is controlled by the central processing unit 114. Logical software or software programs are used to control the central processing unit 114. In a preferred embodiment, the ROM 216 includes a minimum operating system that is used to load and initialize the software in the telephone device of the present invention. In Figure 3 a flow diagram for downloading software to the telephone device of the present invention is illustrated. The process shown in Figure 3 can be used to initially configure the telephone device with the software, or to provide periodic updates or renew software for the telephone device. To make a software download, the phone is picked up and taken off-hook. In a step 302, a session with the service is established by dialing a number such as a 1-800 number or a local number. The service can be an automatic response unit (ARU), or a voice response unit (VRU). In a preferred embodiment, the central processing unit 114 instructs the modem 119 to establish the session with the service. Then the modem 119 dials the correct number to connect to the service, and controls all the meeting signals that are required. In a mode without a separate modem, the central processing unit 114 would directly control the establishment of the session with the service. In a step 304, the software 122 is downloaded to the telephone device of the present invention. The download of the software is a transfer of data from the software provider 120 to the telephone device. In a preferred embodiment, once the modem connection is established, the software is immediately downloaded without any menu request. The downloaded software is stored in the direct access storage device 118. In doing so, the user interconnection interruption vectors (UIIV) are installed, as indicated in a step 306. The user interconnection interrupt vectors are used in the mapping of particular additional functions, with certain key invocations in the telephone device. Once the software download is completed, the session is terminated, as indicated in a step 308. The download of the software of Figure 3 can be performed at least once to equip the telephone device of the present invention with its functionality complete Particularly, the software download of Figure 3 is used to configure the full-featured telephone device. The download of the software in Figure 3 may be repeated to provide updates or to renew the software contained in the telephone device. The software download of Figure 3 can also be used to add additional functionality to the telephone device. Each key on the keyboard 104 has an associated user interconnect interrupt vector. Additionally, the previously defined sequences of the keys on the keyboard 104, referred to herein as a macro or macro sequence, have an interconnection interrupt vector of the associated user. The interrupt vector is a list of memory addresses that point to termination software functions and remain resident (TSR). A certain sequence maps to particular TSR functions by means of the specified interrupt vector input. The user interconnection interrupt vector is a function assigned to the particular key sequence or key. The user interconnection interrupt vector includes the memory address where that function is resident. The user interconnection interruption vectors ensure that when a particular key or macro sequence is pressed, the associated process or function is executed first. This allows the keys on the keyboard 104 to provide functionality beyond the DTMF tone associated with each of these keys. For example, as explained below with respect to Figure 5, the telephone device of the present invention can operate in an off-line mode. To put the phone in offline mode, a user presses a previously determined sequence or macro sequence of buttons, for example, "***», when the user presses "***", the button interruption vector The associated macro ensures that the "***" macro sequence is executed before the DTMF tone (acronym in English for Multi-Tone Dual Frequency) associated with the "*" key is generated, as indicated in Figure 4, the device The telephone device of the present invention can be operated in an online mode In the online mode, the telephone device is off-hook, and a dial tone is sent, as indicated in a step 402. In a step 404, the functions of On-line telephone calls are made such as dialing digits.The online mode is terminated by hanging up the telephone as illustrated in a step 406. The telephone device of the present invention can also be operated in an off-line mode. Figure 5 shows a flow diagram for placing the telephone device of the present invention in offline mode. In a step 502, the telephone device is taken off-hook, then the user presses a previously determined sequence of buttons to initiate the offline mode, as indicated in a step 504. As noted above, this button or macro sequence previously determined to start the offline mode can be, for example, "***". To ensure that a phone call can still be received through the telephone device while in offline mode, a status message is sent to. the network or a cellular switch, as indicated in step 506. In this way, the cellular switch in the network server thinks that the telephone device of the present invention is suspended. In reality, the telephone device is off-hook during off-line mode, but the network thinks that it is on-hook, to ensure that telephone calls are still sent over the network to the telephone device, during offline mode. The offline mode allows a user to perform functions offline, as indicated in a step 508. As explained more fully below, those functions may include, for example, functions of calculator, recorder, facsimile, and answering machine . Another function, which operates in online or offline mode, includes a macro function that allows the user to define an invokable sequence of telephone buttons. When the user finishes performing the functions offline, the user places the phone on-hook, as indicated in a step 510. In a step 512, the telephone device is reset for subsequent on-line telephone operation. A flow diagram for receiving a call from a switch is illustrated in Figures 6a and 6b. Figures 6a and 6b assume a mode such that modem 119 shares transmitter 250 and receiver 260. When the switch has a call for the telephone device of the present invention, the switch determines whether the telephone device is hung or unhooked, as it is indicated in a step 602. In a step 604 a decision is made as to whether the telephone device is off-hook. If the telephone device is off-hook, then busy signal processing is provided, as indicated in a step 606, and the process is stopped in a step 608. If the telephone device is not off-hook, then the switch transmits the call through to the telephone device as indicated in a step 610. In a decision step 612, it is determined if the telephone device is in an off-line mode. If the telephone device is in offline mode, then the call is answered and a received call processing sequence is initiated, as indicated in a step 614. In a decision step 616, the tone detector 222 determines whether a facsimile tone is present for the call. If a facsimile tone is detected, then a facsimile processing sequence is initiated in the manner of connector 5000 of the flowchart. Figure 11Od illustrates the facsimile processing sequence. If a facsimile tone is not detected in the call, an answering device sequence is initiated in the manner of connector 3000 of the flowchart. The sequence of the answering device is illustrated in Figure 12. Note that in a mode of the telephone device, where the modem 119 operates at frequencies separate from those of the receiver 260 and the transmitter 250, ie, the modem 119 has its own receiver and transmitter, the decision step 616 would not be required for detect a facsimile tone separately Referring again to decision step 612, if the telephone device is not in offline mode, then the bell starts ringing, as illustrated in a step 618. In a decision step 620, it is determined whether the user answers in previously determined number N of rings. If the telephone call is not answered after the previously determined number of rings, the received call processing sequence is initiated, indicated by step 614. If the user answers the telephone call within the previously determined number of rings, when the user answers , the user can hear a facsimile tone. If a facsimile tone is detected in a step 622, then the user presses a key key to initiate the facsimile take, as indicated in a step 624. Then the user can hang up, as shown in a step 626, and the facsimile processing sequence is automatically executed (Figure 10). When the user hangs in step 626, the call is not terminated. The background processing of the facsimile processing sequence continues. However, it is important that the user press the key key for facsimile pickup in step 624, before hanging the telephone in step 626. If the user hangs up before typing the key key for facsimile pickup, then The call will end before the facsimile is processed. Returning to decision step 622, if the user does not detect a facsimile tone, then the normal call processing of the telephone call continues, as indicated in a step 628. That normal call processing is in the online mode that is illustrated in Figure 4. Figure 7 illustrates a flow chart for inspecting the selection by a user of off-line functions, referred to herein as the main off-line inspection cycle. The offline mode is started in a step 702. As noted in step 702, the offline mode is terminated when the user hangs up the telephone device. In a step 704, a variable is established off-line mode. The offline mode variable is a Boolean variable, or a record that can be inspected. This variable indicates whether the telephone device is in offline mode. It will be understood that all the variables "_VAR" that are shown in the flowcharts are persistent variables that retain their current value until they are subsequently changed. As noted in step 704, the off-line mode variable can also be used to illuminate an indicator light in the telephone device to assist the user. In a step 706, the telephone device is waiting for the user to enter or select the off-line function to be used. If the calculator functions are selected in a decision step 708, then the processing continues to the calculator function sequence in the manner of connector 8000 of the flow chart. In Figure 8A the calculator function sequence is illustrated. If the user selects recorder functions, as illustrated in a decision step 710, then processing to the recorder function sequence continues in the manner of connector 1000 of the flow chart. The recorder function sequence is illustrated in Figures 9a and 9b. If the user selects the facsimile functions, as illustrated in a decision step 712, then the facsimile function sequence is started in the manner of the connector 2000 of the flowchart. The facsimile function sequence is illustrated in Figures 10a and 10b. If the user selects to specify the response output message function, as illustrated in a decision step 714, then the output message sequence is started in the manner of connector 6000 of the flowchart. The output message sequence is illustrated in Figure 11. After performing the selected functions, or not recognizing a previously defined key sequence, the processing returns to step 706 of Figure 7 in the manner of the connector 4000 of the flowchart, to wait for another input from the user. The processing is terminated when the user exits the offline mode by hanging the telephone device. Figures 8a to 8e illustrate the flowcharts that are used in the calculator function sequence. With reference to Figure 8a, a flow diagram for inspecting the duration of the pressure of a key is illustrated. The duration of the pressure of a key is an element of a preferred mode of operation of the calculator function. The meaning of a particular key during the calculator function depends on whether the fabric was pressed for a minimum pressure duration or a long pressure duration. The process of identifying the meaning of a key as a function of the duration of the pressure of the key is described in the pending application entitled "System and Method for Transmitting Data and Commands Using a Telephone", application number 08 / 672,186, filed on June 27, 1996 (Attorney's Number: RIC-96-009; 1575. C840000), the entirety of which is incorporated herein by reference. The above application also includes a preferred embodiment for performing the calculator function of the present invention. Reaching step 802 implies that the telephone device has entered a calculator mode. In step 802, the variables used by the calculator function are initialized. The available Work Area variable is analogous to the visual display area of a conventional calculator. The Binary Operator variable is a Boolean variable that indicates whether a binary operation is in progress. A Binary Operation always requires two terms, for example, add, subtract, multiply and divide. The Binary Operator variable is set to false in step 802. The Operator variable contains the most recent operator that the user has entered. In step 802, the Operator variable is set to the same operation. The Historical List variable is used to allow the results of a calculation to be annotated or pronounced again for the user. This is also useful for providing calculations with confirmation to the user. In step 802, the Historical List is set to empty. In a step 804, the Memory Cell is started, that is, the Memory Cell variable is set to 0. The Memory Cell provides a memory area that can be used to store the information or results contained in the Area of work. In the embodiment shown in Figure 8a, only one Memory Cell is illustrated. However, it will be understood that a plurality of Memory Cells may be used. In a step 806, the user is instructed with instructions from the calculator. That instruction is made through the speaker 106. An alternative modality can instruct through a visual display that is provided in the microtelephone apparatus 100. The user can key in the key outside the instructions to immediately go to step 808. In step 808, the telephone device waits for the user to press a button on the telephone. In a step 810, the start time of button pressing is saved. Wait for the button to be released in a step 812. In a step 814, the timeout is saved once the button is released. In a step 816, the duration of the key pressure is calculated by subtracting the final time from the initial time. In a step 818, an entry is placed in a wait row. The input includes both the button that was pressed (button identifier) and the button press duration calculated in step 816. Then the processing continues in step 808. Figures 8b and 8c illustrate a flowchart for a sequence of logical processing, associated with the calculator function. In a step 820, the next entry in the queue that was identified in step 818 is retrieved. Access to the queue is preferably controlled by traffic light processing. You can block access until there is something in the queue. This is identified in step 820 as an implicit wait. A preferred embodiment for performing step 820 is to retrieve the next queue entry, and match that queue entry with a translation table. The translation table maps the button identifier and the pressure duration of the button (queue entries) to a defined or interpreted semantic message. The best match is located in the translation table for the queue entry. A default result can be used if no match is found. The translation table is preferably maintained as a data table that includes four column entries for each row: (1) pressed button; (2) minimum duration; (3) maximum duration; and (4) interpreted message. The queue entry is processed in accordance with the interpreted message of the translation table, and the process returns to obtain the next queue entry. The following Table 1 is an example of a translation table. The lengths of durations Dl, D2, and D3 depend on the implementation. Preferably, the duration Dl is less than the duration D2, which is shorter than the duration D3. In accordance with the above, the semantics in Table 1 essentially have either a short duration (between D1 and D2) or a long duration (between D2 and D3). However, the present invention is designed to accommodate any number of semantics for any particular key, and any number of duration ranges. Preferably, semantics that translate to digits have short durations. The semantics that translate to commands (apart from the Discontinue command and the decimal point) have long durations.
Table 1 In a step 822, a variable of New number. The New Number variable is only true when there is a number in an Intermediate Number Area that is ready to be used, and is needed in a calculation. A decision step 824 inspects whether the user wants to discontinue the calculator function. If the user chooses to discontinue in decision step 824, the process proceeds to step 706 of Figure 7 in the manner of connector 4000 of the flowchart. The calculator mode is exited after the return to step 706. In a step 826, the processor 112 interprets the entry in progress by reference to the translation table (see Table 1, above). In particular, the processor 112 searches through the translation table until it finds a row that matches the current input key and the duration. Then the entry in progress is translated as defined by the semantic that is represented by the matching row. In a step 827, the processor 112 determines whether the interpreted (translated) input in progress is equal to a digit or a point (decimal point). If the interpreted input in progress is not equal to a digit or a point, then a step 828 is performed (described later). Otherwise, step 830 is performed. In step 830, the processor 112 appends the translated digit or decimal point in the Intermediate Number Memory Area. The Zone of Intermediate Memory of Numbers is used to maintain a number that is forming the user. In a step 832, the processor 112 determines whether there are multiple decimal points in the Intermediate Memory Area of Numbers. If there are not multiple decimal points in the Intermediate Number Memory Area, then the control returns to step 820. Otherwise, a step 834 is performed. In step 834, the processor 112 clears the Intermediate Number Memory Area. In a step 836, an audible message is provided to the user, informing the user that the number being formed had an error (since it had more than one decimal point). In one embodiment, the processor 112 also informs the user that the number that was being formed has been cleared, and that the user must re-enter the number. Then, the control returns to step 820.
If the processor 112 determined in step 827 that the interpreted input in progress was not equal to a digit or a decimal point, then step 828 is performed. In step 828, the processor 112 determines whether the input in progress interpreted is equal to an operator related to the calculator, such as a unary operator, a binary operator, a memory operator, clear, equal to, equal to with confirmation, and so on. If the interpreted input in progress is not an operator, then the processor 112 assumes that the input in progress interpreted is either equal to some other meaning defined in the translation table, or equal to a non-op. A non-op implies that a hit was not found in the translation table, and therefore the entry is ignored. In either case, the processor 112 processes the command appropriately (step 829), and returns to step 820. If the processor 112 determines in step 828 that the interpreted input in progress is equal to an operator related to the calculator, then it is performed a step 838. In step 838, the processor 112 determines whether the user has previously started entering a new number to be used in an ongoing calculation. The processor 112 performs step 838 by determining whether the Intermediate Number Memory Area is clear. If the Intermediate Number Memory Area is cleared, then the user has not started to enter a number, and step 846 is performed (described later). If the Intermediate Number Memory Area is not cleared, then the user has previously started entering a number, and step 840 is performed. In step 840, the processor 112 converts the number into the Intermediate Memory Area of Numbers to a real number, using well-known techniques. The processor 112 establishes an input variable equal to this real number. This real number represents an operand for the current calculation, for example, 978.32. Then the processor 112 clears the Zone of Intermediate Memory of Numbers. In a step 842, the processor 112 sets the variable of New Number equal to true, indicating that the user has entered a number to be used in the calculation in progress, then the processing continues in 8d and 8e, as illustrated in Figures 8d and 8e. After completion of the processing shown in Figures 8d and 8e, the control proceeds to step 846. Step 846 is also performed if, in step 838, processor 112 determined that the user has not previously started entering a new number to be used in the calculation in progress. In step 846, the processor 112 sets the input variable equal to the command or operator as determined by step 826. Then the process continues at 8d and 8e, which are illustrated in Figures 8d and 8e. After completion of the processing shown in Figures 8d and 8e, the control returns to step 820. Figures 8d and 8e illustrate a flow chart for processing numbers and operators entered by the user. In a step 848, the processor 112 determines whether the user has entered a new number to be used in an ongoing calculation, by determining whether the New Number variable is equal to true. If the user has not entered a new number, then step 850 (described later) is performed. Otherwise, a step 849 is performed. In step 849, the processor 112 appends one or more codes to the Historical List. These codes represent the actual number stored in the Input variable. If these codes are sent to the horn 106, then the horn 106 audibly announces this actual number. In a step 851, the processor 112 determines whether the current calculation involves a pending binary operation. The processor 112 performs step 851 by determining whether the Binary Operator variable is true. If the Binary Operator variable is not equal to true, then the processor 112 in a step 858 sets the Working Area variable equal to the actual number in the Input variable, and sets the New Number variable to false. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If the processor 112 determines in step 851 that the Variable Operator variable is equal to true, then a step 853 is performed. In step 853, the processor 112 performs the binary operation indicated by the Operator variable in the actual number in the Working Area variable, and the actual number in the Input variable. The processor 112 stores the result in the Working Area variable. In a step 856, the processor 112 sets the binary operator variable equal to false. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 848, the processor 112 determined that the user has not previously entered a number to be used in the current calculation, then a step 850 is performed. In step 850, the processor 112 determines whether the following is true: (1) a binary operation is currently being performed (by 'reference to the Binary Operator variable); and (2) the most recent command entered by the user as stored in the Input variable is not a Memory Retrieve operation. If these two conditions are true, then the user has inappropriately formed a calculation. This is the case when the user has requested a binary operation, but has provided only a single number to be used in the binary operation.
In accordance with the above, if these two conditions are true, then the processor 112, in one step 852, audibly sends an error message to the user.
Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 850, the processor 112 determines that these two conditions are not both true, then a step 854 is performed. In step 854, the processor 112 determines whether the current translated entry (as stored in the variable of Input) is a binary operator command, such as the multiplication command. If the translated input in progress is not a binary operator command, then a step 862 (described later) is performed. Otherwise, a step 855 is performed. In step 855, the processor 112 sets the Operator variable equal to the value of the Input variable (that is, processor 112 sets the Operator variable equal to the binary operator command represented by the translated current entry). In a step 857, the processor 112 sets a binary operator variable equal to true. In a step 860, the processor 112 attaches one or more codes to the Historical List. These codes represent the command, of binary operation stored in the Operator variable. If these codes are sent to the speaker 106, then the horn 106 audibly announces this binary operation. For example, if the operator variable stores the sum operator, then when these codes are sent to the speaker 106, the speaker 106 is audibly prompted to announce the word "more". Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 854, the processor 112 determined that the translated input in progress is not a binary operator command, then step 862 is performed. In step 862, the processor 112 determines whether the translated input in progress (as shown in FIG. stored in the Input variable) is a unary operator, such as the l / x command. If the translated entry is not a unary operator, then a step 872 (described later) is performed. Otherwise, step 864 is performed. In step 864, processor 112 performs error verification. The actual error verification performed by the processor 112 depends on the implementation, and depends on the pairing operations that the processor 112 supports. In the embodiment being described, the processor 112 in step 864 determines whether the following conditions are true: (1) the Work Area variable stores zero; and (2) the translated entry is the unary command l / x. If these, two conditions are true, then the processor 112, in a step 866, audibly sends an error message of divide-between-zero to the user. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If it is determined that both conditions are not true in step 864, then a step 868 is performed. In step 868, the processor 112 applies the unary operator indicated by the current entry translated to the actual number stored in the Area variable of Job. The processor 112 stores the result in the Work Area Variable. In a step 870, the processor 112 attaches one or more codes to the Historical List. These codes represent the unary operation command represented by the translated entry in progress. If these codes are sent to the speaker 106, then the speaker 106 audibly announces this unary operation. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 862, the processor 112 determined that the translated input in progress is not a unary operator, then a step 872 is performed. In step 872, the processor 112 determines whether the translated input in progress (as stored in the Input variable) is equal to the command of equal to. If the translated translated entry is not equal to the command equal to, then a step 876 (described later) is performed. otherwise, a step 874 is performed. In step 874, the processor 112 instructs the horn 106 to audibly announce (ie, write down) the user the contents of the Work area variable. The processor 112 performs step 874 by means of transmitting to the speaker 106 one or more codes representing the actual number stored in the Working Area variable. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 872, the processor 112 determined that the translated input in progress was not equal to the command equal to, then step 876 is performed. In step 876, the processor 112 determines whether the translated input in progress (as shown in FIG. stored in the Input Variable) is equal to the command equal to with confirmation. If the translated input in progress is not equal to the command equal to with confirmation, then a step 880 (described later) is performed. Otherwise, step 878 is performed. In step 878, the processor 112 commands the speaker 106 to audibly announce the status of the calculation in progress. The processor 112 performs step 878 by transferring the contents of the Historical List to the speaker 106 to audibly announce the word "equal to" by transferring the appropriate code (s) to the speaker 106 Then a step 874 is performed, where the speaker 106 is commanded to audibly announce the contents of the Area variable, of Work (described above). Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 876, the processor determined that the translated input in progress (as stored in the input variable) is not equal to the command equal to with confirmation, then step 880 is performed. In step 880, the processor 112 determines whether the translated input in progress (as stored in the Input variable) is equal to the set cell memory command, then a step 884 is performed (described later). Otherwise, a step 882 is performed. In step 882, the processor 112 establishes the Memory Cell equal to the value of the Working Area variable. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 880, the processor 112 determined that the translated input in progress (as stored in the Input variable) is not equal to the set memory cell command, then step 884 is performed. In step 884, the processor 112 determines whether the translated translated entry (as stored in the Entry variable) is equal to the recall cell memory command. If the translated translated entry is not equal to the recall cell memory command, then a step 895 is performed. Otherwise, a step 886 is performed. In step 886, the processor 112 append to the Historical List one or more codes that represent the real number stored in the Memory Cell. These codes, if sent to Speaker 106, cause speaker 106 to audibly announce this actual number. In a step 888, the processor 112 determines whether the current calculation involves a binary operation. Processor 112 performs step 888 by determining whether the Binary Operator variable is true. If the Unary Operator variable is not equal to true, then the processor 112, in a step 894, sets the Working Area variable equal to the actual number in the Memory Cell. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If the processor 112 determines, in step 888, that the Binary Operator variable is equal to true, then a step 890 is performed. In step 890, the processor 112 performs the binary operation indicated by the Operator variable in the number real in the Working Area variable and the actual number in the Memory Cell. The processor 112 stores the result in the Working Area variable. In a step 892, the processor 112 sets the variable of Binary Operator equal to false. Then the control returns to the flow diagrams shown in Figures 8b and 8c. If, in step 884, the processor 112 determined that the translated input in progress is not equal to the memory recall operation, then step 895 is performed. In step 895, the processor 112 determines whether the entry in progress translated (as stored in the Input variable) is equal to the clear job command. If the translated input in progress is not equal to the clear job command, then the control returns to the flow diagrams shown in Figures 8b and 8c. Otherwise, the processor 112 sets the Operator variable to the command equal to, empties the Historical List, and clears the Intermediate Number Memory Area, as shown in step 897. In a step 899, the processor 112 provides a greeting ready. Then the control returns to the flow diagrams shown in Figures 8b and 8c. In a particularly preferred embodiment, the duration of the pressure of a key is used to identify the particular calculator function to be performed. Alternatively, multiple buttons may be used to indicate a particular function. For example, an asterisk or star followed by a digit can imply the binary addition or addition operator. The sequences of prefix buttons can be mapped to a particular function or definition, such that the telephone device of the present invention can be enabled with many types of calculator operations. , Figures 9a and 9b illustrate a flow chart for the recorder function sequence. In a step 902, the user is instructed with the recorder functions. After finding step 902, the telephone device has entered a recorder mode. This instruction can be made by reproducing the instruction through the speaker 106. Alternatively, that instruction can be done by visually displaying the instructions or the menu in a visual display that is provided in the microtelephone apparatus 100. In a step 904, the telephone device waits for the user to enter. If the user chooses to turn on the recorder mode, as indicated in a decision step 906, then the processing continues in a decision step 908. In decision step 908, it is determined whether a recorder variable has already been set to on. If the recorder variable has already been set to ON, the processing returns to the wait step 904. If the recorder variable has not been set to on, then the recorder variable is set to on in a step 910. In a step 912, the use of the recorder is ensured. In a preferred embodiment, the use of the recorder is ensured through the use of traffic light processing. This traffic light with exclusive rights to use the recorder for one process or function at a time. The traffic light blocks access to the recorder to other processes or functions, until the process of using the device has been completed. Once the traffic light has granted access to the recorder, thereby ensuring the use of the recorder, the recorder is started in a step 914. Once the recorder is started, the processing returns to the wait step 904. The above sequence allows you to make a recording while the phone device is in offline mode or in online mode. As noted earlier in Section 2, the recorder can be turned on in online mode while a telephone call is in progress. In the preferred embodiment of the present invention, a recording can be made while in online mode or offline mode. A key key is provided to allow the user to initiate recording while in online mode during a telephone call, or in offline mode. If the user chooses to turn off the recorder mode in a decision step 916ci. , then the processing continues in a decision step 918. In decision step 918, it is determined whether the recorder variable is on. If the recorder variable is not on, that is, it is off, then the processing returns to the wait step 904. Since the recorder variable is not on, this indicates that the recorder mode is already turned off. Returning to decision step 918, if the recorder variable is on, then the recorder variable is turned off in a step 920. The recorder stops at a step 922. In a .pass 924 a date / time register is accessed. The date and time information is provided to the date / time register by the clock 220. In a step 926, a record of four fields is inserted into an index table corresponding to the new recording that has just been made. In the following Table 2 an exemplary index table is illustrated.
Table 2 The first field is an index number or reference number value. As explained more fully below, the index number assigned to the output message (OGM) for the answering device is always one. All other recordings are assigned an index number of two to N. The second field in the index table record is a data type. The type of data can be either a facsimile or a recording. The type of recording data is assigned to any type of recording that is made, for example, a recording made by the user of the telephone device while in offline mode, or a recording of a telephone conversation that is recorded while the telephone device is in online mode. A type of recording data is also assigned to a message that is recorded in response to the output message of the answering machine. A type of facsimile data is assigned to a facsimile message that is received by the telephone device of the present invention. The third field is a date and time identifier that identifies the date and time at which the recording was created, or the date and time at which the facsimile was received. The fourth field is a fully qualified path name unique to the location where the recording or facsimile was stored. Recording and facsimile messages are stored in the direct access storage device 118 under unique file names. The record in the index table provides a map or identifier to locate a particular recording or facsimile message. Step 926 provides an interconnection to the recorder operation shown in Figure 9c. Once the record corresponding to the new recording is inserted into the index table in step 926, the use of the recorder is released in a step 928. In the preferred embodiment, the release of the use of the recorder is controlled by traffic light processing. Then processing proceeds to wait step 904. In a similar way to returning the recorder to power, the user can turn off the recorder at any time by executing a key key. Recorder mode on and recorder mode off are available to access both online mode and offline mode, using a key key. This allows the user of the telephone device of the present invention to have access to the recorder at any time. The recorder functions that appear below the decision step 930 in Figures 9a and 9b are only available to the user in offline mode, and during periods in which recording is not active. Therefore, the decision step 930 makes sure that the recorder variable is not on, ie, it is off, when the processing continues below the decision step 930. In decision step 930, if the recorder variable is still on, then the processing returns to wait step 904. If the recorder variable is not on, that is, the recorder variable is off and the recorder is off, then the processing continues in the decision step 932. The telephone device can not be in the recorder mode to operate the functions identified under the decision step 930.
Decision step 932 allows the user to delete an index table entry or index table record. In a step 934, the user is asked to enter the index number of the record or entry to be deleted from the index table. In a step 936, it is determined whether the index number entered by the user is valid. To be valid, the index number must not be number one, and it must exist. If the index number entered by the user is not valid, then an error tone is provided in a step 938, and the process returns to the wait step 904. If the index number is valid as determined in step 936, then the file corresponding to the index table entry (index number) is deleted in a step 940. The file deleted in step 940 is the file that contains the same data for the recording or facsimile corresponding to the number of index entered by the user. The corresponding record in the index table is deleted from the index table in a step 942. The entries or records of the table of contents are then re-enumerated.; index for index numbers that vary from two to N in a step 944. The output message for the answering device function is assigned an index number equal to one and, therefore, is not affected by re-enumeration in step 944. A successful termination tone is provided to the user in a step 946, to indicate that the index table entry selected by the user has been successfully suppressed. The processing then returns to step 904 waiting. A user can also search the information that has been stored in the index table, as indicated in a decision step 948. To search for the index table, the next index table entry starting with one is retrieved, in a step 950. If all the entries in the index table have been processed, as indicated in a decision step 952, then it is provides a successful termination tone to the user in step 954. Processing then continues in the wait step 904. Returning to decision step 952, if all entries in the index table have not been processed, then the next index table entry that was retrieved in step 950 is noted in step 956. The index number , data type, and date and time identifier, included in the record retrieved from the index table, are recorded for the user. This annotation can be done by means of pronouncing the index number, the data type, and the date and time identifier to the user through the speaker 106. Alternatively, that annotation can be made by visually displaying the index number, the type of data, and the date and time identifier in a visual display included in the microtelephone apparatus 100. An index table entry having a facsimile data type can not be reproduced back to the user through the speaker 106. Therefore, in a decision step 958, it must be determined if the data type of the recovered record is a facsimile. If the data type is not a facsimile, then the processing continues in a step 964. In step 964, the recording file for the user is played through the speaker 106. After the same, a step 966 is used. of decision to allow the user to type the key key after the reproduction of the entire recording file. Decision step 966 is used to inspect whether the user has entered a key to exit through the key of the playback of the recording file, for example, the cat (#) key. If the user has selected the jack key, then the processing will return from decision step 966 to step 950, to obtain the next index table entry. If in the decision step 966 the user does not choose to terminate the reproduction in step 964, then the decision step 960 is used to inspect whether the user wants to exit or discontinue the search function. The user can do this by typing the key key outside the search function at any time, by selecting a previously determined key, such as the asterisk (*) or the star key. If the user has hit the star key, then in the decision step 960 the processing will return to step 904. If the user has not keyed the key out of the search function, then in a decision step 962, it is determined if the type of data that is being processed at that moment is a facsimile. If the data type is not a facsimile, then the processing returns to step 964 to continue playing the recording file. Steps 966 and 960 are decisions based on the inspection that occurs in step 964. In decision step 962, if the data type is a facsimile, then the processing returns to step 950 to obtain the next index table entry . Referring again to step 958, if the data type is a facsimile, the process continues to step 960. A decision step 968 allows the user to play a recording corresponding to an index number selected by the user. In a step 970, the user is asked to enter an index number that corresponds to the recording that the user wants to be played. In a step 972, it is determined whether the index number entered by the user is valid or not. For example, to be a valid index number to play a recording, the index number must exist, and it must not correspond to a type of facsimile data. If the index number is not valid, for example, it corresponds to a facsimile message, then an error tone is provided to the user in a step 974. Then the processing continues in the wait step 904. Returning to decision step 972, if the index number entered by the user is valid, then the user plays the file corresponding to this index number in a step 976. To carry out step 976, the digitized file is retrieved corresponding to the recording, it is converted to an analog signal by the digital-to-analog converter 244, and the analog signal is reproduced through the speaker 106, for the user to hear. A decision step 978 is used to inspect whether the user wants to key in the key after playing the entire recording. If the user enters the key key (jack key), or if the playback of the recording is complete, then the processing returns to step 904 of waiting. Otherwise, the playback of the recording continues until the user types the key, or the playback of the recording is complete. A decision step 980 allows the user to select a function to expose the options again. If the function of exposing the options again is selected, in the decision step 980, then processing continues in step 902 to instruct the user with recorder functions. If the user chooses to discontinue or exit the recorder functions in a step 982, then the processing continues again at step 706 in Figure 7, in the manner of connector 4000 of the flow chart. Figure 9c illustrates a flow diagram for implementing step 914 to start the recorder. In a step 990, a unique file name is generated on one or more of the storage devices or memory of the telephone device. The steps to generate a unique file name in a storage device will be readily apparent to one of relevant technical experience, and have been omitted for brevity. In a step 992, the sound to be recorded as samples for a digitized file is saved. In a preferred embodiment, the recorder operates at a sampling rate that can be set. The sampling rate determines the number of samples taken per second. The more samples are taken per second, the better the quality of the recording. The sampling rate can be made configurable by storing the sampling rate in a register accessible by the logic of the computer program. In a step 994, the recording samples are stored in the file having the unique file name generated in step 990. In operation, steps 992 and 994 occur simultaneously. To stop the recorder, the recorder is interrupted (for example, the maximum recording time elapses) and input / output is completed, as indicated in step 996.
Figures 10a and 10b illustrate a flow chart for the facsimile function sequence. In a step 1002, the user is instructed with the functions of the facsimile. This instruction can be made by reproducing the instruction through the speaker 106. Alternatively, that instruction can be done by visually displaying the instructions or the menu in a visual display that is provided in the microtelephone apparatus 100. In a step 1004, the telephone device waits for the user to enter. If the user selects to determine a page header, as indicated in a decision step 1006, then the processing continues in a step 1008. In step 1008, the user specifies a fixed length header after the instruction with the setting of heading in progress. For example, to enter this heading, the pressure of a number followed by the cat (#) key will indicate a numeric character. The pressure of the star key (*) followed by a jack key will indicate a blank space. In order to identify the alphabetic characters, a preferred modality would use the following scenario. The first entry would indicate the key, and the second entry would indicate the letter on the particular key that was to be used. For example, the sequence "21" would indicate an "a" (key 2, first letter), the sequence "22" would indicate a "B" (key 2, second letter), and the sequence "23" would indicate a "C" (key 2, third letter). A "Z" would be indicated by "01". The key sequence "**" would indicate the end of the entry, and "##" would keep the adjustment in progress. In a step 1010, a static header variable is established for the string that has just been entered. A static variable is a persistent variable that maintains its value until it is modified again. After the processing continues in step 1004. In a decision step 1012, the user can choose to determine a "PARA" field. The user specifies a fixed-length "PARA" field after instructing with the adjustment of the "PARA" field, in progress. The same type of key sequence would be used to identify the string for the "TO" field, as described above for the fixed-length header in step 1008. In a step 1016, a static "TO" variable is set for the chain that is introduced. The processing then proceeds in step 1004. Similarly, the user may choose to determine a "DE" field, as indicated in a decision step 1018. The user specifies a fixed length "DE" field after instructing with the adjustment of the "DE" field in progress. The same type of key processing is used as described above for steps 1014 and 1008. In a step 1022, a static "DE" variable is established for the string that has been entered. Then the processing in the wait step 1004 continues.
The user can specify the subject or information to be sent, as indicated in a decision step 1024. If the user chooses to specify the subject to be sent in the decision step 1024, the user specifies an index number after instructing with the current adjustment of the subject to be sent in a step 1026. The index number it must be a valid entry in the index table. In a decision step 1028, it is determined whether the index number entered by the user is valid. For example, an index number is valid if it exists. If the index number is not valid, as determined in decision step 1028, then an error tone is provided to the user in a step 1030. Processing then continues in wait step 1004. Returning to decision step 1028, if the index number entered by the user is valid, a static index variable is set for the index number entered in a step 1032. Processing continues in wait step 1004. In a decision step 1034, the user may choose to specify the target telephone number to which the facsimile is to be sent. If the user chooses to specify the target telephone number in a step 1034, then the user enters the digits of the target telephone number in a step 1036. Preferably, in step 1036, the user is instructed with the current setting of the target telephone number . In a step 1038, a static target variable is set for the telephone number entered by the user in step 1036. Processing then continues in the wait step 1004. In a decision step 1040, the user can choose to actually send the facsimile. If the user chooses to send the facsimile in decision step 1040, the processing continues in a decision step 1042. In decision step 1042, it is determined whether the user has specified a target number. If the user has not specified a target number, then an error tone is provided to the user in step 1030. Processing then proceeds to the wait step 1004. Returning to decision step 1042, if the user has specified the target number, then the header will be formatted for the start of every page in a step 1044. The static header variable of step 1010 is used. In a step 1046, the device telephone of the present invention will in fact make a call. In a decision step 1048, it is determined whether the call made in step 1046 has been completed to a facsimile tone. If the call to a facsimile tone was completed, then the first formatted page will be transmitted, as indicated in a step 1050. Step 1050 transmits the title information page using the variable PARA, the variable DE, and the target variable established in steps 1016, 1022, and 1038, respectively. In a decision step 1052, it is determined whether the index variable corresponding to the index number of an entry in the index table, entered by the user, refers to a facsimile. If the index variable points to a facsimile, then the facsimile stored in a step 1054 will be transmitted, and the connection will be terminated. A successful completion tone will be provided to the user in a step 1062. Processing continues in step 706 in Figure 7 in the manner of connector 4000 of the flow chart. If the index variable entered by the user points to a facsimile, as indicated in decision step 1052, then the facsimile stored in step 1054 is transmitted. In this way, the telephone device of the present invention can be used to send a facsimile received previously. Returning to decision step 1052, if the index variable does not point to a facsimile, then the processing continues in the translator and formatter sequence shown in Figure 10c, in the manner of connector 7000 of the flowchart. At the conclusion of the translator and formatter sequence, a successful termination tone is provided to the user in step 1062, and processing continues in step 706 in Figure 7, in the manner of connector 4000 of the flow chart. In Figure 10c the translator and formatter sequence is illustrated. In a step 1070, the driver of the translator and the formatter driver are generated. This results in a parallel processing sequence. In a step 1072, a digital recording is converted to textual words, and the words are placed in a transmission waiting queue in order of first-in-first-out (FIFO). In a decision step 1074, it is determined if the conversion of the entire recording has been made. Steps 1072 and 1074 occur in conjunction with one another. If the complete conversion of the recording has not been done, then the processing returns to step 1072. If the conversion of the recording is complete, then the driver of the translator is terminated in a step 1076 and the translator's driver is stopped. The conversion of speech to text can be done in the following way. The analog signal has already been converted to a digital signal by the analog-to-digital converter 242. The digitized information is already stored either in the RAM 218 or in the direct access storage device 118. The software or software program logician converts stored digital information to text rows (step 1072). The software program or software logic to convert digitized information to the text row is commercially available. That software includes the "DragonDictate" offered by Dragon System, Inc. Another commercially available speech-to-text conversion package is the "Voice Type Dictation System" offered by IBM. Alternatively, the speech-to-text conversion can be performed using a single chip that includes the appropriate software contained on the chip itself. The formatter driver is operating in parallel with the translator's driver. In a step 1078 of the formatter driver, the next line of words in the transmission queue is retrieved. As indicated in step 1078, the formatter driver can retrieve words from the queue as they become available, but wait until the entire line of words is available. Processing stops step 1078 for either a completed line, or because there are no other words in the queue and the translator's driver has already been completed. In a decision step 1080, it is determined if the translator's driver is finished, and if there are no more words in the transmission queue. At decision step 1080, if the translator's driver has not finished, or if there are more words in the transmission queue, then processing continues at a decision step 1086. In decision step 1086, it is determined whether the page formatted in progress has been completed. Decision step 1086 determines whether the number of lines needed to go to a particular facsimile page is ready. If the page is complete, then the page is transmitted to the page in a step 1088. The next page is then prepared in a step 1090, and the process returns to the beginning of the formatter driver in step 1078. As the lines are Together in accordance with the width of the page, these are converted to tracking lines for transmission. At decision step 1080, if the translator's driver is finished, and there are no more words in the transmission queue, then the last formatted page of the fax is transmitted, and the connection is terminated in a step 1082. After the formatter driver is terminated at a step 1084, and the processing returns to step 1062 of Figures 10a and 10b. The drivers of the translator and the formatter provide two independent and simultaneous drivers of processing. This ensures that the transmission of a facsimile message by the telephone device of the present invention is not terminated or delayed by the conversion process. The conversion of the recording to textual words, and the transmission of the facsimile message occur simultaneously. In one embodiment of the present invention, the text words of the facsimile message are reproduced through the speaker 106, to help identify any conversion errors while the facsimile message is being transmitted. Preferably, the text peels of the facsimile message are not reproduced through the speaker 106.
Referring again to Figures 10a and 10b, in a decision step 1058, the user can choose to expose the options again. If the user chooses to expose the options again, then the process continues in step 1002 to instruct the user with facsimile functions. If the user chooses to discontinue the facsimile functions in a decision step 1060, then processing continues in step 706 in Figure 7, in the manner of connector 4000 of the flow chart. Otherwise, the processing continues in step 1004 to wait for the user to enter. Figure 10 illustrates a flowchart for the facsimile processing sequence. In a step 1092, a unique file name is generated on one or more of the storage or memory devices of the telephone device. The steps for generating a unique file name on a storage device will be readily apparent to one of relevant technical experience, and has been omitted for brevity. In a step 1094, the digitized facsimile message is received, such as through modem 119, and stored under the unique file name generated in step 1092. In a step 1096, the record of four fields in the index table, to identify the recorded facsimile message. In a manner similar to recordings, the first field is an index number of two to N. The second field is a type of facsimile data. The third field is the date and time at which the facsimile was received. The fourth field is the unique file name (and path) for the stored facsimile message. The connection is terminated in a step 1098. The output message sequence (OGM) is illustrated in Figure 11. In a decision step 1102, it is determined whether or not the recorder is in use at that time. If the recorder is in use, then a device message unavailable to the user is provided in a step 1104. The unavailable device message informs the user that the device (recorder) that is required to perform a selected function is not available at that time. to perform that function. In one embodiment, the unavailable device message is provided as a message previously programmed in the telephone device. In an alternative mode, the user can record a custom unavailable device message that is referenced through the index table. Then the processing continues in step 706 in Figure 7, in the manner of connector 4000 of the flow chart. If the recorder is in use at that time, then the user can not, at that time, record or specify the output message. Returning to decision step 1102, if the recorder is not in use at that time, then the use of the recorder is ensured in a step 1106. Preferably, the recorder is secured using the traffic light processing of the recorder described above. In a step 1108, the user is asked to provide the message in progress. In a preferred embodiment, that instruction will include the reproduction of the existing output message, if there is one. After the instruction, the recorder will be started for a predetermined time of N seconds in a step 1110. Step 1110 will execute the start recorder sequence illustrated in Figure 9c. As such, the unique file name for the output message will be generated. The index number one is reserved for the output message. In a step 1112, the output message that has been recorded in the index table will be entered, using an index number of one. In a step 1114, the recorder is released using the traffic light processing of the recorder. Then the processing continues in step 706 in Figure 7, in the manner of connector 4000 of the flow chart. The sequence of the answering device is illustrated in Figure 12. In a decision step 1202, it is determined whether or not the recorder is in use at that time. If the recorder is in use, then an unavailable device message such as the one described above is provided to the caller in a step 1204. The telephone call is then terminated in a step 1206. This stops the sequence of the answering device. If the recorder is in use at that time, such as by the user in offline mode, then the simultaneous recorder can not be used to record an input message. Returning to decision step 1202, if the recorder is not in use at that time, then use of the recorder is ensured in a step 1208. Preferably, the recorder is secured using the traffic light processing of the recorder described above. In a step 1210, the output message, which is referenced by the index number one of the index table entry, is reproduced to the person at the other end of the telephone call. In a step 1212, an instruction tone, such as a "beep" is provided. The recorder is started for a predetermined time of N seconds in a step 1214. Step 1214 will execute the start recorder sequence illustrated in Figure 9c. As such, the unique file name for the input message will be generated. An entry or record of the index table will be inserted into the index table for the input message in a step 1216. In a step 1218, the call is terminated. Finally, in a step 1220, the recorder is released using the traffic light processing of the recorder. Then the sequence of the answering device will end. The telephone device of the present invention includes a macro function that allows an invokable sequence of telephone buttons to be defined. The macro functionality is available in online or offline mode, and operates independently of any other processing. Figures 13a-13g show the flow diagrams for configuring the telephone device, for storing and executing the user-defined sequences of keystrokes or macros. Reference may be made to the macros of the present invention through button assignments, or voice command assignments. Speech command assignments are converted to equivalent strings, when used in the present invention. The macro function of the present invention relieves a user of having interconnection with an automated telephone service, when the service menus and the sequence of keystrokes are well known to the user. For example, the macros of the present invention allow a user to go through the menus in order to try music, make orders, or find out about stock trading. In the same way, the telephone mail or autoresponder units provide menus from which a user navigates by pressing the telephone buttons for options and selections. Custom macros can be defined for those voice mail systems that the user has access to routinely. A particularly preferred method for implementing macros using a telephone device is contained in the pending application entitled "Automated Telephone Service Interface", application number 08 / 721,408, filed September 26, 1996 (Attorney's Number: RIC-96-008A; 1575.0930001), which is a continuation in part of the application number 08 / 673,813, filed on June 27, 1996 (now the provisional application number 60 / 031,100), the totality of both previous applications is incorporated herein by reference. In accordance with the present invention, a local library of macros is maintained in one or more of the storage or memory devices of the telephone device. This local library is maintained, for example, as a table of input macros that includes the following fields: MACRO; TYPE-OF-CALL; INVOCATION; and VOICE RECORDING. An exemplary macros table is illustrated in the following Table 3.
Table 3 The MACRO field is an ordered list of three field records. The first field record in the MACRO field is a type of button. The type of button can be immediate or wait. For an immediate button type, the Dual Tone Multi Frequency tones that correspond to the buttons on the phone are the sequence of the macro, one after the other, when the macro is played. For a wait-type button, the Multi-Tone Dual Tone tones that correspond to the telephone buttons are issued with a time delay previously determined between Multi-Tone Dual Tone tones, once the level of the signal is set. the source (another end of the phone call) indicates that it is ready for the next key. Subsequently this process is described in more detail, with respect to Figure 13c. The selection of the type of immediate button or the type of button to wait is preferably made through the duration of the pressure of the key of a previously determined key. The process to identify the meaning of a key as a function of the duration of pressure of the key is defined in the pending application entitled "System and Method for Transmitting Data and Commands Using a Telephone", application number 08 / 672,186, filed on June 27, 1996 (Attorney's number: RIC-96-009; 1575.0840000), to which reference was made above. The second field record in the MACRO field is the button itself. The third field record in the MACRO field is the time from the previous input pressure. The CALL-TYPE field determines whether the macro will be invoked by a voice command or a button command. The INVOCATION field indicates the button in progress that is used to invoke the macro if it has a type of button call. The INVOCATION field can also be a text string that corresponds to the voice command used to invoke the macro. The final field is a description recorded with you of the macro itself. Figures 13a and 13b illustrate the primary flow diagram that is used to configure the telephone device of the present invention to store and execute the user defined sequences of keystrokes or macros. The macros of the present invention can be used to access a service, or to scroll through menus, such as in an automatic response unit. The process begins at a step 1302. At a step 1304, the dial tone is sent to the telephone device of the present invention. In a step 1306, a variable of record mode of the macro is set to off, indicating that no macro is being recorded at that time. In a step 1308, the pressure of a button is inspected by the user. In a decision step 1310, it is determined whether the user has pressed any inspected button. If the user has pressed an inspected button, then the processing continues at a decision step 1312, in the decision step 1312, it is determined whether the variable of registration mode of the macro is on, determining by the same if at that moment a macro is being recorded If at that time a macro is being recorded, as determined in decision step 1312, then the processing continues in a step 1314. In step 1314, the button pressed by the user in a buffer memory area is appropriately saved. The record buffer zone (also called a macro buffer zone) stores the MACRO records in the MACRO field shown above in Table 3. It is here, in step 1314, that the type of button is determined , immediate or wait. The duration of the pressure of the key is passed from step 1308 to step 1314. Then the process continues in a decision step 1316. Returning to decision step 1312, if a macro is not being recorded at that time, then processing also continues in decision step 1316. Returning to decision step 1310, if an inspected button was not pressed (for example, the telephone connection is terminated by hanging), then step 1310 also continues in step 1316. In this way, step 1308 flows to step 1310 for the pressed buttons and the hanging status of the phone. Step 1314 traps the user activity of the telephone device in a macro for subsequent use ("macro recording"). Steps 1316, 1320, 1346, 1356, 1358, 1360, 1362, and 1364 determine the meaning of the user's input. In the preferred embodiment, a sequence of commands is identified by a command prefix followed by a single button. For example, the asterisk "*" button followed by the one "1" button indicates the command to turn on the record mode. Therefore, the asterisk "*" can be a command prefix to identify all commands (* 1, * 2, * 3, and so on). You can also form a prefix using multiple buttons to avoid interference with the menus. One mode can define special command buttons on an extended keyboard for commands. Still another mode can use the button pressure durations to distinguish between commands. In the preferred mode of a button command prefix (for example, *), the prefix for command recognition in steps 1316, 1320, 1346, 1356, 1358, and 1360 is queued. In the Figure 7A assumes the obvious queuing of a prefix, so that the focus remains on the primary processing. In decision step 1316, it is determined whether the user has selected to record a macro. In decision step 1316, it is also determined whether or not the macro recording mode is active. If the user has selected to record a macro, and the telephone device is not currently in the macro recording mode, then the macro recording mode is turned on in a step 1318, by setting the recording mode variable to ON. . Then the processing returns to step 1308 of pressure inspection of the button. Note that recording only occurs if the macro recording mode variable is set to ON.
Returning to decision step 1316, if the user has not selected to record a macro, then in a decision step 1320 it is determined whether the user has selected to save a macro. In decision step 1320, it is also determined whether or not the macro recording mode is active, denoting by the same thing that a macro was in the process of being saved. It should be noted that in steps 1346, 1356, 1358, and 1360 of decision, it is ensured that for each selected function, the telephone device is not in the macro recording mode. In the preferred mode, the functions indicated by steps 1346, 1356, 1358, and 1360 can not be performed if the telephone device is in the macro recording mode. In an alternative embodiment, the telephone device of the present invention would provide an error tone if the user selects one of the above functions while the telephone device was in the macro recording mode. Returning to decision step 1320, if it is determined that the user selected to save the macro, then the macro recording mode is turned off in a step 1322. The record buffer area, which was referenced in step 1314 above , now contains the particular phone buttons of the macro sequence, as well as the phone buttons that correspond to the save script. In a step 1324, the save script information is removed from the registration buffer area. This ensures that the save script is not saved as part of the macro itself. In a step 1326, the user is instructed with a tone to indicate that the invocation should be established. In a step 1328, the user enters the particular invocation to be used. The invocation can be a button, or buttons, to invoke the macro. Alternatively, the invocation may be a special button or sequence of buttons indicating the use of a voice command. If a voice command is used as the invocation, delimiters are used to turn the recorder on and off during the voice invocation recording. In a decision step 1330, it is determined if the type of invocation will be by voice (for example, the user entered "#"). If the invocation is not by voice (for example, the user entered '5'), then the processing continues in a step 1332, where the user is asked for a description of the macro. In a step 1334, the user specifies a description of the macro. In a step 1336, the entry is then saved to one or more of the storage or memory devices of the telephone device, i.e., in a local macro library. In a step 1338, the record buffer area is cleared, and processing continues in step 1308 of button pressure inspection. Step 1336 will overwrite a local library entry if the type and invocation reference matches an existing entry. Therefore, the macro referred to by the voice chain "benefits to health" refers only to a macro. In the same way, the macro referenced by the * 35 script refers to only a macro referenced by the 5 button (* 3 is the command sequence for button invocation (it is )). Returning to decision step 1330, if the invocation type is by voice, then the invocation voice is converted to a text string in a step 1340. The conversion of speech to text string can be performed in a manner similar to that which was described above with respect to converting speech to text in Figure 10C. Step 1340 allows the delimiters specified by the user to turn on and off the voice recorder. In a decision step 1342, it is determined whether the text string is empty, or whether it is a null string (ie, nothing is recorded). If the text string is a null string, then an error tone is provided to the user in a step 1344. Then processing continues in step 1308 of pressure inspection of the button. Returning to decision step 1342, if the text string is not a null string (ie, something is recorded), then processing continues in step 1332, described above. The sequence of steps selected by decision step 1320, as described above, allows a macro to be saved for future reference by a convenient remembrance method, script, or voice command. If, in step 1320, it is determined that the user did not choose to save a macro, then a decision step 1346 is performed. In decision step 1346, the user may select to invoke a macro. In decision step 1346, it is determined whether the user selected to invoke a macro using buttons. If selecting a button macro was invoked, then, in step 1348, the local library of callable macros is accessed by buttons that are stored in the storage devices or memory of the telephone device, by means of the specified sequence buttons. In a decision step 1350, it is determined if the macro selected by the user is found. If the macro is found, then, in a step 1354, a macro variable is set to the macro field in the found entry. Then the processing continues to Figure 13c, described below, in the manner of the connector 13c of the flow chart. Returning to decision step 1350, if the selected macro is not found in the local library, then an error tone is provided to the user in a step 1352. Then the processing returns to step 1308 of pressure inspection of the button. , Returning to step 1346, if the user did not choose to invoke a macro, then a step 1356 is performed. In decision step 1356, it is determined if the user selects »invoke a macro by voice. If the user selects this option, then the processing continues to Figure 13d, described below, in the manner of the connector 13d of the flowchart. If in step 1356 the user did not invoke a macro by voice, then a step 1358 is performed. In decision step 1358 it is determined whether the user selected a macro tracking function. If the user selected the function to track macro, processing continues to Figure 13e, described below, in the manner of connector 13e of the flowchart. If in step 1358 the user did not choose the crawl macro function, then a step 1360 is performed. In decision step 1360 it is determined whether the user selected to delete a macro. If the user selected the delete macro function, the processing continues, to Figure 13f, described below, in the manner of the connector 13e of the flow chart. Otherwise, step 1360 proceeds to step 1362. As previously described, the processes accessed through steps 1316, 1320, 1346, 1356, 1358, and 1360 decision (identified as X in Figures 13a and 13b are used ) to capture the telephone buttons that are entered after a previously determined command prefix. If a button other than a command prefix is entered, as determined by step 1362 (which is also shown as Y in Figure 13b), then processing continues to Figure 13g, described below, in the manner of connector 13g of the flow diagram. Otherwise, step 1362 proceeds to step 1364. Note that a sequence of commands would avoid the encounter of step 1362. Finally, in decision step 1364 it is determined whether the call ended. If the user finished the call (for example, the telephone was hung up), then in a step 1366, the call is terminated, as well as the sequence of functions of the macro. For example, hanging in the middle of recording a macro will flood the buffer area of records and discontinue processing. If the user has not hung up the phone, then the processing continues from step 1364 to the inspection of the pressure of a button by the user, in step 1308. Figure 13c illustrates a flow chart for executing a macro. In a step 1368, the registration of the next button of the macro variable is retrieved. The first encounter of step 1368, from step 1354, retrieves the registration of the first button in the macro variable. In a decision step 1370, it is determined whether all button records have been obtained. If all the records have been obtained, then the user is provided with a macro completion tone in a step 1372. Processing then returns to the button inspection step 1308, in Figure 13a, in the manner of the connector 13a of the flow. The tone provided in step 1372 indicates the completion of the macro processing. This allows the user to be doing other things or perform multiple tasks while waiting for the telephone device of the present invention to automatically navigate to the selected point in a service menu. The user simply waits for the audible alert. Returning to decision step 1370, if all the records have not been obtained, the processing proceeds to a 1374 decision step. In decision step 1374, it is determined whether the type of button is immediate. If the button type is immediate, then the Dual Tone Multi Frequency signal corresponding to the button in the register will be transmitted, in a step 1376. Then the processing will continue in step 1368 to obtain the registration of the next button from the variable of macro. Returning to decision step 1374, if the button type is not immediate, that is, the type of button is expected, then the expansion process occurs at regular intervals. Expansion at regular intervals begins by waiting at a step 1378, in accordance with the elapsed time saved in the button record. For a type of button to wait, a predetermined amount of time elapsed previously or pre-programmed between the sending of signals, Multi-Frequency Dual Tone corresponding to the buttons of the phone in the sequence of macros. Once the previously determined time has elapsed, then the processing continues in step 1380 to wait until the decibel or signal level of a received signal (analog reception signal 261 or a digital signal) indicates that the service is ready to receive the next Dual Tone Multi Frequency signal in the macro sequence. Once the signal level or decibels has fallen below a threshold (X decibels), then the Dual Tone Multi Frequency signal corresponding to the button in the register is transmitted, in step 1376. Then the following is obtained macro record button, in step 1368. A macro can be composed as a mixture of immediate and wait buttons. Preferably, the user can configure the decibel threshold that is used in step 1380. A flowchart to invoke a macro by speech is illustrated in Figure 13d. In a step 1382, the user is asked to voice the voice command. In a step 1384, the user enters the delimited voice command. In a step 1386, the voice is then converted to a text string, in a manner similar to that described above. Then the local library (voice-invoked macros) stored in a memory or storage device of the present invention is accessed, in a step 1388, to find the string identified in step 1386. If the macro is found for the string of? exto, as determined in a decision step 1390, then in a step 1392, the macro variable is set to the macro field of the found library entry. The macro is then executed by the flow chart shown in Figure 13c, described above, in the manner of the connector 13c of the flow chart. Going back to decision step 1390, if the matching macro is not found, then an error tone is provided to the user, in a step 1394. Then processing continues again to step 1308 shown in Figure 13b, in the manner of connector 13c of the diagram flow. Figure 13e illustrates a flow chart for tracking macros. In a step 1301, the user is provided with a message explaining how to key in the key outside the macro tracking function. In the modality shown in Figure 13e, the only way to exit the macro tracking function is to hit the identified key key. The key key can be selected at any time to exit the macro tracking function. In a step 1303, the next entry in the macro library is retrieved. The first encounter of step 1308 of step 1301, retrieves the first entry of the library. If all the entries in the macro library have been retrieved, as determined in a decision step 1305, then the user is given a message, out of sold out, in a step 1307. After the processing is returned to the main cycle which is shows in Figures 13a and 13b, in the manner of the connector 13a of the flow chart. Returning to decision step 1305, if all the entries in the macro library have not been retrieved, then, in a step 1309, the description of the entry of the recovered macro library is reproduced. Step 1309 plays the recording or notes the text string. Then, in a step 1311, the user is asked to choose if he wants to hear the invocation for this entry in the macro library. If the user wishes to hear the invocation, as determined in a decision step 1313, then processing continues at a decision step 1315. In decision step 1315, it is determined whether the invocation type is a voice command. If the invocation type is not a voice command, indicating that this is a button command, then the user is signaled the button (or buttons), in a step 1317. A tone is then provided to the user, to indicate the end of the output of the input, in a step 1321. Then processing to step 1303 continues to obtain the next entry of the macro library. Returning to decision step 1315, if the invocation type is a voice command, then the string is signaled to the user, in a step 1319. The user is then provided with the tone indicating the end of the input output, in step 1321, and the processing returns to step 1303. Returning to step 1313, if the user opted not to hear the invocation sequence, then step 1313 proceeds to step 1321 for the output tone, and processing returns to step 1303 Figure 13f illustrates a flow diagram for suppressing a macro. In step 1323, the user is asked with a tone for the type of invocation, that is, voice or button. The deletion of a macro by its voice command, or by its button reference, is determined by the type of suppression command captured by step 1360 of Figures 13a and 13b. In a step 1325, the user enters the invocation in accordance with the suppression command determined in step 1360. In step 1325, the user speaks the voice command for a voice command macro, or otherwise enters the reference of button. In a step 1327, an attempt is made to recover the entry of the local macro library of the telephone device of the present invention. Step 1327 is performed in accordance with the invocation type for the macro sequence. For example, if the macro is a voice command macro, then, in step 1327, the search is sought. voice string from step 1325, to find the particular macro. Step 1325 converts the voice to a text string in preparation for the search. In a decision step 1329, it is determined if the macro has been found. If the macro was not found, then an error tone is provided to the user, in step 1331. Then processing returns to button inspection step 1308, in Figures 13a and 13b, in the manner of connector 13a of the flow chart. Returning to step 1329 of the decision, if the macro is found, then it is suppressed in a step 1333. A success tone is provided to the user in a step 1335. Processing then proceeds to step 1308 of the main cycle shown in Figures 13a and 13b, in the manner of the connector 13a of the flow chart. Figure 13g illustrates a flow diagram for transmitting Dual Tone Multi Frequency signals for the appropriate buttons, for example, by dialing the digits in the selections of the menu options of an automated service. In a step 1337, the transmission of the Dual Tone Multi Frequency signal corresponding to the button that has been entered is transmitted. Then the processing proceeds to step 1308, in Figures 13a and 13b, in the manner of the connector 13a of the flow chart. 4. Conclusion Although different embodiments of the present invention have been described above, it should be understood that these have been presented by way of example only, and not limitation. For example, additional functions can be added to the telephone device by using the software download feature of the present invention. The telephone device of the present invention can be configured with a visual display, to facilitate interconnection with the user. The telephone device of the present invention can also be configured with removable storage or memory devices, to facilitate the interconnection of the telephone device with a computer. The telephone device of the present invention can be called to retrieve recorded messages, to facilitate remote access by the user. Thus, the breadth and scope of the present invention should not be limited by any of the exemplary embodiments described above, but should be defined only in accordance with the following claims and their equivalents.

Claims (56)

1. A telephone device, comprising: a connection circuit for connecting the telephone device to a network, allowing by the same that the telephone device receives and initiates telephone calls through the network; and a computer system for controlling the telephone device, the computer system comprising: a processor coupled to the connection circuit, a memory device coupled to the processor, for storing the computer program logic, for controlling said processor, data elements coupled to the processor to transmit and receive data through the network, and elements to accept the input of a user, the input implemented through user interconnection interruption vectors, which allow the processor to operate the telephone device to perform functions of data processing.
The telephone device of claim 1, characterized in that it also comprises: an answering device for playing an output message when an incoming telephone call is not answered after a predetermined number of rings.
3. The telephone device of the claim 2, characterized in that it also comprises: a recorder for recording an audible message, the recorder having a sampling rate that can be set.
4. The telephone device of the claim 3, wherein the recorder comprises a converter to convert speech to text.
The telephone device of claim 3, wherein the output message corresponds to a record in an index table stored in the memory device, the record including an index number equal to one, a recording data type, a date and time identifier, and a unique file name for the output message, and where the audible message corresponds to a different record in the index table, said different record including an index number that is not equal to one , a type of recording data, a date and time stamp, and a unique file name for the audible message.
The telephone device of claim 3, characterized in that it also comprises: a reproducing device for reproducing the message, audible.
7. The telephone device of claim 1, wherein a portion of the computer program logic is input to the telephone device from the network, by means of the data element.
8. The telephone device of the claim 1, wherein a status message is provided hanging on the network, such that telephone calls can be received, while the telephone device is in an offline mode.
9. The telephone device of the claim 3, where the recorder is set to record one side of a telephone conversation.
The telephone device of claim 3, wherein the recorder is configured to record both sides of a telephone conversation.
The telephone device of claim 1, characterized in that it also comprises: a computing element for configuring the telephone device to function as a calculator.
12. The telephone device of the claim 1, characterized in that it also comprises: a macro element for defining an invokable sequence of buttons of the telephone.
13. A telephone device comprising: i a call connection element for connecting the telephone device to a network, allowing by the same thing that the telephone device receives and initiates telephone calls through the network; and a control element for controlling the telephone device, wherein the control element is responsive to the user's interconnection interruption vectors, to configure the telephone device to perform data processing functions.
The telephone device of claim 13, wherein the control element provides a status message hung to the network, such that telephone calls can be received while the telephone device is in an off-line mode.
The telephone device of claim 13, wherein the control element comprises: a recording element for recording an audible message; and a playback element to reproduce the audible message.
16. The telephone device of the claim 15, wherein the recording element has a sampling rate that can be set.
17. The telephone device of the claim 16, wherein said recording element comprises a conversion element for converting speech to text.
18. The telephone device of claim 15, wherein said control element also comprises: an answering element for playing an output message when an incoming telephone call is not answered, after a predetermined number of rings.
The telephone device of claim 13, wherein the control element comprises: a facsimile element for receiving and transmitting facsimile messages through the network.
20. The telephone device of the claim 19, wherein said facsimile element comprises a modem.
The telephone device of claim 18, wherein the control element also comprises: a facsimile element for receiving and transmitting facsimile messages through the network.
22. The telephone device of claim 13, wherein the control element comprises: a computing element for configuring the telephone device to function as a calculator.
23. The telephone device of the claim 21, wherein the control element also comprises: a calculation element for configuring the telephone device to function as a calculator.
The telephone device of claim 13, characterized in that it also comprises: a, macro element for defining an invokable sequence of telephone buttons.
25. The telephone device of claim 24, wherein the sequence is a user defined sequence.
The telephone device of claim 21, characterized in that it also comprises: a macro element for defining an invokable sequence of telephone buttons.
27. The telephone device of the claim 26, where the sequence is a sequence defined by the user.
28. A method for controlling the operation of a telephone device, comprising: (1) establishing a connection between the telephone device and a software provider through a network; (2) download the logic software program from the software provider into the telephone device, to control a processor; and (3) installing user interconnection interrupt vectors in a memory device coupled to the processor, wherein the user interconnection interrupt vectors are used in the configuration of the telephone device to perform data processing functions.
29. The method of claim 28, wherein the computer program logic comprises hanging status message elements, to allow the processor to configure the telephone device to provide a status message hung to the network, so that calls are received telephone while the telephone device is in offline mode.
30. The method of claim 29, wherein the logic of the computer program also comprises: a recording element to enable the processor to configure the telephone device to record an audible message; and a playback element to allow the processor to configure the telephone device to reproduce the audible message.
The method of claim 30, wherein the logic of the computer program also comprises: an answering element to enable the processor to configure the telephone device to play an output message, when an incoming telephone call is not answered after a pre-determined number of rings.
32. The method of claim 31, wherein the computer program logic further comprises: a facsimile element to enable the processor to configure the telephone device to receive and transmit facsimile messages through the network.
33. The method of claim 32, where the software programmer also comprises: a calculator element to allow the processor to configure the telephone device to function as a calculator.
34. The method of claim 33, wherein the logic of the computer program also comprises: a macro element to enable the processor to configure the telephone device to define an invokable sequence of telephone buttons.
35. A method for processing a telephone call using a telephone device, comprising: (1) determining whether the telephone device is in an off-line mode; (2) answer the telephone call if the telephone device is in offline mode, and (a) process a fax if a fax tone is detected, and (b) initiate a sequence of the answering device if a tone is not detected of facsimile; and (3) ring a bell if the telephone device is not in off-line mode, and, (a) initiate a received call processing sequence, if the telephone call is not answered after a predetermined number of rings.
36. The method of claim 35, wherein step (2) (A) comprises: (i) creating a file having a unique file name on a storage device; (ii) store the facsimile data received in said file; and (iii) insert a record in an index table that corresponds to the file.
37. The method of claim 36, wherein the register includes an index number, a facsimile data type, a date and time identifier, and said unique file name.
38. The method of claim 35, wherein step (2) (B) comprises: (i) providing a device message unavailable if a recorder is in use; and (ii) secure the recorder if the recorder is not in use, and (a) play an output message, (b) record an input message on the recorder for a pre-determined time interval,, (c) insert a record in an index table, which corresponds to the input message, and (d) release the recorder.
39. The method of claim 38, wherein step (ii) (b) comprises: (1) creating a file in the recorder, having a unique file name; (2) convert speech into the input message to input text; and (3_) store the input text in that file.
40. The method of claim 39, wherein the register includes an index number, a type of recording data, a date and time identifier, and the unique file name.
41. The method of claim 35, wherein step (3) (A) comprises: (i) answering the telephone call if the telephone device is in off-line mode, and (a) processing a facsimile if detected a facsimile tone, and (b) start a sequence of the answering device if a facsimile tone is not detected.
42. A method for controlling the operation of a telephone device, comprising: (1) receiving a sequence of telephone buttons that allows a user to perform data processing functions; Y . (2) configure the telephone device to perform data processing functions selected by the user.
43. The method of claim 42, wherein the telephone device is configured to perform recorder functions, and step (2) comprises: (a) controlling a recorder to record a new recording in a file having a file name only; e (b) inserting a record corresponding to the new recording into an index table, wherein the record includes an index number, a type of recording data, a date and time identifier, and the unique file name.
44. The method of claim 42, wherein the telephone device is configured to perform recorder functions, and step (2) comprises: (a) reproducing a recording that corresponds to an index number selected by the user, wherein the recording corresponds to a record in an index table that includes said index number; and (b) provide an error tone if the index number is not valid.
45. The method of claim 42, wherein the telephone device is configured to perform recorder functions, and step (2) comprises: (a) deleting a record from an index table, wherein the record includes a number of index selected by the user; and then (b) renumbering the records in the index table including number greater than, or equal to 2.
46. The method of claim 42, wherein the telephone device is configured to perform recorder functions, and the Step (2) comprises: (a) retrieving a record from an index table; (b) notifying the user of an index number, a type of data, and a date and time identifier included in that record; and (c) play a recording that corresponds to the record, if the type of data is recording.
47. The method of claim 46, wherein step (2) also includes: (d) retrieving a record that follows from the index table, if that type of data is a facsimile.
48. The method of claim 46, wherein step (2) also includes: (d) discontinuing step (C) if the user selects a key key; and (e) retrieve a record that follows the index table. ,
49. The method of claim 42, wherein the telephone device is configured to perform facsimile functions, and step (2) comprises: (a) establishing a page header, as specified by the user; (b) establish a PARA field and a DE field, as specified by the user; (c) specifying a facsimile to be sent, where the facsimile corresponds to an index number selected by the user, the facsimile corresponding to a record in an index table that includes said index number; (d) ask the user for an objective telephone number for the facsimile; and (e) send the facsimile.
50. The method of claim 49, wherein the facsimile to be sent is a facsimile previously received by the telephone device.
51. The method of claim 49, wherein the facsimile to be sent is a speech recording.
52. The method of claim 51, wherein step (E) comprises: (i) converting speech recording to textual words; , (ii) place the textual words in a transmission waiting line in a first-in-first-in-out order; and (iii) repeating steps (i) and (ii) until the speech recording is complete.
53. The method of claim 52, wherein step (E) also comprises: (iv) retrieving a line of textual words from the transmission queue; (v) transmit a page of textual words, once the page is complete; (vi) transmit one last page of textual words, once step (iii) is completed, and all textual words in the transmission queue are retrieved.
54. The method of claim 42, wherein the telephone device is configured to perform recorder functions, and step (2) comprises: (a) 'determining whether a recorder is in use; and (b) providing an unavailable device message, if the recorder is in use; and (c) securing the recorder, if the recorder is not in use, and i) providing an instruction to the user to record an output message, '(ii) recording the output message on the recorder during a predetermined time interval, (iii) insert a record into an index table, which corresponds to the output message, the record including an index number equal to one, and (iv) release the recorder.
55. The method of claim 42, characterized in that it also comprises: (3) sending a hanging status message to the telephone network switch, such that telephone calls can be received while the telephone device is in an off-line mode .
56. The telephone device of claim 1, wherein said data element comprises a modem.
MXPA/A/1999/000259A 1996-06-27 1999-01-04 Intelligent telephone inalambr MXPA99000259A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US029183 1979-04-12
US799414 1997-02-12

Publications (1)

Publication Number Publication Date
MXPA99000259A true MXPA99000259A (en) 2000-07-01

Family

ID=

Similar Documents

Publication Publication Date Title
AU617882B2 (en) Telephone answering service with integrated voice and textual message storage
US4894857A (en) Method and apparatus for customer account servicing
US7068643B1 (en) Extensible interactive voice response
US5309504A (en) Automated identification of attendant positions in a telecommunication system
US5822405A (en) Automated retrieval of voice mail using speech recognition
US5533102A (en) Telephone auto attendant system for delivering chosen greetings to callers while on the phone
CA2172748C (en) Digital secretary
US5357562A (en) Automated facsimile/voice memory managing system
EP0906683A1 (en) Wireless smart phone
US5737393A (en) Script-based interactive voice mail and voice response system
WO1997050222A9 (en) Wireless smart phone
US6983138B1 (en) User interface for message access
US20040214553A1 (en) Apparatus and method for transmitting call holding message in mobile communication terminal
EP0472389B1 (en) Method and apparatus for programming a voice services system
JPH08181793A (en) Telephone communication equipment
JPH09247264A (en) Scratch pad facility for messaging system
US10536577B2 (en) Method and apparatus for data channel augmented voice telephony systems
EP0472386A2 (en) Digital signal processing control method and apparatus
US20030103618A1 (en) Voice browsing while waiting in a hold queue
JPH09116616A (en) Automatic answering telephone system
JPH0620211B2 (en) Mail service system
JP3329840B2 (en) Method and apparatus for integrated voice communication
MXPA99000259A (en) Intelligent telephone inalambr
US5991397A (en) Voice paging service control method in a switching system
AU723629B2 (en) Apparatus and method for providing music-on-hold service in key telephone system