IP Library Granted Patent US 10,165,114
Granted Patent B1
US 10,165,114 · App. 15/377,825 · Granted Dec 25, 2018

Intelligent call handling and routing

Inventor: Zhishen Liu (San Jose, CA)
Assignee: 8x8, Inc.
H04M3/436H04L67/306H04M3/42017H04M3/42059H04M7/006H04L65/1076
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,165,114
App. No.
15/377,825
Granted
Dec 25, 2018
Kind
B1
Abstract

Certain aspects of the disclosure are directed to routing decisions implemented in response to VoIP telephone calls. According to a specific example, in response to the VoIP telephone calls, a first set of one or more documents are identified and executed to make routing decisions for the VoIP telephone calls. A second set of one or more documents are then identified based upon an association with the routing decisions. The second set of documents identify data to be retrieved from data sources. In response to the data, call control functionality is provided for the VoIP calls.

Claims (50)

1. A VoIP server operated by a VoIP provider and comprising:

one or more computer processor circuits coupled to memory circuits and configured to provide a call control engine that is configured to:

receive VoIP telephone calls from VoIP endpoint devices;

identify, in response to the VoIP telephone calls, a first set of one or more documents written in a first programming language that defines a message exchange protocol between the VoIP call routing server and data sources; and

execute the first set of documents to:

make routing decisions for the VoIP calls; and

identify a second set of one or more documents associated with the routing decisions wherein the second set of one or more documents is written in a second programming language that defines a message exchange protocol between the VoIP server and data sources and includes commands that override the routing decisions corresponding to the execution of the first set of documents; and

execute the second set of documents to:

retrieve data from the data sources; and

provide, in response to the data, call control functionality for the VoIP calls.

2. The server of claim 1 , wherein the first set of documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist.

3. The server of claim 2 , wherein the second set of documents specify call routing rules that identify how to process a call that is not intercepted.

4. The server of claim 1 , wherein the first programming language is a subset of the second programming language.

5. The server of claim 1 , wherein the routing decision identifies a customer account and the second set of one or more documents is identified based upon the customer account.

6. The server of claim 1 , wherein the routing decision identifies a particular store of a customer of the VoIP provider, and the second set of documents specify auto attendant functions for the customer.

7. The server of claim 1 , wherein the first and second programming languages are each an extensible markup language.

8. The server of claim 2 , wherein the one or more computer processor circuits are further configured to route the incoming call by selecting from an available pool of receptionists.

9. A method for use with a VoIP server operated by a VoIP provider and comprising one or more computer processor circuits coupled to memory circuits and configured to provide a call control engine, the method comprising using the call control engine to:

receive VoIP telephone calls from VoIP endpoint devices;

identify, in response to the VoIP telephone calls, a first set of one or more documents written in a first programming language that defines a message exchange protocol between the VoIP call routing server and data sources; and

execute the first set of documents to:

make routing decisions for the VoIP calls; and

identify a second set of one or more documents associated with the routing decisions wherein the second set of one or more documents is written in a second programming language that defines a message exchange protocol between the VoIP server and data sources and the second programming language includes commands that override the routing decisions corresponding to the execution of the first set of documents; and

execute the second set of documents to:

retrieve data from the data sources; and

provide, in response to the data, call control functionality for the VoIP calls.

10. The method of claim 9 , wherein the first set of documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist.

11. The method of claim 9 , wherein the first programming language is a subset of the second programming language.

12. The method of claim 9 , wherein the routing decision identifies a customer account and the second set of one or more documents is identified based upon the customer account.

13. The method of claim 9 , wherein the routing decision identifies a particular store of a customer of the VoIP provider, and the second set of documents specify auto attendant functions for the customer.

14. The method of claim 9 , wherein the first and second languages are each an extensible markup language.

15. The method of claim 10 , wherein the receptionist is selected from an available pool of receptionists.

16. The method of claim 10 , wherein the call control functionality for the VoIP calls includes playing audio based upon caller ID information.

17. A server operated by a VoIP client and comprising:

one or more computer processor circuits coupled to memory circuits and configured to interface with a call control engine of a VoIP server operated by a VoIP provider, wherein the VoIP client server is configured to:

generate a first set of one or more documents written in a first programming language that defines a message exchange protocol between the VoIP provider server and data sources;

receive a request from the VoIP provider server for access to documents associated with VoIP telephone calls from VoIP endpoint devices; and

provide the first set of documents to:

make routing decisions for the VoIP calls; and

identify a second set of one or more documents associated with the routing decisions wherein the second set of one or more documents is written in a second programming language that defines a message exchange protocol between the VoIP server and data sources and the second programming language includes commands that override the routing decisions corresponding to the execution of the first set of documents; and

provide the second set of documents to:

retrieve data from the data sources; and

provide, in response to the data, call control functionality for the VoIP calls.

18. The server of claim 17 , wherein the first set of documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist.

19. The server of claim 18 , wherein the second set of documents specify call routing rules that identify how to process a call that is not intercepted.

20. The server of claim 17 , wherein the first programming language is a subset of the second programming language.

21. The server of claim 17 , wherein the routing decision identifies a customer account and the second set of one or more documents is identified based upon the customer account.

22. The server of claim 17 , wherein the routing decision identifies a particular store of a customer of the VoIP provider, and the second set of documents specify auto attendant functions for the customer.

23. The server of claim 17 , wherein the first and second programming languages are each an extensible markup language.

24. The server of claim 18 , wherein the one or more computer processor circuits are further configured to route the incoming call by selecting from an available pool of receptionists.

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 Jan 25, 2017
From: LIU, ZHISHEN
To: 8X8, INC.
Reel/Frame 041079/0410 →
Continuity (4)
Continuation In Part 15240457 · Aug 18, 2016
Continuation In Part 15240391 · Aug 18, 2016
Provisional Application 62353977 · Jun 23, 2016
Provisional Application 62353971 · Jun 23, 2016
Cited By (4)
US 12,254,484 US 12,279,184 US 12,430,664 US 12,450,624