Abstract:
High compression rate codecs in gateways servicing Voice-over-Internet Protocol (VoIP) and Voice Band Data (VBD) calls distort modem/fax Answer Back Tones (e.g., 2100 Hz), which may lead to signal distortion and call hang-ups. To prevent such occurrences, a method or corresponding apparatus forces originating and terminating gateways to stay in a low complexity non-voice compression codec (e.g., ITU G.711) after prenegotiating a high complexity, voice compression codec (e.g., G.729 or G.726) during a short beginning period of a voice call. The low complexity codec avoids distorted answer back tone leakage associated with previous solutions that use a notch filter to block the leakage, thereby significantly improving the success rate of a VBD call by completely eliminating modem answer back tone distortion caused by high complexity codecs that use voice compression and by completely eliminating use of the notch filter.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     A traditional telephone system provides an ability for users with modems to connect to a Remote Access Server (RAS) for digital communications over standard voice lines. This same capability is provided by Voice-Over-Internet Protocol (VoIP) gateways (GW) through the use of a Modem Pass Through (MPT) or voice band data (VBD) mode. VoIP gateways also provide telephone voice services replacing traditional telephony switches.  
         [0002]     During a call set-up procedure, an originating gateway (OGW) and terminating gateway (TGW) exchange capabilities via a call control protocol (International Telecommunications Union (ITU) H.323 or Media Gateway Control Protocol (MGCP)) and negotiate a voice encoder/decoder (codec) that is supported by both gateways. Some complex codecs, such as ITU G.729, are supported and most commonly used by VoIP gateways for bandwidth saving purposes. These complex codecs work well in most voice-only calls. However, due to the compression algorithm of complex codecs, VBD calls experience problems, including signal distortion and call hang-ups. Therefore, in voice mode, once a VoIP gateway detects a modem/fax Answer Back Tone (ABT), it switches into VBD mode, which uses a low complexity codec, such as ITU G.711, thereby preventing VBD signal distortion and providing reliable VBD call connections.  
         [0003]     During the voice-to-VBD mode change, the OGW and TGW communicate with each other using peer to peer messages via a packet switched network, such as an Internet Protocol (IP) network. There are several such protocols for this, including one that uses peer-to-peer messages that carry a Named Signaling Event (NSE) packet with an Event ID defined by a manufacturer or service provider. The NSE packet uses an Network Terminating Equipment (NTE) format defined in ITU Request for Comments (RFC) document 2833 (“RFC 2833”).  
         [0004]     All of the work during a VBD mode switch, including modem/fax answer back tone detection, peer-to-peer message exchange, and the mode switch, introduces time delay. Therefore, if the original voice call is running in a complex codec other than G.711, a certain duration of modem/fax answer back tone may be distorted and transmitted to the client side before the VBD mode switch is completed. This may cause some client modem hang-ups due to the unrecognized modem answer back tone, thus lowering the success rate of VBD calls.  
         [0005]     One current solution is to apply a notch filter to block 2100 Hz modem Answer Back Tones so that the tone leakage (i.e., unwanted tones passing through to the client side) does not exceed 50 msec when a call is running on a complex codec other than ITU G.711.  
       SUMMARY OF THE INVENTION  
       [0006]     The notch filter solution that is presently used to block the 2100 Hz modem or fax answer back tone has two major drawbacks:  
         [0007]     1. Although most VBD calls use 2100 Hz answer back tones, some other modem modulation standards use other frequencies for the answer back tone. Current notch filter solutions cannot cover modem answer back tones other than 2100 Hz.  
         [0008]     2. For normal voice traffic, the 2100 Hz frequency is filtered out by the notch filter. This may not have severe impact on the overall voice quality if the notch filter is well designed to have enough sharp and narrow block band around 2100 Hz. However, if improperly designed, the notch filter can adversely affect overall voice quality.  
         [0009]     In order to avoid distorted answer back tone leakage from being transmitted to the client side before the VBD mode switch is completed, thereby causing client modem hang-ups due to an unrecognized modem answer back tone, a method or corresponding apparatus according to the principles of the present inventions forces both originating and terminating gateways to stay in a low complexity voice codec (e.g., ITU G.711) during a short beginning period of a voice call.  
         [0010]     Accordingly, one embodiment according to the principles of the present invention includes a method, and corresponding apparatus, for improving voice band data connectivity in a communications network. The method may be executed in an originating gateway (OGW) and a terminating gateway (TGW) in operative communications with each other. During a call set-up procedure, the OGW and TGW may prenegotiate a high complexity codec, which provides voice compression, for voice mode. The OGW determines if the TGW is equipped (i) to wait a predetermined length of time to receive an indication of a VBD call within the predetermined length of time (e.g., 1 second±750 msec) and (ii) to enter voice mode in an absence of receiving the indication of a VBD call within the predetermined length of time. The OGW and TGW may determine this capability via a Network Terminating Equipment (NTE) exchange. If the TGW is so equipped, rather than using the prenegotiated codec, the OGW starts the call in a low complexity codec that does not perform voice compression. Use of the low complexity codec by the OGW causes the TGW to use the low complexity codec. If the indication that the call is a VBD (e.g., modem) call (e.g., 2100 Hz tone) is received within the predetermined length of time, the TGW may enter VBD mode including turning off echo cancellation and voice activity detection. If the indication of a VBD call is not received within the predetermined length of time, the TGW enters voice mode, including switching to the prenegotiated high complexity codec. The OGW enters VBD or voice mode responsive to the TGW&#39;s entering voice mode.  
         [0011]     Thus, the principles of the present invention overcome the drawbacks of the notch filter technique of the prior art by forcing the voice gateways to stay in a low complexity codec for a short period during the beginning of a VoIP call. This significantly improves the success rate of a VBD call by completely eliminating modem answer back tone distortion. In addition, the principles of the present invention have the following advantages:  
         [0012]     1. There is no need to implement a notch filter, which provides for a lower code complexity and saves program memory.  
         [0013]     2. There is no need for a tone detector implementation for high complexity codecs. Since the low complexity codecs (e.g., G.711) require very little code space, this solves a program memory shortage issue in high complexity codecs.  
         [0014]     3. VBD call success rates are improved since the low complexity codec has a minimum distortion to the answer back tone signal.  
         [0015]     4. Using a low complexity codec during the beginning of a call has little effect on the overall bandwidth required. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]     The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.  
         [0017]      FIG. 1  is a network diagram of a communications network in which the principles of the present invention may be employed;  
         [0018]      FIG. 2  is a flow diagram of a process according to the principles of the present invention executing in a terminating gateway (TGW) in the communications network of  FIG. 1 ;  
         [0019]      FIG. 3  is a flow diagram of processes operating concurrently in an originating gateway (OGW) and the TGW in the communications network of  FIG. 1 ; and  
         [0020]      FIG. 4  is a high level schematic diagram of the TGW in the communications network of  FIG. 1  executing its process of  FIG. 3 .  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0021]     A description of preferred embodiments of the invention follows.  
         [0022]      FIG. 1  is a network diagram of a network  100  in which the principles of the present invention may be employed. The network  100  includes an Internet Protocol (IP) network  105 . Connected to the left side of the IP Network  105  is an originating gateway (OGW)  110   a,  and connected to the right side of the IP network  105  is a terminating gateway  110   b.    
         [0023]     On one side of the IP network, a public switched telephone network (PSTN)  115   a  serves to connect a telephone  120   a  and modem/fax  125   a  to the OGW  110   a.  The modem/fax  125   a  is shown sending an initiate call signal (e.g., dialed digits of another modem/fax  125   b )  128  to the PSTN  115   a,  which is received by the OGW  110   a  for Voice-over-Internet Protocol (VoIP) service. On the other side of the IP network  105 , a PSTN  115   b  serves to connect a telephone  125   b  and modem/fax  125   b  to the TGW  110 . The modem/fax  125   b  is shown sending an answer back tone (e.g., 2100 Hz) which, when received by the TGW  110   b,  causes the TGW to enter a VBD mode. Through use of the principles of the present invention, the TGW  110   b  does not affect the answer back tone  130  and, therefore, does not cause the call to hang-up.  
         [0024]     More specifically, a procedure according to the principles of the present invention can be implemented as the following two steps:  
         [0025]     1. After a voice call is established, the OGW  110   a  starts with a non-voice compression codec, such as G.711, also referred to herein as a low-complexity codec, even if a high complexity codec was negotiated in the call set-up procedure. After a call is initiated, the OGW  110   a  transmits a special data packet carrying a Capability Exchange Message (CEM)  135  to the TGW  110   b.  Then, the OGW  110   a  waits for an acknowledgment (ACK) message  140  from the TGW  110   b  until a predefined timeout (referred to herein as timeout A) expires, which may be configurable up to at least a longest two-way delay of communications between the OGW and TGW over a packet switched network and shorter than a client modem&#39;s answer back tone detection timeout. An example of timeout A is between 250 and 2000 milliseconds. If the ACK message is received successfully before timeout A expires, the OGW  110   a  keeps using the G.711 codec and is available to transmit VBD signals to the traditional telephony network (i.e., PSTN  115   a ). If no ACK message  140  is received before timeout A expires, the OGW  110   a  switches to the complex codec that was negotiated during the call set-up procedure and is available to transmit voice signals to the telephony network. Before the ACK message is received or timeout A expires, the OGW  110   a  may stop transmitting Pulse Code Modulation (PCM) signals to the telephony network  115   a  in order to block leakage of distorted answer back tones.  
         [0026]     2. After the call is established, the TGW  110   b,  responsive to the OGW  110   a,  starts with a non-voice compressing codec (e.g., G.711 codec) to compose the data packets. If the TGW  110   b  receives the capability exchange message from the OGW  110   a,  the TGW  110   b  responds to the OGW  110   a  with an ACK message immediately. Also, the TGW  110   b  actively detects the modem answer back tone from the traditional telephony network. If an answer back tone is detected by the TGW  110   b  before a second timeout (referred to herein as timeout B) expires, it switches to VBD mode by following the standard procedure for switching into VBD mode. If no answer back tone is detected before the second timeout expires, the TGW  110   b  switches back to the high complexity codec that was negotiated during the call set-up procedure.  
         [0027]     The capability exchange messages (CEM)  135  between the OGW and TGW can use an NTE message format, described in Request for Comments (RFC) document 2833 (“RFC 2833”) published by the Internet Engineering Task Force (IETF), by adding new event IDs.  
         [0028]      FIGS. 2 and 3  illustrate embodiments of the above-described process in flow diagram form.  
         [0029]      FIG. 2  is a flow diagram of a process  200  executed in the TGW  110   b  of  FIG. 1 . The process  200  starts (step  205 ) and prenegotiates a voice compression codec, such as G.729 or G.726, with the OGW  110   a  (step  210 ). The process  200  next executes a “Phase I voice process” (step  215 ). The Phase I voice process includes activating an Echo Canceller (EC), activating a Voice Activity Detector (VAD), and activating a non-voice compression codec (step  220 ). The Phase I voice process  215  also sets a VBD call indicator timer (step  225 ) to the predefined timeout B (step  225 ). If the TGW receives an indication of a VBD call or a voice call (step  230 ), the Phase I voice process  215  proceeds in a manner supporting the type of call detected. Specifically, in the case of a VBD indication (e.g., 2100 Hz tone), the process  200  sets the channel in the TGW  110   b  to VBD mode (Step  235 ). VBD mode includes disabling the echo canceller, disabling the voice activity detector, and maintaining the G.711 codec. Note that maintaining the low-complexity codec occurs in this case because of setting the prenegotiated high complexity codec to the low complexity codec. If voice is detected or the VBD call indicator timeout (timeout B) occurs, the process  200  proceeds to set the channel in the TGW  110   b  to voice mode (step  240 ). Voice mode includes activating the voice compression codec (e.g., G.729 or G.723) that was prenegotiated.  
         [0030]     In an alternative embodiment, the TGW  110   b  may be preconfigured with its echo canceller and voice activity detector disabled so that the TGW  110   b  does not enter VBD mode per se upon receipt of an indication the call is a VBD call. In yet other embodiments, other non-VBD mode configurations are possible that do not affect the answer back tone in a manner leading to call hang-up or other communications errors.  
         [0031]      FIG. 3  is a flow diagram illustrating processes  300   a,    300   b  executed by the OGW  110   a  and TGW  110   b,  respectively. The process  300   a  in the OGW  110   a  starts (step  205 ) by prenegotiating a voice compression codec (e.g., G.729 or G.726) (step  210 ) with the TGW process  300   b.  The process  300   a  activates a non-voice compression codec (e.g., G.711) after prenegotiating the voice compression codec (step  305 ).  
         [0032]     The process  300   a  determines whether the TGW  110   b  supports a Phase I voice process (step  315 ) by transmitting a Phase I voice Capability Exchange Message (CEM)  135  to the TGW  110   b.    
         [0033]     The OGW process  300   a  may next disable the transmission of Pulse Code Modulated (PCM) signals to the telephony network  110   a  to block leakage of answer back tones (step  322 ) received from the data packet switched network  105 . The process  300   a  then sets timeout A (step  325 ), which is used to set a maximum limit for waiting for an acknowledgment from the TGW as to whether it can perform the Phase I voice process  215  described in reference to  FIG. 2 .  
         [0034]     In the TGW  110   b,  its process  300   b  starts ( 205 ) and prenegotiates the voice compression codec ( 210 ) with the OGW process  300   a.  The TGW  110   b  proceeds to activate the prenegotiated voice compression codec (step  310 ). The process  300   b  in the TGW  110   b  continues by detecting whether a Phase I CEM  135  has been detected (step  320 ). If a CEM  135  is not received, the process  300   b  continues with standard operations (step  335 ), which include using the prenegotiated voice compression codec. If the CEM  135  is received, the process  300   b  sends an acknowledgment message (ACK MSG)  140  (step  330 ) and executes the process  200  described in reference to  FIG. 2 .  
         [0035]     Referring again to the OGW process  300   a,  if the acknowledgment message  140  is received (step  340 ), the process  300   a  continues to operate using a low complexity codec (step  350 ), which uses a non-voice compression codec. If an acknowledgment is not received (i.e., timeout A occurs), the process  300   a  sets the OGW  110   a  to use the prenegotiated voice compression codec (step  345 ).  
         [0036]      FIG. 4  is a generalized schematic diagram of the TGW  110   b.  The TGW  110   b  includes a traditional telephony network interface  405 , which communicates with the PSTN  115   b,  and an IP network interface  410 , which communicates with the IP network  105 . The TGW  110   b  includes a processor  415  in communication with the IP network interface  410  and traditional telephony network interface  405 . The processor  415  executes the process  300   b  of  FIG. 3 .  
         [0037]     It should be understood that the processes of  FIGS. 2 and 3  typically occur on a channel-by-channel basis in the gateways, where Digital Signal Processors (DSP&#39;s), for example, in the channels (not shown) execute program instructions to perform the processes  200 ,  300   a,  and  300   b.  The processes  200 ,  300   a,    300   b  described herein may be implemented in the form of hardware, firmware, or software. If provided in software, the software may be provided on a computer readable medium, such as RAM, ROM, optical or magnetic disk, or other computer-readable media. The software may also be stored remotely from the OGW or TGW and be downloaded via the IP network  105 , for example, or downloaded via other network. In operation, the processor  415 , in the example embodiment of  FIG. 4 , loads the software (i.e., computer instructions) and executes the instructions in a manner well known in the art.  
         [0038]     One way of verifying that the processes described herein operate as expected is by using a data packet capture tool. This data packet capture tool determines if a voice codec is switched. This can be done in a normal voice call by setting the default codec to a high complexity codec, such as G.729. If the captured data packets show that there are switch-overs between a low complexity codec and the high complexity codec during the beginning period of a normal voice call, proper operation is being performed.  
         [0039]     While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.