DYNAMIC ROUTING SYSTEM AND METHOD
CROSS REFERENCE TO RELATED APPLICATIONS This application claims priority to United States Provisional Patent Application Number 60/246,706, filed November 8, 2000.
BACKGROUND OF THE INVENTION Field of the Invention The present invention generally relates to the field of telecommunications. More specifically, the present invention concerns a method and apparatus for transmitting telephone calls to or from a programmable telephone handset using conventional PSTN systems or a computer network such as the Internet.
Description of the Background Coirimunication systems for transmitting telephone calls have become an integral, indispensable part of everyday life. An alternative to telephone communication is data communication using computer technology. One method of data commumcation between computers is by way of modem. Specifically, a modem is used to transmit information or data from one computer to another computer similarly equipped with a modem. As the number of computers in use has increased, computer networks have been used to interconnect large numbers of computers in order to provide faster more reliable data communication.
The computer network widely in use today, known as the Internet, had its beginnings more than twenty years ago as a government project. Originally, the computer network was referred to as ARPANET (Advanced Research Projects Agency network) and was constructed from a small group of locations or cites across the United States that
would function as network hubs. Each hub was directly connected to the other hubs over dedicated leased lines. In this way, all the sites were connected to each other by way of high speed carriers and locally connected using the local telephone network to other terminal sites not having a direct connection to any other site. The resulting configuration was in effect, a national computer network.
Computer networks such as the Internet, which are capable of transmitting generic data or information between locations, have more recently been used to transmit audio information between computers. At the transmitting computer, a person's voice may be digitized using an analog to digital (A/D) converter and transmitted to the receiving location where it is passed through a digital to analog (D/A) converter and presented as audio. This type of audio connectivity is arguably similar to standard telephony, in that audio information may be transmitted from one location to another by way of a high bandwidth communications medium. However, this type of computer telephony system suffers from several major disadvantages. First, the system is limited to only those customers who have access to the Internet. While Internet access has now widely proliferated, it has not reached the near universal accessibility of ordinary telephone service. Such a system is utterly useless if a user desires to communicate with someone who does not have access to the Internet. Second, user access to such a system has in the past been available only by way of a computer, which is still significantly more expensive than a standard telephone. Third, user access is extremely inconvenient in comparison with corded, cordless, portable, mobile or cellular telephones, in that access may only be provided at a location where a computer is physically located. Fourth, communication with a particular individual may only be made by addressing the information to their computer network address, not to their standard telephone number.
While attempts have been made to remedy some of these deficiencies, the resulting systems are still inadequate. For example, computer-based devices which provide full duplex audio connectivity across the Internet are extremely cumbersome and impractical to use and also suffer from several disadvantages. Specifically, these devices do not use standard telephone numbers to address individuals. They typically require a computer at both transmitting and receiving ends, and both transmitting and receiving locations must call in order to establish a connection between the two parties. More important however, the devices do not allow spontaneous communication since the communication sessions must be scheduled in advance. Each potential receiving end must state their time availability and specify a computer or machine location where they may be reached.
Other recent efforts have been directed to implementing voice telephone service over the Internet. This work resulted in the development of network standards as well as a set of conventions for intercomiecting networks and routing information. The hiformation Providers (IPs) constitute the end systems which collect and market the information through their own servers. Access providers are companies which transport the information. Such companies market the usage of their networks.
One or more companies have recently developed software for use on personal computers to permit two-way transfer of real-time voice information via an Internet data link between two personal computers. In one of the directions, the sending computer converts voice signals from analog to digital format. The software facilitates data compression down to a rate compatible with modem communication via a standard telephone line. The software also facilitates encapsulation of the digitized and compressed voice data into the standard Internet protocol, or TCP/IP protocol, with appropriate addressing to permit commumcation via the Internet. At the receiving end, the computer
and software reverse the process to recover the analog voice information for presentation to the receiving party. Such programs permit telephone-like communication between Internet users.
However, known telephone-like communications via the Internet typically require each end user to have a TCP/IP address, resulting in an inefficient use of addressing resources. Moreover, the packet switched architecture of the Internet fails to provide guaranteed bandwidth or bounded access latencies, evidencing a disadvantage in that voice communication over the Internet is typically of poor quality.
Therefore, the need exists for a communication system which provides the quality, convenience and ease of use of a standard telephone but which makes use of the bandwidth and cost efficiencies of other communication networks such as the Internet.
SUMMARY OF THE INVENTION The present invention is directed to a novel communication system which automatically routes phone calls over a communications network. The communication system allows the user of a dynamic routing algorithm (DRA) enabled Customer Premise Equipment (CPE) which is connected to the public switched telephone network (PSTN) to communicate with any other telephone or CPE using a communication network, such as the Internet, as the transmission facility instead of using conventional PSTN transmission facilities. The communication system comprises at least one computer server which is coupled to a communications network, for example the Internet. The server initially receives a programming telephone call from the DRA enabled CPE, when the user of the CPE places a telephone call over the PSTN. The server then authenticates the user of the CPE and determines the geographic area associated with the CPE in order to select a local
point of presence (POP) on the communications network associated with the geographic area. The server then sends a programming signal to the CPE in order to program the telephone number associated with the local POP into the CPE, so that further calls initiated from the CPE are automatically routed to the local POP. Calls initiated from the CPE after the CPE has received the programming signal from the server may then be transmitted from the POP over a communication network, such as the Internet, to any other PSTN connected phone.
In accordance with a farther aspect, the present invention also includes a communication system for automatically routing telephone calls elected by the user to be transmitted over a communication network, such as the Internet, using a DRA enabled CPE capable of connecting to the communication network. A database in the CPE associates each of a plurality of dialed strings (e.g., "411", "5551212" or "1 followed by other digits"), with either a default service provider, such as a PSTN, or an elected service provider. The CPE also includes a controller that applies strings dialed on the CPE to entries in the database and routes each call dialed on the CPE in accordance with information stored in the database.
BRIEF DESCRIPTION OF THE DRAWINGS
For the present invention to be clearly understood and readily practiced, the present invention will be described in conjunction with the following figures, wherein like referenced numerals are employed to designate like parts or steps, are incorporated into and constitute a part of this specification, and illustrate embodiments of the invention that together with the description serves to explain the principals of the invention. In the drawings:
FIG. 1 is a diagram of the physical network of a communications system in
accordance with the present invention;
FIG. 2 is a diagram of a communications system database used for implementing an embodiment of the present invention; FIG. 3 is a process flow diagram showing steps used to pre-program a customer premises equipment (CPE) device (e.g., a telephone handset) by a manufacturer, in accordance with one embodiment of the present invention;
FIG. 4 is a process flow diagram showing the steps which occur when a user places an initial call using a CPE that was pre-programmed in accordance with FIG. 3; FIG. 5 is a process flow diagram showing the steps which occur when a user places subsequent calls using the CPE;
FIG. 6 is a process flow diagram showing the steps of a process for authenticating and re-programming a CPE;
FIG. 7 is a process flow diagram showing a call being denied access to the communications system of the present invention;
FIG. 8 is a process flow diagram showing a call completion; FIG. 9 is a diagram illustrating an exemplary set of CPE dialing rules that may be stored in the CPE, in accordance with one embodiment of the present invention. DETAIL DESCRIPTION OF THE PREFERRED EMBODIMENT Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. It is to be understood that the figures (FIG.s) and descriptions of the present invention included herein illustrate and describe elements that are of particular relevance to the present invention, while eliminating, for purposes of clarity, other elements. Those of ordinary
skill in the art will recognize that other elements are desirable and/or required in order to implement the present invention. However, because such elements are well known in the art, and because they do not facilitate a better understanding of the present invention, a discussion of such elements is not provided herein. Other objects, features and advantages of the invention discussed in the above brief description will be more clearly understood when taken together with the following detailed description of the embodiments which will be understood as being illustrative only, and the accompanying drawings reflecting aspects of that embodiment.
As used herein: "CPE" refers to the customer premises equipment, for example a programmable telephone handset, a personal computer or a fax machine; "DRA" refers to Dynamic Routing Algorithm; "NOC" refers to a network Operations Center; "PSTN" refers to a Public Switched Telephone Network; "POP" refers to a point of presence, for example a user would have a local POP for connections to a computer network (e.g., the Internet); "TFN" refers to a Toll Free Number, such as telephone dialing strings beginning with the prefix 800, 877, or 888; "ANR" refers to Automated Noice Response systems whereby a users voice is recognized by the system allowing the user to interact with the system verbally; "computer network" refers to any network of computers such as the internet or the world-wide web; "URL" or "uniform resource locators" refers to an address of a certain page, file, or directory on the web; "VoIP" refers to Voice over Internet Protocol; and "world- wide web" or "web" refers to a system of internet servers that supports specially formatted documents, referred to as "web pages".
The overall operations of the present invention will be first described with reference to FIG. 1. FIG. 1 is a schematic diagram illustrating a communication system according to the present invention for automatically routing phone calls over a
communication network. As shown in FIG. 1, network operation center 101 (NOC) in connection with managed IP backbone 102 are used to provide communication service between the call originating user 103 and the call termination point 105, using a DRA enabled CPE 104 (e.g., a DRA-enabled handset 104a, a DRA-enabled personal computer 104b or a DRA-enabled fax machine 104c). The NOC 101 includes a customer database server 101a which, in one embodiment, stores database information such as that shown in FIG. 2. NOC 101 also includes an authentication server 101b for performing the authentication process shown in FIG. 6, a gatekeeper server 101c, a signaling protocol device lOld, a router lOle for communicating with the originating gateway 107 and the terminating gateway 110, and a voice gateway 101 f for communicating with one or more voice gateways 102a on the IP backbone 102. As shown in FIG. 1, the various components in NOC 101 are connected via an internet switch lOlg.
During initial operation of the invention, a user at location 103 dials the number of the call termination point 105 by entering a dialed string corresponding to the telephone number of termination point 105 into the DRA enabled CPE 104. In response, CPE 104 does not initially place a call directly to termination point 105. Instead, CPE 104 initially places a "set-up" call by dialing a toll free number or IP address which was preprogrammed into CPE 104 during its manufacture. The pre-programmed toll-free number or IP address is used to establish a communications link between CPE 104 and the NOC 101 over the originating communication network (OCN) 106 via the user's default service provider (e.g., a PSTN network). In one embodiment, this "set-up" call is placed by simply routing an "800" call directly from location 103 to NOC 101 over originating communications network 106. In an alternative embodiment (not shown), a routing table supported by the default service provider may be used to route the "800" call to a local
point of presence (e.g., originating gateway 107) that is proximate to location 103, in order to access the NOC 101 via the IP backbone 102.
Next, the NOC 101 authenticates the user 103, determines the geographic area associated with the CPE 104, selects a local POP 107 associated with the geographic area, and sends a signal to the CPE 104 programming the CPE 104 with the telephone number of the local POP 107. As discussed more fully below in connection with FIG. 2, the NOC 101 determines the geographic area associated with CPE 104 by examining the first six digits of the automatic number identification (ANI) associated with CPE 104. Using these first six digits, the database of the present invention is able to determine a geographic area associated with CPE 104. The communication system of the present invention maintains a database of local POPs which may be used to access IP backbone 102 at various locations in a manner that requires each CPE 104 using the network to make only a "local" (rather than a "long distance") call in order to access IP backbone 102 via a local POP 107. Once a given local POP 107 associated with a particular CPE 104 is determined using the first six digits of the CPE's 104 ANI, a telephone number needed to access the particular local POP 107 associated with the CPE 104 is transmitted back to CPE 104 and programmed into CPE 104.
As explained more fully below, the call initially placed by the user to termination point 105 (and all subsequent calls placed by the user through CPE 104) is then initiated from CPE 104 by automatically placing a call to the local POP 107 associated with the CPE 104 using the telephone number that was programmed into CPE 104 during the "setup" call described above. The POP 107 (or originating gateway 107) is comprised of a PSTN switch 108 and a voice gateway 109. Once the CPE 104 has connected to the originating gateway 107 (over originating communications network 106) as described
above, a link is established from the originating gateway 107 to the NOC 101 over the IP backbone 102. At this point, the ANI associated with CPE 104 is again provided to NOC 101, and at this point, the ANI is used to access a customer information record such as that shown in FIG. 2. Among other things, the customer information record is used to access routing information for placing the call to termination point 105. The NOC 101 then uses this routing information, along with the telephone number of termination point 105 which is communicated from CPE 104 to NOC 101 over IP backbone 102, in order to route the call to a local POP 110 (or terminating gateway 110) associated with the location of call termination point 105. NOC 101 selects a terminating gateway 110 for call routing that is sufficiently proximate to termination point 105 such that a "local" call (rather than a "long distance" call) can be placed over, for example, a PSTN 111 in order to complete the call.
Thus, upon successful authentication and reprogramming of the CPE 104 following the "set-up" call, the user's telephone calls to a call termination point 105 are routed by the NOC 101 over the managed IP backbone 102 to a Terminating gateway (TG) 110 at the destination local POP 110, which translates a VoIP call and routes the call to the terminating communications network (TCN) 111. The TCN 111 routes the call to the call termination point 105 dialed. Bi-directional communication will occur between the user 103 and the call termination point 105 using VoIP via the managed IP backbone 102 until the call is terminated. Once the CPE 104 has been programmed by the NOC 101, subsequent calls, if elected by the user 103, may be automatically routed over the managed IP backbone 102 via the local POP 107. The CPE 104 passes the number dialed by the user 103 to the Originating gateway 106 which establishes a communication link between the CPE 104 and the NOC 101. The NOC 101 authenticates the user 103 and routes the call over the
managed IP backbone 102 to the Terminating gateway 110 which translates the VoIP call and routes the call to the TCN 111. The TCN 111 routes the call to the call termination point 105 dialed and Bi-directional communication will occur between the user 103 and the call termination point 105 until the call is terminated. FIG. 2 is a diagram of a communications system database, which resides on the customer database server 101a, used for implementing an embodiment of the present invention. When a call placed by a user 103 of a CPE 104 is received by the NOC 101, the database of the customer database server 101a receives the CPE's automatic number identifier (ANI) (e.g., the telephone number of the CPE 104 where the call originated from 103). The customer information table of the database locates the user's ANI in the service ANI field within the customer information table. The customer information table contains many additional fields, including user billing (e.g., credit card number, type, expiration date, billing data), service, contact, and payment fields. The customer information table also includes fields relating to dialing rules or yes/no indicators for various user selected services and how such selected calls are to be handled by the communications system of the present invention (e.g., local, long distance, international, emergency and directory assistance calls).
Within the customer information table, the service plan field relates customer information to the service information table. The service information table contains fields related to carrier information, call route information and call destination information.
The network information table of the database receives the user's ANI and stores the first six digits of the user's ANI (e.g., the area code and exchange of the user's telephone number) in the POP NPA-NXX Range field. The network information table contains many additional fields relating to the users geography and local POP 107,
including POP Ids (e.g., network access numbers based on geography and gateway IP addresses), backup POP Ids, and POP trouble Ids. The network information table also includes a key field which relates to standard telecommunications database table (LERG). The LERG table contains fields relating to the carrier, local dialing rules and serving office (e.g., routing information) for standard telecommunications activities. In the event that the CPE 104 requires reprogramming or additional information, the LERG table supplies the relevant information to program the CPE 104 through the communications system of the present invention.
FIG. 3 is a flowchart illustrating the process of the pre-pro gramming of a CPE 104 by a manufacturer. In steps 301-302, a CPE 104 manufacturer pre-pro grams the CPE 104 to intercept the first number dialed for any non-emergency calls placed using CPE 104, for example calls other than 911 calls, and to store the dialed number in CPE 104 (step 303). In step 304, CPE 104 is pre-programmed to initiate the "set-up" call described above by dialing an NOC access number as described above. Upon the user's initial call using the CPE 104, the CPE 104 connects to the NOC 101 using a toll free number or IP address via the originating communication network 106. The NOC 101 then sends a programming signal to the CPE 104 programming the phone number of local POP 107 into the CPE 104 database. In step 305, after completion of the "set-up" call process, the CPE 104 is preprogrammed to send actual dialed digits corresponding to the user's first call and subsequent calls to NOC 101.
FIG. 4 is a flowchart illustrating the process of a user's initial call using the CPE 104. A user dials any non-emergency call from the CPE 104 in step 401. The CPE 104 connects to the NOC 101 using a toll free number or IP address via the originating communication network 106 in step 402. A communication link is established between the
CPE 104 and the originating gateway 107 in step 403. The CPE 104 passes the number dialed by the user to the originating gateway 107 in step 404. A communications link is then established between the CPE 104 and the NOC 101. The NOC 101 authenticates the CPE 104 in step 405. Upon successful authentication and reprogramming of the user's CPE 104, the user's telephone call, which is already connected via the originating communications network 106, is routed by the NOC 101 to the terminating gateway 110. The terminating gateway 110 at the destination local POP 107 translates the VoIP call and routes the call to the TCN 111. The terminating gateway 111 routes the call to the destination telephone dialed. Bi-directional communication will occur until the call is terminated.
FIG. 5 is a flowchart illustrating the process of a user's subsequent calls using the CPE 104. A user 103 dials a call in step 501. If the call placed is not a user elected service, then in step 502 the CPE 104 dials the default service provider network in step 503. If the number corresponds to a user elected service, in step 505 the CPE 104 dials the originating gateway 107 via the originating communication network 106 using the dialing information programmed into CPE 104 during the "set-up" call. The CPE 104 passes the number dialed by the user to the originating gateway in step 506. A communications link is established, between the CPE 104 and the NOC 101, and the NOC 101 authenticates the CPE 104 in step 507. Upon successful authentication, over backbone 102, the user's telephone call, which is already connected via the originating communications network
106, is routed by the NOC gatekeeper to a terminating gateway 110 proximate termination point 105. The terminating gateway 110 at the destination local POP translates the VoIP call and routes the call to the TCN 111. The terminating gateway routes the call to the destination telephone dialed. Bi-directional communication will occur until the call is
terminated. If the CPE 104 is not valid or authorized by the NOC 101, the NOC 101 optionally routes the call to a customer care platform (not shown).
FIG. 6 is a flowchart illustrating the process for authenticating and reprogramming a CPE 104. The originating gateway 107 communicates with the NOC database 101 a in step 601. If the ANI associated with the call is not valid (e.g., no valid customer information is associated with the ANI of a call received at NOC 101), then in step 602, the NOC 101 routes the call to the customer care platform in step 603. If the ANI is valid, the NOC 101 checks customer database 101a for flags (billing, valid credit card, etc.) in step 604. If a flag is present, the NOC 101 routes the call to the customer care platform. If no flag is present, the IP address associated with the ANI is checked in step 605. If the IP address is valid, the call is completed in step 606. If the IP address is not valid, reprogramming of CPE 104 is initiated in step 607 and the call is completed in step 608. The NOC 101 associates the ANI with a local originating gateway 107 in the user's 103 immediate coverage area and repro grams the user's CPE 104 to dial the access number for that local originating gateway 107 for all future long distance calls (or any other elected service provider calls) placed from the CPE 104 during reprogramming step 608. This reprogramming process ensures that all subsequent long distance calls (or any other elected service provider calls) dialed by the user 103 will be routed to the local originating gateway 107. NOC 101 database is updated to include results of reprogramming in step 609.
FIG. 7 is a flowchart illustrating the process of a call being denied access to the communications system. The NOC/OG routes the call to the customer care platform in step 702. The customer care platform may include AVR, a live operator, or other forms of querying and responding to customer concerns. The customer care platform gives the user
103 various options, including election of service in step 703. If the user 103 elects service in step 704, account information is obtained and the NOC database 101a is updated in step 705. If the customer does not elect service in step 706, DRA is disabled in step 707 and the CPE 104 is reprogrammed by the NOC 101 so as to allow no further calls to be sent to the NOC 101 (step 708).
FIG. 8 is a flowchart illustrating the process for call completion. The NOC/OG is satisfied that all criteria to complete the call are met in step 801. The OG retains the actual digits dialed by the customer in step 801. If the elected service provider has advantageous facilities as determined in step 802, the call is connected to the terminating gateway 110 and then routed to the TCN 111 for call completion in step 803. If the elected service provider does not have advantageous facilities, the call is routed directly to the TCN 111 for call completion via the default service provider network in step 804.
FIG. 9 is a diagram illustrating an exemplary set of CPE dialing rules that may be stored in the CPE 104, in accordance with one embodiment of the present invention. The CPE dialing rules are used by each CPE 104 in order to determine whether a given call should be routed through an elected service provider (e.g., the service provider that routes calls over IP backbone 102) or the user's default service provider (e.g., the standard PSTN network typically used by most callers to place telephone calls.) As shown in FIG. 9, in one embodiment, the tables shown in FIG. 9 can be programmed into the CPE 104 as part of the initial "set-up" call described above, in a manner that allows the user to select which calls will be routed through IP backbone 102 using the user's "elected" service provider and which calls will be placed through the user's normal default service provider. As will be understood by those skilled in the art, the tables shown in FIG. 9 may be updated periodically when a user connects to NOC 101, in order to vary which calls are
placed through the elected service provider and those that are placed through the default service provider. In addition, it will be understood by those skilled in the art, that the decision to program CPE 104 to route particular calls to either the elected or default service provider may be made by the user, or in alternative embodiments, by the operator ofNOC 101.
The embodiments described above are intended to provide a preferred embodiment of the present invention as currently contemplated by the applicant. It would be obvious to anyone of skill in the art based on the above-described examples that numerous modifications could be made to the described preferred embodiments. Accordingly, the embodiments described herein are merely exemplary in nature and are not intended to represent every possible embodiment of the present invention.