IP Library Granted Patent US 9,444,852
Granted Patent B2
US 9,444,852 · App. 14/066,687 · Granted Sep 13, 2016

Bandwidth management and codec negotiation based on WAN topology

Inventors: Pramod Madabhushi (Schaumburg, IL); Jason Harper (Pleasanton, CA); Kent Fritz (Mountain View, CA)
Assignee: Shoretel, Inc.
H04L65/1046H04L65/1059H04M7/0072
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,444,852
App. No.
14/066,687
Granted
Sep 13, 2016
Kind
B2
Abstract

A system for bandwidth management and codec negotiation, according to one embodiment of the present invention comprises: a configuration storage module having supported codecs storage, codec lists and preferred site settings storage, and a call manager having an extension module, a trunk module, a location service engine, a codec manager, a bandwidth manager, and a media manager. The codec manager and the bandwidth manager used for negotiating a codec for a call between two endpoints. The present invention also includes a number of methods including a method for negotiating a codec for a call, a method for managing bandwidth for a call, a method for adding a description of a new codec supported by an endpoint, a method for adding an identifier of a supported codec to a codec list and a method for editing code site codec settings.

Claims (49)

1. An Internet Protocol (IP) telephony system, comprising:

a configuration storage module executable by a first processor to store a plurality of first site codec lists;

a first codec manager of a first site executable by the first processor to:

receive a first endpoint codec list from a first endpoint of the first site, wherein the first endpoint codec list comprises information identifying each codec supported by the first endpoint;

determine a type of call that is being initiated at the first endpoint;

retrieve a given first site codec list from the plurality of first site codec lists stored in the configuration storage module based on the determined type of call, wherein the given first site codec list comprises information identifying a plurality of codecs proper for the determined type of call, the given first site codec list including at least one identifier of a new codec added by a user to the given first site codec list at the first endpoint;

filter the first endpoint codec list associated with the first endpoint based on the given first site codec list, wherein filtering the first endpoint codec list associated with the first endpoint comprises removing identifiers of codecs from the first endpoint codec list of the first endpoint that are not included in the given first site codec list of the first site; and

transmit to a second site associated with a second endpoint the first endpoint codec list;

a second codec manager of a second site executable by a second processor to:

filter the first endpoint codec list of the first endpoint based on a second site codec list associated with the second site, wherein filtering the first codec list of the first endpoint based on the second site coded list associated with the second site comprises removing identifiers of codecs from the first endpoint codec list of the first endpoint that are not included in the second site codec list associated with the second site;

receive an identifier of a codec defined as a negotiated codec included in the first endpoint codec list from the second endpoint, the identifier included in the first endpoint codec list comprises the new codec added by the user;

transmit the identifier of the negotiated codec in the first endpoint codec list to the first endpoint; and

a call manager executable by the first processor to adapt a communication between the first endpoint and the second endpoint based on the identifier of the codec included in the first endpoint codec list, wherein the codec included in the first endpoint codec list reflects a negotiated codec between the first endpoint and the second endpoint.

2. The IP telephony system of claim 1 , wherein the configuration storage module comprises a supported codecs storage for storing descriptions of a plurality of codecs supported by the first site in the plurality of first site codec lists.

3. The IP telephony system of claim 2 , wherein a description of a given codec stored in the supported codecs storage comprises an identification string for the given codec and a corresponding bandwidth requirement for the given codec, wherein the corresponding bandwidth requirement is utilized by the call manager to allocate bandwidth for an associated call initiated at the first endpoint.

4. The IP telephony system of claim 2 , wherein each first site codec list comprises at least one identifier of a given codec whose description is stored in the supported codec storage.

5. The IP telephony system of claim 4 , wherein the configuration storage module comprises a site settings storage for storing setting information for the first site, the setting information indicating which codec list to use for each type of call initiated at the first endpoint.

6. The IP telephony system of claim 1 , wherein the second codec manager filters a second endpoint codec list of the second endpoint by removing from the second endpoint codec list identifiers of codecs not included in the first endpoint codec list.

7. The IP telephony system of claim 1 , wherein the call manager comprises a bandwidth manager that allocates bandwidth at the first or the second site based on a bandwidth of the codec negotiated for the call.

8. The IP telephony system of claim 1 , wherein the type of call initiated at the first endpoint is one of a intra-site call, inter-site call and fax and modem call.

9. A method for initiating a call between a first endpoint and a second endpoint, the method comprising:

receiving a first endpoint codec list from the first endpoint of a first site, wherein the first endpoint codec list comprises at least one identifier of a new codec added by a user to the first endpoint codec list;

