Intelligent call routing through distributed VoIP networks
First Claim
1. A method for selecting a packet-switched Voice over Internet Protocol (VoIP) proxy server, the method comprising in combination:
- assigning a host name to a user device, wherein the host name represents a proxy server for communicating call control with the user device, and wherein the host name is associated with the user device;
acquiring an Internet Protocol (IP) address of a first proxy server via a first Domain Name System (DNS) query for the host name;
measuring a quality of a first network connection between the first proxy server and the user device at least in part by calculating a round-trip delay for messages between the first proxy server and the user device;
changing a DNS record for the host name to specify an IP address of a second proxy server for communicating call control with the user device;
acquiring the IP address of the second proxy server via a second DNS query for the host name;
measuring a quality of a second network connection between the second proxy server and the user device at least in part by calculating a round-trip delay for messages between the second proxy server and the user device;
comparing the quality of the first and second network connections; and
assigning to the DNS record for the host name the IP address of the proxy server associated with the higher-quality network connection.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for intelligent call routing through distributed VoIP networks. A host name, representing a proxy, is assigned to and associated with a device. An IP address of a first proxy is acquired via a DNS query for the host name. The quality of the connection between the first proxy and the device is measured at least in part by calculating the round-trip delay for messages between the first proxy and the device. A DNS record for the host name is changed to specify the IP address of a second proxy. The IP address of the second proxy is acquired via a second DNS query for the host name. The quality of the connection between the second proxy and the device is measured at least in part by calculating the round-trip delay for messages between the second proxy and the device. The quality of the first and second connections is compared, and the IP address of the proxy with the higher-quality connection is assigned to the DNS record.
150 Citations
29 Claims
-
1. A method for selecting a packet-switched Voice over Internet Protocol (VoIP) proxy server, the method comprising in combination:
-
assigning a host name to a user device, wherein the host name represents a proxy server for communicating call control with the user device, and wherein the host name is associated with the user device; acquiring an Internet Protocol (IP) address of a first proxy server via a first Domain Name System (DNS) query for the host name; measuring a quality of a first network connection between the first proxy server and the user device at least in part by calculating a round-trip delay for messages between the first proxy server and the user device; changing a DNS record for the host name to specify an IP address of a second proxy server for communicating call control with the user device; acquiring the IP address of the second proxy server via a second DNS query for the host name; measuring a quality of a second network connection between the second proxy server and the user device at least in part by calculating a round-trip delay for messages between the second proxy server and the user device; comparing the quality of the first and second network connections; and assigning to the DNS record for the host name the IP address of the proxy server associated with the higher-quality network connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for selecting a packet-switched Voice over Internet Protocol (VoIP) server, the method comprising in combination:
-
assigning a host name to a computer, wherein the host name represents a first proxy server for communicating call control with the computer, wherein the host name is associated with the computer, and wherein the first proxy server has an Internet Protocol (IP) address; measuring the network quality from the computer to a first media server associated with the first proxy server; changing a Domain Name System (DNS) record for the host name to specify an IP address of a second proxy server for communicating call control with the computer; measuring the network quality from the computer to a second media server associated with the second proxy server; and selecting the media server with the higher-quality network connection with the computer, and assigning the IP address of the proxy server associated with the selected media server to the DNS record for the host name. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for assigning a proxy server to a user device, the system comprising:
-
a user device for communicating a call over the Internet; a proxy host name to specify an Internet Protocol (IP) address of a proxy server for the user device, wherein the host name is associated with the user device; an Internet Telephony Service Provider (ITSP) for providing Internet telephone service to the user device; a plurality of proxy servers, each having a respective IP address, for accepting registration requests from the user device, and for acquiring measurements of network-connection quality between the respective proxy server and the user device; a database to record the network-connection-quality measurements acquired by the proxy servers, and to select, among the plurality of proxy servers, the proxy server with a highest-quality network connection with the user device; and a domain name server for converting the host name into the IP address of the proxy server selected by the database. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for directing client devices to particular servers, the method comprising in combination:
-
providing each of a plurality of client devices with a host name that is unique to each respective client device, wherein each respective host name represents a server for a respective client device to contact for carrying out a particular function; maintaining a Domain Name System (DNS) record for each unique host name, wherein each DNS record associates a respective unique host name with a respective Internet Protocol (IP) address of a server; and receiving DNS queries from the client devices, wherein each DNS query requests the IP address associated with the host name that is unique to the client device that sent the DNS query, and responsively providing those IP addresses to the client devices, wherein the client devices responsively use the provided IP addresses to contact the servers for carrying out the particular function. - View Dependent Claims (29)
-
Specification