INTELLIGENT TELEPHONE CALL BLOCKING AND MANAGEMENT
20210306456 · 2021-09-30
Inventors
Cpc classification
H04M3/4365
ELECTRICITY
International classification
Abstract
An intelligent telephone management and blocking system distributed over one or more backend servers and a remote calling device. The system provides a platform that allows a user to configure rules that process incoming telephone calls in a customized manner for the user. For example, rules can be used to determine how incoming telephone calls are managed. The rules may be generated based on the number itself, the time of call, one or more conditions detectable by the phone, geography, and other parameters. Based on the generated rules, the present system may better detect robo-calls, spam, and other unwanted calls for a user, and block or otherwise handle the calls in an efficient manner on behalf of the user.
Claims
1. A method for processing an incoming phone call, the method comprising: receiving, by a server, a call intended for a first phone number from a telephone network, the call originating from a first remote device associated with a calling number; accessing one or more rules to apply to the received call before the call is accepted, the one or more rules accessed from account data by the server and associated with the first phone number, the server having access to a plurality of rule sets for a plurality of phone numbers, wherein at least two of the plurality of rule sets are different for at least two of the plurality of phone numbers, wherein at least one of the rules is created by a user of the first phone number, the rule including a challenge type from two or more challenge types, a challenge, and an acceptable response to the challenge; providing the challenge by the server to the originator of the call; receiving a response by the server to the challenge from the originator of the call; and determining whether to connect the call between the first remote device and a second remote device based on the response received by the server.
2. The method of claim 1, wherein the call is not connected and subsequent calls to the first phone number by the calling number are blocked if the response does not satisfy the challenge.
3. The method of claim 1, wherein the challenge is provided as an audio message over the call before the call to the first phone number is accepted.
4. The method of claim 1, wherein the response is received as an audio input.
5. The method of claim 1, wherein the one or more rules include a geographical limitation associated with the calling number.
6. The method of claim 1, wherein the one or more rules include a temporal limitation associated with the calling number.
7. The method of claim 1, wherein processing the call includes blocking the call if the response does not match a desired response associated with the puzzle.
8. The method of claim 1, wherein the network is a public switched telephone network.
9. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for processing an incoming phone call, the method comprising: receiving, by a server, a call intended for a first phone number from a telephone network, the call originating from a first remote device associated with a calling number; accessing one or more rules to apply to the received call before the call is accepted, the one or more rules accessed from account data by the server and associated with the first phone number, the server having access to a plurality of rule sets for a plurality of phone numbers, wherein at least two of the plurality of rule sets are different for at least two of the plurality of phone numbers, wherein at least one of the rules is created by a user of the first phone number, the rule including a challenge type from two or more challenge types, a challenge, and an acceptable response to the challenge; providing the challenge by the server to the originator of the call; receiving a response by the server to the challenge from the originator of the call; and determining whether to connect the call between the first remote device and a second remote device based on the response received by the server.
10. The non-transitory computer readable storage medium of claim 9, wherein the call is not connected and subsequent calls to the first phone number by the calling number are blocked if the response does not satisfy the challenge.
11. The non-transitory computer readable storage medium of claim 9, wherein the challenge is provided as an audio message over the call before the call to the first phone number is accepted.
12. The non-transitory computer readable storage medium of claim 9, wherein the response is received as an audio input.
13. The non-transitory computer readable storage medium of claim 9, wherein the one or more rules include a geographical limitation associated with the calling number.
14. The non-transitory computer readable storage medium of claim 9, wherein the one or more rules include a temporal limitation associated with the calling number.
15. The non-transitory computer readable storage medium of claim 9, wherein processing the call includes blocking the call if the response does not match a desired response associated with the puzzle.
16. The non-transitory computer readable storage medium of claim 9, wherein the network is a public switched telephone network.
17. A system for processing an incoming phone call, comprising: a server comprising one or more processors, memory, and a plurality of modules stored in memory and executable by the one or more processors to receive, by a server, a call intended for a first phone number from a telephone network, the call originating from a first remote device associated with a calling number, access one or more rules to apply to the received call before the call is accepted, the one or more rules accessed from account data by the server and associated with the first phone number, the server having access to a plurality of rule sets for a plurality of phone numbers, wherein at least two of the plurality of rule sets are different for at least two of the plurality of phone numbers, wherein at least one of the rules is created by a user of the first phone number, the rule including a challenge type from two or more challenge types, a challenge, and an acceptable response to the challenge, provide the challenge by the server to the originator of the call, receive a response by the server to the challenge from the originator of the call, and determine whether to connect the call between the first remote device and a second remote device based on the response received by the server.
18. The system of claim 17, wherein the call is not connected and subsequent calls to the first phone number by the calling number are blocked if the response does not satisfy the challenge.
19. The system of claim 17, wherein the challenge is provided as an audio message over the call before the call to the first phone number is accepted.
20. The system of claim 17, wherein the response is received as an audio input.
Description
BRIEF DESCRIPTION OF FIGURES
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
DETAILED DESCRIPTION
[0024] The present technology is an intelligent telephone management and blocking system. The system may be distributed over one or more backend servers and a mobile application stored and executing on a calling device (e.g., a mobile telephone). The system provides a platform that allows a user to configure rules that process incoming telephone calls in a customized manner for the user. For example, rules can be used to determine how incoming telephone calls are managed. The rules may be generated based on the number itself, the time of call, one or more conditions detectable by the phone, geography, and other parameters. Based on the generated rules, the present system may better detect robo-calls, spam, and other unwanted calls for a user, and block or otherwise handle the calls in an efficient manner on behalf of the user.
[0025] In some instances, a telephone call from an unknown caller may be handled by providing a challenge for the caller to complete. The challenge, for example an audio captcha challenge, may include answering a question, solving an equation, or following instructions using the mobile device. If the caller of the incoming call does not complete the challenge, the telephone number it can be blocked. If a caller does complete the challenge, the call may be connected to the user or otherwise processed according to user preferences.
[0026] A user of the present system may configure trusted contacts. The user may have access to additional information for each trusted contact. For example, a user may access a trusted contacts location, call log, voicemails, and may record conversations with trusted contacts. In some instances, an employer may configure employees as trusted contacts, and can monitor employees during business hours with access to the additional information.
[0027]
[0028] Mobile application 112 may implement at least a portion of the functionality of the present system on a mobile device. For example, mobile application 112 may implement a calling application through which a user may send and receive calls on the call device 110, provide one or more graphic user interfaces, and so forth. In some instances, mobile application 112 may replace a native phone application on a mobile phone, such as for example a phone mobile app provided on an iPhone by Apple Computer, or a mobile phone provided by Samsung. Mobile application 112 and 132 are discussed in more detail with respect to
[0029] A user 114 at call device 110 may initiate a call to a telephone number associated with device 130. The call will initially be routed to PSTN network 150, which will then provide call information to server application 122 on server 120. Server application 122 may perform at least a portion of the functionality described herein, including routing incoming phone calls intended for the recipient device, applying rules to incoming phone calls, and other functionality. In the system of
[0030] PSTN network 150 may include one or more circuit switched telephone networks operated by telephone operators, including national, regional, and local operators. The PSTN network provides infrastructure and services for public telecommunications and can consist of telephone lines, fiber-optic cables, microwave transmission links, cellular networks, communication satellites, telephone cables, and other communication systems, all interconnected by switching centers, allowing telephones communicate with each other. In some instances, when a call device 110 attempts a call with a telephone number associated with call device 130, the call will first be routed to PSTN network 150. PSTN network may then route the call to server 120, which may then perform methods described herein to block the call, provide a challenge to a user 114 associated with call device 110, provide a customized voicemail, or connect the call to call device 130.
[0031] Mobile applications 112 and 132 may also communicate with server application 122 through network 140. Network 140 may be implemented as any combination of private networks, public networks, the Internet, an intranet, a Wi-Fi network, a cellular network, a wide area network, local area network, or any other network over which Digital Communications may occur. In some instances, either mobile application can communicate with server application 122 to create an account, perform login, configure settings, set up blocking rules, and other aspects and features of the technology described herein.
[0032]
[0033] System 200 of
[0034]
[0035] Server application 300 includes challenge module 310, contacts module 320, user interface module 330, rules module 340, voicemail module 350, and account module 360. Challenge module 310 manages challenge settings for individual phone numbers, configuring challenges, providing challenge messages, and evaluating challenge responses. Contacts module 320 may manage contacts for a particular account telephone number and preferences set for a particular contact. UI module 330 may provide user interface data through a local display device. The user interface graphics and content can be received from a remote application server, stored locally on the device, or a combination of the two. Rules module 340 may configure rules based on user input and other information for each phone number, apply rules to incoming telephone calls, and access rules for a particular telephone number. Voicemail module 350 may manage different voicemails for each telephone number account and for the user. Account module 360 may manage new accounts, perform login, perform account maintenance, and perform other general aspects of user accounts.
[0036]
[0037] Mobile application 400 includes geographic module 410, input output module 420, call log module 430, user interface module 440, voicemail module 450, and contacts module 460. Geographic module 410 may access geographic information from the local device on which mobile application 400 is installed, provide that data to an application server, and access geographic information associated with an incoming call. Input output module 420 may handle input received through mobile application 400, such as voice input, dial tone input, and touchscreen input, and provide output to external machines, such as an application server. Call log module 430 may access local call logs and transmit the call logs to an application server. User interface module 440 may provide user interface data, for example data received from an application server, to a mobile device or other device. Voicemail module 450 may manage different voicemails for each telephone number account. Contacts module 460 may manage contacts for the user of the mobile device on which mobile application 400 is installed.
[0038]
[0039] A user account may be created at step 520. The user account may be created with a username, password, telephone number, user preferences, and other user data. A user may login to the user account at step 530. Login may include providing a username and password, a phone number and password, a biological footprint, or other information to log into the user's account. In some instances, the user account data may be stored at an application server or a data store local or remote from an application server (not illustrated in
[0040] Steps 540-590 are listed in the order shown in
[0041] A blocking rule may be created for a recipient phone number at step 540. In some instances, users with an account may create one or more rules for blocking or managing incoming phone calls for which their phone number is the intended recipient of the call. Creating a blocking rule may include configuring one or more rules to block a call based on the calling number, time, condition, or geography. More detail for creating a blocking rule is discussed with respect to the method of
[0042] A calling phone number may be added to a block list at step 550. In this instance, a particular phone number may be prevented from establishing a phone call with the recipient phone number logged into the user account. The blocked phone number may be a contact of the logged in user or a non-contact phone number.
[0043] A calling number challenge may be configured at step 560. The challenge may be configured based on the calling phone number or a rule, and may include one of several types of challenges. Configuring a calling number challenge is discussed in more detail below with respect to the method of
[0044] Voicemail for a recipient phone number may be configured at step 570. Configuring voicemail may include setting a general voicemail, a work voicemail, contact specific voicemails, conditional voicemails, voicemail access, and other voicemail settings. Configuring voicemails for a user is discussed in more detail with respect to the method of
[0045] Trusted contact information may be configured and accessed at step 580. In some instances, a user may provide certain trusted users with access to the user voicemails, call log, geographic location, call recordings, and other content. These trusted contacts can be considered a “circle of trust” for which the user shares this level of information. Configuring and accessing trusted contact information is discussed in more detail below with respect to the method of
[0046] An incoming call is handled for a recipient phone number at step 590. As discussed above, an incoming call may be handled at any point in the method of
[0047]
[0048] Input may be received through a user interface to block a call based on the calling time of the call at step 630. In some instances, a rule may be generated to block the call based on the time, day, week, month, or other temporal information associated with the call. More detail for receiving input to block a call based on a calling time is discussed with respect to the method of
[0049] Input is received to block a call based on a particular condition at step 640. In some instances, a call may be blocked or sent directly to voicemail based on one or more conditions. The conditions may be based on user activity, information retrieved from remote servers, and/or other data. More detail for receiving input to block a call based on a condition is discussed with respect to the method of
[0050] Input is received to block a call based on the calling phone number geography at step 650. In some instances, a caller may be blocked based on the geography associated with the calling phone number. For example, an incoming call may be blocked on geography aspects such as a city, state, country, or other geographical locale associated with the phone number. Additional details for receiving input to block a call based on a calling phone number geography is discussed with respect to method of
[0051]
[0052] Input is received to perform an action based on the incoming call that satisfies a blocked area code, partial phone number, or full phone number at step 750. The input may define a particular action, such as send a call directly to voicemail, present a challenge to an incoming caller that matches a calling number blocking rule, block the call, connect the call to the mobile application on the user's device, or some other action.
[0053]
[0054] An input may be set to block calls for a particular month, or a range of days, at step 850. Input may then be selected to perform an action to perform during the set block time at step 860. The input may define a particular action, such as send a call directly to voicemail, present a challenge to an incoming caller that matches a calling number blocking rule, block the call, or some other action.
[0055]
[0056] Input may be received for selection of additional conditions at step 930. In some instances, a call may be blocked if a plurality of conditions is satisfied, such as for example if a call is received outside of business hours and a user is determined to not be at a geographical location associated with his or her workplace.
[0057] Input can be received for selection of an action to perform based on whether one or more of the satisfied conditions are met at step 940. The input may define a particular action, such as send a call directly to voicemail, present a challenge to an incoming caller that matches a calling number blocking rule, block the call, or some other action.
[0058]
[0059]
[0060] Input may be received through the provided user interface to set a challenge to a word entry challenge at step 1140. Input may then be received to set a challenge word at step 1150. For example, a challenge word may be “cat,” wherein the word is provided to a caller through an audio message and the user must touch phone dial numbers associated with the letters in the challenge word to spell the word. For example, for the challenge word of “cat,” the user would need to press “1” for the letter c, “2” for the letter a, and then “8” for the letter t, spelling the word “cat.”
[0061] The challenges discussed with respect to the method of
[0062]
[0063] Input may be received at setup voicemail conditions at step 1250. The voicemail conditions may specify when the different voicemails are to be used. Voicemail conditions may be associated with a particular contact, a particular group of contacts, or all contacts. The conditions may include, for example, numbers, times, geography, and identification of specific contacts to receive one or more the particular voicemails at different times or under different circumstances.
[0064] In some instances, a user may set a condition such that one of several options can be set for voicemail, including but not limited to: 1) anyone can leave a voice message, and 2) validated people can leave a voice message. For the “anyone” setting, the phone allows anyone to call the user, such that each caller may be connected or be presented with a challenge (e.g., captcha puzzle). In some instances, anyone who fails the challenge may be directed to voicemail, as well as those that pass the captcha but for whom the user does not answer the phone. For the “validated people” setting, only validated people can leave a voice message for the user. If the setting is turned on by the user, callers who appear in the user's white list (e.g., contacts) and people who pass a challenge can leave a voice message.
[0065] In some instances, a user may set a pre-message greeting setting. The setting, if turned on, calls from phone numbers not in user's white list (e.g., contact list) will go directly to a warm-up intro message (one time, or a user specified number of times). During the warm-up intro, the user phone will not ring or provide any indication of a call. Hence, for an unknown number, a short message will be provided to the number, and the caller may leave a short message. If the user approves the number, the user may add the caller to a white list. If the user does not approve the number, or the user takes no action, the number will not be added to the user's white list.
[0066]
[0067]
[0068] First, a PSTN receives a call from a remote device at step 1410. An application server then receives call information from the PSTN at step 1415. In some instances, the application server can be implemented within PSTN or external to PSTN.
[0069] A determination is made by an application on the application server as to whether the calling number is blocked by the user at step 1420. If the calling number is blocked by the user, the incoming call is blocked by the application at step 1425. If the calling number is not blocked, a determination can be made as to whether the calling number is a contact at step 1430. If the calling number is a contact, the method continues to step 1435 at which a determination is made as to whether the contact has a blocking rule to apply to the incoming call. If the contact has no blocking rule, a general contact rule can be applied to the incoming call at step 1445. In this instance, a general rule may be applied to the incoming call, such as for example time blocking rules, geography blocking rules, and other rules. If there is a blocking role specific to the contact, the contact specific blocking rule(s) are applied at step 1440. The contact specific blocking rules may be applied to determine how to handle the incoming call. If none of the contact specific blocking rules apply to the received call, then general contact rules may be applied to incoming call, similar to the application of a general contact rule at step 1445.
[0070] If the calling number is not associated with a contact for the user at step 1430, a determination is made as to whether the calling number is recognized in the system at step 1450. Although the calling number may not be a contact or be recognized by the intended recipient (the user of the mobile device receiving the call), the calling number may be recognized by a different user as a legitimate number, and thereby determined to not be a source of spam or an undesirable call. If the calling number is recognized in the system, for example by another user having an account with the present system, general caller rules may be applied to the incoming call at step 1455. The general caller rules may include sending the call to voicemail, connecting the call, or some other rule applied to legitimate callers.
[0071] If the calling number is not recognizing the system, a challenge may be provided to the caller at step 1460. The particular challenge may be based on whether the account associated with the recipient phone number has configured a number challenge, a word challenge, or whatever challenge has been configured for incoming calls.
[0072] A determination is then made as to whether a satisfactory challenge response is received from the originator of the call at step 1465. For example, the determination may identify whether a user correctly entered a challenge number, a challenge word, or other correct response for the particular challenge issued for the particular call. If a satisfactory response has not been received, then the calling number may be blocked at step 1470. If a satisfactory response has been received, the call may be connected to the intended recipient at step 1475.
[0073]
[0074]
[0075] When the new blocking rule selectable button is selected on the home screen, interface 1600 of
[0076] Upon receiving a new number blocking input from interface 1600, interface 1700 of
[0077] If a request is received to generate a new time blocking rule in interface 1700, a new time blocking interface 1800 of
[0078] If, in the home screen user interface, user input is received on the call blocking icon, the mobile application will provide user interface 1900 of
[0079] If the interface receives input to the time blocking rules, the user may be provided with a blocked time user interface 2000 of
[0080] In interface 1900 of
[0081] The interfaces of
[0082] If, in the interface of
[0083] If input is received for protection settings of the interface of
[0084] On the home screen, when an input is received for voicemail along the bottom of interface 1500, user interface 3000 of
[0085] If, on home interface 1500, a user selects the contacts icon towards the bottom of the interface, the user will be provided with interface 3300 of
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092] If in interface 4200 input is received to configure sound settings, the interface 4400 of
[0093]
[0094] The components shown in
[0095] Mass storage device 4530, which may be implemented with a magnetic disk drive, an optical disk drive, a flash drive, or other device, is a non-volatile storage device for storing data and instructions for use by processor unit 4510. Mass storage device 4530 can store the system software for implementing embodiments of the present technology for purposes of loading that software into main memory 4520.
[0096] Portable storage device 4540 operates in conjunction with a portable non-volatile storage medium, such as a flash drive, USB drive, memory card or stick, or other portable or removable memory, to input and output data and code to and from the computer system 4500 of
[0097] Input devices 4560 provide a portion of a user interface. Input devices 4560 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, a pointing device such as a mouse, a trackball, stylus, cursor direction keys, microphone, touch-screen, accelerometer, wireless device connected via radio frequency, motion sensing device, and other input devices. Additionally, the system 4500 as shown in
[0098] Display system 4570 may include a liquid crystal display (LCD) or other suitable display device. Display system 4570 receives textual and graphical information and processes the information for output to the display device. Display system 4570 may also receive input as a touchscreen.
[0099] Peripherals 4580 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 4580 may include a modem or a router, printer, and other device.
[0100] The system of 4500 may also include, in some implementations, antennas, radio transmitters and radio receivers 4590. The antennas and radios may be implemented in devices such as smart phones, tablets, and other devices that may communicate wirelessly. The one or more antennas may operate at one or more radio frequencies suitable to send and receive data over cellular networks, Wi-Fi networks, commercial device networks such as a Bluetooth device, and other radio frequency networks. The devices may include one or more radio transmitters and receivers for processing signals sent and received using the antennas.
[0101] The components contained in the computer system 4500 of
[0102] The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.