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.

Description:
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 IP 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 .