Background of the Invention
The present invention relates to a keyphone system, and specifically to a method of displaying duration of a call that is made over a central office line (hereinafter, referred to as "C.O. line").
In conventional keyphone systems, there exists a problem that a user is not able to know exactly how long he has been talking over the C.O. line and since the C.O. line does not provide a signal that specifies an exact time at which the other party on the other end of the C.O. line started to respond to his call, even though there are some keyphones with special functions capable of calling duration of a call made over a C.O. line, call-duration is displayed based on a system-defined time from which counting of the call-duration is started, so that an exact duration of the call that used the C.O. line cannot be known to its user.
Summary of the Invention
Therefore, a purpose of the present invention is to provide a method of displaying the actual duration of a call for which the C.O. line is employed, by displaying the duration from a time at which a calling party presses a time key as soon as the other party starts to respond to the call when showing the call-duration through a display section of a keyphone during making a call to someone over the C.O. line in a keyphone system.
Another purpose of the present invention is to provide a method of checking call-duration on a display that shows when the time key is pressed a second time and the handset is hung up at the time the call is over.
According to an aspect of the invention, the inventive method includes the following operational steps of:
(a) if the call over the central office line is started, notifying call-start by activating a call-duration start timer, or if not, checking whether or not the call is ended;
(b) if the call has ended in the step (a), checking whether or not the call-duration display is held;
(c) if the call has not ended and a time key is not pressed, checking sequentially whether or not a signal for activating call-duration start timer or call-duration increment timer are activated;
(d) if the signal for activating the call-duration start timer or call-duration increment timer is activated, checking whether or not the central office line is held and, if not held, sending call-duration data to a calling keyphone; and
(e) if the time key is pressed and call-duration display is held in step (c), clearing a display of the call-duration and displaying a current time .
Brief Description of the Attached Drawings
For a better understanding of the invention and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings, in which:
FIG. 1 is a system diagram according to the present invention;
FIG. 2 is an operational block diagram of main program according to the present invention;
FIG. 3 (comprising FIGS. 3A and 3B)is a flow diagram displaying call-duration when the C.O. line is called;
FIG. 4 is a flow diagram of time-count increase in a buffer that stores data of call-duration increment in FIG. 3; and
FIG. 5 is a flow diagram of data for displaying call-duration in FIG. 3.
Detailed Description of the Preferred Embodiments
Referring primarily to FIG. 1, it is a system diagram according to the present invention, in which a central processing unit(hereinafter, referred to as "CPU") 10 controls an entire keyphone system 1, a Read Only Memory (ROM) 20 stores program codes of the keyphone system I therein, a Random access memory (RAM) 30 stores data used in the keyphone system temporarily, a keyphone subscriber circuit 40 operates as an interface between a keyphone 2 that will be described later and the central processing unit (CPU), and the keyphone 2 has key LED(light emitting diode)'s and an LCD(liquid crystal display) and is terminal controlled by the central processing unit.
FIG. 2 is an operational block diagram of main programs according to the present invention, which includes: a timer program 100 that operates once a timer is activated and checks the timer every 100ms and sends a message to a switching program 400 that will be described hereinbelow; a system control program 200 that controls all programs of the keyphone system; a signal processing program 300 that exchanges data through the keyphone 2 and keyphone subscriber circuit 40 for interfacing; and the switching program 400 that performs an actual switching function and displays call-duration.
Now, referring further to FIG. 3, it is a flow diagram of displaying call-duration when the C.O. line is called. The diagram includes the following steps of:
(a) checking the C.O. line for starting a call and, if calling, the C.O. line is started, the the timer is activated and a call-start state is notified, but if the calling C.O. line is not started, whether or not the call is ended is checked;
(b) if the call is not ended, whether or not the time key is pressed is checked and if the call is over, whether or not display of call-duration is held is checked and if held, program is ended, but if not held, the current time that will be described later is displayed;
(c) whether or not the keyphone is being used is checked when the time key is pressed in step (b) and if not being used, then whether or not the display of call-duration is held is checked and if held, an existing display of a call-duration is cleared and the current time is displayed and the step is ended, but if the keyphone is being used, whether or not the time key is pressed is checked and if pressed, the step is ended when the time key is inputted;
(d) in step (a), if the time key is not pressed, whether or not a signal for a start timer for the call is inputted is checked and if the signal for activation of the start timer for the call is inputted or if key entry is not performed in step c, storage buffer for storing call-duration data is initialized and call-duration increment timer is activated;
(e) after the step (d) is executed, whether or not the C.O. line is held or not is checked and if held, this step is ended, but if not, call-duration data is generated and sent to the keyphone;
(f) if entered data is not a signal for starting the timer that counts call-duration in the step (c), the data is checked again to see if it is a signal for starting the timer to count increments in call-duration and if it is, increments in call-duration is stored and the timer to count increments in call-duration is activated and the step (e) is started.
Meanwhile, FIG. 4 illustrates a flow diagram of count increments in a buffer that stores data of increments in call-duration in FIG. 3, and FIG. 5 shows a flow diagram of data for displaying call-duration in FIG. 3.
Hereinafter, the preferred embodiments of present invention is described in detail with reference to the FIGS. 1 through 5.
First, the CPU 10 exchanges data with the keyphone 2, which is a terminal, and performs transmission and reception of diversity of signals and voice data through the keyphone subscriber circuit 40.
Once a call started to the keyphone 2 over the C.O. line, the CPU 10 recognizes the call, activates the timer, stores the timer in a buffer of the RAM 30, and then in specified intervals generates data for displaying call-duration and sends the data to the keyphone 2.
According to the preferred embodiment of the present invention, the data for displaying call-duration is sent to the keyphone 2, which is a terminal equipped with a liquid crystal display (LCD).
According to the operational description, when a call is performed over the C.O. line through the keyphone 2 that is a terminal, a flow of the displaying call-duration according to the present invention proceeds as follows: when the keyphone 2 is hooked off and a dialing is made over the C.O. line (for a local call, a long distance call, international call, etc.), the CPU 10 checks in a step Al of FIG. 3 whether or not dialing over the C.O. line is completed.
Thereafter, when the dialing over the C.O. line is completed in step A1, a step A2 is proceeded and whether or not a telephone call over the C.O. line is started is checked and if started, a corresponding message is registered in a timer message queue (TMSGQ) in a step A3 to activate a call-duration start timer (T-DURSTR) for counting a call-duration, and a flag for starting activation of the timer is set and the step A3 is completed.
If a telephone conversation over the C.O. line is not started in step A2, whether or not a handset is hung up is checked as the call is ended, and if hung up, a step D8 is performed. In the step D8, whether or not display of call-duration is currently held is checked and if held, processing is ended, but if not, data for displaying a current time is stored in a send queue (SENDQ) in a step D6.
However, if the telephone conversation is not ended in the step D1, then, in a step D2 whether or not a time key is pressed is checked and if not pressed, a step A4 is performed, but if pressed, then whether or not the keyphone 2 is currently being used is checked in a step D3. If the keyphone 2 is currently being used, then in a step D7 whether or not the time key has been pressed is checked and if already pressed, processing is ended to hold the current display call-duration, but if not pressed yet, a step A5 is performed.
If the keyphone 2 is not being used in said step D3, a step D4 is performed to check whether or not the display of call-duration is held and if held, then in a step D5, data for clearing the display of call-duration is stored in the send queue(SENDQ) and the step D6 is performed, but if not held, then step D5 is not performed. In said step D5, a first call-duration buffer (CALL-DUR1) of a dynamic line control block (DLCB) in the RAM 30 is initialized to a value of "0" (zero) and in a step A6 the call-duration increment timer (T-DURINC) is activated.
Above said dynamic line control block (DLCB) is a table in which all states of a subscribers of the keyphone system are stored and given to every subscriber of said keyphone system; in the table, there are two call duration storage buffers for storing duration of a call made over the C.O. line, and herein, of the two buffers, the first call-duration buffer (CALL-DUR1) stores minutes and a second call-duration buffer (CALL-DUR0) stores seconds.
In addition, if the call duration timers are "on" state, time is decreased in the timer program 100 in every 100ms for every increment of one second and when the time becomes "0"(zero), timer value is handed over to the switching program 400 by the system control program 200.
After step A6, whether or not the C.O. line is held is checked in a step A7 and if held, processing is ended without transmitting data about call duration of the keyphone 2. That is, even if the C. 0. line is held, the data about duration of the call made over C.O. line is continuously accumulated but not transmitted to the keyphone 2, and only when the hold state of the C.O. line is released, the data accumulated during the hold state is sent all together. But if the C.O. line is not held in step A7, call-duration display data is generated and sent to the keyphone 2 in a step A8 as will be described in FIG. 5.
On the other hand, the CPU 10 checks, in a step C1, whether or not a specified subscriber is involved in a conference call and if conference call, the CPU 10 ends operation without sending call-start display data to the appropriate subscriber, but if not conference call, proceeds to a step C2 and checks whether or not the called party is a subscriber of the keyphone system. Then, in the step C2 as well, if the called party is not a subscriber of the keyphone system, call-duration display data is not transmitted and the step is ended, but if not involved in a conference call, display position value of the keyphone 2 is stored, in a step C3, in a call processing temporary buffer CP-TEMP of the RAM 30 that is temporarily used by the switching program 400. In a step C4, data with unit of second is stored as ASCII (American Standard Code for International Interchange) value in a buffer next to the buffer CP-TEMP and a step C5 is performed. In step C5, ":" data is stored, in a step C6, data with unit of minutes stored and a step C7 is performed. In step C7, a value stored in the buffer CP-TEMP is stored in the send queue SENDQ of RAM 30 to be sent to the keyphone 2 by the signal processing program 300 and the step is ended. The send queue (SENDQ) is a queue which stores data that will be sent to the keyphone 2 and the data stored in the send queue (SENDQ) is sent to the keyphone 2 by the signal processing program 300 that is performed every 10 ms to be displayed on the LCD as current duration of a call made over C.O. line.
Referring back to FIG. 3, if a call-duration start timer (T-DURSTR) is not activated in step A4, whether or not a call-duration increment timer (T-DURINC) is activated is checked in a step A9. And if the call-duration increment timer is not activated, this processing is ended, but if activated, a step A10 proceeds and a flow is performed as in FIG. 4; herein, as the call-duration increment timer is activated every second, a value stored in the "second" storage buffer (CALL-DURO) is increased by 1 in a step B1, whether or not the value has reached 60 seconds (i.e., one minute) is checked, and then if the value is less than minute, the processing is ended. But if the value reaches 1 minute in step B2, the "second" storage buffer (CALL-DUR0) is initialized to 0 in a step B3, and a value in the "minute" storage buffer (CALL-DUR1) is increased by 1 in a step B4 and then a step B5 performed. In step B5, whether or not 100 minutes is reached is checked and if not reached, this processing is ended, but if reached, a step B6 is proceeded and this processing is ended after the "minute" storage buffer (CALL-DUR1) is initialized to 0.
Therefore, the step A10 is performed to increase call-duration as described above, a step All is proceeded and call-duration increment timer (T-DURINC) is activated for a next state, and then the step A7 is proceeded; thereby, whether or not the C.O. line is held or not is checked as explained hereinabove.
As described in the foregoing description, the present invention presents such advantages that when a subscriber of a keyphone makes a call over the C.O. line, the subscriber can be noticed an exact call-duration time, at which the call was started, by pressing the time key right at the point when a called party lifts handset, and as soon as the call is over the calling party can make sure duration of his call through holding display of the call-duration by pressing the time key again and hanging up the handset; thus, the calling party shall pay less for his call by controlling the duration of his call and at the overall system's point of view, more efficient and cost-saving use of the C.O. line is realized.
Although specific constructions and procedures of the invention have been illustrated and described herein, it is not intended that the invention be limited to the elements and constructions disclosed. One skilled in the art will easily recognize that the particular elements or subconstructions may be used without departing from the scope and spirit of the invention.