- The present patent document relates generally to a voicemail system and more particularly to a voicemail system suitable for handheld communication devices. 
- A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
- Handheld devices such as Personal Digital Assistants (PDAs), cellular phones, portable computing devices and other two-way data and/or voice communication devices are fast becoming ubiquitous. In particular, powerful handheld devices that allow both voice and data communication are now fairly common in certain businesses and government agencies. Such handheld communication devices are in high demand, as they permit voice and electronic communication, as well as management of personal and business related information using email, calendars, contacts and address books, all without impeding mobility. Popular handheld devices include those supplied by Research In Motion Ltd. of Waterloo, Ontario, Canada. 
- A number of communications services that are typically accessed through handheld devices preceded the proliferation of powerful handheld devices. As such, certain inherent deficiencies may be present that could be avoided with a re-design of the provisioned application to take the capabilities of the mobile handheld device fully into account. 
- A typical example of such a service is voicemail. Voicemail is designed as a service provisioned by a network provider. A user accesses his or her voicemail by calling into the network, keying in an appropriate authentication such as a mailbox number and password, and generally interacting with the voicemail system by inputting data, typically through a touchtone telephone interface, and receiving feedback through voice instructions. 
- This has several disadvantages. First, the user is not able to see at a glance how many messages are waiting, when they were received, and who may have sent them. The user must go though each message sequentially, listening to instructions and keying in responses, to answer questions and to make menu selections regarding whether to listen to the message, skip it, delete it or store it. 
- Secondly, since the user cannot see the messages, the user cannot skip to the messages that he is interested in. As a result, time is wasted dealing with messages not of current interest to the user. At a minimum, at least some time must elapse as the user listens to information about the sender before moving on to the next message, even when deciding to skip the current message. 
- Accessing voicemail as described above has served older telephone devices well, and has provided a degree of location independence. However, today's wireless digital handheld devices have far greater digital processing power and better screens that may be harnessed to provide a superior voicemail service. 
- WO99/16181A-  discloses a system and method in which email and voicemail messages are stored locally at a portable telephone with a screen which displays both email and voicemail messages. A user may select a voicemail message and press play to hear the message. 
 
- WO2007/002753A-  discloses a system and method in which voice mail is stored locally on a cellular telephone. The phone has a voice mail screen and a separate email screen. A voice mail message can be deleted by pressing a key. A caller can specify a subject to be stored with a voice mail message being left. 
 
- US2006/0094358A1-  discloses a system and method in which a cell phone can download voice mail from a central voice mail system. 
 
- US-B1-6,240,299-  discloses a system and method for a digital telephone answering machine on a cellular telephone in which speech is compressed for compact storage. 
 
- Accordingly, there is a need for an improved voicemail system for handheld devices that improves ease of use, reduces unnecessary user input, and reduces network connection time. 
BRIEF DESCRIPTION OF THE DRAWINGS- Aspects and features of the disclosed device and method will become apparent to those of ordinary skill in the art upon review of the following description of specific embodiments in conjunction with the accompanying figures. In the figures which illustrate example embodiments: 
- FIG. 1 is a schematic diagram depicting a typical networked environment in which a handheld computing device may be used;
- FIG. 2 is a block diagram of the various components of a handheld device;
- FIG. 3 is a screenshot of a user interface used in a conventional voicemail system executing on the handheld device ofFIG. 2;
- FIG. 4 is a further screenshot of a user interface used in a conventional voicemail system;
- FIG. 5 is a flowchart depicting typical steps taken by a user, operating the handheld device ofFIG. 2, to access his or her audio messages stored in a conventional voicemail system;
- FIG. 6 is a screenshot of a user interface for a voicemail system exemplary of one embodiment disclosed herein, displaying voicemail messages together with email messages and text messages;
- FIG. 7 is another screenshot of the user interface ofFIG. 6, depicting a context menu presented after a voicemail message record is opened;
- FIG. 8 is a screenshot of a user interface on a handheld device, for a voicemail system exemplary of another embodiment, displaying interrelated voicemail messages as threaded exchanges;
- FIG. 9 is a block diagram of a database storing data associating callers with message records; and
- FIG. 10 is a flowchart depicting actions taken by the handheld device ofFIG. 2 as an incoming call is passed to its voicemail system.
- FIG. 11 is a flowchart depicting actions taken by the handheld device ofFig. 2 if the handheld user replies to a message.
GENERAL- The object of the invention is solved by the subject matter of the independent claims. Preferred embodiments are defined in the dependent claims. 
- One aspect of the invention provides, a method of providing a voicemail service at a handheld wireless device comprising: recording an incoming audio message in a local memory of said handheld device; and displaying an incoming audio message record, corresponding to said incoming audio message, in a user interface screen of said handheld device, said user interface screen contemporaneously presenting email message records along with said incoming audio message record; placing a call to a recipient; determining that said call is answered by a remote voicemail system; transmitting an outgoing audio message to said remote voicemail system; and displaying in said user interface screen an outgoing message record for said outgoing audio message. 
- Another aspect of the invention provides, a handheld device comprising: a wireless receiver; a speaker; a memory; a display; and a processor, operable to: transition said device to answering-machine mode and record an incoming audio message from said caller in said memory; display an incoming audio message record corresponding to said audio message in a user interface screen on said display, said screen contemporaneously presenting email message records and said incoming audio message record; record in said memory using said microphone, an outgoing audio message left on a remote voicemail system; and display an outgoing message record corresponding to said outgoing audio message on said user interface screen. 
DESCRIPTION OF PREFERRED EMBODIMENTS- FIG. 1 shows a schematic diagram depicting a typicalnetworked environment100 in which an exemplaryhandheld device200 may be used.Networked environment100 includes adesktop computing device102, aserver computer104, a wide area network (WAN)106, acommunications network110 andhandheld device200.Server104 includes email server software, and is interconnected with adesktop computer102 through a local area network (LAN)114.Server104 additionally includes software that facilitates access to the email server software byhandheld device200. 
- A radio frequency (RF)base station112 provides a communication link between WAN106, which may be the public Internet, and acommunications network110, which may be a wireless network.Handheld device200 accesses data fromserver104 ordesktop computer102 through thecommunications network110 and WAN106. In some network architectures, a firewall may be implemented between WAN106 andserver computer104 to gate access to LAN114, which may be a corporate LAN. 
- Handheld device200 is loaded with email client software that accesses email messages stored in mail server software (such as Microsoft Exchange or Lotus Domino software) running onserver104. To facilitate data access byhandheld device200,server104 may be loaded with specialized software to provide compression and encryption of data and a data interface with the mail server software. 
- FIG. 2 is a schematic diagram of exemplary handheldmobile communication device200.Device200 includes a housing, an input device (keyboard214), and an output device (display226), which may be a full graphic Liquid Crystal Display (LCD). Other types of output devices may alternatively be utilized. A processing device (microprocessor228) is shown schematically inFIG. 2 as coupled between thekeyboard214 and thedisplay226. Themicroprocessor228 controls the operation of thedisplay226, as well as the overall operation of thehandheld device200, in response to actuation of keys on thekeyboard214 by a user. 
- The housing may be elongated vertically, or may take on other sizes and shapes (including clamshell housing structures). The keyboard may include a mode selection key, or other hardware or software for switching between text entry and telephony entry. 
- In addition to themicroprocessor228, other parts of thehandheld device 200 are shown schematically inFIG. 2. These include: acommunications subsystem270; a short-range communications subsystem202; thekeyboard214 and thedisplay226, along with an input entry device such as atrack ball206 and other auxiliary input/output devices207, aserial port208, aspeaker211 and amicrophone212; as well as memory devices including aflash memory216 and a random access memory (RAM)218; and variousother device subsystems220. As is known,track ball206 may be rotated to provide scrolling and pressed to allow selection. Thehandheld device200 has abattery221 to power the active elements of thehandheld device200. Thehandheld device200 is preferably a two-way radio frequency (RF) communication device having voice and/or data communication capabilities. In addition, thehandheld device200 may have the capability to communicate with other computer systems via the Internet. 
- Operating system software executed by themicroprocessor228 is preferably stored in a persistent store, such as theflash memory216, but may be stored in other types of memory devices, such as a read only memory (ROM) or similar storage element. In addition, system software, specific device applications, or parts thereof, may be temporarily loaded into a volatile store, such as theRAM218. Communication signals received by thehandheld device200 may also be stored to theRAM218. 
- Themicroprocessor228, in addition to its operating system functions, enables execution of software applications on thehandheld device200. A predetermined set of software applications that control basic device operations, such as avoice communications module230A and adata communications module230B, are installed on thehandheld device200 during manufacture. Thedata communications module230B allows the handling of email messages. In addition, a personal information manager (PIM)application module230C is also installed on thehandheld device200 during manufacture. The PIM application is capable of organizing and managing data items, such as e-mail, calendar events, voicemails, appointments, and task items. The PIM application is also capable of sending and receiving data items viawireless network110. The data items managed by the PIM application are seamlessly integrated, synchronized and updated via the wireless network with the device user's corresponding data items stored or associated with a host computer system. As well, additional software modules, illustrated asother software modules230N, may be installed during manufacture. 
- Communication functions, including data and voice communications, are performed through thecommunication subsystem270, and possibly through the short-range communications subsystem202. Thecommunication subsystem270 includes areceiver250, atransmitter252 and one or more antennas, illustrated as a receiveantenna254 and a transmitantenna256. In addition, thecommunication subsystem270 also includes a processing module, such as a digital signal processor (DSP)258, and local oscillators (LOs)260. The specific design and implementation of thecommunication subsystem270 is dependent upon the communication network in which thehandheld device200 is intended to operate. For example, thecommunication subsystem270 of thehandheld device200 may be designed to operate with the Mobitex™, DataTAC™ or General Packet Radio Service (GPRS) mobile data communication networks and also designed to operate with any of a variety of voice communication networks, such as Advanced Mobile Phone Service (AMPS), Time Division Multiple Access (TDMA), Code Division Multiple Access CDMA, Personal Communications Service (PCS), Global System for Mobile Communications (GSM), etc. Other types of data and voice networks, both separate and integrated, may also be utilized with thehandheld device200. 
- Network access requirements vary depending upon the type of communication system. For example, in the Mobitex™ and DataTAC™ networks,handheld devices200 are registered on the network using a unique Personal Identification Number (PIN) associated with each device. In GPRS networks, however, network access is associated with a subscriber or user of a device. A GPRS device therefore requires a subscriber identity module, commonly referred to as a Subscriber Identity Module (SIM) card, in order to operate on a GPRS network. 
- When required network registration or activation procedures have been completed, thehandheld device200 may send and receive communication signals over thecommunication network110. Signals received from thecommunication network110 by the receiveantenna254 are routed to thereceiver 250, which provides for signal amplification, frequency down conversion, filtering, channel selection, etc., and may also provide analog to digital conversion. Analog-to-digital conversion of the received signal allows theDSP258 to perform more complex communication functions, such as demodulation and decoding. In a similar manner, signals to be transmitted to thenetwork110 are processed (e.g., modulated and encoded) by theDSP258 and are then provided to thetransmitter252 for digital to analog conversion, frequency up conversion, filtering, amplification and transmission to the communication network110 (or networks) via the transmitantenna256. 
- In addition to processing communication signals, theDSP 258 provides for control of thereceiver250 and thetransmitter252. For example, gains applied to communication signals in thereceiver250 and thetransmitter252 may be adaptively controlled through automatic gain control algorithms implemented in theDSP258. 
- In a data communication mode, a received signal, such as a text message or web page download, is processed by thecommunication subsystem270 and is input to themicroprocessor228. The received signal is then further processed by themicroprocessor228 for an output to thedisplay226, or alternatively to some other auxiliary I/O devices207. A device user may also compose data items, such as e-mail messages, using thekeyboard214, an input entry device such as atrack ball206 and/or some other auxiliary I/O device207, such as a touchpad, a touch screen, a thumbwheel, a joystick, a rocker switch, or some other type of input entry device. The composed data items may then be transmitted over thecommunication network110 via thecommunication subsystem270. 
- In a voice communication mode, overall operation of the device is substantially similar to the data communication mode. However for voice communication a speech encoding step is involved at the transmitter and correspondingly a speech decoding step occurs at the receiver. At the transmitter, after analog-to-digital conversion of the output ofmicrophone212, digital voice samples are encoded by a speech coder before being modulated for transmission. In GSM networks for example, a GSM AMR (Adaptive Multi Rate) speech coder may be used to encode audio data for network transmission. Similarly, at the receiver, the network-encoded audio data may be decoded using the corresponding GSM AMR decoder. After the audio data is decoded, it is then converted to an analog signal by a digital-to-analog converter and output to a speaker, such asspeaker211. Variants such as Adaptive Multi Rate - Wide Band (AMR-WB) compliant speech coders may also be used in GSM networks. Other speech codecs, compliant to a suitable standard defined for the particular underlying voice anddata communication network110, may of course be used. Suitable speech codecs for a given voice and data communication network would be known to persons skilled in the art. 
- At the transmitter, audio signals are usually generated by amicrophone212. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on thedevice200. In addition, thedisplay226 may also be utilized in voice communication mode, for example, to display the identity of a calling party, the duration of a voice call, or other voice call related information. 
- The short-range communications subsystem202 enables communication between thehandheld device200 and other proximate systems or devices, which need not necessarily be similar devices. For example, the short-range communications subsystem may include an infrared device and associated circuits and components, or a Bluetooth™ communication module to provide for communication with similarly-enabled systems and devices. 
- Handheld device200, when operating under the control of known software, may be used to access voicemail messages from a conventional voicemail system provided by a network provider. The software may include device code (firmware), operating system software and a suite of software applications and processes. 
- Typical steps taken by a user of ahandheld device200, to access voicemail messages from a conventional voicemail system are illustrated inFIGS. 3-5. Variations in the depicted sequence of actions, such as the use of voice commands instead of keyboard keys, or changes in the order of steps, are possible. 
- FIG. 3 depicts an exemplary typical userinterface message screen300 used onhandheld device200.Icon302A visually indicates arecord302 for a voicemail message;icon304A, arecord304 for a replied to email message;icon306A, arecord306 for an opened email message; andicon308A, arecord308 for an unread email message.Icon302A and the title ofmessage record302, indicate that the message is a voicemail message (as opposed to an email or text message for example). 
- In addition to the icons, message records may contain other fields which provide information such as a time of arrival field, a sender identification field and a subject field. Forexample message record308 contains atime field308B, emailsender id field308C and a title orsubject field308D associated with the message corresponding tomessage record308. 
- The user may bring up a pop-upmenu screen402 as depicted inFIG. 4, by usingtrack ball206 after openingmessage record302 and navigate through themenu screen402 to make a selection of amenu entry404 using thetrack ball206. It is noted that other input entry devices such askeyboard214, or a touchpad, touch screen, joystick or the like may also employed to call up themenu screen402 or navigate or make a selection of amenu entry404. Whenmenu entry404 ofpopup menu402 labeled "Call Voice Mail" is selected, thehandheld device200 makes a call to a conventional voicemail system provided by the wireless network provider. There is typically a dedicated phone number that is dialed to access the voicemail mailbox used by the particularhandheld device200 whenentry404 is selected. 
- FIG. 5 depicts a flowchart illustrating typical steps taken by a user operating ahandheld device200 to access his or her messages stored in a conventional voicemail system. 
- The user first calls into the telephone network using a wireless handheld device200 (S502). This is done by dialing a number associated with his voicemail mailbox. Once the call successfully connects into the voicemail system, the user then supplies his password when prompted (S504). 
- All data entry is typically done using keys on a touchtone phone keypad. Data is presented to the user, via voice commands, through the speaker of the handset ofhandheld device200. If the password is incorrect (S506) it must be re-entered (S504). 
- The user listens to the current message (S508). After hearing the current message, the user may listen to instructions (S510) and either press a key on an input entry device (e.g. pressing thetrack ball206 orkeyboard214 or the like) to delete the message (S512, S518); press a different key to save the message (S514, S520) or simply skip the message. If more voicemail messages are available on the voicemail system (S522), the process may revert toS510. AtS524 a "main menu" may be invoked. The user may perform the selected task (S516) such as setting configuration parameters, recording a greeting or setting the number of times a call should ring before going to the voicemail system. Alternately, the user may choose to listen to messages again starting atS510 using options in the main menu (S524). 
- Although, various conventional systems differ in their implementation, the use of a touchtone key and inspection of messages one-by-one is the norm in conventional voicemail systems. It is instructive to note that the user may call into the voicemail using an ordinary telephone handset and a traditional land-based telephone line instead of a wireless handheld device. Thus the voicemail system neither requires nor takes advantage of the many advantageous features in wireless handheld devices. Moreover, the voicemail system takes for granted the availability of a connection, which may not be the case when using wireless handhelds. If the user is not in a location that permits wireless communication and cannot access a land line, his voice messages are inaccessible. This is very undesirable, as the messages have already been stored. The voicemail thus achieves location independence at the cost of requiring a new wireless network connection, just for the purpose of accessing a stored message. 
- The lack of a visual interface to guide a user through the steps ofFIG. 5 is also disadvantageous. In sharp contrast to other messaging applications that make full use of the screen provided on a handheld device such as email or text messaging, the user is not able to see at a glance information about the nature of voicemail messages, such as when a message was received, who may have sent it or the length of the message. 
- Moreover, as will be apparent fromFIG. 5 the user must go though voicemail messages sequentially, inputting commands to indicate preferred actions such as whether to listen to the message, skip it, delete it or store it. 
- As the user cannot see an organized presentation of meta data (such as sender name or phone number, arrival time, or length) for the voicemail messages, the user cannot easily select desired messages to access - particularly when a large number of voicemail messages are present. Time is wasted considering each message sequentially and deciding whether to store, skip or delete it. Specifically, some time elapses as the user listens to at least some portion of the message before moving on to the next, even when deciding not to listen to the entire voice message. 
- Additionally, there is no way to easily see which messages are received from the same sender, and how long the messages may be. 
- The user is also not able to see voice messages that he may have left for others. It would be very advantageous to be able to see the interrelationships between messages received and messages sent as some of the sent and received messages may form a chain, or a thread. 
- To overcome these and the other related disadvantages noted above, an exemplary embodiment of a voicemail system incorporates an answering machine onhandheld device200. 
- To operatehandheld device200 as an answering machine, in one embodiment,microprocessor228 stores network-encoded audio data received throughcommunication subsystem270 andvoice communication module230A, in local memory (e.g.,RAM218,flash memory216 or a new block of memory). As noted above, the format of the network-encoded audio data would be compliant with a suitable standard defined for the voice anddata communication network110 used. In an exemplary embodiment, an AMR-WB encoded audio data compliant to the ITU-G.722.2 standard, may be received over a GSM voice and data communications network and stored in local memory. 
- During playback of recorded audio messages,microprocessor228 may be used to decode network-encoded audio stored in local memory and output the decoded audio message throughspeaker211. 
- In another embodiment,handheld device200 may be loaded with separate audio codec software different from the speech codec used for network-encoded audio data. The audio coder portion of the codec software may be used to encode either decoded audio data received via thecommunication system270 or raw digital audio data frommicrophone212 in a compressed format suitable for storage (rather than transmission). The audio decoder may be used to decode compressed audio data encoded by the audio encoder and output the resulting audio tointerconnected speaker211. 
- In an alternate embodiment of the above, the audio codec may be formed as a dedicated hardware module (not shown), coupled to local memory (RAM218,flash memory216 or a new block of memory),microprocessor228,communication system270,microphone212, andspeaker211, and incorporated intohandheld device200 to reduce the computational load onmicroprocessor228. The audio coder may employ a compression engine to reduce the size of audio files written to local memory. Most audio compression schemes discard some data from raw digitized audio input to reduce the amount of memory required to store the audio data. When a compression engine is used by a codec, a corresponding decompression engine should used by the decoder to play back the audio. Audio codecs that use standardized compression/decompression techniques are well known in the art. The audio coder may thus accept decoded audio after the network-encoded audio data is decoded by a speech decoder (e.g., AMR-WB decoder) and compress the decoded audio data into a format suitable for storage in local memory. Conversely, the audio decoder may read compressed audio data from memory, decompress and output the corresponding audio signal tospeaker211. 
- Many file formats suitable for storing audio are known. Examples include MP3, WAV, AIFF and WMA formats. MP3 denotes the moving pictures expert group (MPEG) audio layer 3 standard, and has become extremely popular with users of personal computers and portable digital music players. WAV is short for waveform audio format, while the WMA stands for Windows Media Audio format which is a popular but proprietary standard. AIFF stands for the Audio Interchange File Format and is often used to store uncompressed audio data on personal computing devices. 
- In yet another embodiment, incoming network-encoded audio data is first decoded and then stored in local memory in a format suitable for outputting tospeaker211 after digital-to-analog conversion. 
- In operation,handheld device200 may receive, store and present voicemail messages. The presentation may be very similar to the presentation of other messages such as emails, short messaging service (SMS) messages - also known as text messages - or multimedia messaging service (MMS) messages. 
- After ahandheld device200 rings for a predetermined (configurable) number of times,handheld device200 enters answering-machine mode. Oncehandheld device200 enters answering-machine mode, the caller is prompted to leave a message. If the caller proceeds to leave a message,microprocessor228 may store the incoming message in local memory. The incoming message may be stored as network-encoded audio data (e.g., AMR-WB encoded data), or as decoded raw audio data suitable for digital-to-analog conversion; or as an audio file after decoding the received network-encoded audio and re-encoding the audio data (e.g., an MP3 file). 
- Handheld device200 may alternately enter answering-machine mode if the user chooses to ignore an incoming call (by appropriate selection from a menu that may pop up on receipt of a new call) or if the user configures device settings on thehandheld device200 so that upon reception of a phone call,handheld device200 automatically enters answering-machine mode. Various other methods of entering answering-machine mode will be apparent to those of ordinary skill in the art. 
- Once the caller leaves a message and hangs up, a message record associated with the incoming message (stored as an audio file) may be created bymicroprocessor228 and displayed to the user in auser interface screen600 shown inFIG. 6. Optionally, where a user calls out and leaves a voicemail message on a remote voicemail system, an outgoing message record may be created. In addition,microprocessor228 may concurrently record the outgoing message in local memory of thehandheld device200. 
- In the depicted exemplary embodiment, the presentation of a voicemail message looks very similar to the presentation of an email message received using email client software.Title bar602 displays the date. Eachmessage record604A, 604B, 604C ...604K (individually and collectively message records 604) represents a message which may be an email, SMS message or voicemail. Information regarding the sender, recipient, and time of arrival may be shown in a corresponding field in each record. 
- Eachicon606A, 606B, 606C ...606K (individually and collectively icons606) which is part of a message record may be designed so as to indicate the type and status of the associated message. For example, unread emails may be indicated by aclosed envelope icon606D, while those that have been read may show an openedenvelop icon606C. Those with attachments may be indicated by an icon such asicon606A showing an image of a paper clip. A voicemail message received and stored on thehandheld device200 may be represented by anicon606F, such as a downwardly drawn handset while adifferent icon606B with a similar look and feel (e.g., an upwardly drawn handset) may represent a message left by the user of thehandheld device200 on a recipient's remote voice mailbox. 
- To access voice messages, the user selects or opens a message record containing a voicemail message. For example, selectingmessage record604F causes the stored audio message associated withmessage record604F to be decoded as necessary, converted to an analog signal and output tospeaker211 bymicroprocessor228. Wherehandheld device200 employs a separate audio codec, the corresponding audio decoder may be involved in decoding the audio message from memory prior to outputting it tospeaker211. Once the voicemail message audio file is played, the corresponding icon may change to reflect that the voicemail message has already been played. For example, an icon may appear red if not yet played and green if previously displayed. Configuration options may also be provided for the user to manually change the icon associated with the state of a voicemail message as desired. 
- Advantageously, opening a message record corresponding to an outgoing voicemail (e.g.,message record604B) plays the stored audio file, thereby allowing the user to hear the outgoing message left on a remote voicemail system. 
- Consider the scenario where a caller (e.g., David) leaves a message for the user (e.g., Scott) ofhandheld200 at time t1 (e.g., at 7:00PM). This is shown inmessage record604K ofFIG. 6. The user then calls back and leaves a message at the original caller's (David's) voicemail box at time t2 (e.g., at 8:30PM) as shown inmessage record604G ofFIG. 6. The original caller (David), after receiving the message, again calls. However, the user does not answer and thehandheld device200 goes to answering-mode. Hence, the caller (David) leaves a message at time t3 (e.g., 8:45PM) as shown inmessage record 604F ofFIG. 6. The user then calls again at time t4 (e.g., 10:15PM) as depicted inmessage record604B. These exchanges take place within the context of other message exchanges such emails and SMS messages being received and sent in the intervals between times t1, t2, t3, and t4. 
- As already seen, in one exemplary embodiment, the messages may be arranged as depicted inFIG. 6, chronologically - in their order of arrival or transmission. In alternate embodiments however, the messages may be presented as threads showing the interrelationships between messages. 
- Accordingly,FIG. 8 displays a different presentation of a user interface for the messages shown inFIG. 6 which depicts audio message associations or interrelationships in scenarios such as the voicemail exchanges described above. 
- User interface screen800 includes message records804A, 804B, 804C ...804K (individually and collectively message records 804) each with itscorresponding icon604A, 604B, 604C ...604K respectively. Some message records, such asmessage record804B, have message sub-records806A, 806B, and806C which are listed under (or, more generally, positioned adjacent to) their 'parent'message record804B. Message sub-records806A, 806B, and806C may be presented indented with respect to theirparent message804B, to show the association. In the particular embodiment depicted, a message sub-record is also shown as a message record in its own right. For example,message record804F is the same as message sub-record806A. 
- It is worth noting that the message contents stored inhandheld device 200 are the same in bothFIG. 6 andFIG. 8. Hence icons606 as well as the fields (i.e., subject, sender, recipient, time and the like) associated eachmessage record804A, 804B, 804C ...804K are the same in both cases. However, inFIG. 8 the interrelationship of the voicemail messages is more readily apparent to a viewer. 
- In the above noted scenario of voicemail exchanges, the first voicemail message received at time t1 (7:00PM) is displayed inmessage record804K. As will become apparent, the same voice message also corresponds tomessage sub-records806E, 806F and806C. After the user calls back and leaves a message at time t2 (8:30PM), anew message record804G is displayed. As the previous message (corresponding tomessage record804K) is related to the current message, a new message sub-record806F is created and shown belowmessage record804G. Message sub-records are indented to show the relation visually to the parent message record. Thus it is clear, for example, that sub-record806F is related tomessage record804G. 
- When the user again receives an incoming voice message at time t3 (8:45PM), the received voicemail message is shown asmessage record804F. The previous related messages are also shown as message sub-records806D, 806E (corresponding tomessage records804K, 804G respectively). 
- The next call from the user at time t4 (10:15PM) is shown asmessage record804B. Again, the previous related messages are also shown as message sub-records806A, 806B, 806C (corresponding to audio message records804K, 804G, 804F, respectively). 
- Advantageously, inFIG. 8,audio message record804B and its message sub-records806A, 806B and806C are visually depicted in a manner that clearly illustrates the sequence of voicemail messages - or the thread of exchanges. 
- It will be appreciated that wireless connectivity is not required to access the messages. Voice messages are instead accessed by simply selecting or opening a message record. Selecting a message sub-record806A, 806B, 806C, or 804K plays the same audio file that would be opened by selecting its corresponding message record. For example selecting message sub-record806C opens the same audio file as selectingmessage record804K. In other words, one message file may be associated with a message record as well as multiple message sub-records. 
- Displaying the messages ofFIG. 6 as voicemail threads as shown inFIG. 8 entails associating outgoing and incoming message records to form appropriate message groups that should appear together in a given thread. 
- For example, the outgoing voice message at time t2 (ofrecord604G) may be associated with the incoming message at time t1 (ofrecord604K) as follows. When the user opensmessage record604K auser interface screen700 depicted inFIG. 7 may be displayed.User interface screen700 may include awindow702 with anicon712 indicating that a voicemail audio message is being played back.Window702 may also include information available inmessage record604K such as caller identification, and time of receipt of the audio message. While, and after, the user listens to the recorded audio message, a context basedmenu704 may be displayed.Menu704 may alternately be invoked usingtrack ball206.Menu704 may include selections enabling the user to reply to the caller (e.g. selection706), forward the audio message to another phone recipient (selection708), or forward the audio message as an email attachment (selection710), respectively. The user can navigate through themenu704 using thetrack ball206 and select aselection706, 708, or710. For example, if the user (Scott) chooses to reply to the caller (David) viaselection706 and connects to the original caller's (David's) remote voicemail, thenmicroprocessor228 may concurrently record the network-encoded outgoing message in local memory as it is left on the remote voicemail (at time t2) and create anoutgoing message record606G for it. If a separate audio codec is employed, the outgoing message may instead be recorded using a desired file format such as WAV or MP3 or the like.Outgoing message record606G is then associated withincoming message record604K. 
- Connection to a remote voicemail system may be detected byhandheld200 using answering machine detection (AMD) software executing on itsDSP258 ormicroprocessor228. Answering machine detection software may utilize DSP algorithms to analyze the received voice response to determine if the source is a live person or an answering machine. For example a live person typically answers by a short greeting such as "Hello" or "David speaking" while an answering machine or a voicemail system typically uses a much longer, more informative greeting such as "You have reached the voicemail of David. Please leave a message after the beep". Such differences may be exploited by AMD software to identify a remote voicemail. 
- It is also necessary to associate incoming message records with existing outgoing message records. In this regard, the following approach is suitable if thehandheld device200 of only one party to the call is fitted with the exemplary software. 
- Thehandheld device200 may store a unique caller id (such as a phone number or a personal identification number) and a corresponding unique message id (identifying the last outgoing message to the caller) in a database. Anexemplary database900 is depicted inFIG 9. Each message record (inFIG. 6 orFIG. 8) would have a unique message id (e.g.,902B or904B) assigned to it. Each caller would also have a unique caller id (e.g.,902A or904A). The database may be a simple table formed in memory, a text file, a simple relational database management system (RDBMS) or the like. Each database entry902 (or904) thus contains aunique caller id902A (or904A) and the last outgoingmessage record id902B (or904B) awaiting a reply. 
- For example,entry902 may contain aunique identifier902A (caller_id_david) for David and amessage record identifier902B (msg_out_001) identifying the last outgoing message left by Scott for David. Subsequently, if an incoming call passes to voicemail and a message is recorded,database900 is inspected to see if the incoming message originated from a recipient for whom an outgoing message had been left previously. That is, callers from whom an incoming message is expected would havecorresponding entry902, or904 indatabase900. If the caller is found in the database then an association is made between the last outgoing message record (whose message record id is stored in the database) and the new incoming message record. 
- FIG. 10 depicts a flowchart outlining the actions taken by ahandheld device200 as an incoming call is passed to the voicemail system. After the voicemail message is recorded (S1002) an incoming message record is created for it (S1004). A unique message record id (e.g. msg_in_002) is then obtained(S1006) for the just recorded message. Similarly a unique caller id (e.g. caller_id_david) is obtained that uniquely identifies the caller (S1008). Thedatabase900 is then queried (S1010) to determine if there is an entry containing the unique caller id (caller_id_david). If so, (S1012) an association is made between the outgoing message id in database900 (e.g. msg_out_001) and the new incoming message id (msg_in_002). If no entry is found in thedatabase900 the new message would not be associated with an existing thread (S1012). 
- FIG. 11 depicts a flowchart outlining theactions1100 taken by ahandheld device200 when the handheld user replies to a message. If the local handheld user initiates a reply to a message (S1102) using a menu selection (S1104) and reaches the remote caller's voicemail (S1106), then the thread containing the message is extended by adding the new message left by the handheld user (S1108). If, instead, the call is answered by the remote recipient in person (as may be detected by, for example, using AMD software), the thread containing the message is terminated and all of the messages associated with the thread are removed from the database (S1110). For example, if a call by the handheld user (Scott) is answered by the remote recipient (David), the entry902 (FIG. 9) containing the outgoing message record id (902B) for David is removed fromdatabase900. Subsequent incoming or outgoing voice messages to/from the remote caller (David) may then initiate a new thread. 
- If the local handheld user calls a recipient in reply to a message but without using a menu option to initiate the reply (S1104), then the existing thread would not be extended and a new thread would instead be initiated (S1112). Upon a subsequent reply by the remote caller, if the local handheld user picks up, then when the call is ended thehandheld device200 may present a menu selection of all active threads containing the remote caller's id and allow the local handheld user to terminate any existing thread. 
- In yet another embodiment, the remote caller may be prompted to enter a subject for the message being left on the local device. Threads would then be maintained based on subject, each message record in a thread corresponding to the same subject. Any new message would then be easily added to the appropriate thread, using its subject. 
- In a variation of the above exemplary embodiment, a speech-to-text conversion engine may be employed to save text data corresponding to incoming or outgoing messages. The text may be analyzed to determine an appropriate subject corresponding to each message record. The subject, so determined, may then be used to create or select an existing thread into which a new incoming or outgoing message record may be added. If no appropriate subject is found, then a new thread may be created. 
- In yet another simplified embodiment, the association of messages to form threads may be determined by comparing the originating phone number of an incoming message with the destination phone number of an outgoing message. For example, inFIG. 6 the caller's (i.e., David's) phone number of the message at time t1 is the same as the destination (i.e., David's) phone number of the message at time t2. In view of this match,message record606G is associated withmessage record604K. When the caller subsequently leaves a message at time t3, the originating phone number (David's phone number) may again be used toassociate message record606F withmessage record606G. Once message records are associated as just described they may be presented as threads showing their interrelationships. 
- If both the local and remote handheld devices are operated using exemplary device code and software as disclosed herein, then message association data between an incoming message being left on ahandheld device200 and a previously recorded outgoing message, may be exchanged usingvoice communications module230A (in-band) or usingdata communications module230B (out of band). Thus inFIG. 6, when both handheld devices are equipped with suitable exemplary software, a current incoming message record (e.g.606F) may be associated with a previously recorded outgoing message record (e.g.606G) using exchanged message association data. In one embodiment, message association data may include unique message record identifiers to be associated. In this case, a given voicemail message may have an outgoing message record with a unique message record id (on the local handheld device). The same message would be recorded as an incoming message record with a unique message record id in the remote handheld device. These two message record ids may be associated. Alternately, the outgoing message record id on the local handheld device may be the same as the incoming message record id on the remote handheld device. In other words, while a message record id is unique in a given (local) device, it may be also in use by another (remote) handheld device to facilitate association of messages. 
- In one in-band implementation, the beep at the end of a voicemail prompt may be a unique sound or a series of tones, advertising the fact that thehandheld device200 is operating using the before described device code and its software supports voicemail threading. Upon detecting such unique tones, the callinghandheld device200 may be prompted to transmit message association data for the current message being left on the voicemail system. 
- If both the calling and recipient handheld devices are operated using exemplary device code and software as disclosed herein, therecipient handheld device200 may transmit (in-band) another unique sound or series of tones when prompting for a message, to advertise the fact that its voicemail system is being used. The unique sound or tones allow the callinghandheld device200 to easily determine that it is connected to a remote voicemail system, thereby avoiding the need for answering machine detection software. Alternately, therecipient handheld device200 may transmit out-of-band data to the callinghandheld device 200 to announce that therecipient handheld device200 is in answering-machine mode. 
- In alternate embodiments, threads may be displayed differently from the arrangements depicted inFIG. 6 andFIG. 8. For instance, the thread ending with the most recent voicemail message may be the only thread shown for the sub-records of the thread. Such presentation options may be provided as preference settings onhandheld device200. For example, inFIG. 8, bothmessage record804F andsub-message record806A correspond to the same incoming audio message (from David at 8:45PM). Thus, in an alternate embodiment, only message sub-record806A may be shown while omittingmessage record804F. 
- One of the advantages of the embodiments described above is the cost savings in usinghandheld device200 as an answering-machine in lieu of having a voicemail service contract with the network provider. Network provided voicemail service has an associated periodic fee (usually charged monthly) which may be conveniently eliminated by the use of an audio codec inhandheld device200 to record and playback messages. 
- Furthermore, the user ofhandheld device200 can easily choose which audio messages to listen to without the cumbersome practice of having to listen to voice instructions and key in answers. Using the embodiments described, a voice message may be treated like any other message such as an email or a text message. Voicemail messages can thus be forwarded by email, or stored onto a removable media such as CD or USB memory card or the like. In addition, since voicemail messages are stored as files, a user may conveniently skip ahead or back to anywhere within the voicemail message and listen to any portion of the recorded audio message. 
- As shown inFIG. 6 andFIG. 8, it is clear that the phone number of a caller can be substituted by caller identification. The caller identification may come from a calling party name display (CPND) service provided by the network or from a translation by the address book of thehandheld device200. This allows more intelligible or friendly names to be displayed in each audio message record (FIG. 6,FIG. 8) rather than phone numbers. In yet another exemplary embodiment, the speech-to-text conversion engine can scan the voicemail message and extract specific data relating to caller identification such as the telephone number of the caller. Alternatively, the specific data may be mapped to other information inmemory216 such as the address book. For example, a telephone number in a voicemail message extracted by the speech-to-text conversion engine can be compared with the contact list inmemory216 to determine the caller identification associated with the telephone number in the contact list and display the caller identification insender id field308C as depicted inFIG. 3. 
- Various options to display either full formal names, nick names, phone numbers or the like are known and may be instituted for the voicemail system as disclosed in the embodiments above. 
- Of course, the above described embodiments are intended to be illustrative only and in no way limiting. The described embodiments are susceptible to many modifications of form, arrangement of parts, details and order of operation. The disclosed embodiments are rather intended to encompass all such modification within the scope, as defined by the claims.