IP Library Granted Patent US 8,072,903
Granted Patent B2
US 8,072,903 · App. 11/639,445 · Granted Dec 6, 2011

Methods, systems, and computer program products for performing range-based directory number (DN) screening

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 8,072,903
App. No.
11/639,445
Granted
Dec 6, 2011
Kind
B2
Abstract

Methods, systems, and computer program products for performing range-based directory number (DN) screening are disclosed. According to one aspect, the subject matter described herein includes a method for determining that a telecommunications device DN is within an allowed set of numerical ranges. The method includes creating a range tree for representing an allowed set of numerical DN ranges, wherein each range is defined by a numerical upper and lower bound, and storing the range tree in a memory device; receiving a telecommunications device DN to be analyzed; traversing the range tree from a root node of the tree, based on analyzing each digit of the DN, until a leaf node is reached; and determining, based on an attribute associated with the leaf node reached, whether the DN is within the allowed set of ranges.

Claims (49)

1. A method for determining that a telecommunications device directory number (DN) is within an allowed set of numerical ranges for processing by a telecommunications network node, the method comprising:

(a) creating a range tree for representing an allowed set of numerical DN ranges for processing by a telecommunications network node, wherein each range is defined by a numerical upper and lower bound, and storing the range tree in a memory device of a telecommunications switch configured to switch calls based on DNs;

(b) receiving, by the telecommunications switch, a telecommunications device DN to be analyzed;

(c) traversing, by the telecommunications switch, the range tree from a root node of the tree, based on analyzing each digit of the DN, until a leaf node is reached; and

(d) determining, by the telecommunications switch and based on an attribute associated with the leaf node reached, whether the DN is within the allowed set of ranges.

2. The method of claim 1 wherein the allowed set of numerical DN ranges represents a set of DNs that are processed by the telecommunications network node and wherein DNs not within the allowed set are not processed by the telecommunications switch.

3. The method of claim 1 wherein the telecommunications switch comprises a soft switch.

4. The method of claim 1 wherein the telecommunications switch comprises a media gateway controller.

5. The method of claim 1 wherein traversing the range tree comprises:

(a) for each digit D of the DN, starting from a most significant digit of the DN, determining whether there exists a child node C in the range tree that contains a value of the digit D, and in response to a determination that a child node C in the range tree exists that has the value of the digit D, jumping to the child node C;

(b) in response to a determination that no child node in the range tree contains the value of the digit D, determining whether there exists a child node in the range tree that contains a value smaller than the value of digit D, and in response to a determination that a child node exists that contains a value smaller than the value of the digit D, starting from the child node containing the largest value that is smaller than the value of the digit D, traversing a branch in the range tree representing the largest number that is smaller than the DN until a leaf node is reached; and

(c) in response to a determination that no child node exists in the range tree that contains a value smaller than the value of the digit D, determining whether there exists a child node in the range tree that contains a value larger than the value of the digit D, and in response to a determination that a child node exists in the range tree that contains a value larger than the value of the digit D, starting from the child node containing the smallest value that is larger than the value of the digit D, traversing a branch in the range tree representing the smallest number that is larger than the DN until a leaf node is reached.

6. The method of claim 1 wherein the digits of the DN comprise an ordered set of symbols.

7. The method of claim 1 comprising modifying the range tree to reflect a change in allowed ranges.

8. The method of claim 7 wherein modifying the range tree comprises modifying the range tree in response to a request for a change in allowed ranges.

9. The method of claim 7 wherein modifying the range tree includes creating at least a portion of a branch of the range tree.

10. The method of claim 7 wherein modifying the range tree includes deleting at least a portion of a branch of the range tree.

11. A method for creating a range tree of telecommunication device directory numbers, the method comprising:

creating a root node and encoding at least one pair of numbers representing a numeric upper and lower bound of an allowed directory number range, wherein encoding each number N of the pair of numbers includes:

(a) setting a node pointer P to point to the root node; and

(b) for each digit D of N, starting from a most significant digit of N:

(i) determining whether there exists a node C that is a child of the node pointed to by P and that contains a value of the digit D, and responsive to determining that such a node C does not exist, creating a node C that is a child of the node pointed to by P and that contains the value of the digit D; and

(ii) moving P to point to the node C;

