IP Library Granted Patent US 9,237,235
Granted Patent B2
US 9,237,235 · App. 14/473,475 · Granted Jan 12, 2016

Call queuing for location-aware mobile devices

Inventors: Vlad Vendrow (Redwood Shores, CA); Bruce Young (San Jose, CA); Praful Shah (Los Altos Hills, CA); Boris Elpiner (Sunnyvale, CA); Vladimir Shmunis (South Lake Tahoe, CA)
Assignee: RingCentral, Inc.
H04M3/5234H04M3/4234H04M3/5125H04M3/523H04M3/42246H04M2207/18
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 9,237,235
App. No.
14/473,475
Granted
Jan 12, 2016
Kind
B2
Abstract

A mobile device can be assigned to an extension configured as a Queue Agent (“QA”) in a call-queuing enabled virtual private branch exchange (vPBX). This and other mobile or fixed devices can be interconnected to form a virtual call center. Each extension can be assigned various rules, which specify how the incoming calls are answered at the extension and how calls in the call queue are selected for answering by the QA. As part of the rules, the vPBX system forwards calls from a call queue to the QA based on QA's availability status. If a location-aware mobile device is associated with the QA, the vPBX system can determine the QA's availability status based on a geographic location of the mobile device. A most geographically proximate agent can be selected for answering the call.

Claims (63)

1. A method comprising:

establishing a call queue, wherein the call queue includes one or more calls, and wherein the call queue is associated with a plurality of queue agents for answering calls in the call queue;

selecting a queue agent from the plurality of queue agents to answer a first call of the one or more calls in the call queue, wherein selecting the queue agent comprises:

determining a respective availability status for each of the plurality of queue agents, comprising:

determining, for each of one or more of the plurality of queue agents, a geographic location associated with the queue agent; and

setting the availability status of each of the one or more queue agents to indicate that the queue agent is available to take calls based on the geographic location associated with the queue agent; and

selecting a queue agent having an availability status that indicates that the queue agent is available to take calls to answer the first call; and

dispatching the first call to the selected queue agent.

2. The method of claim 1 , wherein determining the geographic location associated with the queue agent comprises determining a geographic location of a mobile device associated with the queue agent.

3. The method of claim 1 , wherein determining the respective availability status for each of the plurality of queue agents further comprises:

determining, for each of the one or more queue agents, that the queue agent is in a respective predetermined location associated with the queue agent based on the geographic location; and

setting the availability status of each of the one or more queue agents to indicate that the queue agent is available to take calls based on the queue agent being in the predetermined location associated with the queue agent.

4. The method of claim 1 , further comprising:

prioritizing the one or more calls in the call queue, wherein the first call is a call with a highest priority of the one or more calls in the call queue.

5. The method of claim 1 , further comprising:

updating the availability status of the selected queue agent from available to unavailable upon dispatching the first call to the selected queue agent.

6. The method of claim 5 , further comprising:

updating the availability status of the selected queue agent from unavailable to available after a predetermined period upon completing the first call.

7. The method of claim 1 , wherein selecting a queue agent having an availability status that indicates that the queue agent is available to take calls to answer the first call comprises:

determining a respective distance between each of the one or more queue agents and a caller that placed the first call based on the geographic location associated with the queue agent and a geographic location of the caller; and

selecting a queue agent based on the distances.

8. The method of claim 7 , wherein selecting the queue agent based on the distances comprises:

determining that a first queue agent has a geographic location that is within a predetermined proximity radius of the geographic location of the caller; and

selecting the first queue agent to answer the first call.

9. The method of claim 7 , wherein selecting the queue agent based on the distances comprises:

determining that a first queue agent is closest to the caller based on the distances; and

selecting the first queue agent to answer the first call.

10. A system comprising one or more computers and one or more non-transitory storage devices storing instructions that when executed by one or more computers causes the one or more computers to perform operations comprising:

establishing a call queue, wherein the call queue includes one or more calls, and wherein the call queue is associated with a plurality of queue agents for answering calls in the call queue;

selecting a queue agent from the plurality of queue agents to answer a first call of the one or more calls in the call queue, wherein selecting the queue agent comprises:

determining a respective availability status for each of the plurality of queue agents, comprising:

determining, for each of one or more of the plurality of queue agents, a geographic location associated with the queue agent; and

setting the availability status of each of the one or more queue agents to indicate that the queue agent is available to take calls based on the geographic location associated with the queue agent; and

selecting a queue agent having an availability status that indicates that the queue agent is available to take calls to answer the first call; and

dispatching the first call to the selected queue agent.

11. The system of claim 10 , wherein determining the geographic location associated with the queue agent comprises determining a geographic location of a mobile device associated with the queue agent.

12. The system of claim 10 , wherein determining the respective availability status for each of the plurality of queue agents further comprises:

determining, for each of the one or more queue agents, that the queue agent is in a respective predetermined location associated with the queue agent based on the geographic location; and

setting the availability status of each of the one or more queue agents to indicate that the queue agent is available to take calls based on the queue agent being in the predetermined location associated with the queue agent.

13. The system of claim 10 , the operations further comprising:

prioritizing the one or more calls in the call queue, wherein the first call is a call with a highest priority of the one or more calls in the call queue.

14. The system of claim 10 , the operations further comprising:

updating the availability status of the selected queue agent from available to unavailable upon dispatching the first call to the selected queue agent.

15. The system of claim 14 , the operations further comprising:

updating the availability status of the selected queue agent from unavailable to available after a predetermined period upon completing the first call.

16. The system of claim 10 , wherein selecting a queue agent having an availability status that indicates that the queue agent is available to take calls to answer the first call comprises:

determining a respective distance between each of the one or more queue agents and a caller that placed the first call based on the geographic location associated with the queue agent and a geographic location of the caller; and

selecting a queue agent based on the distances.

17. The system of claim 16 , wherein selecting the queue agent based on the distances comprises:

determining that a first queue agent has a geographic location that is within a predetermined proximity radius of the geographic location of the caller; and

selecting the first queue agent to answer the first call.

18. The system of claim 16 , wherein selecting the queue agent based on the distances comprises:

determining that a first queue agent is closest to the caller based on the distances; and

selecting the first queue agent to answer the first call.

19. A non-transitory computer storage medium storing instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:

establishing a call queue, wherein the call queue includes one or more calls, and wherein the call queue is associated with a plurality of queue agents for answering calls in the call queue;

selecting a queue agent from the plurality of queue agents to answer a first call of the one or more calls in the call queue, wherein selecting the queue agent comprises:

determining a respective availability status for each of the plurality of queue agents, comprising:

determining, for each of one or more of the plurality of queue agents, a geographic location associated with the queue agent; and

setting the availability status of each of the one or more queue agents to indicate that the queue agent is available to take calls based on the geographic location associated with the queue agent; and

selecting a queue agent having an availability status that indicates that the queue agent is available to take calls to answer the first call; and

dispatching the first call to the selected queue agent.

20. The computer storage medium of claim 19 , wherein determining the geographic location associated with the queue agent comprises determining a geographic location of a mobile device associated with the queue agent.

Assignments (3)
SECURITY INTEREST Recorded Feb 14, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062973/0194 →
MERGER Recorded Feb 9, 2015
From: RINGCENTRAL, INC.
To: RINGCENTRAL, INC.
Reel/Frame 034923/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2014
From: VENDROW, VLAD; YOUNG, BRUCE; SHAH, PRAFUL; ELPINER, BORIS; SHMUNIS, VLADIMIR
To: RINGCENTRAL, INC.
Reel/Frame 033961/0601 →
Continuity (3)
Continuation 12620641 · Nov 18, 2009
Provisional Application 61117555 · Nov 24, 2008
Related Publication 20140369486A1 · Dec 18, 2014