IP Library Granted Patent US 11,082,564
Granted Patent B1
US 11,082,564 · App. 16/439,455 · Granted Aug 3, 2021

User configurable routing of VoIP calls

Inventors: Bryan R. Martin (San Jose, CA); Garth Judge (San Jose, CA); Zhishen Liu (San Jose, CA)
Assignee: 8x8, Inc.
H04M7/0075H04L41/22H04M11/04H04M2242/04
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,082,564
App. No.
16/439,455
Granted
Aug 3, 2021
Kind
B1
Abstract

In one or more embodiments, an apparatus includes a set of VoIP servers configured to route VoIP calls to and from a plurality of VoIP-enabled devices. Each of the VoIP-enabled devices is respectively associated with one of a plurality of client accounts. A control circuit is communicatively connected to the one or more VoIP servers and directs the VoIP servers to route VoIP calls for a client account according to a respective routing policy for the client account. The routing policy indicates one or more routing algorithms for selecting paths of a network for routing each of the VoIP calls. The routing policy also indicates a selection algorithm configured to, for each VoIP call, one of the set of routing algorithms based on a set of criteria such as date or time of the call.

Claims (48)

1. An apparatus comprising:

one or more data-communications servers, each configured and arranged to route calls to and from a plurality of devices via a network including a plurality of network paths, each of the plurality of devices associated with a respective client account of a plurality of client accounts;

a control circuit communicatively connected to the one or more data-communications servers and configured and arranged to, for each client account,

direct the one or more data-communications servers to route calls using a respective routing policy indicating a set of routing algorithms and a selection algorithm and specifying user-defined criteria indicating when each of the routing algorithms should be selected for routing calls,

in response to the respective routing policy for the client account and for each call via the devices associated with the client account, select one of the set of routing algorithms indicated in the routing policy, and

select network paths of the network using the selected routing algorithm and, in response, cause the call to be routed over the selected network paths, and

wherein for at least one client account

the respective set of routing algorithms indicated in the routing policy identifies an event including a particular date and time associated with the event, and the control circuit is to select the one of the plurality of routing algorithms by comparing a time or date of the call to the time and date associated with the event.

2. The apparatus of claim 1 , wherein the plurality of client accounts include different routing policies having different sets of routing algorithms and different selection algorithms indicative of selectable ones of the routing algorithms, and the control circuit is further configured and arranged to select respective routing algorithms and to route calls different for different ones of the plurality of client accounts based on the different routing policies, wherein each of the different selection algorithms indicate criteria to be satisfied for selecting the routing algorithms in the different sets of routing algorithms; and

wherein the control circuit is configured to select the respective routing algorithm for routing the call responsive to information indicative of the call satisfying the criteria associated with the routing algorithm.

3. The apparatus of claim 1 , wherein for at least one client account the respective set of routing algorithms indicated in the routing policy includes a prioritization of a set of devices among all devices associated with the client account that have prioritized routing of certain calls over other calls.

4. The apparatus of claim 1 , wherein the control circuit is configured and arranged to select the one of the plurality of routing algorithms as a function of costs of available routes.

5. The apparatus of claim 1 , wherein the control circuit is configured and arranged to select the one of the plurality of routing algorithms based on a plurality of call parameters, the plurality of call parameters including parameters selected from the group consisting of: routing cost, call throughput, call quality, and a combination thereof.

6. The apparatus of claim 1 , wherein each of the plurality of client accounts includes a different routing policy having a different set of routing algorithms and a different selection algorithm, and the control circuit is further configured and arranged to allocate resources of the data-communications servers based on the routing policy for each client account.

7. The apparatus of claim 1 , wherein the control circuit is further configured and arranged to:

provide an internet-based graphical user interface (GUI) for at least one of the plurality of client accounts; and

prompt an authorized user, associated with said at least one of the plurality of client accounts, for directing how a respective call should be routed or placed via the GUI.

8. An apparatus comprising:

one or more data-communications servers, each configured and arranged to route calls to and from a plurality of devices via a network including a plurality of network paths, each of the plurality of devices associated with a respective client account of a plurality of client accounts;

a control circuit communicatively connected to the one or more data-communications servers and configured and arranged to, for each client account,

direct the one or more data-communications servers to route calls using a respective routing policy indicating a set of routing algorithms and a selection algorithm and specifying user-defined criteria indicating when each of the routing algorithms should be selected for routing calls,

in response to the respective routing policy for the client account and for each call via the devices associated with the client account, select one of the set of routing algorithms indicated in the routing policy, and

select network paths of the network using the selected routing algorithm and, in response, cause the call to be routed over the selected network paths, wherein for at least one client account the respective set of routing algorithms indicated in the routing policy identifies an event including a particular date and time associated with the event, wherein the selection algorithm indicates criteria to be satisfied for selecting each of the routing algorithms in the set; and

