Guest

Voice Quality

Troubleshooting Echo Problems between IP Phones and IOS Gateways

Document ID: 19640

Updated: Apr 02, 2008

   Print

Introduction

This document describes how to troubleshoot and eliminate echo where possible in IP Telephony networks with Cisco IOS® gateways.

There are two sources of echo:

  • Hybrid echo

  • Acoustic echo

Hybrid echo is caused by an impedance mismatch in the hybrid circuit, such as a two-wire to four-wire interface. This mismatch causes the Tx signal to appear on the Rx signal.

echo1.gif

Acoustic echo is caused by poor acoustic isolation between the earpiece and the microphone in handsets and hands-free devices.

echo2.gif

Echo is perceived as annoying when all of these conditions are true:

  • Signal leakage between the analog Tx and Rx paths.

  • Sufficient delay in echo return.

  • Sufficient echo amplitude.

Echo in Packet Voice Networks

The packet segment of the voice connection introduces a significant delay (typically 30 ms in each direction). The introduction of delay causes echoes (from analog tail circuits), that were normally indistinguishable from the side tone, to be now perceived by the user.

echo3.gif

The delay introduced by packet voice is unavoidable. Therefore, the voice gateways must prevent the echo. This diagram illustrates how the gateway can reduce the echo before it can enter the packet voice network with the use of an echo canceler.

echo4.gif

Refer to Echoed Voice for more information on echo in voice networks.

Prerequisites

Requirements

There are no specific prerequisites for this document.

Components Used

This document is not restricted to specific software and hardware versions.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

PSTN Phone User Hears Echo

The problem exists when the PSTN phone user hears echo which is caused by acoustic coupling between the earpiece and the microphone in the IP phone handset.

The solution is to use a load ID on the IP phone, which includes echo suppression on the handset and headset. Currently, available load IDs only include echo cancellation on the speaker phone. However, there are some known issues such as talker echo and acoustic echo from IP phone to IP phone with an older load ID. Refer to Release Notes for Cisco IP CallManager Firmware for 7960, 7940, and 7910 Series Phones if you experience such issues in order to decide if an upgrade to the latest load ID can resolve the issue.

echo5.gif

IP Phone User Hears Echo

The problem exists when IP phone users hear echo caused by hybrids in a PSTN network.

The solution is to configure and verify echo cancellation operation on a Cisco IOS gateway. The echo canceler in the voice gateway cancels the echo heard by the IP phone user.

echo6.gif

Troubleshoot Echo in Gateways with Cisco IOS Software Releases 12.4

Intermittent echo can be heard on voice gateways that run Cisco IOS Software Release 12.4 with DSPWare 4.4.13 or 4.4.14. This is a known issue documented in Cisco bug ID CSCsd54344 (registered customers only) . In order to resolve this issue, you need to downgrade DSPware to 4.4.12 or earlier. Contact the Cisco Systems Technical Assistance Center (TAC) in order to obtain assistance in downloading the DSPware image.

Hardware ECAN (MFT-EC-32/MFT-EC-64) on VWIC2-xMFT-T1E1 does not cancel voice echo. This is a known issue documented in Cisco bug ID CSCsb59252 (registered customers only) .

Troubleshoot Echo Problems with these DSP Voice Quality Metrics

  • Check the delay (DSP/DL) and R-factor (DSP/RF) statistics. You can potentially find perceptible delay between when the originating signal is transmitted and when the echo returns. In most telephones, sidetone helps mask some of the echo. Echos must be delayed by at least 20 milliseconds in order to be perceived.

  • Check the level (DSP/LE) statitstic for sufficient echo amplitude. If the amplitude of the echo is low, it can go unnoticed.

Troubleshoot Echo in Gateways with Cisco IOS Software Releases Prior to 12.2.11T

Cisco IOS Gateway Parameters for when you Troubleshoot Echo

It is important to make sure that the echo canceler has enough information to distinguish between echo and voice conversation. The available parameters to control the distinction are:

  • Input Level—Input gain of a signal is performed before the echo canceler sees the echo.

  • Output Level—Output attenuation of a signal is performed after the echo canceler sees the original output signal.

  • Echo Canceler Coverage—The amount of time the echo canceler remembers a signal that has been output. This parameter must be set to a value greater than the time the echo needs to return to the gateway.

echo7.gif

Step-by-step Procedure to Troubleshoot and Eliminate Echo

