IP Library Granted Patent US 9,112,747
Granted Patent B2
US 9,112,747 · App. 13/831,536 · Granted Aug 18, 2015

Dynamic application integration associated with telephonic communications through hosted VoIP PBX using client-side integration proxy

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,112,747
App. No.
13/831,536
Granted
Aug 18, 2015
Kind
B2
Abstract

A system for collecting information associated with a telephonic communication made through it VoIP system by dynamically integrating a plurality of end user software applications including a client side integration proxy in electronic communication with a hosted VoIP PBX. Software executing on the client side integration proxy retrieves data related to a requested previous telephonic communication from a data store, assigns a portion of a memory cache for storing the retrieved data about the previous telephonic communication, enables one or more of the plurality of end user software applications to access the data about the previous telephonic communication, enables one or more of the plurality of end user software applications to update, modify, or add to the data about the previous telephonic communication, and retrieves and presents the supplemented data about the previous telephonic communication to the end user.

Claims (60)

1. A system for collecting information associated with a telephonic communication made through a voice over Internet Protocol (VoIP) system by dynamically integrating a plurality of end user software applications comprising:

a VoIP-enabled client device associated with an end user;

a hosted VoIP private branch exchange (PBX) in electronic communication with the VoIP-enabled client device for handling and managing the end user's side of a telephonic communication;

a client side integration proxy in electronic communication with the hosted VoIP PBX through an application programming interface (API) of the hosted VoIP PBX, the client side integration proxy comprising:

its own API for communicating and exchanging data with the plurality of end user software applications; and

a memory cache accessible by the plurality of end user software applications through the API of the client side integration proxy;

a data store containing data obtained from the hosted VoIP PBX for each telephonic communication handled and managed by the hosted VoIP PBX, the data store being in electronic communication with the client side integration proxy; and

software executing on the client side integration proxy for:

(a) receiving a request from the end user to retrieve information about a previous telephonic communication,

(b) retrieving data related to the previous telephonic communication from the data store;

(c) assigning a portion of the memory cache for storing the retrieved data about the previous telephonic communication,

(d) enabling one or more of the plurality of end user software applications to access the data about the previous telephonic communication currently stored in the assigned portion of the memory cache,

(e) enabling one or more of the plurality of end user software applications, in response to the data about the previous telephonic communication accessed from the assigned portion of the memory cache, to update, modify, or add to the data about the previous telephonic communication currently stored in the assigned portion of the memory cache based on data relevant to the previous telephonic communication obtainable or generated by the one or more of the plurality of end user software applications, and

(f) retrieving and presenting the supplemented data about the previous telephonic communication to the end user.

2. The system of claim 1 , wherein, if the data related to the previous telephonic communication stored in the assigned portion of the memory cache is updated, modified, or added to, the client side integration proxy notifies one or more of the plurality of end user software applications about the modified information and requests the one or more of the plurality of end user software applications further to update, modify, or add to the information about the previous telephonic communication stored in the assigned portion of the memory cache in response to the modified information.

3. The system of claim 1 , wherein the client side integration proxy enables one or more of the plurality of end user software applications to access the data related to the previous telephonic communication stored in the assigned portion of the memory cache (i) by pushing at least a portion of the stored information to one or more of the plurality of end user software applications or (ii) by polling and pulling at least a portion of the stored information from the assigned portion of the memory cache.

4. The system of claim 1 , wherein one or more of the plurality of end user software applications further updates, modifies, or adds to the data related to the previous telephonic communication stored in the assigned portion of the memory cache after the data related to the previous telephonic communication stored in the assigned portion of the memory cache has been previously modified by another respective one or more of the plurality of end user software applications or by the end user.

5. The system of claim 1 , wherein the supplemented information about the previous telephonic communication comprises one or more of the following provided by one or more of the plurality of end user software applications: a physical address of the third party, an email address of the third party, a name of the company with which the third party works, a job title of the third party, a communication history between the end user and the third party, a communication history between the company with which the end user works and the third party, a communication history between the company with which the third party works and the end user, notes regarding the third party, links to databases having additional information about the third party or about the company with which the third party works, biographical information about the third party, current geographical location of the third party or of the company with which the third party works, a graphical representation or image of the third party, documents available to the end user and related to the third party or related to the company with which the third party works, and emails available to the end user and related to the third party or related to the company with which the third party works.

6. The system of claim 1 , wherein the data obtained from the hosted VoIP PBX includes one or more of the following: a phone number of the third party, a name of the third party, an IP address of the device being used by the third party for the telephonic communication, a phone number or extension of the end user, a name of the end user, an IP address of the client device of the end user, an indication whether a portion or all of the telephonic communication is encrypted, an indication whether a portion or all of the telephonic communication is using a secured communication line, an indication whether the telephonic communication is inbound to or outbound from the hosted VoIP PBX, an indication whether the telephonic communication is being monitored, an indication whether the telephonic communication is being recorded, an indication of call ringing, an indication of call answered, and an indication of call disconnected.

