IP Library Granted Patent US 11,647,087
Granted Patent B1
US 11,647,087 · App. 17/102,004 · Granted May 9, 2023

Intelligent call handling and routing

Inventor: Zhishen Liu (Campbell, CA)
Assignee: 8x8, Inc.
H04L67/306H04L65/1069H04L67/02H04M3/42017H04M3/42323H04M3/436H04M3/5108H04M7/006H04L65/1076H04L65/1104H04M3/42059
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,647,087
App. No.
17/102,004
Granted
May 9, 2023
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 (51)

1. A data center including a data communications server operable by or on behalf of a data communications provider in connection with a plurality of private branch exchanges operable by or on behalf of associated client entities, the data center comprising:

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

receive incoming data-communications calls from endpoint devices, associated with at least one of the plurality of private branch exchanges, via respective data communications sessions using the Internet;

identify, in response to the incoming data-communications calls, a first set of one or more documents written in a first programming language; and

execute the first set of one or more documents to:

make routing decisions for the incoming data-communications calls; and

identify and retrieve a second set of one or more documents written in a second programming language and associated with the routing decisions, wherein the second set of one or more documents is not received by the incoming data-communications calls from the endpoint devices via respective data communications sessions, and wherein the second programming language includes instructions to override instructions concerning the routing decisions for the incoming data-communications calls; and

execute the second set of one or more documents to provide call control functionality for further incoming data-communications calls from endpoint devices associated with said at least one of the plurality of private branch exchanges, wherein said further incoming data-communications calls are received via further communications sessions using the Internet.

2. The data center of claim 1 , wherein one of the routing decisions identifies a particular store or facility of a customer of, or client entity associated with, the data communications provider, and the second set of one or more documents specify auto-attendant functions for the customer or the client entity.

3. The data center of claim 1 , wherein the first and second programming languages are each an extensible markup language.

4. The data center of claim 1 , wherein the one or more computer processor circuits are further configured to route an incoming call by selecting from among a plurality of receptionists.

5. The data center of claim 1 , wherein the first set of one or more documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist, and the second set of one or more documents specify call routing rules that identify how to process a call that is not intercepted.

6. The data center of claim 1 , wherein the second programming language and the first programming language are related to one another in that the first and second programming languages are defined via respective sets of commands, and one of the first and second programming languages is a subset of the other of the first and second programming languages.

7. A data center including a data communications server operable by or on behalf of a data communications provider in connection with a plurality of private branch exchanges operable by or on behalf of respective client entities, the data center comprising:

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

receive incoming data-communications calls from endpoint devices, associated with at least one of the plurality of private branch exchanges, via respective data communications sessions using the Internet;

identify, in response to the incoming data-communications calls, a first set of one or more documents written in a first programming language; and

execute the first set of one or more documents to:

make routing decisions for the incoming data-communications calls; and

identify and retrieve a second set of one or more documents written in a second programming language and associated with the routing decisions, wherein the second set of one or more documents is not received by the incoming data-communications calls from the endpoint devices via respective data communications sessions; and

execute the second set of one or more documents to provide call control functionality for further incoming data-communications calls from endpoint devices associated with said at least one of the plurality of private branch exchanges, wherein said further incoming data-communications calls are received via further communications sessions using the Internet, wherein the first set of one or more documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist, and the second set of one or more documents specify call routing rules that identify how to process a call that is not intercepted, and the routing decision identifies an account associated with one of the respective client entities and the second set of one or more documents is identified based upon said account.

8. The data center of claim 1 , wherein the one or more computer processor circuits are further configured to route an incoming call by selecting from a plurality of receptionists based on reported indications of availability associated with one or more of the plurality of receptionists.

9. The data center of claim 1 , wherein the one or more computer processor circuits are further configured to route an incoming call by selecting from a plurality of receptionists based on reported indications of availability associated with one or more of the plurality of receptionists, and wherein the first set of one or more documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to one of the receptionists, and the second set of one or more documents specify call routing rules that identify how to process a call that is not intercepted.

