System and method for providing presence information to voicemail users
Summary by NHIP
Presence-based Voicemail Greeting System
The method receives calls and determines a called party's presence status to select or generate greetings. It matches text-based presence information against stored greetings, communicating associated audio data or generating new audio from the text if no match exists.
Claim Score by NHIP
Abstract
A method of providing telecommunication service includes receiving a call for a called party from a calling party. The method also includes determining a presence status of the called party and communicating a greeting for the calling party, wherein the greeting identifies the presence status of the called party.

Term
1.3 yearsleft in the term
Expires 26 January 2028, including 1,003 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
16 claims: 4 independent, 12 dependent
- 1A method of providing telecommunication service comprising:receiving a call for a called party from a calling party;receiving presence information, the presence information comprising text and indicating a presence status of the called party;determining whether any of a plurality of stored greetings are associated with the presence information;in response to determining that one of the stored greetings is associated with the presence information, communicating the associated stored greeting to a communication device associated with the calling party;and in response to determining that none of the stored greetings is associated with the presence information, generating audio data based on the text and communicating the audio data to the to the communication device associated with the calling party.
- 6A device for providing telecommunication service comprising:a memory operable to store processor instructions;a text-to-speech (TTS) module operable to generate audio signals based on text received by the TTS module;and a processor operable to: receive a call for a called party from a calling party;receive presence information, the presence information comprising text and indicating a presence status of the called party;determine whether any of a plurality of stored greetings are associated with the presence information;in response to determining that one of the stored greetings is associated with the presence information, communicate the associated stored greeting;and in response to determining that none of the stored greetings is associated with the presence information, communicating audio signals generated by the TTS module to the calling party, the audio signals generated by the TTS module based on text included in the presence information.
- 11A system for providing communication service comprising:a first communication device operable to initiate a call to a second communication device;the second communication device;a call manager operable to forward the call to a server if a called party associated with the second communication device does not answer the call;a server, comprising a text-to-speech (TTS) module operable to generate audio signals based on text received by the TTS module, wherein the server is operable to: receive the call forwarded by the call manager;receive presence information, the presence information comprising text and indicating a presence status of the called party;determine whether any of a plurality of stored greetings are associated with the presence information;in response to determining that one of the stored greetings is associated with the presence information, communicate the associated stored greeting;and in response to determining that none of the stored greetings is associated with the presence information, communicate audio signals generated by the TTS module to the calling party, the audio signals generated by the TTS module based on text included in the presence information.
- 16Broadest claimClaim Score 74, broad(NHIP)A system for providing communication service comprising:means for receiving a call for a called party from a calling party;means for receiving presence information, the presence information comprising text and indicating a presence status of the called party;means for determining whether any of a plurality of stored greetings are associated with the presence information;means for communicating the associated stored greeting in response to determining that one of the stored greetings is associated with the presence information;and means for generating audio data based on the text and communicating the audio data to the calling party in response to determining that none of the stored greetings is associated with the presence information.
Independent claims4
69 paragraphs in 5 sections, as filed
TECHNICAL FIELD OF THE INVENTION
p-0002This invention relates in general to telecommunication systems and, more particularly, to providing improved voicemail services.
BACKGROUND OF THE INVENTION
p-0003When a call is forwarded to a voicemail system, the caller often hears a message that indicates the called party is not available and requests the caller to leave a message. Many systems may also allow a user to manually set an alternate greeting for his or her voicemail account. For example, the caller may hear a message such as “John is on vacation and will return on October 22.” These specialized greetings however require manual configuration. As a result, the greeting will not be updated unless the called party remembers to change the message as his or her status changes and makes an effort to keep the message updated.
p-0004Furthermore, when a voicemail user accesses his or her voicemail account to listen to recorded voicemail messages, the user often attempts to return calls to individuals who have left voicemail messages for the user. The availability of the party that left the voicemail message may have changed since that individual left the message. For example, the party may have gone to a meeting and may no longer be available to speak with the user. As a result, returning the phone call at that time may not be productive, but the user may have no way of knowing this.
SUMMARY OF THE INVENTION
p-0005In accordance with the present invention, the disadvantages and problems associated with telecommunications have been substantially reduced or eliminated. In particular, a system and method for providing presence information to voicemail users is provided.
p-0006In accordance with one embodiment of the present invention, a method of providing communication service includes receiving a call for a called party from a calling party and determining a presence status of the called party. The method also includes communicating a greeting for the calling party. The greeting identifies the presence status of the called party.
p-0007In accordance with another embodiment of the present invention, a device for providing telecommunication service includes a memory and a processor. The memory is capable of storing processor instructions. The processor is capable of receiving a call for a called party from a calling party and determining a presence status of the called party. The processor is also capable of communicating a greeting for the calling party. The greeting identifies the presence status of the called party.
p-0008Technical advantages of certain embodiments of the present invention include a technique for providing voicemail system users useful information regarding the availability and/or location of other users. Other technical advantages of certain embodiments include a robust solution for providing availability information that is generated dynamically and techniques for limiting access to such availability information to authorized users. Other technical advantages of the present invention will be readily apparent to one skilled in the art from the following figures, descriptions, and claims. Moreover, while specific advantages have been enumerated above, various embodiments may include all, some, or none of the enumerated advantages.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0009For a more complete understanding of the present invention and its advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
p-0010<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a communication system according to a particular embodiment of the present invention;
p-0011<figref idrefs="DRAWINGS">FIGS. 2A-2B</figref> are block diagrams illustrating examples of the operation of a particular embodiment of a voicemail server that may be used in the communication system of <figref idrefs="DRAWINGS">FIG. 1</figref>;
p-0012<figref idrefs="DRAWINGS">FIG. 3</figref> is a flowchart illustrating an example operation of the voicemail server; and
p-0013<figref idrefs="DRAWINGS">FIG. 4</figref> is also a flowchart illustrating additional aspects of an example operation of the voicemail server.
DETAILED DESCRIPTION OF THE INVENTION
p-0014<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a communication system <b>10</b> according to a particular embodiment of the present invention. As shown, communication system <b>10</b> includes a plurality of local area networks (LANs) <b>80</b> coupled by a Public Switched Telephone Network (PSTN) <b>50</b>. Each LAN <b>80</b> additionally couples a plurality of communication devices <b>60</b>, a voicemail server <b>20</b>, a call manager <b>30</b>, a gateway <b>40</b>, and a presence server <b>90</b> to one another and to PSTN <b>50</b>. As described in greater detail below, voicemail servers <b>20</b> utilize information obtained from presence servers <b>90</b> to provide enhanced voicemail service.
p-0015Communication devices <b>60</b> may each represent any suitable combination of hardware, software, and/or encoded logic to provide communication services to a user. For example, communication devices <b>60</b> may represent telephones, computers running telephony software, video monitors, cameras, or any other communication hardware, software, and/or encoded logic that supports the communication of voice, video, text or other suitable forms of data using communication system <b>10</b>. In the illustrated embodiment, communication devices <b>60</b><i>a</i>, <b>60</b><i>b</i>, <b>60</b><i>d</i>, and <b>60</b><i>e </i>represent Internet Protocol (IP) telephones and communication devices <b>60</b><i>c </i>and <b>60</b><i>f </i>represent telephony-enabled personal computers (PCs). Additionally, communication device <b>60</b><i>i </i>represents a cellphone coupling to communication system <b>10</b> through PSTN <b>50</b>. Although <figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a particular number and configuration of communication devices <b>60</b>, communication system <b>10</b> contemplates any number or arrangement of such components to support communication of media.
p-0016Gateways <b>40</b> may each represent any suitable combination of hardware and/or software that performs translation functions to facilitate seamless communication between PSTN <b>50</b> and LANs <b>80</b>. These functions may include translation between transmission formats and between communications procedures. In addition, gateways <b>40</b> may also translate between audio and video CODECs and perform call setup and clearing on both the LAN side and the PSTN side. For example, gateway <b>40</b><i>a </i>may interface call manager <b>30</b><i>a </i>with PSTN <b>50</b>. As a result, when a call is placed by communication device <b>60</b><i>g </i>using PSTN <b>50</b>, gateway <b>40</b><i>a </i>translates the call format associated with PSTN <b>50</b> to a call format associated with call manager <b>30</b><i>a</i>, such as, for example, SIP or another suitable packet-based communication protocol.
p-0017Call managers <b>30</b> comprise any suitable combination of hardware and/or software operable to establish a connection between a calling component of communication system <b>10</b> and a called component, such as, for example, connecting a call between communication devices <b>60</b> or between a particular communication device <b>60</b> and voicemail server <b>20</b>. In a particular embodiment, call managers <b>30</b> comprise Voice over Internet Protocol (VoIP) servers that perform the functions of signaling and session management within a packet telephony network. The signaling functionality of call managers <b>30</b> allow call information to be carried across network boundaries. The session management functionality of call managers <b>30</b> provides the ability to control the attributes of an end-to-end call across multiple networks in communication system <b>10</b>. For example, in particular embodiments, call managers <b>30</b> may support SIP, which is a standard for multimedia conferencing over internet protocol. In such embodiments, call managers <b>30</b> may comprise SIP proxy servers that handle call processing, SIP requests, and SIP responses. Although the following description of call managers <b>30</b> is detailed with respect to SIP, it should be understood that call managers <b>30</b> may support other IP telephony protocols as well, such as the H.323 protocol. In particular embodiments, call managers <b>30</b> may also provide a number of telephony services for communication devices <b>60</b> and other devices located in LAN <b>80</b>, including, but not limited to, call forwarding, teleconferencing, network monitoring, and CODEC translation.
p-0018Voicemail servers <b>20</b> support voicemail services for communication devices <b>60</b>. More specifically, voicemail servers <b>20</b> may generate voicemail messages <b>26</b>, receive voicemail messages <b>26</b> generated by other voicemail servers <b>20</b>, store received or generated voicemail messages <b>26</b>, and/or provide users access to stored voicemail messages <b>26</b>. Voicemail server <b>20</b> may include any appropriate combination of hardware and/or software suitable to provide the described messaging functionality. The content and operation of particular embodiments of voicemail servers <b>20</b> are described in greater detail below with respect to <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref>. As shown with respect to voicemail server <b>20</b><i>a </i>in <figref idrefs="DRAWINGS">FIG. 1</figref>, voicemail servers <b>20</b> may each include a processor <b>22</b> and a memory <b>24</b>. Furthermore, voicemail server <b>20</b><i>a </i>includes a text-to-speech (TTS) module <b>120</b> representing a software application running on processor <b>22</b>. Memory <b>24</b> of voicemail server <b>20</b><i>a </i>also stores a user table <b>130</b>, a greeting table <b>140</b>, an indicator table <b>170</b>, and one or more voicemail messages <b>26</b> recorded for users having accounts supported by voicemail server <b>20</b><i>a</i>. These elements of voicemail servers <b>20</b> and their operation and/or use are described in greater detail below with respect to <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref>.
p-0019Presence servers <b>90</b> generate, maintain, and/or disseminate presence information <b>96</b> relating to the presence status of one or more users of communication system <b>10</b>. As used in this description and the claims that follow, presence information <b>96</b> may include any suitable information that describes the location of the relevant user and/or the availability of that user for the purposes of communicating with other users. Examples of presence information <b>96</b> utilized in particular embodiments of communication system <b>10</b> include, but are not limited to, information indicating whether a user is currently logged into a particular network or component; information identifying a wireless network in which the user is currently located, information indicating whether the user has used a particular component of communication system <b>10</b> within a predetermined time period; information identifying an activity presently scheduled for the user; and information specifying a physical location of the user. In the illustrated embodiment, presence server <b>90</b> maintains presence information <b>96</b> for particular users in a presence table <b>150</b> in memory <b>24</b> of presence server <b>90</b>.
p-0020Additionally, although shown in <figref idrefs="DRAWINGS">FIG. 1</figref> as a discrete component of communication system <b>10</b>, presence server <b>90</b> may alternatively represent a portion of voicemail servers <b>20</b>, call managers <b>30</b>, gateways <b>40</b>, or any other appropriate element of communication system <b>10</b>. In general, presence server <b>90</b> may represent any combination of hardware and/or software operable to provide the described functionality. Furthermore, presence server <b>90</b> may collect presence information <b>96</b> from a variety of sources including other components of communication system <b>10</b>, components external to communication system <b>10</b>, and elements incorporated into presence server <b>90</b> itself. In particular, <figref idrefs="DRAWINGS">FIG. 1</figref> illustrates three example sources that may provide presence information <b>96</b> to presence server <b>90</b> or that may provide other data to presence server <b>90</b> that presence server <b>90</b> may use to generate presence information <b>96</b>. More specifically, the illustrated embodiment of communication system <b>10</b> includes a personal computer (PC) <b>82</b>, an instant messenger client <b>84</b>, and a calendar client <b>86</b>. In the illustrated embodiment, instant messenger client <b>84</b> and calendar client <b>86</b> represent software applications running on PCs. In general, however, presence server <b>90</b> may obtain presence information <b>96</b> and/or data for generating presence information <b>96</b> from any appropriate sources.
p-0021LANs <b>80</b> and PSTN <b>50</b> provide connectivity between components coupled to them using any appropriate communication protocols. In particular embodiments, LANs <b>80</b> each represent all or a portion of an Ethernet network connecting the communication devices <b>60</b> of a particular entity, such as a company or a university campus. Furthermore, in particular embodiments, PSTN <b>50</b> represents all or a portion of the publicly-switched telephone network. Although <figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a particular embodiment of communication system <b>10</b> that includes particular types of networks, specifically LANs <b>80</b> and PSTN <b>50</b>, coupling particular components of communication system <b>10</b>, communication system <b>10</b> may include any appropriate types and numbers of networks.
p-0022In operation, voicemail servers <b>20</b> utilize information obtained from presence servers <b>90</b> to provide various forms of enhanced voicemail service. In particular, voicemail servers <b>20</b> may provide presence information <b>96</b> for a particular user as part of a greeting to callers leaving a voicemail message <b>26</b> for that user. This may help callers in deciding whether to leave a voicemail message <b>26</b> and/or what to say in the voicemail message <b>26</b>. Additionally or alternatively, voicemail servers <b>20</b> may provide presence information <b>96</b> for a voicemail message sender to a recipient of the voicemail message <b>26</b>. This may help the recipient determine whether to call the sender back immediately and/or whether to take any other appropriate actions in response to receiving the voicemail message <b>26</b>. Both of these functionalities are described in greater detail below.
h-0006Voicemail Greetings
p-0023In particular embodiments of communication system <b>10</b>, voicemail servers <b>20</b> may provide presence information <b>96</b> as part of a greeting played to callers leaving a voicemail message <b>26</b> for a particular voicemail user. <figref idrefs="DRAWINGS">FIG. 1</figref> illustrates an example of the operation of a particular embodiment of communication system <b>10</b> under such circumstances. As shown in <figref idrefs="DRAWINGS">FIG. 1</figref>, a user (referred to here as the “calling party”) using a communication device <b>60</b>, for example communication device <b>60</b><i>a</i>, places a call to another user (referred to here as the “called party”) of communication system <b>10</b> associated with another communication device <b>60</b>, communication device <b>60</b><i>b </i>in this example. In this example, call manager <b>30</b><i>a </i>attempts to connect the incoming call to communication device <b>60</b><i>b</i>. If the called party does not answer the incoming call, call manager <b>30</b><i>a </i>may forward the incoming call to voicemail server <b>20</b><i>a </i>so that the calling party can record a voicemail message <b>26</b> for the called party.
p-0024In responding to the incoming call, voicemail server <b>20</b><i>a </i>plays a greeting associated with the voicemail account of the called party. As part of this process, voicemail server <b>20</b><i>a </i>may request presence information <b>96</b> from presence server <b>90</b> to play as part of the greeting or to be used in selecting an appropriate greeting. Voicemail server <b>20</b><i>a </i>may request presence information <b>96</b> from presence server <b>90</b><i>a </i>in any appropriate manner based on the configuration and capabilities of voicemail server <b>20</b><i>a </i>and presence server <b>90</b><i>a. </i>
p-0025For example, in particular embodiments, voicemail server <b>20</b> receives one or more call signaling messages, such as SIP invitations, from call manager <b>30</b><i>a </i>as part of the incoming call. These call signaling messages may specify a destination communication device <b>60</b> for the incoming call, in this case communication device <b>60</b><i>b</i>. In such embodiments, voicemail server <b>20</b><i>a </i>may then identify a user associated with communication device <b>60</b><i>b</i>, using information contained in user table <b>130</b>. In the illustrated embodiment, user table <b>130</b> includes a plurality of user identifiers <b>132</b> and voicemail server <b>20</b> may select a user identifier <b>132</b> associated with the caller. Voicemail server <b>20</b><i>a </i>then requests presence information <b>96</b> from presence server <b>90</b><i>a </i>by transmitting a presence request <b>92</b> to presence server <b>90</b><i>a </i>that identifies the relevant user. In particular embodiments, presence request <b>92</b> may represent a SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) request that includes the selected user identifier <b>132</b>. The process by which voicemail server <b>20</b><i>a </i>requests presence information <b>96</b> is described in greater detail with respect to <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref>.
p-0026Additionally, particular embodiments of communication system <b>10</b> may implement security policies to limit access to presence information <b>96</b>. As a result, voicemail server <b>20</b><i>a </i>may determine whether the calling party is authorized to access the presence information <b>96</b> of the called party prior to generating presence request <b>92</b> or at any other appropriate time. Voicemail server <b>20</b><i>a </i>may determine whether the calling party is authorized based on caller identification (“caller ID”) information associated with the call, a personal identification number (PIN) supplied by the calling party, and/or any other appropriate criteria or consideration. For example, a particular voicemail server <b>20</b><i>a </i>may determine that a particular calling party is not authorized to access presence information <b>96</b> associated with the called party based on the fact that caller ID information associated with the relevant call indicates that the call originates from a communication device <b>60</b> external to LAN <b>80</b><i>a </i>in which voicemail server <b>20</b><i>a </i>is located. In such embodiments, if the relevant voicemail server <b>20</b><i>a </i>determines that the calling party is not authorized to access presence information <b>96</b> associated with the called party, voicemail server <b>20</b><i>a </i>may decide not to generate presence request <b>92</b> and may instead play a default greeting. If, however, voicemail server <b>20</b><i>a </i>determines that the calling party is authorized to access presence information <b>96</b> for the called party, voicemail server <b>20</b><i>a </i>may generate presence request <b>92</b> and transmit presence request <b>92</b> to presence server <b>90</b><i>a</i>, as described above.
p-0027Furthermore, in particular embodiments, presence server <b>90</b><i>a </i>may support multiple levels of authorization for different types of callers. As one example, presence server <b>90</b><i>a </i>may be configured to provide certain generic types of presence information, such as “Out of Office,” to an external caller and more detailed presence information, such as “In Meeting in Conference Room <b>3</b>,” to the recipient's supervisor. As a result, presence request <b>82</b> may specify an authorization level associated with the relevant caller.
p-0028In response to receiving presence request <b>92</b>, presence server <b>90</b><i>a </i>generates or accesses presence information <b>96</b> that describes the presence status of the user specified by the user identifier <b>132</b> in the presence request <b>92</b>. In particular embodiments, presence server <b>90</b><i>a </i>maintains a presence table <b>150</b> containing up-to-date presence information <b>96</b> for each user of communication system <b>10</b>. In such embodiments, presence server <b>90</b><i>a </i>may retrieve presence information <b>96</b> associated with the user identified in presence request <b>92</b> from presence table <b>150</b>. An example of this process is described in greater detail with respect to <figref idrefs="DRAWINGS">FIG. 2B</figref>. Furthermore, if presence request <b>82</b> specifies an authorization level associated with the caller, presence server <b>90</b><i>a </i>may use the authorization level to choose between multiple types of presence information <b>96</b> maintained by presence server <b>90</b><i>a</i>, to limit the content of presence information <b>96</b> provided by presence server <b>90</b><i>a</i>, or other too otherwise modify the amount or nature of presence information <b>96</b> generated or retrieved by presence server <b>90</b><i>a. </i>
p-0029To facilitate generation of presence information <b>96</b>, components of communication system <b>10</b> that monitor the presence status of users or that provide information related to the presence status of users may send presence server <b>90</b><i>a </i>information pertaining to the presence status of a particular user periodically or whenever the presence status of the user changes. As noted above, these various sources may provide various types of information pertaining to the presence of the user. As one example, PC <b>82</b> may notify presence server <b>90</b><i>a </i>whenever a user logs in or logs out of PC <b>82</b>. As another example, instant messenger client <b>84</b> may notify presence server <b>90</b><i>a </i>whenever a user initiates or terminates a conversation with another user or may provide presence server <b>90</b><i>a </i>information pertaining to the amount of time that has passed since the user's last keystroke. As yet another example, calendar client <b>86</b> may notify presence server <b>90</b><i>a </i>whenever an event scheduled on the user's calendar begins or ends and may also inform presence server <b>90</b><i>a </i>of the type of scheduled event, such as, for example, “meeting,” “vacation,” or “sales call.” Presence server <b>90</b><i>a </i>may then use the information received from the various sources to generate presence information <b>96</b> and then store presence information <b>96</b> in presence table <b>150</b> for later use.
p-0030As an alternative to maintaining a data structure such as presence table <b>150</b> that includes presence information <b>96</b>, presence server <b>90</b><i>a </i>may instead poll the various sources used by presence server <b>90</b><i>a </i>whenever presence server <b>90</b><i>a </i>receives a presence request <b>92</b>. More specifically, presence server <b>90</b><i>a </i>may request information from PC <b>82</b>, instant messenger client <b>84</b>, and/or calendar client <b>86</b> related to the presence status of the relevant user and may generate presence information <b>96</b> based in any suitable manner on the requested information. In general, however, presence server <b>90</b><i>a </i>may generate or access presence information <b>96</b> in any appropriate manner.
p-0031After generating or accessing presence information <b>96</b>, presence server <b>90</b><i>a </i>transmits presence information <b>96</b> to voicemail server <b>20</b><i>a</i>. Presence server <b>90</b><i>a </i>may transmit presence information <b>96</b> to voicemail server <b>20</b><i>a </i>in any suitable form based on the configuration and capabilities of presence server <b>90</b><i>a </i>and voicemail server <b>20</b><i>a</i>. In particular embodiments, presence server <b>90</b><i>a </i>transmits a presence response <b>94</b> that contains the requested presence information <b>96</b>. Moreover, in particular embodiments, presence response <b>94</b> represents a SIMPLE response that includes presence information <b>96</b> in any suitable formats such as, for example, in a text format. In the illustrated example, presence server <b>90</b> transmits presence response <b>94</b> that includes presence information <b>96</b> indicating that the relevant user is “On Vacation.”
p-0032Upon receiving presence information <b>96</b> from presence server <b>90</b><i>a</i>, voicemail server <b>20</b><i>a </i>selects or generates a greeting to play to the calling party. For example, voicemail server <b>20</b><i>a</i>, in particular embodiments, maintains a greeting table <b>140</b> that includes one or more stored greetings <b>142</b>. Each stored greeting <b>142</b> is associated with one or more presence statuses recognized by communication system <b>10</b>. Stored greetings <b>142</b> may represent any appropriate form of audio data. In particular embodiments, stored greetings <b>142</b> represent WAV files. Voicemail server <b>20</b><i>a </i>may determine a current presence status of the called party based on presence information <b>96</b> received from presence server <b>90</b><i>a </i>and may identify a stored greeting <b>142</b> associated with this presence status. This matching process is described in greater detail below with respect to <figref idrefs="DRAWINGS">FIG. 2A</figref>.
p-0033Alternatively, voicemail server <b>20</b><i>a </i>may utilize TTS module <b>120</b> to dynamically generate a greeting based on presence information <b>96</b>. For example, as shown, TTS module <b>120</b> may receive a presence response <b>94</b> that includes the text “On Vacation.” TTS module <b>120</b> may generate a synthesized-speech audio greeting based on the text “On Vacation.” Furthermore, particular embodiments of voicemail server <b>20</b><i>a </i>may utilize both techniques, with voicemail server <b>20</b><i>a </i>attempting to match presence information <b>96</b> to a recorded greeting and, if no recorded greeting matches presence information <b>96</b>, generating a greeting using TTS module <b>120</b>. An example of this process is also described in greater detail with respect to <figref idrefs="DRAWINGS">FIG. 2B</figref>.
p-0034After selecting a stored greeting <b>142</b> or generating a greeting using TTS module <b>120</b>, voicemail server <b>20</b><i>a </i>plays the appropriate greeting to the calling party. For example, in particular embodiments, voicemail server <b>20</b><i>a </i>plays the appropriate greeting by generating a plurality of Voice over Internet Protocol (VoIP) packets <b>180</b> containing audio data associated with the appropriate greeting and transmitting VoIP packets <b>180</b> to the communication device <b>60</b> being used by the calling party, in this example communication device <b>60</b><i>a</i>. Communication device <b>60</b><i>a </i>may then generate audio signals for the calling party based on the audio data included in VoIP packets <b>180</b>.
p-0035The calling party may then choose to leave a voicemail message <b>26</b> for the called party or may choose to call back later and/or take appropriate actions based on the greeting. For example, if the greeting indicates that the called party will be on vacation for the remainder of the week, the calling party may attempt to contact another party if a response is needed before the called party is scheduled to return. Furthermore, the calling party may adjust the contents of any voicemail message <b>26</b> left by the calling party based on the greeting. Thus, particular embodiments of communication system <b>10</b> may facilitate more efficient use of voicemail services.
h-0007Received Voicemail Messages
p-0036In addition to or instead of providing presence information <b>96</b> in voicemail greetings, voicemail servers <b>20</b> may also provide a presence indicator to a user (referred to here as the “recipient”) retrieving voicemail messages <b>26</b> from the user's account. The presence indicator indicates the presence status of another user (referred to here as the “sender”) who left the voicemail messages <b>26</b> for the recipient. For example, in particular embodiments of communication system <b>10</b>, the recipient may retrieve voicemail messages <b>26</b> that have been left for the user by calling an extension associated with voicemail server <b>20</b> using, for example, communication device <b>60</b><i>b</i>. In such an example, call manager <b>30</b><i>a </i>may establish a connection between communication device <b>60</b><i>b </i>and voicemail server <b>20</b><i>a</i>. The recipient may then log into a voicemail account associated with the recipient and/or take any other appropriate steps, based on the configuration and characteristics of communication system <b>10</b>, to access his or her voicemail account.
p-0037Once logged into his or her account, the recipient may choose to listen to voicemail messages <b>26</b> that have been left for the recipient. In particular embodiments of communication system <b>10</b>, after the recipient has listened to a voicemail message <b>26</b> saved in the recipient's account, voicemail server <b>20</b><i>a </i>may prompt the recipient to determine whether the recipient would like to receive presence information <b>96</b> for the sender who left that voicemail message <b>26</b>. The recipient may then request that voicemail server <b>20</b><i>a </i>provide current presence information <b>96</b> for the sender who left the voicemail message <b>26</b> by, for example, pressing a particular button on a keypad of communication device <b>60</b><i>b</i>. Additionally, particular embodiments of communication system <b>10</b> implement security policies and presence server <b>90</b><i>a</i>, voicemail server <b>20</b><i>a</i>, or another voicemail server <b>20</b> associated with the sender may determine whether the recipient is authorized to access presence information <b>96</b> for the sender. If not, voicemail server <b>20</b><i>a </i>may indicate that the recipient is not authorized to access the requested presence information <b>96</b>, terminate replaying of the voicemail message <b>26</b>, and/or take any other appropriate steps.
p-0038If, however, voicemail server <b>20</b><i>a </i>or another component of communication system <b>10</b> determines that the recipient is authorized to access presence information <b>96</b> for the sender, voicemail server <b>20</b><i>a </i>may identify the sender. Voicemail server <b>20</b><i>a </i>may identify the sender in any appropriate manner. In particular embodiments, voicemail server <b>20</b><i>a </i>identifies the sender by reading a device identifier, such as a phone number, an extension, an IP address, or any other suitable identifier, from the header of the relevant voicemail message <b>26</b>. The device identifier identifies a communication device <b>60</b> used by the sender to record the voicemail message <b>26</b>. In such embodiments, voicemail server <b>20</b><i>a </i>may then identify the sender based on the identified communication device <b>60</b> and information stored in user table <b>130</b>. This process is described in greater detail below with respect to <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref>. Voicemail server <b>20</b><i>a </i>then generates presence request <b>92</b> that identifies the sender of voicemail message <b>26</b> and transmits presence request <b>92</b> to presence server <b>90</b><i>a</i>, as described above. By way of illustration, voicemail server <b>20</b><i>a </i>generates an example presence request <b>92</b> in <figref idrefs="DRAWINGS">FIG. 1</figref> requesting presence information <b>96</b> for “Jones, Steve.”
p-0039In response to receiving presence request <b>92</b>, presence server <b>90</b><i>a </i>generates or accesses presence information <b>96</b> associated with the sender. Presence server <b>90</b><i>a </i>may then transmit to voicemail server <b>20</b><i>a </i>a presence response <b>94</b> that includes current presence information <b>96</b> associated with the sender, as described above. By way of illustration, the example presence response <b>94</b> shown in <figref idrefs="DRAWINGS">FIG. 1</figref> includes presence information <b>96</b> indicating that the relevant user is “On Vacation.”
p-0040Upon receiving presence response <b>94</b> from presence server <b>90</b><i>a</i>, voicemail server <b>20</b><i>a </i>selects a stored presence indicator <b>172</b> or generates a presence indicator to play to the user, based on presence information <b>96</b> included in the received presence response <b>94</b>. Presence indicators <b>172</b> may represent any appropriate form of audio data, such as a WAV file, and may indicate the presence status of the sender in any appropriate manner.
p-0041For example, in particular embodiments, voicemail server <b>20</b><i>a </i>maintains an indicator table <b>170</b> that includes one or more stored presence indicators <b>172</b>. Each stored presence indicator <b>172</b> is associated with one or more instances of presence information <b>96</b>, such as “Logged In” or “On Vacation,” recognized by communication system <b>10</b>. Voicemail server <b>20</b><i>a </i>may select a stored presence indicator <b>172</b> associated with that instance of presence information <b>96</b>. Alternatively, voicemail server <b>20</b><i>a </i>may utilize TTS module <b>120</b> to dynamically generate a presence indicator based on presence information <b>96</b>, as described above with respect to the operation of voicemail servers <b>20</b> in providing greetings to callers. Furthermore, particular embodiments of voicemail server <b>20</b> may utilize both techniques, with voicemail server <b>20</b> attempting to match presence information <b>96</b> to a stored presence indicator <b>172</b> and, if no stored presence indicator <b>172</b> matches presence information <b>96</b>, generating audio data using TTS module <b>120</b>.
p-0042After selecting a stored presence indicator <b>172</b> or generating a presence indicator <b>172</b>, voicemail server <b>20</b><i>a </i>plays the selected stored presence indicator <b>172</b> or generated presence indicator <b>172</b> to the user. For example, in particular embodiments, voicemail server <b>20</b><i>a </i>transmits a plurality of Voice over Internet Protocol (VoIP) packets <b>180</b> containing data from the selected presence indicator <b>172</b> or the generated presence indicator <b>172</b> to communication device <b>60</b><i>b</i>. Communication device <b>60</b><i>b </i>may then generate audio signals for the calling party based on the data included in VoIP packets <b>180</b>. The user may then use information provided by the presence indicator <b>172</b> to determine how to respond to the voicemail message <b>26</b>. For example, if the greeting indicates that the party who left the voicemail message <b>26</b> is currently in a meeting, the calling party may wait until later to return the call.
p-0043By providing presence information <b>96</b> to voicemail users, communication system <b>10</b> may facilitate more efficient use of communication services offered by communication system <b>10</b>. Additionally, particular embodiments of voicemail server <b>20</b><i>a </i>may be capable of dynamically generating greetings and presence indications based on any available presence information <b>96</b>, providing a flexible and robust solution for communicating presence information <b>96</b> to voicemail users. In this regard, particular embodiments of communication system <b>10</b> may provide several operational benefits.
p-0044<figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref> illustrate operation of particular embodiments of voicemail server <b>20</b> and presence server <b>90</b> in determining an appropriate greeting to be played to a calling party. More specifically, <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref> illustrate operation of a particular embodiment of voicemail server <b>20</b> in which voicemail server <b>20</b> attempts to match presence information <b>96</b> received from presence server <b>90</b> to a stored greeting <b>142</b> and, if unsuccessful, generates a greeting using a text-to-speech module. <figref idrefs="DRAWINGS">FIG. 2A</figref> illustrates an example of the operation of voicemail server <b>20</b> when voicemail server <b>20</b> successfully matches received presence information <b>96</b> to a stored greeting, while <figref idrefs="DRAWINGS">FIG. 2B</figref> illustrates an example in which voicemail server <b>20</b> is unable to match received presence information <b>96</b> to a stored greeting and generates a greeting instead. Although <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref> illustrate operation of voicemail server <b>20</b> and presence server <b>90</b> with respect to selecting a particular stored greeting <b>142</b> or generating audio data to play as a greeting, similar techniques may be utilized to select or generate presence indicators <b>172</b> to be provided to voicemail recipients after listening to voicemail messages <b>26</b>, as described above with respect to <figref idrefs="DRAWINGS">FIG. 1</figref>.
p-0045<figref idrefs="DRAWINGS">FIG. 2A</figref>, as indicated above, illustrates operation of particular embodiments of voicemail server <b>20</b> and presence server <b>90</b> in selecting a greeting to play the calling party based on presence information <b>96</b> associated with the called party. Voicemail server <b>20</b> and presence server <b>90</b> may include any appropriate combination of software and/or hardware suitable to provide the described functionality. The illustrated embodiments of voicemail server <b>20</b> and presence server <b>90</b> both include a processor <b>22</b> and a memory <b>24</b>.
p-0046Processors <b>22</b><i>a </i>and <b>22</b><i>b </i>(referred to generically as “processors <b>22</b>” collectively or a “processor <b>22</b>” singularly) are operable to execute instructions associated with the services provided by voicemail server <b>20</b> and presence server <b>90</b>. Processors <b>22</b> may represent any suitable devices capable of processing and/or communicating electronic information. Examples of processor <b>22</b> include, but are not limited to, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs) and any other suitable specific or general purpose processors.
p-0047Memories <b>24</b><i>a </i>and <b>24</b><i>b </i>(referred to generically as “memories <b>24</b>” collectively or a “memory <b>24</b>” singularly) store processor instructions and/or any other appropriate information used by voicemail server <b>20</b> and presence server <b>90</b> in operation. In particular embodiments, voicemail server <b>20</b> maintains user table <b>130</b> and greeting table <b>140</b> in memory <b>24</b><i>a</i>, while presence server <b>90</b> maintains presence table <b>150</b> in memory <b>24</b><i>b</i>. Memories <b>24</b> may represent any collection and arrangement of volatile or non-volatile, local or remote devices suitable for storing data such as, for example, random access memory (RAM) devices, read only memory (ROM) devices, magnetic storage devices, optical storage devices, or any other suitable data storage devices.
p-0048TTS module <b>120</b> generates synthesized voice signals simulating pronunciation of text received by TTS module <b>120</b>. TTS module <b>120</b> may include any appropriate combination of software and/or hardware suitable to provide the described functionality. In particular embodiments, TTS module <b>120</b> represents a computer application running on processor <b>22</b><i>a. </i>
p-0049In operation, voicemail server <b>20</b> receives call signaling message <b>112</b> identifying a destination communication device <b>60</b>, device interface, and/or caller for the incoming call. In particular embodiments, call signaling message <b>112</b> may represent a SIP invitation and include a portion of the IP address or phone number for the destination communication device <b>60</b>. In the illustrated embodiment, call signaling message <b>112</b> specifies an extension associated with the destination communication device <b>60</b>. In particular embodiments, voicemail server <b>20</b> receives call signaling message <b>112</b> in one or more call signaling messages received when call manager <b>30</b> forwards the incoming call to voicemail server <b>20</b>.
p-0050After voicemail server <b>20</b> receives call signaling message <b>112</b>, voicemail server <b>20</b> identifies a user identifier <b>132</b> associated with the caller based on call signaling message <b>112</b> and information stored in user table <b>130</b>. User table <b>130</b>, in particular embodiments, includes a plurality of device identifiers <b>134</b> each associated with a user identifier <b>132</b> and voicemail server <b>20</b> matches all or a portion of call signaling message <b>112</b> to a device identifier <b>134</b>. In particular embodiments of communication system <b>10</b>, users may be assigned more than one communication device, such as an office telephone and a mobile phone, or may be assigned a communication device <b>60</b> with multiple interfaces, such as a multi-line telephone that supports multiple extensions. As a result, multiple device identifiers <b>134</b> may be associated with the same user identifier <b>132</b>.
p-0051After identifying a user identifier <b>132</b> associated with the caller, voicemail server <b>20</b> generates a presence request <b>92</b> that includes the user identifier <b>132</b> associated with the matched device identifier <b>134</b>. Voicemail server <b>20</b> then transmits presence request <b>92</b> to presence server <b>90</b>, for example, as a SIMPLE request. Presence server <b>90</b> receives presence request <b>92</b> from voicemail server <b>20</b> and generates a presence response <b>94</b> based on information stored in presence database <b>150</b>. In particular embodiments, presence server <b>90</b> maintains a presence database <b>150</b> in memory <b>24</b><i>b </i>that associates a user identifier <b>132</b> of a particular user with presence information <b>96</b> for that user. In response to receiving presence request <b>92</b>, presence server <b>90</b> matches the user identifier <b>132</b> contained in the received presence request <b>92</b> to a user identifier <b>132</b> in presence database <b>150</b>. Moreover, although <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref> illustrate embodiments of presence server <b>90</b> that retrieve presence information <b>96</b> from memory <b>24</b><i>b </i>in response to receipt of a presence request <b>92</b>, alternative embodiments of presence server <b>90</b> may dynamically create presence information <b>96</b> when requested by voicemail server <b>20</b>.
p-0052Presence server <b>90</b> then generates a presence response <b>94</b> that includes the presence information <b>96</b> associated with the user identifier <b>132</b> specified in the presence request <b>92</b>. After generating presence response <b>94</b>, presence server <b>90</b> transmits presence response <b>94</b> to voicemail server <b>20</b>. As noted above, in particular embodiments, presence server <b>90</b> transmits presence response <b>94</b> to voicemail server <b>20</b> as a SIMPLE response that includes presence information <b>96</b> in the form of text.
p-0053Voicemail server <b>20</b> receives presence response <b>94</b> from presence server <b>90</b> and selects or generates a greeting to play the calling party based on the presence information <b>96</b> included in presence response <b>94</b> and information stored in greeting table <b>140</b>. In the illustrated embodiment, greeting table <b>140</b> includes a plurality of different instances of presence information <b>96</b>, each identifying a particular presence status recognized by communication system <b>10</b>, and a plurality of stored greetings <b>142</b>, each associated with one or more instances of presence information <b>96</b>. In such an embodiment, voicemail server <b>20</b> attempts to match the presence information <b>96</b> contained in presence response <b>94</b> to a particular instance of presence information <b>96</b> in greeting table <b>140</b>.
p-0054If voicemail server <b>20</b> successfully matches presence information <b>96</b> in presence response <b>94</b> to an instance of presence information <b>96</b> in greeting table <b>150</b>, as voicemail server <b>20</b> does in the example illustrated by <figref idrefs="DRAWINGS">FIG. 2A</figref>, voicemail server <b>20</b> then transmits the stored greeting <b>142</b> associated with the matched presence information <b>96</b> to the communication device <b>60</b> being used by the recipient. Voicemail server <b>20</b> may also append additional audio data to the beginning or end of the selected stored greeting <b>142</b> before transmitting the selected stored greeting <b>142</b> to the relevant communication device <b>60</b>. For example, voicemail server <b>20</b> may append audio data comprising a recording of the user stating his or her name, for example “This is Bill Smith, I am . . . ,” to the beginning of the selected stored greeting and/or audio data comprising a recording of the user providing further instructions to the calling party, such as “Please leave a message and I will get back to you as soon as possible,” to the end of the selected stored greeting <b>142</b>. Voicemail server <b>20</b> then transmits the stored greeting <b>142</b> and any appropriate additional audio data to the relevant communication device <b>60</b>. In the illustrated embodiment, voicemail server <b>20</b> transmits the selected stored greeting <b>142</b> as data in a plurality of Voice over Internet Protocol (VoIP) packets <b>180</b>.
p-0055<figref idrefs="DRAWINGS">FIG. 2B</figref> illustrates operation of the same embodiments of voicemail server <b>20</b> and presence server <b>90</b> in an example in which voicemail server <b>20</b> is not able to match the presence information <b>96</b> received from presence server <b>90</b> to a stored greeting <b>142</b>. As a result, voicemail server <b>20</b> generates a greeting to play the calling party using TTS module <b>120</b>. In the illustrated embodiments, voicemail server <b>20</b> and presence server <b>90</b> include the same components as in <figref idrefs="DRAWINGS">FIG. 2A</figref>.
p-0056As described above with respect to <figref idrefs="DRAWINGS">FIG. 2A</figref>, voicemail server <b>20</b> receives call signaling messages <b>112</b> when the incoming call is forwarded to voicemail server <b>20</b>. Voicemail server <b>20</b> matches all or a portion of call signaling message <b>112</b> to a device identifier <b>134</b> in user table <b>130</b>. Voicemail server <b>20</b> then transmits a presence request <b>92</b> that includes the user identifier <b>132</b> associated with the matched device identifier <b>134</b>.
p-0057Presence server <b>90</b> receives presence request <b>92</b> from voicemail server <b>20</b>. Presence server <b>90</b> matches the user identifier <b>132</b> contained in the received presence request <b>92</b> to a user identifier <b>132</b> in presence database <b>150</b>. Presence server <b>90</b> then generates a presence response <b>94</b> that includes the presence information <b>96</b> associated with the matched user identifier <b>132</b>. After generating presence response <b>94</b>, presence server <b>90</b> transmits presence response <b>94</b> to voicemail server <b>20</b>. As noted above, although <figref idrefs="DRAWINGS">FIG. 2B</figref> illustrates an embodiment of presence server <b>90</b> that retrieves presence information <b>96</b> from memory <b>24</b><i>b </i>in response to receipt of a presence request <b>92</b>, alternative embodiments of presence server <b>90</b> may dynamically create presence information <b>96</b> when requested by voicemail server <b>20</b>.
p-0058Voicemail server <b>20</b> receives presence response <b>94</b> from presence server <b>90</b> and attempts to match the presence information <b>96</b> contained in presence response <b>94</b> to a particular instance of presence information <b>96</b> in presence database <b>150</b>. In the example illustrated in <figref idrefs="DRAWINGS">FIG. 2B</figref>, voicemail server <b>20</b> is unable to match the presence information <b>96</b> in presence response <b>94</b> to an instance of presence information <b>96</b> in greeting table <b>140</b>.
p-0059As a result of the fact that voicemail server <b>20</b> is unable to match the received presence information <b>96</b> to any instance of presence information <b>96</b> in presence table <b>150</b>, voicemail server <b>20</b> generates a greeting using TTS module <b>120</b>. More specifically, voicemail server <b>20</b> inputs the presence information <b>96</b> received from presence server <b>90</b> into TTS module <b>120</b>. TTS module <b>120</b> generates audio data representing synthesized speech signals pronouncing the text included in the received presence information <b>96</b>. As described above with respect to <figref idrefs="DRAWINGS">FIG. 2A</figref>, voicemail server <b>20</b> may append any additional audio information to the beginning or end of the generated audio data. Voicemail server <b>20</b> then transmits the generated audio data and any additional audio information to the relevant communication device <b>60</b>. For example, in the illustrated embodiment, TTS module <b>120</b> generates the audio data as a plurality of VoIP packets <b>180</b> that voicemail server <b>20</b> then transmits to the relevant communication device <b>60</b>.
p-0060Although <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref> illustrate operation of voicemail server <b>20</b> and presence server <b>90</b> in generating a greeting to be played to the caller of an incoming call that is forwarded to voicemail server <b>20</b>, similar matching techniques may be used to select a stored presence indicator <b>172</b>, or to generate audio data for a presence indicator, for users retrieving voicemail message <b>26</b> from their account. In such embodiments, voicemail server <b>20</b> may utilize information stored in the header of the relevant voicemail message <b>26</b> in place of call signaling message <b>112</b>. For example, voicemail server <b>20</b> may access a header of the relevant voicemail message <b>26</b> to obtain an extension associated with the caller who left the voicemail message <b>26</b> and then match that extension to a device identifier <b>134</b> in user table <b>130</b> as discussed above. Operation may then proceed as described in <figref idrefs="DRAWINGS">FIGS. 2A and 2B</figref>.
p-0061<figref idrefs="DRAWINGS">FIG. 3</figref> is a flowchart describing example operation of a particular embodiment of voicemail server <b>20</b> when an incoming call from a source communication device <b>60</b> is forwarded to voicemail server <b>20</b>. The described process begins at step <b>400</b> with voicemail server <b>20</b> receiving call signaling message <b>112</b> that identifies a destination communication device <b>60</b> for the incoming call. In particular embodiments, call signaling message <b>112</b> represents a phone number or extension for the destination communication device <b>60</b>.
p-0062At step <b>410</b>, voicemail server <b>20</b> identifies a user identifier <b>132</b> associated with the destination communication device <b>60</b> specified by call signaling message <b>112</b>. The user identifier <b>132</b> may represent text comprising the user's name, a numeric identifier associated with the user, or any other appropriate form of identifier to identify the relevant user. Voicemail server <b>20</b> determines whether the calling party is authorized to receive presence information <b>96</b> at step <b>420</b>. If the calling party is not authorized to receive presence information <b>96</b>, voicemail server <b>20</b> transmits a default greeting to a source communication device <b>60</b> for the incoming call at step <b>430</b>. Voicemail server <b>20</b> then continues operation at step <b>500</b>.
p-0063If the calling party is authorized to receive presence information <b>96</b>, voicemail server <b>20</b> transmits a presence request <b>92</b> to presence server <b>90</b> that includes the identified user identifier <b>132</b> at step <b>440</b>. At step <b>450</b>, voicemail server <b>20</b> receives a presence response <b>94</b> from presence server <b>90</b>. Presence response <b>94</b> includes presence information <b>96</b> describing a presence status of the called party. Voicemail server <b>20</b> determines whether the received presence information <b>96</b> matches any stored presence information <b>96</b> at step <b>460</b>. If the received presence information <b>96</b> is associated with a particular stored greeting <b>142</b>, voicemail server <b>20</b> transmits a stored greeting <b>142</b> associated with the matched presence information <b>96</b> to the source communication device <b>60</b> at step <b>470</b>.
p-0064If presence information <b>96</b> does not match any stored presence information <b>96</b>, voicemail server <b>20</b> generates a greeting from presence information <b>96</b> using TTS module <b>120</b> at step <b>480</b>. Voicemail server <b>20</b> then transmits the generated greeting to the source communication device <b>60</b> at step <b>490</b>. Voicemail server <b>20</b> may then receive audio data from the source communication device <b>60</b> at step <b>500</b>. Voicemail server <b>20</b> may record a voicemail message <b>26</b> that includes the received audio data at step <b>510</b>.
p-0065<figref idrefs="DRAWINGS">FIG. 4</figref> illustrates a flowchart describing example operation of a particular embodiment of voicemail server <b>20</b> in providing a presence indicator <b>172</b> to a voicemail recipient accessing a voicemail message <b>26</b> from a sender. The described process begins at step <b>600</b> with voicemail server <b>20</b> playing a recorded voicemail message <b>26</b> to the recipient. After playing the voicemail message <b>26</b>, voicemail server <b>20</b> may identify, at step <b>610</b>, a user identifier <b>132</b> associated with the sender of the voicemail message <b>26</b> based on the device identifier <b>134</b>. User identifier <b>132</b> may represent text comprising the user's name, a numeric identifier associated with the user, or any other appropriate form of identifier to identify the relevant user. Voicemail server <b>20</b> then determines whether the recipient is authorized to receive presence information <b>96</b> for the sender at step <b>620</b>. If the recipient is not authorized to receive presence information <b>96</b> for the sender, operation may end at that point.
p-0066If the recipient is authorized to receive presence information <b>96</b>, voicemail server <b>20</b> then prompts the recipient to indicate whether the recipient would like to receive presence information <b>96</b> for the sender at step <b>630</b>. At step <b>640</b>, voicemail server <b>20</b> determines whether the recipient has requested presence information <b>96</b> for the sender. If the recipient has not requested presence information, operation ends.
p-0067If the calling party has requested to receive presence information <b>96</b>, voicemail server <b>20</b> identifies a device identifier <b>162</b> associated with the recorded voicemail message <b>26</b> at step <b>650</b>. In particular embodiments, device identifier <b>162</b> is stored in a header of the recorded voicemail message <b>26</b>. At step <b>660</b>, voicemail server <b>20</b> transmits a presence request <b>92</b> to presence server <b>90</b> that includes the user identifier <b>132</b> associated with the sender. At step <b>670</b>, voicemail server <b>20</b> receives a presence response <b>94</b> from presence server <b>90</b>. Presence response <b>94</b> includes presence information <b>96</b> describing a presence status of the sender. Voicemail server <b>20</b> determines whether presence information <b>96</b> is associated with any of a plurality of stored presence indicators <b>172</b> at step <b>680</b>. If presence information <b>96</b> is associated with a particular stored presence indicator <b>172</b>, voicemail server <b>20</b> plays the associated stored presence indicator <b>172</b> to the communication device <b>60</b> the recipient is using to contact voicemail server <b>20</b> at step <b>690</b> and operation ends. If the received presence information <b>96</b> is not associated with any stored presence information <b>96</b>, voicemail server <b>20</b> generates a presence indicator <b>172</b> from the received presence information <b>96</b> using TTS module <b>120</b> at step <b>700</b>. Voicemail server <b>20</b> then plays the generated presence indicator <b>172</b> to the source communication device <b>60</b> at step <b>710</b> and operation ends.
p-0068Although the present invention has been described with several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes, variations, alterations, transformations, and modifications as fall within the scope of the appended claims.
Contents5
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9276775B2 | Cited by | United States of America | Search report |
| US8077837B1 | Cited by | United States of America | Search report |
| US2012178424A1 | Cited by | United States of America | Pre-grant |
| US8345832B2 | Cited by | United States of America | Search report |
| US2010177877A1 | Cited by | United States of America | Pre-grant |
| US8340265B2 | Cited by | United States of America | Search report |
| US2009034698A1 | Cited by | United States of America | Pre-grant |
| US8588392B2 | Cited by | United States of America | Applicant |
| US2009059897A1 | Cited by | United States of America | Pre-grant |
| US9112977B2 | Cited by | United States of America | Search report |
| US2006245558A1 | Cited by | United States of America | Pre-grant |
| US8374318B2 | Cited by | United States of America | Search report |
| US2012071138A1 | Cited by | United States of America | Pre-grant |
| US2008253538A1 | Cited by | United States of America | Pre-grant |
| US7813483B2 | Cited by | United States of America | Search report |
| US8265603B2 | Cited by | United States of America | Search report |
| US8594284B2 | Cited by | United States of America | Applicant |
| WO03019908A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| EP1519292A1 | Cites | European Patent Office (EPO) | Applicant |
| EP1519552A1 | Cites | European Patent Office (EPO) | Applicant |
| US2002076010A1 | Cites | United States of America | Applicant |
| US2003095542A1 | Cites | United States of America | Search report |
| US2004006623A1 | Cites | United States of America | Search report |
| US2005043022A1 | Cites | United States of America | Search report |
| US2006072715A1 | Cites | United States of America | Search report |
| US2008034034A1 | Cites | United States of America | Search report |
| US6631181B1 | Cites | United States of America | Applicant |
| US6631183B1 | Cites | United States of America | Applicant |
| US6700967B2 | Cites | United States of America | Applicant |
| US6707890B1 | Cites | United States of America | Applicant |
| US6842505B1 | Cites | United States of America | Applicant |
| US6842512B2 | Cites | United States of America | Search report |
| US6879677B2 | Cites | United States of America | Applicant |
| US6968052B2 | Cites | United States of America | Search report |
| US7127400B2 | Cites | United States of America | Search report |
| US7330721B2 | Cites | United States of America | Search report |
| US7359496B2 | Cites | United States of America | Search report |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 11682905 | United States of America | A | |
| US20050116829 | – | – | – |
60 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 RCE.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Correspondence Address ChangeC.ADB | C.ADB | |
| Application Is Considered for C of CCOFC | COFC | |
| Mail Post CardPST_CRD | PST_CRD | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail-Petition Decision - GrantedMP034 | MP034 | |
| Petition Decision - GrantedP034 | P034 | |
| Petition EnteredPET. | PET. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Is Now CompleteCOMP | COMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 7623633
- Publication, EPODOC
- US7623633
- Application
- 11116829
- Application, DOCDB
- 11682905
- Application, EPODOC
- US20050116829
Titles
- English
- System and method for providing presence information to voicemail users
Patent term adjustment
- A delay
- +805 daysthe office missed an examination deadline
- B delay
- +408 dayspendency past three years
- Overlap
- −135 daysdelays counted once
- Applicant delay
- −75 days
- Net adjustment
- 1,003 days
Classification
- CPC, 3
- H04M11/10
- H04M3/42365
- H04M3/53383
- IPC, 1
- H04M1 64
- USPC, 10
- 379088120
- 370352000
- 379074000
- 379088260
- 379093230
- 379142080
- 379210010
- 455422100
- 709203000
- 709227000