# Patent

## Title
Remote internet telephony device

## 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.

## Background
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's and telephones. More advanced systems such as the TridentTM 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'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'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 RiptideTM 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 (>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 (>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.

## Claims

1. A remote cordless internet telephony device comprising:
a remote cordless telephone comprising a remote cordless telephone handset and a remote cordless telephone base unit;
said remote cordless telephone handset comprising a microphone, a speaker, a dialpad, a handset rf transceiver for communication with a base unit transceiver, circuitry for translating audio information input to said microphone to an rf signal as an input to said handset rf transceiver, circuitry for translating input from said handset rf transceiver means to an electrical signal as an input to said speaker, and circuitry for translating a keypress on said dialpad into a DTMF tone as an input to said handset rf transmitter;
said remote cordless telephone base unit connected to a computer, comprising a base unit rf transceiver for communication with said handset rf transceiver, means for determining whether said communication represents a DTMF signal or audio information, circuitry for translating communications from said handset rf transceiver into digital form for transmission to a computer, circuitry for receiving digital data from said computer and translating said digital data to a form suitable for transmission to said base unit rf transceiver, and means for transmitting signals between said base unit rf transceiver and said computer;
and a computer having a connection to a digital telephony network and a connection to said remote cordless telephone bass unit, said computer executing software programmed to
accept data from said remote cordless telephone base unit,
transmit audio information input from said remote cordless telephone base unit to said digital telephony network,
receive audio information input from said digital telephony network, convert said audio information input to a form suitable for said remote cordless telephone base unit and transmit said audio information input to said cordless telephone unit;

wherein said software is compatible with telephony software utilized by Internet telephony providers so as to allow emulation of a cordless POTS telephone call over the Internet
whereby one user may carry on a voice conversation with a second user over said digital telephony network.

2. A device as in claim 1 having an effective range between said remote cordless handset and said remote cordless telephone base of more than twelve feet.

3. A device as in claim 1 having an effective range between said remote cordless handset and said remote cordless telephone base of more than 400 feet.

4. A device as in claim 1 wherein said connection between said computer and said remote cordless telephone base unit comprises an RS232 for ring and status signals and a computer sound card.

5. A device as in claim 1 wherein said connection between said computer and said remote cordless telephone base unit comprises a Universal Serial Bus for ring and status signals and a computer sound card.

6. A device as in claim 1 wherein said software is programmed to detect the presence of the remote cordless 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.

7. A device as in claim 1 wherein said remote cordless base unit comprises circuits separated into isolated millivolt level audio transmit and receive.

8. A device as in claim 1 wherein ringing information operates at 3vdc, and on a separate communication line from the audio signal.

9. A device as in claim 1 wherein said telephony software is based on Dialpad (TM) technology.

10. A device as in claim 1 wherein said telephony software is based on Microsoft Netmeeting (TM) technology.

11. A device as an claim 1 wherein said telephony software is based on ITXC Webtalk Now (TM) technology.

12. A device as in claim 1 wherein said telephony software is based on Avaya Softphone (TM) technology.

13. A device as in claim 1 wherein said telephony software is based on Net-2-Phone (TM) technology.

14. A device as in claim 1 further comprising the functions of voicemail navigation, or selections from a telephone system auto-attendant.

15. A device as in claim 1 wherein said connection between said computer and said remote cordless telephone base unit comprises a USB port.

16. A device as in claim 1 wherein said connection between said computer and said remote cordless telephone base unit comprises a serial port.