TELECOMMUNICATION SYSTEM FOR SERVICE PROVIDER SELECTION ACCORDING TO SUBSCRIBER PREFERENCES

Abstract: An Internet-accessible system allows a user to control routing of communicaiton service requests in a telecommunication system which routes requests using selected service providers. The system comprises a web site through which subscribers register their service provider preferences in a database. Service pricing plans are also stored in the database. Service requests routed to the system form an identified subscriber are then switched to the most appropriate service provider according to the registered preferences of the corresponding subscriber and service metrics for the selected service. The subscriber can also access service progress and billing information at the web site which includes user authentication features.

Description: TELECOMMUNICATION SYSTEM FOR SERVICE PROVIDER SELECTION ACCORDING TO SUBSCRIBER PREFERENCES FIELD OF INVENTION The present invention relates to an Internet-based system allowing a user to control routing of service requests in a telecommunication system. BACKGROUND In the telecommunications industry the ability to provide consumers (or users) with choices without overwhelming them is a desirable and attractive goal. Presently, there are multiple telecommunication service providers (or carriers), like AT&T, MCI, Sprint, etc., who provide consumers with a varied array of service plan choices for long distance or international calls. However, a feature common to all is that once a U.S. telephone service consumer elects a particular service provider, such as a primary interexchange carrier (PIC), then long distance traffic using 1+ dialing is automatically routed to the selected PIC. The consumer's location is tied to and linked with only the features, service cost, circuit availability, and quality provided by the particular telecommunication service provider. For example, if a consumer selects Sprint as the PIC for the consumer's circuit, then each long-distance call initiated using 1 + dialing from the consumer's telephone thereafter uses the Sprint network. In this case, the consumer is restricted to the services provided by Sprint including the price and quality of the call. In order to select a different carrier, the consumer must either change the PIC selection, or input an additional multi-digit access-code for a specific alternate carrier with each telephone call. The consumer must first know the carrier's access number, prior to initiating the call, assuming there was a reason to do so. The consumer in this scenario lacks the information and ability to instantaneously choose the most desirable and efficient carrier. A similar situation arises for direct-dialed international calls, using 011+ dialing, as each consumer must instruct the local telephone company which long distance company to use for such calls. In some cases, the selected PIC does not handle international calls, and the consumer must identify, select, and dial the access number for an alternate carrier, plus the international dialing codes. In other cases, such as where the services include mobile phones or Voice Over Broadband Internet Protocol (VOIP), no PIC is chosen at all, and the subscriber is responsible for properly directing each service request to a particular service provider. Where the word "carrier" is used herein, the equivalent characteristics of any type of telecommunication service provider can be substituted. Different service providers charge different prices, and these prices vary depending upon call destination, time and day of the week. Although a user can sign up with more than one carrier to allow a choice, each carrier provides the user with their unique access number, and so for a user to be signed up with several carriers is troublesome in that it is necessary to manage different accounts each with a different access code. It is also difficult for the user to quickly compare which carrier is most appropriate based upon cost, quality and reliability at a particular time. In summary, it is a very laborious task rife with inefficiency In order to change the selected PIC, consumers must go through a costly, laborious, and error-prone process. In doing so, the consumer can be confronted with making difficult decisions in that some features of a former carrier are attractive under certain circumstances, while a new carrier possesses features that are attractive in other circumstances. These parameters can include variations in price, quality of service, reliability, as well as other concerns. The consumer does not have the ability to instantaneously switch carriers depending upon predetermined criteria as they place their long-distance call. Even if a user chooses another service vendor for a particular call, the user must know and dial the corresponding multi-digit access code, and often an additional personal identification number (PIN), in addition to the ten or more digits of the destination. There have been several attempts to diminish these concerns by ananging telecommunications systems that provide information to consumers who can then select services accordingly. Other systems assist the users by simplifying the steps needed for accessing alternative carriers. For example, a user can configure an electronic telephone to "speed-dial" the access codes, or carry a self-contained pocket dialer for the purpose. However, solutions such as these operate without the benefit of any real-time cost and availability information from the carriers. They are also time-consuming and difficult to initialize, since the consumer must typically store the access number of each selectable carrier, in addition to the carrier-specific PIN issued to the subscriber, according the specific programming procedures for each telephone the consumer has. Furthermore, the subscriber must often open or maintain a service account with each desired carrier. One approach to reducing some of these problems is described in U.S. Pat. No. 4,791,665, in which a private branch exchange (PBX) serving a number of telephones can be configured to provide alternate inter-exchange carriers determined by pre-selection by the telephone user. When a long-distance call is originated by that user, the system can select a preferred carrier based upon the time of day, and the called number. The system then determines the access number, authentication number, and dialing format for the selected carrier, and outdials the necessary sequence to the selected carrier. This feature of a PBX is not available to the typical consumer who only has one or two telephone lines, and cannot afford the added equipment expense and maintenance. Furthermore, the system configuration may require expert advice in creating the necessary tables, including provisions for compatibility with dialing sequences and signal timing preferences established by each different carrier. Such systems are not suitable for most consumers. Similarly, U.S. Pat. No. 5,420,914 issued to Blumhardt discloses a system that receives carrier rate information, and automatically routes a subscriber's call according to the lowest rate at the time. However, the rate information can quickly become outdated, and there is no provision for registration or processing of consumer preferences according to other metrics, such as service quality. A long-distance service bureau is disclosed in U.S. Pat. No. 5,878,122 issued, to White. The service bureau systems continuously poll an Operations Support Systems (OSS) to obtain the latest rate information. A subscriber signs up with the service bureau, manually listing preferences for long-distance carriers, and any calling plans the subscriber has with the carriers (e.g., three cents per minute for U.S. mainland calls on weekends). The subscriber then receives viewable information on a specially provided telephone instrument, indicating the current rates for the selected services. The user can then press a corresponding button on the instrument to select a carrier when initiating a call, based upon evaluation of the latest price information available for the list of preferred carriers and then dial the destination. The apparatus then dials the appropriate codes to access the carrier and authenticate the user before forwarding the digits of the destination telephone number to the carrier. This system has the major disadvantage of requiring a special telephone device. The number of carriers that may be selected is limited to the number of physical selection buttons. It also leaves the subscriber to start over when the call is not completed for some reason. Furthermore, the subscriber is required to make independent billing and service arrangements with each carrier that might be selected, and each carrier will send a separate bill to the subscriber. Although the system can also be configured to provide automatic selection without further input from the user, it may still require subscription to each desired service. An automatic route selection (ARS) service of AT&T is described in U.S. Pat. No. 4,866,763 issued to Cooper. A subscriber to the service uses an interactive computer terminal to configure an AT&T database of inter-exchange carriers, and time patterns in which to select a given carrier. Additional parameters capture a user's preference in selecting alternative carriers when the first or second choices are not available. The specialized AT&T switching interfaces then interpret the database when the subscriber initiates a long-distance call, factors in the present time and date, and routes the call according to the preferences and the availability of the preferred services. A major disadvantage of this system is that it can only create a proprietary switching signal for use by an AT&T switch for connecting a user's call to the appropriate switching center. Furthermore, it requires that a user have a data interface to the AT&T access switch corresponding to the user's physical location. This feature severely restricts the system flexibility, and would prevent its use by a consumer having a non-AT&T access switch. It also fails to provide any accommodation for peripatetic subscribers who may wish to view or changes their accounts from different locations. In addition to the disadvantages mentioned above, none of the existing solutions offer a user-friendly interface for subscribing, for setting up a preference configuration, monitoring use, or for obtaining billing reports. Specialized computer terminal or telephone equipment can be expensive, and defeats much of the user savings if they can only be used from one originating telephone number. The existing industry does not provide any means for a user to obtain real-time billing information while a call is in progress. Service changes from one carrier to another require human intervention, which subjects each transaction to delays, and human errors, not to mention expense. SUMMARY OF INVENTION The present invention provides a new and useful Internet-accessible system whereby a user can route long-distance telephone calls (as well as facsimiles, cables, any form of communication on any medium) through different telecommunication service providers. A subscriber to a service bureau is provided with an Internet web address by which to securely access and configure particular carrier preferences and to select other service options. The subscriber makes a one-time selection of the service bureau as the primary interexchange carrier, and the subscriber's long-distance calls are subsequently routed according to the configured preference entries and the current information about the selected service providers. The subscriber's configuration information can be changed via the web at any time, including the services to be used, their respective level of preference, and whether Least Cost Routing is to be used. Furthermore, if the preferred telecommunication service provider is not available to handle the call, the system automatically attempts connection via the next most preferred service provider. Subscribers may also configure the system to select a service provider based upon the destination location being served. Online access to usage information and subscriber billing records is also provided. According to the present invention, a subscriber logs onto the system's web page interface and interacts with the system using standardized web browser software to fill in registration forms online. The subscriber's information is stored in a database for later use. Information includes an account number, billing address, a list of telephones associated with the account, a list of service providers in order of preference, a selection for using Least Cost Routing (LCR), destination preferred carriers, type of service (business or home), method of payment, and passwords to be used. Additional subscriber-oriented information can be entered by system administrators with respect to credit limits and billing status. A secure Internet protocol is provided for privacy of information exchanged between the subscriber and the system during configuration sessions. Other information is gathered by the system operators, or provided from various telecommunication service providers by way of their own web-server interfaces, and stored in the system database. System information about providers includes the name, routing class, circuit type, circuit location, and access codes. Carrier-provided information includes pricing plans for the destination locations served. From this information the system can automatically build and maintain tables that list service providers serving a destination in order of decreasing cost at any particular time. Once a subscriber has been administratively approved for access to the system, the subscriber's long-distance telephone calls are routed according to the user-defined preferences, and bills are generated by the system. When a user initiates a call, the Caller Local Identification/Automatic Number Identification (CLI/ANI) information and the destination telephone number is provided to the system. The CLI/ANI is used for determination of the proper user account in the system database. The account information is then accessed, a route selection is made according to the user's preferences, and the call is routed to the selected service provider using a switch under control of the system control server. The service provider then handles the call to the destination. When the call is completed, or periodically during each call, billing records are accumulated in the system database. The subscriber may access an account via the web server and monitor the cost of a call in progress or view the costs of recently completed calls. As noted above, the data transmission network for access to the web server (and to the database) can be the Internet. An alternative embodiments of the invention might use another network, such as a proprietary network like America Online, or a virtual private network, or a wireless network. One of the major features of the invention is that users subscribe to a single service which handles routing of all of the user's telecommunication service requests (such as long-distance calls) to an appropriate service provider according to the user's preferences. Unlike the conventional system in which the user must request and pay for a change in the primary interexchange carrier, the invention permits the user to quickly select another preferred carrier using a web-page dialog via the worldwide Internet. Rather than having to wait for the request to be processed by conventional means through various offices of the old carrier and the new carrier, the system according to the invention simply routes the very next long-distance call from the user's telephone according to the newly selected service providers. These features are all provided by the new method and apparatus without requiring the user to install and maintain its own PBX or other specialized or sophisticated telecommunication equipment. As a related advantage, the capabilities of the invention alleviate the requirement for a user to recall and to dial a carrier-specific access code for each desired carrier. The method and apparatus either connects directly to a service provider or performs the out- dialing, as necessary, on behalf of the user. This saves the user from having to know or dial extra digits for a long-distance call, or to initiate other connections that may require advantages of a specific service provider. The system also has the necessary security mechanisms to identify the account of a user based upon a unique CLI/ANI and password, and automatically authenticate the identity of the user for online account access. The CLI/ANI established by the subscriber in the account information is automatically used by the system for accessing the user's preferences, and for billing tabulation purposes, thus relieving the user of having to enter a PIN when selecting an alternate carrier. A further advantage of the invention is that it provides the new capability to automatically route a call to one of several service providers, according to user-specified rules such as the least cost among the listed preferences, or simply the first preferred carrier having a circuit available. Similarly, the invention can route a call to one of several alternate service providers preferred by the user, if there are no circuits or service connections available from the first choice. Furthermore, the method and apparatus of the invention can be configured to continue through the user-specified list of service providers, in order of increasing cost, until it finds an available service. Unlike the conventional carrier-selection means, the invention also permits least-cost service provider selection based upon real-time pricing data, without requiring the user to evaluate and select among various fluctuating plans. Yet another feature of the invention is that it can be configured for compatibility with many vendors of carrier services and other telecommunication service providers, rather than being tied to a single vendor who may offer selection among its own limited service plans. Unlike conventional solutions, the inventive system provides a single user interface, i.e., a web-site, for subscription to the service, registration of preferences, selection of routing rules, changing of user identification codes, and viewing of billing information. Similarly, the system provides features for real-time monitoring of which carrier has been selected, as well as the long-distance usage and charges for a call in progress. The system can also be configured to terminate a call when an account is depleted. The system can also be configured to play voice messages or otherwise signal the user under various selectable conditions such as failure to find a circuit available, or the user account being exhausted. BRIEF DESCRIPTION OF THE FIGURES These and other features of the present invention will be better understood in view of the following detailed description taken in conjunction with the drawings, in which: Fig. 1 shows a telecommunications apparatus according to an illustrative embodiment of the invention; Fig. 2 shows a hardware configuration according to an illustrative embodiment; Fig. 3 shows the logic of user registration according to an illustrative embodiment of the invention; Fig. 4 shows the logic of a first possible routing performed by the illustrative embodiment; Fig. 5 shows the logic of a second possible routing performed by the illustrative embodiment; and Fig. 6 shows the logical process of calculating the cost of a call. DETAILED DESCRIPTION The present invention provides a new and useful Internet-accessible system whereby a user can personally direct the routing of telephone calls (as well as facsimiles, cables, or virtually any form of communication on virtually any medium) through different telecommunication service provider companies. Users connect to the system via a web browser interface, identify themselves, and select their preferred service providers. Calls from the subscriber that are routed to the system are rerouted to a long-distance carrier (or other service provider) according to the information in the user's account records and current information regarding the selected carriers. The system according to the invention collects billing information and can send the subscriber an online invoice for services or arrange automatic credit card payments. Users can access the system using the web-browser interface, identify themselves, and access curcent or recent billing information for their accounts, or view and modify their preferences and other account information. In an illustrative embodiment, shown in Fig. 1 , the system 100 according to the invention is comprised of a web server 101 for providing an interface dialog with users 103 or carriers 104 across the Internet 105, accessed via a gateway 106, a database 107 for storing user, service provider and accounting information, a control server 108, a circuit interface 109 for connecting incoming circuits 110 to the system, and a circuit switch 113 for routing calls to a selected telecommunication service 1 15 or to an IVR 117. Telecom services 115 include long-distance carriers, international carriers, Voice- Over-IP services, satellite networks, virtual private networks, fiber-optic networks, virtual private networks, or other communication services for connecting user devices to each other. User devices 119 are connected via CO 121 to the switch 113. User devices 119 include telephones, cellular phones, telecopy (facsimile) machines, personal computers, and similar consumer devices having a telecommunications interface. The various components are connected via LAN 11 1, and can be provided with multiple redundant interconnections, backup power, and hot standby units, as determined by the application. In addition, a completely redundant system can be constructed and operated in a separate location, provided the necessary system information is replicated, and the external telephone switching centers can accommodate routing of calls to and from the alternative system location. A subscriber to a service bureau using the system 100 according to the present invention is provided with an Internet web address by which to securely access and configure individual account information and service provider preferences on the web server 101 and to select other service options or to view billing information. The system components of Fig. 1 , and shown in another illustrative embodiment in Fig. 2, can be connected to each other remotely. However, they are illustrated as being connected in a Local Area Network (LAN) configuration using Ethernet switches, or hubs 30A and 30B, as are well known in the art. In an illustrative embodiment, the system components communicate with each other via the LAN using standardized protocols, such as the connectionless Internet standard User Datagram Protocol (UDP). As described in detail below, the other hardware components of Fig. 2, and their corresponding software programs and configurations, control the switch to function in accordance with the invention. The switch 2 is a conventional telecom switch, such as a proprietary Harris switch, as can be found in the Intellicom LX product series, or another switch having equivalent functions. This switch 2 includes a CPU and various telecom interface circuit cards which are adapted to be connected to the various other local and remote components of the system, and to the telephone company circuits. The switch console 20 allows an engineer to monitor and adjust the performance of the switch 2 and extract various data relating to carried calls and other operational information. Where telecommunication services other than telephone connections are to be handled, an appropriate switching technology is added to or substituted for the telecom switch, as necessary for connecting users to the selected telecom service providers. Connections between the telephone circuit interface in a switch 2 and the telephone company's Central Office (CO) 4 and interexchange carrier points of presence (POPs) 6, 8 are typically implemented using digi il circuits such as T-l or ISDN, according to their corresponding U.S. and internati< lal standards. External telephone system connections to the system may also be imp ÷πnented using other technologies, such as fiber optics, according to the local availabil y of such service and the telecom interface cards available in the switch itself or availab z remote interfaces. The subscriber (member, user) can make an eternal (offline) request for a onetime selection of the service bureau as the primary in rexchange carrier (PIC) associated with the subscriber's local circuit, and the subscriber's long-distance calls will then be subsequently routed to the system's incoming telephone interface 109. The user's calls are then routed by the control server 108 according to the configured preference entries in the database 107. Alternatively, a subscriber can have a different PIC, but use an access code (such as 1010+code) or a direct telephone number to access the system. In an illustrative embodiment, the switch 2 is controlled using a programmable control server 108 such as an HIL server 14 (using Host Interface Links features), which runs the software implemented according to the invention. A general purpose server can be adapted for the purpose of implementing the system control software and connecting it to a LAN as part of the system. The system LAN is further connected to the Internet 105 via a gateway 106 comprising a security firewall system 32 and an Internet router 34 for direct Internet access. The conventional firewall system 32, such as Checkpoint Firewall, from Checkpoint Software Technologies, of Redwood City, CA, prevents unauthorized access to the system components from the Internet, and creates an audit log of selected security transactions, among other standard features of such components. The Internet router 34 has a high-speed connection to and from the firewall 32, and at least one high-speed connection to another node of the Internet 36. For enhanced traffic performance and availability, multiple Internet connections are typical. Supplemental firewalls and routers can be added to the system for redundancy or when traffic load requires additional throughput between the switch 2 and the Internet 36. The relevant portion of the Internet is known as the worldwide web (WWW), using primarily the Hypertext Transport Protocol (HTTP). The router 34 can also be connected to additional networks services such as a broadband network, or Wireless Application Protocol (WAP) network, in addition to or instead of the Internet connections. Members, system administrators, or telecommunication system administrators can then access the system 100 by way of any of those alternative services. The system LAN connections also include at least one web server 38 which performs user-interface functions via a conventional web page interface accessed by users via the gateway. The web server offers its own user authentication features. Users access the online server 38, in the usual manner of accessing web pages on similar web servers, using their own browser software from their home or office personal computers. In the case of a WAP user, an appropriate WAP site is implemented in addition to or instead of a website on the server 38, or on another similar portion of the system. In either case, for descriptive convenience herein, these WAP features will also be referred to as web site and web server. Before a new visitor to the web site is allowed to use the routing features of the system, the visitor (user) must complete a registration procedure, which is carried out online. As indicated in Fig. 3, the user connects to an Internet web site (step 350) and completes a series of registration forms in interaction with the web site. User inputs are collected (step 352) as well as other information necessary for system operations, as contemplated by one skilled in the art. This information from the online interactive registration forms is uploaded via the Internet (e.g., via the router, firewall and intelligent hub to the web server) and is installed in the user database server 12 (step 354). The RAID storage array 24 provides additional storage capability for the database server 12. The database server 12 carries a database of the user information which is required by the system. In an illustrative embodiment the database is implemented using a combination of an Oracle database and an Informix database. Other types of databases can be implemented in a similar fashion to achieve the same results necessary to support the operation of the system. The information obtained during user registration is stored in the database for later operational and billing use. A new subscriber registers as a member, with a single corresponding account. A home-based user will often have a single account whereas business users may desire multiple accounts. Information in the database includes member and account numbers, with a respective billing name and address, a list of subscriber telephone numbers associated with the account, a list of service providers in order of preference (comprising a basket of carriers), a call routing selection, type of service (business or home), method of payment (bank or credit card information), and passwords to be used. The user can select one of at least two call routing options: least cost routing, "LCR", (which selects the least expensive of the favorite telephone carriers, taking into account the destination and day and time at which the call is being initiated), or to specify two or more service providers so that these service providers are used in the order of preference of the user, regardless of their current price for the call. The two options can also be mixed, so that, for example, the user can choose the LCR to specific one or more countries or other destinations, and to use two different service providers irrespective of their price for one or more other selected destinations. For system implementations that incorporate features for connecting users via telecommunications services other than long-distance telephones, the user selection information necessarily includes corresponding service provider selections and preferences. Once a visitor to the web site has successfully registered as a member, the member may later access the web server using the unique telephone number and password to gain access to account or billing information in the system database. As the user logs on to the web site the user's identity is established. This identity establishment can also be accomplished by an automatic process carried out by the user's own computer (i.e., the web browser software, or a script), or by the user manually entering information to identify himself, such as the CLI/ANI and a password. In an illustrative embodiment, the system is adapted to solicit or accept other member information such as the member's Email address (e.g., for billing or notification purposes), contact person and telephone number, fax number, and a unique identification code such as a passport ID number. An existing member can also register additional accounts, each account having a different telephone number (Caller's Local Identification/Automatic Number Identifier, CLI/ANI), account name, a payment method, contact Email address, and an individual password. The CLI/ANI input for an account is required to be unique within the system database because the CLI/ANI aniving in the signal from the CO is used as a key to access the account records for that account. In the illustrative embodiment at least ten different accounts can be created for each member. Other user-specific information conveyed to the system during connection initiation can also be used as the key for access to the appropriate account information, as where a user's device automatically forwards an electronic serial number or other identification to the system. Alternatively, the user may trigger an identification/authentication manually, or supply manual codes to the system (e.g., DTMF tones, or other proprietary in-band signaling means determined by the particular type of user device). Additional subscriber-oriented information in the database can be entered by system administrators using local terminals or via the web server interface. The administrator logs in 360, and may enter user-specific information such as credit limits, monthly fees, discounts, credit checks, service commencement date, and billing status. During an initial registration process, information from the prospective member is compiled into a service contract and Emailed or faxed to the customer for review and signature. When the customer responds (e.g., by fax or paper mail), the system administrators can update the account information with any necessary corrections, and indicate that a signed contract has been received. Information regarding the telecommunication service providers such as longdistance carriers and their respective offerings is gathered by the system operators or otherwise obtained from various carriers and stored in the system database. The carriers can be provided with a preferred format for supplying information, which can be Emailed via the Internet or other network, or the carrier administrators may access 356 the database using the web server interface, and input or modify plan information 358. It is not necessary that the subscriber database and the carrier database be located on the same machine. In the illustrative embodiment, an Informix database is used for storing most information related to carriers. System information about carriers includes the name, routing class, circuit type, line status, and control information for switching a call to a circuit connected to a carrier facility. Other carrier-provided information concerns the destination locations serviced and pricing plans. Each pricing plan record is tied to a carrier and typically includes a plan number, description, effectivity and expiration dates, and details of time periods during which various rates apply for a specified distance or for a given destination (e.g., 10 cents per minute, to Canada, between 6 PM and 8 AM local time). From this information the system can build tables that list service providers serving a destination in order of decreasing cost. The service provider's price information may be supplied in the form of an Excel file and input on a daily basis to the server 12. As is known in the art, the system could also poll the Operations Support Systems (OSS) of each interexchange carrier (IXC) to obtain the latest rate information plans for their respective service areas. Other information relating to call (or "connection") transactions is also automatically stored into the database by the control server. Since billing and quality measures are derived from this information, a large amount of detail is collected. Call transaction fields in the database include, for each call, a transaction ID, start and end time, answer time, talk time, circuit and trunk for input and output, account number, destination, type of routing, the pricing plan (or plans) used and their applicable limits, discount information, and the amount to be charged for the call. The system may also include records for an accounting-oriented ledger automatically fed by information regarding call transactions, invoices sent, credits, debits, etc. An IVR (interactive voice response or recognition) server 22 connected on the system LAN stores a variety of voice messages, configured by the system administrators. When necessary, in accord with the invention, a user's call may be connected to the IVR and an appropriate message passed to a user. Such a need arises in the event that the user is not a registered member, or has not paid the bill, or in the event that the call cannot be connected for some reason, or must be terminated. Other recordings are also envisaged in this invention, as may be bound helpful to users during various system operations. Other features of the voice response-recognition system can also be used according to the needs of users and system operators. For example, an IVR could be programmed to solicit and interpret additional code numbers, or to offer other service alternatives to the members, or offer to connect the user to a support center. The system can include an additional identical or similar control server, web server, database server, RAID array, and other components for purpose such as increased system availability, growth capacity, or load balancing. Information in the databases can be shared or partitioned according to the needs of system administration for a particular application of the present invention. Upon the user initiating a request for connection to a telecommunication service provider, such as a long-distance call, the CO (or a mobile switch) forwards information to the selected or default telecom service provider. The standard forwarding information signal, according to standards such as signaling system number 7 (SS7), for out-of-band signaling, contains the CLI/ANI, and the destination called number, as a minimum. Older or newer systems may have implemented similar features using in-band signaling or other equivalent means for conveying the same information to remote switching centers. A member may have all long-distance calls automatically or selectively routed to the system, as described above. The control server receives the data signal, and uses it for further call handling and billing records as described below. Fig. 4 shows on illustrative algorithm which can be used by a system according to the invention to select the telephone service provider using least cost routing (LCR). When an incoming call is routed to the system (step 201), telephone interface unit 109 interprets the signals to extract the CLI and destination information. The apparatus uses the CLI to access the member's account and recall the member's basket of preferred carriers (step 202). A price for the present call under each selected plan is calculated, and the least expensive of these at the particular time is located (step 203). Note that if there are no plans offering service to the required destination (step 204), the caller is connect to the IVR and a busy tone is played (step 205). Alternatively, there can be more than one carrier in the basket having equally low prices (e.g. to within a predefined tolerance). In this case (step 206), preset preferences of the user are used to identify the most preferred plan (207), and the capacity of the circuits available from the carrier is checked (step 208). If the necessary capacity exists, the call is routed (step 209) through the switch 2, to the circuit connected to the selected carrier. Alternatively, if the circuits to the POP are all busy, or the POP is not responding to new calls, the most preferred plan is bypassed (step 210), and the method returns to step 204. Unless one of the preferred carriers is available, all of the identified plans will be eventually bypassed (step 205), and a busy tone is played to the user (i.e., by the IVR). Fig. 5 shows an alternative algorithm, including additional routing selection features of the invention. Again, in step 301 a call is received by the apparatus of the invention. The CLI is checked at 303, to ensure that the user is actually registered. If not, there is a recorded message and the call is cut (step 304). Otherwise, the current balance for that user is checked (step 305) to ensure that there is enough remaining credit to make a call (otherwise a message is played, and the call is cut off). If the user has chosen to use LCR, which is checked in step 306, the least expensive carrier (for the particular destination and call initiation time) in the basket is found (step 307). If the selected least expensive carrier has capacity (step 308), the call is routed through it (step 309). Otherwise, the remaining carriers in the user-specified basket are checked for capacity in turn, in order of increasing price in the loop of steps 313, 314. If none of the carriers have capacity, an apology message is played (step 315) and the call is cut (316). Otherwise, step 309 is reached with the least expensive carrier in the basket which is capable of carrying the call. Alternatively, if LCR is not enabled, the user's two (or more) pre-selected carriers are checked in a user-specified priority order for capacity (steps 317, 318). If none of the specified carriers has capacity, an apology is played (step 319) and the call cut (step 320). Otherwise, call is routed (step 309) using the more preferred of the listed carriers. As mentioned earlier, the LCR and selected carrier preferences can also be combined according to a member's preferences. For example, the user can choose the LCR for calls made to one or more defined countries, and use two different service providers irrespective of their price for calls made one or more other selected countries. When a call is terminated, or periodically during a call that is being monitored by the member, the system control server automatically generates the call detail recording (CDR) information described above. As shown in Fig. 6, each routed call is issued a sequence number 601 for billing. When a cost calculation is to be made, the CDR for the sequence number is obtained 602 from the database, along with the corresponding rates in use for the call. A cost for the fixed rate portion of a call 603 under a fixed rate plan is calculated. If the call duration exceeded the fixed rate period 604, then another calculation is performed for the cost of the portion of the call during a bonus period 607. In some cases, different portions of a call may qualify for different rates. If this is true 607, then additional calculations are performed according to those rates 609. The costs from each segment of a call are then totaled 611 and the amount is stored in the accounting portion of the system database. The call accounting information can then be used to generate invoices, reconcile carrier charges, and for other purposes such as compiling usage statistics. The system implemented according to the invention also supports real-time monitoring of billing information during a call. The member can optionally log on, or have already logged on, to the web server. Here the member can view details of all the calls made in the last 24 hours (held in a temporary database) including start and finish time, destination and cost. The database server receives the call details. The web server checks whether the user is logged onto the site, and if so delivers the call accounting data to the web server for real-time monitoring purposes. The user can then view the cost of the present call as well as recent call accounting information for the user's account. In an illustrative embodiment, different display colors are used to visually distinguish the display of present call information from the historical data. The call accounting system can be used to automatically generate regular bills sent by Email to the member. Even though the member can be using various different service providers, and even though the member can be using more than one registered telephone number, the member receives only a single monthly bill from the system administrator. Alternatively, the call accounting information can be stored on or transferred to another system adapted for the purpose of creating and managing bills. It should be appreciated that selection among service providers can be based on criteria other than price and availability (i.e. circuit capacity), such as considerations of the quality and reliability of available services, including service cutoffs, signal clarity, or noise and echo cancellation. Although an illustrative embodiment has been described in which the invention is applied to the automatic selection of long-distance or international telephone carriers, it should be appreciated that the invention can be applied equally to other types of telecommunication services such as: voice over Internet protocol (VOIP), Switched Megabit Data Service (SMDS), Hybrid Fiber Cabling (HFC), private networks, or other point and multipoint communication services. The switching interfaces can be modified according to the respective communication technologies. Similarly, although the web interface has been described in an illustrative embodiment, it should be appreciated that other types of communication networks and protocols can be adopted for administrative interactions with a system according to the invention, without losing the equivalent functionality. Furthermore, although particular divisions of functions are provided among the various components identified, it should be appreciated that functions attributed to one device may be beneficially incorporated into a different or separate device. Similarly, the functional steps described herein may be modified with other suitable algorithms or processes that accomplish functions similar to those of the method and apparatus described. Although the invention is shown and described with respect to several illustrative embodiments thereof, it should be appreciated that the foregoing and various other changes, omissions, and additions in the form and detail thereof could be implemented without changing the underlying invention.

