CA2227569A1 - Telecommunications call management system - Google Patents

Telecommunications call management system Download PDF

Info

Publication number
CA2227569A1
CA2227569A1 CA002227569A CA2227569A CA2227569A1 CA 2227569 A1 CA2227569 A1 CA 2227569A1 CA 002227569 A CA002227569 A CA 002227569A CA 2227569 A CA2227569 A CA 2227569A CA 2227569 A1 CA2227569 A1 CA 2227569A1
Authority
CA
Canada
Prior art keywords
call
coupled
processor
database
telephone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002227569A
Other languages
French (fr)
Inventor
Itzhak Wulkan
Gideon Barak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Call Manage Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/505,024 external-priority patent/US5764741A/en
Application filed by Individual filed Critical Individual
Publication of CA2227569A1 publication Critical patent/CA2227569A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/28Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal
    • H04M15/30Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal the meter or calculation of charges not being controlled from an exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/28Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP with meter at substation or with calculation of charges at terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8044Least cost routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management
    • H04Q3/0075Fault management techniques
    • H04Q3/0079Fault management techniques involving restoration of networks, e.g. disaster recovery, self-healing networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/01Details of billing arrangements
    • H04M2215/0176Billing arrangements using internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/42Least cost routing, i.e. provision for selecting the lowest cost tariff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/74Rating aspects, e.g. rating parameters or tariff determination apects
    • H04M2215/745Least cost routing, e.g. Automatic or manual, call by call or by preselection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/92Autonomous calculations of charges in terminal, i.e. meter not controlled from exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13106Microprocessor, CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1313Metering, billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13138Least cost routing, LCR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13199Modem, modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1322PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13405Dual frequency signaling, DTMF
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13504Indexing scheme relating to selecting arrangements in general and for multiplex systems client/server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13533Indexing scheme relating to selecting arrangements in general and for multiplex systems multivendor and hybrid, e.g. public/private, networks, inc. international
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13534Internet - WWW, HTML, browsers etc.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13541Indexing scheme relating to selecting arrangements in general and for multiplex systems routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13547Indexing scheme relating to selecting arrangements in general and for multiplex systems subscriber, e.g. profile, database, database access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Meter Arrangements (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A call management system is disclosed for choosing the optimum carrier for calls made by a user. The system can interface with an existing PBX or can be used with ordinary analog or ISDN telephone lines. In a preferred embodiment, the call management system includes a data server, a local computer and one or more line units. The data server holds geographically based tariff data of service providers and transmits the tariff data to the local computer via a communications link. The local computer maintains a communications link with each line unit. In one embodiment, the line unit intercepts the dialed digits and transmits them to the local client computer. The local client computer determines an optimum route for the call based on various parameters and transmits the complete dialing string back to the line unit which does the actual dialing of the digits. The local computer also includes a carrier performance monitoring unit and call accounting unit. The client database is updated on a periodic basis via, for example, electronic mail or FTP over the Internet. The tariff database in the local computer is updated on a periodic basis via, for example, electronic mail or FTP over the Internet.

Description

CA 02227~69 1998-01-21 W O 97/05749 PCT~L~6J'~~5 TELECOMMUNICATIONS CALL MANAGEMENT SYSTEM

FIELD OF THE INVENTION
The present invention relates to teleco~ ications and more specifically, to a call ~ S management system for providing least cost routing, associated call accounting and carrier performance monitoring for telephone systems that are connected to analog telephone lines or trunk lines.

BACKGROUND OF THE INVENTION
The United States is divided into a plurality of contiguous, non-overlapping exchanges, referred to as Local Access Transport Areas (LATAs), each of which is served by a local telephone company. Telephone calls oripin~ting and terrnin~ting within the same exchange, referred to as intraLATA calls, are handled end-to-end by a local, intraLATA, telephone company referred to as the Local Exchange Carrier (LEC). Calls ori~in~ting within one exchange or in a state or foreign country and terrnin~tinp in a different exchange, potentially in a different state or foreign country, referred to as inter-exchange calls, are handled at each end by the intraLATA col"~ ,y or LEC that services the origin~ting and the termin~ting exchanges. These inter-exchange calls are carried between the intraLATA companies by one or more inter-exchange carriers, known as long distance carriers.
A caller who wishes to select an inter-ç~ch~npe carrier other than the default primary inter-exchange carrier (PIC) must dial special access codes that are ~si~n~l to each inter-exchange carrier and once connected, must sometimes also dial a personal identification code and the number of the called party to have the call completed. With the proliferation of inter-exchange carriers, carrier selection is often difficult for a telephone communication system user. The user may be l~llaW~ of which inter-~ch~nge carrier, available in his/her area, is the most economical for a particular time of day, which inter-exchange carrier serves the user's telephone communication system or what access codes ~ are ~p~o~!.iate for the particular inter-exch~n~e carriers available to the user's telephone communication system.

CA 02227~69 1998-01-21 W O 97/05749 PCT~L9G~ 5 During the last few years, the competition b~Lweell telephone colll~anies (also known as operating companies, service providers or carriers) for the telephone subscriber business has increased m~rke~lly. This competition is most evident in the multiplicity of tariffs from each carrier, which vary not only between destinations but also according to S the nature of the contract signed between the subscriber and the telephone co~ y, the time of day, the length of call and other numerous parameters. In addition, colllp~lilion exists between intra-~ch~nge service providers.
Though this competition gives the customer an opportunity for saving money, the customer rarely fully benefits because of the complexity and the variety of existing tariffs.
10 For example, tariffs may vary due to the time of day, on weekends, holidays, according to the call destin~tion, distance, method of payment and any time limited promotions. The situation may be further complicated by special limited discounts or other incentives offered by the telephone companies, the entry of new telephone companies to new markets and the grade of service requested (i.e." voice quality, connection delays and first time 15 connection establishment success).
The entry of new money saving services, such as Fax Store and Forward and call-back services, the availability of alternate services offered by private net~,vorks using their own PBX and the usage of corporate networks are additional factors affecting the cost of the call. Consequently, the customer has to contend with a huge amount of information in 20 order to determine how to make the least expensive telephone call. Because of the complexity of the charging schemes, a cost optimization on a per call basis is nearly impossible for a subscriber to perform by th~m~elves~
Call management systems are applications suitable not just for large b--cinPc~eswith high call volumes but are also suitable for small office/home office (SOHO) as well.
25 The bewildering array of service providers available and the existence of a complicated tariff structure combine to create a need for a system to manage the placement of telephone calls for SOHO applications.
U.S. Patent No. 4,791,665 to Bogart et al. describes a telephone communication system (PBX) with the capability of automatically selecting one of a plurality of inter-30 e~rh~nge carriers. The system includes a fl~t~h~e CO-.t~ g access code data associated with the inter-exchange carriers, user authorization codes and information about the various inter-exchange carrier billing rates based on time of day and ~estin~tion. The PBX

CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 scans the (l~t?h~ce and reroutes the origin~tin~ call to one of the other inter-exchange carriers having a cheaper tariff for the particular clestin~tion at the specific time of day.
The PBX sends out the inter-exchange carrier access code, the user's personal ~ identification code and the called party number dialed by the user to complete the call.
S U.S. Patent No. 5,425,084 to Brinskele describes a colllp.~ controlled telephone c~,llllllul.ication system which includes a plurality of digital switches each located in different charge zones. Each digital switch is coupled to a file server which dele..~
which of the digital switches to use in order to ensure the lowest possible cost for the call.
U.S. Patent No. 5,420,914 to Blumhardt describes a real time selection of one of a plurality of inter-exchange carriers which automatically selects the carrier having the least expensive toll at the time the call is made and reroutes the call accordingly. Blumhardt is used in conjunction with an advanced intelligent network (AIN) in a public switched telephone network (PSTN).
U.S. Patent No. 5,425,085, issued to Weinberger et al., teaches a device that interconnects with the telephone line coming from a first phone and routes telephone calls along a least cost route origin~ting from the first telephone to a second telephone via the network. A tl~t~b~ce stores billing rate parameters for determining various communications paths of different carriers based on parameters such as the time and date of the call.
U.S. Patent No. 5,519,769, issued to Weinberger et al., teaches a system for updating a database which stores billing rate pararneters for call rating devices associated with a calling station. At predetermined times the calling station calls a rate provider which provides billing rate data p~cullcters for a plurality of calling statiorls.
U.S. Patent No. 5,473,630, issued to Penzias et al., teaches a method of ~cceccing long distance rate information available in a database provided by inter-change carriers.
PBXs and telephone central offices access that rate information using ISDN and/or SS7 si~n~lin~ and use it as a basis for dettorrnining which carrier to use at any given time in the routing of a call.
In prior art call management systems, updating the tariff ~l~t~ee is very complicated since the interface to do so is cumbersome and a huge amount of complex data is involved. Therefore, the operators of the call management system rarely update their W O 97/05749 PCT~L96~

tariff fl~t~h~ees As a result, the routing decision taken may not n~cçee~r~ly be the o~Li~ ll route for the call, at that time.

CA 02227~69 1998-01-21 W O 97/05749 PCT~L~r'~-~

SUMMARY OF THE INVENTION
Accordingly, it is an object of the present invention to provide a call management system for performing call o~li"li~lion on a per call basis, providing subscribers with ~ reduced telephone utility charges.
Another object of the present invention is to provide a call management system for performing cost o~ ion on a per call basis that is l~ls~ nl to the subscriber and does not require the subscriber to have special know how or skills.
It is another object of the present invention to provide a call management system that monitors the quality and performance of the connections made by telecommunications 1 0 carriers.
Yet another object of the present invention is to provide a call management system that calculates the least cost route for a particular telephone call.
Another object of the present invention is to provide a call management system that m~int~inc call accounting on each call made through the system.
Yet another object of the present invention is to provide a tariff data server for monitoring and updating changes in telephone service provider tariffs and for downloading a ~l~t~b~ce of tariff data to the local computer.
Another object of the present invention is to provide a line unit capable of receiving an abridged version of the ~i~t~b~ce known as the carrier selection ~l~t~b~ce from the local computer.
It is another object of the present invention to provide a line unit capable of receiving an abridged version of the ~i~t~b~ce known as the carrier selection database from the data server.
Yet another object of the present invention is to provide a tariff data server, local computer and line unit that can be linked to a public access network, such as the Internet or a bulletin board system (BBS), in order to make tariff data available to subscribers.
Another object of the present invention is to provide a call management system for intercepting digits dialed from a subscriber's telephone set and calculating the optimum route for the call.
There is therefore provided, in accordance with a preferred embodiment of the present invention, a method of cletermining an optimum carrier from a group of carriers for CA 02227~69 1998-01-21 W O 97/05749 PCTnL~G~ CS~a telephone call dialed by a user, including the steps of interce~ g a string of dialing digits, representing the telephone call, dialed by the user, ~ e....i..;..g the o~Lilllulll carrier for the telephone call ~ltili7ing the dialing digits and placing the telephone call using the o~Lil~ carrier.
S In addition, the step of (1et~o-nnining an o~lilllulll carrier inclllcles the step of choosing a carrier based on the least cost route for the telephone call. The step of clet~rTnining an oplilllu-ll carrier the step of choosing a carrier within the group of carriers based on performance and quality of connections made by the carrier. The step ofdetermining an optimum carrier includes the step of choosing a carrier within the group of carriers based on the user's past calling history.
Also included, is the step of appending an ~ropl;ate access and/or authorizationcode to the dialing string. In addition, the method includes the step of updating ~propliate internal tables to take into account the telephone call dialed by the user.
There is also provided, in accordance ~vith a preferred embodirnent of the present invention, a call management system including at least one telephone dialing unit, at least one least cost router and a database updating unit. Each telephone dialing unit dials a telephone number to place a telephone call. Each least cost router has a corresponding routing tl~t~h~e of tariffs of telephone service providers and detenninec from information in its corresponding routing rl~t~b~e, which telephone service provider or providers to utilize to execute the telephone call. The d~t~h~ce updating unit electronically updates tariff information into each of the routing d~t~b~es shortly after up~l~te~l tariff information is entered therein.
Moreover, in accordance with a plcfcllcd embodiment of the present invention, the tl?~t~b5lce updating unit includes app~lus for directly connecting to the at least one least cost router. Alternatively, the d~t~h~e updating unit includes a~d~us for providing the np~ ted tariff inforrnation to a user who subsequently provides the updated tariff information to the least cost router.
Additionally, in accordance with a preferred embodiment of the present invention, the telephone service providers can be any of central switching offices, inter-exchange carriers, intra-exch~nge carriers, fax-store-and-forward providers, call-back providers and private o~ ional networks.

CA 02227~69 1998-01-21 WO 97/05749 PCT~L~G~~~C--~
Further, in accordance with a l,lefe,led embodiment of the present invention, the least cost router includes al~pdldLIls for generating call history information including date, time, length of a phone call, destin~tion phone nurnber, and service provider lltili7P~l The least cost router utilizes the call history information to determine whether or not a volume discount rate applies to the requested phone call or whether a volume ~o~ nt is to be met. It can also utilize the call history information to detennine statistics of phone calls and, from the statistics, to generate expected call duration estim~tes.
Still further, in accordance with a preferred embodiment of the present invention, the telephone dialing unit is formed as part of any one of the following: a Centrex (CTX), a private branch exchange (PBX), CO analog line, ISDN telephone, a cellular telephone and a personal computer.
There is also provided, in accordance ~vith a preferred embodiment of the present invention, a personal computer based telephone dialing system. The system includes a user interface unit, a dialing unit, and a least cost router. The user interface unit indicates a telephone number to be called which the dialing unit dials. The least cost router operates as described hereinabove. Preferably, the least cost router is upd~te~ by a ~l~t~b~se updating unit as described hereinabove.
There is further provided, in accordance with a preferred embodiment of the present invention, a least cost routing updating unit for updating a plurality of remote tariff ~l~t~k~ees storing therein tariffs of telephone service providers. The updating unit includes ~l~tzlh~ce apparatus for storing tariff information, a~aldLIls for receiving changes to the tariff information thereby to create ur~l~t~d tariff information and a~dld~lls for electronically updating tariff information into the plurality of remote tariff ~l~t~b~ces shortly after the updated tariff information is entered therein.
Additionally, in accordance with the ~,c;felled embodiment of the present invention, the apparatus for electronically updating includes a~,~dldllls for emulating the interface of a remote tariff database thereby to update the remote tariff tl~t~b~ee This can include appald~lls for directly connecting to the remote tariffdatabases and/or a~p~d~lls for providing the updated tariff information to a user who provides the updated tariff ~ 30 information to his remote tariffd~t~k~ee-There is thus provided in accordance with a preferred embodiment of the present invention a call management system for ~~termining an o~,Lilllulll route for a telephone call CA 02227~69 1998-01-21 WO 97/05749 PCT~L~ G5 made by a subscriber, the telephone call routed through one of N local exchange carriers coupled to the system via K telephone lines, each the local çxch~nge carrier coupled to one of M long distance carriers, the system which includes a tariff data server for m~n~ging a rl~t~b~ce co.~ E tariff related information on local and long distance carriers, local S ~xch~nEe, telephone exch~nE~e location related data and subscribers, a first communication link coupling the tariffdata server to a local client computer, the local client coll~uler fo~
m~int~ining a client database cont~inin~ tariff information relevant to the subscribers location, optional calling plans subscribed to or optional calling plans accessible from the subscribers location, the local client computer for determininE the optimum route, at least 10 one line unit coupled to a telephone set, the N local exchange carriers and the local client computer or at least a personal information manager (PIM) SW having dialing capability, the at least one line unit for inte.-;c;~li--g digits dialed by the subscriber, monitoring one of the K telephone lines, receiving a dialing string from the local client computercorresponding to the optimum route and transmitting the dialing string onto the one of the 15 K telephone lines, and a second communication link coupling the local client computer to the at least one line unit.
In addition, there the tariff data server includes a processor for controlling the operation of the tariff data server, a server ~i~t~h~ce interface coupled to the processor, the server database interface for fi~lfilling fl~t~h~ce requests issued by the processor, a server 20 database coupled to the server ~t~b~ce interface, the server cl~t~b~ce cont~inin~ tariff related information on local and long distance carriers, and a client communications module coupled to the processor and to the first communication link, the client communications module for m~n~Eing communications between the processor and the local client computer.
Moreover, the tariff data system includes a report generation system coupled to the processor, the report generation system for producing reports from data collected by the system both automatically and m~nl-~lly, and a subscriber interface coupled to the processor, the subscriber interface for m~n~EinE the collection and maintenance of subscriber supplied data.
Also, the server rl~tab~ce includes an optional calling plan tl~t~h~se coupled to the server database interface, a distanceAocal ~xch~nEe ~l~t~h~ce coupled to the server database int~rf~-~e, a carrier access ~l~t~b~ce coupled to the server d~t~h~ce interface, a subscriber CA 02227~69 1998-01-21 WO 97/0~749 PCT~L96/00056 database coupled to the server ~1~t~bace int~ e, and a client ~l~t~h~ce coupled to the server rl~t~h~ce interface.
In addition, the first cornmunication link may include a telephone line or the Internet.
Moreover, the local client co~ uLel includes a processor for m~n~ging the operation of the local client colll~ul~,l, a client ~l~t~b~ce update module coupled to the processor, the client ~l~t~b~ce update module receiving and proc~occing ~l~t~h~ee downloads from the tariff data server, a line unit interface coupled to the processor, the line unit interface for coupling the processor to the at least one line unit, a least cost router coupled 10 to the processor, the least cost router for deterrnining the ol~LilllUlll route for a call placed by the subscriber, the least cost router returning a carrier dialing string to route the call accordingly, a user interface coupled to the processor, the user interface for providing an interface between the processor and the subscriber, a client ~l~t~b~ce holding tariff data relevant to the subscriber's location and calling preferences, a client ~i~t~h~ce interface 15 coupled to the processor, the client database interface providing an interface between the plocessor and the client ~l~t~k~C~o, a call accounting module coupled to the processor, the call accounting system logging calls placed by the subscriber and determining subscriber call characteristics, and a carrier quality and performance monitoring module coupled to the processor, the carrier quality and performance monitoring module for m~n~ging the 20 selection of the long distance carriers based on quality and performance of their connections.
In addition, the system further includes a reporting module coupled to the processor, the second communication link may include an RS-232 link coupling the local client computer to the at least one line unit; a wireless radio frequency link coupling the 25 local client computer to the at least one line unit; or a ~,vireless infrared link coupling the local client computer to the at least one line unit.
In addition, the at least one line unit includes a processor for controlling theoperation of the line unit, a dialing receiver coupled to the processor, the dialing receiver intercepting digits dialed by the subscriber and transferring the digits to the processor, a 30 dialer coupled to the processor, the dialer receiving a dialing string from the processor and c~ cing the dialing string to be dialed onto one of the K telephone lines, a local client computer interface coupled to the processor, the local client colll~ulel interface providing CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 the interface between the processor and the local client cc~ uLI,., a pass through coupled to the processor, the pass through having a first and second state, both the first and the second states controlled by the processor, the first state blocking the telephone set from the one of the K telephone lines, the second state coupling the telephone set to the one of the K
5 telephone lines, a line monitQr coupled to the processor, the line monitor detecting and hlle~ ethlg signals occurring on the one of the K telephone lines, and a local c~cch~nge selector coupled to the pulse/tone dialer, the processor and the N local exchange carriers via the K telephone lines, the local exchange carrier coupling the pulse/tone dialer to one of the N local exchange carriers in accordance with a control signal produced by the I 0 processor.
Moreover, the dialing receiver detects and decodes pulse and dual tone multiple frequency tones or detects and decodes Integrated Digital Network Services (ISDN) ~ign~ling information.
There is also provided in accordance with a preferred embodiment of the present l S invention a call management system for determining an optimum route for telephone calls made by users of a private branch exchange (PBX), each of the telephone calls routed through one of N local exchange carriers coupled to the system via K trunk lines, each local exchange carrier coupled to one of M long distance carriers, the system which includes a tariff data server ~or m~n~ging a database cont~ining tariff related information 20 on local and long distance carriers, a first communication link coupling the tariff data server to a local client co~ uler, the local client computer for m~int~ining a client database cont~ining tariff information relevant to the subscribers location, optional calling plans subscribed to or optional calling plans accessible from the subscribers location, the local client computer for clet~rminin~ the optimum route, at least one line unit coupled between a 25 user's telephone set and one of the K trunk lines, the at least one line unit coupled to the local client computer, the at least one line unit for intercepting digits outpulsed by the PBX, monitoring the one of the K trunk lines and receiving a dialing string from the local client computer corresponding to the optimum route and tr~n~mitting the dialing string to the one of the K trunk lines, and a second communication link coupling the local client 30 computer to the at least one line unit.
In addition, there is provided in accordance ~vith a l,lef~.led embodiment of the present invention a telecommunication call management system for det~ ;"i..g an CA 02227~69 1998-01-21 W O 97/05749 PCT~LQ~'~JC'~
optimum telecornmunication carrier for a telephone call made by a subscriber, the telephone call routed through one of N local c~cch~nge carriers coupled to the system via K
telephone lines, each the local exchange carrier coupled to one of M long distance carriers, the system comprising a data server for m~n~ging a tl~t~b~ee cont~ining tariff and S geographical related information on local and long distance s~rrier.e, local ç~ch~nge, telephone exch~nge location related data and subscribers and for generating a carrier selection ~l~t~h~ce from selected deterministic and statistical ~ lers, at least one line unit coupled to a telephone set, the N local exchange carriers and the local client computer, the at least one line unit for intercepting a call dialed by the subscriber, monitoring one of 10 the K telephone lines, choosing the optimum carrier from the carrier selection database and placing the call utili7ing the optimum carrier and one of the N local exchange carriers, and a communication link coupling the data server to the at least one line unit.
Moreover, the data server comprises a processor for controlling the operation of the data server, a server rl~t~h~ce interface coupled to the processor, the server ~t~b~ee 15 interface for fillfilling database requests issued by the processor, a server ~i~t~b~ee coupled to the server rl~t~k~ce interface, the server r1~t~h~ee C~ ;..ing tariffrelated information on local and long distance carriers, a client communications module coupled to the processor and to the first communication link, the client cornrnunications module for m~n~ginp comrnunications between the processor and the at least one line unit, a call accounting 20 module for processing call data uploaded from the at least one line unit, a personal data ~l~t~b~ee holding data relevant to the subscriber~s location and calling preferences, and a line unit database ple~aldlion module coupled to the processor, the line unit cl~t~h~ee ,~dlion module deterrninin~, a priori, optimum carriers for calls placed by the subscriber from the subscriber's location to aknost all possible clestin~tions, the line unit 25 database ~ dLion module lltili7ing the optimurn carriers in constructing the carrier selection database.
The communication link may comprise a telephone line or the Tnt~rnet The system further comprises a reporting module coupled to the processor.
Further, the at least one line unit comprises a controller for controlling the operation ~ 30 of the line unit, a dialing receiver coupled to.the controller, the dialing receiver intercepting digits dialed by the subscriber, a dialer coupled to the controller, the dialer receiving a dialing string from the controller and causing the dialing string to be dialed onto one of the CA 02227~69 1998-01-21 W O 97/057~9 PCT~L~61C~
K telephone lines, a data server interface coupled to the controller, the data server int~ ce for interfacing with the data server through the comml~niC~tion link, a pass through coupled to the processor, the pass through having a first and second state, both the first and the second states controlled by the controller, the first state blocking the telephone set from the 5 one of the K telephone lines, the second state coupling the telephone set to the one of the K
telephone lines, a line monitor coupled to the controller, the line monitor detectin~ and int. "~lh~g signals occurring on the one of the K telephone lines, a local exch~nge selector coupled to the dialer, the controller and the N local exchange carriers via the K telephone lines, the local exchange selector coupling the dialer to one of the N local exchange carriers 10 under the control of the controller, and a carrier selection database comprising carrier selection information for enabling the at least one line unit to determine the optimum carrier for a telephone call.
The at least one line unit further comprises a call history logging module coupled to the controller, the call history logging module logging calls placed by the subscriber and 15 deterrnining subscriber call characteristics, and a performance monitoring module coupled to the controller, the ptlro.nlance monitoring module for m~n~ging the selection of the long distance carriers based on quality and p~ lro~ ance of their connections, and a volume accumulator module coupled to the controller, the volume accumulator gcllelaling call volume data for use in determining the optimurn carrier by the data server.

CA 02227~69 1998-01-21 W O 97/05749 PCTnL~6~'C~~S6 BRIEF DESCRIPTION OF THE DR~WINGS
The invention is herein described, by way of ç~mple only, with reference to the acco~ ~,ying drawings, wherein:
- Fig. 1 is block diagram illustrating the call management system constructed and S operative in accordance with a plef~ ed embodiment of the present invention;
Fig. 2 is a block ~ gr~m illu~ ing the relation of the data server to a plurality of telephone dialing units of the plcr.,l,ed embodiment of the present invention;
Fig. 3 is a flow chart illustrating a method of real time call routing using the call management system of the present invention;
Fig. 4 is a detailed flow chart illustrating the step of processing the dialing information;
Fig. 5 is a flow chart illustrating the process of updating the storage unit;
Fig. 6 is a high level block diagram illustrating an example of a call management system built in accordance with a preferred embodiment of the present invention and 15 ntili7ing a generic communications link;
Fig. 7 is a high level block diagram illustrating an example of a call management system built in accordance with a preferred embodiment of the present invention and tili7ing the Internet as the communications link;
Fig. 8 is a high level block diagram illustrating an example of a call management 20 system coupled to a PBX and built in accordance with a preferred embodiment of the present invention;
Fig. 9 is a detailed block diagram illustrating the tariff data server portion of the present invention;
Fig. 10 is a detailed block ~ gr~m illustrating the server ~t~b~e portion of the25 tariff data server;
Fig. 11 is a detailed block diagram ill~ Lillg the local client computer of the present invention;
Fig. 12 is a detailed block diagram ill.~ lhlg the line unit of the present invention;
Fig. 13 is a flow chart illustrating a method of real time call routing using the call 30 management system ofthe present invention;

CA 02227~69 1998-01-21 W O 97/05749 PCT~L~6/0~~~
Fig. 14 is a block diagram illustrating the call management system constructed and operative in accordance with a plef~ d embodiment of the present invention coupled to a telephone and a co~ u~
Fig. 15 is a block diagram illu~lldlillg the call management system constructed and S operative in accordance with a preferred embodiment of the present invention coupled to a private branch exchange (PBX) system;
Fig. 16 is a block diagram illustrating the call management system constructed and operative in accordance with a preferred embodiment of the present invention wherein the line units are coupled directly to the communication network;
Fig. 17 is a block diagram illustrating the call management system constructed and operative in accordance with a preferred embodiment of the present invention wherein the local computer is elimin~ted and the line units communicate with the data server through the communication network;
Fig. 18 is a detailed block diagram illustrating the local client computer of the 15 present invention;
Fig. 19 is a detailed block diagram illustrating the line unit of the present invention;
Fig. 20 is a diagram illustrating the rate step zones centered around an arbitrary geographic location;
Fig. 21 is a flow chart illustrating a method of real time call routing using the call 20 management system of the present invention.

W O 97/05749 PCT~L96/'~C'~
DETAILED DESCRIPTION OF THE INVENTION
Reference is made to Figure 1, which is a block diagram ill~ the call management system constructed and operative in accordance with a preferred embodiment - of the present invention. Figure 1 illustrates a simplified version of a telephone S comml~nication system, generally ~lesign~te~l 10, compricing a single telephone dialing unit 12 in co~"~ ic~tion with a central ~wiLching office (CO) 14 of one of a plurality of telephone service providers. Telephone dialing unit 12 can also communicate with other central switching offices 14 as desired.
The call management system comprises a data server, generally designated 20, 10 which comprises a database 22. The information in database 22 is updated by a data server o~cldLor whenever a change is made in any of the published rates of a telephone service provider, such as a local exchange carrier (LEC) or long distance carrier The updated information is converted into a suitable format for onward tr~n~mi~sion and communicated, by data server 20, to telephone dialing unit 12.
The information stored in ~l~t~b~e 22 includes, inter alia, all available tariff data from the multiplicity of service providers, both inter and intra-exchange carriers, international and others, serving the telephone communication system 10. IntraLATA
carriers or LECs are carriers operating within a single Local Area Transport Area (LATA).
Calls within the LATA can be either local calls served by the LEC or intraLATA calls 20 served by other carriers as well. If the dialing system operates with more than one cenkal switching office, the following is also stored: tariffs for the di~elG~ll cenkal switching offices, local exchange coor~in~tes~ enabling the calculation of exch~nF~e ~lict~nces, carrier availability, access code per exchange and a list of all the cxch~nges con~tit~ting a local call for each exchange. The information may be stored in any convenient format, known in 25 the art, such as a look-up table or a ~l~t~b~e.
Data server 20 further comprices a cenkal processing unit (CPU) 24 and communication means such as a modem 26 or other similar a~!~dLus for communicating via telephone lines (e.g., dedicated Tl, ISDN, broadband communications, etc.) or via any suitable data communication network (e.g., the Internet). Cenkal processing unit 24, 30 which may be any commercially available processor, conkols the operation of data server 20. Modem 26 is used to kansfer updated data directly to dialing unit 12. ~ltern~tively~

CA 02227~69 1998-01-21 W O 97/05749 PCT~L~G/~C~'~
modem 26 can transfer updated data to a third party, such as an electronic mail (e-mail) address from where it may be collected by dialing unit 12 or by an operator.
Telephone dialing unit 12 comprises a dialing unit, such as a tone or pulse telephone dialer, a modem or an ISDN dialing unit, and also compri.~es a storage unit 30 S and a router (or route selector) 32. Storage unit 30 is any storage me-linm, known in the art, which can be used, inter alia, for storing the provider and tariff information received from data server 20. Storage unit 30 may also be used to store any other relevant data, such as subscribed to carriers, special negotiated discounts, promotions, call statistics data and call accounting data, which may be needed by the router to calculate the optimurn least 10 cost route (LCR) for telephone calls. Router 32 can be any routing unit, known in the art, which recognizes the dialing inforrnation input by the call originator and, in accordance with pre-defined pararneters, calculates the LCR and consequently reroutes the call.
Router 32 can also include routing features as described hereinbelow.
Whenever telephone user (or subscriber) 18 origin~tçs a call, router 32 intercepts 15 the digits of the dialed nurnber and processes the calling information. Note that the telephone call may not only be generated by a hurnan but also by a m~rhinf Thus, the 'user' may be a human or a machine. Router 32 then ~ccçcsçs storage unit 30, calculates the least cost routing (LCR) data to ascertain the optimum route for the call, adds any necessary access and authorization codes, and then passes the resulting route selection data 20 to dialing unit 12. Dialing unit 12 then initiates the call to CO 14 which routes the call in accordance with the route selection data signals sent by dialing unit 12. If there is more than one CO, dialing unit 12 also physically switches the connection to the selected CO 14.
In order for telephone user 18 to obtain the maximum benefit from the plurality of c( ~ y rh~nging tariff rates, it is nece~s~y to m~int~in an accurate and updated25 ~l~t~b~e in storage unit 30. Whenever a change in any of the tariffs is made by any of the providers or central switching offices, the information stored in (1~t~b~se 22 is updated by the data server operator. An updated file is then sent by modem 26 to storage unit 30, either directly or preferably via e-mail or the JntPrnt~.t Alternatively, a diskette c~nt~ining the updated information can be loaded directly by the telephone user 18 into the storage 30 unit 30, as is known in the art.
Reference is now made to Figure 2 which is a block diagram illu~LldLillg the relation of data server 20 to a plurality of telephone dialing units 102. For simplicity, each CA 02227~69 l998-0l-2l W O 97/05749 PCT~L96/00056 telephone dialing unit 122 is shown cornmunicating with only one CO 14. Embo-lim~nt~
having similar elements have sirnilar reference nllmer~l~ throughout.
In a first embodi nent, telephone dialing unit 102 cC mpn~es a computer, such as a personal computer (PC) 104 connected to a modem 106. PC 104 and modem 106 are ofS types commercially available. PC 104 compri~es a central proces~in~ unit (CPU) 108 which controls the operation of the PC 104 and optionally a built-in dialer 110. Modem 106 is used to receive data from data server 20 (double line 112) and to cormect dialing unit 102 to CO 14 (double line 114). Modem 106 maybe a dial-up modem which can alternatively be used to directly dial CO 14, without the need for a separate dialer. PC 104 10 further comprises the storage unit 30 and router 32, described hereinabove. Built-in dialer 110 is, for example, any commercially available computer based communications program incorporating dialing facilities.
To make a call, user 18 utilizes a user interface, such as a keyboard, a mouse, etc., to initiate the call and dial the nurnber. Router 32 intercepts the digits of the dialed 15 number, processes the calling information and ~Cc~cces storage unit 30, processes the LCR
data and selects the optimum route for the call. The call is then dialed by modem 106 in accordance with the optimum routing information ascertained and correspondingly rerouted via CO 14.
In a second embodiment, telephone dialing unit 102, which is similar to the first 20 embodiment, described hereinabove, is also connçcte~l to a telephone communications system serving a plurality of stations, such as a Centrex (or CTX) or private branch exchange (PBX) 120, having a plurality of telephones 122 connected thereto. The PBX
120 does not have any least cost routing capabilities.
In this embodiment, the caller may initiate the call by using the built-in dialer 110 25 to dial the number, as described hereinabove with respect to the first embo~1iment In this case, the call is dialed out via the PBX 120 (double line 124). Persons who are not connected to a PC having the relevant LCR data may dial out via the PBX 120 (double line 124).
In a further embodiment, PBX 120 is connected directly to PC 104. The PBX 120 30 can be configured to illl~.ct;~l dialing by telephones 122 and access the storage unit 30 and router 32 of PC 104 to extract the optimum LCR information and reroute the calls.

CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 Whenever the PBX 120, which is connected to PC 104, receives a call, the PBX
120 ~ccesses the storage unit 30 col-tS.i.~ g the LCR data. Router 32 processes the call data and selects the o~ ll route for the call and then PBX 120 dials this o~ u.ll route.
It will be appreciated that the router 32 can be impl~mente~l as part of the telephone S dialing unit 102, as part of the PBX 120 or between the PBX 120 and the central switching office 14. No matter where the router 32 is impl~mente~l, it provides routing for the call initiated by the telephone 122. If the PBX 120 has routing abilities, and the router 32 operates after the PBX 120, the router 32 can change the routing decisions of the PBX 120.
This is especially useful if the router of the PBX 120 has a difficult interface and therefore, 10 is not updated often. The user will still receive the least cost route since the router 32 is updated frequently by data server 20.
Data server 20 can communicate with any or all of the systems described hereinabove. Whenever it has update tariff information, it sends the updated information to all of the systems with which it communicates. The data server 20 can also update the 15 tariff information within a prior art router by em~ tin~ the operator interface which has to enter the tariff information.
It will be appreciated that the router 32 can also be operated in conjunction with a cellular or wireless telephone. As in the previous embo~liment~, router 32 can be embedded in such cellular or wireless telephones or it can be formed as a separate unit.
Finally, it is noted that, in accordance with the present invention, the telephone service providers with which the router 32 operates can be any type of service provider, including but not limited to: inter-exchange carriers, intra-exchange carriers, i.,~ ional, fax-store-and-forward providers, call-back service providers, local central switching offices and private networks. For fax-store-and-forward providers and call-back service providers, 25 the router 32 or some other portion of the dialing system manages the protocol by which such providers operate.
Reference is now made to Figures 3 and 4. Figure 3 is a flow chart illu~lld~ g amethod of real time optimum routing of a telephone call, using the call management system of the present invention. Figure 4 is a detailed flow chart illustrating the step of 30 processing the dialing information.
When a call is initi~tefi, router 32 intercepts the call (step 130) and processes the dialing information (step 132). The router then processes the dialing information, as CA 02227~69 1998-01-21 W O 97/05749 PCT~L~G/~-S~
described hereinbelow, and calculates, from all the relevant calling and provider charging and ~-lhsçnher data, which provider is pref~lled in order to obtain the least cost route (step 134). Having selected the provider, any n~ce~ access and authorization codes areadded to the dialing parameters (step 136) and the call re-dialed using the adjusted 5 parameters (step 138).
The step of processing the dialing information is detailed in Figure 4. The callparameters, such as date and time of the call together with the origin~tin~ and ~iestin~tion numbers, are identified (step 140). Storage unit 30 c~ the LCR data is ~cecsed and scanned to retrieve charging data for the particular calling pararneters identified in 10 accordance with the distance and the call type (i.e., jurisdiction). The basic cost of the desired call is then determined (step 142).
Storage unit 30 is also scanned to ascertain whether the call initiator is entitled to any special negotiated discounts from one or more providers, and if relevant, the data is retrieved and the relevant discount is applied (step 144). The result is a first value for the 15 cost of the call, per minute.
Optionally, a check can be made to ~ ...i..e whether call accounting data, as isknown in the art, is available and if so the relevant data is retrieved (step 146). This data provides a history of the calls made with a particular service provider and is utilized, for cxample, to determine (step 148) whether or not a volume discount currently applies or 20 whether it is useful to utilize a certain service provider in order to achieve the volume discount. A volume discount cost is produced.
From the call history, st~tictir.s of previous call durations can be made. For example, the statistics can be of the call duration per ~l~stin~tion phone number, per distance away from the origin~tinp phone number or any other statistic. From these 25 statistics, it can be determined if the call is expected to be short or long, in which case, the tariff of one service provider may be better than that of another for the expected length of the call. In addition, a call distribution profile is ..,~ ;..ed based on past calling history.
The call distribution data and its effect on call pricing are used in çstim~tin~ the cost of the call. For example, an average call of 1.5 minlltes would be cheaper using a more expensive 30 carrier that bills using 6 sec/6 sec billing rather than a less expensive carrier that bills using 60 sec/60 sec billing. A user making many short duration calls, for example 10-15 - CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056seconds, would prefer 6 sec/6 sec billing over 60 sec/60 sec billing. An expected cost of the call is produced (step 150).
The above steps are repeated (step 152) for all service providers and the O~
service provider (i.e." the one which provides the lowest cost) is selected (step 154). In 5 addition, the information leg~dillg the call (origin, clestin~tion, selected provider, and length of call) are stored in the ~l~t~h~e for later call history use.
Reference is now made to Figure 5 which is a flow chart diagram illustrating theprocess of updating storage unit 30 belonging to telephone user 18.
Whenever data server 20 receives notification of a change from one of the 10 telephone service providers or a regulatory body (e.g., changes in the dialing plan of the United States such as new area codes) (step 202), ~l~t~h~e 22 is revised (step 204). A
package conf~ining the updated LCR information is prepared (step 206), for example in the form of a data file. Data server 20 then posts the updated LCR package to an accessible medium (step 208)7 shown by dashed lines, and notifies telephone user 18, by any suitable 15 means, that an updated file is available for downloading or collection (step 210).
The accessible medium to which the LCR package may be posted include, for example, any suitable forurn accessible by modem. For example, the files can be made available by data server 20 to subscribers 18 through a bulletin board (step 212), via file transfer using a file transfer protocol (FTP) (step 214) or world wide web (WWW) (step 20 216), or similar, such as are available today through the TntPrn~t The updated package can also be downloaded by data server 20 to the user's e-mail address (218) or copied to a ~lickette and mailed to the user (220).
To update the routing data stored in storage unit 20, user 18 can retrieve (or upload) the updated file, via his modem 106, from one of the sites (described hereinabove) to 25 which it has been downloaded by data server 20. The updated data is then stored in storage unit 30.
In a preferred embodiment, the tariff rate ~l~t~b~e, the least cost routing process and the telephone line interface cilcuiLly are implçmentecl as a distributed system of interconnected components. A high level block ~ gr~m of an example of a call 30 management system constructed in accordance with a p.er~llcd embodiment of the present invention is illustrated in Figure 6. The call management system, generally referred to by reference numeral 250, comprises a tariff data server 252, a local client co~ ulcl 254 and CA 02227~69 1998-01-21 W O 97/05749 PCT~L9G~CS~
one or more line units 258. System 250 int~ ees to analog lines and/or trunks such as those commonly used with residential or small or mt--1ium office PBX telephone systems.
Tariff data server 252 holds tariff and subscriber related data. The tariff information includes data on dirr~lel,t carriers including both local and long ~ t~n~e telephone 5 comp~nies. The tariff data covers different tariff sf-h~m~s available from each telephone company at each locality and comprises exchange location data for tli~t~nce dependent tariffs, carrier availability and access codes and the exchanges constituting local calling areas. The tariff data is downloaded to local client conl~uler 254 either periodically or according to another schedule such as upon a modification to a tariff schedule. Tariff data server 252 is coupled to local client computer 254 by a communications link. Thecommunications link may include any suitable type of link (e.g., the Internet) such as a pair of modems over an ordinary telephone line, leased or private line, etc.
Any nurnber of line units 258, labeled 1 through N in Figure 6, are installed between a telephone set 256 and the public telephone net~,vork. In addition to telephone set lS 256, line units 258 may be coupled to one or more personal computers 257 with telephone dialing capabilities (i.e." ~tt~ch~d fax/modem cards). The public telephone network is Ic~lcsel~t~cl by Local Exchange Carriers (LECs) 260, 262. Each LEC, in turn, is coupled to one or more long distance carriers 264 labeled I through M. Long distance telephone calls made by a subscriber are placed by one of N long distance carriers 264. Line unit 258 20 communicates with local client computer via a communications link. The communications link may be wired or wireless (i.e." RF, infrared, etc.) and is a bi-directionalcommunications ch~nn~l When a call is placed, one of the line units 258 i~l~cl1e~L~ digits dialed by the subscriber through coupled telephone set 256 and routes them to local client computer 254. Local client computer 254 computes the least cost route using various 25 parameters and tr~n~l~tec the dialed number into a series of digits that will route the call to the least cost carrier. The tr~n~l~te-l dialing string is sent to the line unit 258 which actually dials the number. In a preferred embodiment, each line unit 258 is able to connect to any number of N LECs. When more than one LEC is available, local client computer 254 calculates the least cost LEC, in addition to the least cost long distance carrier, and ~ 30 instructs line unit 258 to steer the call to that LEC.
Local client computer 254 controls the ~ieterrnin~tion of the telephone dialing string corresponding to the optimum LEC and long distance carrier. Local client computer 254, a CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 personal co...~uLe. (PC) or other suitable coll~uLillg means, ~cllrn~ qtes the outgoing call data (i.e." ~1tostin~tion, time, duration, etc.) The collected data serves as the basis for call accounting, call statistics, volume discount, call progress and call savings reports. Note that in the case of a PBX, the call data may be reported via a channel within the PBX rather 5 than the line unit.
Local client computer 254 is typically coupled to more than one line unit 258.
Preferably a line unit is coupled to every telephone set in the system. This provides m~ximllm savings by intercepting each call and determinin~ the optimum carrier to place the call through. Each line unit is coupled to local client computer 254 via a wired or wireless communications link. Local client computer 254, in addition to line unit 258 and tariff data server 252, are described in more detail below.
In a preferred embodiment, shown in Figure 7, system 250 utilizes the Internet 266 for the communication link between tariff data server 252 and local client computer 254.
System 250 incorporates use of the various standard applications available on the Internet including, but not limited to, electronic mail (SMTP), file transfer protocol (FTP), gopher and the world wide web (WWW). In addition, local client computer 254 is coupled to one or more line units 258 via a wireless link (i.e." RF, infrared, etc.).
In a preferred embodiment, shown in Figure 8, system 250 is adapted to perform call management for users of a small PBX 266. Referring to Figure 8, tariff rate server 252 is coupled, via a communication link, to local client computer 254. A line unit 258 is associated with each trunk in the PBX system. Each line unit is coupled to local client computer 254 via either a wired or wireless communication link. Each line unit is also coupled to one or more LECs 260, which in turn place long ~lict~n~e calls through one or more long distance carriers 264.
The tariff data server 252 will now be described in more detail. A detailed block diagram of the tariff d~t~h~ce server is illustrated in Figure 9. Tariff d~t~h~ce server 252 comprises a processor 288, a server ~ h~ce interface 286, a server ~l~t~h~ce 282, a client communication module 290, a billing system 292, a report generation system 294 and a subscription interface module 296. As 11iccucced previously, the function of tariff data server 252 is to provide each subscriber with current tariff schedule data to allow the least cost routing module in local client computer 254 (Figure 6) to determine the least cost route in an accurate manner, reflecting up to date tariff information. The server updates a W O 97/05749 PCT~L9~ 5~
client-l~t~b~ee m:~intz~in~-l on the local client computer only with tariffdata relevant to the subscribers location and which may be based on subscriber provided i~ "lllation.Subscriber location is stored according to the numbering plan area (NPA) and the local exehRn~e (N~).
S The tariff data server communicates with the local client CO111~ L~ located in the client portion of call management system 250, via a comrnunications link. Processor 288 controls client communications module 290, which h~n~lle~e all communications between the tariff data server and the local client computer. Call management system includes an update mechRnicm to allow a client database to reflect ongoing changes to tariff schedules and carrier's optional calling plans (OCPs). Server communications can take place via any suitable means, such as electronic mail (e-mail) or FTP. A subscriber can choose to receive updates in any one of the following ways: per tariffchange or periodically. In both cases~ either the entire ~RtRh~ce can be downloaded or only the relevant r~tRhRee transactions need be sent. In addition, the subscriber or client can initiate a ~l~tRbRee tr~n~mie~ion. Either a complete database download or only a portion of it can be sent via e-mail to the subscriber. The local client col,l,uute~ then extracts from the e-mail message the relevant data and updates its client ~IRt~bRse In accordance with a further aspect of the present invention, the call accounting information accumulated by the local computer can be uploaded to the data server and analyzed further. Based on this analysis, the data server suggest means for further reducing the telecommunication charges for the subscriber. Example lc;collllllen-lRtions include cllRnging OCP, subscribing to an additional carrier, getting a direct access number, etc.
Billing system 292, coupled to processor 288, functions to Ill~ subscriber information needed for billing purposes, if system services are sold on a monthly basis, and to track and update invoices, bills, payments, etc. for all subscribers. Report system 294 functions to generate various types of reports for system 250. Reports that pertain to subscriber information, OCP reports and carrier reports are an exarnple of the types of reports available. Subscriber int~ e 296 receives and processes registration forms contRinin~ subscriber data. The data is received either via e-mail, fax, regular mail, etc.
~ 30 and the data processed and entered into att_ched server ~iRtRkRee 282.
Server ~lRtRbRee interfR~e 286 couples processor 288 to server rlRtRbRee 282. Server ~i~RtRkRee interfRce 286 handles all ~lRtRbRee requests from processor and is responsible for CA 02227~69 1998-01-21 W O 97/05749 PCT~L~6J~D -~
the m~ .,ce of server database 282. A more detailed diagrarn of server ~1~t~k~ce 282, showing the individual ~1~t~k~çs it comprises, is illustrated in Figure 10. Server ~l~t~h~ce 282 comprises an OCP ~l~t~h~e 300, ~ t~nr~/local exchange ~l~t~b~ee 302, an access fl~tzlhsl~e 304, a subscriber d~tz~b~e 306 and a client d~t~qb~e 308. For all ~l~t~kS~ces S comprising the server ~t~hace, server database interface 286 serves as the int~rf~ce for t~h~e requests from processor 288.
With reference to Figure 10, OCP d~t~b~e 300 contains data on local long ~ t~n~etoll OCPs supported by call management system 250 and covers the following jurisdictions: local intraLATA/intrastate; intraLATA/interstate; interLATA/intrastate;
10 interstate; international (i.e." Canada, Mexico, Hawaii, Puerto Rico); local and overseas.
In a preferred embodiment, OCP ~t~h~ce 300 includes the following parameters: OCP
name, OCP code, carrier code, jurisdiction type, OCP locality, billing method (i.e."
mileage, NPA bands, flat rate, etc.), rate data, time of day dependence, day of year dependence, call billing pararneters (i.e." initial period rate, overtime period rate), rate 15 period specific (RPS) flag, volume discounts, tapering, discounted countries (i.e." discount percentage - MCI's 'friends and family' OCP), discounted NPAs (i.e." MCI's 'friends and farnily'), discounted telephone numbers (i.e." MCI's 'friends and family'), prepaid period option, period comrnitment discount, volume commitment, carrier identity, promotions, optional OCP to be concatenated with (i.e., combineability with volume generated via 20 other types of calls such as other OCPs or 1-800 calls) and validity period.
Distance/local exchange ~t~k~ce 302 contains the geographic coordinates (i.e., vertical and horizontal (V & H) data) of all NPA/NXXs. This data enables the calculation of the distances between the calling location and the called destination design~t~d by the NPA/N~ for the purposes of determining if the call is a local or long ~ t~n~e call and to 25 calculate the rate for a long distance call.
Access database 304 contains the following information on a per OCP and geographic basis: availability data, jurisdiction and access method. Availability data includes whether the OCP is available only as a primary long distance carrier, available upon registration as a secondary long distance carrier, available as a casual call (i.e., gypsy) 30 or not available. The access method for each OCP in each NPA may include 10-X~, 1-950-7D-User A~lthori7~tion Code (UAC), 1-800-7D-UAC, 1-888-7D-UAC (7D is equivalent to 7 dialed digits).

CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 Subscriber ~l~t~b~e 306 contains subscriber data, received from the subscriber, and includes the following: subscriber telephone numbers, subscriber's main billing account, subscriber userID, license size (i.e., the number of line units), o~ ion, subscriber con1r~ctl~l OCPs, e-mail address, account number, registration data, last month paid, 5 subscriber name, telephone number, fax nurnber, address, primary carrier including OCP
and start date, secondary carriers and related OCPs, associated start dates, subscriber long distance initial volume and monthly volume of credit card calls and 1-800 lines to be sum~ned for volume discount calculation purposes. Means are provided to add/delete/modify subscriber registration data, OCP data and carrier data.
Client database 308 is dynamically derived for each group of subscribers with a common NPA/NXX or for a specific subscriber for their specific region and related data, in accordance with the particular arrangement with the subscriber. The client ~l~t~b~e provides the necessary data for downloading full or partial ~l~f~b~es to subscribers or clients. The data contained in the client rl~t~b~ce is derived from the other databases and includes inforrnation relevant only for that subscriber. The client ~l~t~b~e includes: a list of all accessible OCPs, the rate step ( mileage rings for rate calculation), validity date key and a list of exchanges a call to which is considered a local call Accessible OCPs are defined as the primary long ~lict~nce carrier OCP to which the subscriber is registered, other OCPs to which the subscriber registered other than through their primary long distance carrier and all OCPs available at the subscriber location via a casual call (i.e., gypsy) for all other carriers. The rate step comprises three parts: a list of all NPA/~XX to a local call, detailed rate steps for Pxch~nges requiring both NPA and NXX to determine rate step and non-de~i~n~ted NPAs for those NPAs for which the entire NPA is included in one rate step. The validity date key is the latest data for which the client's ~l~t~b~e is valid.
Local client computer 254 (Figure 6) will now be described in more detail. A
detailed block diagram of the local client COll~u~ iS illustrated in Figure 11. Local client computer 254 comprises a processor 272 coupled to a least cost router 274, a user interface module 276, a client ~l~t~h~e interface 278, a call accounting module 332, a reporting module 334, a carrier quality and ~t;lÇullll~lce monitor 330, a line unit interface 284 and a client ~i~t~b~e updater 270. The local client collll~ult;l functions to route a subscriber ~ri~in~te-l call via the optimum carrier/LEC combination. The optimum route is CA 02227~69 1998-01-21 W O 97/05749 PCTnLg~'aGCS~
~let~ rnined by calculating the expected call price of a call of average duration via all possible OCPs while considering parameters such as pclr~,llnal1ce and quality and then choosing the carrier associated with the optimum call route.
With reference to Figure 11, client ~l~t~b~ce updater module 270 provides the S interface between processor 272 and tariff data server 252. Client ~1~t~b~ce updater 270 receives partial or full ~l~t~h~e downloads from tariffdata server 252 via a suitable method (i.e., e-mail or FTP), decodes the message and updates a client ~1~t~h~e 280 via client ~t~ba~e interface 278. Any commercially available Internet application software package may be used to provide e-mail and FTP functionality. The client ~l~tslh~ce comprises data 10 derived from any or all of the following sources: data downloaded from the tariff data server, data entered by the subscriber or data collected locally.
The data downloaded from the tariff data server has been previously described.
The data entered by the subscriber comprises, but is not limited to, the subscriber's name, subscriber's telephone number, main account number, primary carrier and OCP, secondary 15 carriers and OCPs, number of trunks or telephone lines, telephone numbers 1 through N
including central office (CO) lines or PBX trunks/extensions and the co.l~ onding PBX
access code (if needed) for each telephone number, number of line units installed at the site, line unit ID number for line units 1 through K, ignored prefix numbers, preferred country if OCP selected, preferred NPA if OCP selected, preferred destination if OCP
20 selected, initial long distance call volume, 1-800 normal volume, credit card normal call volume, long distance companies prohibited from being used by subscriber, length of log file and whether on-line display is required. The data collected locally is ~cc~-m~ ted via call accounting module 332. Call accounting module 332 functions as a set of meters and provides data n~cess~ry for least cost router 274. The meters provide monthly ~ccl-m~ ted 2~ cost per OCP and, on a per jurisdiction basis, average call length, and a call length distribution table and call establi~hment duration. In addition, call accounting module 332 functions to log subscriber call data for the generation of periodic reports and to calculate subscriber call characteristics required for least cost router 274. A call distribution profile is ~ cl based on past calling history. The call distribution data and its effect on call 30 pricing are used in estim~tin~ the cost of the call. For example, an average call of 1.5 minutes would be cheaper using a more expensive carrier that bills using 6 sec/6 sec billing rather than a less expensive carrier that bills using 60 sec/60 sec billing. A user making CA 02227~69 1998-01-21 W O 9710~749 PCT~L~GI'~r~
many short duration calls, for example 10-15 seconds, would prefer 6 sec/6 sec billing over 60 sec/60 sec billing.
For embodiments of the present invention coupled to a PBX, local conll,ut~l 254 may receive call accounting data directly from the PBX via local int~ e~, in addition to 5 or in place of the call accounting data collected by call accounting module 332, since many modern PBXs have call accounting functionality built-in.
Other data collected locally includes data output from carrier performance monitor 330. Since using call management system 250 is likely to encourage the use of small carriers, the pelrollllance of the established call connection may vary from call to call for 10 different carriers. The quality and performance of a carrier is measured by the percentage of established calls, the time to call establichm.ont and the voice quality of the tr~n~mi~ion line. Percentage of established calls means calls established upon the first attempt. Voice quality is measured by the subscriber, using the telephone set. If the subscriber is not satisfied with the voice quality of the call, a digit sequence, such as 'BAD', may be entered 15 to flag the call as having poor quality. System 250 collects quality and performance related data associated with each call to be able to monitor a carrier's quality and performance. The following data is collected on a automatic basis with no intervention required from the subscriber. All calls which have not been established due to one of the following reasons will be recorded: lack of ring tone or a busy tone, congestion tone (i.e., 20 fast busy) detected or the call duration was for less than a predetermined minimum. In addition, data collected on a manual basis includes all calls the subscriber flags as 'bad' (i.e., poor quality of connection due to noise, etc.). To avoid the usage of bad quality carriers, once a carrier is first flagged either ~ltom~tically or by the subscriber, calls will be routed to the second least cost carrier. After a pre~let~rmin~-l number of fl~gin~c within a 25 finite time, the carrier will be suspended for a period of time. After a certain number of suspensions within a week, the carrier will be suspended for a week and the user notified accordingly.
In addition to collecting and processing carrier performance data using carrier performance monitor 330, processor 272 may receive carrier ~ r,.,--ance data from tariff 30 data server 252. The tariff data server may collect its own carrier pc.ro....allce data and make this data available to local computer 254 via downloading.

CA 02227~69 1998-01-21 WO 97/05749 PCT~L~G~ CS~
User interface 276 functions to provide setup screens for ente ing and updating subscriber supplied par~meters The data entered by the subscriber c~ mpri~es thesubscriber's name, address, olg~,-i7}-lion, user ID, license si_e (i.e., number of line units) including serial numbers, monitored telephone numbers, e-mail address, main account S number, primary carrier/OCP including start date, secondary carrier/OCPs numbered 1 through N including start date, initial long ~ t~nre call volume, normal 1-800 call volume, normal credit card call volume, registration date, preferred telephone, NPA, country, contact telephone number, contact f~ccimile number. In addition, user interface 276 displays a call progress report which includes the following information: last used OCP, 10 call destin~tion (telephone number and text), cost and savings for the current and last call.
Reporting module 334 functions to generate the following reports: a savings report, a call accounting report and an lm~ucces~ful call report. The savings report specifies the saving achieved by using the call management system compared to using the default carrier which is the primary inter-exchange carrier (PIC) (i.e., if the call management system was 15 not used). The savings report shows the total saving last month, accl-m~ tecl saving since the call management system was installed and the calls routed by carriers other than the default (PIC) and the saving for each call for the last month. The call accounting report includes the details of successful calls. The calls are grouped by OCP and appear in calendar order. The call accounting report shows the called ~l~ostin~tion nurnber, 20 cl~stin~tion city, date, time of day, duration, cost and associated line unit. Various queries may be made to view various call accounting inforrnation. The unsuccessful call report is typically used by a subscriber to inhibit usage of low performance and low quality carriers.
This report enables monitoring of the grade of service among competitive c~rrie~. The report includes the details of calls which have not been completed due to congestion or no 25 detection of ring or busy tone after digits are dialed. Calls on this report are grouped by carrier. Each entry in the report includes called ~lestin~tion nurnber, ~lestin~tion city, data, time of day, call duration and line unit in use.
Line unit interface 284, coupled to processor 272, functions to provide the intrrff~ce between processor 272 and the one or more line units 258 installed in the system. Both 30 wired and wireless cornmunication links are supported by line unit int~ re 284. To support a wired link, line unit interface 284 compri~es a conventional RS-232 interf~ce7 well known in the art. For wireless links, line unit interf~re 284 comprises a suitable CA 02227~69 1998-01-21 W O 97/05749 PCTnL96/CC~r~
conventional wireless link such as RF or infrared, also well known in the art. Each line unit int~ ce 284 m~int~in~ a conllllullications link with each of the line units in the system.
Least cost router 274, as described previously, clet~rmin~s, for each call, the least cost carrier/OCP and provides to the line unit the n~cess~ry access dialing string along with the nurnber to dial. The input parameters to the least cost router are the following: basic rates including initial period and additional period, caller location (i.e., what carriers and what calling plans are available in the caller's location and what exch~nges are considered local), destination mileage and resulting rate steps, billing scheme including initial period duration and additional period, call jurisdiction (i.e., local call, intraLATA, interLATA/h~ e, interstate, international), billing scheme (i.e., mileage dependent, flat rate, band), date and time of day dependency, day of week/year dependency, expected call duration, statistics of call duration (i.e., caller's calling habits), volume discounts, aggregate volume discount for all lines associated with the same main billing account (MBA), volume and discount commitment, promotions in effect, block of time (i.e., a certain amount of time is at a reduced rate during a discount period, e.g. AT & T's Reach Out America calling program), prepaid or free volume, volume commitment~, con~t~n~te~
OCPs for volume discount calculation, taper (i.e., different price for different level of consurnption) and discounted countries, area codes, telephone numbers (e.g., MCI's 'friends and family' OCP, Sprint's 'Most'), free day dialing, discounted country, NPA, 1-800 normal volume, credit card call normal volume. Some calls are not modified by the LCR me~h~ni~m and are returned to the line unit as dialed. For example numbers with a non-legal NPA, unsupported country codes and NPA/N~s for which no rate table exists (i.e., 1-800, 1-900, emergency services, collect calls, etc.).
Processor 272 executes one or more ongoing client processes within the local client computer. A call process in the processor is a real time event driven process that includes the following: line monitoring, digit collection and analysis, least cost routing process, line unit interface, call progress display and call logging. Line monitoring is active during all the phases of a call and includes the mo~ olillg of all line units in the system. The line - 30 monitoring process receives telephone line status information from each line unit, arranges the data according to line unit and receives the status of each line unit itself, thus obtaining information on all dialed digits and on call start and end information. It m~int~in~

CA 02227~69 1998-01-21 W O 97/05749 PCT~L9~ c~
communications with each line unit and periodically sends 'keep alive' messages to each line unit. In addition, dialed digits are collected during the call and are reported to the call logging process.
The digit collection and analysis is evoked by the telephone set going off-hook.S Once dialed, the call progress display dynarnically updates the following information for the user or subscriber: the dialed nurnber, (1~-stin~tion city, carrier's identity, call progress phase, call duration, call accumulated dynamic cost and call accounting dynamic saving.
The call logging process logs calls which have and have not been processed by the least cost router, faulty calls in which no connection was established (i.e., no ring or busy tone, 10 call was too short, congestion tone, the establishment time was too long, call flagged as bad by subscriber, etc.).
In addition to a call process, processor 272 executes time driven processes which include volume calculation per carrier and the carrier quality and performance ~ccessment process, discussed previously. The volume calculation includes calculating the volume of 15 each carrier's OCP on a monthly basis and computing an average. The calculated average volume is used to determine the expected volume per carrier and to recalculate the pointer to the volume discount entry. In addition, a process performed weekly calculates the expected volume according to the following formula:
accumulated volume expected volume =
percentage of the month passed Calculating the expected volume helps to elimin~te cases where a monthly peak orchanges in the usage of a carrier will cause new volumes. If weekly expected volumes differ from the average monthly volume, the a~lu~liate OCPs are updated accordingly.
The carrier performance control process decides, on a periodic basis, whether to drop a particular carrier from use. The decision is based on data collected ~l-tr~m~tically and 25 entered m~nll~lly by the subscriber, as described previously. In addition, the expiration data of promotions are tracked on a daily basis. The expiration data of each promotion is included in the OCP parameter data.
It is noted that alternative call management system embo-iim~ntc may be constructed using any combination of least cost routing unit 274, call accoullLillg unit 332 30 and carrier l.c~r~lmallce monitoring unit 330. A ple~.Gd call management system CA 02227~69 1998-01-21 W O 97~0~749 PCT~L~Ci'~U'~
embodiment, however, comprises all three units: least cost routing unit 274, call accounting unit 332 and carrier performance monitoring unit 330 Line unit 258 will now be described in more detail. The line unit is positioned between the subscriber's telephone set and the telephone network. As previously 5 disclosed, each line unit m~int~in~ a co~ iC~tion link to the local client computer. All digits dialed by the subscriber after the telephone goes off-hook are passed to the local client computer. For calls not relevant to the least cost router, the local client computer returns the dialed nurnber to the line unit as dialed. The line unit, in turn, tr~n~mit~ those digits to the telephone network. An example of calls ignored by the least cost router are: 1-800 calls, 1-888 calls, emergency services (i.e., 911, etc.) and calls to operators (i.e., 0, 0+, 411, etc.). Illustrated in Figure 12 is a detailed block diagram of the line unit portion of the call management system. Line unit 258 comprises a processor 312 coupled to a pulse/tone or ISDN dialing receiver 314, a local client computer interface 316, a LEC selector 322, a pulse/tone or ISDN dialer 320, a pass through module 324 and a line monitor 326.Processor 312 functions to control the internal operation of line unit 258. Pulse/tone dialing receiver 314 is coupled to the telephone set and functions to receive and illLcl~.et the digits dialed by the subscriber via the telephone set. The intercepted digits are sent to processor 312 further h7~n-1lin~. Local client computer interface 316 is adapted to provide a wired or wireless communication link to the local client computer. For wired links, local client computer interface may implement a standard RS-232 interface or any other PC
interface such as parallel I/O, Universal Serial Bus (USB), PC bus éxtension such as PCI, all of which are well known in the art. If a wireless link is used between the line unit and the local client computer, a standard RF or infrared communication link is implemente-l, also well known in the art. The line unit inte~ e 284 (Figure 11) in the local client conll)uL~l is adapted to handle multiple line units by implementing a protocol similar to carrier sense multiple access with collision detection (CSMA/CD), the scheme used in standard Ethernet networks.
Pulse/tone or ISDN dialer 320 is coupled to processor 312 and receives strings of digits to be dialed onto the telephone line. Pulse/tone or ISDN dialer 320 is coupled to ~ 30 LEC selector 322. LEC selector 322 couples the output of pulse/tone or ISDN dialer 320 to one or more LECs. A control signal from processor 312 determines which LEC the output of pulse/tone or lSDN dialer 320 is coupled to. The telephone line from the LEC, , CA 02227~69 1998-01-21 WO 97/05749 PCT~L~ CS~
via LEC selector 322, is also coupled to pass through 324 which functions to become transparent when line unit 258 is not active (i.e., powered down). The default state of pass through 324 is to act transparent to the line. In this state, digits dialed by a subscriber are passed transparently through to the telephone line. The state of pass through 324 can be 5 controlled via processor 312.
Line monitor 326, coupled between the telephone set and the telephone line, functions to monitor the telephone line on both sides of the pass through at all times.
When an off-hook condition and subsequent dial tone signal is detected on the line, processor 312 opens up pass through 324, disconnecting the telephone set from the 10 telephone network and sends an 'off-hook' signal to the local client computer. The line monitor monitors the line and transfers network signals to the telephone set. All digits dialed will be captured by pulse/tone or ISDN dialing receiver 314, prevented from being transmitted on the telephone line and reported to the local client computer until a connect comm~n-l is received. Upon receipt of a connect comm~nrl processor 312 puts pass15 through 324 into the transparent state, coupling the telephone set to the telephone network.
After a connect line co~ llalld is received, line monitor listens for the following events and responds with an associated action: call answered (i.e., the called party answered the call) -a 'voice' message is sent to the local client computer; a dial tone c~en~e - a 'dial tone' message is sent to the local client computer; a ring cadence - a 'ring' message is sent to the 20 local client computer; a busy c~dence - a 'busy' message is sent to the local client computer; a congestion cadence - a 'congestion' message is sent to the local client computer. The above list is only presented as an example, other tones may also be included depending on the application.
A flow chart illu~LId~ g a method of real time call routing using the call 25 management system of the present invention is shown in Figure 13. Although each step of the process has been previously disclosed in detail above, the flow chart illustrated in Figure 13 is never the less useful in uncier.st~n~ling the method of the present invention.
First, the call dialed by the user is intel.;ept~d either by PBX 120 (Figure 2) or line unit 258 (Figures 6 to 8) (step 350). The dialing information input by the user is captured and 30 stored (step 352). I~en, the optimum route or path for the call is then rle~Prrninp~l (step 354). Either any or all of the following factors may be factored into the decision as to with which carrier to place the call: (1) least cost route for the call, (2) locally derived or CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 downloaded carr~er performance data or (3) the calling history of the user. After the o~ ll call is deterrnine~i any access and/or authorization codes are added to the dialed string (step 356). The call is then dialed (step 358). Tnt~rn~l data structures are then u~-iately nrd~tecl to take into account the call just dialed (step 360).
A high level block diagram of an example of a call management system constructedin accûrdance with a l~lc~ d embodiment of the present invention is illustrated in Figure 14. The call management system, generally referred to by reference n~-mer~l 410,comprises a data server 412, a local client c~ uL~- 416 and one or more line units 418.
System 410 interfaces to analog lines such as those commonly used with residential and business telephone service. Data server 412 holds tariff and subscriber related data. The tariff information comprises data on different carriers including both local and long distance telephone companies. The tariff data covers different tariff srhemec available from each telephone company at each locality. The tariff data is downloaded to local computer 416 either periodically or according to another schedule such as upon amodification to a tariff sclledllle. Data server 412 is coupled to local computer 416 by a communication network 414. The communications network may include any suitable type of network or communication link such as a pair of modems over an ol.lhlaly telephone line, leased or private line, the Internet, local area network (LAN), wide area network (WAN), bulletin board service (BBS), etc.
Any number of line units 418, labeled 1 through K in Figure 14, are installed between a telephone set 424 and the public telephone network. In addition to telephone set 424, line units 418 may be coupled to one or more personal computers 425 with telephone dialing capabilities (i.e." ~ft~ched fax/modem cards). Note that the line units are also capable of being connected to f~eimile eqllipment and modems in addition to telephones and computers. The public telephone network is represented by one or more Local F~cch~nge Carriers (LECs) 420 labeled I through N. Each LEC, in turn, is coupled to one or more long ~liet~nee carriers 422 labeled 1 through ~ Long distance telephone calls made by a subscriber are placed by one ûf N long distance carriers 422. Each line unit 418 communicates with local client computer 416 via a communications link. The ~ 30 communications link may be wired or wireless (i.e." RF, infrared, etc.) and is a bi-directional communications charmel. When a call is placed, one of the line units 418 intercepts digits dialed by the subscriber through coupled telephone set 424, determine~ the CA 02227~69 1998-01-21 W O 97/05749 PCT~L~6~ ~
optimum route for the call using the carrier selection table and ge..c.aLes a tr~n~l~te~l dialing string. The tr~n~l~te~ dialing string is dialed directly by the line unit 418. In a preferred embodiment, each line unit 418 is able to connect to any number of N LECs.
When more than one LEC is available, the line unit, using the carrier selection ~l~t~b~ce, ~l~termin~:s the optimum LEC, in addition to the oplilllulll long ~ t~n~e carrier, and steers the call to that LEC.
Local computer 416 receives the tariff ~tslhace from the data server 412 and customizes it for use by the line unit. Local client computer 416 is a personal COlllpULt~l (PC) or other suitable computing means which also functions to process call history and call accounting data uploaded from the line units The collected data serves as the basis for call accounting, expected volume discount calculations and call savings reports. Note that local client computer 416 can be coupled to more than one line unit 418. Preferably a line unit is coupled to every telephone set in the system. This provides maximum savings by intercepting each call and determining the optimum carrier to place the call through in accordance with the carrier selection ~l~t~b~e. Each line unit is coupled to local client computer 416 via a wired or wireless commlmic~tions link. The local client computer, in addition to the line unit and tariff data server, are described in more detail below.
A block diagram illustrating the call management system constructed and operative in accordance with a preferred embodiment of the present invention coupled to a private branch exchange (PBX) system is shown in Figure 15. The system shown in Figure 15 is similar to that of Figure 14 but hi~hlight~ the connection of the system to a PBX 430.
Coupled to PBX 430 are one or more telephone extension sets 432. Operation of the system 410 in Figure 15 is identical to that of the system shown in Figure 14 except that the line units 418 interface to trunks such as those commonly used with small or medium sized office PBX telephone systems. In addition, all line units can be housed in a single unit sharing one common communication ~~h~nnel between that box and the local computer.
A block diagram illustrating the call management system constructed and operative in accordance with another preferred embodiment of the present invention wherein the line units are coupled directly to communication network 414 is shown in Figure 16. In this p,e~lled embodiment, the data server 412, line units 418 and the local computer 416 are all coupled directly to the communication network.

CA 02227~69 1998-01-21 W O 97/05749 PCT~LS''~C5 In another ~!lGr~ d embodiment of the present invention, the call management system is constructed without the local col~l~ul~l 416 as illustrated in Figure 17. In this embo-lim~nt the functions performed by the local colllpul~. are performed by the data server 412. The line units operate the same but communicate with the data server through 5 the co,n,llullication network rather than to the local computer. Thus, the carrier selection ~ t~b~ce is prepared by the data server and tr~ncmitted to the line units through the cnmmlmication network. The line units upload call accounting information to the data server which analyzes this inforrnation in the ~lcl)alalion ofthe carrier selection ~i~f~b~ce.
The communication network (i.e., the Internet or other suitable network) 414 forms the communication path between tariffdata server 412 and the local computer 416. The system can incorporate use of the various standard applications available on the Internet including, but not limited to, electronic mail (SMTP), file transfer protocol (FTP), gopher and the world wide web (WWW). In addition, local computer 416 is coupled to one or more line units 418 via a wireless link (i.e." RF, infrared, etc.).
In this embodiment, the user interface is provided by the data server 412 rather than by the local computer. The user interface on the data server may comprise one or more web pages written using HTTP, the standard language of web sites. A subscriber, using the Internet as the communication network 414, can connect to the data server site to both receive data from and provide data to the data server. Thus, the subscriber's personal data (e.g., negotiated discounts, optional calling plans subscribed to, most dialed area codes, countries and telephone nurnbers, credits, personal volume or term commitment.~, etc.) can be directly entered into the data server by the subscriber. Privacy and protection against eavesd,o~ g can be obtained by the data server using an encryption enabled secure web server and subscribers encryption enabled client web browsers.
In the embodiments shown in Figures 14 to 17, system 410 is adapted to ~clrolln call management for residential/business users or users of a small PBX 430 (Figure 15). ~
line unit 418 is associated with each extension in the resi<1çnti~l/business system or trunk in the PBX system. Each line unit is coupled to local computer 416 (Figures 14 and 15) via a wired or wireless communication link or directly to the col~ ication network (Figures 16 and 17) via a con~l,ullication link. Each line unit is also coupled to one or more LECs 420, which in turn place long distance calls through one or more long distance carriers 422.

CA 02227~69 1998-01-21 W O 97/05749 PCTnL~6 Data server 412 will now be described in more detail. Data server 412 comprises a processor, a server ~l~t~k~ce interface, a billing system, a server ~l~t~b~c--, a client c~ ..ication module, a report generation system and a ~ .s~ ,lion intlorf~f~e module (not shown). The function of data server 412 is to provide each s--bseriber with current tariff schedule data, related to geographic location, to allow the call management processes in local computer 416 to det~rmine the optimum route for the call. The data server updates a client ~i~t~b~e m~int~ined on the local computer with data tailored to the subscribers location and which can also be based on subscriber provided information. Subscriber location is stored according to the numbering plan area (NPA) and the local exchange ~) The data server communicates with the local computer via a cornmunications link.The processor in the data server oversees the operation of the client communications module, which handles all communications between the data server and the local computer.
The call management system of the present invention includes an update mechanism to allow a client database to reflect ongoing changes to tariff schedules, carrier's optional calling plans (OCPs), numbering plan changes and changes in the geographic layout of exchanges. Server communications can take place via any suitable means, such as electronic mail (e-mail) or FTP. A subscriber can choose to receive updates in any one of the following ways: per tariff change or periodically. In both cases, either the entire ~l~t~b~ce can be downloaded or only the relevant ~l~t~b~e transactions need be sent. In addition, the subscriber or client can initiate a d~t~b~e tr~n~mi~ion. Either a complete ~l~t~b~e download or only a portion of it can be downloaded or sent via e-mail to the subscriber. The local client Co~ Jul~l then extracts from the download or e-mail message the relevant data and updates its client ~i~tP.b~ce The billing system, coupled to the processor in the data server, functions to m~int~in subscriber information needed for billing purposes, if system services are sold on a monthly basis, and to track and update invoices, bills, payments, etc. for all subscribers.
The report system functions to generate various types of reports. Reports that pertain to subscriber information, OCP reports and carrier reports are an example of the types of reports available. The subscriber int~rf~ce receives and processes registration forms cont~ininf~ subscriber data. The data is received either via e-mail, fax, regular mail, etc.
and the data processed and entered into the ~tt~r-hPd server ~i~t~h~ee W O 97/05749 PCT~L9~/~D -~
A server database int~ re couples the processor in the data serve} to the server~ t~b~e. The server ~l~t~b~e interf~re handles all ~l~t~b~e requests from the processor and is responsible for the m~;."~ ..ce of the server ~l~t~b~e The server tl~t~b~e comprises a tariff ~l~t~b~se, distance/local exchange ll~t~h~e, a carrier access c1~t~h~cç7 a subscriber cl~t~kzlce and a client d~t~b~ee. For all ~l~t~b~es comprising the server ti~t~b~ce7 the server ~l~t~h~ce int~ ce serves as the int~ re for ~l~t~b~ce requests from the data server processor.
The OCP database contains data on local and long distance toll OCPs supported bythe call management system and comprises the call pricing parameter fields listed in the 10 table below. Note that not all fields are populated for all OCPs.

, CA 02227~69 1998-01-21 W O 97/05749 PCT~Lg6 De~ .istic Parnmeters 1. OCP name 2. OCP code 3. carrier code 4. service type: direct dial, credit card call, op~dLol call, information services, emergency, etc.
5. optional OCP to be c~ nl~ten~tecl with, i.e., combineability with volume generated via other types of calls such as other OCPs or 1-800 and credit card calls 6. validity period 7. tapering 8. rate period specific (RPS) flag 9. time of day (TOD) dependency 1 0.date, i.e., workday, Saturday, Sunday or Holiday dependency 1 l.billing method, i.e., mileage banded, flat, NPA (area code banded) 12.billing parameters, i.e., initial period (time and price), additional period (time and price) 13.carrier relations (PIC, subscribed, gypsy/casual) 14.call surcharge 1 5.availability as a casual/gypsy call 16.casual/gypsy call surcharge: for calls via telephone companies that the customer does not have a subscription to; may vary according to call jurisdiction, e.g., domestic or intern~tional 17.term col.""il..,ent discount (percentage) lg.same telephone owner discount (percentage): origin and destin~tion belong to the same co,~ y; for multisite col..p~l-ies 1 9.same telephone owner discount (fixed amount): origin and ~estin~tion belong to the same company; for multisite companies 20.preselc~,led telephone numbers discount (e.g., 'friends and family') 21.preselected NPA discount 22.preselected country discount 23.same telephone company discount 24.personal negotiated discount 25.or~ ions' discount (pelcellL~ge) 26.special time limited promotions regarding additional discount (percentage) or credit (fixed) St~ti~ti~l Parameters 1. retroactive volume discount: can be different for di~ L jurisdictions and the TOD
2. retroactive volurne discount limit: some carriers do not give a discount beyond a certain limit 3. precommited volume discount 4. minimllnn commitment (volume that is paid for regardless of use) 5. prepaid calling volume 6. same telephone company discount 7. post priory most frequently called NPA discount 8. post priory most frequently called numbers discount (e.g., Sprint's 'most') 9. post priory most frequently called country discount W O 97/05749 PCT~L96i'~
The rlietanr~/local exchange tl~t~k~ee contains the geographic coo~d~ t;s (i.e.,vertical and hc,li~unlal (V & H) data) of all NPA/NXXs. This data enables the calculation of the ~liet~n~ s bet~,veen the calling location and the called ~leetin~tion ~leei~ te~l by the NPA/NXX for the purposes of ~letermining the call jurisdiction.
S The access d~t~b~ee contains the following information on a per OCP and locality basis (which may or may not be related to NPA): availability data, jurisdiction and access method. Availability data includes whether the OCP is available only as a primary long ~liet~n(~e carrier, available upon registration as a secondary long distance carrier, available as a casual call (i.e., gypsy) or not available. The access method for each OCP in each 10 NPA may include 10-XXX, 1-950-7D-User Authorization Code (UAC), 1-800-7D-UAC, 1-888-7D-UAC (7D is equivalent to 7 dialed digits).
The subscriber databa~ee contains subscriber data, received from the subscriber, and includes the following: subscriber telephone numbers, subscriber's main billing account, subscriber userID, license size (i.e., the number of line units), o~ ;,;"ion, subscriber 15 contractual OCPs, e-mail address, account nurnber, registration data, last month paid, subscriber narne, telephone number, fax nurnber, address, primary carrier including OCP
and start date, secondary carriers and related OCPs, associated start dates, subscriber long ~ t~nce initial volume and monthly volume of credit card calls and 1-800 lines to be summed for volume discount calculation purposes. Means are provided to 20 add/delete/modify subscriber registration data, OCP data and carrier data.
The client database is dynamically derived for each group of subscribers with a common NPA/NXX or for a specific subscriber for their specific region and related data, in accordance with the particular arrangement with the subscriber. The client cl~t~b~ce provides the necessary data for downloading full or partial databases to subscribers or 25 clients. The data contained in the client ~l~t~h~e is derived from the other ~t~k~es and includes information relevant only for that subscriber or his/her locality. The client tl~t~k~e includes: a list of all ~cce~cihle OCPs, the rate step (mileage rings, according to jurisdiction, for rate calculation) and validity date key. Accessible OCPs are defined as the primary long distance carrier OCP to which the subscriber may register or subscribe to, 30 other OCPs to which the subscriber may or did register to other than through their primary long distance carrier and all OCPs available at the subscriber location via a casual call (i.e., gypsy) for all other carriers. The rate step comprises three parts: a list of all NPA/NXX to CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 a local call, detailed rate steps for exchanges requiring both NPA and NXX to create a rate step and non-~lecign~tecl NPAs for those NPAs for which the entire NPA is included in one rate step. The validity date key is the latest data for which the client's ~l~t~b~e is valid.
A detailed block ~ gr~m illu jlld~ g the local client co~ Jul~l of the present invention is shown in Figure 18. Local computer 416 comprises a processor 478 for m~n~ging the operation of the local co"",uLel. Coupled to processor 478 are a data server interface 470, a multi-line unit (LU) management module 472, a call accounting module 474, a reporting module 476, a line unit ~l~t~b~e p~e~ ion module 480, a line unit interface 488 and a user interface 482. Also coupled to processor 478 are the following 10 databases: a personal database 486, a call statistics database 485 and a call accounting h~ee Also shown in Figure 18 is the tariff rl~t~h~e 413, ~ c-l~secl earlier, coupled to data server 412. The data server 412 communicates to local computer 416 via communication network 414 through data server interface 470. The line units 418 15 communication with the local computer via line unit interface 488.
A detailed block diagram illustrating the line unit of the present invention is shown in Figure 19. A controller 440 in the line unit functions to manage the internal operation of the line unit. Coupled to controller 440 are local computer interface 442, carrier selection module 448, volume ~rc-lm~ tQr module 450, performance monitor 456 and call histo~y 20 logging module 444. In addition, controller 440 comprises databases for holding carrier selection data 462, call history data 464 and performance data 466. Also, a dialing receiver 446 and line monitor/pass through 452 are coupled to controller 440 and to the telephone set or PBX extension. A dialer 458 and line monitor 452 are coupled to the LECs 420 via LEC selector 460.
The dialing receiver 446 in the line unit is able to decode pulse/tone or ISDN
dialing signals. Similarly, the dialer 458 is able to send pulse/tone or ISDN signals. The pulse/tone dialing receiver is coupled to the telephone set or PBX extension and functions to receive and interpret the digits dialed by the subscriber via the telephone set. The line unit interface 488 in the local computer is adapted to handle multiple line units by 30 implementing a protocol similar to carrier sense multiple access with collision detection (CSMA/CD) or any other suitable multiple drop protocol.

CA 02227~69 1998-01-21 W O g71~574g PCT~L~CIV~CS~
The line unit 418 is positioned between the subscribe~'s telephone set and the telephone network. As previously disclosed, each line unit m~int~in~ a comm--nir~tion link to the local computer. All digits dialed by the subscriber after the telephone goes off-hook are intclce~led and processes by the line unit. For calls not relevant to the call management system, the line unit returns the dialed number to the dialer as dialed. The dialer tr~n~mit~ those digits to the telephone ~ wolk. An example of calls ignored by the least cost router are: 1-800 calls, 1-888 calls, 1-900 calls, calls ~,vithout cost sensitive alternatives, calls for which the destination may not be recognized by the system (e.g., new area codes), emergency services (i.e., 911, etc.) and calls to operators (i.e., 0, 0+, 411, etc.).
Pulse/tone or ISDN dialer 458 is coupled to controller 440 and receives strings of digits to be dialed onto the telephone line. Pulse/tone or ISDN dialer 458 is coupled to LEC selector 460. The LEC selector couples the output of the pulse/tone or ISDN dialer to one or more LECs. A control signal from controller 440 determines which LEC the output of the pulse/tone or ISDN dialer is coupled to. The telephone line from the LEC, via LEC
selector 460, is also coupled to pass through 452 which functions to become L.a.~palelll when line unit 418 is not active (i.e., powered down). The default state ofthe pass through is to act transparent to the line. In this state, digits dialed by a subscriber are passed transparently through to the telephone line. The state of the pass through is be controlled via controller 440.
Line monitor 452, coupled between the telephone set and the telephone line, functions to monitor the telephone line on both sides of the pass through at all times.
When an off-hook condition and subsequent dial tone signal is detected on the line, controller 440 opens up the pass through, disconnecting the telephone set from the telephone network. The user, however, is still able to hear the tones genPr~ted by the telephone network. The line monitor monitors the line and transfers network signals to the telephone set. All digits dialed will be captured by the dialing receiver 446 and p~ el.~ed from being L~A~ C1 on the telephone line. Upon d~ on of the optimum route for the call and dialing the requested nurnber, controller 440 puts pass through 452 into the transparent state, coupling the telephone set to the telephone network. After a connect line command is received, line monitor listens for the following events and responds with an associated action which is processed locally in the line unit: call answered (i.e., the called party answered the call) - a 'voice' message is generated; a dial tone cadence - a 'dial tone' CA 02227~69 1998-01-21 W O 97/05749 PCT~L~6~'C~C-C
message is generated; a ring cadence - a 'ring' message is generated; a busy c~len~e - a 'busy' message is generated; a congestion c~ n~e - a 'congestion' message is gçner~te~l in the event ISDN is ~ltili7~ , the ~ iate ISDN signals are gen~r~te-1 Note that the above events are processed int~rn~lly in the line unit and are not reported to the local 5 colll~ul~l. The above list is only presented as an example, other tones may also be included depending on the application.
In a preferred embodiment of the present invention, the local computer functions a mediator bet~veen the data server and the multiple line units. The actual carrier selection on a call by call basis is not made by the local computer but by each line unit on an 10 individual basis. Carrier data is transmitted from the data server to the local computer via the communication network and processes by the local computer by line unit ~l~t~h~ce ~,repd.~lion module 480. The local computer, in turn, downloads a carrier selection database to each line unit. The line unit then uses the carrier selection ll~t~b~ce to route a subscriber originated call via the optimurn carrier/LEC combination.
With reference to Figures 18 and 19, data server interface module 470 provides the interface between processor 478 and data server 412. Data server interface 470 receives partial or full database downloads from data server 412 via a suitable method (i.e., e-mail or FTP). Any commercially available Tnt~rn,ot application software package may be used to provide e-mail and FTP functionality. The data that is sent by the data server to the local computer is localized for that particular subscriber's locality. The data comprises rate step information org~ni7~d by NPA/NXX and other data related to that locality. The localized data stored in the personal ~l~t~b~e 486 comprises data derived from any or all of the following sources: data downloaded from the data server, data entered by the subscriber or data collected locally via the line unit.
The data entered by the subscriber comprises, but is not limited to, the subscriber's name, subscriber's telephone number, main account number, primary carrier and OCP, secondary carriers and OCPs, number of trunks or telephone lines, telephone numbers 1 through N including central office (CO) lines or PBX trunks/extensions and the corresponding PBX access code (if needed) for each telephone number, number of line units installed at the site, line unit ID number for line units 1 through K, ignored prefix numbers, ~lc~l~ed country if OCP selected, preferred NPA if OCP selected, ~cÇ~ ed clestin~tion if OCP selected, initial long ~lict~n~e call volume, volume and term CA 02227~69 1998-01-21 W O 97/05749 PCT~L96,'~C-'~
co~n",il~ nt-c, any personal discount, 1-800 normal volume, credit card normal call volume, long distance companies prohibited f~om being used by subscriber and whether on-line display is required. The data collected locally is accl-m~ te-l via call history logging module 444 in the line unit and optionally may be uploaded to the local col~lpul~,l 5 to be processed there (e.g., report generation). Call accounting module 474, in the local co~ ulel, functions as a set of meters, ~cc~ ting volume, and provides data n~CçcS~ry for line unit database pl~ dlion module 480. The meters provide monthly accumulated cost per OCP and, on a per jurisdiction basis, average call length, and a call length distribution table and call establishment duration. In addition, call accounting module 474 10 functions to log subscriber call data for the generation of periodic reports and to calculate subscriber call characteristics required for generation of the carrier selection database 462.
A call distribution profile is m~int~ined based on past calling history. The call distribution data and its effect on call pricing are used in estim~ting the cost of the call. For example, an average call of 1.5 minllt~s would be cheaper usmg a more expensive carrier that bills using 6 sec/6 sec billing rather than a less expensive carrier that bills using 60 sec/60 sec billing. A user m~king many short duration calls, for example 10-15 secon~is, would prefer 6 sec/6 sec billing over 60 sec/60 sec billing.
For embodim~ntc of the present invention coupled to a PBX, local computer 412 may receive call accounting data directly from the PBX via local interfaces, in addition to 20 or in place of the call accounting data collected by call accounting module 474 and logged by call history logger 444, since many modern PBXs have call accounting and call logging (i.e., call reporting) functionality built-in.
Other data collected locally includes data output from the ~ ro~ ance monitor 456. Since using the call management system of the present invention is likely to 25 encourage the use of small carriers, the performance of the established call connection may vary from call to call for different carriers. The quality and ~,.ro,mance of a carrier is measured by the p.,.c~;"l~ge of established calls, the time to call establiehm,ont and the voice quality of the tr~ncmiccion line. Percentage of established calls means calls established upon the first attempt. Voice quality is measured by the subscriber, using the 30 telephone set. If the subscriber is not satisfied with the voice quality of the call, a digit sequence, such as 'BAD', may be entered to flag the call as having poor quality. System 410 collects quality and ~tlr~,ll"ance related data associated with each call to be able to morlitor a carrier's quality and ~c.rul,lla~ce. The following data is collected on a automatic basis with no intervention required from the subscriber. All calls which have not been established due to one of the following reasons will be recorded: lack of ringback tone or a busy tone, congestion tone (i.e., fast busy) detect~d or the call duration was for less 5 than a predet~rminçd minimurn In addition, data collected on a manual basis includes all calls the subscriber flags as 'bad' (i.e., poor quality of connection due to noise, etc.). To avoid the usage of bad qualit,v carriers, once a carrier is first flagged either automatically or by the subscriber, calls will be routed to the second least cost carrier. After a predetermined number of fl~p~ing.~ within a finite time, the carrier will be suspended for a 10 period of time. After a certain number of suspensions within a week, the carrier will be suspended for a week and the user notified accordingly.
In addition to collecting and processing carrier performance data using perforrnance monitor 456, processor controller 440 may receive carrier performance data from data server 412 via the local computer 416. The data server may collect its own carrier 15 performance data and malce this data available to the local computer via downloading.
User interface 482 functions to provide setup screens for entering and updating subscriber supplied l~ua~llcters. The data entered by the subscriber comprises the subscriber's name, address, org~ni7~tion, user ID, license si~ (i.e., number of line units) including serial numbers, monitored telephone numbers, e-mail address, main account 20 number, primary carrier/OCP including start date, secondary carrier/OCPs numbered I
through N including start date, initial long distance call volume, normal 1-800 call volume, normal credit card call volume, registration date, pl~ir~l-cd telephone, NPA, country, contact telephone number, volume and term commitment~, contact f~csimile number. In addition, the user interface displays a call progress report which includes the following 25 information: last used OCP, call ~lestin~tion (telephone number and text), cost and savings for the current and last call.
Reporting module 476 functions to generate the following reports: a savings report, a call accounting report and an unsuccessful call report. The savings report specifies the saving achieved by using the call management system colll,~ ,d to using the default carrier 30 which is the primary inter-exchange carrier (PIC) (i.e., if the call management system was not used). The savings report shows the total saving last month, ~cc~-m~ tl?cl saving since the call management system was installed and the calls routed by carriers other than the =

W O 971057~9 PCT~L9G/~-5 default (PIC) and the saving for each call for the last month. The call accounting report includes the details of suecessful calls. The calls are grouped by OCP and appear in calendar order. The call accounting report shows the called d~stin~tion number, ~iPstin~tion city, date, time of day, duration, cost and associated line unit. Various queries 5 may be made to view various call accounting information. The uns~lccecsfi-l call report is typically used by a subscriber to inhibit usage of low performance and low quality carriers.
This report enables moniLc,lillg of the grade of service among colllp~lilive carriers. The report includes the details of calls which have not been completed due to congestion or no detection of ring or busy tone after digits are dialed. Calls on this report are grouped by 10 carrier. Each entry in the report includes called destination number, destination city, data, time of day, call duration and line unit in use.
Line unit interface 488, coupled to processor 478, functions to provide the interface between the processor and the multiple line units 418 installed in the system. Both wired and wireless cornmunication links are supported by the line unit interf~ce. To support a 15 wired link, the line unit interface comprises a conventional RS-232 interf~ce, well known in the art. For wireless links, the line unit interface comprises a suitable conventional wireless link such as RF or infrared, also well known in the art. Each line unit interface r~int~ins a communications link with each of the line units in the system.
The carrier selection database is generated in the local computer by the line unit 20 database ~lep~dtion module 480, downloaded to each line unit and stored in carrier selection ~f~b~se 462. The carrier selection module 448 in the line unit det~rmin~s for each call, using the carrier selection ~i~t~b~ee~ the o~til~ ll route and provides to the dialer the necessary access dialing string prefix along with the number to be dialed. The input parameters to the line unit database ~ l comprise the parameters in the table presented 25 above and include both the Det~rministic and Statistical Parameters listed. In addition, the following parameters are used by the line unit (l~t~h~ce preparer in constructing the carrier selection table.

CA 02227~69 1998-01-21 W O 97/05749 PCT~L~G~ ~
Additional Parameters Used To Construct Carrier Selection Dntnh~e 1. anticipated call duration 2. call duration statistical distribution 3. volume accumulated from separate telephone lines that are combined into one account 4. call volume accllml-l~t~ ~l for a volume discount (e.g., 1-800, credit card calls, cellular, etc.) 5. taper (i.e., different price for dirr~le.ll level of consumption) 6. discounted countries predicted according to call history data (e.g., Sprint's 'Most') 7. discounted area codes predicted according to call history data (e.g., Sprint's 'Most') 8. discounted telephone numbers predicted according to call history data Some calls are not modified by the line unit and are dialed as is. For example numbers with a non-legal NPA, unsupported country codes and NPA/NXXs for which no rate table exists (i.e., 1-800, 1-900, emergency services, collect calls, etc.
As described above, the line unit determines the optimum route for each call dialed.
Dialing strings are received by the dialing receiver and an optimum route is deterrnined by the line unit and out dialed by the dialer. Once the carrier selection ~1~t~h~ce is downloaded into the line unit, no further action on the part of the local computer is n~ce~c~ . y for calls to be optimally routed. Given sufficient processing power and memory, the line unit could deterrnine the optimum route, taking into account all the various parameters listed in the tables above, for the call using the tariff database sent by the data server. This ~i~t~b~ce comprises the raw tariff data org~ni7lod by location, OCP and distance. However, a line unit capable of processing the raw tariff data, using processor's available today with a sufficiently large memory size, would not be cost effective. If less powerful but cost effective processors are used, prohibitively large processing delays result. Thus, in order to reduce the proceccing overhead that must be perfor ned by the line unit an abridged version of the tariff cl~t~h~ce is downloaded to the line unit, called the carrier selection ~i~t~h~ce This ti~t~h~ce is olgalli~d by rate steps origin~ting from the subscribers location. A
diagram illustrating the rate step zones centered around an a l,iL-~y geographic location is shown in Figure 20. Each ring 490 represents the border between two rate steps. Note that different jurisdictions (i.e., IntraLATA, Interstate, etc.) con~liLul~ a dirr~ ratestep. The area between two rings represent a zone having a constant tariff rate within the same jurisdiction. The rate steps are chosen so that each carrier's rate step is represented. Since not all carrier's have the same rate step org~ni7~tion, the rate steps used to construct the carrier selection tl~t~b~ce are typically finer than those of any one carrier.

W ~ 97~as749 PCT~L~G/C~
The database that is sent from the data server to the local con.puleL comrri~es entries for each NPA/NXX in the country (using the United States as an example) and for each foreign country where the NPA is '011' and the NXX r~lesenl~ the country code.
This amounts initially to over 100,000 entries. For each entry the tariff to every other S NPA/NXX is listed. Line units comprising inexpensive processors and memories to reduce cost would generate unacceptable delays in ~le~..,;..i..g the o~ti~ route for each call.
Thus, the number of entries in the ~ b~ce is significantly reduced, for a typical NPA/N~, by orp~ni7ing all ~lectin~tion NPAlN~s by rate step. In some locations, entire NPAs or at least a large portion thereof are included within a single rate step, thus 10 obviating the need to list each NXX separately. The space between each rate step ring 490 represents an area of equal tariff rate on a carrier basis. Each carrier sets their own tariff rate for each rate step.
International and overseas calls are handled in a similar fashion. Each country is ~c~i~n~d its own rate step in accordance with its country code. In this way international 15 calls are handled similarly to domestic calls.
A pseudo code listing illu~ tillg the logic flow of the process of constructing the carrier selection table in the local computer which is subsequently downloaded to the line units is presented below.

CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/000~6 Generation of Carrier Selection Table FOR each type of day ~
FOR each rate step {
get list of all relevant carrier OCPs IF there is a volume commitm~nt or prepaid volume not yet met {
give that carrier first priority in the carrier selection table }
ELSE IF non-specially discounted number {
FOR each hour {
FOR each OCP {
1. calculate call price as a function of [rates, miniml-m period, additional period, expected call duration (function of rate step and TOD), call duration distribution (function of rate step and TOD), expected volurne discount, terrn discount, personal discount]
2. arrange carrier OCPs in a descending selection order 3. insert into carrier selection table }
}

ELSE IF specially discounted number {
FOR each hour {
FOR each OCP {
1. calculate call price as a function of [rates, minimum period, additional period, expected call duration (function of rate step and TOD), call duration distribution (function of rate step and TOD), expected volume discount, term discount, personal discount, special discount]
2. arrange carrier OCPs in a descending selection order 3. insert into carrier selection table }
}
}

40 }

As described above, the line unit ~l~t~b~e preparation module in the local co~ uul~l constructs the carrier selection ~l~t~b~ce. The f~t~h~ce itself is ~ cl first by type of day (e.g., weekday, weekend, holiday, etc.). For each type of day, the data is olr,~l.i7Pd by 45 rate step. For each rate step the cost for each OCP is calculated according to the hour of CA 02227~69 1998-01-21 WO 97/05749 PCT~L96/00056 the day The factors that are utilized in ~let~rrninin~ the cost of each OCP is outlined in the pseudo code listed above. Once the cost is ~leterrnined for each OCP, the OCPs are placed in the carrier selection ~i~t~h~ce ordered by increasing cost.
Using this sch~me the processing overhead required by line unit on a call by call 5 basis is greatly reduced. The process of d~ the ~linlulll route for the call, is reduced to a table look up operation which can be perfor~ned very quickly. The table lookup involves choosing the a suitable entry in the carrier selection tl~t~h~ee downloaded into the line unit. If the first entry in the table is not acceptable for some reason (e.g., it is on a 'bad' carrier list) the carrier next in line is picked. Calculations are not necessary and 10 only another table look-up is required.
It is important to note that in addition, to the raw tariff data received from the data server, the line unit database p~ ~dtion module also utilizes data contained in the personal database 486, call statistics database 485 and call accounting ri~t~h~ee 484 in constructing the carrier selection fi~t~b~ee.
A flow chart illu~LIdtillg a method of real time call routing using the call management system of the present invention is shown in Figure 21. This process is performed by each of the line units in the course of processing a call made by a user. First, the digits dialed by the user are intercepted by the dialing receiver 446 (Figure 19) (step 500). It is then deterrnined whether this is a call that is to processed (i.e., optimized) (step 502). As described above, certain calls are not processed (e.g., emergency services, operator, toll free, etc.). If the call is of the type that is not to be processed it is immediately dialed using the dialer 458 (step 504) and the process terrnin~tes If the call is to be processed, it is then ~it?terrnined whether the call is dorneetic or intern~tional (step 506). If it is an in~ern~tional call, the rate step is deterrnined according to the country code (step 508). If it is a domestic call, the rate step is deterrnined according to the NPA/NXX (step 510). A table look-up is then performed on the carrier selection ~i~t~b~ee based on the rate step, day of week, time of day, whether or not the carrier is preferred and aggregate volume (step 514).
Once the carrier is selected, it is deterrnine~l whether the carrier requires anauthorization code (step 516). If not, the dialing prefix dialed is simply the '10' (or '101' for new carriers) plus the carrier's ID code (CIC) (step 526). Subsequently, the inl. .ce~led number is then dialed (step 528).

CA 02227~69 1998-01-21 W O 97/05749 PCT~L96/00056 If a code is required, the carrier's access number is first dialed as in step 526 (step 518) and then, after a conformation tone is received (step 520), the ~l~thori7~tion code is dialed (step 522). After another confirm~tion tone is received (step 524), the originally el~;e~Led number is dialed (step 528).
After the intercepted number is dialed tne line events (i.e., ringing, busy, etc.) are logged by the line unit. These event are optionally periodically tr~ncmitt~cl to the local colll~ulel for post processing of call data. Each event is also individually time stamped before being processed by the local computer.
Controller 440 (Figure 19) executes one or more processes within the line unit. A
call process is a real time event driven process that includes the following: line monitoring, digit collection and analysis, carrier selection and call logging. Line monitoring is active during all the phases of a call and includes the monitoring of all line units in the system.
The multi-LU management module 472 (Figure 18) in the local computer handles the off-line commllnications. It downloads the carrier selection d~t~h~ce to all line units and uploads call accounting data from each line unit in order to ~c--m~ t~ volume and carrier usage data from each telephone line. The call accounting module 474, receives telephone line status information from each line unit, arranges the data according to line unit and receives the status of each line unit itself, thus obtaining information on all dialed digits and on call start and end information. The local computer m~int~ine communications with each line unit and periodically sends 'keep alive' messages to each line unit.
The digit collection and analysis process in the line unit is evoked by the telephone set going off-hook. Once dialed, the call progress display in the local computer may dynamically update the following inforrnation for the user or subscriber: the dialed number, destin~tion city, carrier's identity, call progress phase, call duration, call accllmlll~t~-~l dynamic cost and call accounting dynamic saving. The call logging process logs calls which have and have not been processed by the line unit, faulty calls in which no connection was established (i.e., no ring or busy tone, call was too short, congestion tone, call establishment time was too long, call flagged as bad by subscriber, etc.).
In addition to a call process, the controller in the line unit executes time driven 30 processes which include volume calculation per carrier and the carrier quality and performance assessment process, discussed previously. In addition, the data uploaded to the local computer is used to det~rmin~ when a new carrier selection d~t~b~ee needs to be -CA 02227~69 1998-01-21 W O 97/05749 PCT~L~G/~C~C~
generated. The volume calculation includes calc~ ting the volume of each carrier's OCP
on a monthly basis and co~ u~ g an average. The calculated average volume is used to ~letPrmin~ the expected volume per carrier and to recalculate the pointer to the volume discount entry for calculation of the carrier selection database. In addition, a process S l,elrulllled weekly calculates the expected volume according to the following formula:
accumulated volume ~ expected volume = (welghted with last months average) percentage of the month passed Calculating the expected volume helps to elimin~te cases where a monthly peak orchanges in the usage of a carrier will cause new volumes. If weekly expected volumes differ from the average monthly volume, the carrier selection database is updated and 10 downloaded to the line units and the applop-;ate OCPs are updated accordingly. The performance monitor control process decides, on a periodic basis, whether to drop a particular carrier from use. The decision is based on data collected ~lltom~tically and entered m~n~ ly by the subscriber, as described previously. In addition, the expiration date of promotions are tracked on a daily basis within the local computer. The expiration 15 data of each promotion is included in the OCP parameter data.
While the invention has been described with respect to a limited nurnber of embo-limentc, it will be appreciated that many variations, modifications and other applications of the invention may be made.

Claims (73)

1. A method of determining an optimum telecommunication carrier from a group of telecommunication carriers for placing a telephone call dialed by a user, comprising the steps of:
intercepting a string of dialing digits,representing said telephone call, dialed by said user;
determining said optimum telecommunication carrier for said telephone call utilizing said dialing digits; and placing said telephone call using said optimum telecommunication carrier.
2. The method according to claim 1, wherein the step of determining an optimum telecommunication carrier comprises the step of choosing a carrier based on the least cost route for said telephone call.
3. The method according to claim 1, wherein the step of determining an optimum telecommunication carrier comprises the step of choosing a telecommunication carrier within said group of telecommunication carriers based on performance and quality of connections made by said telecommunication carrier.
4. The method according to claim 1, wherein the step of determining an optimum telecommunication carrier comprises the step of choosing a telecommunication carrier within said group of telecommunication carriers based on said user's past calling history.
5. The method according to claim 1, further comprising the step of appending an appropriate access and/or authorization code to said dialing string.
6. The method according to claim 1, further comprising the step of updating appropriate internal tables to take into account said telephone call dialed by said user.
7. A telecommunication call management system comprising:
at least one telephone dialing unit for dialing a telephone number to place a telephone call;

at least one least cost router, each least cost router having a corresponding routing database of tariffs of telephone service providers, wherein each said least cost router determines, from information in its corresponding said routing database, which telephone service provider to utilize to execute said telephone call;
a database updating unit electronically updating tariff information into each of said routing databases after updated tariff information is entered therein; and means for generating call history data and statistics of phone calls,utilizing said call history data and said statistics to generate expected call durations, volume predictions and statistical distributions therefrom, utilizing said expected call durations and its effect on call pricing to determine which said telephone service provider to utilize to execute said telephone call.
8. The system according to claim 7, wherein said database updating unit comprises means for directly connecting to said at least one least cost router.
9. The system according to claim 7, wherein said database updating unit comprises means for providing said updated tariff information to a user who subsequently provides said updated tariff information to said telecommunication call management system.
10. The system according to claim 7, wherein said telephone service providers are selected from the group of: local exchange carriers, inter-exchange carriers, intra-exchange carriers, international carriers, fax store and forward providers, callback providers, organization owned networks.
11. The system according to claim 7, wherein said at least one telephone dialing unit is formed as part of any one of the following: a Central Office line, Centrex exchange (CTX), private branch exchange (PBX), trunk line, cellular telephone, personal computer, private branch exchange extension.
12. A telecommunication call management system comprising:
a user interface unit for indicating a telephone number to be dialed;
a dialing unit for dialing said telephone number so as to initiate a telephone call;
and a least cost router, having a corresponding routing database of tariffs of telephone service providers, wherein said least cost router determines, from information in its routing database, which telephone service provider or providers to utilize to execute said telephone call.
13. The system according to claim 12, further comprising means for generating call history data and statistics of phone calls, utilizing said call history data and said statistics to generate expected call durations therefrom, utilizing said expected call durations and an associated statistical distribution and its effect on call pricing to determine which said telephone service provider to utilize to execute said telephone call.
14. The system according to claim 12, further comprising a database updating unit which electronically updates tariff information into said routing database shortly after updated tariff information is entered therein.
15. The system according to claim 12, wherein said telephone service providers are selected from the group of: central switching offices, inter-exchange carriers, intra-exchange carriers, international carriers, fax-store-and-forward providers, call-back providers.
16. A call management system for updating a plurality of remote tariff databasesstoring therein tariffs of telephone service providers, said system comprising:
database means for storing tariff information;
means for receiving changes to said tariff information thereby to create updated tariff information;
means for electronically updating said tariff information into said plurality ofremote tariff databases shortly after said updated tariff information is entered therein.
17. The system according to claim 16, wherein said database means for storing location dependent data such as exchange coordinates for determining distance between exchanges and related call jurisdictions, lists of exchanges considered a local call for each exchange, available carriers and access method for each telephone exchange.
18. The system according to claim 16, wherein said means for electronically updating comprises means for emulating the interface of a remote tariff database thereby to update said remote tariff-database.
19. The system according to claim 16, wherein said database unit comprises means for directly connecting to said plurality of remote tariff databases.
20. The system according to claim 16, wherein said database updating unit comprises means for providing said updated tariff information to a user who subsequently provides said updated tariff information to said plurality of remote tariff-databases.
21. A telecommunication call management system for determining an optimum route for a telephone call made by a subscriber, said telephone call routed through one of N local exchange carriers coupled to said system via K telephone lines, each said local exchange carrier coupled to one of M long distance carriers, the system comprising:
a tariff data server for managing a database containing tariff and geographical related information on local and long distance carriers, local exchange, telephone exchange location related data and subscribers;
a first communication link coupling said tariff data server to a local client computer;
said local client computer for maintaining a client database containing tariff and personal information, said local client computer for determining said optimum route;
at least one line unit coupled to a telephone set, said N local exchange carriers and said local client computer, said at least one line unit for intercepting digits dialed by said subscriber, monitoring one of said K telephone lines, receiving a dialing string from said local client computer corresponding to said optimum route and transmitting said dialing string onto said one of said K telephone lines; and a second communication link coupling said local client computer to said at leastone line unit.
22. The system according to claim 21, wherein said tariff data server comprises:

a processor for controlling the operation of said tariff data server;
a server database interface coupled to said processor, said server database interface for fulfilling database requests issued by said processor;
a server database coupled to said server database interface, said server database containing tariff and geographical related information on local and long distance carriers; and a client communications module coupled to said processor and to said first communication link, said client communications module for managing communications between said processor and said local client computer.
23. The system according to claim 22, wherein said tariff data system comprises:a report generation system coupled to said processor, said report generation system for producing reports from data collected by said system both automatically and manually; and a subscriber interface coupled to said processor, said subscriber interface for managing the collection and maintenance of subscriber supplied personal data.
24. The system according to claim 22, wherein said server database comprises:
an optional calling plan database coupled to said server database interface;
a distance/local exchange database coupled to said server database interface;
a carrier access database coupled to said server database interface;
a subscriber database coupled to said server database interface; and a client database coupled to said server database interface.
25. The system according to claim 21, wherein said first communication link comprises a telephone line.
26. The system according to claim 21, wherein said first communication link comprises the Internet.
27. The system according to claim 21, wherein said local client computer comprises:
a processor for managing the operation of said local client computer;

a client database update module coupled to said processor, said client database update module receiving and processing database downloads from said tariff data server;
a line unit interface coupled to said processor, said line unit interface for coupling said processor to said at least one line unit;
a least cost router coupled to said processor, said least cost router for determining the optimum route for a call placed by said subscriber, said least cost router returning a carrier dialing string to route said call accordingly;
a user interface coupled to said processor, said user interface for providing aninterface between said processor and said subscriber;
a client database holding personal related information;
a client database interface coupled to said processor, said client database interface providing an interface between said processor and said client database;
a call accounting module coupled to said processor, said call accounting system logging calls placed by said subscriber and determining subscriber call characteristics; and a carrier quality and performance monitoring module coupled to said processor, said carrier quality and performance monitoring module for managing the selection of said long distance carriers based on quality and performance of their connections.
28. The system according to claim 27, further comprising a reporting module coupled to said processor.
29. The system according to claim 21, wherein said second communication link comprises an RS-232 link coupling said local client computer to said at least one line unit.
30. The system according to claim 21, wherein said second communication link comprises a wireless radio frequency link coupling said local client computer to said at least one line unit.
31. The system according to claim 21, wherein said second communication link comprises a wireless infrared link coupling said local client computer to said at least one line unit.
32. The system according to claim 21, wherein said second communication link comprises a Universal Serial Bus link coupling said local client computer to said at least one line unit.
33. The system according to claim 21, wherein said at least one line unit comprises:
a processor for controlling the operation of said line unit;
a dialing receiver coupled to said processor, said dialing receiver intercepting digits dialed by said subscriber and transferring said digits to said processor;
a dialer coupled to said processor, said dialer receiving a dialing string from said processor and causing said dialing string to be dialed onto one of said K
telephone lines;
a local client computer interface coupled to said processor, said local client computer interface providing the interface between said processor and said local client computer;
a pass through coupled to said processor, said pass through having a first and second state, both said first and said second states controlled by said processor, said first state blocking said telephone set from said one of said K
telephone lines, said second state coupling said telephone set to said one of said K telephone lines;
a line monitor coupled to said processor, said line monitor detecting and interpreting signals occurring on said one of said K telephone lines; and a local exchange selector coupled to said pulse/tone dialer, said processor and said N local exchange carriers via said K telephone lines, said local exchange carrier coupling said pulse/tone dialer to one of said N local exchange carriers in accordance with a control signal produced by said processor.
34. The system according to claim 33, wherein said dialing receiver detects and decodes pulse and dual tone multiple frequency tones.
35. The system according to claim 33, wherein said dialing receiver detects and decodes Integrated Digital Network Services (ISDN) signaling information.
36. A telecommunication call management system for determining an optimum route for telephone calls made by users of a private branch exchange (PBX), each of said telephone calls routed through one of N local exchange carriers coupled to said system via K trunk lines, each said local exchange carrier coupled to one of M long distance carriers, the system comprising:
a tariff data server for managing a database containing: tariff and geographicalrelated information on local and long distance carriers;
a first communication link coupling said tariff data server to a local client computer;
said local client computer for maintaining a client database containing personalrelated information, said local client computer for determining said optimum route;
at least one line unit coupled between a user's telephone set and one of said K trunk lines, said at least one line unit coupled to said local client computer, said at least one line unit for intercepting digits outpulsed by said PBX, monitoring said one of said K trunk lines and receiving a dialing string from said local client computer corresponding to said optimum route and transmitting said dialing string to said one of said K trunk lines; and a second communication link coupling said local client computer to said at leastone line unit.
37. The system according to claim 36, wherein said tariff data server comprises: a processor for controlling the operation of said tariff data server;
a server database interface coupled to said processor, said server database interface for fulfilling database requests issued by said processor;
a server database coupled to said server database interface, said server database containing tariff related information on local and long distance carriers; and a client communications module coupled to said processor and to said first communication link, said client communications module for managing communications between said processor and said local client computer.
38. The system according to claim 37, wherein said tariff data system comprises:a report generation system coupled to said processor, said report generation system for producing reports from data collected by said system both automatically and manually; and a subscriber interface coupled to said processor, said subscriber interface for managing the collection and maintenance of subscriber supplied data.
39. The system according to claim 37, wherein said server database comprises:
an optional calling plan database coupled to said server database interface;
a distance/local exchange database coupled to said server database interface;
an access database coupled to said server database interface;
a subscriber database coupled to said server database interface; and a client database coupled to said server database interface.
40. The system according to claim 36, wherein said first communication link comprises a telephone line.
41. The system according to claim 36, wherein said first communication link comprises the Internet.
42. The system according to claim 36, wherein said local client computer comprises:
a processor for managing the operation of said local client computer;
a client database update module coupled to said processor, said client database update module receiving and processing database downloads from said tariff data server;
a line unit interface coupled to said processor, said line unit interface for coupling said processor to said at least one line unit;
a least cost router coupled to said processor, said least cost router for determining the optimum route for a call placed by said subscriber, said least cost router returning a carrier dialing string to route said call accordingly;

a user interface coupled to said processor, said user interface for providing an interface between said processor and said subscriber;
a client database holding personal related data;
a client database interface coupled to said processor, said client database interface providing an interface between said processor and said client database;
a call accounting module coupled to said processor, said call accounting system logging calls placed by said subscriber and determining subscriber call characteristics; and a carrier performance monitoring module coupled to said processor, said carrier performance monitoring module for managing the selection of said long distance carriers based on the quality and performance of their connections.
43. The system according to claim 42, further comprising a reporting module coupled to said processor.
44. The system according to claim 36, wherein said second communication link comprises an RS-232 link coupling said local client computer to said at least one line unit.
45. The system according to claim 36, wherein said second communication link comprises a wireless radio frequency link coupling said local client computer to said at least one line unit.
46. The system according to claim 36, wherein said second communication link comprises a wireless infrared link coupling said local client computer to said at least one line unit.
47. The system according to claim 36, wherein said second communication link comprises a Universal Serial Bus link coupling said local client computer to said at least one line unit.
48. The system of claim 36, wherein said at least one line unit comprises:
a processor for controlling the operation of said line unit;
a dialing receiver coupled to said processor, said dialing receiver intercepting digits dialed by said subscriber and transferring said digits to said processor;

a dialer coupled to said processor, said dialer receiving a dialing string from said processor and causing said dialing string to be dialed onto one of said K
trunk lines;
a local client computer interface coupled to said processor, said local client computer interface providing the interface between said processor and said local client computer;
a pass through coupled to said processor, said pass through having a first and second state, both said first and said second states controlled by said processor, said first state blocking said telephone set from said one of said K
trunk lines, said second state coupling said telephone set to said one of said K trunk lines;
a line monitor coupled to said processor, said line monitor detecting and interpreting signals occurring on said one of said K trunk lines; and a local exchange selector coupled to said pulse/tone dialer, said processor and said N local exchange carriers via said K trunk lines, said local exchange carrier coupling said pulse/tone dialer to one of said N local exchange carriers in accordance with a control signal produced by said processor.
49. The system according to claim 48, wherein said dialing receiver detects and decodes pulse and dual tone multiple frequency tones.
50. The system according to claim 48, wherein said dialing receiver detects and decodes Integrated Digital Network Services (ISDN) signaling information.
51. A telecommunication call management system for determining an optimum telecommunication carrier for a telephone call made by a subscriber, said telephone call routed through one of N local exchange carriers coupled to said system via K telephone lines, each said local exchange carrier coupled to one of M long distance carriers, the system comprising:
a data server for managing a database containing tariff and geographical relatedinformation on local and long distance carriers, local exchange, telephone exchange location related data and subscribers;
a first communication link coupling said data server to a local computer;

said local computer for generating a carrier selection database from selected deterministic and statistical parameters;
at least one line unit coupled to a telephone set, said N local exchange carriers and said local client computer, said at least one line unit for intercepting a call dialed by said subscriber, monitoring one of said K telephone lines, choosing said optimum carrier from said carrier selection database and placing said call utilizing said optimum carrier and one of said N local exchange carriers; and a second communication link coupling said local computer to said at least one line unit.
52. The system according to claim 51, wherein said data server comprises:
a processor for controlling the operation of said data server;
a server database interface coupled to said processor, said server database interface for fulfilling database requests issued by said processor;
a server database coupled to said server database interface, said server database containing tariff and geographical related information on local and long distance carriers; and a client communications module coupled to said processor and to said first communication link, said client communications module for managing communications between said processor and said local computer.
53. The system according to claim 51, wherein said first communication link comprises a telephone line.
54. The system according to claim 51, wherein said first communication link comprises the Internet.
55. The system according to claim 51, wherein said local communication comprises:
a processor for managing the operation of said local computer;
a data server interface coupled to said processor, said data server interface for interfacing with said data server through said first communication link;

a line unit database preparation module coupled to said processor, said line unit database preparation module determining, a priori, optimum carriers for calls placed by said subscriber from said subscriber's location to almost all possible destinations, said line unit database preparation module utilizing said optimum carriers in constructing said carrier selection database;
a line unit interface coupled to said processor, said line unit interface for coupling said processor to said at least one line unit;
a user interface coupled to said processor, said user interface for providing an interface between said processor and said subscriber;
a personal data database holding data relevant to said subscriber's location and calling preferences;
a call accounting module for processing call data uploaded from said at least one line unit; and a multi-LU management module for managing at least one line unit coupled to said local computer.
56. The system according to claim 55, further comprising a reporting module coupled to said processor.
57. The system according to claim 51, wherein said second communication link comprises an RS-232 link coupling said local computer to said at least one line unit.
58 . The system according to claim 51, wherein said second communication link comprises a wireless radio frequency link coupling said local computer to said at least one line unit.
59. The system according to claim 51, wherein said second communication link comprises a wireless infrared link coupling said local computer to said at least one line unit.
60. The system according to claim 51, wherein said second communication link comprises a Universal Serial Bus link coupling said local computer to said at least one line unit.
61. The system according to claim 51, wherein said at least one line unit comprises:
a controller for controlling the operation of said line unit;
a dialing receiver coupled to said controller, said dialing receiver intercepting digits dialed by said subscriber;
a dialer coupled to said controller, said dialer receiving a dialing string from said controller and causing said dialing string to be dialed onto one of said K
telephone lines;
a local computer interface coupled to said controller, said local computer interface providing the interface between said controller and said local computer;
a pass through coupled to said processor, said pass through having a first and second state, both said first and said second states controlled by said controller, said first state blocking said telephone set from said one of said K telephone lines, said second state coupling said telephone set to said one of said K telephone lines;
a line monitor coupled to said controller, said line monitor detecting and interpreting signals occurring on said one of said K telephone lines;
a local exchange selector coupled to said dialer, said controller and said N local exchange carriers via said K telephone lines, said local exchange selector coupling said dialer to one of said N local exchange carriers under the control of said controller; and a carrier selection database comprising tariff information for enabling said at least one line unit to determine said optimum carrier for a telephone call.
62. The system according to claim 61, wherein said dialing receiver detects and decodes pulse and dual tone multiple frequency tones.
63. The system according to claim 61, wherein said dialing receiver detects and decodes Integrated Digital Network Services (ISDN) signaling information.
64. The system according to claim 51, wherein said at least one line unit further comprises:

a call history logging module coupled to said controller, said call history logging module logging calls placed by said subscriber and determining subscriber call characteristics; and a performance monitoring module coupled to said controller, said performance monitoring module for managing the selection of said long distance carriers based on quality and performance of their connections; and a volume accumulator module coupled to said controller, said volume accumulator generating call volume data for use in determining said optimum carrier.
65. A telecommunication call management system for determining an optimum telecommunication carrier for a telephone call made by a subscriber, said telephone call routed through one of N local exchange carriers coupled to said system via K telephone lines, each said local exchange carrier coupled to one of M long distance carriers, the system comprising:
a data server for managing a database containing tariff and geographical relatedinformation on local and long distance carriers, local exchange, telephone exchange location related data and subscribers and for generating a carrier selection database from selected deterministic and statistical parameters;
at least one line unit coupled to a telephone set, said N local exchange carriers and said local client computer, said at least one line unit for intercepting a call dialed by said subscriber, monitoring one of said K telephone lines, choosing said optimum carrier from said carrier selection database and placing said call utilizing said optimum carrier and one of said N local exchange carriers; and a communication link coupling said data server to said at least one line unit.
66. The system according to claim 65, wherein said data server comprises:
a processor for controlling the operation of said data server;
a server database interface coupled to said processor, said server database interface for fulfilling database requests issued by said processor;
a server database coupled to said server database interface, said server database containing tariff related information on local and long distance carriers;

a client communications module coupled to said processor and to said first communication link, said client communications module for managing communications between said processor and said at least one line unit;
a call accounting module for processing call data uploaded from said at least one line unit;
a personal data database holding data relevant to said subscriber's location and calling preferences; and a line unit database preparation module coupled to said processor, said line unit database preparation module determining, a priori, optimum carriers for calls placed by said subscriber from said subscriber's location to almost all possible destinations, said line unit database preparation module utilizing said optimum carriers in constructing said carrier selection database.
67. The system according to claim 65, wherein said communication link comprises a telephone line.
68. The system according to claim 65, wherein said communication link comprises the Internet.
69. The system according to claim 66, further comprising a reporting module coupled to said processor.
70. The system according to claim 65, wherein said at least one line unit comprises:
a controller for controlling the operation of said line unit;
a dialing receiver coupled to said controller, said dialing receiver intercepting digits dialed by said subscriber;
a dialer coupled to said controller, said dialer receiving a dialing string from said controller and causing said dialing string to be dialed onto one of said K
telephone lines;
a data server interface coupled to said controller, said data server interface for interfacing with said data server through said communication link;
a pass through coupled to said processor, said pass through having a first and second state, both said first and said second states controlled by said controller, said first state blocking said telephone set from said one of said K telephone lines, said second state coupling said telephone set to said one of said K telephone lines;
a line monitor coupled to said controller, said line monitor detecting and interpreting signals occurring on said one of said K telephone lines;
a local exchange selector coupled to said dialer, said controller and said N local exchange carriers via said K telephone lines, said local exchange selector coupling said dialer to one of said N local exchange carriers under the control of said controller; and a carrier selection database comprising carrier selection information for enabling said at least one line unit to determine said optimum carrier for a telephone call.
71. The system according to claim 70, wherein said dialing receiver detects and decodes pulse and dual tone multiple frequency tones.
72. The system according to claim 70, wherein said dialing receiver detects and decodes Integrated Digital Network Services (ISDN) signaling information.
73. The system according to claim 65, wherein said at least one line unit further comprises:
a call history logging module coupled to said controller, said call history logging module logging calls placed by said subscriber and determining subscriber call characteristics; and a performance monitoring module coupled to said controller, said performance monitoring module for managing the selection of said long distance carriers based on quality and performance of their connections; and a volume accumulator module coupled to said controller, said volume accumulator generating call volume data for use in determining said optimum carrier by said data server.
CA002227569A 1995-07-21 1996-07-16 Telecommunications call management system Abandoned CA2227569A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/505,024 1995-07-21
US08/505,024 US5764741A (en) 1995-07-21 1995-07-21 Least cost rooting system
US08/610,617 US5799072A (en) 1995-07-21 1996-03-04 Telecommunications call management system
US08/610,617 1996-03-04

Publications (1)

Publication Number Publication Date
CA2227569A1 true CA2227569A1 (en) 1997-02-13

Family

ID=27055008

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002227569A Abandoned CA2227569A1 (en) 1995-07-21 1996-07-16 Telecommunications call management system

Country Status (6)

Country Link
US (1) US5799072A (en)
EP (1) EP0865706A4 (en)
AU (1) AU705826B2 (en)
CA (1) CA2227569A1 (en)
IL (1) IL122903A0 (en)
WO (1) WO1997005749A2 (en)

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299240B1 (en) 1992-04-10 2007-11-20 Intellisync Corporation Method for translating computer data from one record structure to another
US6226365B1 (en) * 1997-08-29 2001-05-01 Anip, Inc. Method and system for global communications network management and display of market-price information
US5978456A (en) * 1994-10-25 1999-11-02 Kokusai Denshin Denwa Co., Ltd. Charging unit price determination/information apparatus and communication system having charging unit price information function
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US6078652A (en) * 1995-07-21 2000-06-20 Call Manage, Ltd. Least cost routing system
US5917897A (en) * 1997-02-24 1999-06-29 Summit Telecom System, Inc. System and method for controlling a telecommunication network in accordance with economic incentives
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
FI101335B1 (en) * 1996-02-09 1998-05-29 Ladybird Innovations Oy Telephone connection establishment method and telecommunication system
US6154445A (en) 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US6069890A (en) 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US7013001B1 (en) * 1996-06-05 2006-03-14 David Felger Method of billing a communication session conducted over a computer network
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195847A1 (en) * 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US6137792A (en) * 1996-06-14 2000-10-24 International Discount Telecommunications Corp. Method and apparatus for enabling transmission of data packets over a bypass circuit-switched public telephone connection
US5970126A (en) * 1996-08-09 1999-10-19 International Business Machines Corporation Communication method and system
SE507372C2 (en) * 1996-09-10 1998-05-18 Ericsson Telefon Ab L M Charging procedure for information transmission in a generic radio-based access network
US5940471A (en) * 1996-10-04 1999-08-17 Northern Telecom Limited Method and apparatus for obtaining feedback regarding network services
US6366575B1 (en) * 1996-11-01 2002-04-02 Teloquent Communications Corporation Extended access for automatic call distributing system
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US5943676A (en) 1996-11-13 1999-08-24 Puma Technology, Inc. Synchronization of recurring records in incompatible databases
US6212529B1 (en) * 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
US5999526A (en) * 1996-11-26 1999-12-07 Lucent Technologies Inc. Method and apparatus for delivering data from an information provider using the public switched network
US5940493A (en) * 1996-11-26 1999-08-17 Bellsouth Corporation System and method for providing directory assistance information
US6078582A (en) 1996-12-18 2000-06-20 Bell Atlantic Network Services, Inc. Internet long distance telephone service
US6377938B1 (en) 1997-02-27 2002-04-23 Real-Time Billing, Inc. Real time subscriber billing system and method
US5960416A (en) * 1997-02-27 1999-09-28 Block; Robert S. Real time subscriber billing at a subscriber location in an unstructured communication network
US6137869A (en) 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6205135B1 (en) * 1997-03-06 2001-03-20 Lucent Technologies Inc Access platform for internet-based telephony
US6574216B1 (en) 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
EP0865215A3 (en) * 1997-03-13 2001-03-14 Ascom Hasler AG Method of least cost telecommunications routing, and apparatus for carrying it out
FI113823B (en) * 1997-03-13 2004-06-15 Nokia Corp Systems for processing service data in a telecommunications system
US6870827B1 (en) 1997-03-19 2005-03-22 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US6389112B1 (en) * 1997-05-07 2002-05-14 Nortel Networks Limited Method and apparatus for on-line monitoring of telecommunication network switches
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
EP0880265A1 (en) * 1997-05-22 1998-11-25 Siemens Aktiengesellschaft Method for billing connections in a communications network
EP0988622B1 (en) * 1997-05-30 2003-09-03 Alcatel USA Sourcing, L.P. System and method for a debit card telecom service
JP3147043B2 (en) * 1997-06-18 2001-03-19 日本電気株式会社 Cost routing device, cost routing method, and recording medium recording cost routing control program
US6137877A (en) * 1997-07-09 2000-10-24 Robin; Bruce Method and apparatus for routing a dialed telephone number
IL121294A0 (en) * 1997-07-13 1998-10-30 Rosenheimer Amir Device for selective connection of telephone to telephone communication carrier according to data supplied by the carrier
ES2127151B1 (en) * 1997-07-22 1999-11-16 Lopez Enrique Romero AUTOMATIC ROAD DEVICE FOR TELEPHONE CALLS.
US6169791B1 (en) * 1997-07-25 2001-01-02 Mediacom Corporation System and method for least cost call routing
WO1999011050A1 (en) * 1997-08-27 1999-03-04 Telephone Holdings Limited Network access device and system using the device
AU740602B2 (en) * 1997-09-04 2001-11-08 British Telecommunications Public Limited Company Telecommunications system
US6094644A (en) 1997-09-12 2000-07-25 Nortel Networks Corporation Method and apparatus for recording actual time used by a service which makes requests for data
US5970121A (en) * 1997-09-12 1999-10-19 Nortel Networks Corporation Method and apparatus for obtaining feedback regarding data network services
US6118860A (en) * 1997-09-12 2000-09-12 Nortel Networks Corporation Public communications services vending method and apparatus
US6212506B1 (en) * 1997-09-16 2001-04-03 Nortel Networks Corporation Per call real time billing display
DE19742858A1 (en) 1997-09-29 1999-04-01 Cit Alcatel Method for charging for the use of an Internet service and service control unit and service provider
US6125372A (en) * 1997-10-03 2000-09-26 Hewlett-Packard Company Server system and method of updating server software
DE19750290A1 (en) * 1997-11-13 1999-05-20 Ibm Dynamic tariff comparison and selection system to determine the cheapest telecommunications provider
EP0926874A1 (en) * 1997-12-24 1999-06-30 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Call charging in a telecommunications system
FI974651A0 (en) * 1997-12-31 1997-12-31 Finland Telecom Oy Vaegval baserat pao prissaettning
US6199047B1 (en) * 1997-12-31 2001-03-06 Csg Systems, Inc. Apparatus and method for an event rating engine
FR2774540A1 (en) * 1998-02-03 1999-08-06 Francois Lacoste Automatic telephone network selection circuit selecting according to tariff
DE19804056B4 (en) * 1998-02-03 2007-08-02 T-Mobile Deutschland Gmbh Method for the cost-effective switching of telecommunication connections within public telecommunication networks
AU2668599A (en) * 1998-02-11 1999-08-30 Global Mobility Systems, Inc. System and method for controlling and selecting long distance telephone rates
DE59804159D1 (en) * 1998-02-19 2002-06-20 Swisscom Mobile Ag CALLBACK METHOD FOR TELECOMMUNICATION WITH APPROPRIATELY ADAPTED DEVICES
US6081508A (en) * 1998-02-25 2000-06-27 Indus River Networks, Inc. Remote computer communication
DE29803342U1 (en) * 1998-02-26 1998-07-09 Walter Andre Telephone cost optimization system
US6304881B1 (en) * 1998-03-03 2001-10-16 Pumatech, Inc. Remote data access and synchronization
JP3204306B2 (en) * 1998-03-03 2001-09-04 日本電気株式会社 Optimal call path re-search device
US6665271B1 (en) 1998-03-17 2003-12-16 Transnexus, Llc System for real-time prediction of quality for internet-based multimedia communications
US6272496B1 (en) * 1998-04-02 2001-08-07 Lucent Technologies, Inc. Method for creating and modifying similar and dissimilar databases for use in private branch exchange configurations for telecommunication systems
ES2140346B1 (en) * 1998-05-06 2000-10-16 Garcia Cipriano Toledo TELEPHONE OPERATOR SELECTOR.
JP4361214B2 (en) 1998-06-05 2009-11-11 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー Communication network
AU2004200250B2 (en) * 1998-06-05 2007-03-15 British Telecommunications Public Limited Company Communications network
US6411604B1 (en) 1998-06-05 2002-06-25 Inet Technologies, Inc. System and method for correlating transaction messages in a communications network
US6529594B1 (en) 1998-06-05 2003-03-04 Inet Technologies, Inc. System and method for generating quality of service statistics for an international communications network
US6249572B1 (en) 1998-06-08 2001-06-19 Inet Technologies, Inc. Transaction control application part (TCAP) call detail record generation in a communications network
US6381306B1 (en) 1998-06-08 2002-04-30 Inet Technologies, Inc. System and method for monitoring service quality in a communications network
US6359976B1 (en) 1998-06-08 2002-03-19 Inet Technologies, Inc. System and method for monitoring service quality in a communications network
US6208719B1 (en) * 1998-06-09 2001-03-27 Hewlett-Packard Company Method and apparatus for telecommunications having automatic network adaptations and silent mode operations
DE59914824D1 (en) 1998-06-15 2008-09-18 Siemens Entpr Communications System and method for remote updating of a telephone number specification
US6052449A (en) * 1998-06-29 2000-04-18 Lucent Technologies Inc. System for controlling the provisioning of long distance service from different network carriers
GB2339108A (en) * 1998-07-01 2000-01-12 Ericsson Telefon Ab L M Call routing data management
DE19829421A1 (en) * 1998-07-01 2000-01-05 Bosch Gmbh Robert Method for the transmission of audio and / or video data between telecommunication terminals
WO2000002372A2 (en) * 1998-07-03 2000-01-13 Koninklijke Philips Electronics N.V. A communication system providing call tariff information about network operators
US6487283B2 (en) 1998-08-04 2002-11-26 Transnexus, Inc. Pricing center for internet protocol routed transactions
US6205211B1 (en) * 1998-08-04 2001-03-20 Transnexus, Llc Internet telephony call pricing center
US6330311B1 (en) * 1998-08-19 2001-12-11 L.C.R. Global Communications, Inc. Low cost call routing system for telecommunications unit
DE19840910A1 (en) * 1998-09-08 2000-03-09 Alcatel Sa Fee information procedure
WO2000022845A1 (en) * 1998-10-12 2000-04-20 Siemens Aktiengesellschaft Method for establishing a communications link in a public communications network
DE19847163C2 (en) * 1998-10-14 2001-02-22 Xdial Software Gmbh Device for reducing telecommunication costs
EP0996275A3 (en) * 1998-10-23 2005-03-23 Siemens Aktiengesellschaft Communications unit for selecting the least-cost route
EP0996268A3 (en) * 1998-10-23 2003-10-22 Siemens Aktiengesellschaft Communication agent for the selection of appropriate communication parameters
CA2291934A1 (en) * 1998-12-10 2000-06-10 Sophia International Co., Ltd. Terminal adapter
DE19858629A1 (en) * 1998-12-18 2000-06-29 Bosch Gmbh Robert Method and telephone for dialing telephone numbers using a callback / call-through provider
US6298125B1 (en) * 1998-12-23 2001-10-02 At&T Corp. Frequency-based discount system for host-system within a communication network
US6327358B1 (en) * 1999-04-27 2001-12-04 Nortel Networks Limited System and method for rerouting data calls to internet service provider via lowest access point in a telephone network
US6240169B1 (en) 1999-05-06 2001-05-29 Mediacom Telesystems, Inc. Communications protocol for least cost call routing system
US6263057B1 (en) * 1999-05-07 2001-07-17 Lucent Technologies Inc. Automatic telecommunications provider selection system
US6466660B1 (en) * 1999-05-14 2002-10-15 Sun Microsystems, Inc. Method and apparatus for retroactively updating a communication billing system
US6542593B1 (en) 1999-06-02 2003-04-01 Accenture Llp Rules database server in a hybrid communication system architecture
US6556659B1 (en) 1999-06-02 2003-04-29 Accenture Llp Service level management in a hybrid network architecture
US6442547B1 (en) 1999-06-02 2002-08-27 Andersen Consulting System, method and article of manufacture for information service management in a hybrid communication system
WO2000074336A2 (en) * 1999-06-02 2000-12-07 Accenture Llp A system, method and article of manufacture for dynamic billing utilizing quality of service in a hybrid communication system architecture
FR2795900B1 (en) * 1999-06-29 2004-09-24 Sigma B V B A ADAPTIVE CALL CENTER
US7444407B2 (en) * 2000-06-29 2008-10-28 Transnexus, Inc. Intelligent end user devices for clearinghouse services in an internet telephony system
US6751652B1 (en) 1999-06-29 2004-06-15 Transnexus, Inc. Intelligent end user devices for clearinghouse services in an internet telephony system
ES2161154B1 (en) * 1999-07-28 2003-04-01 Gonzalez De La Riva Die Fuster SIGNAL SELECTOR DISCRIMINATOR.
FI19991874A (en) * 1999-09-02 2001-03-02 Nokia Networks Oy Billing
ES2155039B1 (en) * 1999-09-07 2001-11-01 Del Valle Miguel Baltanas TELEPHONE CALL ROUTER
US6801617B1 (en) * 1999-09-16 2004-10-05 Mci, Inc. Method and apparatus for providing data to switching elements in a communications system
AUPQ294599A0 (en) * 1999-09-17 1999-10-14 Donaghey, Andrew Telecommunication interface device
DE19947032B4 (en) * 1999-09-30 2006-02-23 Siemens Ag System for controlling and monitoring of first telecommunication terminals coupled to private branch exchanges or of second telecommunication terminals coupled to wide area networks
US6480749B1 (en) * 1999-11-10 2002-11-12 Bellsouth Intellectual Property Corporation Method for performance measurement and an analysis of local exchange carrier interconnections
AU1748600A (en) * 1999-11-30 2001-06-12 Gte Service Corporation Method and apparatus for handset audible zone and number indication
EP1107562A1 (en) * 1999-12-02 2001-06-13 Alcatel An Internet-aided method of setting up a telephone call
WO2001047232A2 (en) * 1999-12-22 2001-06-28 Transnexus, Inc. Secure enrollment of a device with a clearinghouse server for internet telephony system
US6718014B2 (en) 1999-12-27 2004-04-06 Albert M. Haim Discrete stress-reducing human-telecommunications interface
AU2001230921A1 (en) * 2000-01-11 2001-07-24 Transnexus, Inc. Architectures for clearing and settlement services between internet telephony clearinghouses
US6654451B1 (en) 2000-02-07 2003-11-25 Bellsouth Intellectual Property Corporation Methods and systems for billing and routing local toll-free calls
US7443969B2 (en) * 2003-09-24 2008-10-28 At&T Intellectual Property I, L.P. Methods and systems for billing and routing local toll-free communications
US20030126075A1 (en) * 2001-11-15 2003-07-03 First Data Corporation Online funds transfer method
US7366695B1 (en) * 2000-02-29 2008-04-29 First Data Corporation Electronic purchase method and funds transfer system
US7324635B2 (en) 2000-05-04 2008-01-29 Telemaze Llc Branch calling and caller ID based call routing telephone features
US7215749B1 (en) * 2000-05-17 2007-05-08 Gateway Inc. Time, date and originating number display provided to calling party
WO2001098787A2 (en) * 2000-06-22 2001-12-27 Jimmi Limited Tariff generation, invoicing and contract management
JP2002016729A (en) * 2000-06-30 2002-01-18 Sharp Corp Communication device
US7233918B1 (en) * 2000-07-18 2007-06-19 Oracle International Corporation Rating billing events in real time according to account usage information
ATE362251T1 (en) * 2000-09-11 2007-06-15 Transnexus Inc BILLING SERVER FOR INTERNET AND MULTIMEDIA COMMUNICATIONS
US7403600B2 (en) 2000-12-18 2008-07-22 At&T Delaware Intellectual Property, Inc. Person to person telephone services
ATE429100T1 (en) * 2001-01-03 2009-05-15 Nokia Corp AOC ACROSS IP NETWORKS
US6639976B1 (en) * 2001-01-09 2003-10-28 Bellsouth Intellectual Property Corporation Method for parity analysis and remedy calculation
US7525956B2 (en) 2001-01-11 2009-04-28 Transnexus, Inc. Architectures for clearing and settlement services between internet telephony clearinghouses
US6940951B2 (en) * 2001-01-23 2005-09-06 Ivoice, Inc. Telephone application programming interface-based, speech enabled automatic telephone dialer using names
DE10115031A1 (en) 2001-03-27 2002-10-02 Alcatel Sa Process for supporting the transmission of information via a communication system
US8150763B2 (en) 2001-03-31 2012-04-03 The Western Union Company Systems and methods for staging transactions, payments and collections
US7165052B2 (en) * 2001-03-31 2007-01-16 First Data Corporation Payment service method and system
US9853759B1 (en) 2001-03-31 2017-12-26 First Data Corporation Staged transaction system for mobile commerce
CA2443220A1 (en) 2001-03-31 2002-10-10 First Data Corporation Electronic identifier payment system and methods
US7103577B2 (en) 2001-03-31 2006-09-05 First Data Corporation Systems and methods for staging transactions, payments and collections
US7184989B2 (en) 2001-03-31 2007-02-27 First Data Corporation Staged transactions systems and methods
US7359920B1 (en) 2001-04-18 2008-04-15 Intellisync Corporation Communication protocol for synchronization of personal information management databases
US7254226B1 (en) 2001-05-08 2007-08-07 At&T Intellectual Property, Inc. Call waiting priority alert
US20020181442A1 (en) * 2001-05-29 2002-12-05 Purshotam Rajani Multimode personal communication system and method
US7085358B2 (en) 2001-06-25 2006-08-01 Bellsouth Intellectual Property Corporation Visual caller identification
US7012999B2 (en) 2001-06-25 2006-03-14 Bellsouth Intellectual Property Corporation Audio caller identification
US7403768B2 (en) 2001-08-14 2008-07-22 At&T Delaware Intellectual Property, Inc. Method for using AIN to deliver caller ID to text/alpha-numeric pagers as well as other wireless devices, for calls delivered to wireless network
US7315614B2 (en) 2001-08-14 2008-01-01 At&T Delaware Intellectual Property, Inc. Remote notification of communications
US20030035519A1 (en) * 2001-08-15 2003-02-20 Warmus James L. Methods and apparatus for accessing web content from a wireless telephone
GB0121824D0 (en) * 2001-09-10 2001-10-31 Pathfinder Tech Resources Ltd Telephone call dialling
US7269249B2 (en) 2001-09-28 2007-09-11 At&T Bls Intellectual Property, Inc. Systems and methods for providing user profile information in conjunction with an enhanced caller information system
US6792089B2 (en) 2001-11-14 2004-09-14 Sbc Properties, L.P. System and method for generating call records based on account codes
DE10160027A1 (en) * 2001-12-06 2003-06-26 Siemens Ag Arrangement for controlling and / or monitoring at least two communication systems by at least one application
US7315618B1 (en) 2001-12-27 2008-01-01 At&T Bls Intellectual Property, Inc. Voice caller ID
CA2477962C (en) 2002-03-01 2013-07-16 Enterasys Networks, Inc. Location aware data network
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
US7586898B1 (en) 2002-05-13 2009-09-08 At&T Intellectual Property, I, L.P. Third party content for internet caller-ID messages
US7385992B1 (en) 2002-05-13 2008-06-10 At&T Delaware Intellectual Property, Inc. Internet caller-ID integration
US6837273B2 (en) * 2002-06-19 2005-01-04 Saint-Gobain Technical Fabrics Canada, Ltd. Inversion liner and liner components for conduits
US7139374B1 (en) 2002-07-23 2006-11-21 Bellsouth Intellectual Property Corp. System and method for gathering information related to a geographical location of a callee in a public switched telephone network
US7623645B1 (en) 2002-07-23 2009-11-24 At&T Intellectual Property, I, L.P. System and method for gathering information related to a geographical location of a caller in a public switched telephone network
US7602891B2 (en) * 2002-08-13 2009-10-13 At&T Intellectual Property I, L.P. System and method for determining characteristics of international calls
US7110513B2 (en) * 2002-08-13 2006-09-19 Sbc Properties, L.P. System and method for determining characteristics of international calls
US6823053B2 (en) * 2002-10-03 2004-11-23 Sbc Properties, L.P. Method and system for displaying customer information
US6999749B2 (en) * 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Conditional application invocation in a wireless device
US6941134B2 (en) 2002-12-19 2005-09-06 Cingular Wireless Ii, Llc Automated device behavior management based on preset preferences
US6999748B2 (en) * 2002-12-19 2006-02-14 Cingular Wireless Ii, Llc Automated device behavior management based on network charging and rating conditions
US7280818B2 (en) 2004-05-28 2007-10-09 At&T Mobility Ii Llc Mobile device notification with opinions
US7443964B2 (en) 2003-04-18 2008-10-28 At&T Intellectual Property, I,L.P. Caller ID messaging
US7283625B2 (en) 2003-04-18 2007-10-16 At&T Bls Intellectual Property, Inc. Caller ID messaging telecommunications services
US7463727B2 (en) 2003-04-18 2008-12-09 At&T International Property, I, L.P. Caller ID messaging device
US7978833B2 (en) 2003-04-18 2011-07-12 At&T Intellectual Property I, L.P. Private caller ID messaging
US7280646B2 (en) 2003-04-18 2007-10-09 At&T Bls Intellectual Property, Inc. Dynamic Caller ID messaging
US7269412B2 (en) 2003-05-29 2007-09-11 At&T Bls Intellectual Property, Inc. Caller identification device and method of operation thereof
US7623849B2 (en) 2003-11-13 2009-11-24 At&T Intellectual Property, I, L.P. Method, system, and storage medium for providing comprehensive originator identification services
US7672444B2 (en) 2003-12-24 2010-03-02 At&T Intellectual Property, I, L.P. Client survey systems and methods using caller identification information
KR100429097B1 (en) * 2004-02-18 2004-04-29 엔에이치엔(주) Network operator brokering system and telephone system for providing optimal routing path for voice call using the same and providing method thereof
WO2005089147A2 (en) 2004-03-11 2005-09-29 Transnexus, Inc. Method and system for routing calls over a packet switched computer network
US20080261603A1 (en) * 2004-06-02 2008-10-23 Sever Gil System for Optimizing Cellular Telephone Call Placement With Minimal User Overhead
US8195136B2 (en) 2004-07-15 2012-06-05 At&T Intellectual Property I, L.P. Methods of providing caller identification information and related registries and radiotelephone networks
US7641109B2 (en) 2005-05-18 2010-01-05 The Western Union Company Money transfer cards, systems and methods
US8152054B2 (en) 2004-10-19 2012-04-10 The Western Union Company Money transfer systems and methods
US7457283B2 (en) * 2004-12-13 2008-11-25 Transnexus, Inc. Method and system for securely authorized VoIP interconnections between anonymous peers of VoIP networks
US8238329B2 (en) 2005-12-13 2012-08-07 Transnexus, Inc. Method and system for securely authorizing VoIP interconnections between anonymous peers of VoIP networks
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
US7392940B2 (en) 2005-05-18 2008-07-01 The Western Union Company In-lane money transfer systems and methods
US8672220B2 (en) 2005-09-30 2014-03-18 The Western Union Company Money transfer system and method
EP1935152A4 (en) 2005-06-28 2010-08-04 Oracle Int Corp Revenue management system and method
CA2616194C (en) 2005-07-28 2015-02-17 Oracle International Corporation Revenue management system and method
US7706774B1 (en) * 2005-08-11 2010-04-27 Locus Telecommunications, Inc. Control system for enabling use of wireless telephones
US8223777B2 (en) 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US8788354B2 (en) * 2006-04-20 2014-07-22 Sybase 365, Inc. System and method for operator charging gateway
CN101584166A (en) 2006-11-02 2009-11-18 迪吉福尼卡(国际)有限公司 Producing routing messages for voice over IP communications
EP2090024B1 (en) 2006-11-29 2020-03-04 Voip-Pal.Com, Inc. Intercepting voice over ip communications and other data communications
US7933835B2 (en) 2007-01-17 2011-04-26 The Western Union Company Secure money transfer systems and methods using biometric keys associated therewith
US8818904B2 (en) 2007-01-17 2014-08-26 The Western Union Company Generation systems and methods for transaction identifiers having biometric keys associated therewith
US8184786B2 (en) * 2007-02-26 2012-05-22 Service Bureau Intetel S.A. Updating routing patterns in an enterprise network
WO2008116296A1 (en) 2007-03-26 2008-10-02 Digifonica (International) Limited Emergency assistance calling for voice over ip communications systems
US8504473B2 (en) 2007-03-28 2013-08-06 The Western Union Company Money transfer system and messaging system
US8243909B2 (en) 2007-08-22 2012-08-14 At&T Intellectual Property I, L.P. Programmable caller ID
US8160226B2 (en) 2007-08-22 2012-04-17 At&T Intellectual Property I, L.P. Key word programmable caller ID
TR200708505A2 (en) * 2007-12-07 2009-06-22 Turkcell Teknoloj� Ara�Tirma Ve Gel��T�Rme Anon�M ��Rket� GSM traffic management system
JP4445559B2 (en) * 2008-05-30 2010-04-07 株式会社東芝 Presence service providing system and its server unit
US8630234B2 (en) 2008-07-28 2014-01-14 Digifonica (International) Limited Mobile gateway
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
CA2812174C (en) 2009-09-17 2018-05-15 Digifonica (International) Limited Uninterrupted transmission of internet protocol transmissions during endpoint changes

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4585904A (en) * 1982-02-05 1986-04-29 General Telephone Inc. Programmable computerized telephone call cost metering device
US4656657A (en) * 1985-10-15 1987-04-07 Richard Hunsicker Telephone monitoring device
US4791665A (en) * 1987-01-30 1988-12-13 American Telephone And Telegraph Company, At&T Information Systems Inter-exchange carrier access selection feature for a PBX user
US4751728A (en) * 1987-03-27 1988-06-14 Treat John M Telephone call monitoring, metering and selection device
US5185785A (en) * 1991-10-31 1993-02-09 At&T Bell Laboratories Method and apparatus for recording and rating telecommunication transactions made over a communication network
US5425084A (en) * 1992-11-23 1995-06-13 Brinskele; Edward A. Computer-controlled telecommunications system
TW284946B (en) * 1993-01-19 1996-09-01 At & T Corp
US5515425A (en) * 1993-01-19 1996-05-07 At&T Corp. Telecommunications system with active database
US5400395A (en) * 1993-04-05 1995-03-21 The United States Of America As Represented By The Secretary Of The Navy Telephone line selector and call accountant
US5420914A (en) * 1994-02-28 1995-05-30 U S West Technologies, Inc. System and method for real time carrier selection
US5425085C1 (en) * 1994-03-18 2001-10-09 Rates Technology Inc Least control routing device for separate connection into phone line
US5519769C1 (en) * 1994-04-04 2002-05-28 Rates Technology Inc Method and system for updating a call rating database
US5606602A (en) * 1995-11-06 1997-02-25 Summit Telecom Systems, Inc. Bidding for telecommunications traffic

Also Published As

Publication number Publication date
EP0865706A2 (en) 1998-09-23
US5799072A (en) 1998-08-25
AU6368396A (en) 1997-02-26
AU705826B2 (en) 1999-06-03
EP0865706A4 (en) 1999-09-22
IL122903A0 (en) 1998-08-16
WO1997005749A3 (en) 1997-03-27
WO1997005749A2 (en) 1997-02-13

Similar Documents

Publication Publication Date Title
CA2227569A1 (en) Telecommunications call management system
US5862203A (en) Telecommunications call management system
US5764741A (en) Least cost rooting system
US6078652A (en) Least cost routing system
US6263057B1 (en) Automatic telecommunications provider selection system
JP2948225B2 (en) Derivation of flexible shared call charge data
US6606377B2 (en) Method and system for analyzing and preparing an optimum telephone services call plan
AU727372B2 (en) Bidding for telecommunications traffic
EP1804476B1 (en) Database update in a communication assistance system
JP2000500308A (en) Bidding for telecommunications traffic
US6748064B2 (en) Systems and methods for least cost routing of long distance or international telephone calls
WO1998032288A2 (en) Telecommunications call management system
US7532711B1 (en) Systems and methods for providing calling plan information
US6298126B1 (en) Method and apparatus for controlling rating of calls to pay services
RU2335862C2 (en) Method of value-added service price real-time determination in telecommunication network
CN101001280B (en) Universal accounting card service and system thereof
EP1040681B1 (en) Televoting service for an advanced intelligent network
JP2000501903A (en) Telecommunication call management system
AU4675100A (en) Method and apparatus for local routing of toll free calls
US8208613B1 (en) Method and apparatus for controlling routing of calls to pay services
WO2003039127A1 (en) A method for a service provider to charge a called party for a telephone call
Slabon et al. Development and introduction of services in the intelligent network of the deutsche bundespost

Legal Events

Date Code Title Description
FZDE Discontinued