Complete these steps to eliminate echo.

  1. Verify that echo cancellation is enabled on the voice port. Echo cancellation is enabled by default.

    Gateway(config-voiceport)#echo-cancel
       coverage   Echo Cancel Coverage 
       enable     Echo Cancel Enable
    

    Note: You must shut, then no shut the voice port for the changes to take effect.

  2. Configure the echo canceler coverage to a value greater than the time the echo needs to return to the gateway, so that it is long enough to cover the worst case for your environment, but not longer.

    Gateway(config-voiceport)#echo-cancel coverage
       16  16 milliseconds echo canceler coverage 
       24  24 milliseconds echo canceler coverage 
       32  32 milliseconds echo canceler coverage 
       8   8 milliseconds echo canceler coverage
    

    Note: You must shut, then no shut the voice port for the changes to take effect.

    Note: The default coverage is set to 8 ms, but you can increase it up to 32 ms. If the PSTN delay (tail length) is more than 32 ms, current echo cancelers in Cisco IOS gateways are not able to cancel the echo. In Cisco IOS Software Release 12.2.13T and later, the echo coverage can be configured up to 64 ms. See the Echo Canceler Enhancements in Cisco IOS releases 12.2.11T and 12.2.13T section of this document.

  3. Measure the echo and adjust the echo signal level as required.

    Insufficient echo return loss (ERL) to handle the echo might cause these problems:

    • Echo canceler does not cancel, but not enough to make echo inaudible.

      If the ERL value is too low, the total echo return loss seen by the IP network (ACOM) might be insufficient to suppress the echo. ERL needs to be approximately 20 dB (at least 15 dB).

      Note: Acombined (ACOM) is the total echo return loss seen across the incoming and outgoing terminals of the echo canceler (incoming terminal = signal into the ECAN toward the PSTN (voice), and outgoing terminal = signal out of the ECAN toward the IP network (echo)). ACOM is the sum of ERL + ERLE, or the total echo return loss seen by the network.

      Note: ACOM (Total loss) = ERL (Tail loss) + ERLE (ECAN loss)

    • Echo canceler does not cancel.

      If the ERL value is too low, the echo signal that returns to the gateway might be too loud (within 6 dB of the talker signal). This causes the echo canceler to consider it as voice (double-talk) instead of echo. As a consequence, the echo canceler does not cancel it. ERL needs to be approximately 6 dB or higher for the echo canceler to engage. In Cisco IOS Software Release 12.2.13T, you can configure this ERL level. See the Echo Canceler Enhancements in Cisco IOS Software Releases 12.2.11T and 12.2.13T section of this document.

      In order to prevent these problems, measure the ERL and signal levels. Then adjust the signal levels on the Cisco IOS gateway based on the results. Configure positive values for output attenuation and negative values for input gain to adjust these levels. Input gain is performed before the echo canceler sees the echo signal, and output attenuation is performed after the echo canceler sees the original output signal.

      voice-port 1/1:15 
         input gain -3 
         output attenuation 3
      

    Note: You must shut, then no shut the voice port for the changes to take effect.

    Note: In Cisco IOS Software Release 12.2(1) and later, output attenuation can be set to a negative value which actually amplifies the output signal.

  4. Echo can also be caused by an impedance mismatch if both sides are not configured identically. Verify, and modify if needed, the impedance configured in the voice port. A default of 600 ohms is consistent with most lines on the PSTN and PBXs.

    Gateway(config-voiceport)#impedance
      600c 600 Ohms complex
      600r 600 Ohms real
      900c 900 Ohms complex
      complex1 complex 1
      complex2 complex 2

Echo Canceler Enhancements in Cisco IOS Software Releases 12.2.11T and 12.2.13T

Echo Suppressor

Enable echo suppressor to reduce the echo during the first two to three seconds of a call, while the echo canceler converges.

Configuration

gateway(config-voiceport)#echo-cancel ? 
  coverage    Echo Cancel Coverage 
  enable      Echo Cancel Enable 
  suppressor  echo suppressor

Software and Hardware Platforms Supported

Echo suppressor is supported in Cisco IOS Software Releases 12.2(11)T, 12.2(12), and 12.2(8)T5. The echo suppressor can only be used on T1 digital signal processors (DSPs) when the default Cisco G.165 EC is used. The echo suppressor cannot be used with the extended EC or on NextPort (Cisco AS5350 and Cisco AS5400) platforms. Except for the extended EC or on NextPort (Cisco AS5350 and Cisco AS5400) platforms, echo suppressor is supported in all platforms and all complexities (c549, c542 and c5409).

Extended Echo Canceler

Configuration

In addition to the default echo canceler used in the Cisco voice gateways (G.165 compliant), a new echo canceler is available in some of the platforms (G.168 compliant). The extended echo canceler provides:

  • Tail coverage of up to 64 ms.

    Enable the extended echo canceler to eliminate the echo when the tail coverage is greater than 32 ms.

  • Faster convergence.

    Enable the extended echo canceler to reduce the echo during the first two to three seconds of a call, while the echo canceler converges. Echo suppressor is not required anymore when you enable the extended echo canceler.

  • ERL can be tuned.

    Enable the extended echo canceler to eliminate the echo when ERL cannot be tuned lower than 6 dBm.

Extended echo cancellation is configured differently based on the version of Cisco IOS software you use. If you use Cisco IOS Software Release 12.3(4)XD or later, you do not have to use any Cisco IOS commands to enable the Enhanced ITU-T standard G.168 Echo Cancellation feature because the extended G.168 EC is the only available echo canceller. You have the option to disable the extended EC, but Cisco highly recommends that you leave it enabled.

The Cisco Enhanced ITU-T G.168 ECAN feature can be run either on the dedicated ECAN modules or the general voice resources that reside on the platform, network module, or advanced integration module. For example, Cisco 2800 Series and 3800 Series integrated services routers can use either the packet voice DSP modules (PVDM2s) mounted in the router chassis or the digital signal processor (DSP) resources on network modules to run the G.168 ECAN feature. When the G.168 ECAN feature is run on general voice resources, processing and memory constraints limit it to have at most 64-ms echo tailcoverage. Although this is adequate in most network conditions, a largerecho tail coverage is sometimes required. In these situations, the dedicated ECAN modules, attached to the appropriate MFT VWIC2, can be used. The processing and memory resources of the dedicated ECAN modules enable the echo canceller to be configured with predefined settings and an extended 128-ms echo tail buffer, which provides robust echo cancellation performance.

Table 1—Cisco IOS Commands for the Selection of Extended E.168 EC by Platform and Cisco IOS Software Release

Cisco Software IOS Release Cisco IOS Command
Cisco 1700 series and Cisco ICS 7750
12.2(13)T Router(config)#voice echo-canceller extended
12.2(13)ZH,12.2(15)ZJ, 12.3(1) Router(voice-card)#codec complexity medium
12.3(4)T and later No configuration is necessary. G.168 EC is enabled by default.
Cisco 2600, 3600, 3700, MC3810, and VG200
12.2(13)T, 12.2(13)ZH, 12.3(1) Router(voice-card)#codec complexity medium ecan-extended or Router(voice-card)#codec complexity high ecan-extended
12.2(15)ZJ, 12.3(4)T Router(voice-card)#codec complexity medium
12.3(4)XD and later No configuration is necessary. G.168 EC is enabled by default.
Cisco 7200 and 7500 series
12.2(13)T Router(config-dspfarm)#codec complexity medium ecan-extended
12.2(13)ZH and later No configuration is necessary. G.168 EC is enabled by default.
Cisco AS5300
12.2(13)T Router(config)#voice echo-canceller extended codec small codec large codec
12.3(3) Router(config)#voice echo-canceller extended [codec small codec large codec]
Cisco Catalyst 4000 AGM
12.3(4)T and later No configuration is necessary. G.168 EC is enabled by default.

These options are available under the voice port once extended echo canceler is enabled:

tauro(config-voiceport)#echo-cancel coverage ? 
  24  24 milliseconds echo canceler coverage 
  32  32 milliseconds echo canceler coverage 
  48  48 milliseconds echo canceler coverage 
  64  64 milliseconds echo canceler coverage

tauro(config-voiceport)#echo-cancel erl ? 
  worst-case  Echo Cancel worst-case Echo Return Loss

tauro(config-voiceport)#echo-cancel erl worst-case ? 
  0  Worst case echo canceler operation is 0 dB ERL 
  3  Worst case echo canceler operation is 3 dB ERL 
  6  Worst case echo canceler operation is 6 dB ERL

Note: Refer to Configuring Voice Ports for more information.

Software and Hardware Platforms Supported

