Method, system, and computer program product for managing routing servers and services
First Claim
1. A computer-implemented method, comprising:
- receiving a call from a caller over a public switched telephone network;
routing the call over a packet switched network via a gateway server;
importing routes from a routing server and exporting local routes to the routing server;
maintaining a list of the imported and exported routes;
receiving a request for a route from the gateway server;
finding one or more matching routes for a specific telephone number from the list of imported and exported routes based on the received request from the gateway server;
prioritizing the one or more matching routes based on one or more parameters, wherein the prioritizing comprises;
checking a route address entry for each of the one or more matching routes;
analyzing route timing information for each of the one or more matching routes to determine whether the route is available;
examining a route access entry for each of the one or more matching routes to determine whether the caller has access to the route;
reducing the one or more matching routes based on the analyzing and the examining; and
ordering the remaining one or more matching routes based on the route address entry, a cost estimate, a quality of service, and preference information for each of the remaining one or more matching routes; and
providing the prioritized one or more matching routes to the gateway server in order to route the call received by the gateway server.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for routing network traffic (calls in a Voice over Internet Protocol (VoIP)), which expands the capabilities of existing systems by providing faster and more efficient direction of network traffic, is disclosed. A routing management system includes a routing manager which maintains a list of local routes, establishes and manages connections to the routing server(s), exports routes to the routing server(s), imports disseminated routes from the routing server(s), obtains static global and dynamic routes from the routing server(s), caches those routes for future use, finds all matching routes for a particular number dialed by the user, and prioritizing those routes based on timing, access and ordering information. An additional embodiment contains at least one routing server which provides look-up services for gateway server(s), allows export of local routes from gateway server(s), and distributes translation data; and at least one gateway server which handles calls received on either the Internet protocol (IP) or traditional telephony networks. The gateway server bridges calls between the different kinds of networks, interacts with users, interfaces with the routing system.
48 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving a call from a caller over a public switched telephone network; routing the call over a packet switched network via a gateway server; importing routes from a routing server and exporting local routes to the routing server; maintaining a list of the imported and exported routes; receiving a request for a route from the gateway server; finding one or more matching routes for a specific telephone number from the list of imported and exported routes based on the received request from the gateway server; prioritizing the one or more matching routes based on one or more parameters, wherein the prioritizing comprises; checking a route address entry for each of the one or more matching routes; analyzing route timing information for each of the one or more matching routes to determine whether the route is available; examining a route access entry for each of the one or more matching routes to determine whether the caller has access to the route; reducing the one or more matching routes based on the analyzing and the examining; and ordering the remaining one or more matching routes based on the route address entry, a cost estimate, a quality of service, and preference information for each of the remaining one or more matching routes; and providing the prioritized one or more matching routes to the gateway server in order to route the call received by the gateway server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a gateway server communicatively coupled to a routing server and a database server, configured to; receive a call from a caller over a public switched telephone network; and route the call over a packet switched network; and a routing manager, implemented on the gateway server, configured to; import routes from the routing server and exporting local routes to the routing server; maintain a list of the imported and exported routes; receive a request for a route from the gateway server; find one or more matching routes for a specific telephone number from the list of imported and exported routes based on the received request from the gateway server; prioritize the one or more matching routes based on one or more parameters, wherein to prioritize the one or more matching routes the routing manager is further configured to;
;check a route address entry for each of the one or more matching routes; analyze route timing information for each of the one or more matching routes to determine whether the route is available; examine a route access entry for each of the one or more matching routes to determine whether the caller has access to the route; reduce the one or more matching routes based on the analyzing and the examining; and order the remaining one or more matching routes based on the route address entry, a cost estimate, a quality of service, and preference information for each of the remaining one or more matching routes; and provide the prioritized one or more matching routes to the gateway server in order to route the call received by the gateway server. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable device having stored thereon executable program instructions, execution of which by a computing device causes the computing device to perform operations comprising:
-
receiving a call from a caller over a public switched telephone network; routing the call over a packet switched network via a gateway server; importing routes from a routing server and exporting local routes to the routing server; maintaining a list of the imported and exported routes; receiving a request for a route from the gateway server; finding one or more matching routes for a specific telephone number from the list of imported and exported routes based on the received request from the gateway server; prioritizing the one or more matching routes based on one or more parameters, wherein the prioritizing comprises; checking a route address entry for each of the one or more matching routes; analyzing route timing information for each of the one or more matching routes to determine whether the route is available; examining a route access entry for each of the one or more matching routes to determine whether the caller has access to the route; reducing the one or more matching routes based on the analyzing and the examining; and ordering the remaining one or more matching routes based on the route address entry, a cost estimate, a quality of service, and preference information for each of the remaining one or more matching routes; and providing the prioritized one or more matching routes to the gateway server in order to route the call received by the gateway server. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification