IP Library Patent Application 10596904
Patent Application
App. No. 10/596,904

Methods and Apparatus for Multistage Routing of Packets Using Call Templates

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 None
App. No.
10/596,904
Abstract

A method for multistage routing of packets using call templates is disclosed. An ingress call is filtered based on a plurality of ingress-call parameter values. A parameter value for the ingress call is modified based on a plurality of ingress-call-peer parameter values. A filtered ingress-call parameter value and at least one filtered ingress-call-peer parameter value from a plurality of ingress-call-peer parameter values are converted to an egress-call parameter value and an egress-call-peer parameter value, respectively. An egress call is filtered based on a plurality of egress-call parameter values. A parameter value for the egress call is modified based on a plurality of egress-call-peer parameter values.

Claims (99)

1 . A method, comprising:

filtering an ingress call based on a plurality of ingress-call parameter values;

converting a filtered ingress-call parameter value and at least one filtered ingress-call-peer parameter value from a plurality of ingress-call-peer parameter values to an egress-call parameter value and an egress-call-peer parameter value, respectively;

filtering an egress call based on a plurality of egress-call parameter values, the plurality of egress-call parameter values including the egress-call parameter value; and

modifying a parameter value for the egress call based on a plurality of egress-call-peer parameter values, the plurality of egress-call-peer parameter values including the egress-call-peer parameter value.

2 . The method of claim 1 , further comprising:

tagging the ingress call based on the ingress-call parameter values and the egress-call-peer parameter values,

the modifying for the ingress call being based on the tagged ingress call.

3 . The method of claim 1 , further comprising associating the ingress call with an ingress-call peer based on the ingress-call parameter values and the ingress-call-peer parameter values.

4 . The method of claim 1 , further comprising:

identifying the ingress-call source using the ingress-call parameter values and the ingress-call-peer parameter values;

applying a common source policy to the identified ingress call; and

filtering the identified ingress call based on the common source policy.

5 . The method of claim 1 , further comprising selecting a first destination from an identified group of destinations for the ingress call based on a criterion, the criterion being at least one selected from a filter priority, a call-peer priority, a filter match strength, or an administration filter policy.

6 . The method of claim 1 , further comprising selecting a first destination from an identified group of destinations for the ingress call based on time-of-day filtering or load-balancing.

7 . The method of claim 1 , further comprising selecting a first destination from an identified group of destinations for the ingress call based on at least one of a least recently used destination or a percent utilization of a destination.

8 . The method of claim 1 , further comprising selecting a first destination from an identified group of destinations for the ingress call based on at least one of an ISDN/SIP response code for run-time or a redirect.

9 . The method of claim 1 , further comprising mapping an error code for a dropped call when the error code is returned back to a caller, the mapping including at least one of ceasing attempts to terminate the ingress call or redirecting the ingress call.

10 . The method of claim 1 , further comprising associating the ingress call with an ingress-call peer based on an automatic number identification (ANI) associated with the ingress call.

11 . The method of claim 1 , further comprising associating the ingress call with an ingress-call peer based on the plurality of ingress-call parameter values, the plurality of ingress-call-peer parameter values and an automatic number identification (ANI) associated with a call origination and common to all terminations.

12 . The method of claim 1 , further comprising:

associating the ingress call with an ingress-call-peer based on the plurality of ingress-call parameter values and the plurality of ingress-call-peer parameter values, and an automatic number identification (ANI) associated with the ingress call;

tagging the ingress call to produced a tagged ingress call;

instantiating the egress call based on the tagged ingress call; and

filtering the egress call based on the tagged ingress call.

13 . The method of claim 1 , further comprising associating the ingress call with an egress-call peer based on the plurality of egress-call parameter values, the plurality of ingress-call-peer parameter values and an automatic number identification (ANI) associated with a call termination and common to all originations.

14 . The method of claim 1 , further comprising:

tagging the ingress call based on a required class of service; and

the modifying the parameter value for the ingress call being based on the tagged ingress call.

15 . The method of claim 1 , further comprising:

tagging the ingress call based on automatic number identification (ANI) associated with the ingress call; and

selecting a termination based on the tagged ingress call.

16 . The method of claim 1 , further comprising:

tagging the ingress call based on a dialed number identification; and

terminating the ingress call based on a tag applied during the tagging.

17 . The method of claim 1 , further comprising:

selecting a first destination for the ingress call among an identified group of destinations based on a criterion; and

abandoning a call attempt to the first destination when a maximum number of call attempts for a call source has been reached.

18 . The method of claim 1 , further comprising:

selecting a first destination for the ingress call among an identified group of destinations based on a criterion; and

abandoning a call attempt to the first destination when a maximum post-dial delay for a call source has been reached.

19 . The method of claim 1 , further comprising instantiating a call peer and a device based on the plurality of ingress-call parameter values, the plurality of egress-call-peer parameter values, and the plurality of egress-call parameter values when the call peer does not exist and the when device does not exist.

20 . The method of claim 1 , further comprising:

identifying a source of the ingress call based on a qualifier; and

applying a routing policy to the ingress call based on the source.

21 . The method of claim 1 , further comprising:

identifying a source of the ingress call based on at least one of a layer 2 qualifier or a layer 3 qualifier; and

applying a routing policy to the ingress call based on the source.

22 . The method of claim 1 , further comprising:

identifying a source of the ingress call based on a virtual LAN identifier associated with the ingress call; and

applying a routing policy to the ingress call based on the source.

23 . The method of claim 1 , further comprising:

identifying a source of the ingress call based on at least one of a layer 2 qualifier or a layer 3 qualifier; and

applying a marker to the ingress call based on the source, the marker adapted to be used by an egress network for quality of service.

24 . The method of claim 1 , further comprising:

identifying the source of the ingress call based on a DiffServ/TOS marking associated with the ingress call; and

applying a routing policy to the ingress call based on the source.

25 . The method of claim 1 , further comprising:

identifying a source of the ingress call based on a priority-bit identifier associated with the ingress call; and

applying a routing policy to the ingress call based on the source.

26 . A computer program stored on a computer-readable medium, the computer program comprising:

a first filtering instruction to filter an ingress call based on a plurality of ingress-call parameter values;

a converting instruction to convert a filtered ingress-call parameter value and at least one filtered ingress-call-peer parameter value from a plurality of ingress-call-peer parameter values to an egress-call parameter value and an egress-call-peer parameter value, respectively;

a second filtering instruction configured to filter an egress call based on a plurality of egress-call parameter values, the plurality of egress-call parameter values including the egress-call parameter value; and

a second modifying instruction configured to modify a parameter value for the egress call based on a plurality of egress-call-peer parameter values, the plurality of egress-call-peer parameter values including the egress-call-peer parameter value.

27 . A method, comprising:

identifying a source associated with an ingress call;

applying a common source policy to the ingress call based on the source;

tagging a parameter value associated with the ingress call based on the common source policy to produce a tagged parameter value; and

matching an egress call associated with the ingress call based on the tagged parameter value.

28 . A computer program stored on a computer-readable medium, the computer program comprising:

an identifying instruction configured to identify a source associated with an ingress call;

an applying instruction configured to apply a common source policy to the ingress call based on the source;

a tagging instruction configured to tag a parameter value associated with the ingress call based on the common source policy to produce a tagged parameter value; and

a matching instruction configured to match an egress call with a corresponding ingress call based on the tagged parameter value.

29 . A method, comprising;

matching a source endpoint to an ingress call when the ingress call is associated with a specifically-determinable source endpoint; and

identifying a first destination from a plurality of destinations associated with the ingress call when the ingress call is not associated with a specifically-determinable source endpoint, the identifying being based on at least one of a filter parameter, an administrative-policy parameter or a run-time criteria parameter.

30 . The method of claim 29 , further comprising:

abandoning a call attempt to the first destination when a maximum number of call attempts for a call source has been reached.

31 . The method of claim 29 , further comprising:

abandoning a call attempt to the first destination when a maximum post-dial delay for a call source has been reached.

32 . The method of claim 29 , wherein the filter parameter is at least one of a filter priority or a filter match strength.