Table 2 lists the support for the extended G.168 EC by platform, network module, high-complexity and medium-complexity codecs, and minimum Cisco IOS Software Release.

Table 2—Extended Echo Canceller Algorithm Coverage by Platform

Platform Module High Complexity Medium Complexity Comments
Analog Digital Analog Digital
Cisco 1700 series 12.2(8)YN, 12.2(13)T 12.2(8)YN, 12.2(13)T 12.2(8)YN, 12.3(2)T 12.2(8)YN, 12.3(2)T Flexi6 support in Cisco IOS Software Release 12.2(8)YN.
Cisco 2600, 2600XM, 3600, 3700, and VG200 series NM-HDV (C549) 12.2(13)T and later 12.2(13)T and later Full support
Cisco 2600, 2691, 3600, 3700, and VG200 series NM-1V, NM-2V (C542) No No Not supported
Cisco 2600XM, 2691, 3640, 3660, and 3700 series NM-HDxx 12.3(4)XD and later 12.3(4)XD and later 12.3(4)XD and later 12.3(4)XD and later
Cisco 2600XM, 2691, 3640, 3660, and 3700 series AIM-Voice (C5421), AIM-Voice-30 (C542) 12.2(15)ZJ, 12.3(4)T and later 12.2(15)ZJ, 12.3(4)T and later Advanced Integration Module (AIM).
Cisco 2600XM, 2691, 3640, 3660, and 3700 series NM-HDA (C5421) 12.2(15)ZJ, 12.3(4)T and later 12.2(15)ZJ, 12.3(4)T and later 12.2(15)ZJ, 12.3(4)T and later High-Density Analog Voice Network Modules (NM-HDA).

Note: G.728 high complexity is not supported.

Cisco 2600 series NM-HDA (C5421) 12.3(9) and later 12.3(9) and later
Cisco 2600 series AIM-Voice (C5421) 12.3(9) and later 12.3(9) and later
Cisco 7200 series PA-VXx-2TE1+, PA-MCX-nTE1 12.2(13)T and later 12.2(13)T and later PA-MCX-nTE1 port adapters do not have their own DSPs, so they use the DSPs of PA-VXx-2TE1+ port adapters.
Cisco 7500 series 12.2(13)T and later No No medium complexity.
Cisco AS5300 12.2(13)T (restricted), 12.3(3) (unrestricted) and later No One-channel DSP on C549 with extended EC, any codec (unrestricted).
Cisco AS5350, AS5400, and AS5850 Different DSP with its own 128 ms-coverage EC.
Cisco Catalyst 4000 AGM 12.3(4)T and later No No 12.3(4)T and later High-complexity analog and medium-complexity digital is planned.
Cisco Catalyst 6000 Cisco 6624 A002040- 00002 A002040- 00002
Cisco 6608 A004040- 00002 A004040- 00002
Cisco IAD2420 12.2(13)T and later 12.2(13)T and later 12.3(1) mainline and later 12.3(1) mainline and later
Cisco IAD243x VIC2-4FXO onboard T1 12.3(4)XD and later 12.3(4)XD and later 12.3(4)XD and later 12.3(4)XD and later
Cisco ICS 7750 12.2(13)T and later 12.2(13)T and later 12.2(13)T and later 12.2(13)T and later Flexi6 support
Cisco MC3810 HCM 549 12.2(13)T and later 12.2(13)T and later 12.3(1) mainline and later 12.3(1) mainline and later

Note: Refer to Configuring Voice Ports for more information.

Verify

How to Verify Voice Call Tuning Functionality

There are no configuration tasks for this feature. However, you can verify that the Voice Call Tuning feature operates on your system. In order to do so, complete these tasks:

  • Use the show vfc version command in order to show the version of the software that resides on your voice feature card (VFC). This command shows information in the output of the show vfc version vcware and show vfc version dspware commands that indicates whether the Cisco VCWare or DSPWare is compatible with the Cisco IOS image.

  • Use the test call id command in order to manipulate echo canceller and jitter-buffer parameters in real time. You can use this command with the extended G.168 echo canceller, which allows you to configure the voice card in a router individually, or with the Cisco G.165 echo canceller, which allows you to configure the router as a whole. Messages are visible in the command output when either an extended-only or a standard-only echo cancellation is requested, as in this example:

    Extended echo canceller not active for CallID callID
    Basic echo canceller not active for CallID callID

Related Information

Updated: Apr 02, 2008
Document ID: 19640