the control circuit is configured to select the routing algorithm responsive to information indicative of the call satisfying the respective criteria associated with the routing algorithm.

9. The apparatus of claim 8 , wherein for the at least one account, the control circuit is configured and arranged to select the one of the plurality of routing algorithms by comparing a time or date of the call to the time and date associated with the event.

10. The apparatus of claim 8 , wherein for the at least one account, the control circuit is configured and arranged to select:

a first routing algorithm for calls during the date and time of the event; and

a second routing algorithm for VoIP calls originating from outside a selected geographic area during the date and time of the event or outside of the date and time of the event.

11. An apparatus comprising:

a data-communications server configured and arranged to route calls to and from a plurality of devices via a network including a plurality of network paths, each of the plurality of devices associated with a respective client account of a plurality of client accounts;

a control circuit communicatively connected to the data-communications server and configured and arranged to, for each client account,

provide access to a respective one of a plurality of routing policies and a set of routing algorithms;

direct the data-communications server to route calls using the routing policy indicating at least one of the set of routing algorithms and specifying user-defined criteria, including certain of the calls to and from a plurality of devices indicated as being associated with a specific event at which an increased volume of calls may occur, indicating when each of the routing algorithms should be selected for routing calls; and

in response to the respective routing policy for the client account and for each of the calls via a respective one of the devices associated with the client account, to select one of the set of routing algorithms indicated in the routing policy based on at least one of the following information associated with the device involved in the call satisfying criteria associated with the selected routing algorithm: identification data of the device, geolocation of the device, date or time of the call, destination number of the call, and carrier preference indicated for the device.

12. The apparatus of claim 11 , wherein the respective policy further includes a selection algorithm indicating, for each of the routing algorithms in the set of routing algorithms, criteria to be satisfied for selecting respective routing algorithms of the set and the control circuit is configured to select the routing algorithm responsive to the information satisfying the respective criteria, wherein in response to the selection of one of the set of routing algorithms, the control circuit is further configured and arranged to cause the call to be routed over selected network paths using the selected routing algorithm.

13. The apparatus of claim 11 , wherein the selected one of the set of routing algorithms is based on date or time of the call, and wherein the control circuit is further configured and arranged to cause the call to be routed over selected network paths accordingly.

14. The apparatus of claim 11 , wherein the selected one of the set of routing algorithms is based on destination number of the call, and wherein the control circuit is further configured and arranged to cause the call to be routed over selected network paths accordingly.

15. The apparatus of claim 11 , wherein the selected one of the set of routing algorithms is based on carrier preference indicated for the device, and wherein the control circuit is further configured and arranged to cause the call to be routed over selected network paths accordingly.

16. A method comprising:

for each of a plurality of devices, in a response to a call to or from a device of the plurality of devices:

determining a client account of a plurality of client accounts that is associated with the device, each of the plurality of client accounts having a respective routing policy indicating a respective set of routing algorithms;

selecting a routing algorithm of the set of routing algorithms based on the routing policy of the determined client account and information indicative of the call satisfying criteria associated with the selected routing algorithm and specifying user-defined criteria indicating when each of the set of routing algorithms should be selected for routing calls; and

routing the call through a network by selecting network paths according to the selected routing algorithm, wherein the routing policies for each of the plurality of client accounts further include a selection algorithm indicative of when to select the routing algorithm in the set and selecting the routing algorithm using the selection algorithm, the method further comprising for the client account, setting the routing policy responsive to the user-defined criteria indicating when each of the routing algorithms are selected by a control circuit for routing of calls.

17. The method of claim 16 , further comprising for the client account, configuring a respective subset of a plurality of data-communications servers to route calls to or from ones of the devices that are associated with the client account according to the respective routing policy.

18. The method of claim 16 , wherein selecting the routing algorithm further includes selecting the routing algorithm of the set of routing algorithms as a function of costs of data paths.

19. The method of claim 16 , further comprising:

providing an internet-based graphical user interface (GUI); and

modifying the selection algorithm associated with the client account in response to input of an authorized user via the GUI.

Assignments (5)
SECURITY INTEREST Recorded Aug 5, 2024
From: 8X8, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 068327/0819 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: 8X8, INC.; FUZE, INC.
Reel/Frame 068328/0569 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE APPLICATION NUMBERS 11265423, 11252205, 11240370, 11252276, AND 11297182 PREVIOUSLY RECORDED ON REEL 061085 FRAME 0861. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 26, 2024
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066383/0936 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 061085/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: MARTIN, BRYAN R.; JUDGE, GARTH; LIU, ZHISHEN
To: 8X8, INC.
Reel/Frame 049450/0917 →