7. A system for collecting information associated with a telephonic communication made through a voice over Internet Protocol (VoIP) system by dynamically integrating a plurality of end user software applications comprising:

a VoIP-enabled client device associated with an end user;

a hosted VoIP private branch exchange (PBX) in electronic communication with the VoIP-enabled client device for handling and managing the end user's side of a telephonic communication;

a client side integration proxy in electronic communication with the hosted VoIP PBX through an application programming interface (API) of the hosted VoIP PBX, the client side integration proxy comprising:

its own API for communicating and exchanging data with the plurality of end user software applications;

a memory cache accessible by the plurality of end user software applications through the API of the client side integration proxy; and

a data store for storing records containing information about telephonic communications that are handled and managed by the hosted VoIP PBX; and

software executing on the client side integration proxy for:

(a) detecting a telephonic communication based on data obtained from the hosted VoIP PBX through the API of the hosted VoIP PBX for each telephonic communication handled and managed by the hosted VoIP PBX;

(b) assigning a portion of the data store as a record for storing information about the telephonic communication for each telephonic communication handled and managed by the hosted VoIP PBX, wherein the information about the telephonic communication initially stored in the record includes the data obtained from the hosted VoIP PBX;

(c) receiving a request from the end user to retrieve information about a previous telephonic communication;

(d) retrieving information from the record associated with the previous telephonic communication stored in the data store;

(e) assigning a portion of the memory cache for storing the retrieved information about the previous telephonic communication;

(f) enabling the one or more of the plurality of end user software applications to access the information about the previous telephonic communication stored in the assigned portion of the memory cache;

(g) enabling one or more of the plurality of end user software applications to update, modify, or add to the information about the previous telephonic communication stored in the memory cache based on data relevant to the previous telephonic communication obtainable or generated by the one or more of the plurality of end user software applications, and

(h) retrieving and presenting the supplemented information about the previous telephonic communication to the end user.

8. The system of claim 7 , wherein, if the data related to the previous telephonic communication stored in the assigned portion of the memory cache is updated, modified, or added to, the client side integration proxy notifies one or more of the plurality of end user software applications about the modified information and requests the one or more of the plurality of end user software applications further to update, modify, or add to the information about the previous telephonic communication stored in the assigned portion of the memory cache in response to the modified information.

9. The system of claim 7 , wherein the client side integration proxy enables one or more of the plurality of end user software applications to access the data related to the previous telephonic communication stored in the assigned portion of the memory cache (i) by pushing at least a portion of the stored information to one or more of the plurality of end user software applications or (ii) by polling and pulling at least a portion of the stored information from the assigned portion of the memory cache.

10. The system of claim 7 , wherein one or more of the plurality of end user software applications further updates, modifies, or adds to the data related to the previous telephonic communication stored in the assigned portion of the memory cache after the data related to the previous telephonic communication stored in the assigned portion of the memory cache has been previously modified by another respective one or more of the plurality of end user software applications or by the end user.

11. The system of claim 7 , wherein the supplemented information about the previous telephonic communication comprises one or more of the following provided by one or more of the plurality of end user software applications: a physical address of the third party, an email address of the third party, a name of the company with which the third party works, a job title of the third party, a communication history between the end user and the third party, a communication history between the company with which the end user works and the third party, a communication history between the company with which the third party works and the end user, notes regarding the third party, links to databases having additional information about the third party or about the company with which the third party works, biographical information about the third party, current geographical location of the third party or of the company with which the third party works, a graphical representation or image of the third party, documents available to the end user and related to the third party or related to the company with which the third party works, and emails available to the end user and related to the third party or related to the company with which the third party works.

12. The system of claim 7 , wherein the data obtained from the hosted VoIP PBX includes one or more of the following: a phone number of the third party, a name of the third party, an IP address of the device being used by the third party for the telephonic communication, a phone number or extension of the end user, a name of the end user, an IP address of the client device of the end user, an indication whether a portion or all of the telephonic communication is encrypted, an indication whether a portion or all of the telephonic communication is using a secured communication line, an indication whether the telephonic communication is inbound to or outbound from the hosted VoIP PBX, an indication whether the telephonic communication is being monitored, an indication whether the telephonic communication is being recorded, an indication of call ringing, an indication of call answered, and an indication of call disconnected.

13. A system for collecting information associated with a telephonic communication made through a voice over Internet Protocol (VoIP) system by dynamically integrating a plurality of end user software applications comprising:

a VoIP-enabled client device associated with an end user;

a hosted VoIP private branch exchange (PBX) in electronic communication with the VoIP-enabled client device for handling and managing the end user's side of a telephonic communication comprising:

an application programming interface (API); and

a data store for storing data related to each telephonic communication handled and managed by the hosted VoIP PBX;

a client side integration proxy in electronic communication with the hosted VoIP PBX through the API of the hosted VoIP PBX, the client side integration proxy comprising:

its own API for communicating and exchanging data with the plurality of end user software applications; and

