Abstract:
A device and process to allow remote receipt and placement of Internet Telephony connections (calls) using emulation of traditional POTS telephone service through a combination of software and a specialized cordless handset appliance. The system allows ringing and answering of inbound calls, dialing of outbound numbers, and signaling of handset status, as well as traditional telephony capabilities such as memory dialing, redial and radio channel controls. Voice control of dialing may also be implemented under software control. This system is easily adapted for operation with most PC based Internet Telephony software systems.

Description:
This is a continuation-in-part of U.S. application Ser. No. 08/734,857, filed Oct. 23, 1996. 

   FIELD AND BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to the field of Internet Telephony, and in particular, the emulation of POTS call placement and receipt using a specialized remote cordless telephone handset. 
   2. Background Information 
   The recent surge in Internet Telephony software and infrastructure creation has provided the public with the ability to make and receive voice calls from a PC to other PC&#39;s and telephones. More advanced systems such as the Trident™ system developed by Pagoo also allow inbound calling from a telephone to a user PC, and similar services are expected to appear in the near future from ITXC and other Internet Telephony Service Providers. Current systems rely on audio ringing via speakers or other sound card/DSP based devices to play a ringing sound that notifies the user of an inbound call. 
   This has created the situation where even with volume set high, a user is required to stay within audio range of their computer to receive a call, and then quickly reduce the volume as the call is accepted, or alternatively, stay in front of the computer at any time a call is expected. There is currently no way to remotely answer an inbound call, or dial without replacing the entire PC sound system with a custom device. Even such custom devices attempt to interface a standard two wire telephone, creating the problem of echo, which most DSP based processing cannot fully eliminate. Additionally, operating a PC with multiple sound devices such as a Voice modem, Sound Card, and telephone adapter can cause massive user confusion as PC standard audio must now be mapped to the proper device for each use. The best example is the standard WAV file, which may be music, game sound effects, a Windows alert sound, Internet Telephony Voice or an Internet Telephony “Ring”. Mapping of a WAV file to the correct device and maintaining those mappings is usually beyond an average user&#39;s capability, and automated mapping often has unintended and undesirable results. USB based solutions which also add an additional sound system suffer from some of the same issues, and are additionally limited by the USB specification to approximately 12 ft. range from the computer. 
   SUMMARY OF THE INVENTION 
   A specialized cordless telephone is provided with the means to signal device ready status, trigger a standard telephone ring, and transport audio, control and DTMF tones to a standard PC soundcard and I/O port. In one embodiment, a connection is made to a standard RS232 port available on most personal computers for the ring and status signal, as well as an audio connection to the microphone and speaker outputs of the pc&#39;s existing sound card. The specialized telephone is accompanied by software that provides for detecting the presence of the telephone on any port, providing ready status where “ready” is defined as either (1) on hook in base or (2) out of base, not in use with radios and security codes synchronized. The software provides an interface to standard Internet Telephony systems in the simplest possible terms which may be characterized as “Unit Ready” and “Ring Unit”. The audio portion of the device operates independently, and may be used under manual control if desired. The combined hardware and software portions, allow Internet Telephony applications to sense, off hook, issue a dial tone, receive DTMF tones, and provide audible remote ring for an outbound call, as well as ring and connect inbound calls. This allows full emulation of the POTS line user experience. 
   Additionally, the remote handset, with a range exceeding 400 ft, may be used to trigger events and programs via DTMF tones or voice commands, monitor an audio stream such as stock market data, or even, when combined with popular home automation equipment, control appliances, lighting and other devices from anywhere within range. Further embodiments of the invention may include USB port signaling, on-board DTMF decode, on-board voice capabilities, remote LCD display, and a full IP telephony support engine integrated with the base unit to eliminate need for the PC. 
   It is an object of the invention to provide a device and method for remote cordless internet telephony. 
   It is a further object of the invention to provide a device and method for communication over a digital network wherein a handset may be located more than 12 feet from a computer providing access to the digital network. 
   It is a further object of the invention to provide a device and method for communication over a digital network wherein a handset may be located more than 400 feet from a computer providing access to the digital network. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The foregoing and still other objects of this invention will become apparent, along with various advantages and features of novelty residing in the present embodiments, from study of the following drawings, in which: 
       FIG. 1  is an overview block diagram of the specialized cordless telephone appliance. 
       FIG. 2  is a flow chart of the interaction of software and hardware to emulate POTS line operation. 
       FIG. 3  is a connection diagram and block diagram of various embodiments of the invention. 
       FIG. 4  is a more simplified block diagram of one embodiment of the invention. 
       FIG. 5  is a graphical user interface window typical of an Internet telephony application driver or direct interface. 
       FIG. 6  is a listing of a typical Microsoft Visual Basic driver program to enable operation with several Internet telephony programs. 
       FIG. 7  is a table of experimental variables in the DTMF detection algorithm that were tuned to the optimum settings for platform (PC and sound card) independence. 
       FIG. 8  is a listing the DTMF detection algorithm selected as optimum. 
   

   DESCRIPTION OF THE PREFERRED EMBODIMENT 
   In the following description of the preferred embodiment, references are made to the accompanying drawings. It is to be understood that other embodiments may be utilized and that other structural, logical and electrical changes may be made without departing from the scope of the present invention. This is to specifically include changes in packaging such as building the base electronics into a PC enclosure, or plug in card or inclusion into a monitor or other display device. 
   In  FIG. 1  an overview of a remote Internet Telephony appliance is shown generally, which in the current preferred embodiment consists of a PC  100 , Cordless handset base unit  105  and cordless handset  107 . In one embodiment the Base  105  and Handset  107  communicate using standard 900 mhz radios with multichannel capability, security codes and compander circuitry for noise reduction. In non-programmed operation the Audio In  102  and Audio Out  101  are always live, and capable of relaying the input/output of the PC  100  sound system to the Base  105 , and if activated, the handset  107 . Under program control, the PC  100  additionally monitors Status Out  103  and can produce a 20 hz square is wave on Ringer In  104  to trigger an optically isolated ring circuit in the Base  105 . The Status In  105  from the base is a composite logic signal that is true if the handset is either on hook, or off hook but not in talk mode. The 20 hz ring signal is interpreted in the Base  105  as a trigger to suppress audio, enable the handset ring circuit, and engage the remote ring generator while the 20 hz input exists. 
   In  FIG. 2  the progress of the software to emulate a POTS call is depicted. Initial Setup  200  shows the manual setup required by a user to establish the operable PC configuration. On an inbound call a software incoming call event  201  is triggered by an Internet Telephony program such as Microsoft NetMeeting, Dialpad, Pagoo ITXC WebTalk Now (TM), Avaya Softphone (TM), Microsoft Instant Messenger with Net2Phone or other software based on such technology. The appliance software verifies the status of handset  202 , and following the logic in  203 , either rings or rejects the incoming call. Since some Internet Telephony systems allow multiple calls, the software may optionally be configured to accept an additional inbound event, even if currently in use. 
   An outgoing call begins with activation of the Internet Telephony program, which automatically triggers the appliance software to enter the Wait for off hook state  205 . Upon detection of a change in the Status Out  103 , the program triggers Windows to play a dial tone audio file, and engages Audio In  102  monitoring  206  for DTMF tones. Fast Fourier analysis is used at  207  to detect and collect a sequence of tones, Dial tone is disengaged on the first tone detection. The collection of tones may be terminated by use of a send key or predetermined if the telephony system has a fixed length format, after which the input must be released to allow voice communication to commence, and the digits are sent in  208  to the telephony application. The appliance software may also use a sequence of digits to trigger other events, such as run a program, shut down the PC, or translate to an email address if desired or required by the Internet Telephony software. After passing a called number and event to the Internet Telephony software, the appliance software then monitors at  209  for a connection event, and plays a ring sound emulation to the Audio In  102 . Detection of the connection event  210  triggers the appliance software to release control of both audio lines  101  and  102  to the Internet Telephony application and return to idle  205  upon call termination as indicated by  103  Status In transitioning to true. 
     FIG. 3 . Depicts a preferred embodiment where PC  100  connects to the specialized handset base  105  containing recharger  305 , interface electronics, and a handset page button  304 , via an Audio cable  301  containing Audio in and out  102  and  101  and also a Serial Port Cable  303  containing Status and Ringer signals  103  and  104 . The Handset  107  contains a DTMF Keypad  307 , headset jack  306 , and LCD display  111  which may be used in future embodiments for call progress and remote control application prompts. 
   The unit may optionally connect using a USB port to implement additional advanced features such as, but not limited to direct access to the LCD  111  from the PC. 
   In  FIG. 4 , The relevant hardware is depicted in more detail. An originated Internet telephone call begins when the user presses a Talk button on the DTMF keypad  307 . This sends an off hook indication via DTMF+Control  411 , to the Control Chip  425 , which then causes the RF Module  401  to select a clear RF channel to the base RF Module  451  and raises the Carrier  485  signal. The Base Control Chip  470  indicates off hook via Interface Signal conditioning  480  and the Status Out line  103  to the connected PC  100 . The off hook condition as indicated by Status Out  103  is time buffered by several seconds to prevent minor radio interference from causing disconnects. 
   The PC  100  then commences the software actions described in  FIG. 2 , item  206 , by playing dial tone through Audio In  102  which is conditioned in  480  and sent to Base Compander  460 . The Base Compander  460  compresses the audio stream and forwards it to the Base RF Module  451  via Audio In  452 . The dial tone is transmitted via RF Communications  106  to the Cordless Handset  107  and received in HS RF Module  401 . 
   In one embodiment, 900 mhz RF modules are used but this is not to preclude use of other legal frequencies. The HS RF Module  401  demodulates the Audio  415  (shown as two way for simplicity) which is expanded in the HS Compander  440  and played via Spkr Out  431  to Speaker  430 . 
   The User then proceeds with the call by dialing a number on DTMF Keypad  307  which is scanned by HS Control Chip  425  and transmitted as audio through HS RF Module  401  and RF Communications  106  to Base  105 . The Base RF Module  451  decodes the Audio Out  453  which is expanded in Base Compander  460  and sent to the PC  100  via Audio Out  466 , and Signal Conditioning  480 , where the signal is tailored to operate with either PC line input or microphone input levels. In alternative preferred embodiments, the handset DTMF  307  may be scanned and sent by HS Control Chip  425  and Data+Ctl  426  as data, not audio, to be decoded and rendered into DTMF tones in Base  105  by Base Control Chip  470 . 
   The PC  100  proceeds as described in  FIG. 2  step  207  by rapidly performing Discrete Fourier transforms to interpret the incoming tones. Software adjustments for application name, number of tones, background level, signal to noise, harmonic level, and tone/silence duration allow the program to be tailored to the particular system in use if required. Optimum default parameters and ranges have been determined experimentally as summarized in  FIG. 6 . After the appropriate number of tones is collected for the selected is Internet Telephony Application, the software proceeds as in  FIG. 2 . Step  208  through  210  to complete the call. 
   At any time, the call may be terminated by the user via the Talk button on the DTMF keypad  307 , or hanging up the Handset  107  in Base  105 . Either action causes the HS Control Chip  425  to signal an on-hook condition to HS RF Module  401  to drop Carrier from the RF Communications  106 . This results in loss of Carrier Signal in Base RF Module  451  which is communicated via Carrier line  480  to Base Control Chip  470  and further to the PC  100  via Ready and Carrier Detected  477 , and Status Out  105 . The PC software reacts as appropriate to terminate the existing call or abort dialing. As mentioned above, this action is time buffered several seconds to allow for momentary loss of signal without forcing immediate disconnect. 
   Inbound calls commence per  FIG. 2  step  201  with a software event in the in use Internet Telephony software. The PC application responds to the inbound call as described in steps  202  by reading the status of Status Out  103  which is fed through Interface Signal Conditioning  480 , via Ready and Carrier Detect line  477 . This line is typically high (logical True) if the unit is ready to receive a call, and can be considered the equivalent of “on-hook” for a POTS telephone. If Status Out  103  is true, the software applies the 20 hz ring signal to Ringer In  104  via a precision timer program, and continues to monitor Status Out  103  for a False condition as in  FIG. 2  Step  204 . The Ringer In  104  signal is passed via an isolation circuit in Interface Signal Conditioning  480  to the Base Control Chip  470 . The Base Control Chip  470  sends a ring command via Data  475  line to the Base RF Module  451 . The ring command is demodulated by Handset RF Module  401  and interpreted by HS Control Chip  425 . The HS Control Chip  425  then monitors DTMF Keypad  307  for a key press indicating that the user has answered the call. Upon detection of the key press, the handset raises Carrier  485  via the Handset Control Chip  425 , Data+Ctl  426 , and both RF Modules  401  and  451 . 
   Additional features include a Page button  478 , which manually triggers ringing of the Handset  107  as described above, but without the external stimulus on the Ringer In  104  line. A small display such as LCD  111  may also be optionally included for text display at the handset. The Battery and Chrg  445  circuit is included to maintain optimal battery charge in conjunction with Battery Charger  490  when Handset  107  is resting in Base  105 . Main Mic  420  may also be supplemented with an additional microphone and audio subtraction circuit to reduce background noise. 
     FIG. 5  depicts the graphical user window of one typical embodiment of the PC software required to interface between the present invention and a Windows based PC. In Port Detection  500 , the user may select a communications port, and the software will confirm presence of a device and allow a test ring to be generated, to confirm operation. The user selects an internet telephony program of choice in App. Select  510 , and enables dialtone and dialing with Enable/reset  520 . Detected tones are displayed in Tone Display  530 , and are automatically pasted into the selected application as pseudo-keystrokes or mouseclicks as required by that specific program. 
     FIG. 6  is a sample listing of Visual Basic code to generate the critical functions for the user interface depicted in  FIG. 5 . Functions documented in the listing include location of the unit (which communications port), ringing, Internet telephony software selection, dial tone generation, tone dialing and display, reset on hangup, and remote control of the selected Internet Telephony Application. A web browser and graphical HTML help are provided for connection and setup instructions. Similar software can be easily developed is by one skilled in the art for other operating systems. 
     FIG. 7  shows the summary of experimentation that was required to determine reliable DTMF detection parameters for the PC software. Since PC platforms and sound systems vary widely in performance, a group of 10 systems ranging from a low end Dell Pentium 120 with Soundblaster 16 sound to new HP Pentium III 700 systems with integrated Riptide™ sound system was selected as representative of the average user PC, and the DTMF detection tuning parameters were tested on each machine to determine if a single setting would perform well in most systems. This experimentation was performed using a variety of popular PC systems from Dell Gateway, Hewlett Packard, Compaq, and generic manufacturers, with sound systems from Creative Labs, Crystal, ESS, Riptide, Aureal, and Yamaha. Care was taken to include systems up to five years old and the most recent consumer and business models. All sound systems were configured to 50% volume levels for record and playback, Mic boost off and auto gain control off, and then tested for operation in the volume range from 20% to 75% which would be compatible with voice applications. Reliability scoring ranged from 0 (no detection) to 10 (perfect), and was used to determine that the Primary/Harmonic ratio (which would separate DTMF from similar sounds such as music) could not be used on all PC sound systems. The defaults developed in this test were then re-tested on all systems, and set as defaults in the DTMF detection code. 
     FIG. 8  is a listing of the C code for the DTMF detection library function after optimization. This library function can be called by any user program to detect digits, and runs continuously until stopped. 
   In other embodiments of the invention, a different approach was taken with respect to the audio path separation. As shown in  FIG. 7 , a standard Cordless Telephone Circuit  720  was modified only to the extent of adding a balanced Hybrid Circuit  710  to separate transmit and receive audio from the POTS Tip and Ring  715 . The hybrid design was attempted both with a passive version built around a Midcom 82107 transformer (a model designed specifically for such a purpose), and with an active version based around a dual operational amplifier and PNP transistor driver. In the Midcom transformer based version, minimal support circuits were required, and excellent isolation from the PC was obtained, but difficulties occurred as the standard 30 db separation obtained between transmit and receive presented a problem with echo on loud (&gt;70 db) inbound audio. As POTS lines are rung by 20 hz AC, this model could be made to ring by simply playing a 20 hz signal, however this made this model inappropriate for use where the system would also output music, which could cause occasional false rings. 
   While such a version would be suitable for half duplex operation, or use with a fully echo suppressed transmission media, it could not adequately fulfill a consumer level role. 
   Active op-amp based hybrid circuits were also developed and tested, but even though higher (40 to 50 db) audio separation was achieved, the potential for echo remained at high (&gt;70 db) volumes, and user testing indicated that a typical user would not be likely to set proper volume levels. User tests showed that the average user responded to all sound quality issues by increasing volume, which increased echo, therefore making the hybrid circuit approach sub-optimal. 
   In the preferred embodiment of the present invention as described in  FIG. 4 , The problems of echo, signaling, and sound quality are address by creation of a unique device, rather than adapting existing  2  wire telephony instruments to a computer audio environment. 
   The circuitry differs significantly from a standard telephone. Instead of transmit and receive audio driving a shared 48 vdc biased telephone line through a transformer, the entire circuit is separated into isolated millivolt level audio transmit and receive. The audio signals are never coupled, except as side-tone in the physical handset, so the possibility of electronically induced echo is virtually eliminated. The ringing and on/off hook functions have also been changed to 3 Vdc RS232 compatible signals and changed in character to reflect the more computer oriented “ready” signal from a simple hook relay. Ringing uses the same frequency as a standard phone, but operates at 3 vdc, not the 50–100 VAC of a phone line, and on a separate communication line from the audio signal. 
   As Internet telephony is digitized at the source, there is no transmission loss, and any echo will be amplified and retransmitted. This requires a solution that entirely separates transmit and receive. Past efforts in this field include using digital signal processors and pattern matching to subtract the audio signals, but the construction of a purely computer oriented device and removing the troublesome telephony signal mix provides a simpler and more effective solution. Even advanced signal processing techniques can only approximate a clean signal, where true separation provides it inherently. 
   The novel device described in this application overcomes the deficiencies of telephone adapters, digital signal processors, and standard audio devices such as microphone and speaker combinations, by creation of a new hardware software device that can emulate the capabilities of a sophisticated cordless telephone while retaining the interface compatibility and simplicity to work with any standard PC. 
   While a specific embodiment of the invention has been shown and described in detail to illustrate the application of the principles of the invention, it will be understood that the invention may be embodied otherwise without departing from such principles and that various modifications, alternate constructions, and equivalents will occur to those skilled in the art given the benefit of this disclosure. Thus, the invention is not limited to the specific embodiment described herein, but is defined by the appended claims.