33 . The method of claim 29 , wherein the administrative-policy parameter is at least one of a call-peer priority or an administration filter policy.

34 . The method of claim 29 , wherein the run-time criteria parameter is at least one of a time-of-day filtering or a load-balancing.

35 . The method of claim 29 , wherein the identifying is further based on at least one of a least recently used destination or a percent utilization of a destination.

36 . The method of claim 29 , wherein the run-time criteria parameter is at least one of an ISDN/SIP response code for run-time or a redirect.

37 . A computer program stored on a computer-readable medium, the computer program comprising:

a matching instruction to match a source endpoint to an ingress call when the ingress call is associated with a specifically-determinable source endpoint; and

an identifying instruction to identify a first destination from a plurality of destinations associated with the ingress call when the ingress call is not associated with a specifically-determinable source endpoint, the identifying being based on at least one of a filter parameter, an administrative-policy parameter or a run-time criteria parameter.

38 . The computer program stored on a computer-readable medium of claim 37 , the computer program further comprising:

abandoning a call attempt to the first destination when a maximum number of call attempts for a call source has been reached.

39 . The computer program stored on a computer-readable medium of claim 37 , the computer program further comprising:

abandoning a call attempt to the first destination when a maximum post-dial delay for a call source has been reached.

40 . The computer program stored on a computer-readable medium of claim 37 , wherein the filter parameter is at least one of a filter priority or a filter match strength.

41 . The computer program stored on a computer-readable medium of claim 37 , wherein the administrative-policy parameter is at least one of a call-peer priority or an administration filter policy.

42 . The computer program stored on a computer-readable medium of claim 37 , wherein the run-time criteria parameter is at least one of a time-of-day filtering or a load-balancing.

43 . The computer program stored on a computer-readable medium of claim 37 , wherein the identifying is further based on at least one of a least recently used destination or a percent utilization of a destination.

44 . The computer program stored on a computer-readable medium of claim 37 , wherein the run-time criteria parameter is at least one of an ISDN/SIP response code for run-time or a redirect.

Assignments (10)
RELEASE AND REASSIGNMENT OF PATENTS Recorded Jul 7, 2016
From: COMERICA BANK, AS AGENT
To: GENBAND US LLC
Reel/Frame 039280/0467 →
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 →
SECURITY AGREEMENT Recorded Nov 9, 2010
From: GENBAND US LLC
To: COMERICA BANK
Reel/Frame 025333/0054 →
PATENT SECURITY AGREEMENT Recorded Jun 18, 2010
From: GENBAND US LLC
To: ONE EQUITY PARTNERS III, L.P., AS COLLATERAL AGENT
Reel/Frame 024555/0809 →
CHANGE OF NAME Recorded Jun 2, 2010
From: GENBAND INC.
To: GENBAND US LLC
Reel/Frame 024468/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2009
From: NEXTPOINT NETWORKS, INC.
To: GENBAND INC.
Reel/Frame 022716/0303 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2008
From: COLUMBIA PARTNERS, L.L.C., AS AGENT AND INVESTMENT MANAGER
To: NEXTPOINT NETWORKS, INC.
Reel/Frame 021744/0677 →
CHANGE OF NAME Recorded Mar 18, 2008
From: NEXTONE COMMUNICATIONS, INC.
To: NEXTPOINT NETWORKS, INC.
Reel/Frame 020663/0632 →
SECURITY AGREEMENT Recorded Jan 10, 2008
From: NEXTPOINT NETWORKS, INC. (F/K/A NEXTONE COMMUNICATIONS, INC.)
To: COLUMBIA PARTNERS, L.L.C. INVESTMENT MANAGEMENT
Reel/Frame 020351/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2007
From: RAMACHANDRAN, SRIDHAR; TYAGI, PARITOSH; MALLESAN, SARAVANAN; KULSHRESHTHA, GAURAV; SHETTY, SOHAN; RAMAN, ROHINI; BHATIA, MEDHAVI
To: NEXTONE COMMUNICATIONS, INC.
Reel/Frame 019092/0783 →