a memory cache accessible by the plurality of end user software applications through the API of the client side integration proxy; and

software executing on the client side integration proxy for:

(a) receiving a request from the end user to retrieve information about a previous telephonic communication;

(b) retrieving data associated with the previous telephonic communication from the data store through the API of the hosted VoIP PBX;

(c) assigning a portion of the memory cache for storing the retrieved data about the previous telephonic communication;

(d) enabling the one or more of the plurality of end user software applications to access the data about the previous telephonic communication stored in the assigned portion of the memory cache;

(e) enabling one or more of the plurality of end user software applications to update, modify, or add to the data about the previous telephonic communication stored in the memory cache based on information relevant to the previous telephonic communication obtainable or generated by the one or more of the plurality of end user software applications, and

(f) retrieving and presenting the supplemented data about the previous telephonic communication to the end user.

14. The system of claim 13 , wherein, if the data related to the previous telephonic communication stored in the assigned portion of the memory cache is updated, modified, or added to, the client side integration proxy notifies one or more of the plurality of end user software applications about the modified information and requests the one or more of the plurality of end user software applications further to update, modify, or add to the information about the previous telephonic communication stored in the assigned portion of the memory cache in response to the modified information.

15. The system of claim 13 , wherein the client side integration proxy enables one or more of the plurality of end user software applications to access the data related to the previous telephonic communication stored in the assigned portion of the memory cache (i) by pushing at least a portion of the stored information to one or more of the plurality of end user software applications or (ii) by polling and pulling at least a portion of the stored information from the assigned portion of the memory cache.

16. The system of claim 13 , wherein one or more of the plurality of end user software applications further updates, modifies, or adds to the data related to the previous telephonic communication stored in the assigned portion of the memory cache after the data related to the previous telephonic communication stored in the assigned portion of the memory cache has been previously modified by another respective one or more of the plurality of end user software applications or by the end user.

17. The system of claim 13 , wherein the supplemented information about the previous telephonic communication comprises one or more of the following provided by one or more of the plurality of end user software applications: a physical address of the third party, an email address of the third party, a name of the company with which the third party works, a job title of the third party, a communication history between the end user and the third party, a communication history between the company with which the end user works and the third party, a communication history between the company with which the third party works and the end user, notes regarding the third party, links to databases having additional information about the third party or about the company with which the third party works, biographical information about the third party, current geographical location of the third party or of the company with which the third party works, a graphical representation or image of the third party, documents available to the end user and related to the third party or related to the company with which the third party works, and emails available to the end user and related to the third party or related to the company with which the third party works.

18. The system of claim 13 , wherein the data obtained from the hosted VoIP PBX includes one or more of the following: a phone number of the third party, a name of the third party, an IP address of the device being used by the third party for the telephonic communication, a phone number or extension of the end user, a name of the end user, an IP address of the client device of the end user, an indication whether a portion or all of the telephonic communication is encrypted, an indication whether a portion or all of the telephonic communication is using a secured communication line, an indication whether the telephonic communication is inbound to or outbound from the hosted VoIP PBX, an indication whether the telephonic communication is being monitored, an indication whether the telephonic communication is being recorded, an indication of call ringing, an indication of call answered, and an indication of call disconnected.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jul 28, 2022
From: JPMORGAN CHASE BANK, N.A.
To: VONAGE AMERICA INC.; VONAGE HOLDINGS CORP.; VONAGE BUSINESS INC.; NEXMO INC.; TOKBOX, INC.
Reel/Frame 061002/0340 →
SECURITY INTEREST Recorded Nov 12, 2018
From: VONAGE BUSINESS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047502/0432 →
CHANGE OF NAME Recorded Feb 3, 2016
From: VONAGE BUSINESS SOLUTIONS, INC.
To: VONAGE BUSINESS INC.
Reel/Frame 037686/0102 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT APPLICATION NUMBER 13966486 PREVIOUSLY RECORDED ON REEL 033545 FRAME 0424. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jan 21, 2016
From: VONAGE HOLDINGS CORP.; VONAGE NETWORK LLC; VONAGE BUSINESS SOLUTIONS INC.; VONAGE AMERICA INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037570/0203 →
SECURITY INTEREST Recorded Jul 29, 2015
From: VONAGE HOLDINGS CORP.; VONAGE AMERICA INC.; VONAGE BUSINESS SOLUTIONS, INC.; VONAGE NETWORK LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036205/0485 →
CHANGE OF NAME Recorded Oct 7, 2014
From: VOCALOCITY, INC.
To: VONAGE BUSINESS SOLUTIONS, INC.
Reel/Frame 033900/0636 →
SECURITY INTEREST Recorded Aug 14, 2014
From: VONAGE HOLDINGS CORP.; VONAGE NETWORK LLC; VONAGE BUSINESS SOLUTIONS INC.; VONAGE AMERICA INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033545/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: ALEXANDER, JONATHAN; SWEET, RYAN
To: VOCALOCITY, INC.
Reel/Frame 030007/0976 →