IP Library Granted Patent US 10,148,706
Granted Patent B2
US 10,148,706 · App. 14/593,738 · Granted Dec 4, 2018

Systems and methods for ingress call filtering

Inventors: James E. Brewer (Chicago, IL); Jeffrey S. Wall (Dallas, TX)
Assignee: PEERLESS NETWORK, INC.
H04L65/1076H04L65/1053H04M3/2218H04M3/2281H04M3/38H04M3/42238H04M3/42314H04M7/123H04M7/1275H04M7/1285H04M15/50H04M15/8228H04M15/881H04Q3/62H04Q3/66
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 10,148,706
App. No.
14/593,738
Granted
Dec 4, 2018
Kind
B2
Abstract

An ingress call filter system enables real-time or near real-time efficiencies of an inter-carrier switch. The ingress call filter determines if a received call to a called party is likely to fail. If the call is likely to fail, the ingress call filter returns an indication that the call should be filtered or rejected. If the call in not likely to fail, the ingress call filter returns an indication that a call router should attempt to establish the call. Such techniques mitigate penalties assessed to the inter-carrier network for incomplete or failed calls in real time or near real time.

Claims (59)

1. A method comprising:

receiving, from a first provider corresponding to a first calling party and at a private packet network backbone exchange connected to a plurality of vendor networks, a request to establish a connection with a called party;

based on the request from the first provider, generating, by a call router, a query to be transmitted from the call router to an ingress call filter, wherein the query indicates the called party;

in response to submitting the query to the ingress call filter, receiving, from the ingress call filter, an indication that the connection with the called party is to be filtered;

based on the indication that the connection with the called party is to be filtered and without routing the request to a vendor network of the plurality of vendor networks associated with the called party, generating, by the call router, a message to be returned to the first provider corresponding to the calling party, wherein the message indicates that the connection with the called party was not established

receiving, from the first provider, a second request to establish a connection with the called party;

attempting, by the one or more processors, to establish the connection attempt with the called party;

receiving, from a called party provider corresponding to the called party, at least one cause code indicating that the connection could not be established; and

causing, by the one or more processors, information corresponding to the failure to establish the connection to be stored in a cache of signaling information, wherein the ingress call filter utilizes the information corresponding to the failure to generate the indication that the connection with the called party is to be filtered, and wherein the information corresponding to the failure includes at least one cause code.

2. The method of claim 1 wherein the indication received from the ingress call filter includes:

a proprietary cause code indicating a reason that the connection was not established.

3. The method of claim 1 , further comprising:

determining that the first provider is one of a pre-determined number of providers for which calls are not filtered.

4. The method of claim 3 , wherein determining that the first provider is one of the pre-determined number of providers includes querying a list of providers stored on a data storage device, wherein the list of providers indicates the pre-determined number of providers for which calls are not filtered.

5. The method of claim 1 , wherein multiple cause codes are received from the called party provider corresponding to the called party, and wherein causing information corresponding to the failure to be stored in the cache of signaling information includes, based on a prioritization of cause codes, causing only one of the cause codes to be stored in the cache of signaling information.

6. A method comprising:

providing a call router configured to perform the method of claim 1 ;

obtaining, by an ingress call filter of a private packet network backbone exchange connected to a plurality of vendor networks, cached signaling information indicative of a plurality of calls, wherein each of the plurality of calls failed to connect to a respective called party;

receiving, at the ingress call filter from the call router, a query indicating a newly called party, wherein the query corresponds to a request from a calling party to establish a new call between the calling party and the newly called party;

in response to receiving the query, analyzing, by the ingress call filter, the received cached signaling information to determine if the newly called party is indicated in a call record included in the received cached signaling information; and

when the newly called party is included in a call record generating, by the ingress call filter, an indication that the new call should not be completed, wherein the indication is communicated to the computer device configured to route calls such that the new call does not reach a vendor network of the plurality of vendor networks associated with the newly called party.

7. The method of claim 6 , wherein at least some of the plurality of calls failed to connect to the respective called parties because each of the respective called parties corresponds to an invalid phone number, and wherein determining if the newly called party is indicated in the call record included in the received cached signaling information includes determining if a phone number corresponding to the newly called party is invalid as indicated in the call record included in the received cached signaling information.

8. The method of claim 7 , wherein the invalid phone number corresponding to each of the respective called parties is an unallocated number.

9. The method of claim 7 , wherein the invalid phone number corresponding to each of the respective called parties is a previously called phone number which returned at least one of a user busy, no user responding, call rejected, or destination out of order cause code following an attempted connection to the previously called phone number.

10. The method of claim 6 , wherein obtaining the cached signaling data includes periodically obtaining the cached signaling information.

11. The method of claim 6 , wherein obtaining the cached signaling data includes obtaining the cached signaling data in response to a trigger event.

12. The method of claim 6 , wherein the indication that the new call should not be completed includes an industry-standard cause code.

13. The method of claim 12 , wherein the industry-standard cause code is at least one of an ISUP cause code or a SIP release code.

