Предотвращение эха в сервере Asterisk


Проблема с сигналом эха возникает в следующих случаях:
  • у Вас имеется сигнал эха, полученный откуда-то из канала связи (Ваш вызов проходит через двухпроводную линию связи).
  • у Вас имеются задержки сигналов, вызванные архитектурой канала связи (например, Вы используете VoIP каналы)
При таких сценариях, эхосигнал становиться заметным и мешающим. Вам необходимо использовать систему эхоподавления, расположив ее как можно ближе к его источнику (например, на шлюзе в телефонную сеть).

Нижеприведенные вызовы не должны приводить к заметному сигналу эха:

VoIP телефон <-> Asterisk <-> VOIP телефон
VoIP телефон <-> Asterisk <-> T100P <-> PRI (тут у меня есть сомнения)


Я очень сильно сомневаюсь по поводу беспроблемности второй схемы подключения. Вероятнее всего телефонные операторы не будут производить подавления сигнала эха для локальных вызовов, основываясь на том, что путь сигнала эха должен быть достаточно коротким и абоненты не должны его замечать. Однако, т.к. у Вас используется VoIP канал, задержка этого сигнала становиться уже заметной, и пользователь VoIP телефона будет слышать эхо.

Принимая во внимание, что VoIP телефоны сами производят качественное подавление эха внутри себя, можно согласиться, что в первом случае ни одна из сторон не должна слышать сигнал эха.

Richard van der Hoff, July 2005


Нижеприведенные каналы потенциально содержат источники заметного сигнала эха. Аналоговый телефон - имеет преобразователь с 2 на 4 проводную линию "гибрид" (микрофон + телефон -> в 2 провода). FXS и FXO модули также содержат "гибрид" для согласования 2<->4 проводных линий:

Аналоговый телефон <-> TDM10B-FXS <-> Asterisk <-> TDM01B-FXO <-> Телефонная сеть
Аналоговый телефон <-> шлюз <-> Asterisk <-> TDM01B-FXO <-> Телефонная сеть
VoIP телефон <-> Asterisk <-> Телефонная сеть


Часто эхоподавление зависит от качества исполнения "гибридов". Мне очень понравился "гибрид" в картах TDMxxx, и очень не понравился тот, что содержится в картах X100/101P.

В следующих конфигурациях, карты "channel bank" обеспечивают необходимое и адекватное эхоподавление:

Анаолговый телефон <-> Adtran TA750 <-> T100P <-> Asterisk <-> TDM01B-FXO <-> Телефонная сеть
Анаолговый телефон <-> Adtran TA750 <-> T100P <-> Asterisk <-> T100P <->PRI>


VoIP телефоны могут задействовать DSP для решения проблемы эхоподавления и будут даже успешней справляться с этой задачей, т.к. интерфейс с наушником и микрофоном обычно всегда стандартный - и у Вас нет непредсказуемых интерфейсов, подключенных к линии, как это может быть в случае с публичной телефонной сетью.

Еще одна вещь, которая не часто упоминается относительно проблемы эха и сервера Asterisk - это определение: #define AGGRESSIVE_SUPPRESSOR в файле zconfig.h исходных кодов драйвера zaptel. Если у Вас имеются большие проблемы с сигналом эха, которые не решаются всеми остальными способами, попробуйте раскомментировать эту директиву.

Martin Kihlgren, 2004


Если у Вас не получается избавиться от сигнала эха, то можно попробовать следующее: в файле zconfig.h, есть определение для нового эхоподавителя от zaptel с названием: ECHO_CAN_MG2 (MG2), Отредактируйте этот файл (его можно найти в директории /usr/src/zaptel), перекомпилируйте драйвер и сервер Asterisk - и у Вас не должно быть эха ни у одного из абонентов!!!

Ссылки по теме: