IP Library Granted Patent US 7,571,235
Granted Patent B2
US 7,571,235 · App. 10/741,517 · Granted Aug 4, 2009

Computer telephone integration over a network

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 7,571,235
App. No.
10/741,517
Granted
Aug 4, 2009
Kind
B2
Abstract

A softphone telephony application is provided within a browser using a visible frame to provide event notifications and allow a user to issue commands and a hidden frame which receive asynchronous event notifications as a dynamic HTML stream. Outgoing control commands are implemented as web service behaviours. In this way, all of the functionality required to control a CTI application on a server and to receive event notifications from the CTI application can be provided using standard browser technology and without requiring the installation of any dedicated software or the provision of non-standard communication channels.

Claims (53)

1. A method of providing an interface over a network between a client computer and a server for controlling telephony equipment, comprising the steps of:

a) sending over the network to the client computer a first section of code including software elements which when loaded in web browser software enable a user of the client computer to issue commands to the server; and

b) formulating a second section of code as an open-ended stream of code which includes event notifications generated dynamically by the server in response to said telephony equipment, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code;

c) sending over the network to the client computer said second section of code as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

d) sending over the network a third section of code, said third section of code including a web services description of web services available on said server which enable remote control of the telephony equipment,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

2. A method as claimed in claim 1 , wherein the first and second sections of code are provided as first and second frames within a single web page.

3. A method as claimed in claim 2 , wherein the second frame is encoded for interpretation as a hidden frame.

4. A method as claimed in claim 1 , wherein the second section of code is generated as an open-ended stream of code which continues to be generated by the server in response to new events notified by the telephony equipment while the communication with the client computer remains open.

5. A method as claimed in claim 4 , wherein the second section of code is provided as dynamic mark-up language code in the form of a series of discrete components which encode discrete software elements for interpretation by the browser software.

6. A method as claimed in claim 5 , wherein the discrete software elements are Java or JavaScript elements.

7. A method as claimed in claim 1 , wherein the first and second sections of code are transmitted as first and second frames in a web page, and the third section of code is transmitted each time said web page is requested.

8. A method as claimed in claim 1 , further comprising monitoring said network for commands from the client to operate the web services.

9. A method as claimed in claim 8 , further comprising translating commands received from the client to operating commands for the telephony equipment.

10. A method as claimed in claim 1 , further comprising the steps of monitoring a first communications session including said first and second sections of code between the client computer and the server, and of monitoring a second communications session between the telephony equipment and a remote item of telephony equipment, whereby events occurring in the first and second communications sessions are synchronised with one another.

11. A method as claimed in claim 10 , wherein the first communications session is controlled by a session manager which is in communication with a web server and the second communications session is controlled by a computer telephone integration manager which is in communication with said telephony equipment, the session manager passing commands received from the client computer to the computer telephone integration manager, and passing event notifications received from the computer telephone integration manager to the web server.

12. A method of receiving an interface over a network from a server for controlling telephony equipment, comprising the steps of:

a) receiving over the network a first section of code including software elements which when loaded in web browser software enable a user of the browser software to issue commands to the server;

b) receiving over the network a second section of code as an open-ended stream which includes event notifications generated dynamically by the server in response to said telephony equipment, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code, wherein said second section of code is received as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

c) receiving over the network a third section of code, said third section of code including a web services description of web services available on said server which enable remote control of the telephony equipment,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

13. A method as claimed in claim 12 , wherein the first and second sections of code are received as first and second frames within a single web page.

14. A method as claimed in claim 13 , wherein the second frame is interpreted within the browser as a hidden frame.

15. A method as claimed in claim 12 , wherein the second section of code is received as an open-ended stream of code which continues to be generated by the server in response to new events notified by the telephony equipment while the communication with the browser software remains open.

16. A method as claimed in claim 15 , wherein the second section of code is received as dynamic mark-up language code in the form of a series of discrete components which encode discrete software elements for interpretation by the browser software.

17. A method as claimed in claim 16 , wherein the discrete software elements are Java or JavaScript elements.

18. A method as claimed in claim 12 , further comprising sending to the server commands to operate the web services in response to user actions in the browser.

19. Apparatus for providing an interface over a network between a client computer and a server for controlling telephony equipment, comprising:

a) memory;

b) a first code generator for generating a first section of code including software elements which when loaded in web browser software enable a user of the client computer to issue communications control commands to the server;

c) a second code generator for generating a second section of code as an open-ended stream, said second code generator being in direct or indirect communication with said telephony equipment and being configured to generate event notifications in response thereto, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code, said second code generator being configured to transmit said second section of code as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

d) a third code generator for generating a third section of code, said third section of code including a web services description of web services available on said server which enable remote control of the telephony equipment,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

20. A computer including a memory storing a web page, and a processor executing web browser software which displays said web page, wherein said web page comprises at least two frames, wherein one of said frames is a hidden frame generated as an open-ended stream of dynamically generated code encoded to be progressively and incrementally transmitted to a client as a trickled stream of data in response to event notifications from a computer telephone integration application and the other of said frames is a visible frame adapted to be modified within a browser in response to particular events received in the open-ended stream of dynamically generated code and including web page elements enabling a user to issue commands to said computer telephone integration application, whereby the open-ended stream of dynamically generated code includes a section of code which includes a web services description of web services available to said user which enables remote control of the computer telephone integration application, whereby the open-ended stream of dynamically generated code operates to enable the generation of appropriate commands to access the web services available to said user, and thereby to control the computer telephone integration application.

21. A computer network including a client and a server connected across the network, wherein:

the server comprises:

a) a first code generator for generating a first section of code including software elements which when loaded in web browser software enable a user of the client computer to issue communications commands to the server;

b) a second code generator for generating a second section of code as an open-ended stream, said second code generator being in direct or indirect communication with said telephony equipment and being configured to generate event notifications in response thereto, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code, said second code generator being configured to transmit said second section of code as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

c) a third code generator for generating a third section of code, said third section of code including a web services description of web services available on said server which enable remote control of the telephony equipment,

the client comprises:

a memory storing a web page, and a processor executing web browser software which displays said web page, wherein said web page comprises at least two frames, wherein one of said frames is a hidden frame generated from said second section of code, and the other of said frames is a visible frame generated from said first section of code,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

22. A computer program product comprising a computer storage medium encoded with instructions which, when executed on a server having control of telephony equipment, are effective to cause the server to:

a) send over the network to the client computer a first section of code including software elements which when loaded in web browser software enable a user of the client computer to issue commands to the server;

b) formulate a second section of code as an open-ended stream which includes event notifications generated dynamically by the server in response to said telephony equipment, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code;

c) send over the network to the client computer said second section of code as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

d) send over the network to the client computer a third code generator which includes a web services description of web services available on said server which enable remote control of the telephony equipment,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

23. A computer program product comprising a computer storage medium encoded with instructions which, when executed on a computer connected to a network are effective to cause the computer to:

a) receive over the network a first section of code including software elements which when loaded in web browser software enable a user of the browser software to issue commands to the server;

b) receive over the network a second section of code as an open-ended stream which includes event notifications generated dynamically by the server in response to said telephony equipment, wherein at least some of the event notifications in the second section of code are adapted to update in the browser software one or more software elements received in the first section of code, wherein said second section of code is received as a trickled stream of data which is encoded to be progressively and incrementally loaded by said web browser software; and

c) send over the network a third code generator which includes a web services description of web services available on said server which enable remote control of the telephony equipment,

whereby the first section of code provides a browser-based interface suitable for transmitting user generated events, the second section of code provides a mechanism for updating the browser with notifications of events provided by the telephony equipment, and whereby the software elements from the first section of code operate in conjunction with the web services description from the third section of code to enable the generation of appropriate commands to access the web services offered by the server, and thereby to control the telephony equipment.

Assignments (23)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.
Reel/Frame 044891/0564 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 023998/0878 →
SECURITY AGREEMENT Recorded Feb 5, 2010
From: AVAYA INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 023905/0001 →
SECURITY AGREEMENT Recorded Feb 4, 2010
From: AVAYA INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 023892/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2003
From: O'ROURKE, THOMAS; GRIFFIN, KEITH; GALLAGHER, KEVIN
To: NORTEL NETWORKS LIMITED
Reel/Frame 014838/0526 →