10. For performance by a data center including one or more computer processor circuits coupled to memory circuits and including a data communications server operable by or on behalf of a data communications provider in connection with a plurality of private branch exchanges operable by or on behalf of associated client entities, a method comprising:

receiving incoming data-communications calls from endpoint devices, associated with at least one of the plurality of private branch exchanges, via respective data communications sessions using the Internet;

identifying, in response to the incoming data-communications calls, a first set of one or more documents written in a first programming language; and

executing the first set of one or more documents to:

make routing decisions for the incoming data-communications calls; and

identify and retrieve, from or on behalf of one of the associated client entities, a second set of one or more documents written in a second programming language and associated with the routing decisions, wherein the second set of one or more documents is not received by the incoming data-communications calls from the endpoint devices via respective data communications sessions and the second programming language includes commands that override the routing decisions corresponding to the execution of the first set of one or more documents; and

executing the second set of one or more documents to provide call control functionality for further incoming data-communications calls from endpoint devices associated with said at least one of the plurality of private branch exchanges and specific to said one of the associated client entities, wherein said further incoming data-communications calls are received via further communications sessions using the Internet.

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

12. For performance by a data center including one or more computer processor circuits coupled to memory circuits and including a data communications server operable by or on behalf of a data communications provider in connection with a plurality of private branch exchanges operable by or on behalf of associated client entities, a method comprising:

receiving incoming data-communications calls from endpoint devices, associated with at least one of the plurality of private branch exchanges, via respective data communications sessions using the Internet;

identifying, in response to the incoming data-communications calls, a first set of one or more documents written in a first programming language; and

executing the first set of one or more documents to:

make routing decisions for the incoming data-communications calls; and

identify and retrieve a second set of one or more documents written in a second programming language and associated with the routing decisions, wherein the second set of one or more documents is not received by the incoming data-communications calls from the endpoint devices via respective data communications sessions; and

executing the second set of one or more documents to provide call control functionality for further incoming data-communications calls from endpoint devices associated with said at least one of the plurality of private branch exchanges, wherein said further incoming data-communications calls are received via further communications sessions using the Internet, wherein one of the routing decisions identifies a particular store or facility of a customer of, or a particular client entity associated with, the data communications provider, and wherein said one of the routing decisions 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 10 , wherein the routing decision identifies a particular store or facility of a customer of, or a particular client entity associated with, the data communications provider, and the second set of one or more documents specify auto attendant functions for the customer.

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

15. For performance by a data center including one or more computer processor circuits coupled to memory circuits and including a data communications server operable by or on behalf of a data communications provider in connection with a plurality of private branch exchanges operable by or on behalf of associated client entities, a method comprising:

receiving incoming data-communications calls from endpoint devices, associated with at least one of the plurality of private branch exchanges, via respective data communications sessions using the Internet;

identifying, in response to the incoming data-communications calls, a first set of one or more documents written in a first programming language; and

executing the first set of one or more documents to:

make routing decisions for the incoming data-communications calls; and

identify and retrieve a second set of one or more documents written in a second programming language and associated with the routing decisions, wherein the second set of one or more documents is not received by the incoming data-communications calls from the endpoint devices via respective data communications sessions; and

executing the second set of one or more documents to provide call control functionality for further incoming data-communications calls from endpoint devices associated with said at least one of the plurality of private branch exchanges, wherein said further incoming data-communications calls are received via further communications sessions using the Internet, wherein the second programming language includes commands that override instructions concerning the routing decisions corresponding to the execution of the first set of one or more documents.

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

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

18. The method of claim 10 , wherein the first set of one or more documents specify call interception rules that identify when to intercept an incoming call and route the incoming call to a receptionist, and the second set of one or more documents specify call routing rules that identify how to process a call that is not intercepted.

19. The method of claim 10 , wherein the one or more computer processor circuits route the incoming data-communications calls by selecting from a plurality of receptionists based on reported indications of availability associated with one or more of the plurality 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 Nov 23, 2020
From: LIU, ZHISHEN
To: 8X8, INC.
Reel/Frame 054449/0023 →