IP Library Granted Patent US 9,350,864
Granted Patent B1
US 9,350,864 · App. 14/605,373 · Granted May 24, 2016

Method and system for specifying and processing telephony sessions

Inventors: Andrew M Brezinsky (New Berlin, WI); Andrew L Ortlieb (Wauwatosa, WI); Thomas J Kell (Brookfield, WI); Brian D Moe (Milwaukee, WI)
H04M3/5191H04L65/1006H04M3/42059H04M7/0021H04M7/0033
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,350,864
App. No.
14/605,373
Granted
May 24, 2016
Kind
B1
Abstract

A method of processing telephony sessions for telephony clients, the method comprising the steps of providing a platform server operated by a service provider, the platform server programmed to perform the steps of storing at least one telephony application for each of a plurality of telephony clients of the service provider, receiving a call from a customer at the platform server to one of the telephony clients, identifying a telephony client associated with the received call, identifying an interactive telephony application associated with the telephony client and the received call and performing the identified interactive telephony application on the platform server on behalf of the identified telephony client and independent of any instructions from the telephony client.

Claims (50)

1. A method of processing telephony sessions for a plurality of telephony clients of a service provider wherein the telephony clients are entities independent of the service provider, the method comprising the steps of:

providing a platform server operated by the service provider that handles telephony sessions for the plurality of telephony clients that are independent of the service provider, the platform server programmed to perform the steps of:

storing at least one telephony application for each of the plurality of telephony clients of the service provider;

receiving a call to one of the telephony clients from a customer intended for the one of the telephony clients;

identifying the telephony client associated with the received call from among the plurality of telephony clients of the service provider;

identifying an interactive telephony application associated with the telephony client and the received call; and

performing the identified interactive telephony application on the platform server on behalf of the identified telephony client and independent of any instructions from the telephony client.

2. The method of claim 1 wherein the step of storing at least one telephony application for each of a plurality of telephony clients includes storing a call routing table for each of the telephony clients and, for at least a subset of the telephony clients, storing at least first and second telephony applications in the call routing table associated with each client where each telephony application in a client's call routing table is associated with a different number called by a customer.

3. The method of claim 2 wherein at least one of the telephony applications occurs at least twice in at least one of the call routing tables.

4. The method of claim 2 wherein each call routing table includes data that can be used to set up session variables where the session variables are used by associated telephony applications to alter operation of the associated telephony applications during a call.

5. The method of claim 2 further including the steps of, at least one telephony client using a client interface device to link to the platform server, access the client's call routing table and alter the association of at least one number called by customers and an interactive telephony application.

6. The method of claim 1 further including the steps of using a telephony client interface device to access a browser based application development interface and using the development interface to develop an interactive telephony application.

7. The method of claim 6 wherein the telephony client that developed the interactive telephony application using the client interface device is a first client, the method further including the steps of the platform server storing the interactive telephony application developed using the telephony client interface device at a database location independent of the telephony client that developed the application and performing the interactive telephony application on the platform server on behalf of a second telephony client when a call for the second telephony client is received at the platform server.

8. The method of claim 1 wherein the same interactive telephony application is performed when calls are received at the platform server for either of first and second telephony clients.

9. The method of claim 1 wherein the received calls are in SIP and the platform server responds to customers via SIP.

10. The method of claim 9 wherein each telephony client can link to the platform server to develop and manage interactive telephony application programs performed on the telephony client's behalf.

11. The method of claim 1 wherein the interactive telephony application is in the LUA programming language.

12. The method of claim 11 wherein the interactive telephony application further includes extensions for calling functional modules via APIs to perform at least a subset of interactive telephony functions.

13. A method of developing interactive telephony applications for telephony clients, the method comprising the steps of:

using a first telephony client interface device to link to a platform server operated by a service provider independent of first and second telephony clients;

providing a browser based application development interface via the first client interface device;

receiving specifying information via the first client interface device specifying a first interactive telephony application;

the platform server storing the first interactive telephony application at an address on a platform database;

associating the first interactive telephony application with at least a first number associated with the first telephony client in a client routing table;

when a call to the first number is received at the platform server, accessing the associated first interactive telephony application and performing the first application independent of any instructions from the first telephony client;

using a second telephony client interface device to link to a platform server operated by a service provider independent of the first and second telephony clients;

providing a browser based application development interface via the second client interface device;

receiving specifying information via the second client interface device specifying a second interactive telephony application;

the platform server storing the second interactive telephony application at an address on a platform database;

associating the second interactive telephony application with at least a second number associated with the second telephony client in a client routing table; and

when a call to the second number is received at the platform server, accessing the associated second interactive telephony application and performing the second application independent of any instructions from the second telephony client.

14. A method of developing interactive telephony applications for telephony clients, the method comprising the steps of:

providing a browser based graphical application development interface via a display screen of a telephony client device wherein the interface includes functional blocks corresponding to interactive telephony functions, wherein instances of the functional blocks can be created and positioned within a visual flow space on the display screen and wherein the blocks can be linked to create a graphical application flow;

