2364473 TELEPHONE LINE POWERED CENTRAL OFFICE DPQ.E AND RECONNECT METHOD
AND APPARATUS
Field of-the Invention
The invention relates to automatic telephone dialers and more specifically to line powered automatic dialers for use with the central office (CO) of a 5 publicly switched telephone network (PSTN) which automatically switches to an automated voice mail system after a.set inactivi ty time on a telephone line.
Backaround to the Invention
10 Automatic dialers which determine routing and access control sequences for a number to be reached are known, see for example US Patent application 09/079280 for a LOW POWER DIALER filed 15 May 1998 by Casselman et al., the teachings of which ate incorporated herein by 15 reference. The number to be called is entered by the user and is saved by the automatic dialer. Through the use of a microcomputer or a CPU inside the automatic dialer, the automatic dialer determines the routing the call may take or specific control sequences which are to 20 be appended to the number so that calling plans or discount routings may be taken advantage of, prior to initiating the actual call. This actual call is initiated after the determination is complete and is done via a telephone line to the CO of the PSTN. When 25 the user goes off-hook/ the dialer seizes the telephone line, clearing the line, and is powered by the line voltage. While the user is entering the number, the dialer acquires a telephone line on the PSTN and holds 1 that line in readiness for when the determination is complete. After completion, the call is initiated on the PSTN telephone line.
Unfortunately, the routing or control access 5 sequences to be followed for a particular number may take several seconds as the CPU has to wait not only for the user to enter the numbers but also to possibly access databases or routing tables. This delay may cause problems in some countries since the PSTN may 10 automatically route a line to a voice mail system if there is no activity on the line or if a call is not initiated within a set period of time. As an example, in Spain the PSTN automatically routes a call to a caretaker voice mail system if a call is not initiated 15 within five seconds or if no activity is detected on the line after a period of five seconds. If such routing or control access sequence determination takes more than five seconds, the line which the automatic dialer has seized is routed to the voice mail system, necessitating 20 the dialer to drop the line and seize a new one.
However, since the CPU in many automatic dialers is powered by the current from a PSTN telephone line, the line drop causes the CPU to lose its power and its internal data. Any steps in the routing or control 25 access sequence determination already carried out are therefore lost along with the dialed number. This necessitates the user reentering the number without any guarantee that the determination or the call initiation will be carried out in the required time frame.
30 From the above, to avoid the necessity of restarting the call, it is therefore clear that there is a need for an automatic dialer which can execute a line drop and reconnect sequence without losing the CPU 2 internal data. Furthermore, it is clear that there is a need for a method to be used with this automatic dialer that can overcome the short time window allowed by some PSTNs for initiating a telephone call.
Summary of the Invention
The present invention provides an automatic dialer and a method for its use with PSTN telephone lines. A timer within the automatic dialer initiates a 10 programmable countdown when the PSTN line goes off-hook.
Then, when countdown expires, a signal is generated which alerts the CPU to the need for a shutdown. The shutdown sequence begins by preparing an auxiliary power supply that can supply power to the CPU while the 15 telephone line current is unavailable. After the preparation, the CPU enters a low power mode which effectively shuts down the CPU but does not lose the CPU's internal data. The PSTN line is then caused to go on-hook by the dialer for a length of time sufficient to 20 terminate the line. After this length of time, a signal is generated which causes the CPU to exit its low power mode and causes the dialer to acquire a new PSTN line.
The new PSTN line then supplies power to the CPU and-the CPU then resumes its previous function using its 25 internal data. The CPU can thus resume its routing or control access sequence determination where it left off without losing any data. The call can therefore now be initiated using the new PSTN line.
In a first embodiment, the invention provides -to a method of assuring that a telephone line is available to an automatic dialer during a telephone call, the method comprising:
3 a) receiving a number to be called from a user; b) storing the number in a memory; c) acquiring a PSTN telephone line to a 5 telephone central office; d) determining a control access sequence or a routing based on the number to be called and placing the telephone call through the PSTN telephone line; 10 e) initiating a timer which will generate an interrupt if step d) is not completed in a predetermined amount of time; f) if the timer generates an interrupt, fl) dropping the PSTN. telephone line.
15 f2) waiting a set amount of time corresponding to a line terminator time to properly drop the PSTN telephone line; f3) repeating steps c)- f) including resuming-step d) if required.
In a second embodiment, the invention provides a method of temporarily switching a power supply of a CPU in an automatic dialer, the method comprising:.
a) determining if a shutdown of the CPU is 25 required; b) charging an auxiliary power supply to supply power to the CPU during the shutdown; c) shutting down the CPU by having the CPU enter a low power mode; 30 d) determining if an appropriate shutdown time has expired;' 4 e) af ter the appropriate shutdown time has expired, generating an interrupt which causes the CPU to leave the low power mode and resume its op,-ration.
In a third embodiment, the invention provides 5 an automated dialer comprising:
a CPU for automatically determining a routing or a control access sequence for a nWober to be called; dialing means for receiving the number to be called from a user, said dialing means being coupled to 10 the CPU; memory means coupled to the CPU for storing the number to be called; timer means for determining whether the CPU has determined the routing or control access sequence 15 within a predetermined amount of time; line drop and reconnect means for automatically dropping and reconnecting to a telephone line, said line drop and reconnect means being coupled to the CPU and the timer means; 20 wherein the line drop and reconnect means drops and reconnects to a telephone line if the CPU has not determined the routing or control access within the predetermined amount of time.
25 Brief Description-of the Drawincrs
Figure 1 is a block diagram of an automatic dialer according to the invention; Figure 2 is a block diagram of an automatic dialer according to another embodiment of the invention; 30 and Figures 3 and 4 are flowcharts of events and decisions followed by an automatic dialer constructed in accordance with the invention.
De,5_Qription Qf the Pre f erred - Embodiment Referring to Fig 1, an automatic dialer 5 is illustrated. A CPU 10 is coupled to a split relay 15.
This relay 15 is in turn coupled to a transceiver 20 5 which connects to a,PSTN 30. A real time clock (RTC) /timer 40 is also. coupled to the CPU 10. The CPU is powered by a power supply 50 and receives the number to be reached f rom. a user 60.
The CPU, on receiving the number to be reached 10 from user 60, begins to determine the routing or the control access to be used for the number. However, at the time the user 60 starts the call, the CPU 10 commands the transceiver 20 to acquire a line on the PSTN 30. once the transceiver 20 acquires a PSTN line, 15 the RTC 40 initiates the countdown of an off-hook timer.
The length of this countdown may vary for different PSTNs. The split relay 15 prevents the transceiver 20 from receiving the dial led number until the CPU 10 determines the proper routing-or control access sequence 20 to be used. However, the split relay 15 does not prevent current from the PSTN line from reaching the CPU 10.
once the CPU 10 finishes its determination of the routing or the control access sequence required, it 25 initiates the call through the transceiver 20 and the PSTN line acquired by the transceiver 20. The CPU 10 sends the proper number to the transceiver after the determination -- as noted above, this number may be the original number entered by the user or it may be a 30 modified number which includes not only access sequences but also possibly routing codes required. If the RTC/timer 40 countdown expires before the CPU 10 can initiate the call, the CPU has to command the 6 transceiver 20 to drop the PSTN line. The dialer 10 now has to wait a set waiting time (on hook time) to ensure that the PSTN line has been dropped. Thi,s set waiting time is programmable to account for different PSTNs.
5 After the set waiting time has passed (measured by the CPU perhaps through the use of the RTC/timer with the CPU being alerted by means of an interrupt or a flag which is set when the set waiting time has passed), the CPU commands the transceiver 20 to acquire a new PSTN 10 line. once this line is acquired, the off -hook ti mer is reset and the CPU can then continue the process. IF the d etermination has been completed by this point, the CPU then initiates the call through the new PSTN line.
If the determination has not yet been completed, the CPU 15 10 continues the determination of the routing or control access sequence.
It should be noted that the above description and Fig 1 uses a power supply 50 which is independent of the PSTN. As noted above, in some dialers the dialer is 20 powered by the current from the PSTN line acquired by the transceiver 20. Such a dialer, according to an embodiment of the invention, is illustrated in Fig 2. In Fig 2, the CPU 10 is coupled to an auxiliary power - supply 70. The CPU 10 normally receives power from the 25 PSTN line through the transceiver 20 via the split relay 15. Also in Fig 2 is a microcontroller 80 which is coupled to the CPU 10. The microcontroller 80 also performs the function previously carried out by the RTC/timer 40. Thus, in Fig 2 the RTC/timer 40 is 30 illustrated as being inside the microcontroller 80.
Also pictured in Fig 2 is the memory (MEM) 90 of the CPU 10. The memory 90 in the CPU 10 of Fig 1 is also present but is not shown in Fig 1.
7 in this embodiment, when the off-hook timer countdown ends, the CPU 10 realizes that a drop and reconnect sequence, much like that in Fig 1, is required. However, extra steps need to be carried out 5 to account for the fact that the CPU 10 draws power from the PSTN line. Th us, after the CPU 10 is alerted by the RTC/timer 40 that a drop and reconnect sequence is needed, the CPU 10 alerts the microcontroller 80 and begins the shutdown process. The CPU 10 prepares the 10 auxiliary power supply 70. Since the auxiliary power supply 70 can be a capacitor or a battery, this preparation can take a few forms. For a capacitor, the preparation takes. the form of charging the capacitor..' In the preferred implementation, the capacitor is 15 charged for one second. In a battery implementation, the preparation can take the form of closing a circuit which enables the CPU to draw power from the battery.
After the auxiliary power supply is prepared, the microcontroller 80 is ready to perform its function.
20 With the CPU 10 ready to draw minimal power from the auxiliary power supply, the Microcontroller 80 takes over. The CPU 10 enters a low power mode which retains the CPU state and its internal data. In low power mode, the CPU is essentially asleep but is responsive to a 25 specific interrupt which will cause it to exit low power mode. During low power mode, the whole dialer system draws minimal power -- the transceiver is also effectively turned off. With the transceiver inactive, the PSTN line previously acquired is therefore lost or 30 dropped. The microcontroller 80, after a suitable time to ensure the proper drop of the PSTN line, generates the interrupt required for the CPU to exit low power mode. When this interrupt is generated by the 8 microcontroller 80 and received by the CPU 10, the CPU reinitializes the transceiver and commands it to acquire a new PSTN line. When this line is acquired, the CPU 10 then draws power from this new PSTN line.
5 With the CPU 10 no longer in low power mode, it resumes the function which was interrupted by the requirement for a drop and reconnect sequence. Since the CPU stat e and internal data, including the number to be reached, was not lost due to the drop and reconnect sequence, the 10 CPU can easily recover from the drop and reconnect.
It should be noted that the microcontroller 80 and the CPU 10, prior to the drop and reconnect sequence, both need to initiate and maintain a handshaking protocol so that their actions will be 15 synchronized with one another. In the preferred implementation, the CPU 10 sets a specific flag in the microcontroller 80 to alert the microcontroller 80 that a drop and reconnect is required. Trior to this, the microcontroller 80 is in a loop waiting for such an 20 eventuality. The microcontroller 80, once this set flag is found, acknowledges the flag to the CPU 10. While the CPU 10 is waiting for this acknowledgement from the microcontroller 80, the CPU 10 is preparing the auxiliary power supply. As noted above, for a preferred 25 implementation this preparation takes the form of charging a capacitor. Once the acknowledgement is received, the CPU 10 is ready to enter low power mode.
The microcontroller 80 then commands the CPU 10 to enter low power mode. In low power mode the CPU 10 is only 30 available to service the interrupt from the microcontroller 80 which causes the CPU 10 to exit low power mode. Once this wake-up interrupt is received, the CPU 10 disables all interrupts and performs its so 9 called wake-up functions. The CPU 10 initializes the transceiver and causes the transceiver to acquire a new PSTN line. With the line acquired, the CPU, now draws power from this new line. Then, the CPU 10 sets a signal which notifies the microcontroller that the CPU is now fully awake and functional. Once this signal has been acknowledged by the microcontroller, the microcontroller returns to its looping state, waiting for the next instance of a drop and reconnect. The CPU, 10 for its part, resumes its function which was interrupted by the drop and reconnect.
It should also be noted that, because of the nature of the drop and reconnect sequence, the determination of the routing and/or access sequence may 15 take so long that multiple drop and reconnect sequences have to be executed. It is therefore advantageous that a counter which counts the call attempts be implemented.
Such a counter would'be incremented for every call attempt or for every time a drop and reconnect sequence 20 is performed. If the counter reaches a certain programmable threshold, this means that the call is taking too long or that too many tries have been attempted. once this threshold is reached, the user.
must then try the call anew by reentering the number to 25 be reached -this resets all the counters in the dialer.
While the above embodiments illustrated in Figs 1 and 2 are separately implementable, they may both be implemented in a single system. By adding an extra 30 step in the sequence followed by the CPU, the two eventualities -- a PSTN line powered dialer or an independently powered dialer, can be taken into account.
On requiring a drop and reconnect sequence, the CPU 10 can check to determine if power is being drawn f rom the PSTN line or from an independent source. A simple DIP switch setting or a power source determination circuit can provide this information to the CPU. If the CPU 5 determines that it is powered by an independent power source,. th en there is no need to prepare the auxiliary power supply or to even use the microcontroller. The CPU simply commands the transceiver to drop the current PSTN line and acquire a new one after the suitable amount of 10 time to properly drop the line. However, if the CPU determines that it is powered through the PSTN line, then the auxiliary power supply has to be prepared and the microcontroller has to be utilized and notified:of the requirement for a drop and reconnect.
15 In the preferred implementation, the CPU is, a Motorola MC68HC705C9A which is capable of low power modes. The transceiver is a Mitel MT88L89 DTMF transceiver- and the microcontroller is a PIC16LV58A programmable microcontroller. In most implementations, 20 the on-hook time required to drop a line is 1.5 seconds.
Thus, in either of the embodiments above, the transceiver has to wait a minimum of 1.5 seconds between dropping and reconnecting to a PSTN line. This ensures that the prior line has been properly dropped and that a 25 new line will be acquired.
To further clarify, Figures 3 and 4 illustrate flowcharts which show the decisions and actions taken by the dialer 5. Figure 3 illustrates the preliminary steps taken by the dialer before a drop and reconnect are 30 required. As shown in box 100, the user enters a number to be reached. Box 110 shows the step of the transceiver acquiring a PSTN line and the initiation of the off-hook timer. Decision 120 checks if the 11 routing/control access determination by the CPU is already accomplished. If not, box 130 illustrates the CPU carrying out this determination. Connector 140 shows where the program flow returns in the chart after 5 the determination is executed.
If the routing/control access determination is not yet done, the dialer 5 checks to see if the off-hook timer's countdown has expired (box 150). If not, then the call is initiated using the PSTN line (box 160) If 10 the off-hook timer has expired, then the drop and reconnect sequence needs to be followed (box 170) It should be noted that the dialer need not necessarily check the off-hook timer. Since the CPU can be alerted to the expiry of this timer by an interrupt, then when 15 this interrupt is encountered, the dialer must jump to the decision box 150, Figure 4 illustrates the drop and reconnect sequence. It should be noted that the word microcontroller in Fig 4 is abbreviated as MC. From the 20 top (box 180), the dialer determines whether an independent power supply is available or if the CPU is powered by the PSTN line (box 190). If the independent power supply is available, then the PSTN lines is dropped (box - 2CrO the dialer waits for the appropriate 25 onhook time to ensure a dropped line (box 210), and then a new PSTN line is acquired and the off-hook timer is restarted (box 220). From here, connector 140 (see Fig 3) shows where the decision or event flow jumps.
If, on the other hand, there is no independent 30 power supply available, the CPU must alert the microcontroller for the need for a drop and reconnect (box 230). From here, the CPU prepares the auxiliary power supply (box 240) and acknowledges the 12 microcontroller to setup the handshaking routine (box 250). The CPU is then shutdown into low power model the PSTN line is dropped, and the CPU waits for, the microcontroller to generate the interrupt which will 5 cause the CPU to exit low power mode (box 260) Box 270 shows that the microcontroller will have to wait a minimum of the set onhook wait time before the CPU can be awakened. The microcontroller then generates the wakeup interrupt which causes the CPU to leave low power 10 mode (box 280). Once the CPU is no longer in low power mode, the transceiver is commanded to acquire a new PSTN line and to restart the of f-hook timer (box 290) The microcontroller then goes into a loop, waiting until the next drop and reconnect is required.(box 300). From 15 here, connector 140 shows where the decision or event flow jumps.
A person understanding the above-described invention may now conceive of alternative designs, u. sing the principles described herein. All such designs which 20 fall within the scope of the claims appended hereto are considered to be part of the present invention.
13