determining a type of the call initiated at the first endpoint;

selecting a given first site codec list from a plurality of first site codec lists based on the determined type of call, wherein the given first site codec list comprises information identifying a plurality of codecs proper for the determined type of call;

filtering the first endpoint codec list associated with the first endpoint based on the given first site codec list, wherein filtering the first endpoint codec list associated with the first endpoint comprises removing identifiers of codecs from the first endpoint codec list of the first endpoint that are not included in the given first site codec list of the first site;

transmitting to a second site associated with the second endpoint the first endpoint codec list;

filtering the first endpoint codec list of the first endpoint based on a second site codec list associated with the second site, wherein filtering the first codec list of the first endpoint based on the second site coded list associated with the second site comprises removing identifiers of codecs from the first endpoint codec list of the first endpoint that are not included in the second site codec list associated with the second site;

receiving from the second endpoint an identifier of a codec included in the first endpoint codec list, the identifier included in the first endpoint codec list comprises the new codec added by the user; and

transmitting the identifier of the codec in the first endpoint codec list to the first endpoint.

10. The method of claim 9 , wherein filtering the first endpoint codec list further comprises:

searching and retrieving a second endpoint codec list associated with the type of the call, the second endpoint codec list is associated with the second endpoint;

removing from the first endpoint codec list one or more identifiers of codecs not included in the second endpoint codec list.

11. The method of claim 10 , further comprising reordering a ranking of identifiers included in the first endpoint codec list taking into account an order of identifiers included in a second site codec list associated with the second site.

12. The method of claim 9 , wherein filtering the first endpoint codec list comprises:

removing from the first endpoint codec list identifiers of codecs for which the first site including the first endpoint does not have enough bandwidth to support; and

allocating bandwidth at the first site based on a bandwidth of a codec represented in the first endpoint codec list, wherein the codec has a highest bandwidth of the codecs represented in the first endpoint codec list.

13. The method of claim 12 ,

wherein the first site is coupled to a plurality of wide area networks (WANs); and

wherein allocating bandwidth at the first site comprises selecting a WAN of the plurality of WANs on which to allocate bandwidth for the call.

14. The method of claim 12 , further comprising:

updating allocated bandwidth at the first site based on a bandwidth of the codec represented by the received identifier of the second endpoint.

15. The method of claim 9 ,

wherein filtering the first endpoint codec list comprises removing from the first endpoint codec list identifiers of codecs for which the second site including the second endpoint does not have enough bandwidth to support; and

wherein the method further comprises allocating bandwidth at the second site based on a bandwidth of a codec represented in the first endpoint codec list, wherein the codec has the highest bandwidth of the codecs represented in the first endpoint codec list.

16. The method of claim 15 ,

wherein the second site is coupled to a plurality of wide area networks (WANs);

wherein allocating bandwidth at the second site comprises selecting a WAN of the plurality of WANs on which to allocate bandwidth for the call.

17. The method of claim 15 , updating allocated bandwidth at the first site based on a bandwidth of the codec represented by the received identifier of the second endpoint.

18. The method of claim 9 , further comprising: exchanging audio, video, or data streams between the first endpoint and the second endpoint using the codec represented by the identifier.

Assignments (23)
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: 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 →
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 →
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 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 →
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 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 - 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 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 →
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/0643 →
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 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 →
MERGER AND CHANGE OF NAME Recorded Oct 15, 2018
From: MITEL NETWORKS, INC.; SHORETEL, INC.
To: SHORETEL, INC.
Reel/Frame 047239/0183 →
CHANGE OF NAME Recorded Oct 15, 2018
From: SHORETEL, INC.
To: MITEL NETWORKS, INC.
Reel/Frame 047239/0088 →
SECURITY INTEREST Recorded Sep 25, 2017
From: SHORETEL, INC.
To: CITIZENS BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 043829/0711 →
RELEASE OF SECURITY INTEREST Recorded Sep 25, 2017
From: SILICON VALLEY BANK
To: SHORETEL, INC.
Reel/Frame 043993/0430 →
SECURITY INTEREST Recorded Oct 23, 2014
From: SHORETEL, INC.
To: SILICON VALLEY BANK
Reel/Frame 034038/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2014
From: MADABHUSHI, PRAMOD; HARPER, JASON; FRITZ, KENT
To: SHORETEL, INC.
Reel/Frame 032197/0324 →
Continuity (3)
Continuation 12145841 · Jun 25, 2008
Provisional Application 61034309 · Mar 6, 2008
Related Publication 20140056296A1 · Feb 27, 2014