IP Library Granted Patent US 8,842,568
Granted Patent B2
US 8,842,568 · App. 13/685,072 · Granted Sep 23, 2014

Method and system of renegotiating end-to-end voice over internet protocol CODECs

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,842,568
App. No.
13/685,072
Granted
Sep 23, 2014
Kind
B2
Abstract

Systems and methods of Voice over Internet Protocol (VoIP) communication are provided. A particular system includes a VoIP endpoint. The VoIP endpoint is adapted to monitor a packet loss measure between the VoIP endpoint and a second VoIP endpoint during a VoIP communication using a first CODEC. The VoIP endpoint is also adapted to negotiate with the second VoIP endpoint to select a substitute CODEC having a nominal data rate that is lower than an in-use nominal data rate of the first CODEC.

Claims (40)

1. A method, comprising:

monitoring a packet loss measure during a Voice over Internet Protocol (VoIP) communication between a first endpoint and a second endpoint, wherein the first endpoint and the second endpoint use a first CODEC to conduct the VoIP communication and the VoIP communication comprises voice and video content;

determining whether a current frames per packet value used by the first CODEC is greater than or equal to a maximum frames per packet threshold associated with the first CODEC;

when the monitored packet loss measure exceeds a maximum packet loss threshold and when the current frames per packet value used by the first CODEC is greater than or equal to the maximum frames per packet threshold associated with the first CODEC, negotiating use of a substitute CODEC having a substitute nominal data rate that is lower than an in-use nominal data rate of the first CODEC; and

continuing the VoIP communication using the substitute CODEC.

2. The method of claim 1 , further comprising determining a starting bandwidth measure to select the first CODEC before beginning to monitor the packet loss measure.

3. The method of claim 2 , wherein determining the starting bandwidth measure comprises:

sending a starting probe packet from the first endpoint to a network device;

receiving an echoed starting probe packet from the network device at the first endpoint; and

determining the bandwidth of the path from the first endpoint to the network device.

4. The method of claim 3 , wherein the network device is selected from a STUN server, a SIP server, and an echo server.

5. The method of claim 2 , further comprising negotiating the first CODEC based on a plurality of CODECs available at the first endpoint, a plurality of CODECs available at the second endpoint, and the starting bandwidth measure.

6. The method of claim 5 , wherein negotiating the first CODEC includes determining a bit rate and a frames per packet value to be used by the first endpoint and the second endpoint.

7. The method of claim 5 , wherein negotiating the first CODEC comprises:

accessing an optimization database, wherein the optimization database lists a plurality of CODECs and a bandwidth range associated with each of the plurality of CODECs; and

selecting as the first CODEC a CODEC associated with a particular bandwidth range within which the starting bandwidth measure falls.

8. The method of claim 1 , further comprising, before negotiating use of the substitute CODEC:

determining a packet loss ratio of a media packet stream of the VoIP communication;

determining whether the packet loss ratio exceeds a maximum packet loss ratio associated with the first CODEC;

when the packet loss ratio exceeds the maximum packet loss ratio, determining the in-use nominal data rate of the first CODEC;

determining whether the first CODEC is associated with an alternate nominal data rate that is lower than the in-use nominal data rate; and

when the first CODEC is associated with an alternate nominal data rate that is lower than the in-use nominal data rate, substituting the alternate nominal data rate for the in-use nominal data rate.

9. The method of claim 8 , further comprising:

when the first CODEC is not associated with an alternate nominal data rate that is lower than the in-use nominal data rate, determining whether the current frames per packet value is less than the maximum frames per packet measure associated with the first CODEC; and

when the current frames per packet measure is less than the maximum frames per packet measure associated with the first CODEC, increasing the number of frames per packet used by the first CODEC.

10. The method of claim 1 , wherein the packet loss measure includes a ratio of a media packet stream between the first endpoint and the second endpoint.

11. A system, comprising:

a Voice over Internet Protocol (VOIP) endpoint, the VoIP endpoint adapted to:

monitor a packet loss measure between the VoIP endpoint and a second VoIP endpoint during a VoIP communication using a first CODEC, wherein the VoIP communication comprises voice and video content;

determine whether a current frames per packet value used by the first CODEC is greater than or equal to a maximum frames per packet threshold associated with the first CODEC; and

negotiate with the second VoIP endpoint to select a substitute CODEC having a nominal data rate that is lower than an in-use nominal data rate of the first CODEC when the monitored packet loss measure exceeds a maximum packet loss threshold and when the frames per packet value used for the VoIP communication is greater than or equal to the maximum frames per packet threshold.

12. The system of claim 11 , further comprising a telephone coupled to the VoIP endpoint.

13. The system of claim 11 , wherein the VoIP endpoint comprises a telephone.

14. The system of claim 11 , wherein the substitute CODEC and a frames per packet value for the substitute CODEC are selected from a plurality of available CODEC and frames per packet value combinations, wherein the substitute CODEC and the frames per packet value are selected to provide an enhanced quality of service.

15. The system of claim 11 , wherein the VoIP endpoint is further adapted to determine a measurement of available bandwidth between the VoIP endpoint and the second VoIP endpoint, and to adjust a transmission rate of the VoIP communication based on the measurement of available bandwidth.

16. The system of claim 15 , wherein the VoIP communication is routed via a network including a plurality of network elements, and wherein the VoIP endpoint determines the measurement of available bandwidth by sending one or more probe packets to one or more of the plurality of network elements.

17. The system of claim 16 , wherein the one or more probe packets are sent during a period of silence of the VoIP communication.

18. The system of claim 11 , wherein the VoIP endpoint is further adapted to echo a probe packet received from the second VoIP endpoint.

19. The system of claim 11 , wherein the VoIP endpoint has access to an optimization database, wherein the optimization database includes at least one frames per packet value for each of a plurality of available CODECs.

20. The system of claim 19 , wherein the optimization database further includes a minimum bandwidth for each of the plurality of available CODECs and frames per packet value combinations.

Assignments (8)
PARTIAL RELEASE OF SECURITY INTERESTS IN PATENTS AT REEL/FRAME 050002/0536 Recorded Jul 24, 2025
From: JEFFERIES FINANCE LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 072248/0588 →
PARTIAL RELEASE REEL/FRAME 050002/0536 Recorded Jul 24, 2025
From: JEFFERIES FINANCE LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 072126/0001 →
SECURITY INTEREST Recorded Mar 25, 2025
From: UPLAND SOFTWARE INC.; UPLAND SOFTWARE VII, LLC; OMTOOL, LTD.; WATERFALL INTERNATIONAL, INC.; QVIDIAN CORPORATION; REFERENCES- ONLINE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 070626/0779 →
SECURITY INTEREST Recorded Aug 8, 2019
From: UPLAND SOFTWARE, INC.; UPLAND SOFTWARE I, INC.; UPLAND SOFTWARE IV, LLC; UPLAND SOFTWARE V, INC.; UPLAND SOFTWARE VI, INC.; UPLAND SOFTWARE VII, INC.; UPLAND IX, LLC; ULTRIVA, LLC; ADVANCED PROCESSING & IMAGING, INC.; OMTOOL, LTD.; RIGHTANSWERS, INC.; WATERFALL INTERNATIONAL INC.; QVIDIAN CORPORATION; REFERENCES-ONLINE, INC.; ADESTRA INC.; POSTUP HOLDINGS, LLC; POSTUP DIGITAL, LLC; DAILY INCHES, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050002/0536 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: UPLAND SOFTWARE, INC.
Reel/Frame 049990/0019 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: UPLAND SOFTWARE, INC.
Reel/Frame 049989/0307 →
SECURITY INTEREST Recorded Feb 24, 2017
From: UPLAND SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 041370/0411 →
CHANGE OF NAME Recorded Jan 23, 2017
From: UPLAND SOFTWARE III, LLC
To: UPLAND SOFTWARE, INC.
Reel/Frame 041047/0411 →