# Patent

## Title
Systems and methods for facsimile echo cancellation

## Abstract

The present invention is related to methods and systems for reducing or canceling echoes during fax communications. In an embodiment, during a fax call, a first fax signal from a first fax device intended for a second fax device is detected. Based at least in part on detecting the first fax signal from the first fax device or on the termination of the first fax signal, an echo audio packet is muted, wherein the echo audio packet is at least partly the result of the first fax signal being transmitted over a network, the network including at least a data network.

## Background
This application is a continuation of Ser. No. 11/124,901, filed on May 9, 2005, entitled “Systems and Methods for Facsimile Echo Cancellation”, (pending).


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is related to telecommunications, and in particular to echo management or cancellation in an Internet Protocol communications network.
2. Description of the Related Art
The use of Fax over Internet Protocol (FoIP) has become increasing popular. One reason for the increasing popularity of FoIP is the potential for significant reductions in facsimile related costs.
However, certain technical challenges are posed to systems using FoIP. For example, echoes can interfere with FoIP performance. There are several forms and causes of echo in the Public Switched Telephone Network (PSTN). For example, an echo can be caused by poor quality analog and digital telecommunication terminals (handsets, fax machines, etc.). An echo can be caused by background noise of the caller and called party. In addition, an echo can be caused by signal reflections generated by a circuit that converts between a 4-wire circuit, which includes two transmit wires and a 2-wire circuit, that includes one transmit wire and one receive wire.
In many instances, echo is not a very serious problem with a conventional PSTN-based fax communication, as roundtrip delays are typically less than 50 ms. However, echo becomes a serious problem when a packet switched system is used in the communications path, such as in Fax-over-Internet Protocol (FoIP) networks, because the round-trip delay through the network is often greater than 50 ms. This echo interferes with the Fax T.30 and T.4 protocols used by fax machines/servers to establish a call.
SUMMARY OF THE INVENTION
The present invention is related to telecommunications, and in particular to echo management or cancellation in a communications network that includes a data network, such as the Internet.
One embodiment provides a method of canceling echoes associated with fax signaling over a network including at least a data network, during a fax call, the method comprising: during the fax call, detecting a first fax signal from a first fax device intended for a second fax device; detecting the first fax signal from the first fax device and/or the termination of the first fax signal; muting an echo audio packet based at least in part on detecting the first fax signal from the first fax device and/or the termination of the first fax signal, wherein the audio packet is an echo of the first fax signal being transmitted over a network, the network including at least a data network.
Another embodiment provides a fax system, comprising: a data network interface; and a line conditioner system coupled to a data network via the data network interface and further coupled to a fax device, wherein the line conditioner system is configured to detect when a first fax signal is generated by the fax device and/or to detect when the first fax signal terminates, and based at least in part on detecting when the first fax signal is generated and/or when the first fax signal terminates, mute a packet directed to the first fax device and received at the line conditioner circuit via the data network if the packet is received during a selected first period of time.
Still another embodiment provides a method of processing fax signaling carried over a network including at least a data network, the method comprising: monitoring a first fax signal from a first fax system directed to a second fax system; and based at least in part upon the monitoring of the first fax signal from the first fax system, muting an audio packet directed to the first fax system, wherein the audio packet is at least partly the result of the first fax signal being transmitted over a network, the network including at least a data network.



BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of an echo cancellation and management system are illustrated in the accompanying drawings, which are for illustrative purposes only. The drawings comprise the following figures, in which like numerals indicate like components.
FIG. 1 illustrates an example FoIP system and a fax call process.
FIG. 2 illustrates another example FoIP system.
FIG. 3 illustrates another example FoIP system.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention is related to telecommunications, and in particular to echo management or cancellation in a packet communications network. In many conventional FoIP systems echo can be a serious problem, because the round-trip delay through the packet network via which faxes are delivered is often greater than the typical guard window (e.g., 75 ms) used to ignore such echoes, and hence the echo may be interpreted by a fax system involved in the fax communication (e.g., a receiving fax server or fax machine) as an error condition. Upon determining that the echo is an error condition, the fax system may drop the call. As will be described below with respect to certain example embodiments, echo cancellation and management processes are provided to avoid such dropped calls. For example, in one embodiment a packet network latency is estimated, and using that estimate, a mute period and/or start time is determined, wherein a fax signal echo (e.g., the echo can be of a fax handshaking signal) is anticipated. An audio signal is selectively muted during the mute period to thereby prevent the echo from being received by the fax system.
While the following description relates to an embodiment utilizing the Internet and related protocols, other networks other protocols may be used as well. Further, while certain protocols, such as IP and RTP, and standards, such as T.37 and T.38, are referred to, the present invention is not limited to use with these protocols and standards, or with any particular version of these protocols or standards.
The functions described herein are optionally performed by executable code and instructions stored in computer readable memory and running on one or more computers equipped with networking devices. However, the present invention can also be implemented using state machines, signal processing chips, and/or hardwired electronic circuits. Further, with respect to the example processes described herein, not all the process states need to be reached, nor do the states have to be performed in the illustrated order. Further, certain process states that are described as being serially performed can be performed in parallel, and certain processes that are described as being performed in parallel can be performed serially.
An example sequence of establishing a fax call is described below and shown in FIG. 1. This example includes a fax machine 200 that communicates with a call manager 202 over a network 203, such as the Internet or other packet network. The call manager 202 optionally includes a fax server capable of originating or receiving voice and/or fax calls over PSTN or Internet Protocol (IP) networks, and so the call manger 202 will sometimes be referred to as fax server 202. However, rather than using a server-based system, optionally, the call manager is or includes a conventional or other type of fax machine or fax receiver.
The fax server 202 is optionally compatible with one or more FoIP-related standards, such as the real-time network standard (T.38) and the store—forward FoIP network standard (T.37). The fax server 202 can optionally be connected directly to a packet network, such as the Internet, via a network interface circuit, and can transmit media streams via real time protocol (RTP) packets.
The fax machine 200 and/or the fax server 202 optionally include modems, such as high speed modems, used to transmit fax data. The modem converts digital data generated by the fax machine or fax server into analog signals for transmission over analog lines.
The fax machine 200 can be optionally coupled to a Media Gateway (MG) over the PSTN as shown in FIG. 3. A MG enables the transmission of combined voice and data over the packet network. The MG converts an incoming circuit-switched call into digital data for transmission over the packet network (e.g., IP network) and reconverts digital data directed to the fax machine 200 to a circuit-switched call. A fax server can similarly be coupled to a FoIP MG.
At state 100, fax machine 200 places a call which is directed to the fax server 202. The call can be manually placed by a human user at fax machine 200 initiating a call (e.g., by dialing a corresponding number, by selecting a name from an electronic directory, or otherwise) to the call manager or fax server 202 and placing fax machine 200 into fax mode, or the call can be placed automatically, without human interaction. The answering fax machine or fax server 202 answers the call at state 104 and returns an answer tone (e.g., a CallEd station Identification (CED)) at state 106. For example, the CED can be a tone at a predetermined frequency, such as 2.1 kHz, such as is generated by a receiving Group 3 fax machine.
If the call is automatically dialed, the fax machine 200 will also indicate the fax call with a calling tone (CNG) at state 102, which can be a short, periodic tone that begins immediately after the number is dialed. These tones can be used to allow a human participant to realize that a machine, such as a fax machine, is present on the other end of the call.
The control and capabilities exchange (CCE) phase of the fax call is used to identify the capabilities of the fax machine at the other end of the call. During the CCE phase, the communicating devices (e.g., two fax machines or a fax machine and a call manager) also negotiate the acceptable conditions for the call. The exchanges of control messages during the fax call are optionally sent using a rate that most fax machines support, such as by using the low-speed (300 bps) modulation mode in a half-duplex mode (one talker at a time). A control message is preceded by a preamble, such as a one-second preamble, which allows the communication channel to be conditioned for reliable transmission.
At state 108 the called fax server 202 starts the process by sending a Digital Identification Signal (DIS) message, which contains the capabilities of the fax server 202. An example of a capability that could be identified in this message is the support of the V.17 (14,000 bps) data signaling rate. At this time, the called subscriber information (CSI) and NonStandard Facilities (NSF) messages are optionally also sent. NSF are capabilities or enhancements that a particular fax manufacturer has built into a fax machine.
Once the calling fax machine 200 receives the DIS message, the fax machine 200 determines the conditions for the call by examining its capabilities table. The calling fax machine 200 responds at state 110 with the Digital Command Signal (DCS), which defines the conditions of the call. For example, the DCS can inform the fax server 202 which capabilities were selected and can lock the receiving unit into the fax server 202 into the selected capabilities.
At this stage, high-speed modem training begins. The high-speed modem is used to transfer page data and converts digital data into analog signals for transmission over analog lines. The calling fax machine 200 at state 112 sends a Training Check Field (TCF) through the modulation system to verify the training and to ensure that the channel is suitable for transmission at the accepted data rate. The called fax server 202 responds at state 114 with a confirmation to receive (CFR) signal, which indicates that capabilities and the modulation speed have been confirmed and that the fax page may be sent.
The confirming CFR sent from the fax server 202 is received by the fax machine 200, but enough of the signal may bounce or reflect off the far end as echo to interfere with the initial burst of fax data representing the first fax page (e.g., the first fax page of scanned in and compressed data), which begins at state 116.
In the Public Switched Telephone Network, latency is low enough that an echo is ignored during a standard 75 ms guard window after sending of the CFR from the fax server 202. However, in a FoIP environment, latency from 80-120 ms causes enough of a time shift that the signal echo arrives after the guard window of 75 ms. When the echo arrives at the receiving fax server 202, the fax server 202 has changed state and is now listening for the first page of the fax. The echo CFR is not the fax data (V.29 signal) the fax server 202 expects, and so the echo may be interpreted as an error condition, whereupon the fax server 202 may prematurely drop the call.
Optionally, to reduce or eliminate dropped calls as a result of an echo CFR, the call manager 202 includes or is coupled to an echo management or cancellation line conditioner system 204. For example, the echo cancellation can be performed by software executing on the call manager fax server 202, or can be dedicated hardware (e.g., a digital signal processor-based system). In another embodiment, an example of which is illustrated in FIGS. 2 and 3, the call manager 202 is coupled to an echo cancellation line conditioner system placed in the path between the call manager 202 and the fax machine 200. An example embodiment of an echo cancellation line conditioner system will be discussed in greater below.
FIG. 2 illustrates an example embodiment, wherein the echo cancellation line conditioner system 204 is placed in the path between the call manager 202 and the fax machine 200. The fax machine 200 is coupled to the packet network 203 via the PSTN 205.
The echo cancellation line conditioner system 204 can include a server. The echo cancellation line conditioner system 204 conditions the network path in a FoIP environment in order to eliminate the echo which would otherwise cause a fax call to be dropped, or to reduce the echo so that it does not result in dropped calls. The echo cancellation line conditioner system server 204 can be a server separate from the call manager server 202, or the server 204 can be a software application hosted in the call manager server 202.
The echo cancellation line conditioner system server 204 monitors the Real Time Protocol (RTP) media stream from the fax server 202 for outbound audio (e.g., by detecting which packets have associated audio energy. If audio is detected originating from the fax server 202, then after a delay (e.g., a predetermined delay or a variable window), the server 204 mutes the inbound audio signal from the original sending fax machine 200 (or in this case, the echo signal reflected back from the fax machine 200 or the path thereto, that appears to be an inbound signal from fax machine 200). By way of example, the muting process can be performed by suppressing the outbound audio packets, and/or the audio packets can be substituted with silence audio packets (e.g., audio packets having no or a very low associated audio volume).
The delay can be set or selected to correspond to an estimated network latency, such as a measured packet network path latency with respect to one or more paths between the fax server 202 and the fax machine 200. The estimated latency can optionally also include PSTN and other path latencies. By way of example, the delay can be 80 ms, 90 ms, 100 ms, 110 ms, 120 ms, 130 ms or other appropriate delay time. In one embodiment, several measurements are taken of IP network path latencies, and the average latency, or other statistical latency estimation, is used to determine the delay. When the server 204 detects the termination of the outbound audio signal (e.g., by detecting the lack of speech energy or silence) from fax server 202, the server 204 waits the selected or set delay period and then opens the audio path to the original sending fax machine 200. Optionally, instead, or in addition, the delay period can be based on when the audio was generated by the server 204.
In this example, the server 204 is in the network IP path for the duration of the fax call. The subsequent fax call states including page transfer, end of page and multipage signaling, and call release, are performed as appropriate.
One or more processes can be utilized to measure latencies, such as the latencies in IP or other packet networks over which the FoIP communication will be performed, wherein the latency measurements can be used to set the delay after which a the server 204 mutes the audio signal. For example, an ICMP (Internet Control Message Protocol) Echo Request packet, also known as a ping, is transmitted directly from the fax server 202 to the target (e.g., the media gateway where the inbound fax call is converted from a PSTN call to a VoIP call) to be tested. The target, upon receipt of the ICMP Echo Request, builds a corresponding ICMP Echo Reply packet and transmits it back to the fax server that sent the Echo Request. The time between the transmittal of the Echo Request and the receipt of the Echo Reply will provide the fax server with an indication of the communication latency. Optionally, a traceroute (tracert) routine can also provide an approximation of the latency.
Latency can be measured using still other processes. For example, a Test TCP (TTCP) utility can be used to measure TCP (transmission control protocol), or UDP (user datagram protocol) throughput through the IP path between the fax server 202 and \ the media gateway where the inbound fax call is converted from a PSTN call to VoIP. The fax server 202 sends a specified number of TCP (or UDP) packets to the media gateway. At the end of the test, the two sides provide the number of bytes transmitted and the time elapsed for the packets to pass from one end to the other. These figures can be used to calculate the actual or estimated throughput and latency on the link. Other tools, such as pchar, can also be used to measure latency and throughput.
By way of further example, test calls can be placed from a fax server via the PSTN to the fax machine phone number. The call routes through the IP network and terminates at the fax machine. When the call is connected, tones (e.g., fax handshaking tones or DTMF tones) can be exchanged. The timing of this exchange, which is the time between a sent tone and receipt of a reply tone, gives an estimated measure of the latency.
FIG. 3 shows a more detailed description of example components used in an example integrated PSTN and LP network. The fax machine 200 is coupled to the PSTN 205 via a Class 5 switch 208. The Class 5 Switch 208 is communicates with a Session Initiation Protocol (SIP) component 206 using the SS7 signaling protocol. SIP is a signaling protocol which can be used for Internet conferencing, telephony, presence, events notification and instant messaging, by way of example. The SIP component is coupled to a soft switch 212 of an IP provider 210 and communicates via SS7 signaling. The soft switch 112 manages the service logistics of the traffic between the IP provider 210 and the PSTN 205. The soft switch is coupled to a media gateway 214 which converts circuit-switched voice to packet-based traffic. The media gateway 214 is coupled to the PSTN 205 via one or more trunks.
As can be seen in this figure, the line conditioning functions performed by server 204 pertain to the RTP streams communicated over the path between the call manager 202 and the media gateway 214. Optionally, the server 204 does not perform echo cancellation for the signaling between the Call Manager 202 and SIP proxy 218.
The soft switch 210 is further coupled to a proxy 216. The proxy 216 is coupled via an IP or other packet network 203 to the SIP proxy 218 associated with a call processing system 220. The media gateway 214 is coupled to the line conditioner 204 over the network 203. The call manager (including the fax server) 204 is coupled to the proxy 218 and the line conditioner 204.
Although this invention has been described in terms of a simple and preferred embodiment, other embodiments that are apparent to those of ordinary skill in the art are also within the scope of this invention. For example, the conditioning server 204 could automatically adapt the echo suppression by correlating the outbound signal with the return signal. In another embodiment, the conditioning server could listen for and mute only specific frequencies based on the state of the call and the audio signal generated by the fax server 202.

## Claims

1. An apparatus comprising:
an article of manufacture having a non-transitory machine-readable storage medium containing stored instructions that program a machine to monitor a network for a fax signal that is transmitted from a first fax device and is directed to a second fax device, wherein the network includes a data packet network and a circuit switched telephone network, to detect the fax signal from the first fax device, and to mute an echo audio packet in the network, that is directed to the first fax device, based in part on detecting the fax signal from the first fax device.

2. The apparatus of claim 1, wherein the data packet network is the Internet.

3. The apparatus of claim 1, wherein the fax signal is a confirmation to receive signal, which indicates that the first fax device is ready to receive a fax page from the second fax device using an incoming call to the first fax device.

4. The apparatus of claim 1, wherein the instructions are such that the muting comprises intercepting the echo audio packet and substituting the echo audio packet with an audio packet containing silent audio.

5. The apparatus of claim 1, wherein the echo audio packet is muted only in response to waiting a predetermined time interval following detection of the fax signal.

6. The apparatus of claim 5, wherein the predetermined time interval is at least 80 ms after termination of the fax signal.

7. The apparatus of claim 1, wherein the echo audio packet is muted only during a window period beginning at least 80 ms after termination of the fax signal, and ending 120 ms after termination of the fax signal.

8. The-apparatus of claim 1, containing additional instructions that program the machine to measure network latency.

9. The apparatus of claim 8, wherein the echo audio packet is muted during a window period selected based at least in part on a plurality of network latency measurements.

10. The apparatus of claim 8, wherein the echo audio packet is muted during a window period selected based at least in part on network latency for at least a portion of the network between the first fax device and the second fax device.

11. An apparatus comprising:
an article of manufacture having anon-transitory machine-readable storage medium containing stored instructions that program a machine to monitor a network for a fax signal that is transmitted from a first fax device and is directed to a second fax device, wherein the network includes a data packet network and a circuit switched telephone network, to detect the termination of the fax signal from the first fax device, and to mute an echo audio packet in the network, that is directed to the first fax device, based in part on detecting the termination of the fax signal from the first fax device.

12. The apparatus of claim 11, wherein the data network is the Internet.

13. The apparatus of claim 11, wherein the fax signal is a confirmation to receive signal, which indicates that the first fax device is ready to receive a fax page from the second fax device using an incoming call to the first fax device.

14. The apparatus of claim 11, wherein the echo audio packet is muted only in response to waiting a predetermined time interval following detection of the termination of the fax signal.

15. The apparatus of claim 14, wherein the predetermined time interval is at least 80 ms after termination of the fax signal.

16. The-apparatus of claim 11, wherein the echo audio packet is muted only during a window period beginning at least 80 ms after termination of the fax signal, and ending 120 ms after termination of the fax signal.

17. The apparatus of claim 11, containing additional instructions that program the machine to measure network latency.

18. The apparatus of claim 17, wherein the echo audio packet is muted during a window period selected based at least in part on a plurality of network latency measurements.

19. The apparatus of claim 17, wherein the echo audio packet is muted during a window period selected based at least in part on network latency for at least a portion of the network between the first fax device and the second fax device.

20. An apparatus comprising:
an article of manufacture having a non-transitory machine-readable storage medium containing stored instructions that program a machine to monitor a network for a fax signal that is transmitted from a first fax device and is directed to a second fax device, wherein the network includes a data packet network and a circuit switched telephone network, to detect the fax signal from the first fax device, and to prevent an echo audio packet in the network, that is directed to the first fax device, from reaching the first fax device only in response to waiting a predetermined time interval following detection of the fax signal.

21. The apparatus of claim 20, wherein the data packet network is the Internet.

22. The apparatus of claim 20, wherein the fax signal is a confirmation to receive signal, which indicates that the first fax device is ready to receive a fax page from the second fax device using an incoming call to the first fax device.

23. The apparatus of claim 20, wherein the predetermined time interval is at least 80 ms after termination of the fax signal.

24. The apparatus of claim 20, wherein the echo audio packet is prevented from reaching the first fax device during a time window beginning at least 80 ms after termination of the fax signal, and ending 120 ms after termination of the fax signal.