Claims: What is claimed is: 1. A telecommunication routing system for routing telephone calls among a plurality of telephone carrier companies, comprising: a data input for receiving a signal used to route a telephone call; a processor for processing said data input to detect a user identification corresponding to a user account; a memory storage device for storing carrier information about each of the plurality of said telephone carrier companies, and for storing user-specific information for each of a plurality of said user accounts; and a selection mechanism whereby one telephone carrier is selected for routing said telephone call according to said carrier information and said user-specific information. 2. The system of claim 1 further including an interactive network interface for obtaining at least some of said user-specific information from a user, and for associating said information with a corresponding one of said user accounts. 3. The system of claim 2 in which said interactive network interface comprises a web site or wireless application protocol site in communication with said memory storage device, wherein said processor identifies said user account inputs associated with said telephone call. 4. The system of claim 3 in which said website interacts with said user by way of remote communication protocols coupling a user's machine to the website. 5. The system of claim 2 in which said interactive network interface includes at least one security mechanism selected from the set of: a security protocol for providing transmission security of at least some of said user-specific information and a user-authentication mechanism for identification of said user prior to associating at least some of said information with said corresponding one of said user accounts. 6. The system of Claim 1, wherein said carrier information comprises financial information regarding the cost of making said telephone call using each of said plurality of said telephone carrier companies, and said financial information indicates corresponding cost information selected from the set of: type of plan, type of call, day of the week, time of day, called destination location, distance between a caller location and destination location, user-specific special rates, and promotional rates. 7. The system of Claim 6, wherein said carrier information further includes service availability information, and said selection mechanism operates to select one of said telephone carrier companies according to said carrier information, said signal, and said user-specific information such that a least expensive carrier having usable service availability is selected for completing said telephone call. 8. The system of claim 7 in which said user-specific information includes a list containing at least one preferred carrier company, and if said list contains a plurality of said companies, then said least expensive carrier is selected from said plurality of companies. 9. The system of claim 1 in which said user-specific information includes a telephone identification, account identification, a list of preferences among a plurality of carrier companies, and information selected from the set of membership information for calling plans of any of said companies, selected discount destinations, telephone location, and account status. 10. The system of claim 9 in which said received signal comprises a called number and a calling number whereby said calling number is used to identify a user and said user's corresponding user-specific information, and said processor selects a carrier according to said carrier information by selecting a least expensive carrier from said user- specific list. 11. The system of claim 10 in which said selection mechanism further determines whether a circuit is available from said least expensive carrier, and makes an alternate selection of a next least expensive carrier from said user-specific list if a circuit is not available from said least expensive carrier, and continues to select another next least expensive carrier from said user-specific list until an available circuit to said selected carrier is available, and if none of said carriers on said user-specific list has a circuit available, then signaling a caller that no circuit is available. 12. The system of claim 1 in which said user-information includes a selection of a primary and a secondary preference for a carrier company, and said selection mechanism interprets said signal to identify a user and selects said primary preference corresponding to said identified user, unless said primary preference has no circuit capacity, in which case said mechanism selects said secondary preference, unless said secondary preference has no circuit capacity in which case said mechanism connects a caller to a signal indicating that no circuit is available. 13. The system of claim 1 in which said selection mechanism further includes a means for signaling a caller that said user-information corresponding to said caller's telephone number indicates an account balance below a predetermined threshold, and a means for disconnecting a call in progress when said account balance reaches said predetermined threshold. 14. A method for routing telephone calls among a plurality of telephone carrier companies prefened by a user, comprising: receiving a user signal to route a telephone call; processing said user signal; storing in a memory storage device carrier selection information about each of the plurality of said telephone carrier companies, and user-specific information for each of a plurality of user account inputs; and selecting a telephone carrier according to said user signal, using said user-specific information, whereby the processor selects one of said telephone carrier companies using said carrier selection information, thereby routing said telephone call via said selected telephone carrier company. 15. The method of claim 14 in which said step of storing carrier selection information further comprises the steps of: communicating with a user via a website that is in communication with said memory storage device, wherein said processor identifies a user account input associated with said user signal. 16. The method of claim 14 in which said step of selecting a telephone carrier further comprises the steps of: identifying a user account corresponding to a user identifiable from said user signal; accessing user-specific information from said identified user account regarding a telephone carrier preference of said user; processing said carrier selection information for each said telephone carrier preference of said user to select one of said telephone carriers according to said user preference; and then routing said telephone call to the selected carrier. 17. The method of claim 14 in which said step of selecting further comprises the step of: identifying a user account corresponding to said user signal; (a) processing a list of preferred telephone carriers in said user-specific information to determine which of said preferred telephone carriers has the lowest cost, according to said carrier selection information; (b) determining if a circuit is available to said lowest cost preferred telephone carrier, (c) if a circuit is available, then routing said telephone call to said carrier; (d) if a circuit is not available, then repeating steps (a) through (c) until said telephone call is routed to a carrier or said list is exhausted; and (e) if said telephone call is not routed and said list is exhausted, then signaling said user that a preferred carrier is not available. 18. A method for a user to remotely monitor the progress of a telephone call comprising the steps of: receiving data about a telephone call in progress; receiving an interrogation signal by said user when the telephone call is in progress, said intenogation signal containing an indication of a user's identity; identifying said user by comparing the user's identity to information in a user- specific record related to the telephone call; and transmitting to said identified user at least some of the data about the telephone call, whereby said identified user can monitor the progress of the telephone call. 19. The method of claim 18 in which said step of transmitting further comprises the steps of: communicating said data to said identified user via an Internet website with a data transmission network. 20. The method of claim 18 in which said data includes an indication of an amount to be charged for the telephone call accumulated from initiation of the telephone call to the present billing interval. 21. A telecommunication routing system for routing communication service requests among a plurality of telecommunication service providers, comprising: a data input for receiving a signal used to route a service request; a processor for processing said data input to detect a user identification corresponding to a user account; a memory storage device for storing service information about each of the plurality of said telecommunication service providers, and for storing user-specific information for each of a plurality of said user accounts; and a selection mechanism whereby one telecommunication service provider is selected for servicing said service request according to said service information and said user-specific information. 22. The system of claim 21 further including an interactive network interface for obtaining at least some of said user-specific information from a user, and for associating said information with a corresponding one of said user accounts. 23. The system of Claim 21, wherein said service information comprises information regarding the cost of using each of said plurality of said telecommunication service providers, and corresponding selection information selected from the set of: type of service, type of plan, day of the week, time of day, service destination location, distance between a user location and destination location, user-specific special rates, and promotional rates. 24. The system of claim 21 in which said user-specific information includes a list containing at least one preferred service provider or a selection preference indicator, and said selection mechanism selects a service provider according to said list and selection preference information for each corcesponding service provider. 25. A method of selecting a telecom service provider according to an online record of a user's preferences comprising: advertising telecom services from a plurality of telecom service providers; under control of an online server, collecting service preference information and a subscriber identification from at least some users; screening requests for telecom service to identify requests from any subscriber corresponding to said collected subscriber identifications; retrieving the service preference information corresponding to said subscriber identification in said identified request; and under control of said online server, selecting one of said plurality of telecom service providers for handling of said service request according to the retrieved service preference information; whereby a user has online control of the selection from among services offered by more than one telecom service provider for handling each new request for service. 26. The method of claim 25 wherein one of said telecom service providers is selected by said online server according to information about the cost and availability of at least some of said plurality of telecom services for which said user has indicated a preference. 27. The method of claim 25 wherein said request for service has a caller local identification associated with it forming a portion of said subscriber identification. 28. The method of claim 25 wherein collection of a user's service preference information is accomplished through communication means selected from the set of: the Internet, and a public communications network. 29. The method of claim 25 wherein said service provider selection is made by said online server according to a user-selectable choice combination comprising at least one of: the least expensive service preference identified by said registered user, the order in which services are listed for selection by the user, a destination identifiable from the service request, and user-specific discounts. 30. The method of claim 25 including selecting a service provider according to current cost information and current availability of at least some of said service preferences specified by the user. 31. The method of claim 25 including collecting service provision information for at least a portion of the duration of servicing said service request and communicating said service provision information to the registered user. 32. The method of claim 31 wherein said service provision information is communicated to said registered user by way of an online server connected to a public communication network; whereby a registered user may monitor the service provision information via communication with said online server while said service request is being serviced. 33. The method of claim 25 in which said service preference information is collected by means of a client interface to said online server, whereby a user identifies from among a plurality of telecom service providers by clicking on an advertisement identifying one of said providers and then indicating a corresponding order of preference among all such identified providers.

Inventors: BULAWA DERRICK FRANCIS, FRASER JEFFREY BRUCE, WELLS ROBBIN WRIGHT, BULAWA, DERRICK, FRANCIS, FRASER, JEFFREY, BRUCE, WELLS, ROBBIN, WRIGHT
Applicants: CYBERMAN LTD, CYBERMAN, LTD.
Application year: 2001
Main classification: H04L
IPC codes: H04L29, H04M15, H04Q3