U.S. patent application number 11/415770 was filed with the patent office on 2007-11-29 for providing unified access to voice messages from disparate systems.
This patent application is currently assigned to Core Mobility, Inc.. Invention is credited to Konstantin Othmer.
Application Number | 20070274465 11/415770 |
Document ID | / |
Family ID | 38668525 |
Filed Date | 2007-11-29 |
United States Patent
Application |
20070274465 |
Kind Code |
A1 |
Othmer; Konstantin |
November 29, 2007 |
Providing unified access to voice messages from disparate
systems
Abstract
Managing voice messages across multiple voicemail systems. A
server acts as a gateway and interacts with multiple voicemail
systems and with multiple user devices. The server can retrieve
voice messages from one voicemail system and transmit the retrieved
voice messages to another separate voicemail system without user
assistance. The voice messages are transcoded as necessary. The
server also enables a recipient to generate a reply voice message
that can be delivered to the original sender's device or delivered
to the sender in another manner, such as a Vnote, SMS or an
email.
Inventors: |
Othmer; Konstantin;
(Mountain View, CA) |
Correspondence
Address: |
WORKMAN NYDEGGER
60 EAST SOUTH TEMPLE
1000 EAGLE GATE TOWER
SALT LAKE CITY
UT
84111
US
|
Assignee: |
Core Mobility, Inc.
|
Family ID: |
38668525 |
Appl. No.: |
11/415770 |
Filed: |
May 2, 2006 |
Current U.S.
Class: |
379/67.1 |
Current CPC
Class: |
H04M 3/53 20130101; H04M
3/53341 20130101; H04M 2203/651 20130101; H04M 3/5322 20130101;
H04M 2203/4509 20130101; H04M 2201/60 20130101 |
Class at
Publication: |
379/067.1 |
International
Class: |
H04M 1/64 20060101
H04M001/64 |
Claims
1. A method for managing voice messages across disparate voicemail
systems, the method comprising: accessing a first voicemail system
of a user; retrieving at least one voice message from the first
voicemail system; transmitting the at least one voice message to a
second voicemail system of the user, the second voicemail system
independent of the first voicemail system; and updating a status of
the at least one message at both the first voicemail system and the
second voicemail system.
2. The method of claim 1, wherein accessing a first voicemail
system further comprises providing credentials to the voicemail
system and providing credentials to the second voicemail
system.
3. The method of claim 1, wherein retrieving at least one voice
message from the first voicemail system further comprises changing
a status of the at least one voice message as the at least one
voice message is retrieved.
4. The method of claim 1, wherein transmitting the at least one
voice message further comprises transcoding the at least one voice
message to a format compatible with the second voicemail
system.
5. The method of claim 4, wherein transmitting the at least one
voice message further comprises transcoding the at least one voice
message to a Vnote.
6. The method of claim 1, wherein updating the status of at least
one message further comprises updating the status in response to a
user action.
7. The method of claim 6, wherein the user action comprises
listening to a Vnote.
8. The method of claim 6, wherein the user action comprises
deleting a voice message on a mobile phone.
9. A method for managing voice messages across disparate voicemail
systems, the method comprising: accessing a first voicemail system
of a user; retrieving a voice message from the first voicemail
system from a sender, the voice message associated with a first
address of the sender; creating a reply voice message to the voice
message; mapping the first address of the sender to a second
address for the, sender; and transmitting the reply message to the
sender using the second address.
10. The method of claim 9, wherein mapping the first address of the
sender to a second address for the sender further comprises mapping
phone number information associated with the voice message to at
least one of: a mobile phone number, an email address, a PBX phone
number, an IM address, or an MMS address.
11. The method of claim 9, wherein transmitting the reply message
further comprises transmitting the reply voice message as at least
one of: a reply voice message, a reply Vnote, an attachment in an
email, an instant message, or an SMS message or MMS message with
instructions to access the reply voice message.
12. A computer readable medium having computer executable
instructions for performing the method of claim 9.
13. A method for replying to a voice message that is retrieved from
a voicemail system, the method comprising: transmitting a voice
message to a recipient, wherein the voice message was retrieved
from a first voicemail box associated with the recipient;
determining that the recipient desires to send a reply voice
message to the voice message; collecting information related to the
voice message, the information identifying an original sender of
the voice message; receiving the reply voice message from the
recipient; and transmitting the reply voice message to the caller
based on the information collected about the voice message.
14. The method of claim 13, wherein transmitting the voice message
to a recipient further comprises transmitting the voice message as
a Vnote.
15. The method of claim 13, wherein transmitting the voice message
to a recipient further comprises transmitting the voice message to
a second voicemail box associated with the recipient.
16. The method of claim 13, wherein transmitting the voice message
to a recipient further comprises synchronizing a status of the
voice message at the first voicemail box and at a second voicemail
box.
17. The method of claim 13, wherein transmitting a voice message to
a recipient further comprises: monitoring actions performed by the
user on a device; and updating a status of the voice message stored
in the first mail box based on the actions performed by the user on
the device that receives the voice message.
18. The method of claim 13, wherein transmitting the reply voice
message to the caller based on information collected about the
voice message further comprises: determining if the first voicemail
box is a PBX voicemail system based on a telephone number included
in the information; and transmitting the reply voice message to a
PBX voicemail box of the caller through the PBX voicemail
system.
19. The method of claim 13, wherein transmitting the reply voice
message to the caller based on information collected about the
voice message further comprises: determining that the telephone
number is associated with a mobile device; identifying capabilities
of the mobile device; and sending the reply voice message as a
reply Vnote if the mobile device is enabled for Vnotes.
20. The method of claim 19, further comprising: storing the reply
voice message at an IVR system; and sending an SMS message or an
MMS message to the mobile device if the mobile device is not
enabled for Vnotes, either the SMS message or the MMS message
including instructions for retrieving the reply voice message from
the IVR system.
21. The method of claim 13, wherein transmitting the reply voice
message to the caller based on information collected about the
voice message further comprises: mapping the information to a
preferred reply channel; and transmitting the reply voice message
through the reply channel, wherein the reply channel is one of: a
Vnote to a mobile device; an email having the voice message as an
attachment; an MMS message providing access to an audio portion of
the voice message; an instant message; or a voice message.
22. The method of claim 13, further comprising: transcoding the
voice message from a first format to a second format; and
transcoding the reply message from the second format to the first
format.
23. The method of claim 13, further comprising transmitting the
reply voice message to a PBX voicemail system associated with the
caller, wherein a number for the PBX voicemail system of the caller
is stored in a database.
24. The method of claim 13, wherein the information includes a
telephone number associated with the caller.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] Not Applicable.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The present invention relates to electronic messaging
including voice messaging systems. More particularly, embodiments
of the invention relate to systems and methods for synchronized
message management across disparate voice message systems.
[0004] 2. Related Technology
[0005] Communication is an important part of everyday life and many
individuals use more than one electronic device to communicate with
others. Home telephones, office telephones, cellular telephones,
and computers are examples of devices used by individuals to
communicate. These devices enable individuals to communicate using,
for example, voicemail, email, and instant messages.
[0006] Advantageously, many of these devices provide features that
enable users to communicate at the convenience of the sender and
the recipient. A sender of an email, for example, can send an email
that is delivered directly to the mail box of the recipient.
Similarly, a recipient of an email has control over when he or she
opens or replies to the received email. Further, email users can
easily set up their email accounts to forward received emails to
other accounts. In addition, replying to email is easy and works
universally. The reply address is included in the email message, so
the receiving email system can easily address a reply to the
originator.
[0007] While email can typically be used and synchronized across
disparate email systems, voicemail cannot be easily managed or
synchronized in the same way. Voicemail enabled devices have much
more difficulty in coordinating voice messages. For instance, a
user that has both an office voicemail box and a personal wireless
voicemail box is typically required to access each system
independently in order to retrieve the various voicemails that the
user has received.
[0008] Further, forwarding messages between voicemail systems is
generally not supported. Users can forward messages when both the
sender's voicemail box and recipient's voicemail box are within the
same voicemail system. However, it is not possible for a sender to
forward a message to another voicemail box unless the intended
recipient is on the same voicemail system. For example, if a user
receives a voicemail message that he would like to share with a
friend who uses a different voicemail system, today it is not
technically possible to send that message to the friend.
[0009] Sending a reply message in response to a received voicemail
message presents a similar problem. Today's voicemail messages have
only one address--the caller's phone number in the case caller ID
is enabled. Since there is no standardized way to send a voice
message to a phone number, there is no general mechanism in place
that permits a user of a system to reply to a voice message with
another message unless the originating caller is on the same
voicemail system as the recipient. This forces the recipient to
place a call to the original caller, which may not be what the
recipient wants or needs to do, to answer a simple question, for
example.
[0010] As these examples show, the problem with voicemail systems
is the lack of interconnect between the systems, making them useful
only to act in the capacity of taking a message as the result of a
non-answered phone call. A second problem exists in that checking
messages is a very slow, linear process, and can involve a user
dialing into several voice systems to retrieve all the user's
messages. A need in the art exists for systems and methods that
enable users to manage their messages including voice messages
across disparate systems, and reply to, forward, or delete those
messages just as the user manages email.
BRIEF SUMMARY OF THE INVENTION
[0011] These and other limitations are overcome by embodiments of
the invention, which relate to managing voice messages including
instant voice messages (also referred to herein as Vnotes). In one
embodiment, an instant voice message, or Vnote, is a voice message
that can be sent to a recipient without calling or dialing the
recipient. For example, a user can select a contact, record a voice
message and then send the message to the recipient without dialing
or placing a call to the recipient. The recipient can then retrieve
or listen to the message at his or her leisure. Vnotes are
described in U.S. Pat. No. 7,013,155, which is hereby incorporated
by reference.
[0012] Embodiments of the invention synchronize message status
across disparate voicemail systems. A messaging service pulls voice
messages from participating voicemail systems and transmits the
voice messages to the intended recipients. The messaging service
then updates the status of the voice messages at all relevant
voicemail systems based on the actions of the user at different
devices and/or voicemail systems. Embodiments of the invention also
enable users to reply to voice messages in multiple ways from
disparate voicemail systems.
[0013] In one embodiment a server provides a gateway that
interfaces with voicemail systems and with user devices. The server
manages voice messages across disparate voicemail systems. In one
example, the server accesses a voicemail system of a user and
retrieves a voice message from the voicemail system. The server
then transmits the voice message to another voicemail system of the
user or to a user's device. The message is transcoded to the
appropriate format when necessary. Next, the server updates the
status of the transmitted message at each voicemail system. For
example, actions performed by a user at a device with respect to
the transmitted message are monitored by the server or reported to
the server by the device. The server can then update the status of
the voice message in the originating voicemail system.
[0014] Embodiments of the invention also enable a user to reply to
a voice message that is retrieved from a voicemail system. In this
example, the original voice message is transmitted to the recipient
from a voicemail system. The server then determines that the
recipient wants to send a reply message. After collecting
information about the original voice message, which may include a
telephone number, a server receives the reply voice message from
the recipient and transmits the reply voice message based on
information collected about the original voice message. For
example, if the original voice message originated from a PBX
system, then the reply voice message is returned through the PBX
system. The options available for sending the reply voice message
may be dependent on the receiving voicemail system. For example, a
conventional PBX system may not accept email, MMS, or SMS messages.
If, however, the original voice message is associated with a mobile
device (rather than a PBX), then the reply can be sent via a voice
message using a Vnote, or some form of text based messaging (e.g.,
SMS, MMS, email, or IM). If the mechanism for replying via a phone
number is unknown for the source address, the system allows the
user to reply using the email address stored in the phone's contact
list or in a server-side system directory for that user
instead.
[0015] These and other aspects of embodiments of the present
invention will become more fully apparent from the following
description and appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order that the manner in which the above-recited and
other advantages and features of the invention are obtained, a more
particular description of the invention briefly described above
will be rendered by reference to specific embodiments thereof which
are illustrated in the appended drawings. Understanding that these
drawings depict only typical embodiments of the invention and are
not therefore to be considered limiting of its scope, the invention
will be described and explained with additional specificity and
detail through the use of the accompanying drawings in which:
[0017] FIG. 1 is a block diagram illustrating a server that
delivers Vnotes from a sender device to a recipient device;
[0018] FIG. 2 illustrates one embodiment of a server than manages
voice messages across disparate voicemail systems for multiple
devices;
[0019] FIG. 3 is a block diagram illustrating one embodiment of a
server that manages multiple voice message formats across multiple
voicemail systems and illustrating systems and methods for replying
to voice messages including voicemail, Vnotes or other method
including email;
[0020] FIG. 4 illustrates one embodiment of a method for replying
to a voice message from a sender device;
[0021] FIG. 5 depicts an exemplary method for sending and receiving
a Vnote; and
[0022] FIG. 6 illustrates one embodiment of a method for receiving
a voice message from one PBX system and replying to the voice
message at another separate PBX system.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
[0023] Embodiments of the invention relate to systems and methods
for providing unified access to voice messages and more
particularly to a messaging system for managing voice messages
across multiple voice messaging systems. Managing voice messages
across disparate or unrelated voice message systems enables users
to interact (retrieve, play, replay, save, forward, delete, reply,
etc.) with a voice message from any device or system. The messaging
service synchronizes the altered status of voice messages across
all or some of the user's other voicemail systems. Embodiments of
the invention also enable a user to reply to voice messages in
multiple ways, for example by voice, email, or instant
messaging.
[0024] The messaging service includes a voice messaging server that
interacts with disparate voice message systems to provide a unified
method for managing voice messages. Through the messaging servers,
users are able to synchronize voice messages, receive voice
messages, reply to voice messages in various ways, and the like
across disparate voice message systems. A user may also send a
reply to a voice message using a Vnote, an email, or other form of
communication.
[0025] Embodiments of the invention may include the use of Vnotes.
In a conventional system, a caller is required to place a call to a
recipient and the caller is directed to the recipient's voicemail
box only when the recipient does not answer. The caller can then
record a voice message that is stored in the recipient's voicemail
box. A Vnote, in contrast, can be generated and sent to the
recipient without placing a call to the recipient. Further, a Vnote
may be stored on a server rather than in the recipient's voicemail
box.
[0026] FIG. 1 illustrates one embodiment of a Vnote and the
delivery of the Vnote. A caller can operate the wireless device 102
to generate a Vnote 106. This may include identifying a recipient
of the Vnote from a contact list, for example, or speaking the name
of the recipient in some instances. The caller can then simply
speak the Vnote, which is directly transmitted to the server 100 by
the device 102 or recorded by the device 102 and sent to the server
100 at a later time. In either case, the Vnote 106 is transmitted
to the server 100, which stores the Vnote 106.
[0027] The server 100 then considers the recipient wireless device
104. If the wireless device 104 is enabled for Vnotes, the Vnote
106 can be transmitted directly to the device 104, without calling
the device 104. The recipient may be visually notified, for
example, that a Vnote has been received by the device 104. If the
device 104 is not enabled to receive Vnotes, then a text message
(such as an SMS message) may be generated by the server 100 and
sent to the device 104. The text message may include a telephone
number that the recipient can call in order to listen to the Vnote
106. In this manner, a device 102 can communicate using Vnotes. The
device 102 can also call the recipient and leave a voice message in
the recipient's voicemail box.
[0028] FIG. 2 is a block diagram illustrating exemplary systems and
methods for managing messages, including Vnotes, across disparate
voicemail systems. The server 200, which is one embodiment of the
server 100 in FIG. 1, functions as a gateway between voicemail
systems 202 and devices 204. The communication 208 between the
voicemail systems 202 and server 200 and the communication 210
between the devices 204 and the server 200 can be wired and/or
wireless communication. In addition, the communication 208 and 210
can be IP based, RF based, or may rely on other protocols such as
VPIM, IMAP, or other proprietary protocol.
[0029] The voicemail systems 202 represent various types of
voicemail systems. As a result, the management of voice messages
may include a communication from one voicemail system to another
voicemail system through the server 200. In this example, the
server 200 interacts with all of the voicemail systems 202 and with
the devices 204 to manage messages including Vnotes.
Advantageously, embodiments of the invention enable voice messages
generated in a particular PBX system to be delivered to a user of
another, separate, PBX system.
[0030] Setting status of voice messages can be performed at
different times by the server 200. The server 200 can track the
various voice messages that are transmitted from one voicemail
system to another. The server 200 also monitors the various devices
and voicemail systems related to the voice messages. This enables
the server 200 to set or change status at one voicemail system for
an action that occurred on a separate device or in a separate
voicemail system.
[0031] Optionally, a user typically has the ability to set
preferences that may impact whether or not the status of a voice
message is changed. For example, a user that receives a voice
message on a mobile device that was originally delivered to a PBX
voicemail box may desire to delete the voice message from the
mobile device without deleting the voice message from the PBX
system. In this example, system preferences define whether the
voice message is then moved to a "deleted" state when the user
deletes the message on the second voicemail system.
[0032] The server 200 accesses the voicemail systems 202 and sets
status (read, forwarded, deleted, etc.) for the user's voicemail
messages. The server 200 identifies status of the voice messages on
a given voicemail system and ensures that the voice message has the
same status on other voicemail systems and in accordance with
system and/or user preferences on those voicemail systems.
[0033] Further, the server 200 enables the user of a device 204 to
set or change the status of a voice message in a voicemail system
202 without requiring the user to access the corresponding
voicemail system. For example, the server 200 may access a first
voicemail system and discover that a new voice message is present.
As the voice message is retrieved and delivered to another of the
user's voicemail systems or devices, the server 200 can also set
the status of the voice message in the first voicemail system.
Alternatively, the server 200 may wait until the voice message is
accessed in the second voicemail system in order to determine what
the user does with the voice message. Any change in status at the
second voice mail system is then reflected to the first voicemail
system by the server 200.
[0034] Thus, the status is applied, in one embodiment, to the voice
message as it is transferred from one voicemail system to another
voicemail system or as a voice message is delivered to a user's
device. For example, the status of a voice message may be
automatically set to "read" and/or "forwarded" when the server 200
retrieves the voice message for delivery to a second voicemail
system, to the user's mobile device, and the like. Alternatively,
the server 200 can monitor the actions performed by a user with
respect to a given message in the context of the second voicemail
system and then go back to the first voicemail system to
synchronize the appropriate status to the voice message.
[0035] The server 200 can ensure that any status change to a voice
message that results from any action performed by a user at the
second mailbox can be applied to that same voice message in the
first voicemail system. For example, a message may be received in a
user's PBX voicemail box, then automatically forwarded to the
user's wireless voicemail box. The user may then use his cellular
device to listen to and delete this voice message. The user's
action of deleting a voice message from the cellular voicemail
system is either monitored by the server 200 or is reported to the
server 200 by the cellular device. When the server 200 becomes
aware of the change in status to the deleted voice message, the
server can access the PBX voicemail box and cause the deletion of
the voice message from the user's PBX voicemail box. In this
manner, the server 200 manages and synchronizes voice messages in
disparate voicemail systems. Other changes in status can be
similarly synchronized. Because the server 200 interfaces with all
of the user's voicemail systems and devices, the server 200 can
also continue to synchronize status when additional voicemail
systems become involved or when a user replies to a voice
message.
[0036] The server 200 has server modules 206 that, in addition to
providing message synchronization as discussed above, provide the
ability to reply to a voice message, regardless of where the
original voice message was received. In other words, if a message
is originally sent to and received at voicemail system A, then a
copy of the message is forwarded to voicemail system B, the
recipient of the forwarded message can send a reply message to the
sender from within voicemail system B. Because voice messages
stored in different voicemail systems are often stored in different
formats, the server modules 206 performs any transcoding that may
be necessary to enable a target device to listen to and/or reply to
a voice message.
[0037] The server modules 206 also provide mapping functionality,
although some mapping may be implemented at the various devices
204. For example, a user that receives a voice message associated
with a landline telephone number cannot typically send a reply
voice message to a landline telephone (a call may be required).
However, the user's device may include contact information
indicating that a reply can be sent to a mobile device associated
with the landline telephone number. Thus, the reply voice message
can be sent to the caller's mobile device. The reply voice message
can also be sent to the caller's email address as an attachment,
for example. In some embodiments, both the original voice message
and the reply voice message are Vnotes that do not require a user
to place a call to the intended recipient.
[0038] FIG. 3 is a block diagram further illustrating the
management of voice messages including Vnotes. The server 300,
which is an embodiment of the server 100 shown in FIG. 1, interacts
with the devices 320 and the voicemail systems 310. The admin
console 340 enables an administrator to access the server 300 and
perform administrative actions. Administrative actions include
server management, setting default actions, administering gateways
to the voicemail systems 310, and the like.
[0039] Through the user console 342, users can access the server
300 and set, for example, user preferences. User preferences may
include defining rules that determine how the server 300 operates
on voice messages or changes the status of the user's voice
messages at each of the voicemail systems 310. The rules may
include, by way of example, setting a preferred voice message
format or preferred target device, setting email addressing,
providing mapping information used in addressing reply voice
messages, specifying specific status settings in certain instances
such as delete, and the like. In some instances, the rules or other
settings can be stored on a user's device and/or the server
300.
[0040] A user may also define rules identifying what actions should
occur as the server 300 manages messages. For example, a message
received at the user's PBX voicemail system should be routed to the
user's email address and marked as read in the user's PBX system by
the server 300. Voice messages from key customers, on the other
hand, should be sent as Vnotes to the user's mobile device.
[0041] In this example, the voicemail systems 310 include a carrier
voicemail 312, a PBX voicemail 314, and a residential voicemail
316. The carrier voicemail 312 is usually associated with a user's
mobile device and the PBX voicemail 314 is the user's work
voicemail system. The residential voicemail 316 may be at the
user's residence. The devices 320 represent devices with various
capabilities. The SMS device 322 is enabled for at least SMS
communications. The MMS device 324 is enabled for at least MMS
communications. The Vnote device 326 is enabled to receive at least
Vnotes, which may include other media content. Each of the devices
320 may also be enabled to receive different types of messages. For
example, the device 324 may be able to receive both SMS and MMS
messages. Other devices may include a PBX telephone and the like.
The device 320 may also include other devices such as, but not
limited to, personal digital assistants, laptop computers, and the
like.
[0042] In one embodiment, the server 300 manages voice messages by
periodically polling the voicemail systems 310, although the
voicemail systems 310 themselves may initiate the connection with
the server 300 (such as when a new voice message is received). The
ability of the server 300 to access these systems may be enabled
when a user accesses the server through the user console 342 and
provides the server 300 with the necessary credentials. As a
result, the server 300 has access to a user's various voicemail
boxes in disparate voicemail systems. When a status change is
detected to any voicemail in any particular voicemail system, that
status change can replicated in the other voicemail systems in
which the user has an account. As previously indicated, the status
can be actively monitored by the server 300 or the various
voicemail systems and devices and also initiate notice of the
status change to the server 300.
[0043] For example, a user may receive a voicemail at the PBX
voicemail 314. The server 300, after polling the PBX voicemail 314
or after receiving a notice from the PBX voicemail 314, discovers
the new voicemail. The server 300 causes the new voicemail to be
delivered to the user's carrier voicemail 312. The server 300 can
also deliver the new voicemail to the user's voicemail box or
deliver the voicemail as a Vnote to the user's device or send the
voice message in an email 330 or in an instant message 332. If
necessary, the server 300 performs transcoding 336 on the voice
message before delivery to the user's device.
[0044] If the user listens to the new voicemail or to the Vnote and
then deletes the voicemail or the Vnote at the user's device, the
server 300 ensures that the voicemail is also deleted from the PBX
voicemail 314 if defined in the rules established by the user. In
this manner, the server 300 can synchronize messages across the
voicemail systems 310.
[0045] Embodiments of the invention also enable a recipient of a
voice message to send a reply. Sending a reply to a voice message
is inherently more difficult than sending a reply to an email,
which usually has a built in reply address. Although the original
number of the caller may be associated with the voice message, that
number does not necessarily correspond to a voicemail box. A call
from a PBX system that results in a voice message being stored in
another voicemail box outside the PBX system, for example, often
has a general number associated with the voice message. A reply
voice message to the general number of the PBX system does not
cause the reply voice message to reach the caller's voicemail box.
Further a number does not provide any information relating to the
capabilities of the calling device. As a result, the ability to
reply to a voice message is more difficult to manage.
[0046] FIG. 4 illustrates an exemplary method for replying to voice
messages including Vnotes. As previously described, a server 300
may send a Vnote, retrieved from a user's PBX voicemail system, to
the user's mobile device. The Vnote often has a calling number
associated with it, which may be stored at the server 300 or
included in the Vnote.
[0047] If the recipient of the Vnote decides to send a reply Vnote,
then either or both the recipient's device or the server become
involved in the generation of the reply voice message. This example
begins by collecting 402 information relating to the calling number
associated with the received voice message. This may be done by the
server 300 as it retrieves a voice message from the originating
voicemail box. If the calling number is a PBX number 404, then a
reply voice message 406 can be generated and sent to the callers
PBX voicemail box. When the server 300 retrieves a voice message
from a user's PBX voicemail box, the direct line is usually known
to the server 300, which enables the server 300 to facilitate a
reply to the PBX voicemail box.
[0048] For example, if the caller and the recipient are in the same
PBX system, then the voice message received by the recipient's PBX
voicemail box has the information needed to generate a reply to the
caller's PBX voicemail box. The server 300 can detect that the
recipient has a new voice message in the recipient's PBX voicemail
box, and then deliver that message to the recipient's mobile device
as a Vnote. The recipient can then generate a reply Vnote that is
directed by the server 300 to the caller's PBX voicemail box via
the recipient's PBX voicemail box. The server 300 typically
performs any transcoding of the message that may be required to
send a voice message stored in a PBX voicemail box as a Vnote to
the recipient's mobile device, as well as transcoding the reply
from the format of the mobile device to one acceptable to the
PBX.
[0049] If the caller number is not a PBX number, but is determined
to be a mobile device number 408, then the server can examine 410
the capabilities of the calling mobile device and send 412 a voice
message based on those capabilities. For example, if the calling
device is enabled for Vnotes, then a reply Vnote is sent to the
calling device. If the calling device is not enabled for Vnotes,
then an SMS or MMS message may be sent to the device. The SMS or
MMS message may include instructions describing how the calling
device can access the reply voice message, which may be stored by
the server or on an IVR system associated with the server.
[0050] If the caller number is not a PBX number or a mobile number,
the server or recipient device may determine if an email address
414 is available for the calling number. If an email address is
available, the recipient has the option to send a text message to
the email address, or to send a Vnote using email, that is, an
email is sent 416 with the reply Vnote as an attachment. Likewise,
if a PBX number or a mobile number is available for the caller, the
reply can be sent back to either of those systems. If none of these
systems are available for the caller, the recipient may be provided
418 with other options. The recipient may have the opportunity to
call the caller directly if the calling number is, for example, a
landline device.
[0051] Although FIG. 3 illustrates a particular order for
determining how to send a reply to a voice message, one of skill in
the art can appreciate that the order can be performed in another
order. The order may be determined, in one embodiment, by default
or by user preferences.
[0052] With reference to FIG. 3, the server also provides
additional features to manage voice messages. The mapping module
304, for example, can be used to map PBX numbers in a database. As
the database grows, the server 300 gains the ability to manage
voice messages across disparate PBX systems. As a result, a user in
one PBX system can generate a voice message including a Vnote that
is delivered directly to the voicemail box of a user in a separate
PBX system. The server can begin to build a database of numbers
that are associated with specific PBX systems.
[0053] The transcoding module 336 enables the server 300 to
accommodate the various features and capabilities of disparate
voicemail systems 310 and devices 320. Providing a transcoding
module 336 relieves the voicemail systems of the responsibility of
ensuring message compatibility. The server 300 takes the
responsibility of ensuring that a particular message is compatible
with the receiving voicemail system or device in this example. The
voicemail systems, however, are not precluded from generating voice
messages in the appropriate format.
[0054] Further, the server can use email 330, instant messaging
332, and other third party services 334 to manage voice messages
across multiple voicemail systems. For example, the mapping module
304 may indicate that voice messages from a given number or from a
given PBX system, can be replied to using email. Thus, the mapping
module 304 provides voice message routing capabilities.
[0055] In one embodiment, the address mapping capabilities can be
performed at a device. The contact information for a given caller
for example, may specify that reply voice messages are to be
delivered as reply Vnotes to a specific mobile device, or are to be
delivered in another specified manner.
[0056] FIG. 5 illustrates an example of voice message management
including the ability to reply to a Vnote. In this example, the
sender device 502 creates a Vnote 504 that is delivered to the
sender's server 506. The server 506 determines or already is aware
that the recipient device 510 is not enabled to receive Vnotes. In
this example, the server 506 thus transcodes the Vnote into a
voicemail format and then sends the transcoded voice message to the
recipient's server 508, which routes the voice message to the
recipients voicemail. Alternatively, the sender's server 506 may
store the message at an IVR server and send an SMS message to the
recipient device 510 as previously described.
[0057] The recipient device 510 thus receives a voicemail. In one
example, the sender's server 506 adds a tag to the voicemail that
facilitates a reply. In this case, the recipient sends a voicemail
reply message that is received by the sender's server 506. The
server 506 transcodes the reply voice message into a reply Vnote
512 and delivers it to the sender device 502.
[0058] FIG. 6 illustrates another embodiment of message management.
In this example, the server 606 detects a voicemail message 604 in
a user's PBX voicemail box 602. The server 606 retrieves the
voicemail and then transcodes the voicemail into a Vnote 608, which
is delivered to the mobile device 610 of the user.
[0059] At the mobile device 610, the user decides to reply to the
Vnote. During message synchronization, the server 606 determines
the action performed by the user at the device 610 and then updates
the status of the voicemail message 604 at the PBX voicemail box
602.
[0060] The type of reply generated at the mobile device 610 can
take different forms as previously described. In some instances,
the preferred reply type is selected automatically by the server
606 or by the device 610 itself. In the case where the reply is via
email 612, the server 606 may transcode the reply voice message
into the appropriate format for email and then send the reply voice
message in an email to the recipient's email box 620.
[0061] On the other hand, the user may reply using a reply Vnote
614. In this example, the original voicemail message 604 was
received from a caller associated with the PBX voicemail box 618
(which may be in an independent PBX system). The server 606
receives the reply Vnote, transcodes the reply Vnote to voicemail
format, and then delivers the voicemail to the PBX voicemail box
618. In the case where the PBX voicemail box 618 and 602 are in the
same PBX system, the delivery of the reply voicemail to the PBX
voicemail box 618 can be achieved through the PBX voicemail box
602. In the case where the PBX voicemail box 618 of the caller is
in a different PBX system, the delivery of the reply voicemail or
Vnote may be achieved using the mapping module that tracks numbers
associated with PBX systems. Alternatively, the mapping module may
direct the reply voicemail to another device of the caller such as
the caller's mobile voicemail system or to the caller's email.
[0062] The embodiments of the present invention may comprise a
special purpose or general-purpose computer including various
computer hardware, as discussed in greater detail below.
Embodiments within the scope of the present invention also include
computer-readable media for carrying or having computer-executable
instructions or data structures stored thereon. Such
computer-readable media can be any available media that can be
accessed by a general purpose or special purpose computer. By way
of example, and not limitation, such computer-readable media can
comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage,
magnetic disk storage or other magnetic storage devices, or any
other medium which can be used to carry or store desired program
code means in the form of computer-executable instructions or data
structures and which can be accessed by a general purpose or
special purpose computer. When information is transferred or
provided over a network or another communications connection
(either hardwired, wireless, or a combination of hardwired or
wireless) to a computer, the computer properly views the connection
as a computer-readable medium. Thus, any such connection is
properly termed a computer-readable medium. Combinations of the
above should also be included within the scope of computer-readable
media. Computer-executable instructions comprise, for example,
instructions and data which cause a general purpose computer,
special purpose computer, or special purpose processing device to
perform a certain function or group of functions.
[0063] The following discussion is intended to provide a brief,
general description of a suitable computing environment in which
the invention may be implemented. Although not required, the
invention will be described in the general context of
computer-executable instructions, such as program modules, being
executed by computers in network environments. Generally, program
modules include routines, programs, objects, components, data
structures, etc. that perform particular tasks or implement
particular abstract data types. Computer-executable instructions,
associated data structures, and program modules represent examples
of the program code means for executing steps of the methods
disclosed herein. The particular sequence of such executable
instructions or associated data structures represents examples of
corresponding acts for implementing the functions described in such
steps.
[0064] Those skilled in the art will appreciate that the invention
may be practiced in network computing environments with many types
of computer system configurations, including personal computers,
hand-held devices, multi-processor systems, microprocessor-based or
programmable consumer electronics, network PCs, minicomputers,
mainframe computers, and the like. The invention may also be
practiced in distributed computing environments where tasks are
performed by local and remote processing devices that are linked
(either by hardwired links, wireless links, or by a combination of
hardwired or wireless links) through a communications network. In a
distributed computing environment, program modules may be located
in both local and remote memory storage devices.
[0065] The described embodiments are to be considered in all
respects only as exemplary and not restrictive. The scope of the
invention is, therefore, indicated by the appended claims rather
than by the foregoing description. All changes which come within
the meaning and range of equivalency of the claims are to be
embraced within their scope.
* * * * *