IP Library Granted Patent US 8,670,545
Granted Patent B2
US 8,670,545 · App. 12/237,181 · Granted Mar 11, 2014

Inbound call identification and management

Inventor: Vlad Vendrow (Redwood City, CA)
Assignee: RingCentral, Inc.
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 8,670,545
App. No.
12/237,181
Granted
Mar 11, 2014
Kind
B2
Abstract

Examples of inbound call identification and management are described including a call management system that includes one or more repositories that can include data representing call action policies and data representing attributes associated with the caller devices and the callee devices. Further, the call management system can include one or more computing devices that include a call identifier (“IDer”) configured to characterize the attributes of the caller devices to form characterized attributes, a call management system controller configured to match the characterized attributes against routing criteria specified in the data representing the call action policies, and a call management system router configured to route calls from the caller devices to the callee devices responsive to a match between the characterized attributes and the routing criteria.

Claims (52)

1. A method comprising:

receiving data representing a call at a communication management system that includes one or more processors, wherein receiving the data representing the call comprises receiving data representing a location of a first communication endpoint via an internet protocol (“IP”) network, wherein the data representing the location of the first communication endpoint is generated by the first communication endpoint, and wherein the first communication endpoint is configured to communicate via both the IP network and a digital cellular network;

identifying a rule for routing the call from the first communication endpoint to a second communication endpoint, the rule being a default routing rule;

evaluating data representing a plurality of call attributes against data representing a plurality of routing criteria to determine whether to select a second routing rule, wherein the data representing the plurality of call attributes includes data representing a call history attribute, an availability attribute, and a time-based attribute, the data representing the call history attribute including data representing a number of calls via the communication management system between the first communication endpoint and the second communication endpoint during a time interval, the data representing the availability attribute including data specifying a presence status of a user associated with a third communication endpoint, and the data representing the time-based attribute including data identifying a time that the data representing the call was received, and wherein the plurality of routing criteria comprises a first routing criterion representing a threshold above which a number of calls associated with a calling-ID associated with the first communication endpoint, the second communication endpoint, or both during the time interval is a trigger condition to adopt an alternate routing for the call to the third communication endpoint, a second routing criterion representing a presence status of the user associated with the third communication endpoint, and a third routing criterion representing a time period during which the alternative routing can be triggered;

substituting the second routing rule for the default routing rule as a function of the data representing the plurality of call attributes;

adopting the alternate routing of the call to the third communication endpoint responsive to a match between the data representing the call history attribute, the availability attribute, and the time-based attribute and the data representing the plurality of routing criteria; and

routing the call to the third communication endpoint.

2. The method of claim 1 wherein adopting the alternate routing of the call occurs after receiving the data representing the call.

3. The method of claim 1 wherein substituting the second routing rule comprises:

identifying that the data representing the plurality of call attributes specifies the location of the first communication endpoint;

comparing the data representing the plurality of routing criteria associated with the second routing rule against the data representing the plurality of call attributes to determine a comparison result; and

adopting the alternate routing based on the comparison result.

4. The method of claim 1 further comprising:

receiving data representing a location of the second communication endpoint and data representing a location of the third communication endpoint;

determining a first distance between the location of the first communication endpoint and the location of the second communication endpoint;

determining a second distance between the location of the first communication endpoint and the location of the third communication endpoint;

comparing the first distance and the second distance to the at least one attribute; and

routing the call to the third communication endpoint based on the second distance.

5. The method of claim 1 wherein substituting the second routing rule further comprises:

analyzing data representing availability of the second communication endpoint as the at least one call attribute against data representing a fourth routing criterion to determine whether to select the second routing rule; and

adopting the alternate routing of the call responsive to a match between the data representing the availability of the second communication endpoint and the data representing the fourth routing criterion,

wherein the data representing the availability includes data indicating that the second communication endpoint is unavailable to accept the call.

6. The method of claim 1 wherein adopting the alternate routing of the call further comprises:

accessing destination contact identifiers (“IDs”) from an application;

extracting the destination contact identifiers from the application; and

routing the call to the third communication endpoint using at least one of the destination contact identifiers.

7. The method of claim 1 further comprising:

detecting the adoption of alternate routing of the call;

associating the call with data representing a ring signal configured to specify a type of call; and

transmitting the ring signal and the call to the third communication endpoint,

wherein the ring signal is configured to generate a sound indicating the type of call associated with the call.