14. The method of claim 6 , wherein the indication that the new call should not be completed includes a proprietary cause code.

15. A system for filtering calls that are likely to fail, the system comprising:

a private packet network backbone exchange including:

a data storage unit storing information indicative of a plurality of calls, wherein each of the plurality of calls failed to connect to a respective called party, and wherein the data storage unit stores a portion of the information indicative of the plurality of calls corresponding to each of the plurality of calls for a length of time indicated by a respective time-to-live value before the portion is removed from the data storage unit;

an access mechanism to access the information indicative of the plurality of calls stored on the data storage unit; and

a call router communicatively coupled to an ingress call filter and a plurality of vendor networks and configured to perform the method of claim 10 ;

the ingress call filter configured to:

obtain, from the data storage unit, the stored information indicative of a plurality of calls;

receive, from the call router, a query indicating a newly called party, wherein the query corresponds to a request from a calling party to establish a new call between the calling party and the newly called party;

in response to receiving the query, analyze the obtained information indicative of a plurality of calls to determine if the newly called party is indicated in a call record included in the received cached signaling information; and

when the newly called party is included in a call record, generate, an indication that the new call should not be completed, wherein the indication is communicated to the call router such that the new call does not reach a vendor network of the plurality of vendor networks associated with the newly called party.

16. A system for filtering calls that are likely to fail, the system comprising:

a private packet network backbone exchange including:

a data storage unit storing information indicative of a plurality of calls, wherein each of the plurality of calls failed to connect to a respective called party, and wherein the data storage unit stores a portion of the information indicative of the plurality of calls corresponding to each of the plurality of calls for a length of time indicated by a respective time-to-live value before the portion is removed from the data storage unit;

an access mechanism to access the information indicative of the plurality of calls stored on the data storage unit; and

an ingress call filter configured to, upon receiving queries from a call router, access, by the access mechanism, the information indicative of the plurality of calls to determine whether attempted connections routed by the call router are to be filtered;

the call router communicatively coupled to the ingress call filter and a plurality of vendor networks, the call router configured to:

receive, from a call provider corresponding to a calling party, a request to establish a connection with a particular called party

based on the request, generate a particular query to be transmitted to the ingress call filter, wherein the particular query indicates the particular called party;

in response to transmitting the particular query to the ingress call filter, receive, from the ingress call filter, an indication that the connection with the particular called party is to be filtered;

based on the indication that the connection with the particular called party is to be filtered, prevent the request from being routed onto a vendor network of the plurality of vendor networks associated with the called party, and (ii) generate a message to be transmitted to the call provider, wherein the message indicates that the connection with the particular called party was not established

receive, from the call provider, a second request to establish a connection with the particular called party;

attempt to establish the connection attempt with the particular called party;

receive, from a call provider corresponding to the called party, at least one cause code indicating that the connection could not be established; and

cause information corresponding to the failure to establish the connection to be stored in the data storage unit, wherein the ingress call filter utilizes the information corresponding to the failure to generate the indication that the connection with the called party is to be filtered, and wherein the information corresponding to the failure includes at least one cause code.

17. The system of claim 16 , wherein at least one of the time-to-live values corresponding to the plurality of calls is different from other of the time-to-live values.

18. The system of claim 17 , wherein the call router routes calls originating from a plurality of providers including the provider corresponding to the calling party, wherein a first subset of the time-to-live values corresponds to calls originating from a first provider of the plurality of providers, wherein a second subset of the time-to-live values corresponds to calls originating from a second provider of the plurality of providers, and wherein the first subset of time-to-live values differs from the second subset of time-to-live values.

19. The system of claim 17 , wherein the first subset of time-to-live values includes a first time-to-live value corresponding to a first cause code and a second time-to-live value corresponding to a second cause code, and wherein the first time-to-live value is different from the second time-to-live value.

20. The system of claim 17 , wherein the information indicative of the plurality of calls includes a first portion of information corresponding to a first failed call that returned a first cause code and a second portion of information corresponding to a second failed call that returned a second cause code different than the first cause code, and wherein a first time-to-live value corresponding to the first portion of information is different than a second time-to-live value corresponding to the second portion of information.

21. The system of claim 16 , wherein the time-to live value is determined prior to receiving the request to establish a connection with the particular party.

22. The system of claim 16 , wherein the time-to-live value is determined dynamically in response to receiving the request to establish a connection with the particular party.

