LEAST COST ROUTING APPARATUS UPDATED VIA A BROADCAST SIGNAL

Abstract: Telephone calls originating from terminals having respective routing apparatus (3) are transmitted via a common local network (4) and then via a subsequent network route which is determined by predetermined routing data stored in the routing apparatus (3). The stored information in a look-up table in each of the respective routing apparatus (3) is periodically updated by means of a multipoint broadcast via the common local network (4). The common local network (4) may be a cable network (4) carrying television transmissions so that the updating information may be encoded in a vertical blanking interval portion of the television broadcast signal. The preferred route information is prepared by a remote control centre (7) which also administers billing for calls routed in accordance with the routing information.

Description: LEAST COST ROUTING APPARATUS UPDATED VIA A BROADCAST SIGNAL The present invention relates to an apparatus and method for communicating between two communication terminals and is particularly concerned with an apparatus and method for routing communication between the two terminals along a preferential route. In recent years many countries have liberalised their telecommunications systems. As a result, when a user operates a telephone, the user increasingly has a choice as to the network(s) used to carry his message. Each network has typically a different set of characteristics such as geographical extent, speed of transmission, and an associated cost. Devices are known which automatically route messages along the route of least cost. As the route costings of the networks change, the routing information stored in these devices needs to be updated as the least cost route may have changed. This updating is done using point to point communication by sending updated information along the telephone lines to the least cost route device. A problem with known devices for least cost routing is that each device must be individually updated and hence a large amount of information is transmitted along the telephone lines. It is known from US 5606602 to broadcast by a radio signal bid information relating to a number of competing carriers to user terminals in a telephone system. Such terminals are provided with a processor enabling a decision to be made as to the least cost route based on the costing information received. A disadvantage of such a system is that it requires intelligent processing at the terminal and also that commercially sensitive cost data may be broadcast. According to the present invention there is disclosed a method of controlling routing of telephone calls comprising: collecting route information from a plurality of service providers having respective network connection facilities; compiling a set of preferred routes between call originating terminals and call destinations based on the collected route information; providing respective routing apparatus for each of a plurality of said terminals; preparing for a group of said terminals connected to a common local network a set of predetermined prefix codes for use by said routing apparatus in prefixing user generated call numbers to define the preferred network connection routes; broadcasting to the routing apparatus associated with each terminal of the group predetermined data representative of the preferred routes by communicating a multipoint broadcast signal to the routing apparatus via the common local network; storing the predetermined data in the routing apparatus, and operating the terminals and the routing apparatus in accordance with the predetermined data to make telephone connection between the terminals and the call destinations via the preferred route. In embodiments of the present invention a large number of routing devices incorporating such apparatus may be updated simultaneously as, since the same information is required by many devices, all the devices served by the same local network may receive the same multipoint broadcast signal . According to a further aspect of the present invention there is disclosed apparatus for routing telephone calls comprising; input means operable to receive an input signal representative of a user generated call number defining a user selected call destination; signal generating means operable to prefix the input signal with a prefix signal representative of a selected prefix code defining at least a network connection route selected from a plurality of available routes to the user selected call destination; memory means operable to store a decision table containing predetermined data for determining prefix codes corresponding to a plurality of respective call destinations ; selecting means operable to obtain said selected prefix code corresponding to said user selected call destination by addressing the memory means; output means operable to output an output signal corresponding to the input signal prefixed by the prefix signal; receiving means operable to receive a broadcast signal of updating information, and updating means operable to update the predetermined data stored in the decision table in accordance with the received updating information; wherein the receiving means is responsive to a television broadcast signal to extract said broadcast signal of updating information from a vertical blanking interval of said television broadcast signal. In accordance with a further aspect of the present invention there is provided a control centre for collating updating information and sending it to the local network to be broadcast to a number of routing devices . The control centre may send different updating information to different local networks covering different geographical areas as the preferential route may change between the areas served by different local networks . Exemplary embodiments of the present invention will now be described with reference to the accompanying drawings in which : Figure 1 is a schematic diagram of a communication system of a first embodiment of the present invention; Figure 2 is a block diagram showing the internal structure of the routing device illustrated in Figure 1; Figure 3 is a block diagram of the contents of the RAM of the routing device illustrated in Figure 2; Figure 4 is a block diagram of the contents of the ROM of the routing device illustrated in Figure 2; Figure 5 is a flow chart indicating the sequence of operations when an user operates a telephone attached to the routing device illustrated in Figure 2; Figure 6 is a schematic diagram of the dialling information sent from the routing device illustrated in Figure 2 ; Figure 7 is a flow chart indicating the sequence of events when the routing information in the routing device illustrated in Figure 2 is updated; Figure 8 is a block diagram of a routing device incorporated into a telephone according to a second embodiment of the present invention; Figure 9 is a schematic representation of a stand alone routing device connected to a conventional telephone; Figure 10 is a schematic representation of a telephone and routing device formed unitarily within a single housing; Figure 11 is a schematic representation of a facsimile machine and a routing device formed unitarily in a common housing; Figure 12 is a schematic representation of the operational elements of a routing device of the type referred to in Figures 9 to 11; Figure 13 is a schematic illustration of the use of the Internet in conjunction with a routing device in accordance with the present invention; Figure 14 is a schematic representation showing connection between a telephone, routing device and decoder; and Figure 15 is a schematic representation showing an alternative connection to a decoder. In the following description of preferred embodiments, reference is made to a least cost routing module. Such a module is to be understood to be an example of a routing device in accordance with the present invention and that, although the predetermined information on which the routing device operates will typically be decided on the basis of least cost routing, the information may equally well be determined on the basis of network availability, level of use of networks, or other factors, or combination of the above, which may be appropriate to particular operating circumstances. It is important to note that the routing device, or least cost routing module, is notionally unaware of the basis on which the routing decision is determined, this determination being conducted remotely therefrom by a control centre. The communication system shown in Figure 1 comprises a number of communication networks 5a, 5b, 5c, each of which is connected to a number of local exchanges 6. A number of telephones 1 are each connected to a local cable network 4 via a corresponding routing device referred to hereafter as a least cost routing module (LCRM) 3. A number of telephones 2 are directly connected to each local exchange 6. A control centre 7 is connected to the local cable network 4. At each user location of the cable network 4, the cable, typically in the form of optical cable, is connected to a respective decoder 8 serving to decode signals received at the location via the cable and convert them to electronic signals and also serving to electro-optically convert outgoing signals. In the context of the present disclosure, the term "decoder" is used to signify a device which decodes incoming signals and encodes outgoing signals, otherwise being termed an encoder/decoder. The outgoing signals may be constituted solely by telephone signals or may include other data signals multiplexed in the decoder 8. The cable network 4, in addition to providing telephone services, also provides multipoint communication of broadcast television signals. The decoders 8 have respective UHF television signal outputs 9. The television signal outputs 9 are also connected to the low cost routing module 3 to enable broadcast data to be input to the low cost routing model, as will be described in greater detail below. When a caller at a telephone 1 calls a telephone 2 by dialling a telephone number, the dialled number is transmitted using dual-tone multi-frequency (DTMF) dialling to the least cost routing module (LCRM) 3 which determines from a look up table (described below) which of the networks 5a, 5b, 5c provides the preferred connection between the two telephones 1 , 2 based on routing information currently stored in the LCRM 3. In the present example, the preferred route is a least cost route. The LCRM 3 sends dialling information to the local cable network 4 via the decoder 8, using DTMF dialling, which includes the telephone number of the telephone 2 prefixed by data which includes the access code of the selected least cost route. A node (not shown) of the cable network 4 analyses the dialling information sent by the LCRM 3 and routes the call to the telephone 2 along the selected least cost route. The networks 5a, 5b, 5c may incorporate any means for transmitting information between telephones, for example wires, optical fibres and satellite links. Examples of suitable networks are those provided by telecommunications companies such as British Telecom and AT&T. The Internet is another example of a suitable network. The service providers of networks 5a, 5b, 5c send billing information, containing details of the caller's telephone number, the called telephone number and the duration of the call, to the control centre 7. The control centre 7 subsequently bills the caller. In this way, rather than receiving separate bills from each of service providers of the networks 5a, 5b, 5c, a caller receives one bill from the control centre 7. The operator of the control centre 7 pays each network service provider for the time used on its network. Such networks may be public or private data networks and may include the Internet as described in greater detail below. Such networks may therefore include data networks not originally or primarily intended for carrying voice traffic. The control centre 7 collates costing information for each of the networks 5a, 5b, 5c to determine the current rates charged by the network service provides for communicating between any two telephones 1, 2, and the least cost route is calculated by the control centre 7 for given time periods. Typically network service providers charge at different rates for different times of the day, there being typically a peak charge time period and an off peak time period, these rates also typically differing according to the day of week. Whenever a change in the cost of using a network occurs, the comparison between the cost of each route must be repeated in order to revise the decision as to which of the available routes is a least cost route. The results of this decision must then be passed on to the LCRMs 3. In order to update the routing information stored in each LCRM 3, data to which the LCRM 3 refers by addressing a look up table is periodically broadcast via the cable network 4 to each LCRM 3. The updated least cost route information broadcast by the control centre 7 to each LCRM 3 via the cable network 4 is preferably encrypted and compressed to form a coded signal. In this embodiment, the data is embedded in video television signals using the vertical blanking interval (VBI), in a similar manner to the data transmission of teletext. It is envisaged that the preferred times for transmission of the data would be during periods of off- peak teletext usage. The optimum time for data transmission can be freely selected since the LCRMs 3 are continuously available to receive such data by multipoint transmission. Such transmission occurs independently of any telephone communication being currently handled by the LCRM and does not for example require establishment of a point to point communication between the telephone 1 and the control centre 7. The information broadcast via cable network 4 is detected by each decoder 8 within the geographical area served by the network. The data transmitted may contain address information corresponding to address information stored in the LCRM's 3, the information being arranged to allow the control centre 7 to selectively address all LCRM's, groups of LCRM's or individual LCRM's within the geographical area served by the cable network 4. This information is then used to update the routing information stored in the LCRM 3. With reference to Figure 2, a "stand alone" version of the LCRM 3 comprises a housing 26 (indicated by dashed lines) which supports a socket 13 for receiving a conventional line connection plug (not shown) of the corresponding telephone 1. The socket 13 is connected via a relay 17 to a lead 14 which terminates in a conventional telephone plug 14a, for connecting the module to a telephone socket of the decoder 8 for outgoing or incoming call connection via the network 4. The relay 17 is normally closed so that telephone signals from the decoder pass via the plug 14a, lead 14, relay 17 and socket 13 directly to the telephone 1. In this way, the telephone 1 may receive calls without any impediment by the LCRM 3. In response to initiation of a call from the telephone 1, the relay 17 is temporarily opened under control of a processor 16, thus ensuring that dialling information from the telephone 1 does not go straight to the decoder 8. While the relay 17 is open, the microprocessor 16 retrieves the least cost route information stored in the RAM 19 based on the user generated call number and the time indicated by the clock 20, and transmits to the decoder 8 via the lead 14 and the plug 14a a telephone signal which includes both the identity of the required routing for the call and the number called. Thereafter, the relay 17 is closed to permit the telephone call to proceed. A power supply 27 is connected to the socket 13. The power supply 27 ensures that when the relay 17 is opened the telephone 1 still has a source of power. The power supply 27 may incorporate a battery or may be a mains- powered transformer/rectifier (not shown) . The socket 13 is connected directly to an input of the processor 16 to allow detection of "off hook" status of the telephone. The socket 13 is also connected to the processor via a tone detector 15 thereby allowing the processor to detect a user generated call number. An output of the processor 16 is connected to a tone generator 21 which is connected to the lead 14 thereby allowing the processor to control an output signal to the decoder 4. The lead 14 is also connected to a call progress monitor 25 which is in turn connected to an input of the processor 16 to allow the processor to monitor whether the output signal results in successful connection to the user selected call destination. A further input of the processor 16 is also connected to components allowing updated routing information to be received and stored, including a VBI decoder 23 connected to receive the output of a tuner 200, a read only memory (ROM) 18, a random access memory (RAM) 19 and a clock 20. An LED 24 or other indicator device is connected to an output of the processor 16. The tone detector 15 is a conventional device for detecting the dialled telephone number. The tone generator 21 is a conventional device used to generate the dialling information to be sent to the local exchange 4. The clock 20 is a conventional device which keeps a measure of passing time. When the VBI decoder 23 detects broadcast data it identifies whether the signal is the updating information and decodes the coded signal . The updating information is then sent to the processor 16. The LED 24 indicates the update status of the LCRM 3. The LED 24 may be in one of three states. Firstly, when the LED 24 is on it indicates that the LCRM 3 needs to be initialised. Secondly, if the LCRM 3 has been initialised but no updating information has been received in the last 24 hours, or if updating information has been received in the last 24 hours but the data was corrupted, then the LED flashes. Thirdly, if the LCRM 3 has been initialised and updating information has been successfully received and the LCRM 3 has been updated in the last 24 hours, then the LED 24 is off. The call progress monitor 25 is a conventional device for monitoring signals sent from the networks 5a, 5b, 5c to the telephone 1. The call progress monitor 25 also receives messages sent from the control centre 7 to the LCRM 3 during initialising operation of the LCRM, including for example a registration number of the LCRM and data defining the multipoint broadcast format. Figure 3 is a schematic diagram of the contents of the RAM 19. The LCRM tables 31, 31a indicate least cost routes (network ID) for communicating to call destinations categorised by geographical location (location ID) during each of a number of time periods. At any one time, only one of the LCRM tables 31, 31a is addressable to provide routing information corresponding to a user dialled number. The processor designates which one of the table is to be active, i.e. addressable, and which is to be inactive, on the basis of which table has been most recently updated. Information indicating which of the LCRM tables 31, 31a is active is stored in the active table 35. The purpose of having two LCRM tables 31, 31a is to enable one table to be updated while the other is still available to be addressed for retrieving routing information. Alternatively, a single LRCM table may be provided and updating transmissions arranged to occur at periods when call traffic is lowest, or control circuitry could be provided to suspend operation of the LCRM while updating takes place. Alternatively, updating information may be stored in a buffer memory and used to overwrite corresponding data in a single loo-up table when route selection is not in progress. A schematic and simplified representation of part of one of the LCRM tables 31, 31a is shown in Table 1 below: TABLE 1 In table 1, the first column contains the location ID for five geographical locations corresponding to user selectable call destinations. The first row contains three time periods T l f T 2 and T 3 . For example, Tj might correspond to the period from 7pm to 8am on weekdays, T 2 might correspond to the period from 8am to midday on weekdays, and T 3 might correspond to the period from midday to 7pm on weekdays. The network ID for the least cost route to a location at a certain time is stored in the matrix element in the row which contains the location ID for the location and the column which stores the time period containing the certain time. For the purposes of explanation, the network ID is the label referring to the network in Figure 1. For example, at any time in the time periods T l T 2 and T 3 the network 5a provides the least cost route to a location with location ID "ID1". However, the least cost route to a location with location ID "ID4" is via network 5c during T x , the network 5a during T 2 and the network 5b during T 3 . The labels for the location ID, time period and network ID in Table 1 have been chosen to aid clarity of explanation. In practice numerical values are used for all the entries in the LCRM tables 31, 31a. The location table 30 is a look up table enabling the processor to convert a dialled telephone number to a location ID to be used as the row address when addressing the LCRM table. The network table 32 enables the processor to convert the contents of the LCRM table into a prefix code to be added to the user generated dialled number and which is to be output in the output signal. The update table 33 stores the current update status of the LCRM 3. The working space 34 is used in the running of programs and for buffering information. Figure 4 is a schematic diagram showing the programs stored in the ROM 18. The system manager 40 controls the LCRM 3 using a number of sub-routines . The initialisation sub-routine 41 is run when the LCRM 3 is first switched on to obtain the registration number of the LCRM 3 and the protocol used for updating the LCRM tables 31, 31a. This information is obtained from the control centre 7 via the local exchange 4 and the call progress monitor 25. The initialisation information may also include information concerning local time, day and date for initially setting the clock 20. Alternatively, the clock 20 may include a display and setting switches (not shown) accessible to the user for manually setting the clock. The "process number in" 42, "least cost route" 43 and "produce number out" 44 sub-routines are employed when dialling information is received from a telephone 1, and the "monitor" sub-routine 46 is used when a call is being connected to a network. The sequence of events when a number is dialled at the telephone 1 is shown in Figure 5. At step SI the processor 16 detects electric current flowing between the telephone 1 and the decoder 8 which indicates that the telephone has been taken off-hook by a caller and at step S3 the processor 16 sends a signal to open the relay 17. The "process number in" sub-routine 42 is then activated. The dialled number is buffered in the RAM 19 in step S5. The dialled number is then analysed and the location ID is obtained from the location table 30 in step S7. Next, in step S9 information about the current time is obtained using the clock 20. The "least cost route" sub- routine 43 is run to look up in the active table 35 (of Figure 3) which of the LCRM tables 31, 31a is currently active (step S10) and to obtain the network ID for the least cost route from whichever of the LCRM tables 31, 31a is currently active at step Sll. A reserve network ID corresponding to a "second best" choice may also be retrieved from the LCRM table 31 or 31a, for use in the event that the lowest cost network is unavailable. In step S13 the network references corresponding to the network IDs are obtained from the network table 32. The "produce number out" sub-routine 44 is then run to signal the tone generator 21 to generate DTMF output for the network reference at step S15. The "monitor" sub- routine 46 is then run to monitor the line from the decoder 8 with the call progress monitor 25 for a signal from the network whose network reference has been transmitted indicating whether the network can connect the call (step S16). If the network can connect the call then the "produce number out" sub-routine 44 is activated to signal the tone generator 21 to generate DTMF output for a billing reference (step S17) and DTMF output for the dialled number (step S19). If the network cannot connect the call then the "produce number out" sub- routine 44 is run to signal the tone generator to generate DTMF output for the network reference of a reserve network (step S23). This may for example be a predetermined code identifying the local loop operator to which the terminal is connected for providing the default network connection route. Information defining the identity of the local loop operator is communicated to the processor during initialisation of the LCRM. DTMF output for a billing reference (step S17) and DTMF output for the dialled number (step S19) is then generated. Subsequently at step S21 a signal is sent from the processor 16 to switch the relay 17 to connect the telephone 1 directly to the decoder 8. In principle the dialling information sent from the LCRM 3 to the cable network 4 via the decoder 8 can be in one of many formats . Figure 6 illustrates a schematic diagram of the dialling information sent from an LCRM 3 in this embodiment . The dialling information conforms to the lxxx standard whereby the first digit sent is 1 followed by a number (network reference 50) which indicates the network 5 through which the call is to be routed. A charging information field is then transmitted which includes a control reference number 51 which indicates to the appropriate network service provider that the operators of the control centre 7 need to be billed for the cost of the call. A customer identification field including customer reference number 52 is then sent which is forwarded to the control centre 7 so that the operator of the control centre may bill the user of the telephone 1. Finally the dialled number 53 is transmitted. The "update routing tables" sub-routine 45 shown in Figure 4 is employed when updating information is received in the multipoint broadcast signal received via to television signal output and of the decoder 8. The sequence of events when the routing information in an LCRM 3 is updated is shown in Figure 7. In step S31, the broadcast signal is received via the decoder 8 and the tuner selects the television channel carrying the broadcast data. The VBI decoder 23 identifies that the signal contains updating information and decodes the coded data. In step S37 the updated information is input into whichever one of the LCRM tables 31 and 31a is currently designated as being inactive. Then, at step S39, the designation of which LCRM table 31, 31a is currently active is reversed by the processor by changing the data stored in the active table 35. The update table 33 is updated to record the time at which the LCRM table 31 has been last updated. If after a set period, in this embodiment 24 hours, the LCRM table 31 has not been updated then the processor 16 sends a signal to the LED 24 to start flashing. The updating information may also include information to reset the clock 20 to the correct local time, day and date. This will ensure that all LCRM devices in the updating area are synchronised. The monitor sub-routine 46 shown in Figure 4 is used to monitor messages sent to the LCRM 3. These messages may include information from the control centre 7 or information relating to the call status between the telephones 1, 2, or information to reset the clock 20. Although in this embodiment communication occurs between a telephone 1 and a telephone 2 , the terminals may be any form of telecommunications apparatus, for example facsimile machines and computer modems, and combinations of telephones with radios, alarm clocks, answering machines and the like. Alternatively one or both of the terminals may be a private exchange such as private automatic branch exchange (PABX) or a network signal router. In Figure 1, only the telephones 1 are connected to the telephone system via a respective LCRM 3. However, the telephones 2 may also be connected to a local exchange 6 via an LCRM. It is only necessary for the telephone 1 used for dialling outgoing calls to be connected to an LCRM 3. In Figure 1 the local exchanges 6 are shown separate from the networks 5a, 5b, 5c. However, the local exchanges 4, 6 may also form part of a network and the cable network 6 may itself include an exchange (not shown) which may be geographically located locally or remotely relative to the telephones 1 which the cable network serves. Although the local cable network 4 illustrated in Figure 1 will typically comprise a star network serving a given geographical area by means of optical fibre cables, it is to be understood that parts of such a network may incorporate other forms of communication such as microwave links, a satellite link, or other analogue or digital network capable of broadcasting the multipoint broadcast signal. It may in some circumstances not be essential to send the customer reference number 52 in the outgoing telephone call if the exchange to which the call is first routed has the means to identify the telephone 1 of the caller, for example the Call Line Identifier (CLI) system. Alternatively, the means to identify the telephone 1 of the caller may be located in the networks 5a, 5b, 5c or the local exchange 6. Rather than employing the lxxx standard, the LCRM 3 could dial the number for a central routing unit and then transmit the routing information and the telephone number of the destination apparatus. The central routing unit is then able to route the call along the least cost route . It would be possible in an alternative embodiment to omit the location table 30 and to store in the LCRM routing information for every area code available as a call destination. However, it is advantageous to have a location table 30 as the amount of information which needs to be stored in the LCRM table 31 and subsequently updated may be reduced since a region with the same routing cost will frequently be larger than a region covered by an area code. Similarly, the information stored in the network table 32 could be included in the LCRM table 31 and thus the need for the network table 32 obviated. However it is advantageous to have a network table 32 because it reduces the quantity of information that needs to be stored in the LCRM table 31 and updated. Although in the arrangement of Figure 2 the decoder 8 is separate from the housing 26 of the LCRM 3, the decoder and the LCRM may alternatively be located inside a common housing. The LED 24 and the call progress monitor 25 in this embodiment may alternatively be omitted if simpler construction is desired. If the call progress monitor 25 is omitted, the registration number of the LCRM 3 and the protocol used for updating the LCRM table 31 may be input manually or received from the control centre 7 via the multipoint broadcast using a predetermined protocol. Although in this embodiment the control centre 7 is connected to the networks 5a, 5b, 5c via telephone lines so that the networks 5a, 5b, 5c can transmit billing information to the control centre 7 , alternatively the billing information may be sent by any other suitable link, for example a satellite link which does not form part of the networks 5a, 5b, 5c. Different networks 5a, 5b, 5c may send their billing information to the control centre 7 by different ways. In this embodiment, if the network whose network reference is transmitted is unable to connect the call, the network reference of a reserve network is transmitted. Alternatively, the LCRM table 31 could store routing information indicating the least cost route and the next least cost route. If the network for the least cost route is unable to connect the call, the network with the next least cost route would be utilised. Similarly the LCRM table could store details of three or more networks. As another alternative, if the network whose network reference is transmitted is unable to connect the call, the LCRM 3 may transmit the dialled number directly without providing routing information. In this embodiment, the LCRM 3 buffers the entire number dialled at the telephone 1 in the RAM 19. However, the information required to determine the least cost route is contained in the first few digits of the dialled number. It is therefore possible that the connection via the least cost route may be established before a caller has finished dialling the number. In this case, it is possible to buffer the digits of the dialled number as they are input at the telephone 1 and, once the call has been connected to the network with the least cost route, transmit the digits of the dialled number buffered in the RAM 19 and then close the relay so that the remaining digits may go directly from the telephone 1 via the socket 13, the relay 17, the lead 14 and the plug 14a to the decoder 8. A second embodiment of the present invention will now be described. In this embodiment, rather than having a separate LCRM apparatus 3 of the first embodiment as shown in Figure 9, the function of the LCRM 3 is incorporated into a telephone 102. Such an arrangement is shown schematically in Figure 10 in which a telephone 102 incorporates routing apparatus 104. Similarly, as shown in Figure 11, the routing device 104 may be unitarily formed in a facsimile machine 103. As shown in Figure 8, the telephone apparatus according to a second embodiment of the invention comprises a two wire to four wire converter 60. The two wire input side of the two wire to four wire converter 60 is connected to a telephone socket 62 via an off-hook switch 61. On the telephone socket 62 side of the off-hook switch 61, a ringer 63 is positioned between the two wires. The contacts of the off-hook switch 61 are closed when the handset is picked up for use. On the four wire side of the two wire to four wire converter 60, two wires are connected to a microphone 64 and two wires are connected to an ear piece 65. A DTMF generator 66 is also connected to the two wire to four wire converter 60 in parallel with the microphone 64. The DTMF generator 66 is also connected to an output of a processor 67. The processor 67 is connected to a keypad 68, a ROM 69, a RAM 70, a clock 71 and an LED 75. An input of the processor 67 is also connected to a VBI decoder 23, which is connected to a tuner 200 which is connected to an input socket 74 for receiving the television signal output of the decoder 8. As shown schematically, in Figures 10 and 11, the telephone or facsimile apparatus 102, 103 having a circuit shown in Figure 8 may replace a telephone 1 connected to an LCRM 3 in the communication system shown in Figure 1. When a caller picks up the telephone, the off-hook switch 61 connects the two wire to four wire converter 60 to the telephone socket 62. The caller then inputs the telephone number of the telephone he desires to call at the keypad 68 which sends this information to the processor 67. The processor 67 identifies the least cost route to the destination telephone and sends dialling information for the location of the telephone and the least cost route to the DTMF generator 66. The DTMF generator 66 then transmits this information to the decoder 8 exchange via the telephone socket 62 for subsequent electro-optical conversion and transmission over the local cable network 4. The function of RAM 70, clock 71 and LED 75 is substantially identical to that of the corresponding features in the first embodiment. The programs stored in the ROM 69 are substantially the same as the programs stored in the ROM 18 in the first embodiment as shown in Figure 4 except for the monitor sub-routine 46 which is no longer present and the system manager program 40 which is now modified. The system manager program controls the telecommunication apparatus and is therefore different from the system manager program of the LCRM 3 in the first embodiment. The routine for updating the routing information is identical to that in the first embodiment, as shown in Figure 7. The ringer 63 in Figure 8 is provided to enable a signal to be made when a call is received from another telephone. The keypad 68 for inputting dialling information is connected to the processor 67. Although in this embodiment a keypad 68 is used, any method for inputting dialling information, for example a voice recognition system may be employed. The processor 67 is connected to a DTMF generator 66 for generating dialling information signals to be sent to a local exchange. The microphone 64 and the earpiece 65 are used for inputting sound to be transmitted and receiving sound transmitted from the dialled telephone respectively. Although in this embodiment a two wire to four wire converter 60 is used, the invention may be applied equally to telephones incorporating other circuits. In the second embodiment, the telephone has an in-built least cost routing module 104. Similarly, least cost routing modules could be incorporated into other telecommunication apparatus such as facsimile machines, modems and PABXs. A routing device incorporated into a facsimile machine 103 is illustrated schematically in Figure 11. A DTMF detector may be additionally added to the telephone apparatus of the second embodiment, connected in parallel with the ear piece 65. In this way information can additionally be sent to the processor 67 using point to point communication via the telephone line. An example of information which may be sent in this way is the telephone number of a telecommunications apparatus which has been used to call the telephone apparatus of the second embodiment or information required to initialise the telephone apparatus. A sub-routine with substantially the same functions as that of the monitor sub-routine 46 in the first embodiment may be added in addition to the DTMF detector so that the processes outlined in the first embodiment in relation to the monitor sub-routine 46 may be employed. The earpiece 65 may be replaced by a loudspeaker, for example in a telephone apparatus which has "hands-free" capability. Figure 12 illustrates schematically a generalised routing device in accordance with the present invention. An input device 130 receives an input signal representative of a user generated call number which defines the user selected call destination. A signal generator 131 prefixes the input signal with a prefix signal which is representative of a selected prefix code defining the preferred network connection route and including other data relating to customer identification and charging. An output device 132 outputs an output signal which consists of the input signal prefixed by the prefix signal to the local network 4 via encoder/decoder 8. A selector 133 obtains the selected prefix code by addressing a decision table 134 or 135, depending upon which of the decision tables is currently active, the address information including call destination data, time period data, and day of the week data from a calendar 141. An updating device 136 updates whichever of the decision tables 134 and 135 is currently inactive and receives updating information from a tuner 200 and a VBI decoder 23 . A clock 139 and the calendar 141 are also updated by the received broadcast information for providing the additional address information for the selector 133 in addressing the look up tables 134 and 135. The active memory is designated by a designating means 140, depending upon whichever of the tables 134 and 135 has been most recently updated. A call progress monitor 25 monitors whether the call has been connected in accordance with the output signal from the output device 132 and, if no connection has been possible, prompts the signal generator 131 to generate an alternative, default output signal to a different network connection route. Figure 13 illustrates a further alternative system incorporating a routing device 3 where the available routes for connection between telephones 1 and 2 include a packet network such as the Internet 150. The telephone 1 and routing device 3 are connected to telephone network 5 in the manner described above and connection between telephones 1 and 2 may be made via any one of a number of available network connection facilities 151. An Internet service provider 152 connected to the telephone network 5 may be the selected route to receive a call from telephone 1 and in response to receipt of such a call, the ISP (Internet Service Provider) 152 establishes connection with a second ISP 153 via the Internet. Transmission of the telephone call between the first and second ISP's 152 and 153 requires use of the Internet protocol, the telephone signal being digitized and subject to fragmentation for packet communication as datagrams which are reassembled in the second Internet Service Provider 153 and reconstituted as telephone signals for forwarding to the telephone 2 via telephone network 5C. Establishing connection via this route requires the routing device 3 to prefix the dialled number with a telephone number of the first ISP 152, in addition to any other routing information which may be required. Customer dial records generated by the ISP 152 are passed to the control centre 7 for billing. It is envisaged that use of the Internet or other public or private data networks may prove to be the preferred route for certain long distance telephone calls, particularly when on-going improvements in Internet and data networks performance are implemented. Figure 14 illustrates schematically a typical connection of a telephone 1 , low cost routing module 3 and decoder 8 for an optical cable network. The decoder 8 provides decoding of optical signals received from the network to provide a television signal output 9 which is connected to a television set 202. The decoder also provides decoding of the optical signals to output telephone signals via signal line 203 to the LCRM 3. In the arrangement of Figure 14, data for updating the LCRM 3 is encoded within the television broadcast signal and a Y coupler 204 allows the telephone signal output 9 to be divided so that the television signal is also available for input to the LCRM. In this manner, a conventional decoder 8 may be utilised without modification. In the alternative arrangement shown in Figure 15 , the decoder 8 is modified to provide additionally a digital data output 201 which is input to the LCRM 3. The television signal output 9 is connected directly to the television set 202 without division. Such an arrangement is useful where the broadcast information is not embedded within the television signal but is available within a multipoint broadcast of digital data provided by the cable network 4 or other analogue or digital network. Appropriate modification to the LCRM 3 to accommodate direct input of digital data is therefore required in each of the above described embodiments. Such digital data may be transmitted as packetised data using existing proprietary transmission systems or protocols such as UDP, a one-way transmission protocol which is a derivative of TCP Internet protocol. The multipoint broadcast data may be communicated to the local network via the Internet or via a digital voice network. In the previous embodiments the term "off-hook" is used to signify that a telecommunication apparatus is in use. Although in the previous embodiments a call has been routed along the least cost route, the least cost route is not in all cases the most preferable. For example, the preferred route may be via the network connection for reliability, quality of signal or connection capacity are optimum. The control centre may collate and send routing information based on any criteria for preferability . A routing device as described in the first embodiment can in an alternative embodiment (not shown) be made with a plurality of operating modes which are accessible by a user. A user could set the routing device to 'least cost 1 mode when it is attached to a telephone or to a 'maximum bandwidth' mode when it is attached to a computer modem. The required operating mode may be selected by actuating the keypad of the telephone. The required mode is therefore available as a further parameter used in addressing the look-up table and corresponding data is stored in the table for each mode. In this way, the preferred route may be selected according to the type of telephone call to be made, i.e. the type of signal to be transmitted, such as for example voice signals, facsimile image signals or Internet Protocol data. In a further embodiment of the invention, not illustrated, a route selection apparatus is provided for a computer equipped with a modem by providing a broadcast receiver associable with the processor of the computer and installing software in the computer memory to provide memory means to store route information, selection means to select the preferred route and to provide routing information to the computer's modem when a call is to be made , the stored route information recorded in the memory of the computer being updated in response to an updating signal received from the multipoint broadcast. In such an implementation, the processor of the computer will fulfil the functions of the processor 16 described in the first embodiment of the invention, and the random access memory and hard disc memory of the computer will provide the necessary data storage facilities. Optionally, in all the embodiments, an additional table may be stored in the RAM storing calender information so that information relating to the day of the week or public holidays may be separately stored. This information may then form part of the address used in addressing the look up table containing routing information. The routing information may be updated at any time but would preferably be updated either at regular intervals, preferably between one day and one month, or whenever the preferential routing information changes.

