Abstract:
An apparatus and method allow the utilization of a computer normally utilized by a user of a telecommunication terminal to determine when a user is in close proximity to the telecommunication terminal.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to telecommunication systems, and, in particular, to the detection of the presence of a user at a telecommunication terminal.  
         BACKGROUND OF THE INVENTION  
         [0002]    Within the prior art, the importance of determining when a user of a telecommunication terminal is physically close to the telecommunication terminal for receiving an incoming call has long been recognized. In the prior art, the user can before leaving the location of the telecommunication terminal manually activated the terminal to automatically transfer incoming calls to another telecommunication terminal. Also in the prior art, it is known for radio transmitters to be utilized by users so that the telecommunication terminal can detect when the user is in physical proximity of the telecommunication terminal. Infrared transmitters and receivers have also been utilized for this purpose. In addition, it is known to utilize an independent system using either radio or infrared transmitters carried by a user to determine the user&#39;s location with respect to their assigned telecommunication terminal.  
           [0003]    Because of the need for special equipment to implement these prior art methods or the need for the user to perform a manually operation, the prior art methods have resulted in many problems and have not been readily implemented or used.  
         SUMMARY OF THE INVENTION  
         [0004]    The above-mentioned problems are solved and a technical advance is achieved in the art by an apparatus and method that allows the utilization of a computer normally utilized by a user of a telecommunication terminal to determine when a user is in close proximity to the telecommunication terminal. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0005]    [0005]FIG. 1 illustrates, in block diagram form, an embodiment in accordance with the invention;  
         [0006]    [0006]FIG. 2 illustrates, in block diagram form, an embodiment in accordance with the invention;  
         [0007]    [0007]FIGS. 3 and 4 illustrate, in flowchart form, operations performed by embodiments of the invention;  
         [0008]    [0008]FIG. 5 illustrates, in block diagram form, a computer for implementing the embodiments of the invention;  
         [0009]    [0009]FIG. 6 illustrates, in block diagram form, a computer implementing an embodiment of a soft phone; and  
         [0010]    [0010]FIG. 7 illustrates, in flowchart form, operations performed by an embodiment of the invention 
     
    
     DETAILED DESCRIPTION  
       [0011]    [0011]FIG. 1 illustrates, in block diagram form, an embodiment for implementing the invention. Telecommunication switching system  101  is providing telecommunication services to telephone sets  108 - 109 . Data network  104  is providing data services for personal computers  106 - 107 , server  103 , database  102  and telecommunication switching system  101 . Personal computer  106  is co-located with telephone set  108  and both devices are used by a common user. Similarly, personal computer  107  and telephone set  109  are co-located.  
         [0012]    The presence of the user is determined by the activity of the user on their personal computer. For example, when personal computer  106  becomes idle as determined by the screen of personal computer  106  becoming locked, in one embodiment, personal computer  106  transmits a message to telecommunication switching system  101  via data network  104  requesting that telecommunication switching system  101  perform call forwarding. For example, telecommunication switching system  101  may forward calls for telephone set  108  to voice messaging system  111 , wireless telephone  112 , or a call coverage path manned by human operators.  
         [0013]    In another embodiment of the invention, personal computer  106  upon detecting that it has entered the locked state, transmits a message via data network  104  to server  103 . Server  103  then either accesses an internal database or information stored on database  102  to determine what telephone set is associated with personal computer  106 . Once this determination is made, server  103  transmits a request to telecommunication switching system  101  via data network  104  requesting that telecommunication switching system  101  institutes a call forwarding operation with respect to telephone set  108 . In another embodiment, the institution of call forwarding would also take into account the time of day.  
         [0014]    One skilled in the art would readily realize that many communication mechanisms are known that would allow server  103  or personal computer  106  to communicate with telecommunication switching system  101  through other paths than those provided by a data network.  
         [0015]    If personal computer  106  was implementing a soft phone, when the lockout condition occurred, personal computer  106  transmits information to telecommunication switching system  101  either directly or via server  103  requesting that calls directed to the soft phone being implemented on personal computer  106  be directed instead to telephone set  108  or another telephone. This operation resolves a well known problem in the prior art where a personal computer implementing a soft phone performs a screen lock, an incoming call occurs, and the call is lost because the user does not have time to unlock the personal computer and answer the call. In this situation, the call would be directed to telephone set  108 .  
         [0016]    [0016]FIG. 2 illustrates, in block diagram form, the implementation of telephone services for IP telephones such as IP telephone  208  and soft phones such as soft phone  207  via data network  204  under the overall control of gatekeeper  201 . In the following example, it is assumed that personal computer  206  is physically co-located with IP telephone  208 . In one embodiment, when personal computer  206  detects that it is entering the locked state, it transmits a message to IP telephone  208  indicating that IP telephone  208  should commence call forwarding. IP telephone  208  may implement the call forwarding independent of gatekeeper  201  by being responsive to incoming calls to forward these calls in accordance with a predefined call forwarding path such as to voice mail system  211  or wireless telephone  212 .  
         [0017]    In another embodiment, IP telephone  208  is responsive to the message from personal computer  206  indicating that the user is not present to transmit a message to gatekeeper  201  requesting that gatekeeper  201  perform the call forwarding operations.  
         [0018]    In yet another embodiment, when personal computer  206  determines that the screen has been locked, personal computer  206  transmits the message via data network  204  directly to gatekeeper  201  which performs the call forwarding operations. It is assumed that personal computer  206  has stored internal to itself the telephone number and IP address information for IP telephone  208 .  
         [0019]    In another embodiment, personal computer  206  transmits a notification of screen lock to server  203 , and server  203  either directly communicates with IP telephone  208  to accomplish the call forwarding or communicates with gatekeeper  201  to accomplish the call forwarding operations.  
         [0020]    Similarly, when soft phone  207  which is being implemented on a personal computer determines that its screen is being locked, it either internally implements call forwarding or requests that gatekeeper  201  implement the call forwarding operations.  
         [0021]    In another embodiment, the presence information is used in the implementation of a hunt group. A hunt group is a list of telecommunication terminals maintained by a telecommunication switching system. If an incoming call is directed to one of the telecommunication terminal and is not answered, the telecommunication switching system transfers the incoming call to a telecommunication terminal on the list until the incoming call is answered or the list exhausted. In this embodiment, the telecommunication switching system determines whether to transfer the incoming call to a telecommunication terminal on the list using the presence information for that telecommunication terminal.  
         [0022]    [0022]FIG. 3 illustrates, in flowchart form, operations performed to implement call forwarding based on the presence of the user. After being started in block  300 , decision block  301  determines if the user is inactive. As previously noted, this can be done when the computer becomes locked because of inactivity. If the answer is no in decision block  301 , block  302  performs normal processing before returning control back to decision block  301 . If the answer in decision block  301  is yes, block  303  transmits a call forwarding request to the telephone control system. In one embodiment, the control system may be a telecommunication switching system or a gatekeeper. The call forwarding request includes the telephone number of the phone associated with the computer. The computer may store internally this telephone number in one embodiment; however in another embodiment, the computer may access this information from a server or a common database.  
         [0023]    After execution of block  303 , decision block  304  determines if the user has become active on the computer. If the answer is no, control is transferred to block  306  which performs normal processing before returning control back to decision block  304 . If the answer is yes in decision block  304 , block  307  transmits a deactivate call forwarding request to the telephone control system before returning control back to decision block  301 .  
         [0024]    [0024]FIG. 4 illustrates, in flowchart form, operations performed to implement a hunt group based on the presence of the user. After being started in block  400 , decision block  401  determines if the user is inactive. As previously noted, this can be done when the computer becomes locked because of inactivity. If the answer is no in decision block  401 , block  402  performs normal processing before returning control back to decision block  401 . If the answer in decision block  401  is yes, block  403  transmits a hunt group request to the telephone control system. In one embodiment, the control system may be a telecommunication switching system or a gatekeeper. The call forwarding request includes the telephone number of the phone associated with the computer. The computer may store internally this telephone number in one embodiment; however in another embodiment, the computer may access this information from a server or a common database.  
         [0025]    After execution of block  403 , decision block  404  determines if the user has become active on the computer. If the answer is no, control is transferred to block  406  which performs normal processing before returning control back to decision block  404 . If the answer is yes in decision block  404 , block  407  transmits a deactivate hunt group request to the telephone control system before returning control back to decision block  401 .  
         [0026]    [0026]FIG. 5 illustrates, in block diagram form, one embodiment of a PC such as PC  106 . Processor  502  provides the overall control for the functions of a PC by executing programs and storing and retrieving data from memory  501 . Processor  502  connects to data network via interface  503 . Processor  502  interfaces to display  518  via interface  507 . Processor  502  performs the operations of a PC by executing the routines illustrated in memory  501 .  
         [0027]    Operating system  512  provides the overall control and the necessary protocol operations. Overall control of the data processing is performed by the PC under the control of data applications processing routine  516 . The communication and control of the various interfaces illustrated in FIG. 5 is provided by interfaces routine  517 . Call forwarding and hunt group application  508  controls the operations illustrated in FIGS. 3 and 4.  
         [0028]    [0028]FIG. 6 illustrates, in block diagram form, one embodiment of a soft phone such as soft phone  206 . Processor  602  provides the overall control for the functions of a soft phone by executing programs and storing and retrieving data from memory  601 . Processor  602  connects to data network via interface  603 . Processor  602  interfaces to handset  618  via interface  607  and connects to visual display and buttons  619  via interface  609 . Visual display and buttons  619  is all of the indicators, buttons keypad, and display for a soft phone. Processor  602  performs the operations of soft phone by executing the routines illustrated in memory  601 .  
         [0029]    Operating system  612  provides the overall control and the necessary protocol operations. Data is stored in data block  613 . CODEC  614  encodes and decodes the audio information for communication with handset  618  or conference speaker and microphone  606  for communication with network  103 . Overall control of the call processing is performed by the soft phone under the control of call processing routine  616 . The communication and control of the various interfaces illustrated in FIG. 6 is provided by interfaces routine  617 . Route and timing application  608  controls the operations illustrated in FIGS. 3, 4 and  7 .  
         [0030]    [0030]FIG. 7 illustrates, in flowchart form, operations performed to implement telecommunication operations based on the presence of the user by a computer also implementing a soft phone function. After being started in block  700 , decision block  701  determines if the user is inactive. As previously noted, this can be done when the computer becomes screen locked because of inactivity. If the answer is no in decision block  701 , block  702  performs normal processing before returning control back to decision block  701 . If the answer in decision block  701  is yes, block  703  activates the telecommunication operations by causing the computer to perform these telecommunication operations. The call forwarding operations includes using the telephone number of the telephone associated with the computer. The computer may store internally this telephone number in one embodiment; however in another embodiment, the computer may access this information from a server or a common database.  
         [0031]    After execution of block  703 , decision block  704  determines if the user has become active on the computer. If the answer is no, control is transferred to block  706  which performs normal processing before returning control back to decision block  704 . If the answer is yes in decision block  704 , block  707  deactivates execution of telecommunication operations before returning control back to decision block  701 .  
         [0032]    When the operations of a PC or soft phone are implemented in software, it should be noted that the software can be stored on any computer-readable medium for use by or in connection with any computer related system or method. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method. The PC or soft phone can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. For example, the computer-readable medium can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, for instance, via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.  
         [0033]    In an alternative embodiment, where the PC or soft phone is implemented in hardware, the PC or soft phone can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.  
         [0034]    Of course, various changes and modifications to the illustrated embodiments described above will be apparent to those skilled in the art. These changes and modifications can be made without departing from the spirit and scope of the invention and without diminishing its intending advantages. It is therefore intended that such changes and modifications be covered by the following claims except insofar as limited by the prior art.