after an application flow has been created, publishing the application flow to generate a telephony application code file; and

storing the telephony application code file on a platform server operated by a service provider that provides interactive telephony services to the telephony client, wherein the platform server subsequently runs the application code on behalf of the telephony client.

15. The method of claim 14 wherein the application code file includes LUA code.

16. The method of claim 15 wherein the application code file also includes extensions to the LUA code to call functional modules via APIs to perform various telephony functions.

17. The method of claim 14 further including the step of, for at least one of the functional blocks created within the visual flow space, requesting entry of additional characteristics of the functional block useable to customize the block instance within the application being developed.

18. The method of claim 14 wherein the functional blocks include at least a “play” block for playing an audio clip stored at a database address and a “say” block for converting text into an audible voice message to be broadcast to a client customer.

19. The method of claim 14 wherein the functional blocks include at least one “web service” block for at least one of requesting data from a telephony client server and changing data maintained by a telephony client server.

20. A method of providing interactive telephony applications for telephony clients, the method comprising the steps of:

storing a complete interactive telephony application code file on a platform server operated by a service provider that is independent of a telephony client associated with the interactive telephony application code file, the complete interactive telephony application code file facilitating an entire interactive telephony application on behalf of the telephony client when performed, the code file including code in a programming language and API calls to functional telephony modules that facilitate telephony sub-functions; and

running the interactive telephony application code file on behalf of the telephony client and independent of instructions from the telephony client to interact with a telephony client customer when a call from the customer is received.

21. The method of claim 20 wherein the code file is in the LUA programming language.

22. The method of claim 20 wherein the functional blocks include at least one “web service” block for at least one of requesting data from a telephony client server and changing data maintained by a telephony client server.

23. A method of developing interactive telephony applications for telephony clients, the method comprising the steps of:

providing an interface for use by a telephony client to develop an interactive telephony application code file; and

after the code file has been developed, storing the code file on a platform server operated by a service provider completely independently of the telephony clients and that runs the code file independent of instructions from the telephony client;

wherein the code file includes at least one web service call to another server operated by an entity other than the service provider to at least one of obtain data from the another server and change data stored by the another server as the code file is run.

24. The method of claim 23 wherein the another server is operated by the telephony client.

Assignments (21)
SECURITY INTEREST Recorded Jun 30, 2025
From: MLN US HOLDCO LLC; MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: U.S. PCI SERVICES, LLC
Reel/Frame 071758/0843 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ANKURA TRUST COMPANY, LLC
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL CLOUD SERVICES, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071722/0721 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071730/0632 →
RELEASE OF SECURITY INTEREST Recorded Jun 24, 2025
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: MITEL (DELAWARE), INC.; MITEL COMMUNICATIONS, INC.; MITEL NETWORKS, INC.; MITEL NETWORKS CORPORATION
Reel/Frame 071712/0821 →
SECURITY INTEREST Recorded Jun 20, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 071676/0815 →
SECURITY INTEREST Recorded Mar 12, 2025
From: MITEL (DELAWARE), INC.; MITEL NETWORKS CORPORATION; MITEL NETWORKS, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 070689/0857 →
NOTICE OF SUCCESSION OF AGENCY - 4L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069896/0827 →
NOTICE OF SUCCESSION OF AGENCY - 5L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ANKURA TRUST COMPANY, LLC
Reel/Frame 069897/0046 →
NOTICE OF SUCCCESSION OF AGENCY - PL Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069895/0755 →
NOTICE OF SUCCCESSION OF AGENCY - 2L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 069896/0001 →
NOTICE OF SUCCCESSION OF AGENCY - 3L Recorded Jan 14, 2025
From: UBS AG, STAMFORD BRANCH, AS LEGAL SUCCESSOR TO CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 070006/0268 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0760 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0715 →
SECURITY INTEREST Recorded Nov 1, 2022
From: MITEL (DELAWARE), INC.; MITEL NETWORKS, INC.; MITEL COMMUNICATIONS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 061830/0643 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047909/0814 →
SECURITY INTEREST Recorded Dec 13, 2018
From: MITEL NETWORKS, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047988/0478 →
RELEASE OF SECURITY INTEREST Recorded Dec 3, 2018
From: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
To: SHORETEL, INC.
Reel/Frame 047713/0843 →
CHANGE OF NAME Recorded Oct 15, 2018
From: SHORETEL, INC.
To: MITEL NETWORKS, INC.
Reel/Frame 047239/0088 →
MERGER AND CHANGE OF NAME Recorded Oct 15, 2018
From: MITEL NETWORKS, INC.; SHORETEL, INC.
To: SHORETEL, INC.
Reel/Frame 047239/0183 →
SECURITY INTEREST Recorded Sep 25, 2017
From: SHORETEL, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043829/0711 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: MOE, BRIAN D.; BREZINSKY, ANDREW M.; ORTLIEB, ANDREW L.; KELLS, THOMAS J.
To: SHORETEL, INC.
Reel/Frame 038619/0863 →
Continuity (1)
Provisional Application 61946034 · Feb 28, 2014