Claims: CLAIMS 1. A method of controlling routing of telephone calls comprising: collecting route information from a plurality of service providers having respective network connection facilities (5a, 5b, 5c); compiling a set of preferred routes between call originating terminals (1) and call destinations (2) based on the collected route information; providing respective routing apparatus (3) for each of a plurality of said terminals; preparing for a group of said terminals connected to a common local network (4) a set of predetermined prefix codes for use by said routing apparatus in prefixing user generated call numbers to define the preferred network connection routes; broadcasting to the routing apparatus associated with each terminal of the group predetermined data representative of the preferred routes by communicating a multipoint broadcast signal to the routing apparatus via the common local network; storing the predetermined data in the routing apparatus, and operating the terminals (1) and the routing apparatus ( 3 ) in accordance with the predetermined data to make telephone connection between the terminals and the call destinations via the preferred route. 2. A method as claimed in claim 1 wherein the preferred routes are determined on the basis of least cost. 3. A method as claimed in any of claims 1 and 2 wherein the multipoint broadcast signal is broadcast by a vertical blanking interval portion of a television broadcast signal (9). 4. A method as claimed in any preceding claim wherein the local network comprises a cable network (4) carrying a plurality of television channels in addition to telephone services and wherein at least one of said television channels carries said multipoint broadcast signal containing said predetermined data. 5. A method as claimed in any of claims 1 and 2 including the step of updating the preferred route information stored in the routing apparatus by decoding multipoint broadcast data from the local network and inputting the decoded broadcast data to a memory of the routing apparatus. 6. A method as claimed in claim 5 wherein the decoding step extracts digital data from the multipoint broadcast signal and outputs the digital data (201) to the routing device. 7. A method as claimed in claim 5 wherein the multipoint broadcast data is communicated to the local network via the internet. 8. A method as claimed in claim 5 wherein the multipoint broadcast data is communicated to the local network via a digital voice network. 9. A method as claimed in any preceding claim wherein at least one of said service providers is an Internet service provider (152) having Internet connection facilities (150) and wherein at least one of said predetermined prefix codes defines a network connection route via the Internet. 10. A method as claimed in any preceding claim comprising: identifying an off peak period in the transmission of multipoint broadcast transmissions in which spare capacity exists in the transmitter operation due to fluctuation in user demand; and transmitting the multipoint broadcast signal containing the predetermined data for telephone call routing during an off peak period to said telephone call routing devices . 11. A control centre (7) for use in controlling the routing of telephone calls comprising: means (7) for collecting route information from a plurality of service providers having respective network connection facilities; means ( 7 ) for compiling a set of preferred routes between call originating terminals and call destinations based on the collected route information; means ( 7 ) for preparing a set of predetermined prefixed codes for a group of user terminals (1) served by a common local network ( 4 ) for use in prefixing user generated call numbers to define the preferred network connection routes; and means (7) for broadcasting to routing apparatus (3) associated with said terminals the predetermined data by means of a multipoint broadcast signal via the local network. 12. Apparatus (3) for routing telephone calls comprising; input means (130) operable to receive an input signal representative of a user generated call number defining a user selected call destination (2); signal generating means (131) operable to prefix the input signal with a prefix signal representative of a selected prefix code defining at least a network connection route selected from a plurality of available routes to the user selected call destination; memory means (134, 135) operable to store a decision table containing predetermined data for determining prefix codes corresponding to a plurality of respective call destinations; selecting means (133) operable to obtain said selected prefix code corresponding to said user selected call destination by addressing the memory means; output means (132) operable to output an output signal corresponding to the input signal prefixed by the prefix signal; receiving means (200,23) operable to receive a broadcast signal of updating information, and updating means (136) operable to update the predetermined data stored in the decision table in accordance with the received updating information; wherein the receiving means is responsive to a television broadcast signal to extract said broadcast signal of updating information from a vertical blanking interval of said television broadcast signal. 13. Apparatus as claimed in claim 12 wherein the updating information comprises a set of updated predetermined data defining an updated decision table. 14. Apparatus as claimed in any of claims 12 and 13 wherein the memory means includes first and second memory areas operable to store respective first and second decision tables (135, 134), the apparatus further comprising designating means (140) operable to selectively designate only one (135) of said first and second memory areas as an active memory addressable by the selecting means and to designate the remaining one (134) of the memory areas as an inactive memory which is non-addressable by the selecting means, whereby the selecting means is operable to address the decision table in the active memory and the updating means is operable to update the predetermined data stored in the inactive memory, and wherein the designating means is operable to designate as the active memory the memory area for which updating has most recently been completed. 15. Apparatus as claimed in any of claims 12 to 13 wherein the memory means is further addressable with time period data representative of a time period within which the input signal is received, whereby for each call destination the predetermined data defines a plurality of prefix codes corresponding to a plurality of respective time periods. 16. Apparatus as claimed in claim 15 further comprising clock means (139) operable to provide said time period data to the selection means according to current local time. 17. Apparatus as claimed in claim 16 wherein the updating information includes clock resetting data and wherein the apparatus comprises clock resetting means (136) operable to reset the clock means. 18. Apparatus as claimed in any of claims 12 to 17, comprising means (30) for determining the user selected call destination used by the selecting means in addressing the decision table based on the first received digits of the user generated call number. 19. Apparatus as claimed in claim 18, wherein the input means is arranged to store the sequentially received user generated call number digit by digit in a buffer (19) until the selection means has selected the selected prefix code on the basis of the first received digits and until the output means has output an initial portion of the output signal representative of both the prefix code (50, 51, 52) and the stored first received digits, the output means being thereafter operable to output a remaining portion of the output signal representative of sequentially received further digits of the user generated call number without said further digits being stored in the buffer. 20. Apparatus as claimed in any of claims 12 to 18, wherein the input means is operable to store all of the digits (53) of the sequentially received user generated call number in a buffer (19) while the selection means selects the selected prefix code, and the output means is operable thereafter to output the output signal. 21. Apparatus as claimed in any of claims 12 to 20 wherein the prefix code includes a customer identification field (52) containing user specific identification data. 22. Apparatus as claimed in any of claims 12 to 21 wherein the prefix code includes a charging information field (51) containing charging information for identifying a control entity to be billed by a network provider corresponding to the selected network connection route. 23. Apparatus (100) as claimed in any of claims 12 to 22 wherein said input means comprises connection means (13) for connection via an external cable to at least one of a telephone (101) and a facsimile machine (103) to receive said input signal therefrom. 24. Apparatus as claimed in any of claims 12 to 22 formed unitarily with a telephone set (102). 25. Apparatus as claimed in any of claims 12 to 22 formed unitarily with a facsimile device (103). 26. Apparatus as claimed in any preceding claim wherein said receiving means comprises a tuner (200) responsive to a predetermined television channel and a vertical blanking interval decoding means (23) operable to extract said broadcast signals from video signals corresponding to said television channel. 27. Apparatus as claimed in any of claims 12 to 26 comprising detecting means (25) operable to detect whether connection to the user selected call destination has been possible via the selected network connection route in response to the output signal, and default means (S23) operable when such connection is detected not to be possible to output a default output signal defining a default route to the user selected call destination. 28. Apparatus as claimed in claim 27 wherein the predetermined data defines prefix codes predetermined by a remote entity ( 7 ) to provide network connection at minimum cost. 29. A method of collecting charging information for calls made via a plurality of telephone network service providers, comprising prefixing each call with a code representative of call management information identifying a charging control centre and a customer identifier; each network service provider collating call charging information for calls connected via their respective network and including the call management information; the service providers transmitting collated call charging information to the charging control centre; and wherein the charging control centre collates said call charging information for subsequent billing of customers corresponding to the customer identifiers.

Inventors: DE BEER LEON, DE BEER, LEON
Applicants: BEER LEON DE, PATHFINDER TECH RESOURCES LTD, DE BEER, LEON, PATHFINDER TECHNICAL RESOURCES LIMITED
Application year: 2000
Main classification: H04Q3
IPC codes: H04M7, H04M15, H04N7, H04Q3