8. A non-transitory computer readable medium comprising executable instructions to:

receive data representing a call from a first communication endpoint into a communication management system, wherein receiving the data representing the call comprises receiving data representing a location of the first communication endpoint via an internet protocol (“IP”) network, wherein the data representing the location of the first communication endpoint is generated by the first communication endpoint, and wherein the first communication endpoint is configured to communicate via both the IP network and a digital cellular network;

identify a rule for routing the call from the first communication endpoint to a second communication endpoint, the rule being a default routing rule;

evaluate data representing a plurality of call attributes against data representing a plurality of routing criteria to determine whether to select a second routing rule, wherein the data representing the plurality of call attributes includes data representing a call history attribute, an availability attribute, and a time-based attribute, the data representing the call history attribute including data representing a number of calls via the communication management system between the first communication endpoint and the second communication endpoint during a time interval, the data representing the availability attribute including data specifying a presence status of a user associated with a third communication endpoint, and the data representing the time-based attribute including data identifying a time that the data representing the call was received, and wherein the plurality of routing criteria comprises a first routing criterion representing a threshold above which a number of calls associated with a calling-ID associated with the first communication endpoint, the second communication endpoint, or both, during the time interval is a trigger condition to adopt an alternate routing for the call to the third communication endpoint, a second routing criterion representing a presence status of the user associated with the third communication endpoint, and a third routing criterion representing a time period during which the alternative routing can be triggered;

substitute the second routing rule for the default routing rule as a function of the data representing the plurality of call attributes;

adopt the alternate routing of the call to the third communication endpoint responsive to a match between the data representing the call history attribute, the availability attribute, and the time-based attribute and the data representing the plurality of routing criteria; and

route the call to the third communication endpoint.

9. The non-transitory computer readable medium of claim 8 wherein the data representing the plurality of call attributes includes a call frequency associated with the first communication endpoint.

10. The non-transitory computer readable medium of claim 8 wherein the data representing the plurality of call attributes includes an authorization code configured to access the communication management system.

11. The non-transitory computer readable medium of claim 8 wherein the executable instructions comprise executable instructions to:

select a call notification for the call according to a priority; and

transmit data representing the call notification.

12. The non-transitory computer readable medium of claim 8 wherein the executable instructions comprise executable instructions to:

notify a ringing group associated with the third communication endpoint.

13. A call management system comprising one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:

receiving data representing a call, wherein receiving the data representing the call comprises receiving data representing a location of a first communication endpoint via an internet protocol (“IP”) network, wherein the data representing the location of the first communication endpoint is generated by the first communication endpoint, and wherein the first communication endpoint is configured to communicate via both the IP network and a digital cellular network;

identifying a rule for routing the call from the first communication endpoint to a second communication endpoint, the rule being a default routing rule;

evaluating data representing a plurality of call attributes against data representing a plurality of routing criteria to determine whether to select a second routing rule, wherein the data representing the plurality of call attributes includes data representing a call history attribute, an availability attribute, and a time-based attribute, the data representing the call history attribute including data representing a number of calls via the call management system between the first communication endpoint and the second communication endpoint during a time interval, the data representing the availability attribute including data specifying a presence status of a user associated with a third communication endpoint, and the data representing the time-based attribute including data identifying a time that the data representing the call was received, and wherein the plurality of routing criteria comprises a first routing criterion representing a threshold above which a number of calls associated with a calling-ID associated with the first communication endpoint, the second communication endpoint, or both during the time interval is a trigger condition to adopt an alternate routing for the call to the third communication endpoint, a second routing criterion representing a presence status of the user associated with the third communication endpoint, and a third routing criterion representing a time period during which the alternative routing can be triggered;

substituting the second routing rule for the default routing rule as a function of the data representing the plurality of call attributes;

adopting the alternate routing of the call to the third communication endpoint responsive to a match between the data representing the call history attribute, the availability attribute, and the time-based attribute and the data representing the plurality of routing criteria; and

routing the call to the third communication endpoint.

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 Oct 18, 2013
From: RINGCENTRAL, INC.
To: RINGCENTRAL, INC.
Reel/Frame 031433/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2008
From: VENDROW, VLAD
To: RINGCENTRAL, INC.
Reel/Frame 022045/0845 →
Continuity (2)
Provisional Application 60995839 · Sep 28, 2007
Related Publication 20090086947A1 · Apr 2, 2009