The present disclosure relates generally to voicemail platforms for communications devices. More particularly, the present disclosure relates to a dynamic voicemail receptionist system for communications networks.
Voicemail is a popular telephone service feature, whether the telephone is standard wired telephone service, wireless, e.g., cellular, telephone service, or even voice over internet protocol (VoIP). When a dialed line does not answer or is busy, a call can be handled by a voicemail system. A voicemail system often plays a recording for a calling party and prompts the calling party to leave a brief message, for example, a spoken message. The message is often recorded and stored until the message is retrieved by a voicemail user.
Statistics suggest that there are close to 100 million cell phone users in the United States. A recent trend in the U.S. includes replacing terrestrial telephone services with cellular telephone services, meaning that a cellular telephone service may be a user's only telephone number. As such, voicemail, an almost standard feature for cellular telephone service, is relied upon by many users to report all missed telephone calls. With the increased reliance upon cellular telephone service has come a corresponding increased reliance upon other cellular telephone features, for example, text messaging, which allows exchange of short strings of text between users without initiating a telephone call. Text messages can be useful for delivering short messages that require no response from the message recipient, for example, “I'm on Flight 1234, arriving at 9:05 PM at Gate 1D.” As reliance upon cellular telephone services and voicemail increases, demand for enhanced voicemail services will likely experience a corresponding increase.
A voicemail receptionist system can include a memory configured to store user data associated with at least one user. The memory can also store instructions for handling a communication. The voicemail receptionist system can also include a processor operably connected to the memory. The processor is configured to determine how to handle a communication based upon the user data and the instructions stored in the memory. The user data can include any combination of data, including, but not limited to, user preferences, calendar data, audio data, location data, network data, and device and/or account data. Instead of, or in addition to, using the user data, the voicemail receptionist system can also receive data relating to an incoming call. The determination as to how to handle a communication can be based upon the incoming call data as well as, or instead of, the user data. The voicemail receptionist system can also include a communications network interface. The communications network interface can be a wireless and/or wired connection. If the voicemail receptionist system resides on a mobile communications device, the communications network interface can include a device antenna.
A method for handling a call with a voicemail receptionist system can include obtaining user data associated with at least one user. The data can be updated at any time. The voicemail receptionist system can receive, from a calling party, a call for a user. The voicemail receptionist system can analyze the user data and the data relating to the received call to determine menu options for presentation to the calling party. If there are menu options to present to the calling party, the voicemail system can present the options to the calling party. If there are no options to present to the calling party, the voicemail receptionist system can provide standard voicemail functionality to the calling party, can terminate the call, or can forward the call to another node, platform, number, or the like. A calling party can select a desired menu option. The voicemail receptionist system can implement the selected option. If desired, the voicemail receptionist system can validate the selected option prior to attempting to implement the option. In some embodiments, the selected option may require data that is not yet known by the voicemail receptionist system. Alternatively, the selected option may be directed to dynamic information. The voicemail receptionist system can update any information at any time, including after selection of a menu option, to improve the accuracy of the information requested by the calling party.
In some embodiments, the method includes storing the obtained user data in a memory. In some embodiments, the menu options are provided as an audio menu and the calling party can select an option using voice commands and/or pressing a keypad button to send a DTMF tone to the voicemail receptionist system. In some embodiments, the menu options are presented by transmitting data to the calling party device with instructions for formatting and displaying a menu to the calling party. When a calling party makes a selection, the voicemail receptionist system can receive data from the calling party device indicating the menu option selection.
The voicemail receptionist system can determine that an additional selection is available after the first selection. The method can therefore include presenting additional menu options to a calling party and receiving an additional menu option selection from the calling party. The received additional menu option can be executed by the voicemail receptionist system, with or without validation by the voicemail receptionist system of the first and/or additional menu option selections. If the menu option selected is available, the voicemail receptionist system can execute the selection. If the menu option selected is not available, then menu options can be presented to the calling party. The menu options can be new menu options or the same menu options already presented to the calling party.
A mobile device with a voicemail receptionist system can include a memory configured to store menu data associated with at least one menu option. The memory can also be configured to store instructions for presenting a menu. The device can also include a processor operably connected to the memory. The processor can be configured to determine how to present, to a calling party, at least one menu option based upon the instructions and the menu data. In some embodiments, the at least one menu option is based upon user data associated with a called user. The menu options can include one or more of an option to send a text message, an option to send a voicemail message, an option to listen to a schedule associated with the called user, and an option to send contact information relating to the calling party to the called user. The user data associated with a called user can be received over a communications network.
These and additional features of the present disclosure will become apparent with reference to the attached drawings, wherein:
As required, detailed embodiments of the present disclosure are disclosed herein. It must be understood that the disclosed embodiments are merely exemplary examples of the disclosure that may be embodied in various and alternative forms, and combinations thereof. As used herein, the word “exemplary” is used expansively to refer to embodiments that serve as an illustration, specimen, model or pattern. The figures are not necessarily to scale and some features may be exaggerated or minimized to show details of particular components. In other instances, well-known components, systems, materials or methods have not been described in detail in order to avoid obscuring the present disclosure. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present disclosure.
Referring now to the drawings in which like numerals represent like elements throughout the several views,
One or more Internet-capable devices, for example, a PC 20, a laptop 22, and a portable device 24, can communicate with one or more cellular networks 12, or even a device 18 connected thereto, through the Internet 14. It will also be appreciated that the PC 20, the laptop 22, the portable device 24, or any other device, can communicate with the Internet 14 through the PSTN 16, the cellular network 12, or both. As illustrated, a communications device 26, for example, a telephone, can be in communication with the PSTN 16.
The cellular network 12 can include a wide array of nodes, devices, subsystems, networks, and subnetworks. For example, a cellular network 12 can include one or more messaging systems or nodes, for example, a short message service center (SMSC), a multimedia message service center (MMSC), voicemail systems, and the like. A cellular network 12 can also include various radios and nodes for passing voice, data, and combinations thereof to and from radio transceivers, networks, and the Internet 14. As illustrated, a communications network 10 can include a voicemail receptionist system 30 (VMRS). The VMRS 30 can be hardware, software, and/or a combination thereof. While the VMRS 30 is illustrated as being in communication with the cellular network 12, it will be appreciated that the VMRS 30 can be hardware and/or software residing on the cellular network 12, the PSTN 16, the portable device 18, the Internet 14, or a combination thereof, and can be accessible by and/or through multiple devices and networks. Furthermore, the VMRS 30 can reside on a private network accessible by the cellular network 12, the PSTN 16, or the Internet 14, or even the portable device 18. It should be appreciated that substantially all of the functionality ascribed to the communications network 10 can be performed by the cellular network 12.
Turning now to
The word “memory,” as used herein to describe the memory 38, collectively refers to all memory types associated with the VMRS 30 such as, but not limited to, processor registers, processor cache, random access memory (RAM), other volatile memory forms, and non-volatile, semi-permanent or permanent memory types; for example, tape-based media, optical media, flash media, hard disks, combinations thereof, and the like. While the memory 38 is illustrated as residing proximate the processor 34, it should be understood that the memory 38 can be a remotely accessed storage system, for example, a server on the Internet 14. Moreover, the memory 38 is intended to encompass network memory and/or other storage devices in wired or wireless communication with the VMRS 30, which may utilize the communications network interface 32 to facilitate such communication. Thus, any of the data, applications, and/or software described below can be stored within the memory 38 and/or accessed via network connections to other data processing systems (not shown) that may include a local area network (LAN), a metropolitan area network (MAN), or a wide area network (WAN), for example. Accordingly, the present disclosure may operate on the VMRS 30, wherein the VMRS 30 is configured as a server to one or more client data processing systems as dictated by a client/server model.
The illustrated memory 38 can include other elements 40, for example, other data, software, instructions, applications, and the like, and a voicemail receptionist application 42 (VMRA). The illustrated memory 38 can also include an operating system (not illustrated) and user data 44.
The user data 44 can include a number of categories of user data. The user data 44 can be associated with one or more users of the VMRS 30. Exemplary categories of user data 44 can include, for example, voicemail receptionist preferences data 46, location data 48, calendar data 50, network data 52, audio data 54, account/device data 56, and other data (not illustrated). The user data 44 can be configured, stored, synced, updated, and deleted by any number of users, network operators, or other authorized parties. The user data 44 can be entered into any device, including, but not limited to, a device 18, a PC 20, a laptop 22, a portable device 24, or a server on the Internet 14. Additionally, or in the alternative, the VMRS 30 can include functionality that enables a user to enter user data 44 directly into the VMRS memory 38.
Preferences data 46 can include the user's preferences for the VMRS 30. Preferences data 46 can include an indication as to which functions the user wishes to make available to calling parties. For example, the preferences data 46 can indicate whether the user wishes to share location data, whether the user wishes to share calendar data, if the user wishes to allow calling parties to send voicemail, text, or email messages, and if the user accepts contact information from calling parties. Other preferences are possible, including options for bypassing the VMRS 30 and sending incoming calls for a user to another system, phone number, and/or user, forwarding numbers, voice or data delivery options, including formats, size, delivery times, and the like, as well as other preferences.
Location data 48 can include the user's location at any particular time. The location data 48 can be obtained from any suitable device or means, including, but not limited to, manual entry by the user of the user's location, from a presence indication provided by, for example, the user's schedule, from the user's device, from a location server, or by using GPS, cellular and/or Wi-Fi triangulation data, or the like to determine the user's location. The location data 48 can be updated constantly, at predetermined intervals, by the user, or automatically, for example, when a call is received from a party with which the user wishes to share location data 48.
Calendar data 50 can include information relating to the user's calendar for any time or time frame. For example, the calendar data 50 can include data indicating a user's appointments, free time, busy time, vacation time, and the like. As such, at any particular time, the calendar data 50 can provide the VMRS 30 with data relating to the user's calendar, or a portion thereof, which the VMRS 30 can pass to the calling party. Additionally, or in the alternative, the calendar data 50 can include a user's schedule for any time or time frame, which can be stored as data or even as an audio announcement providing details relating to the user's schedule. In one embodiment, a user can record a message conveying a schedule for a party, for example, the user's schedule. In another embodiment, a software and/or hardware device or application can create an audio announcement that conveys a party's schedule. If the calendar data 50 is an audio announcement, it can be stored as audio data 54.
Network data 52 can include data relating to the user's network, for example, network configuration and protocols. The network data 52 can provide any level of detail relating to the user's network. The network data 52 can be used to determine compatibility with a calling party device, network, and the like. The network data 52 can also detail restricted and/or allowed networks, for example, cellular networks, roaming data, Wi-Fi hotspots, VPNs, and the like. Restricted and/or allowed networks can be set by a user, by a network provider, or by any other authorized party. The network data 52 can be particularly useful if the VMRS 30 resides on the device 18, since this can allow the device 18 to format data or voice, for example, to enhance or optimize performance on the network.
Audio data 54 can include greetings, announcements, audio schedules, busy tones, ring tones, ringback tones, and the like. The audio data 54 can be configured by the user, the network, the VMRS 30, or any other authorized party or device. In some embodiments, the user calendar data 50 is converted to schedule announcements that are presented to a calling party as an audio file. In some embodiments, the user records a schedule announcement, for example, “I'm in the office today from 9:00 AM to 5:00 PM . . . .” Greetings can also be tailored by the user or the VMRS 30 to indicate that a user is unavailable, or that the call has otherwise been forwarded to a voicemail system or VMRS 30. Audio data 54 can be stored in any desired format, including, but not limited to, WAV, AIFF, RAW, encoded in GSM CODEC, AAC, MP3, MP4, WMA, RA, MSV, DVF, and other open and proprietary audio formats.
Account/device data 56 can include data relating to the user's account and/or device, including, but not limited to, the user's subscription plan and the user's device capabilities. For example, the VMRS 30 can be in communication with one or more billing platforms, subscriber databases, other network nodes, and the like, to receive the account/device data 56 relating to a user's subscription plan, usage, and billing information. Additionally, the account/device data 56 can inform the VMRS 30 of the features the user's device supports by indicating the IMEI, serial number, carrier, software version(s), firmware, carrier-specific applications, combinations thereof, or the like. The account/device data 56 can pass-through the VMRS 30, or can be stored, at least temporarily. The VMRS 30 can use the account/device data 56 to determine what functionality should be provided to a calling party based upon what types of data and/or voice the user's device 18 can receive. If the user's device 18 does not support MMS messaging, for example, then the option to send an MMS message to the user can be disabled, if desired. Additionally, billing considerations can be used to tailor options presented to a calling party. For example, if the user has a 200 text message per month limit, then the VMRS 30 can, upon receiving a notification from a billing platform, disable the ability to send a text message through the VMRS 30 if the user has already exceeded the 200 text message per month limit when the call is sent to the VMRS 30. Additionally, or in the alternative, a notification can be sent from a billing platform to the user, and the user can manually deactivate the text message feature or override deactivation of the text message feature.
The VMRS 30 can identify any user data 44 as relating to a user, for example by correlating a calling or called party with the user data 44. Correlated user data 44 can thereby identify a user's preferences, location, calendar, recordings, greetings, schedules, announcements, network configuration, connection protocols, presence, device capabilities and characteristics, billing plan, other information, combinations thereof, and the like. Correlation of user data 44 will be described in more detail below with reference to
As illustrated, the mobile communications device 18 can be a multimode handset.
The device 18 can include a variety of computer readable media, including volatile media, non-volatile media, removable media, and non-removable media. Computer-readable media can include device storage media and communication media. Storage media can include volatile and/or non-volatile, removable and/or non-removable media such as, for example, RAM, ROM, EEPROM, flash memory or other memory technology, CD ROM, DVD, or other optical disk storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by the device 18.
The device 18 can include a display 60 for displaying multimedia such as, for example, text, images, video, telephony functions such as Caller ID data, setup functions, menus, music, metadata, messages, wallpaper, graphics, internet content, device status, preferences settings, map data, location data, and the like. The device 18 can include a processor 62 for controlling, and/or processing data. A memory 64 can interface with the processor 62 for the storage of data and/or applications 66. An application 66 can include, for example, video player software, voicemail receptionist software, calendar software, music player software, email software, messaging software, combinations thereof, and the like. The application 66 can also include a user interface (UI) application 68. The UI application 68 can interface with a client 70 (e.g., an operating system) to facilitate user interaction with device functionality and data, for example, answering/initiating calls, entering/deleting data, configuring settings, address book manipulation, multimode interaction, and the like. The applications 66 can include other applications 72 such as, for example, firmware, add-ons, plug-ins, voice recognition, call voice processing, voice recording, messaging, e-mail processing, video processing, image processing, music play, combinations thereof, and the like, as well as subsystems and/or components. The applications 66 can be stored in the memory 64 and/or in a firmware 74, and can be executed by the processor 62. The firmware 74 can also store code for execution during initialization of the device 18.
A communications component 76 can interface with the processor 62 to facilitate wired/wireless communications with external systems including, for example, cellular networks, VoIP networks, LAN, WAN, MAN, PAN, that can be implemented using Wi-Fi, Wi-Max, combinations and/or improvements thereof, and the like. The communications component 76 can also include a multimode communications subsystem for providing cellular communications via different cellular technologies. For example, a first cellular transceiver 78 can operate in one mode, for example, GSM, and an Nth transceiver 80 can operate in a different mode, for example UMTS. While only two transceivers 78, 80 are illustrated, it should be appreciated that a plurality of transceivers can be included. The communications component 76 can also include a transceiver 82 for unlicensed communications using technology such as, for example, WI-FI, WI-MAX, BLUETOOTH, infrared, IRDA, NFC, RF, and the like. The communications component 76 can also facilitate communications reception from terrestrial radio networks, digital satellite radio networks, Internet-based radio services networks, combinations thereof, and the like. The communications component 76 can process data from a network such as, for example, the Internet, a corporate intranet, a home broadband network, and the like, via an ISP, DSL provider, or broadband provider.
An input/output (I/O) interface 84 can be provided for input/output of data and/or signals. The I/O interface 84 can be a hardwire connection, such as, for example, a USB, PS2, IEEE 1394, serial, parallel, Ethernet (RJ48), RJ11, and the like, and can accept other I/O devices such as, for example, a keyboard, keypad, mouse, interface tether, stylus pen, printer, thumb drive, touch screen, touch pad, trackball, joy stick, monitor, display, LCD, combinations thereof, and the like.
Audio capabilities can be provided by an audio I/O component 86 that can include a speaker for the output of audio signals and a microphone to collect audio signals. The device 18 can include a slot interface 88 for accommodating a subscriber identity system 90 such as, for example, a SIM or universal SIM (USIM). The subscriber identity system 90 instead can be manufactured into the device 18, thereby obviating the need for a slot interface 88. The device 18 can include an image capture and processing system 92. Photos and/or videos can be obtained via an associated image capture subsystem of the image system 92, for example, a camera. The device 18 can also include a video component 94 for processing, recording, and/or transmitting video content.
A location component 96, can be included to send and/or receive signals such as, for example, GPS data, triangulation data, combinations thereof, and the like. The device 18 can use the received data to identify its location or can transmit data used by other devices to determine the device 18 location. The device 18 can include a power source 98 such as batteries and/or other power subsystem (AC or DC). The power source 98 can interface with an external power system or charging equipment via a power I/O component 100.
Turning now to
Another exemplary GUI 102 image is illustrated in
Another exemplary GUI 102 image is illustrated in
In the illustrated preferences interface 140, acceptance of SMS messages 148, location sharing 156, and the bypass option 158 are illustrated as toggled to “off” All other options of the VMR application are illustrated as toggled to “on.” It will be appreciated that some users may wish to toggle certain features of the VMR application on or off. For example, some users are limited to a certain number of SMS messages per billing cycle, after which a fee applies to each transmitted or received SMS message. These and other considerations may prompt some users to toggle “off” the SMS acceptance option 148, as illustrated in
Turning now to
Turning now to
Turning now to
Additionally, it should be appreciated that a phone call can end at any time for a number or reasons. As such, there is no requirement that the method 200 be performed in its entirety. Some or all steps of this process, and/or substantially equivalent steps, can be performed by execution of computer-readable instructions included on a computer readable medium. Furthermore, it must be understood that the word “handle,” and all variants thereof, as used in the description and in the claims, refers to the determination and/or implementation, by the VMRS 30, of what functionality to provide a calling party, how to implement that functionality, and what information the determination is based upon.
The illustrated method 200 begins and flows to block 202, wherein the VMRS 30 obtains user data 44 relating to a user of the VMRS 30. The user data 44 can be obtained in a number of ways. For example, in some embodiments, user data 44 is configured on a mobile device 18 and “pulled” or “pushed” to the VMRS 30 from the device 18 by a network component. For example, a user can customize an application on the device, on the web, or on a sync device such as a PC, for example. Application data can be synced with the mobile device and “pulled” or “pushed” from the device. Alternatively, data can be synced with the VMRS 30 by a node on the Internet 14, by a sync device, or any other appropriate device. A “pull” operation, as used herein, can include a query from the network to the device for new data, and the transmission from the device to the network of the data. In other embodiments, user data 44 is configured via an input interface, for example, a PC 20, laptop 22, or portable device 24 in operable connection with the Internet 14, or a mobile device 18 in operable connection with the Internet 14 via a network, e.g., the cellular network 12. In other embodiments, user data 44 is configured and “pushed” to the network 12 by the user or the user's device. A “push” operation, as used herein, includes a device 18 transmitting data to the network. A “push” operation can be initiated by a user, scheduled by the user or device, or can automatically occur when data is updated, for example.
Regardless of how the user data 44 is obtained by the VMRS 30, the user data can be stored in a VMRS memory 38, as shown at block 204. As illustrated by block 206, the user data 44 stored in the VMRS memory 38 can be updated at any time, for example, by a sync operation similar to the sync operation described above. For example, the user data 44 can be updated periodically, on demand, upon changes, or based upon any desired interval or trigger event. In still other embodiments, user data 44 can be updated periodically by syncing the user data 44 with one or more user devices. Any changes to the user data 44 can be saved in the VMRS memory 38, as illustrated at block 204. It will be appreciated that the exchange, saving, and/or updating of user data 44 can occur many times before the illustrated method flows to the next block. In some embodiments, block 206 corresponds to a starting position for the method 200, and blocks 202-204 correspond to a VMRS setup method.
At any time, as shown in block 208, the VMRS 30 can receive a call for a user. Although the process for delivering a call to the VMRS 30 will not be described in detail, it should be appreciated that a call can be forwarded to the VMRS 30 by a network node when the called party does not answer, for example. Alternatively, the VMRS 30 can effectively intercept all calls by configuring the network to deliver all calls directly to the VMRS 30. Alternatively, the device can forward calls to the VMRS 30, for example, by using a call forward feature. Regardless of how a call arrives at the VMRS 30, the calling party's call data can also be delivered to the VMRS 30.
As illustrated in block 210, the VMRS 30 can use the user data 44 for the called party, and the call data to retrieve various data from the VMRS memory 38, a network node, and/or the Internet 14. For example, the VMRS 30 can retrieve data relating to the user's, i.e., the called party's, general preferences, greetings, announcements, schedule, calendar data, network data, location data, and the like. Furthermore, the VMRS 30 can correlate the call data relating to the calling party to the user data 44, whereby any specific preferences relating to the calling party can be retrieved. For example, if a user has blocked certain data from being accessible by a calling party, the VMRS 30 can determine this user preference by correlating the call data and the user data, for example. It should be noted that portions of data can be retrieved at various times, depending upon how the VMRS 30 is implemented by any particular user, network, provider, or the like. For example, the VMRS 30 may first determine what menu options should be provided before retrieving data relating thereto. Additionally, or in the alternative, the VMRS 30 can determine that a calling party cannot operate a data session, in which case the VMRS 30 will only need to get data for a voice-driven embodiment of the VMRS 30.
In block 212 of the illustrated method 200, the VMRS 30 uses the retrieved user data 44, and any correlations between the user data 44 and the call data, to generate menu options for the calling party. For example, if the user has decided to share his or her calendar data 50 with calling parties, the VMRS 30 can include a “View Calendar” option in the list of menu options. The calling party can have access to the “View Calendar” option, for example, as a graphical menu choice, as illustrated by the option 188 in
At block 214, the VMRS 30 can determine if there are any options available for the calling party. In some instances, the VMRS 30 can determine that no data is to be shared with the calling party. For example, a user may decide to block the calling party from accessing any functionality of the VMRS 30 relating to the user. Alternatively, the user may not have updated the VMRS 30 with any user data 44. Regardless of why there are no menu options, the VMRS 30 can play the user's greeting and record a voicemail message, as illustrated in block 216. Alternatively, if there is no VMRS functionality needed, the call can be forwarded to a standard voicemail system to remove unnecessary data transfer from the VMRS 30. After the call is forwarded out of the VMRS network, handled by the VMRS 30, or handled by a standard voicemail system, the method 200 can end. It will also be appreciated that a user can disable the accept voicemail messages option for a particular calling party, or for all calling parties. Accordingly, if there are no available options for a calling party, the method can simply end without any other action, though a recording can be played for the calling party, if desired.
Returning now to decision block 214, if the VMRS 30 determines that there are menu options available, the method can proceed to block 218, wherein the VMRS 30 determines if the VMR functionality should be sent to the device using a data connection, a voice connection, or both. A user may prefer using a data connection, a voice connection, or both. For example, sending data to a device to enable a user to view a called-party's calendar may require the receipt of packet data at a calling party's device. If the calling party's device does not support simultaneous voice and data communication, for example, the voice communication can be terminated and a data session can be opened to enable the device to use the data-based functionality of the VMRS 30. Additionally, a user may prefer utilizing a data session for some or all of the VMRS functionality due to billing considerations, or to use extra or enhanced features for a GUI, for example. In any case, the VMRS 30 can inform a user, or the user's device, that a data session can be commenced to use some or all functionality of the VMRS 30. In some embodiments, the data session can be almost immediately opened so there appears to be little, if any, perceived delay between terminating the voice communication and opening the data communication. Additionally, the VMRS 30 can operate as a feature that is delivered to a mobile device 18 exclusively through a data session. In such an embodiment, the recordings, greetings, announcements, and the like, can be provided to a calling party as streaming audio or video. Some or all data can be cached in a calling party device and updated only as needed. Such an embodiment may have particular usefulness for users with unlimited data plans and/or the inability to open simultaneous voice and data sessions. In any embodiment, voice and/or data usage can be billed on a post-paid or a pre-paid basis, or all VMRS functionality can be delivered to a device as a bundled package.
Aside from a user's preferences, the decision whether to use data, voice, or both to deliver VMRS functionality can be based on a number of factors. For example, the VMRS 30 may determine that the calling party can open a data session while the call is active. In such a case, the VMRS 30 can send some or all of the VMR functionality using a data connection, as represented by block 220a. It will be appreciated that it may be desirable to deliver some or all of the VMRS functionality using a voice connection instead of, or in addition to, the data connection. For example, the VMRS 30 may determine that the device cannot use data while on a voice call. In such a case, the VMRS 30 can use a voice/keypad driven menu system, as illustrated at block 220b, or can instruct the device to terminate the call and initiate a data session. For example, if the calling party is using a mobile device, the cellular network 12 can use known data to determine if a data session is available. The known data can include, but is not limited to, the network with which the mobile device is registered, the IMEI of the device, the user's subscription or service plan, or other known or ascertainable data. If the calling party device is not a mobile device, the VMRS 30 can use the calling party's call data, e.g., the phone number or IP address of the calling party, to determine if the calling party device supports data and/or voice transfer. If the calling party device does not support data transfer, or if the VMRS 30 is unable to determine if the calling party device supports data transfer, the method 200 can flow to block 220b, wherein the VMRS functionality can be provided using recordings and user input via voice and/or keypad DTMF tones.
As illustrated in block 220b, the VMRS 30, can play a user's greetings, announcements, or the like, and can play a menu for the calling party that includes one or more options selectable by a voice command, a DTMF tone, or the like, e.g., “press or say ‘1’ to leave a message, press or say ‘2’ to send a text message, press or say ‘3’ to hear the user's schedule,” and the like. The VMRS 30 can wait for a response from the calling party, as illustrated in block 222.
Although the illustrated method 200 shows block 222 occurring after 220a, it will be appreciated that some menu systems allow a user to input a command to choose a menu option at any time within a menu, and that some systems restrict a user from choosing a menu option until all menu options have been played. It will be appreciated that these and other possibilities are not easily illustrated simultaneously, but are included in the scope of the appended claims.
Returning now to the decision block 218, if the VMRS 30 determines that the calling party device can support data transfer the method 200 flows to block 220a. In block 220a, the VMRS 30 can format and send a command to the calling party device to display the VMRS menu. The command to display the VMRS menu can include a list of the options to be displayed to the calling party. The command will be understood by the calling party's device, and/or a VMR application residing on the device, and can be used to command the calling party device to display an option menu, an example of which is illustrated in
As illustrated in block 224, the VMRS 30 can receive a response from the calling party. As explained above, the calling party's response can be transferred to the VMRS 30 over one or more data connections, one or more voice connections, or both. As illustrated at block 226, the VMRS 30 can examine the response received and validate the response to determine if the response entered corresponds to a choice offered to the calling party and/or if the data needed to execute the response is available. If the response entered by the calling party is executable, the method 200 can flow to block 228. If the response entered by the calling party does not correspond to an available option, or if the data is not available, the method 200 can return to block 220a or 220b, as illustrated. It will be appreciated that while the process flows back to block 220a or 220b, the VMRS 30 can inform the calling party that the response entered is not available and/or can generate a new menu to present to the calling party (neither of which are illustrated).
As illustrated in block 228, the VMRS 30 can execute a validated response. It will be appreciated that the validation described above with respect to block 226 can occur during or after attempted execution of the received response. Execution of the response can include a number of routines, subroutines, and/or actions taken by a number of servers, nodes, applications, programs, and the like. For example, if the calling party is communicating with the VMRS 30 over a voice connection, then selection by the calling party of the “Send a Text Message” can require entry by the calling party of a message in numeric or alpha-numeric characters using, for example, a telephone keypad or voice commands. In one embodiment, the calling party can record a spoken message and the VMRS 30 can convert the spoken message to text using a voice to text application. The converted message can be spoken back to the calling party to ensure the message was recorded correctly. Additionally, or in the alternative, a calling party can send a text message using, for example, the telephone keypad to spell the words of the message. Similar verification can be used to ensure the message is taken correctly. Additionally, or in the alternative, the text message can include a phone number entered, for example, using the telephone keypad or voice commands. A recorded message can also be sent to the user as an audio file that is embedded or attached to an email or MMS message. If the user selects the “View Current Location” option, the VMRS 30 can provide location information. The location information can be queried from, for example, the user's device, a location server, or using triangulation, for example. The location information can be obtained at any time, or can be updated when the option is selected. Other selected options can require other actions taken by the VMRS 30. For example, selecting an option to leave a voicemail message can require playing a recorded greeting or announcement for the calling party. Requesting the “Listen to Schedule” option can include querying the user's device, obtaining the user's calendar data 50, or retrieving a schedule recording. Other options can prompt the VMRS 30 to take other actions, though not described here in detail. The method 200 can flow to block 230.
As illustrated in block 230, the VMRS 30 can determine if another response is possible. For example, if the calling party chooses to view the user's calendar, listen to the user's schedule, or view current location, the VMRS 30 may be able to accept a second response after executing the first response. The calling party may determine, after listening to a schedule or viewing a calendar, that a message should or should not be left for the user. The VMRS 30 can provide such options to the calling party, if desired, and can, therefore, accept a second or other additional response. If the VMRS 30 determines that no second response is possible, the call can be ended and the method 200 can end. If the VMRS 30 determines that a second response is possible, the method 200 can flow to block 232, wherein the VMRS 30 can configure a second menu and return to block 222 to wait for a second response from the calling party. Steps 220a-232 can be iterated until no further response is available or entered by the calling party. When there is no second response available or entered by a calling party, the method 200 ends.
It should be appreciated that a call being handled by the VMRS 30 can be moved, at any time, from and between one or more voice connections to one or more data connections, or combinations thereof. It should also be appreciated that a call being handled by the VMRS 30 can be ended at any time, for example, by a calling party terminating the call or the call being terminated. A call can be terminated purposefully, or inadvertently, for example, by leaving a coverage area, losing power at a device, and the like. In any case, the method 200 is exemplary only and need not be completed for any particular communication.
Turning now to
While the foregoing description has described the VMRS 30 as residing as an application on a communications network 10 and as software on a device 18, it will be appreciated that, as mentioned above, a device 18 can include the user data and the VMRA 42, both of which can reside in a memory of the device 18. As such, two devices with VMR support can “talk to each other” to provide the functionality needed for the VMRS 30. It will be appreciated that this embodiment can provide benefits to the user, but that this embodiment can also require more data and/or voice usage by the called party device 18. User preferences can be used to determine whether the VMRS 30 functionality should be employed at the device 18 or at the communications network 10.
It must be understood that the illustrated GUIs are exemplary only and other contemplated user interfaces, screen layouts, selection methods, and the like are contemplated, including an embodiment of the VMRS 30 that does not provide a GUI at the user's device, the calling party's device, or either device. Furthermore, a selection can be made using various embodiments of softkeys and/or key selections on a mobile or stationary telephone keypad, for example, and is not limited to the illustrated GUI. Additional and/or alternative selector switches and joysticks can be used to select a desired option or icon corresponding to a desired option. Input methods can also include touch screens or voice commands. Any desired screen layout or format can be used, including plain text and icons, for example.
The law does not require and it is economically prohibitive to illustrate and teach every possible embodiment of the present claims. Hence, the above-described embodiments are merely exemplary illustrations of implementations set forth for a clear understanding of the principles of the disclosure. Variations, modifications, and combinations may be made to the above-described embodiments without departing from the scope of the claims. All such variations, modifications, and combinations are included herein by the scope of this disclosure and the following claims.
This application is a continuation of U.S. patent application Ser. No. 15/161,489, filed May 23, 2016, now allowed, which is incorporated herein by reference in its entirety and which is a continuation of U.S. patent application Ser. No. 14/669,372, filed Mar. 26, 2015, now U.S. Pat. No. 9,350,843, which is incorporated herein by reference in its entirety and which is a continuation of U.S. patent application Ser. No. 12/053,525, filed Mar. 21, 2008, now U.S. Pat. No. 9,350,842, which is incorporated herein by reference in its entirety and which is a non-provisional of and claims priority to U.S. Provisional Application No. 60/896,728, filed Mar. 23, 2007, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60896728 | Mar 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15161489 | May 2016 | US |
Child | 15790283 | US | |
Parent | 14669372 | Mar 2015 | US |
Child | 15161489 | US | |
Parent | 12053525 | Mar 2008 | US |
Child | 14669372 | US |