WO2014092919A1 - Custom ringback tone systems and methods - Google Patents

Custom ringback tone systems and methods Download PDF

Info

Publication number
WO2014092919A1
WO2014092919A1 PCT/US2013/069929 US2013069929W WO2014092919A1 WO 2014092919 A1 WO2014092919 A1 WO 2014092919A1 US 2013069929 W US2013069929 W US 2013069929W WO 2014092919 A1 WO2014092919 A1 WO 2014092919A1
Authority
WO
WIPO (PCT)
Prior art keywords
caller
ringback
tone
user
custom
Prior art date
Application number
PCT/US2013/069929
Other languages
French (fr)
Inventor
Jun Lee
Steve VISINTAINER
Original Assignee
Realnetworks, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2012/069936 external-priority patent/WO2013090839A1/en
Application filed by Realnetworks, Inc. filed Critical Realnetworks, Inc.
Publication of WO2014092919A1 publication Critical patent/WO2014092919A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42017Customized ring-back tones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Definitions

  • the present disclosure relates to the field of mobile communications, and more particularly, to providing custom ringback tones to callers of mobile users.
  • a ringback tone (or ringing tone) is an audible indication that is heard on the telephone line by the caller while the phone they are calling is being rung. It is normally a repeated tone, designed to assure the calling party that the called party's line is ringing, although the ring-back tone may be out of sync with the ringing signal.
  • the ringback tone is in most cases generated in a distant switch and transmitted in-band.
  • the distant switch also sends a message out band indicating to the rest of the following network that the phone is ringing.
  • the ringback tone is not generated in the handset or by the local switch, as customized tones or voice announcements may be generated by the distant switch in place of a ringing signal.
  • Some carriers allow a subscriber to customize the ringback tone heard by some or all callers to the subscriber, such that when a caller calls the subscriber, the caller does not hear the normal repeated tone, but instead hears music, a message from the subscriber, or other recording.
  • Figure 1 illustrates a simplified ringback tone system comprising ringback tone server, callee device, caller device, and carrier server, as well as data network and voice network.
  • Figure 2 illustrates an exemplary series of communications between callee device, caller device, ringback tone server, and carrier server in accordance with one embodiment.
  • Figure 3 illustrates a ringback-tone-configuration routine for configuring a ringback tone service, such as may be performed by a callee device in accordance with one embodiment.
  • Figure 4 illustrates a frequent-caller-identification subroutine for identifying frequent callers given a call history of a given mobile-telephony device, such as may be performed by a callee device in accordance with one embodiment.
  • Figure 5 illustrates a ringback-tone-selection subroutine for obtaining a selection of a ringback tone from a given list of available ringback tones for a given caller to a given mobile-telephony device, such as may be performed by a callee device in
  • Figure 6 illustrates a ringback-tone-UI request routine for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server in accordance with one embodiment.
  • Figure 7 illustrates a ringback-tone-UI routine for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server in accordance with one embodiment.
  • Figure 8 illustrates an exemplary ringback-tone-selection user-interface such as may be presented to a user of a callee device, in accordance with one embodiment.
  • Figure 9 illustrates an exemplary ringback-tone-selection message such as may be presented to a caller, in accordance with one embodiment.
  • Figure 10 illustrates an exemplary ringback-tone-selection user-interface such as may be presented to a caller, in accordance with one embodiment.
  • Figure 11 illustrates several components of an exemplary callee device in accordance with one embodiment.
  • Figure 12 illustrates several components of an exemplary ringback tone server in accordance with one embodiment.
  • Figure 1 illustrates a simplified ringback tone system comprising ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130, as well as data network 110 and voice network 125. More specifically, in ringback tone system 100, ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130 are connected to data network 110 and ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130 are connected to voice network 125.
  • Ringback tone server 1200 (see Fig. 12, discussed below) provides ringback tone services in connection with mobile services provided by carrier server 130.
  • ringback tone server 1200 may be operated by a third-party ringback tone service.
  • some or all of the functionality described as being provided by ringback tone server 1200 may be provided by carrier server 130.
  • data network 110 may include the Internet, a local area network ("LAN”), a wide area network (“WAN”), and/or other data network.
  • caller device 120 and callee device 1100 may include landline telephones, mobile phones, satellite phones, tablets, laptops, desktop PCs, or other mobile-telephony devices that allow users to make and receive telephonic
  • caller refers to the party making a phone call or similar telephonic communication.
  • callee and callee user are used
  • voice network 125 which transmits voice communications.
  • Voice network 125 may include a public switched telephone network ("PSTN”), a cellular network, a packet-switched network such as the Internet, and the like.
  • PSTN public switched telephone network
  • cellular network a packet-switched network such as the Internet, and the like.
  • packet-switched network such as the Internet, and the like.
  • voice network 125 is operated by a carrier, which is a provider of telecommunication services to its subscribers.
  • carrier services may include Verizon Wireless, provided mainly by Verizon Communications Inc. of Basking
  • AT&T Mobility provided by AT&T Inc. of DeKalb County, Georgia;
  • carrier server 130 is operated by a carrier and connected to voice network 125.
  • carrier server 130 may comprise one or more replicated and/or distributed physical or logical devices.
  • Carrier server 130 may also be connected to data network 110, such as the Internet.
  • caller device 120 and callee device 1100 may be connected to data network 110 via carrier server 130. In other embodiments, caller device 120 and callee device 1100 may also be connected to data network 110 directly, for example, via a Wi-Fi connection.
  • carrier server 130 includes devices that handle incoming and outgoing calls for callee device 1100.
  • a call from caller device 120 to callee device 1100 goes through carrier server 130 and vice versa.
  • additional infrastructure e.g., cell sites, routers, gateways, firewalls, and the like
  • additional devices may be present.
  • the functions described as being provided by some or all of ringback tone server 1200 and carrier server 130 may be implemented via various combinations of physical and/or logical devices. However, it is not necessary to show such infrastructure and implementation details in Figure 1 in order to describe an illustrative embodiment.
  • Figure 2 illustrates an exemplary series of communications between callee device 1100, caller device 120, ringback tone server 1200, and carrier server 130 in accordance with one embodiment.
  • the communications shown in Figure 2 do not encompass every combination of possibilities in which the systems and methods provided herein may be employed. Rather, the illustrated communications merely provide an overview of one simplified example scenario. Additional variations and alternatives are described more fully in the Figures and description that follow.
  • callee device 1100 determines 204 an indication to suggest one or more callers to a user.
  • Callee device 1100 obtains 208 historical call data or "call history" describing recent calls placed by recent callers to callee device 1100 in a recent-past period of time (e.g., the past few months).
  • Callee device 1100 identifies 212 one or more frequent callers (including caller device 120) among the recent callers.
  • Callee device 1100 determines 216 that no custom ringback tone is currently provisioned for caller.
  • Callee device 1100 sends to ringback tone server 1200 a request 220 for one or more custom ringback tones that the user of callee device 1100 has purchased or that are otherwise available for the user's use.
  • Ringback tone server 1200 processes 224 the request and sends to callee device 1100 one or more identifiers 228 identifying the requested custom ringback tones that the user of callee device 1100 has purchased or that are otherwise available for the user's use.
  • Callee device 1100 prompts 232 the user to select one of the available ringback tones as a custom ringback tone to provision as a custom ringback tone for calls placed by caller device 120 to callee device 1100.
  • the user may select one of the ringback tones, but in the exemplary scenario, the user indicates 236 that the caller should select a ringback tone that he or she would like to hear when he or she places a call to callee device 1100.
  • Callee device 1100 sends to ringback tone server 1200 a request 240 to provide a user interface ("UI") (e.g., via the web) by which the caller can select a custom ringback tone.
  • UI user interface
  • Ringback tone server 1200 processes 244 the request and sends to callee device 1100 a URI, URL, or other UI identifier 248 by which the caller can access a ringback-tone-selection UI.
  • Callee device 1100 generates 251 a message for the caller, the message including the identifier 248 received from ringback tone server 1200.
  • Callee device 1100 sends to carrier server 130 a request 255 to deliver the generated message to caller device 120 and/or to notify the caller device 120 (e.g., via a push notification) that the generated message is available.
  • Carrier server 130 processes 259 the request and sends to caller device 120 (e.g., via a text message and/or push notification) a message prompting the caller to access the custom-ringback tone-selection UI.
  • Caller device 120 presents 267 the message to the caller, who indicates (not shown) a desire to access the custom-ringback tone-selection UI.
  • Caller device 120 sends to ringback tone server 1200 a request 271 to access the custom-ringback tone-selection UI.
  • Ringback tone server 1200 processes 275 the request and sends to caller device 120 data (e.g., HTML data) comprising the custom-ringback tone-selection UI.
  • caller device 120 data e.g., HTML data
  • Caller device 120 presents 283 the custom-ringback tone-selection UI to the caller, who indicates (not shown) a selection of an available ringback tone.
  • Caller device 120 sends to ringback tone server 1200 a ringback tone selection 287 indicating that the caller has selected one of the available ringback tones.
  • Ringback tone server 1200 sends to callee device 1100 an indication 291 indicating that the caller has selected a custom ringback tone.
  • Ringback tone server 1200 sends to carrier server 130 a request 295 to provision the selected ringback tone.
  • callee device 1100 may send request 295 to ringback tone server 1200 and/or carrier server 130.
  • Carrier server 130 provisions 299 the requested ringback tone such that the caller will hear the selected ringback tone for calls placed to callee device 1100.
  • Figure 3 illustrates a ringback-tone-configuration routine 300 for configuring a ringback tone service, such as may be performed by a callee device 1100 in accordance with one embodiment.
  • ringback-tone-configuration routine 300 determine an indication to suggest one or more callers to a user of a mobile-telephony device (e.g., callee
  • ringback-tone-configuration routine 300 may execute as part of a ringback tone-serivce application installed on a mobile-telephony device. In some embodiments, ringback-tone-configuration routine 300 may determine such an indication as part of a setup process when the application is installed. In other embodiments, ringback-tone-configuration routine 300 may execute on a periodic basis and/or upon request from a user.
  • ringback-tone-configuration routine 300 obtains a call history describing recent calls placed by recent callers to the mobile-telephony device in a recent- past period of time, such as the previous few weeks or months.
  • ringback-tone-configuration routine 300 identifies one or more ringback tones that are available for use by the user of the mobile-telephony device on which ringback-tone-configuration routine 300 is executing. For example, the user may have purchased one or more ringback tones to make them available. In some embodiments, identifying available ringback tones may include querying ringback tone server 1200.
  • ringback-tone-configuration routine 300 identifies, based at least in part on the call history obtained in block 310, one or more frequent callers among the recent callers identified in block 310.
  • ringback-tone-configuration routine 300 processes each frequent-caller in turn.
  • ringback-tone-configuration routine 300 determines whether a custom ringback tone is currently provisioned for the current frequent-caller. If so, then ringback-tone-configuration routine 300 proceeds to ending loop block 350. Otherwise, ringback-tone-configuration routine 300 proceeds to block 335.
  • ringback-tone-configuration routine 300 prompts the user to select an available ringback tone to provision as a custom ringback tone for calls placed by the current frequent-caller to the mobile-telephony device on which ringback-tone- configuration routine 300 is executing.
  • ringback-tone-configuration routine 300 obtains an indication selecting an available ringback tone.
  • ringback-tone-configuration routine 300 provisions the selected ringback tone for incoming calls from the current frequent-caller.
  • ringback-tone-configuration routine 300 iterates back to opening loop block 325 to process the next frequent-caller, if any.
  • Ringback-tone-configuration routine 300 ends in ending block 399.
  • Figure 4 illustrates a frequent-caller-identification subroutine 400 for identifying frequent callers given a call history of a given mobile-telephony device, such as may be performed by a callee device 1100 in accordance with one embodiment.
  • frequent-caller-identification subroutine 400 identifies one or more unique callers in the given call history for the given mobile-telephony device.
  • frequent-caller-identification subroutine 400 sorts the unique callers identified in block 405 by a count of calls that each unique caller placed to the mobile-telephony device.
  • frequent-caller-identification subroutine 400 determines a desired count of frequent callers to identify (e.g., five frequent callers).
  • frequent-caller-identification subroutine 400 initializes a frequent-caller data structure (e.g., an array, list, hash, map, dictionary, or other suitable data structure).
  • a frequent-caller data structure e.g., an array, list, hash, map, dictionary, or other suitable data structure.
  • frequent-caller-identification subroutine 400 processes each unique caller in turn in order of descending call-count (as sorted in block 410).
  • frequent-caller-identification subroutine 400 determines whether the current unique caller is in an address book, contact list, personal information manager, friend list, or other similar list of contacts and/or persons who are known to a user of the given mobile-telephony device.
  • an address book (or the like) may be stored on the given mobile-telephony device; on a desktop, laptop, or similar computing device associated with the given mobile-telephony device; and/or on a remote server device accessible via a network (e.g., data network 110).
  • frequent-caller-identification subroutine 400 proceeds to block 435. Otherwise, if the current unique caller is not in an address book (or the like) associated with the user, then frequent-caller-identification subroutine 400 proceeds to ending loop block 445.
  • frequent-caller-identification subroutine 400 adds the current unique-caller to the frequent-caller data structure initialized in block 420.
  • frequent- caller-identification subroutine 400 determines whether the desired count of frequent callers (as determined in block 415) have been identified and added to the frequent-caller data structure. If so, then frequent- caller-identification subroutine 400 proceeds to ending block 499. Otherwise, frequent- caller-identification subroutine 400 proceeds to ending loop block 445.
  • Frequent-caller-identification subroutine 400 ends in ending block 499, returning the frequent-caller data structure to the calling routine.
  • Figure 5 illustrates a ringback-tone-selection subroutine 500 for obtaining a selection of a ringback tone from a given list of available ringback tones for a given caller to a given mobile-telephony device, such as may be performed by a callee device 1100 in accordance with one embodiment.
  • ringback-tone-selection subroutine 500 determines whether to allow the given caller to select a custom ringback tone, or to obtain a selection from a user of the given mobile-telephony device. If it is determined to allow the given caller to make the selection, then ringback-tone-selection subroutine 500 proceeds to block 510. Otherwise, ringback-tone-selection subroutine 500 proceeds to block 530.
  • ringback-tone-selection subroutine 500 obtains a URI, URL, or other identifier identifying a selection UI that the given caller can access to select an available ringback tone from the given list of available ringback tones.
  • ringback-tone-selection subroutine 500 may request and receive the identifier from a remote ringback tone-service server (e.g., ringback tone server 1200).
  • ringback-tone-selection subroutine 500 generates a message requesting the given caller to select a ringback tone via the selection UI, the message including the selection-UI identifier obtained in block 510.
  • ringback-tone-selection subroutine 500 provides the message generated in block 515 for delivery to the given caller. For example, in one embodiment, ringback-tone-selection subroutine 500 may send the generated message as a text message through a carrier server (e.g., carrier server 130). In other embodiments, ringback-tone- selection subroutine 500 may send the message or cause the message to be sent via email, a social network, or other available communications medium.
  • a carrier server e.g., carrier server 130
  • ringback-tone- selection subroutine 500 may send the message or cause the message to be sent via email, a social network, or other available communications medium.
  • ringback-tone-selection subroutine 500 obtains an indication that the given caller has selected a custom ringback tone via the selection UI.
  • ringback-tone-selection subroutine 500 obtains a ringback-tone selection from the user of the given mobile-telephony device.
  • Ringback-tone-selection subroutine 500 ends in ending block 599, returning to the calling routine an identifier identifying the selected ringback tone.
  • Figure 6 illustrates a ringback-tone-UI request routine 600 for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server 1200 in accordance with one embodiment.
  • ringback-tone-UI request routine 600 receives a request from a remote mobile-telephony device (e.g., callee device 1100) to provide a user interface by which a caller who frequently calls the remote mobile-telephony device can select a ringback tone that the caller will hear when he or she calls the remote mobile-telephony device.
  • a remote mobile-telephony device e.g., callee device 1100
  • ringback-tone-UI request routine 600 In block 610, ringback-tone-UI request routine 600 generates a unique identifier to associate with the requested user interface. [Para 088] In block 615, ringback-tone-UI request routine 600 associates the identifier generated in block 610 with the requested user interface (e.g., by storing and/or updating a record in database 1240).
  • ringback-tone-UI request routine 600 provides the identifier to the remote mobile-telephony device.
  • Ringback-tone-UI request routine 600 ends in ending block 699.
  • Figure 7 illustrates a ringback-tone-UI routine 700 for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server 1200 in accordance with one embodiment.
  • ringback-tone-UI routine 700 receives a request from a remote mobile-telephony device (e.g., caller device 120) including a previously-generated identifier identifying a user interface by which a caller can select a ringback tone.
  • a remote mobile-telephony device e.g., caller device 120
  • ringback-tone-UI routine 700 identifies a user-interface and a callee that were previously associated with the UI identifier received in block 705 (e.g., by using the identifier to locate a record previously stored and/or updated in database 1240).
  • ringback-tone-UI routine 700 obtains a list of ringback tones to allow the caller to select from.
  • the list of ringback tones may include ringback tones that a user of the callee mobile-telephony device has purchased or that are otherwise available to that user.
  • the list of ringback tones may also include ringback tones that the user of the callee mobile-telephony device has not purchased, but that are available for the user to purchase.
  • ringback-tone-UI routine 700 provides the requested ringback- tone-selection user interface to the requesting remote mobile-telephony device.
  • ringback-tone-UI routine 700 obtains a ringback tone selection, via the user interface provided in block 720, of one of the list of ringback tones obtained in block 715.
  • ringback-tone-UI routine 700 sends a message to the callee's remote mobile-telephony device indicating that the caller has selected a ringback tone. If the selected ringback tone requires the callee to make a purchase to make the selected ringback tone available, ringback-tone-UI routine 700 may further notify the callee that he or she can purchase the selected ringback tone.
  • ringback-tone-UI routine 700 determines whether to provision the selected ringback tone for callee mobile-telephony device. If conditions are satisfied to provision the ringback tone (e.g., if the callee has purchased the ringback tone, and if the callee's mobile-telephony device is not responsible for provisioning the ringback tone), then ringback-tone-UI routine 700 proceeds to block 740. Otherwise, ringback-tone- UI routine 700 proceeds to ending block 799.
  • ringback-tone-UI routine 700 sends a request (e.g., to carrier server 130) to provision the selected ringback tone as a custom ringback tone for calls placed by the caller to callee.
  • Ringback-tone-UI routine 700 ends in ending block 799.
  • Figure 8 illustrates an exemplary ringback-tone-selection user-interface 800 such as may be presented to a user of a callee device, in accordance with one embodiment.
  • Prompt 805 prompts the callee to select a ringback tone.
  • Control 810 allows the callee to select ringback tone A.
  • Control 815 allows the callee to select ringback tone B.
  • Control 820 allows the callee to select ringback tone C.
  • Control 825 allows the callee to select ringback tone D.
  • Control 830 allows the callee to send a message to the caller, prompting him or her to select a ringback tone using a user interface similar to exemplary ringback-tone- selection user-interface 800.
  • Figure 9 illustrates an exemplary ringback-tone-selection message 900 such as may be presented to a caller, in accordance with one embodiment.
  • Message 905 informs the caller that he or she may select a ringback tone by visiting a URL including an identifier (Vxrvt06') identifying a ringback-tone-selection user interface such as that shown in exemplary ringback-tone-selection user-interface 1000 (see Fig. 10, discussed below).
  • Vxrvt06' an identifier identifying a ringback-tone-selection user interface such as that shown in exemplary ringback-tone-selection user-interface 1000 (see Fig. 10, discussed below).
  • Figure 10 illustrates an exemplary ringback-tone-selection user-interface 1000 such as may be presented to a caller, in accordance with one embodiment.
  • Prompt 1005 prompts the caller to select a ringback tone.
  • Control 1010 allows the caller to select ringback tone A.
  • Control 1015 allows the caller to select ringback tone B.
  • Control 1020 allows the caller to select ringback tone C.
  • Control 1025 allows the caller to select ringback tone D.
  • Figure 11 illustrates several components of an exemplary callee device in accordance with one embodiment.
  • callee device 1100 may include many more components than those shown in Figure 11. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment.
  • callee device 1100 may include a landline telephone, mobile phone, satellite phone, tablet, laptop, desktop PC, or other mobile-telephony device that allow a user to make and receive telephonic communications.
  • Callee device 1100 includes a bus 1105 interconnecting several components including a network interface 1210, a display 1115, a central processing unit 1220, and a memory 1225.
  • Memory 1125 generally comprises a random access memory (“RAM”) and a permanent non-transitory mass storage device, such as a hard disk drive or solid-state drive.
  • RAM random access memory
  • the memory 1225 stores program code for a ringback-tone-configuration
  • routine 300 for configuring a ringback tone service (see Fig. 3, discussed above).
  • the memory 1125 also stores an operating system 1235
  • Figure 12 illustrates several components of an exemplary ringback tone server in accordance with one embodiment.
  • ringback tone server 1200 may include many more components than those shown in Figure 12. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment.
  • ringback tone server 1200 may comprise one or more physical and/or logical devices that collectively provide the functionalities described herein. In some embodiments, ringback tone server 1200 may comprise one or more replicated and/or distributed physical or logical devices.
  • ringback tone server 1200 may comprise one or more computing resources provisioned from a "cloud computing" provider, for example, Amazon Elastic Compute Cloud (“Amazon EC2”), provided by Amazon.com, Inc. of Seattle,
  • Ringback tone server 1200 includes a bus 1205 interconnecting several components including a network interface 1210, an optional display 1215, a central processing unit 1220, and a memory 1225.
  • Memory 1225 generally comprises a random access memory ("RAM"), a permanent non-transitory mass storage device, such as a hard disk drive or solid-state drive.
  • the memory 1225 stores program code for a ringback-tone-UI request routine 600 for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee (see Fig. 6, discussed above) and a ringback-tone-UI routine 700 for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee (see Fig. 7, discussed above).
  • the memory 1225 also stores an operating system 1235
  • Memory 1225 also includes database 1240.
  • ringback tone server 1200 may communicate with database 1240 via network interface 1210, a storage area network ("SAN"), a high-speed serial bus, and/or via the other suitable communication technology.
  • SAN storage area network
  • database 1240 may comprise one or more storage resources provisioned from a "cloud storage” provider, for example, Amazon Simple Storage Service (“Amazon S3”), provided by Amazon.com, Inc. of Seattle, Washington, Google Cloud Storage, provided by Google, Inc. of Mountain View, California, and the like.
  • Amazon S3 Amazon Simple Storage Service
  • a user may be able to configure automatic ringback tones triggers for particular callers based on various signals, such as calendar events; geographic-tagging, location- based, and/or location-and-time-based status determinations; automatic driving-status detection (e.g., based on speed currently traveled or other signals); device-battery status (e.g., automatically setting a ringback tone informing the caller that the callee's device is out or almost out of battery power); device-service status (e.g., automatically setting a ringback tone informing the caller that the callee's device lacks a strong mobile signal, so calls may not reach the device); device

Abstract

A ringback tone service may be configured by determining an indication to suggest one or more callers to a user of a mobile-telephony device and obtaining historical call data describing recent calls placed by recent callers to the mobile-telephony device in a recent period of time. After identifying a number of frequent callers for whom no custom ringback tone is currently provisioned, the user is prompted to select from a list of custom ringback tones that are available to provision for incoming calls from the frequent caller (s). In some cases, the user may send a message to the caller, allowing the caller to select his or her own custom ringback tone via a user interface provided by a ringback tone-service provider.

Description

CUSTOM RINGBACK TONE SYSTEMS AND METHODS
CROSS-REFERENCE TO RELATED APPLICATIONS
[Para 001] This application claims the benefit of priority to PCT Patent Application No. PCT/US2012/069936; filed December 14th 2012 under Attorney Docket No. REAL- 2012404 (RN418PCT); titled CUSTOMIZABLE MEDIA AUTO-REPLY SYSTEMS AND
METHODS; and naming inventors Jun LEE et al. The above-cited applications are hereby incorporated by reference, in their entireties, for all purposes.
FIELD
[Para 002] The present disclosure relates to the field of mobile communications, and more particularly, to providing custom ringback tones to callers of mobile users.
BACKGROUND
[Para 003] A ringback tone (or ringing tone) is an audible indication that is heard on the telephone line by the caller while the phone they are calling is being rung. It is normally a repeated tone, designed to assure the calling party that the called party's line is ringing, although the ring-back tone may be out of sync with the ringing signal.
[Para 004] The ringback tone is in most cases generated in a distant switch and transmitted in-band. The distant switch also sends a message out band indicating to the rest of the following network that the phone is ringing. In most public phone networks today the ringback tone is not generated in the handset or by the local switch, as customized tones or voice announcements may be generated by the distant switch in place of a ringing signal.
[Para 005] Some carriers allow a subscriber to customize the ringback tone heard by some or all callers to the subscriber, such that when a caller calls the subscriber, the caller does not hear the normal repeated tone, but instead hears music, a message from the subscriber, or other recording. BRIEF DESCRIPTION OF THE DRAWINGS
[Para 006] Figure 1 illustrates a simplified ringback tone system comprising ringback tone server, callee device, caller device, and carrier server, as well as data network and voice network.
[Para 007] Figure 2 illustrates an exemplary series of communications between callee device, caller device, ringback tone server, and carrier server in accordance with one embodiment.
[Para 008] Figure 3 illustrates a ringback-tone-configuration routine for configuring a ringback tone service, such as may be performed by a callee device in accordance with one embodiment.
[Para 009] Figure 4 illustrates a frequent-caller-identification subroutine for identifying frequent callers given a call history of a given mobile-telephony device, such as may be performed by a callee device in accordance with one embodiment.
[Para 010] Figure 5 illustrates a ringback-tone-selection subroutine for obtaining a selection of a ringback tone from a given list of available ringback tones for a given caller to a given mobile-telephony device, such as may be performed by a callee device in
accordance with one embodiment.
[Para 011] Figure 6 illustrates a ringback-tone-UI request routine for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server in accordance with one embodiment.
[Para 012] Figure 7 illustrates a ringback-tone-UI routine for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server in accordance with one embodiment.
[Para 013] Figure 8 illustrates an exemplary ringback-tone-selection user-interface such as may be presented to a user of a callee device, in accordance with one embodiment.
[Para 014] Figure 9 illustrates an exemplary ringback-tone-selection message such as may be presented to a caller, in accordance with one embodiment.
[Para 015] Figure 10 illustrates an exemplary ringback-tone-selection user-interface such as may be presented to a caller, in accordance with one embodiment. [Para 016] Figure 11 illustrates several components of an exemplary callee device in accordance with one embodiment.
[Para 017] Figure 12 illustrates several components of an exemplary ringback tone server in accordance with one embodiment.
DESCRIPTION
[Para 018] The phrases "in one embodiment", "in various embodiments", "in some embodiments", and the like are used repeatedly. Such phrases do not necessarily refer to the same embodiment. The terms "comprising", "having", and "including" are synonymous, unless the context dictates otherwise.
[Para 019] Reference is now made in detail to the description of the embodiments as illustrated in the drawings. While embodiments are described in connection with the drawings and related descriptions, there is no intent to limit the scope to the embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications and equivalents. In alternate embodiments, additional devices, or combinations of illustrated devices, may be added to, or combined, without limiting the scope to the embodiments disclosed herein.
[Para 020] Figure 1 illustrates a simplified ringback tone system comprising ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130, as well as data network 110 and voice network 125. More specifically, in ringback tone system 100, ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130 are connected to data network 110 and ringback tone server 1200, callee device 1100, caller device 120, and carrier server 130 are connected to voice network 125.
[Para 021] Ringback tone server 1200 (see Fig. 12, discussed below) provides ringback tone services in connection with mobile services provided by carrier server 130. In some embodiments, ringback tone server 1200 may be operated by a third-party ringback tone service. In other embodiments, some or all of the functionality described as being provided by ringback tone server 1200 may be provided by carrier server 130.
[Para 022] In various embodiments, data network 110 may include the Internet, a local area network ("LAN"), a wide area network ("WAN"), and/or other data network. [Para 023] In various embodiments, caller device 120 and callee device 1100 may include landline telephones, mobile phones, satellite phones, tablets, laptops, desktop PCs, or other mobile-telephony devices that allow users to make and receive telephonic
communications.
[Para 024] As used herein, the term "caller" refers to the party making a phone call or similar telephonic communication. The terms "callee" and "callee user" are used
interchangeably to refer to the party being called by a caller.
[Para 025] In various embodiments, calls between caller device 120 and callee
device 1100 are connected via voice network 125, which transmits voice communications.
Voice network 125 may include a public switched telephone network ("PSTN"), a cellular network, a packet-switched network such as the Internet, and the like.
[Para 026] In various embodiments, voice network 125 is operated by a carrier, which is a provider of telecommunication services to its subscribers. Examples of carrier services may include Verizon Wireless, provided mainly by Verizon Communications Inc. of Basking
Ridge, New Jersey; AT&T Mobility, provided by AT&T Inc. of DeKalb County, Georgia;
Sprint, provided by Sprint Nextel Corporation of Overland Park, Kansas; T-Mobile, provided by Deutsche Telecom AG of Bonn, Germany, and the like.
[Para 027] In various embodiments, carrier server 130 is operated by a carrier and connected to voice network 125. In some embodiments, carrier server 130 may comprise one or more replicated and/or distributed physical or logical devices. Carrier server 130 may also be connected to data network 110, such as the Internet.
[Para 028] In some embodiments, caller device 120 and callee device 1100 may be connected to data network 110 via carrier server 130. In other embodiments, caller device 120 and callee device 1100 may also be connected to data network 110 directly, for example, via a Wi-Fi connection.
[Para 029] For illustrative purpose, carrier server 130 includes devices that handle incoming and outgoing calls for callee device 1100. Thus, a call from caller device 120 to callee device 1100 goes through carrier server 130 and vice versa.
[Para 030] In various embodiments, additional infrastructure (e.g., cell sites, routers, gateways, firewalls, and the like), as well as additional devices may be present. Further, in some embodiments, the functions described as being provided by some or all of ringback tone server 1200 and carrier server 130 may be implemented via various combinations of physical and/or logical devices. However, it is not necessary to show such infrastructure and implementation details in Figure 1 in order to describe an illustrative embodiment.
[Para 031] Figure 2 illustrates an exemplary series of communications between callee device 1100, caller device 120, ringback tone server 1200, and carrier server 130 in accordance with one embodiment. The communications shown in Figure 2 do not encompass every combination of possibilities in which the systems and methods provided herein may be employed. Rather, the illustrated communications merely provide an overview of one simplified example scenario. Additional variations and alternatives are described more fully in the Figures and description that follow.
[Para 032] Beginning the illustrated sequence of communications, callee device 1100 determines 204 an indication to suggest one or more callers to a user.
[Para 033] Callee device 1100 obtains 208 historical call data or "call history" describing recent calls placed by recent callers to callee device 1100 in a recent-past period of time (e.g., the past few months).
[Para 034] Callee device 1100 identifies 212 one or more frequent callers (including caller device 120) among the recent callers.
[Para 035] Callee device 1100 determines 216 that no custom ringback tone is currently provisioned for caller.
[Para 036] Callee device 1100 sends to ringback tone server 1200 a request 220 for one or more custom ringback tones that the user of callee device 1100 has purchased or that are otherwise available for the user's use.
[Para 037] Ringback tone server 1200 processes 224 the request and sends to callee device 1100 one or more identifiers 228 identifying the requested custom ringback tones that the user of callee device 1100 has purchased or that are otherwise available for the user's use.
[Para 038] Callee device 1100 prompts 232 the user to select one of the available ringback tones as a custom ringback tone to provision as a custom ringback tone for calls placed by caller device 120 to callee device 1100. [Para 039] In many cases, the user may select one of the ringback tones, but in the exemplary scenario, the user indicates 236 that the caller should select a ringback tone that he or she would like to hear when he or she places a call to callee device 1100.
[Para 040] Callee device 1100 sends to ringback tone server 1200 a request 240 to provide a user interface ("UI") (e.g., via the web) by which the caller can select a custom ringback tone.
[Para 041] Ringback tone server 1200 processes 244 the request and sends to callee device 1100 a URI, URL, or other UI identifier 248 by which the caller can access a ringback-tone-selection UI.
[Para 042] Callee device 1100 generates 251 a message for the caller, the message including the identifier 248 received from ringback tone server 1200.
[Para 043] Callee device 1100 sends to carrier server 130 a request 255 to deliver the generated message to caller device 120 and/or to notify the caller device 120 (e.g., via a push notification) that the generated message is available.
[Para 044] Carrier server 130 processes 259 the request and sends to caller device 120 (e.g., via a text message and/or push notification) a message prompting the caller to access the custom-ringback tone-selection UI.
[Para 045] Caller device 120 presents 267 the message to the caller, who indicates (not shown) a desire to access the custom-ringback tone-selection UI.
[Para 046] Caller device 120 sends to ringback tone server 1200 a request 271 to access the custom-ringback tone-selection UI.
[Para 047] Ringback tone server 1200 processes 275 the request and sends to caller device 120 data (e.g., HTML data) comprising the custom-ringback tone-selection UI.
[Para 048] Caller device 120 presents 283 the custom-ringback tone-selection UI to the caller, who indicates (not shown) a selection of an available ringback tone.
[Para 049] Caller device 120 sends to ringback tone server 1200 a ringback tone selection 287 indicating that the caller has selected one of the available ringback tones.
[Para 050] Ringback tone server 1200 sends to callee device 1100 an indication 291 indicating that the caller has selected a custom ringback tone. [Para 051] Ringback tone server 1200 sends to carrier server 130 a request 295 to provision the selected ringback tone. In other embodiments, callee device 1100 may send request 295 to ringback tone server 1200 and/or carrier server 130.
[Para 052] Carrier server 130 provisions 299 the requested ringback tone such that the caller will hear the selected ringback tone for calls placed to callee device 1100.
[Para 053] Figure 3 illustrates a ringback-tone-configuration routine 300 for configuring a ringback tone service, such as may be performed by a callee device 1100 in accordance with one embodiment.
[Para 054] In block 305, ringback-tone-configuration routine 300 determine an indication to suggest one or more callers to a user of a mobile-telephony device (e.g., callee
device 1100). For example, in one embodiment, ringback-tone-configuration routine 300 may execute as part of a ringback tone-serivce application installed on a mobile-telephony device. In some embodiments, ringback-tone-configuration routine 300 may determine such an indication as part of a setup process when the application is installed. In other embodiments, ringback-tone-configuration routine 300 may execute on a periodic basis and/or upon request from a user.
[Para 055] In block 310, ringback-tone-configuration routine 300 obtains a call history describing recent calls placed by recent callers to the mobile-telephony device in a recent- past period of time, such as the previous few weeks or months.
[Para 056] In block 315, ringback-tone-configuration routine 300 identifies one or more ringback tones that are available for use by the user of the mobile-telephony device on which ringback-tone-configuration routine 300 is executing. For example, the user may have purchased one or more ringback tones to make them available. In some embodiments, identifying available ringback tones may include querying ringback tone server 1200.
[Para 057] In subroutine block 400, ringback-tone-configuration routine 300 identifies, based at least in part on the call history obtained in block 310, one or more frequent callers among the recent callers identified in block 310.
[Para 058] Beginning in opening loop block 325, ringback-tone-configuration routine 300 processes each frequent-caller in turn.
[Para 059] In decision block 330, ringback-tone-configuration routine 300 determines whether a custom ringback tone is currently provisioned for the current frequent-caller. If so, then ringback-tone-configuration routine 300 proceeds to ending loop block 350. Otherwise, ringback-tone-configuration routine 300 proceeds to block 335.
[Para 060] In block 335, ringback-tone-configuration routine 300 prompts the user to select an available ringback tone to provision as a custom ringback tone for calls placed by the current frequent-caller to the mobile-telephony device on which ringback-tone- configuration routine 300 is executing.
[Para 061] In subroutine block 500, ringback-tone-configuration routine 300 obtains an indication selecting an available ringback tone.
[Para 062] In block 345, ringback-tone-configuration routine 300 provisions the selected ringback tone for incoming calls from the current frequent-caller.
[Para 063] In ending loop block 350, ringback-tone-configuration routine 300 iterates back to opening loop block 325 to process the next frequent-caller, if any.
[Para 064] Ringback-tone-configuration routine 300 ends in ending block 399.
[Para 065] Figure 4 illustrates a frequent-caller-identification subroutine 400 for identifying frequent callers given a call history of a given mobile-telephony device, such as may be performed by a callee device 1100 in accordance with one embodiment.
[Para 066] In block 405, frequent-caller-identification subroutine 400 identifies one or more unique callers in the given call history for the given mobile-telephony device.
[Para 067] In block 410, frequent-caller-identification subroutine 400 sorts the unique callers identified in block 405 by a count of calls that each unique caller placed to the mobile-telephony device.
[Para 068] In block 415, frequent-caller-identification subroutine 400 determines a desired count of frequent callers to identify (e.g., five frequent callers).
[Para 069] In block 420, frequent-caller-identification subroutine 400 initializes a frequent-caller data structure (e.g., an array, list, hash, map, dictionary, or other suitable data structure).
[Para 070] Beginning in opening loop block 425, frequent-caller-identification subroutine 400 processes each unique caller in turn in order of descending call-count (as sorted in block 410).
[Para 071] In decision block 430, frequent-caller-identification subroutine 400 determines whether the current unique caller is in an address book, contact list, personal information manager, friend list, or other similar list of contacts and/or persons who are known to a user of the given mobile-telephony device. In various embodiments, such an address book (or the like) may be stored on the given mobile-telephony device; on a desktop, laptop, or similar computing device associated with the given mobile-telephony device; and/or on a remote server device accessible via a network (e.g., data network 110).
[Para 072] If so, frequent-caller-identification subroutine 400 proceeds to block 435. Otherwise, if the current unique caller is not in an address book (or the like) associated with the user, then frequent-caller-identification subroutine 400 proceeds to ending loop block 445.
[Para 073] In block 435, frequent-caller-identification subroutine 400 adds the current unique-caller to the frequent-caller data structure initialized in block 420.
[Para 074] In decision block 440, frequent-caller-identification subroutine 400
determines whether the desired count of frequent callers (as determined in block 415) have been identified and added to the frequent-caller data structure. If so, then frequent- caller-identification subroutine 400 proceeds to ending block 499. Otherwise, frequent- caller-identification subroutine 400 proceeds to ending loop block 445.
[Para 075] In ending loop block 445, frequent-caller-identification subroutine 400 iterates back to opening loop block 425 to process the next unique-caller, if any.
[Para 076] Frequent-caller-identification subroutine 400 ends in ending block 499, returning the frequent-caller data structure to the calling routine.
[Para 077] Figure 5 illustrates a ringback-tone-selection subroutine 500 for obtaining a selection of a ringback tone from a given list of available ringback tones for a given caller to a given mobile-telephony device, such as may be performed by a callee device 1100 in accordance with one embodiment.
[Para 078] In decision block 505, ringback-tone-selection subroutine 500 determines whether to allow the given caller to select a custom ringback tone, or to obtain a selection from a user of the given mobile-telephony device. If it is determined to allow the given caller to make the selection, then ringback-tone-selection subroutine 500 proceeds to block 510. Otherwise, ringback-tone-selection subroutine 500 proceeds to block 530.
[Para 079] In block 510, ringback-tone-selection subroutine 500 obtains a URI, URL, or other identifier identifying a selection UI that the given caller can access to select an available ringback tone from the given list of available ringback tones. For example, in one embodiment, ringback-tone-selection subroutine 500 may request and receive the identifier from a remote ringback tone-service server (e.g., ringback tone server 1200).
[Para 080] In block 515, ringback-tone-selection subroutine 500 generates a message requesting the given caller to select a ringback tone via the selection UI, the message including the selection-UI identifier obtained in block 510.
[Para 081] In block 520, ringback-tone-selection subroutine 500 provides the message generated in block 515 for delivery to the given caller. For example, in one embodiment, ringback-tone-selection subroutine 500 may send the generated message as a text message through a carrier server (e.g., carrier server 130). In other embodiments, ringback-tone- selection subroutine 500 may send the message or cause the message to be sent via email, a social network, or other available communications medium.
[Para 082] In block 525, ringback-tone-selection subroutine 500 obtains an indication that the given caller has selected a custom ringback tone via the selection UI.
[Para 083] In block 530, ringback-tone-selection subroutine 500 obtains a ringback-tone selection from the user of the given mobile-telephony device.
[Para 084] Ringback-tone-selection subroutine 500 ends in ending block 599, returning to the calling routine an identifier identifying the selected ringback tone.
[Para 085] Figure 6 illustrates a ringback-tone-UI request routine 600 for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server 1200 in accordance with one embodiment.
[Para 086] In block 605, ringback-tone-UI request routine 600 receives a request from a remote mobile-telephony device (e.g., callee device 1100) to provide a user interface by which a caller who frequently calls the remote mobile-telephony device can select a ringback tone that the caller will hear when he or she calls the remote mobile-telephony device.
[Para 087] In block 610, ringback-tone-UI request routine 600 generates a unique identifier to associate with the requested user interface. [Para 088] In block 615, ringback-tone-UI request routine 600 associates the identifier generated in block 610 with the requested user interface (e.g., by storing and/or updating a record in database 1240).
[Para 089] In block 620, ringback-tone-UI request routine 600 provides the identifier to the remote mobile-telephony device.
[Para 090] Ringback-tone-UI request routine 600 ends in ending block 699.
[Para 091] Figure 7 illustrates a ringback-tone-UI routine 700 for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee, such as may be performed by a ringback tone server 1200 in accordance with one embodiment.
[Para 092] In block 705, ringback-tone-UI routine 700 receives a request from a remote mobile-telephony device (e.g., caller device 120) including a previously-generated identifier identifying a user interface by which a caller can select a ringback tone.
[Para 093] In block 710, ringback-tone-UI routine 700 identifies a user-interface and a callee that were previously associated with the UI identifier received in block 705 (e.g., by using the identifier to locate a record previously stored and/or updated in database 1240).
[Para 094] In block 715, ringback-tone-UI routine 700 obtains a list of ringback tones to allow the caller to select from. In some embodiments, the list of ringback tones may include ringback tones that a user of the callee mobile-telephony device has purchased or that are otherwise available to that user. In other embodiments, the list of ringback tones may also include ringback tones that the user of the callee mobile-telephony device has not purchased, but that are available for the user to purchase.
[Para 095] In block 720, ringback-tone-UI routine 700 provides the requested ringback- tone-selection user interface to the requesting remote mobile-telephony device.
[Para 096] In block 725, ringback-tone-UI routine 700 obtains a ringback tone selection, via the user interface provided in block 720, of one of the list of ringback tones obtained in block 715.
[Para 097] In block 730, ringback-tone-UI routine 700 sends a message to the callee's remote mobile-telephony device indicating that the caller has selected a ringback tone. If the selected ringback tone requires the callee to make a purchase to make the selected ringback tone available, ringback-tone-UI routine 700 may further notify the callee that he or she can purchase the selected ringback tone.
[Para 098] In decision block 735, ringback-tone-UI routine 700 determines whether to provision the selected ringback tone for callee mobile-telephony device. If conditions are satisfied to provision the ringback tone (e.g., if the callee has purchased the ringback tone, and if the callee's mobile-telephony device is not responsible for provisioning the ringback tone), then ringback-tone-UI routine 700 proceeds to block 740. Otherwise, ringback-tone- UI routine 700 proceeds to ending block 799.
[Para 099] In block 740, ringback-tone-UI routine 700 sends a request (e.g., to carrier server 130) to provision the selected ringback tone as a custom ringback tone for calls placed by the caller to callee.
[Para 100] Ringback-tone-UI routine 700 ends in ending block 799.
[Para 101] Figure 8 illustrates an exemplary ringback-tone-selection user-interface 800 such as may be presented to a user of a callee device, in accordance with one embodiment.
[Para 102] Prompt 805 prompts the callee to select a ringback tone.
[Para 103] Control 810 allows the callee to select ringback tone A.
[Para 104] Control 815 allows the callee to select ringback tone B.
[Para 105] Control 820 allows the callee to select ringback tone C.
[Para 106] Control 825 allows the callee to select ringback tone D.
[Para 107] Control 830 allows the callee to send a message to the caller, prompting him or her to select a ringback tone using a user interface similar to exemplary ringback-tone- selection user-interface 800.
[Para 108] Figure 9 illustrates an exemplary ringback-tone-selection message 900 such as may be presented to a caller, in accordance with one embodiment.
[Para 109] Message 905 informs the caller that he or she may select a ringback tone by visiting a URL including an identifier (Vxrvt06') identifying a ringback-tone-selection user interface such as that shown in exemplary ringback-tone-selection user-interface 1000 (see Fig. 10, discussed below).
[Para 110] Figure 10 illustrates an exemplary ringback-tone-selection user-interface 1000 such as may be presented to a caller, in accordance with one embodiment.
[Para 111] Prompt 1005 prompts the caller to select a ringback tone. [Para 112] Control 1010 allows the caller to select ringback tone A.
[Para 113] Control 1015 allows the caller to select ringback tone B.
[Para 114] Control 1020 allows the caller to select ringback tone C.
[Para 115] Control 1025 allows the caller to select ringback tone D.
[Para 116] Figure 11 illustrates several components of an exemplary callee device in accordance with one embodiment. In some embodiments, callee device 1100 may include many more components than those shown in Figure 11. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment.
[Para 117] In various embodiments, callee device 1100 may include a landline telephone, mobile phone, satellite phone, tablet, laptop, desktop PC, or other mobile-telephony device that allow a user to make and receive telephonic communications.
[Para 118] Callee device 1100 includes a bus 1105 interconnecting several components including a network interface 1210, a display 1115, a central processing unit 1220, and a memory 1225.
[Para 119] Memory 1125 generally comprises a random access memory ("RAM") and a permanent non-transitory mass storage device, such as a hard disk drive or solid-state drive. The memory 1225 stores program code for a ringback-tone-configuration
routine 300 for configuring a ringback tone service (see Fig. 3, discussed above). In addition, the memory 1125 also stores an operating system 1235
[Para 120] These and other software components may be loaded into memory 1225 of callee device 1100 using a drive mechanism (not shown) associated with a non-transitory computer-readable medium 1230, such as a floppy disc, tape, DVD/CD-ROM drive, memory card, or the like.
[Para 121] Figure 12 illustrates several components of an exemplary ringback tone server in accordance with one embodiment. In some embodiments, ringback tone server 1200 may include many more components than those shown in Figure 12. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment.
[Para 122] In various embodiments, ringback tone server 1200 may comprise one or more physical and/or logical devices that collectively provide the functionalities described herein. In some embodiments, ringback tone server 1200 may comprise one or more replicated and/or distributed physical or logical devices.
[Para 123] In some embodiments, ringback tone server 1200 may comprise one or more computing resources provisioned from a "cloud computing" provider, for example, Amazon Elastic Compute Cloud ("Amazon EC2"), provided by Amazon.com, Inc. of Seattle,
Washington; Sun Cloud Compute Utility, provided by Sun Microsystems, Inc. of Santa Clara, California; Windows Azure, provided by Microsoft Corporation of Redmond, Washington, and the like.
[Para 124] Ringback tone server 1200 includes a bus 1205 interconnecting several components including a network interface 1210, an optional display 1215, a central processing unit 1220, and a memory 1225.
[Para 125] Memory 1225 generally comprises a random access memory ("RAM"), a permanent non-transitory mass storage device, such as a hard disk drive or solid-state drive. The memory 1225 stores program code for a ringback-tone-UI request routine 600 for providing an identifier identifying a user interface by which a given caller can select a custom ringback tone from ringback tones that are available to a given callee (see Fig. 6, discussed above) and a ringback-tone-UI routine 700 for providing a user interface by which a requesting caller can select a custom ringback tone from ringback tones that are available to a given callee (see Fig. 7, discussed above). In addition, the memory 1225 also stores an operating system 1235
[Para 126] These and other software components may be loaded into memory 1225 of ringback tone server 1200 using a drive mechanism (not shown) associated with a non- transitory computer-readable medium 1230, such as a floppy disc, tape, DVD/CD-ROM drive, memory card, or the like.
[Para 127] Memory 1225 also includes database 1240. In some embodiments, ringback tone server 1200 may communicate with database 1240 via network interface 1210, a storage area network ("SAN"), a high-speed serial bus, and/or via the other suitable communication technology.
[Para 128] In some embodiments, database 1240 may comprise one or more storage resources provisioned from a "cloud storage" provider, for example, Amazon Simple Storage Service ("Amazon S3"), provided by Amazon.com, Inc. of Seattle, Washington, Google Cloud Storage, provided by Google, Inc. of Mountain View, California, and the like.
[Para 129] Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present disclosure. For example, in some embodiments, in addition to the caller- and callee-based selection methods described above, a user may be able to configure automatic ringback tones triggers for particular callers based on various signals, such as calendar events; geographic-tagging, location- based, and/or location-and-time-based status determinations; automatic driving-status detection (e.g., based on speed currently traveled or other signals); device-battery status (e.g., automatically setting a ringback tone informing the caller that the callee's device is out or almost out of battery power); device-service status (e.g., automatically setting a ringback tone informing the caller that the callee's device lacks a strong mobile signal, so calls may not reach the device); device-application status (e.g., automatically setting a ringback tone informing the caller that the callee can't take a call because he or she is playing the Angry Animals game); or the like. This application is intended to cover any adaptations or variations of the embodiments discussed herein.

Claims

Claim 1. A mobile-telephony-device-implemented method for configuring a ringback tone service, the method comprising:
determining, by said mobile-telephony device, an indication to suggest one or more callers to a user of said mobile-telephony device;
obtaining, by said mobile-telephony device, historical call data describing a plurality of recent calls placed by a plurality of recent callers to said mobile-telephony device in a recent-past period of time;
identifying, by said mobile-telephony device, a plurality of frequent callers among said plurality of recent callers based at least in part on said historical call data;
selecting, by said mobile-telephony device, from among said plurality of frequent callers a caller for whom no custom ringback tone is currently provisioned for calls placed by said caller to said mobile-telephony device;
identifying, by said mobile-telephony device, a plurality of custom ringback tones that are currently available to said user to provision for calls placed by said caller to said mobile-telephony device; and
prompting, by said mobile-telephony device, said user to select one of said plurality of custom ringback tones to provision as a custom ringback tone for calls placed by said caller to said mobile-telephony device.
Claim 2. The method of Claim 1, further comprising:
obtaining from said user an indication selecting a selected one of said plurality of custom ringback tones; and
sending a request to a remote ringback-tone server to provision said selected one of said plurality of custom ringback tones for calls placed by said caller to said mobile- telephony device.
Claim 3. The method of Claim 1, further comprising:
obtaining from said user an indication to allow said caller to select said custom ringback tone for calls placed by said caller to said mobile-telephony device; and prompting said caller to select one of said plurality of custom ringback tones.
Claim 4. The method of Claim 3, further comprising: receiving an indication that said caller selected a selected one of said plurality of custom ringback tones; and
receiving an indication that a remote ringback-tone server caused said selected one of said plurality of custom ringback tones to be provisioned for calls placed by said caller to said mobile-telephony device.
Claim 5. The method of Claim 3, wherein prompting said caller comprises:
sending a request to a remote ringback-tone server to prepare a user interface for presentation to said caller;
obtaining from said remote ringback-tone server an identifier identifying said user interface;
generating a message including said identifier; and
sending said message from said mobile-telephony device to said caller.
Claim 6. The method of Claim 5, wherein sending said message comprises sending to said caller a selected one of a text message, a push notification, and an email message.
Claim 7. The method of Claim 1, wherein prompting said user comprises providing a user interface for presentation to said user.
Claim 8. The method of Claim 1, further comprising:
identifying a second plurality of custom ringback tones that are not currently available to said user to provision for calls placed by said caller to said mobile-telephony device; and
prompting said user to purchase or otherwise obtain one of said second plurality of custom ringback tones.
Claim 9. The method of Claim 1, wherein determining an indication comprises determining that a ringback-tone application was recently installed on said mobile-telephony device.
Claim 10. A computing apparatus for configuring a ringback tone service, the apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to:
determine an indication to suggest one or more callers to a user of the computing apparatus;
obtain historical call data describing a plurality of recent calls placed by a plurality of recent callers to the computing apparatus in a recent-past period of time;
identify a plurality of frequent callers among said plurality of recent callers based at least in part on said historical call data;
select from among said plurality of frequent callers a caller for whom no custom ringback tone is currently provisioned for calls placed by said caller to the computing apparatus;
identify a plurality of custom ringback tones that are currently available to said user to provision for calls placed by said caller to the computing apparatus; and
prompt said user to select one of said plurality of custom ringback tones to provision as a custom ringback tone for calls placed by said caller to the computing apparatus.
Claim 11. The apparatus of Claim 10, wherein the memory stores further instructions that further configure the apparatus to:
obtain from said user an indication selecting a selected one of said plurality of custom ringback tones; and
send a request to a remote ringback-tone server to provision said selected one of said plurality of custom ringback tones for calls placed by said caller to the computing apparatus.
Claim 12. The apparatus of Claim 10, wherein the memory stores further instructions that further configure the apparatus to:
obtain from said user an indication to allow said caller to select said custom ringback tone for calls placed by said caller to the computing apparatus; and
prompt said caller to select one of said plurality of custom ringback tones.
Claim 13. The apparatus of Claim 12, wherein the memory stores further instructions that further configure the apparatus to:
receive an indication that said caller selected a selected one of said plurality of custom ringback tones; and
receive an indication that a remote ringback-tone server caused said selected one of said plurality of custom ringback tones to be provisioned for calls placed by said caller to the computing apparatus.
Claim 14. The apparatus of Claim 12, wherein the instructions that configure the apparatus to prompt said caller further comprise instructions configuring the apparatus to:
send a request to a remote ringback-tone server to prepare a user interface for presentation to said caller;
obtain from said remote ringback-tone server an identifier identifying said user interface;
generate a message including said identifier; and
send said message from the computing apparatus to said caller.
Claim 15. The apparatus of Claim 14, wherein the instructions that configure the apparatus to send said message further comprise instructions configuring the apparatus to send to said caller a selected one of a text message, a push notification, and an email message.
Claim 16. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a processor, configure the processor to:
determine an indication to suggest one or more callers to a user of the processor; obtain historical call data describing a plurality of recent calls placed by a plurality of recent callers to the processor in a recent-past period of time;
identify a plurality of frequent callers among said plurality of recent callers based at least in part on said historical call data;
select from among said plurality of frequent callers a caller for whom no custom ringback tone is currently provisioned for calls placed by said caller to the processor;
identify a plurality of custom ringback tones that are currently available to said user to provision for calls placed by said caller to the processor; and prompt said user to select one of said plurality of custom ringback tones to provision as a custom ringback tone for calls placed by said caller to the processor.
Claim 17. The non-transitory computer-readable storage medium of Claim 16, having stored thereon further instructions that further configure the processor to:
obtain from said user an indication selecting a selected one of said plurality of custom ringback tones; and
send a request to a remote ringback-tone server to provision said selected one of said plurality of custom ringback tones for calls placed by said caller to the processor.
Claim 18. The non-transitory computer-readable storage medium of Claim 16, having stored thereon further instructions that further configure the processor to:
obtain from said user an indication to allow said caller to select said custom ringback tone for calls placed by said caller to the processor; and
prompt said caller to select one of said plurality of custom ringback tones.
Claim 19. The non-transitory computer-readable storage medium of Claim 18, having stored thereon further instructions that further configure the processor to:
receive an indication that said caller selected a selected one of said plurality of custom ringback tones; and
receive an indication that a remote ringback-tone server caused said selected one of said plurality of custom ringback tones to be provisioned for calls placed by said caller to the processor.
Claim 20. The non-transitory computer-readable storage medium of Claim 18, wherein the instructions that configure the processor to prompt said caller further comprise
instructions configuring the processor to:
send a request to a remote ringback-tone server to prepare a user interface for presentation to said caller;
obtain from said remote ringback-tone server an identifier identifying said user interface;
generate a message including said identifier; and send said message from the processor to said caller.
Claim 21. The non-transitory computer-readable storage medium of Claim 20, wherein the instructions that configure the processor to send said message further comprise instructions configuring the processor to send to said caller a selected one of a text message, a push notification, and an email message.
PCT/US2013/069929 2012-12-14 2013-11-13 Custom ringback tone systems and methods WO2014092919A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2012/069936 WO2013090839A1 (en) 2011-12-14 2012-12-14 Customizable media auto-reply systems and methods
USPCT/US2012/069936 2012-12-14

Publications (1)

Publication Number Publication Date
WO2014092919A1 true WO2014092919A1 (en) 2014-06-19

Family

ID=50935112

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/069929 WO2014092919A1 (en) 2012-12-14 2013-11-13 Custom ringback tone systems and methods

Country Status (1)

Country Link
WO (1) WO2014092919A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017082773A (en) * 2015-10-20 2017-05-18 ゼネラル・エレクトリック・カンパニイ Additively manufactured bladed disk
US9942389B2 (en) 2015-07-22 2018-04-10 International Business Machines Corporation Indicating the current demeanor of a called user to a calling user
CN105721722B (en) * 2016-01-23 2018-07-06 广州市讯飞樽鸿信息技术有限公司 The personalized prompting media system and its implementation of a kind of call forwarding platform

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010002812A (en) * 1999-06-14 2001-01-15 이승용 Aaaaa
KR20050081586A (en) * 2004-02-16 2005-08-19 주식회사 티엔 System and method for providing ring back tone service
US20070286402A1 (en) * 2006-06-09 2007-12-13 Sbc Knowledge Ventures Calling party controlled ringback tones
US7801293B2 (en) * 2005-11-10 2010-09-21 Alcatel-Lucent Usa Inc. Ringback tone preference information to assist selection of ringback tone
WO2011010322A2 (en) * 2009-07-20 2011-01-27 Prakash Rohra System for creation and processing of personalized caller ring-back tones

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010002812A (en) * 1999-06-14 2001-01-15 이승용 Aaaaa
KR20050081586A (en) * 2004-02-16 2005-08-19 주식회사 티엔 System and method for providing ring back tone service
US7801293B2 (en) * 2005-11-10 2010-09-21 Alcatel-Lucent Usa Inc. Ringback tone preference information to assist selection of ringback tone
US20070286402A1 (en) * 2006-06-09 2007-12-13 Sbc Knowledge Ventures Calling party controlled ringback tones
WO2011010322A2 (en) * 2009-07-20 2011-01-27 Prakash Rohra System for creation and processing of personalized caller ring-back tones

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9942389B2 (en) 2015-07-22 2018-04-10 International Business Machines Corporation Indicating the current demeanor of a called user to a calling user
JP2017082773A (en) * 2015-10-20 2017-05-18 ゼネラル・エレクトリック・カンパニイ Additively manufactured bladed disk
US10180072B2 (en) 2015-10-20 2019-01-15 General Electric Company Additively manufactured bladed disk
CN105721722B (en) * 2016-01-23 2018-07-06 广州市讯飞樽鸿信息技术有限公司 The personalized prompting media system and its implementation of a kind of call forwarding platform

Similar Documents

Publication Publication Date Title
US10200538B2 (en) Dynamic voicemail receptionist system
US9560205B2 (en) Methods and apparatus for providing messaging using voicemail
US8666375B2 (en) Customizable media auto-reply systems and methods
US8401545B2 (en) Dropped call re-establishment system with inter-network capabilites
KR101269950B1 (en) Pre-programmed subscriber response
AU2004260484B2 (en) Multi-user call waiting
JP2007097162A (en) Presence and preference enabled voice response system and voice response method
US20080298575A1 (en) System and method for incremental do-not-disturb
WO2006068956A2 (en) Telephone call handling list for multiple users
EP2572523A1 (en) Dynamic call routing for real-time handling of inbound voice calls on mobile phones
US9332107B1 (en) Handset application interruption avoidance
WO2014092919A1 (en) Custom ringback tone systems and methods
US20140087700A1 (en) Sending user device status information
US9131046B2 (en) Custom ringback tone systems and methods
US8781084B2 (en) Providing selective voice mail services
US8885801B2 (en) Method and apparatus for providing virtual messaging
EP3767930A1 (en) Callmail
KR101083529B1 (en) Method for voice message service
WO2017111725A1 (en) A system for enabling communication device of a called subscriber to ring with a sound desired by a calling subscriber

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13862740

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13862740

Country of ref document: EP

Kind code of ref document: A1