IP Library › Granted Patent US 11,418,540
Granted Patent B2
US 11,418,540 · App. 16/945,405 · Granted Aug 16, 2022

Telephone service delay and connection system

Inventor: Vijesh Mehta (Los Angeles, CA)
Assignee: Callfire, Inc.
H04L63/1458H04M3/367H04M3/436H04W12/12H04W28/0289H04W48/06H04M3/42314H04M2201/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,418,540
App. No.
16/945,405
Granted
Aug 16, 2022
Kind
B2
Abstract

A denial of service (DoS) detection and circumvention system is described herein. The DoS detection and circumvention system can track phone calls that are initiated and store a list of phone numbers that are called. The DoS detection and circumvention system can also track the number of carrier congestion messages over a certain time window. Using the list of called phone numbers and the tracked number of carrier congestion messages, the DoS detection and circumvention system can identify excessive congestion. If the DoS detection and circumvention system identifies excessive congestion, the DoS detection and circumvention system can delay calls so as to prevent a possible DoS condition.

Claims (51)

1. A system comprising computer-readable storage and one or more computer processors in communication with the computer-readable storage, wherein the system is configured to at least:

receive, via a phone network, a first phone call directed to a first destination phone number, wherein the first destination phone number is associated with a first telephone switch of a plurality of telephone switches;

receive a carrier congestion message in response to attempting to connect the first phone call to the first telephone switch;

determine that a number of carrier congestion messages, associated with the first telephone switch and received within a first time period, exceeds a threshold value;

determine to delay a second attempt to connect the first phone call to the first telephone switch;

place the first phone call in a phone call queue based at least partly on the determination to delay the second attempt to connect the first phone call to the first telephone switch;

receive, via the phone network during the first time period, a second phone call directed to a second destination phone number, wherein the second destination phone number is associated with a second telephone switch of the plurality of telephone switches;

determine, based at least partly on the second phone call being associated with the second telephone switch, to attempt to connect the second phone call to the second telephone switch without first delaying connection of the second phone call;

receive, via the phone network, a third phone call directed to a third destination phone number associated with the first telephone switch, wherein the third phone call is received during a second time period beginning after the carrier congestion message is received;

determine, based at least partly on the third phone call being received during the second time period, to delay an initial attempt to connect the third phone call to the first telephone switch;

place the third phone call in the phone call queue based at least partly on the determination to delay the initial attempt to connect the third phone call to the first telephone switch;

determine that the second time period has expired; and

connect the first phone call and the third phone call to the first telephone switch.

2. The system of claim 1 , wherein the determination to delay the second attempt to connect the first phone call to the first telephone switch is based at least partly on the number of carrier congestion messages, associated with the first telephone switch and received within the first time period, exceeding the threshold value.

3. The system of claim 1 , wherein the first destination phone number is different than the third destination phone number.

4. The system of claim 1 , further configured to:

determine a location routing number (“LRN”) associated with the first destination phone number; and

determine to attempt to connect the first phone call to the first telephone switch based at least partly on the first telephone switch being associated with the LRN.

5. The system of claim 4 , wherein the LRN is determined based at least partly on a numbering plan area code and a central office exchange code of the first destination phone number.

6. The system of claim 1 , further configured to determine the threshold value based at least partly on an association of the threshold value with the first telephone switch, wherein the second telephone switch is associated with a second threshold value different than the threshold value.

7. The system of claim 1 ,

wherein to place the first phone call in the phone call queue, the system is further configured to place data representing the first phone call in a phone call delay data structure; and

wherein to place the third phone call in the phone call queue, the system is further configured to place data representing the third phone call in the phone call delay data structure.

8. The system of claim 1 , further configured to:

determine a prioritization level for the first phone call based on at least one of: an originating phone number associated with the first phone call, or the first destination phone number; and

determine to connect the first phone call to the first telephone switch before connecting the third phone call to the first telephone switch based at least partly on the prioritization level.

9. A computer-implemented method comprising:

as implemented by a computing system comprising one or more computer processors configured to execute specific instructions,

receiving, via a phone network, a first phone call directed to a first destination phone number, wherein the first destination phone number is associated with a first telephone switch of a plurality of telephone switches;

receiving a carrier congestion message in response to an attempt to connect the first phone call to the first telephone switch;

determining that a number of carrier congestion messages, associated with the first telephone switch and received within a first time period, exceeds a threshold value;

determining to delay a subsequent attempt to connect the first phone call to the first telephone switch;

placinq the first phone call in a phone call queue based at least partly on the determination to delay the subsequent attempt to connect the first phone call to the first telephone switch;

receiving, via the phone network during the first time period, a second phone call directed to a second destination phone number, wherein the second destination phone number is associated with a second telephone switch of the plurality of telephone switches;

determining, based at least partly on the second phone call being associated with the second telephone switch, to attempt to connect the second phone call to the second telephone switch without first delaying connection of the second phone call;

receiving, via the phone network, a third phone call directed to a third destination phone number associated with the first telephone switch, wherein the third phone call is received during a second time period beginning after the carrier congestion message is received;

determining to delay connection of the third phone call without first attempting to connect the third phone call to the first telephone switch;

placing the third phone call in the phone call queue based at least partly on the determination to delay connection of the third phone call to the first telephone switch;

determining that the second time period has expired; and

connecting the first phone call and the third phone call to the first telephone switch.

10. The computer-implemented method of claim 9 , wherein determining to delay the subsequent attempt to connect the first phone call to the first telephone switch is based at least partly on the number of carrier congestion messages, associated with the first telephone switch and received within the first time period, exceeding the threshold value.

11. The computer-implemented method of claim 9 , wherein determining to delay connection of the third phone call to the first telephone switch without first attempting to connect the second phone call to the first telephone switch is based at least partly on receiving the third phone call durinq the first time period.

12. The computer-implemented method of claim 9 , further comprising:

determining a location routing number (“LRN”) associated with the first destination phone number; and

determining to attempt to connect the first phone call to the first telephone switch based at least partly on the first telephone switch being associated with the LRN.

13. The computer-implemented method of claim 12 , wherein determining the LRN is based at least partly on a numbering plan area code and a central office exchange code of the first destination phone number.

14. The computer-implemented method of claim 9 , further comprising determining the threshold value based at least partly on an association of the threshold value with the first telephone switch, wherein the second telephone switch is associated with a second threshold value different than the threshold value.

15. The computer-implemented method of claim 9 , wherein placing the first phone call in the phone call queue comprises placing data representing the first phone call in a phone call delay data structure, and wherein placing the second phone call in the phone call queue comprises placing data representing the second phone call in the phone call delay data structure.

16. The computer-implemented method of claim 9 , further comprising:

determining a prioritization level for the first phone call based on at least one of: an originating phone number associated with the first phone call, or the first destination phone number; and

determining to connect the first phone call to the first telephone switch before connecting the third phone call to the first telephone switch based at least partly on the prioritization level.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2025
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
Reel/Frame 073107/0611 →
SECURITY INTEREST Recorded Aug 3, 2023
From: CALLFIRE, INC.; MESSAGING SERVICES COMPANY, LLC
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 064488/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2020
From: MEHTA, VIJESH
To: CALLFIRE, INC.
Reel/Frame 053400/0559 →
Continuity (4)
Continuation 16397927 · Apr 29, 2019
Continuation 15974600 · May 8, 2018
Provisional Application 62542991 · Aug 9, 2017
Related Publication 20210051171A1 · Feb 18, 2021