(c) associating with the node pointed to by P an attribute for indicating whether the number N represents an upper bound or a lower bound of an allowed directory number range: storing, in a telecommunications switch, a range tree created according to steps (a) through (c); and

performing, by the telecommunications switch, lookups in the range tree for incoming directory numbers.

12. A range tree embodied in a non-transitory computer-readable medium for representing an allowed set of telecommunication device directory number (DN) ranges, the range tree comprising:

(a) a media gateway controller having a memory;

(b) a root node stored in the memory of the media gateway controller; and

(c) a plurality of nodes stored in the memory of the media gateway controller and subtending from the root node for representing digits of telecommunications device directory numbers, the nodes being grouped to represent ranges of telecommunications networks directory numbers and for each range, the nodes represent a number comprising a lower bound for the range and a number comprising an upper bound for the range.

13. A system comprising a range tree and a media gateway controller

having a memory, the range tree being embodied in the memory and representing an allowed set of telecommunication device directory number DN ranges, the range tree comprising a root node and a plurality of nodes subtending from the root node for representing digits of telecommunications device directory numbers, the nodes being grouped to represent ranges of telecommunications networks directory numbers and for each range, the nodes represent a number comprising a lower bound for the range and a number comprising an upper bound for the range, wherein the plurality of nodes represents the digits of each number, wherein for each number:

(a) the node representing a most significant digit of the number is a child of the root node;

(b) each node representing a digit that is not the most significant digit of the number is a child of the node representing a next more significant digit of the number;

(c) an attribute for indicating whether the number represents an upper or lower bound is associated with the node representing a least significant digit of the number, wherein the media gateway controller performs lookups for directory numbers using the range tree.

14. The range tree of claim 13 wherein the attribute for indicating whether the number represents an upper or lower bound is included in a child node of the node representing the least significant digit of the number.

15. The range tree of claim 13 wherein the attribute for indicating whether the number represents an upper or lower bound is included in a data structure of the node representing the least significant digit of the number.

16. The range tree of claim 13 wherein each node includes a bit-field wherein a value of bit N of the bit-field indicates the existence of a child node containing the value N.

17. A system for determining that a telecommunication device directory number is within an allowed set of ranges, the system comprising:

a media gateway controller for receiving a call including a directory number (DN), the media gateway controller including:

(a) a range tree embodied in a computer readable medium of the media gateway controller, the range tree including root node and a plurality of nodes subtending from the root node for representing digits of telecommunications device directory numbers, the nodes being grouped to represent ranges to telecommunications networks directory numbers and for reach range, the nodes represent a number comprising a lower bound for the range and a number comprising an upper bound for the range; and

(b) a lookup engine in the media gateway controller for performing a lookup to determine whether the DN is within an allowed range;

wherein the switch processes the call based on results of the determination.

18. The system of claim 17 wherein the switch comprises a soft switch.

19. The system of claim 17 wherein the switch comprises a public switched telephone network (PSTN) switch.

20. A computer program product comprising computer executable instructions embodied in a non-transitory computer readable medium for performing steps comprising:

(a) creating a range tree for representing an allowed set of numerical DN ranges, wherein each range is defined by a numerical upper and lower bound, and storing the range tree in a memory device of a media gateway controller;

(b) receiving, by the media gateway controller, a telecommunications device DN to be analyzed;

(c) traversing, by the media gateway controller, the range tree from a root node of the tree, based on analyzing each digit of the DN, until a leaf node is reached; and

(d) determining, by the media gateway controller, based on an attribute associated with the leaf node reached, whether the DN is within the allowed set of ranges.

Assignments (10)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2024
From: CITIZENS BANK, N.A.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 067822/0433 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
SECURITY INTEREST Recorded Mar 3, 2020
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052076/0905 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Dec 29, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: GENBAND US LLC
Reel/Frame 044986/0303 →
CORRECTIVE ASSIGNMENT TO CORRECT PATENT NO. 6381239 PREVIOUSLY RECORDED AT REEL: 039269 FRAME: 0234. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Jan 3, 2017
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041422/0080 →
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
PATENT SECURITY AGREEMENT Recorded Jul 6, 2016
From: GENBAND US LLC
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 039269/0234 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2014
From: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
To: GENBAND US LLC
Reel/Frame 031968/0955 →