Assignments (8)
SECURITY INTEREST Recorded Jul 17, 2025
From: PEERLESS NETWORK, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 071745/0311 →
RELEASE OF SECURITY INTEREST Recorded Sep 12, 2022
From: FIFTH THIRD BANK, NATIONAL ASSOCIATION (SUCCESSOR TO FIFTH THIRD BANK)
To: PEERLESS NETWORK, INC.; WAVENATION, LLC
Reel/Frame 061065/0390 →
RELEASE BY SECURED PARTY Recorded Jun 7, 2019
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC
To: PEERLESS NETWORK, INC.
Reel/Frame 049409/0091 →
RELEASE OF SECURITY INTERESTS IN INTELLECTUAL PROPERTY Recorded Jun 14, 2018
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC
To: PEERLESS NETWORK, INC.
Reel/Frame 046367/0991 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded May 31, 2018
From: MONROE CAPITAL MANAGEMENT ADVISORS, LLC
To: PEERLESS NETWORK, INC.
Reel/Frame 046276/0677 →
INTELLECTUAL PROPERTY SECURTITY AGREEMENT Recorded May 31, 2018
From: PEERLESS NETWORK, INC.; WAVENATION, LLC
To: FIFTH THIRD BANK
Reel/Frame 046275/0811 →
SECURITY INTEREST Recorded Dec 14, 2016
From: PEERLESS NETWORK, INC.; AIRUS, INC.; AIRUS CLOUD COMMUNICATIONS, LLC; AIRUS VIRGINIA, INC.; PEERLESS ATLANTA DATA CENTER, LLC; PEERLESS CHICAGO DATACENTER, LLC; PEERLESS ENTERPRISE CLOUD SERVICES, LLC; PEERLESS NETWORK OF ALABAMA, LLC; PEERLESS NETWORK OF ARIZONA, LLC; PEERLESS NETWORK OF ARKANSAS, LLC; PEERLESS NETWORK OF CALIFORNIA, LLC; PEERLESS NETWORK OF COLORADO, LLC; PEERLESS NETWORK OF CONNECTICUT, LLC; PEERLESS NETWORK OF DELAWARE, LLC; PEERLESS NETWORK OF FLORIDA, LLC; PEERLESS NETWORK OF GEORGIA, LLC; PEERLESS NETWORK OF HAWAII, LLC; PEERLESS NETWORK OF IDAHO, LLC; PEERLESS NETWORK OF ILLINOIS, LLC; PEERLESS NETWORK OF INDIANA, LLC; PEERLESS NETWORK OF IOWA, LLC; PEERLESS NETWORK OF KANSAS, LLC; PEERLESS NETWORK OF KENTUCKY, LLC; PEERLESS NETWORK OF LOUISIANA, LLC; PEERLESS NETWORK OF MAINE, LLC; PEERLESS NETWORK OF MARYLAND, LLC; PEERLESS NETWORK OF MASSACHUSETTS, LLC; PEERLESS NETWORK OF MICHIGAN, LLC; PEERLESS NETWORK OF MINNESOTA, LLC; PEERLESS NETWORK OF MISSISSIPPI, LLC; PEERLESS NETWORK OF MISSOURI, LLC; PEERLESS NETWORK OF MONTANA, LLC; PEERLESS NETWORK OF NEBRASKA, LLC; PEERLESS NETWORK OF NEVADA, LLC; PEERLESS NETWORK OF NEW HAMPSHIRE, LLC; PEERLESS NETWORK OF NEW JERSEY, LIMITED LIABILITY COMPANY; PEERLESS NETWORK OF NEW MEXICO, LLC; PEERLESS NETWORK OF NEW YORK, LLC; PEERLESS NETWORK OF NORTH CAROLINA, LLC; PEERLESS NETWORK OF NORTH DAKOTA, LLC; PEERLESS NETWORK OF OHIO, LLC; PEERLESS NETWORK OF OKLAHOMA, LLC; PEERLESS NETWORK OF OREGON, LLC; PEERLESS NETWORK OF PENNSYLVANIA, LLC; PEERLESS NETWORK OF RHODE ISLAND, LLC; PEERLESS NETWORK OF SOUTH CAROLINA, LLC; PEERLESS NETWORK OF SOUTH DAKOTA, LLC; PEERLESS NETWORK OF TENNESSEE, LLC; PEERLESS NETWORK OF TEXAS, LLC; PEERLESS NETWORK OF THE DISTRICT OF COLUMBIA, LLC; PEERLESS NETWORK OF UTAH, LLC; PEERLESS NETWORK OF VERMONT, LLC; PEERLESS NETWORK OF VIRGINIA, LLC; PEERLESS NETWORK OF WASHINGTON, LLC; PEERLESS NETWORK OF WEST VIRGINIA, LLC; PEERLESS NETWORK OF WISCONSIN, LLC; PEERLESS NETWORK OF WYOMING, LLC; PEERLESS NETWORK REAL ESTATE HOLDINGS, LLC; WAVENATION, LLC; PEERLESS NETWORK HOLDINGS, INC.
To: MONROE CAPITAL MANAGEMENT ADVISORS, LLC, AS COLLATERAL AGENT
Reel/Frame 040734/0883 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2015
From: BREWER, JAMES E.; WALL, JEFFREY S.
To: PEERLESS NETWORK, INC.
Reel/Frame 034748/0439 →
Continuity (2)
Provisional Application 62030873 · Jul 30, 2014
Related Publication 20160036868A1 · Feb 4, 2016