IP Library Granted Patent US 9,148,519
Granted Patent B1
US 9,148,519 · App. 13/732,605 · Granted Sep 29, 2015

Intelligent media relay selection

Inventors: Garth Judge (San Jose, CA); Huw Rees (San Jose, CA)
Assignee: 8x8, Inc.
H04M7/006
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,148,519
App. No.
13/732,605
Granted
Sep 29, 2015
Kind
B1
Abstract

A Voice over Internet Protocol (VoIP) system includes a call control agent that is configured and arranged to perform a number of functions. The call control agent is configured to receive a connection request for a VoIP call and then accesses a list of media-relay servers (MRSs) that are located at geographically disparate locations relative to one another. The call control agent can execute a selection algorithm that processes variables for the MRSs in the list. In response to the selection algorithm, the call control agent is configured to select a particular MRS from the list. In response to the selection, the call control agent can then direct an endpoint to route audio media for the VoIP call through the particular MRS. The call control agent also is configured to maintain a call state for the VoIP call while the voice media is routed through the particular MRS.

Claims (31)

1. A Voice-over-Internet Protocol (VoIP) system comprising:

a call control agent server configured and arranged to:

receive a connection request for a VoIP call, the connection request including a source identifier and a destination identifier;

operate as a proxy that serves as a call control user agent for a first leg of the VoIP call and as a call answering user agent for a second leg of the VoIP call;

access a list of media-relay servers, the list including media-relay servers that are located at geographically disparate locations relative to one another;

execute a selection algorithm that processes variables linked to the media-relay servers in the list;

select, in response to the selection algorithm, a particular media-relay server from the list;

route, in response to the selection, voice media for the VoIP call through the particular media-relay server; and

maintain, as the proxy, a call state for the VoIP call while the voice media is routed through the particular media-relay server.

2. The system of claim 1 , wherein the call control agent server is further configured and arranged to provide call management options to one or more participants in the VoIP call.

3. The system of claim 1 , further including the media-relay servers in the list, wherein the media-relay servers in the list are configured and arranged to provide network address translation (NAT) traversal services.

4. The system of claim 1 , further including the media-relay servers in the list, wherein the media-relay servers in the list are configured and arranged to transcode the voice media to bridge between different codecs of a source and a destination for the VoIP call.

5. The system of claim 1 , wherein the variables for the media-relay servers in the list include one or more of the number of hops between a source VoIP device and each media-relay server, the number of hops between each media-relay server and a next known media relay or termination device, the geographic distances between the source VoIP device, each media-relay server and the next known media relay or termination device, the load of each media-relay server, and capabilities of an Internet Service Provider (ISP) used in the VoIP call.

6. The system of claim 1 , wherein the variables for the media-relay servers in the list include call quality data for previous VoIP calls.

7. The system of claim 1 , wherein the call control agent server is further configured and arranged to allow for dynamic modifications to the list of media-relay servers.

8. The system of claim 1 , wherein the variables for the media-relay servers in the list include a priority rating for the VoIP call.

9. The system of claim 8 , wherein the VoIP system is configured and arranged to determine the priority rating in response to the destination identifier indicating that the VoIP call is for emergency services.

10. The system of claim 8 , wherein the VoIP system is configured and arranged to determine the priority rating in response to a subscription type associated with one or more of the source identifier and the destination identifier.

11. The system of claim 1 , wherein the call control agent server is configured and arranged to operate as a proxy with two independent call control protocols on each leg.

12. A method of operating a Voice-over-Internet Protocol (VoIP) system comprising:

using a call control agent server to perform the steps of:

receiving a connection request for a VoIP call, the connection request including a source identifier and a destination identifier;

serving as a proxy that operates as a caller user agent for a first leg of the VoIP call and as a answering user agent for a second leg of the VoIP call;

accessing a list of media-relay servers, the list including media-relay servers that are located at geographically disparate locations relative to one another;

executing a selection algorithm that processes variables linked to the media-relay servers in the list;

selecting, in response to the selection algorithm, a particular media-relay server from the list;

routing, in response to the selection, voice media for the VoIP call through the particular media-relay server; and

maintaining, as the proxy, a call state for the VoIP call while the voice media is routed through the particular media-relay server.

13. The method of claim 12 , wherein the step of executing a selection algorithm includes analyzing one or more of the number of hops between a source VoIP device and each media-relay server, the number of hops between each media-relay server and a next known media relay or termination device, the geographic distances between the source VoIP device, each media-relay server and the next known media relay or termination device, the load of each media-relay server, and capabilities of an Internet Service Provider (ISP) used in the VoIP call.

14. The method of claim 12 , further including the steps of providing a calling user agent to a calling endpoint and providing an answering user agent for an answering endpoint.

15. The method of claim 12 , wherein the step of maintaining a call state further includes providing call management options to an endpoint of the VoIP call.

Assignments (5)
SECURITY INTEREST Recorded Aug 5, 2024
From: 8X8, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 068327/0819 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: 8X8, INC.; FUZE, INC.
Reel/Frame 068328/0569 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE APPLICATION NUMBERS 11265423, 11252205, 11240370, 11252276, AND 11297182 PREVIOUSLY RECORDED ON REEL 061085 FRAME 0861. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 26, 2024
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 066383/0936 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: 8X8, INC.; FUZE, INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 061085/0861 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2013
From: JUDGE, GARTH; REES, HUW
To: 8X8, INC.
Reel/Frame 029791/0530 →