Эхо в VOIP (IP телефонных) сетях
Явление эха в телефонной сети, это ситуация, когда абонент слышит повторение своего голоса при разговоре. В данной статье я попробую объяснить пути возникновения эха и возможные способы борьбы с данной проблемой.
Общие принципы
Любой голосовой обмен имеет две составляющие.
- Тракт передачи. Это путь, по которому идет голос, когда Вы говорите. То есть, это путь от Вашего рта, через микрофон, голосовую сеть, телефон абонента обратной стороны до его уха.
- Тракт приема. Это путь, по которому идет голос, когда Вы слушаете. То есть ото рта абонента обратной стороны, через его микрофон, голосовую сеть, Ваш телефон, Ваше ухо.
Эхо, это утечка голоса из тракта передачи в тракт приема. На рисунке 2, показан пример, когда Вы слышите эхо в своем телефоне.
Исходя из рисунка понятно, что причиной слышимого эха, всегда является обратная сторона.
Важным фактором для анализа эха, является транспортная задержка голосовой сети. То есть, это время прохождения голоса от микрофона до места утечки, и обратно от места утечки до вашего телефона. В случае если задержка мала, как при обычных внутригородских звонках со стационарных телефонов, вы никогда не сможете распознать эха, даже если таковое имеет место быть.
Для инженеров, при транспортных задержках до 50 миллисекунд, человеческое ухо не в состоянии услышать утечку в звуковом тракте.
Задержки от 50 до 300 мс. Это прямые VOIP транки, сотовые сети, спутниковые сети. Как правило, абонент не чувствует задержки если не имеет визуального контакта с противоположной стороной. Для этих задержек, как правило, достаточно любой, самой простой системы эхоподавления.
Задержки от 300 до 800 мс. Эти задержки возникают при стыковке нескольких сетей, с большими транспортными задержками. Например, при многократной перепродаже голосовых каналов через биржи трафика и в многоскачковых спутниковых трактах. В этих сетях общение затруднено, в связи с тем, что обратная сторона слышит Ваш голос с большой задержкой. Мало того, для таких систем необходимо иметь достаточно сложные, дорогие системы эхоподавления.
Задержки свыше 800 мс. Как говорится, за это еще и деньги платить.
Анализ причин появления эха.
Вернемся опять к рисунку 2. Как было сказано ранее, если ваш респондент слышит эхо, то проблемы на вашей сотроне. И с точностью до наоборот, если вы слышите эхо, проблемы на стороне респондента. Однако, к эху на ближнем конце человеческое ухо физиологически нечувствительно в связи с малым временем транспортной задержки.
Принципиально существует два различных способа возникновения утечки из передающего тракта в приемный: акустический и электрический.
Акустический подразумевает собой попадание звука с динамиков спикерфона телефонного аппарата или колонок компьютера в микрофон либо в микрофонную гарнитуру. Поэтому, при использовании различных софтфонов, настоятельно не рекомендуется использовать динамики компьютера и микрофон. Относительно промышленных спикерфонов. Как правило, разработчики телефонных аппаратов со спикерфонами используют достаточно серьезные противоместные схемы для защиты от заворота звука динамика в микрофон. Поэтому, акустическое эхо при использовании спикерфона, это скорее исключение.
Электрическая утечка возможна только в аналоговых трактах. В цифровых системах передачи голоса, к которым относятся ISDN , ИКМ, VIOP транки и специализированные цифровые интерфейсы телефонов как то, GSM, IP телефоны, станционные цифровые телефоны, утечка не возможна по определению. Обычно местами утечки являются либо точки перехода с цифровых транков на аналоговые двухпроводные, либо переходы с четырхпроводных аналоговых транков на двухпроводные. Наиболее частым источником эха на постсоветском пространстве является, разные физические характеристики жил в паре кабеля. Намокание, плохие контакты на КРТ не позволяют дифференцирующим системам на телефонных станциях и телефонных аппаратах в достаточной мере скомпенсировать местный эффект.
Рассмотрим схему звонка с использованием предоплаченной телефонной карточки из Киева в Якутск. Сигнал идет от телефонного аппарата, через городскую телефонную станцию по двухпроводной аналоговой линии, затем по цифровым ISDN транкам до шлюза провайдера, затем через VOIP сеть до Московского VOIP шлюза терминирующего оператора, затем через цифровую сеть одного из трансроссийских телефонных операторов, Якутскую междугороднюю станцию, городскую координатную станцию, соединенную с междугородной телефонной станцией четырехпроводной аналоговой линией, и затем по двухпроводной линии до аппарата абонента.
Для возникновения эха необходимо выполнение следующих трех условий:
- Утечка в аналоговых трактах с передачи на прием.
- Достаточная длинная транспортная задержка от абонента до места утечки.
- Достаточный уровень утечки, чтобы быть распознанным человеческим ухом.
Просчитаем значение односторонних задержек на маршруте. Значение транспортной задержки сигнала в оптических либо медных линиях передачи 0,005 ms/километр. Задержка на VOIP передатчиках от 20 до 60 мс в зависимости от алгоритма кодирования, размера пакета и производительности процессора кодирования. Задержка на VOIP приемниках складывается из задержки на декодировании, обычно приблизительно равной задержке кодирования плюс задержке на jitter буфере. Длина jitter буфера обычно от 20 до 150 mc в зависимости от стабильности канала приема данных.
Итак, задержки на маршруте от Киева до Якутска.
- От аппарата абонента до шлюза VOIP оператора 10 км*0,005= 0,05 мс
- От VOIP шлюза оператора в Киеве до шлюза оператора в Москве. 40mc на кодирование и 40+20=60 мс на декодирование. Транспортная задержка в каналах передачи данных от Киева до Москвы 2000км*0.005=10мс при наличии прямого канала на Москву. При соединении с Москвой через Европейских операторов, что в практике встречается наиболее часто, задержка в канале будет 30mc. Итого в сумме односторонняя задержка в VOIP тракте будет 40+60+30=130мс
- От Москвы через трансроссийского оператора до Якутска 5000км*0.005=25mc
- Внутригородская задержка в Якутске пренебрежимо мала и соизмерима с задержкой внутри Киева то есть до 0.01мс.
Исходя из высказанного понятно, что источник эха для абонента из Киева может, находится внутри Якутска и соответственно источником эха для абонента из Якутска может быть только внутри Киева.
Работа систем эхоподавления
Эхоподавитель это один из элементов VOIP шлюза уменьшающий уровень эха, попадающего из тракта приема в тракт передачи со стороны телефонного абонента.
То есть два основных свойства эхоподавителя это:
- Эхоподавитель смотрит в сторону телефонной сети
- Эхоподавитель работает на своем оконечном участке сети.
Для нашего примера. Эхоподавитель на Московском голосовом шлюзе принимает сигнал, пришедший с Киевского шлюза через VOIP сеть. С другой стороны, тот же шлюз принимает телефонный сигнал из Якутска, состоящий из ослабленного сигнала из Киева и полезного сигнала из Якутска. Задача эхоподавителя в Москве удалить из сигнала пришедшего из Якутска голосовую составляющую сигнала из Киева. То есть, если абонент в Киеве слышит эхо, это свидетельствует о том, что эхоподавитель в Москве не в состоянии удалить утечку из тракта приема в тракт передачи.
Важное замечание. Значение задержки и jitter-а в VOIP сети не влияют на работу эхоподавителя, поскольку эхоподавление производится на телефонной стороне, у которой значение задержки фиксировано.
Как работает эхоподавитель. Он включает в себя два основных элемента. Процессор вычисления функции свертки и нелинейный сумматор. Задача процессора это вычисление времени и амплитуды эха. На сумматоре происходит сложение сигнала приходящего из телефонной сети на шлюз с отрицательным значением функции свертки.
Что нужно знать инженерам практикам.
- Процессору свертки необходимо некоторое время для вычисления параметров. Причем, чем больше времени прошло с начала разговора, тем точнее работает подавление эха.
- Процессор функции свертки анализирует ограниченный отрезок времени передачи в направлении телефонной сети. Соответственно, для рассмотренного выше примера, когда мы имеем дело с телефонной сетью от Москвы до Якутска размер буфера для анализа истории, должен превышать значение транспортной задержки сети в оба конца. То есть, для рассмотренного выше случая он должен быть больше 50mс. Соответственно, для стыковок VOIP оборудования с мобильными сетями, либо другими VOIP сетями через аналоговые транки необходимо выбирать оборудование с возможностью анализа эха на достаточно длинном интервале времени. С другой стороны, вычисление функции свертки на длительном интервале это функция, требующая больших вычислительных мощностей процессора. То есть, для VOIP шлюзов, у которых эхоподавление производит центральный процессор, вызывает существенное снижение производительности всей системы.
- Во многих старых и дешевых шлюзах используются так называемые эхозаградители. Они производит не цифровое суммирование сигнала, а просто подменяет сигнал приема с телефонной сети комфортным шумом. В этом случае на обратной (VOIP) стороне получает так называемый «радио эффект». Связь становится полудуплексной с невозможностью прервать обратную сторону при разговоре.
Когда эхоподавление не работает
Это бывает в следующих случаях:
- Эхо слишком громкое. Алгоритм, заложенный в эхоподавитель, не распознает его как эхо и соответственно не пытается ослабить.
- Временная задержка эха, больше чем максимальный временной интервал буфера эхоподавителя.
- Эхо имеет серьезные нелинейные искажения. Соответственно алгоритм процессора свертки не может вычислить функцию свертки.
Январь 26th, 2009 | 21:46
Добавил в избранное — дочитаю позже, Интересненько.
Январь 27th, 2009 | 14:47
Приятно узнать что думает по этому поводу умный человек. Спасибо за статью.
Январь 29th, 2009 | 16:59
То есть если происходит утечка во время транспортировки и сигнал возвращается обратно на передающее устройство, то в RTP траффике это эхо будет слышно?
Январь 29th, 2009 | 17:26
Надя, что Вы имели ввиду под утечкой во время транспортировки?
Задача эхоподавителя любого VOIP шлюза это не пустить эхо со строны телефонной сети в RTP тракт. Это вы хотели услышать?
Январь 29th, 2009 | 18:23
«Эхо, это утечка голоса из тракта передачи в тракт приема. На рисунке 2, показан пример, когда Вы слышите эхо в своем телефоне.»
То есть если мы всё-таки слышим эхо в своём телефоне то это эхо туда попадает с RTP пакетами и если мы прослушаем то, что содержится во входящих RTP пакетах, то эхо должно там присутствовать?
Дело в том что у нас входящий тракт который мы ловим с помощью снифера вроде чистый, а эхо есть иногда имеется, начинаем грешить на сам телефон
Вот спрашиваю Ваше мнение
Спасибо большое за ответ
Январь 29th, 2009 | 21:56
Надя телефон не причем 100%. В слышимом у Вас эхе __всегда__ виновата обратная сторона. И устранить его можно только усилиями обратной стороны.
Январь 29th, 2009 | 21:59
Ну или вами, если Вы контролируете шлюз на обратной стороне.
Вообще, самое главное на что я надеялся, когда писал статью и несколько раз повторял в тексте: Источник эха это кривой эхоподавитель или что либо другое, на обратной стороне. Всегда. Если Ваши клиенты слышат эхо не ищите проблем у себя, меняйте carrier или наезжаете на партнера. И с точностью наоборот, внимательно слушайте carrier партнера. Эхо и потери пакетов у его клиентов это как правило Ваша вина.
Январь 30th, 2009 | 11:27
Это было бы замечательно если б удалось всё свалить на другую сторону
Но пока наши клиенты наезжают на нас, поэтому приходится и самим разбираться
Ладно, будем изучать дальше, запланировали тест с партнёрами
Вам ещё раз большое спасибо за внимание и ответы!
Январь 30th, 2009 | 11:52
Надя, я просто смотрю на это как провайдер. А если это точка-точка, скажем между офисами, можно уменьшить уровень передачи в телефоне. Для провайдера это неприемлемо а в вашей ситуации может и помочь.
Февраль 11th, 2009 | 13:55
Да, Вы конечно оказались правы.
Эхо приходит с far-end и наш эхо подавитель не может с ним справится иногда в случае если происходит двойной разговор (оба собеседника говорят одновременно).
Просто эхо было не очень просто обнаружить во входящих RTP пакетах, но теперь разобрались
Спасибо!
Февраль 11th, 2009 | 14:59
Всегда рад
Март 15th, 2009 | 03:18
Уважаю людей, которые для объяснения простыми и понятными словами достаточно сложных процессов, могут перейти на соответствующий уровень абстракции.
Я настолько в последнее время задурился от постоянного переключения с одной проблемы на другую, что в очередном китайском БАГе, уже сам начал сомневаться в природе VoIP эха, особенно, с учетом АРХИсамоуверенности в собственной глупости узкоглазых «братьев по разуму.» Ну не могут они осилить тот факт, что эхо в RTP потоке с их стороны — не проблема нашего чипа.
А вообще, очень больно на душе за то, что в нашей стране — есть еще спецы, но своих VoIP маршрутизаторов мы не делаем. Вместо этого, работаем на американцев, которые фаршируют DSP чипами — Cisco, Huawey, ZTE и т.д. А последние добавляют проц общего назначения, какую-нить IOS, всё это в «коробку» и… Продают, с учетом МНОГОнакруток, таможенных пошлин и т.д. — нашим провам, по сумасшедшим ценам… А Россия еще дальше пошла, при своем живом РЕАЛЬНОМ производителе телекоммуникационного оборудования (Zelax), в лице Ситроникса, собирается пустить ZTE на свой рынок… Сумасшедшие… А ведь объединив усилия, Россия и Украина могли бы запросто обеспечить себе светлое телекоммуникационное будущее… Многомиллиардное будущее…
Спасибо Вам большое за Ваш сайт!
С Уважением, Виталий.
Июнь 21st, 2009 | 21:55
я за общее и многомиллиардное :)))
Июль 13th, 2009 | 19:08
Замечательный сайт! Спасибо!
Хотел последний раз уточнить по эху.
Мы используем SIP.
Есть два абонента. У каждого на ПК стоит программный SIP-телефон (X-Lite) и гарнитура (закрытые наушники с микрофоном) — постоянно мешает эхо, причём достаточно громкое иногда.
Проблему искать только в используемой гарнитуре? Что можно сделать? Уменьшить громкость в наушниках, уменьшить усиление микрофона?
Июль 14th, 2009 | 08:58
Вы идете в правильном направлении. громкости и усиление. Хотя может быть и завязка на самой звуковой карте.
Август 6th, 2009 | 18:35
Спасибо
Октябрь 15th, 2009 | 16:24
Андрей !
Спасибо за понятное объяснение принципов эхоподавления.
Хочу уточнить, правильно-ли я понял, — на приемной стороне \А\ в RTP потоке эхо сигнала уже не должно быть (т.е. эхо подавлено в TGW)?
Не понятно сообщение Нади, \Просто эхо было не очень просто обнаружить во входящих RTP пакетах, но теперь разобрались\ — какая у нее могла быть проблема с просмотром или прослушиванием RTP…?
Октябрь 16th, 2009 | 08:32
Хочу уточнить, правильно-ли я понял, — на приемной стороне \А\ в RTP потоке эхо сигнала уже не должно быть (т.е. эхо подавлено в TGW)?
Абсолютно правильно.
Не понятно сообщение Нади, \Просто эхо было не очень просто обнаружить во входящих RTP пакетах, но теперь разобрались\ — какая у нее могла быть проблема с просмотром или прослушиванием RTP…?
Октябрь 26th, 2009 | 11:23
usyo kak bi OK. Zamechu toljko, cto pro rolj zaderzki horosho bi chutj podetaljney- to, cto uho ne mozet ulovitj zaderzku do 50ms, a do 300ms ona takze ne igraet roli, osporimo. boljse informacii mozno pocerpnutj http://www.telchemy.com/appnotes/Telchemy_Impact_of_Delay.pdf
Октябрь 26th, 2009 | 11:36
oops, procital pro to, cto jestj solj v etoi stranice- datj boljse yasnosti po-russki.. Sorry I avtoru-spasibo za dobroe delo.
Ноябрь 5th, 2009 | 11:15
Спасибо за статью.
А ссылки на математику эхоподавления и какие нибудь открытые/платные библиотеки у Вас имеются? Если да не могли бы поделиться.
Ноябрь 22nd, 2009 | 13:58
Уважаемые VOIP инженеры,
у меня ужасная проблема с телефоном. Там то ли эхо то ли подсадка Пожалуйста помогите мне. Я готова уплатить за устранение этой проблемы.
Заранее признательна за ответ.
С уважением.
Л.М.Сербова
Январь 22nd, 2010 | 11:17
Андрей !
Может у Вас есть будут какие-нибудь мысли о возможной причине следующей проблемы -
Состояние разговора. «А» — СИП телефон, «Б» — на PSTN.
«А» «Б»
SIP phone—SBC—CallServer—TGW—2Mbit—LocalExch—analog TA
| |
|—RTP —-|
Так вот, через какое-то время (неск. минут) сторона «А» слышит эхо. Уровень достаточно низкий. Продолжительность — 1.5-2 секунды, потом опять все нормально. Случается это не всегда. Мы подозревали TGW, но это проявляется на разных типах TGW. На отключение подавителя вроде как не похоже. Если позвонить голосом на модем — тогда происходит штатное отключение подавителя — то эхо имеет другой характер: и уровень и задержка другие.
Может есть какие-нибудь мысли?
С уважением, Андрей.
Январь 23rd, 2010 | 16:23
>Так вот, через какое-то время (неск. минут) сторона «А» слышит эхо. >Уровень достаточно низкий. Продолжительность – 1.5-2 секунды, потом >опять все
Да нет TGW тут однозначно не при чем.
LocalExch–analog TA что там у них происходит одному богу и
известно. Аналоговый аппарат менять не пробовали?
Январь 25th, 2010 | 12:19
Спасибо за ответ.
Происходит это повсеместно и на разных типах оконечных станций. Не видим никакой корреляции.
Про TGW я вот что думаю: в основном, эхо давится качественно. Если потом оно кратковременно возникает, то, мне кажется, возможны 2 причины —
1) изменился уровень составляющей эха (то что проникло на стороне В с приема на передачу через акуст. связь или через дифсистему ТА)
2) изменилось время задержки сигнала от TGW до ТА — но этого в ТДМ сети практически случится не может.
Т.е. эхоподавитель в TGW или же адаптируется к новым параметрам уровня/задержки, или через какое-то время ситуация с уровнем/задержкой возвращается к изначальной.
Очень хочется доказать, что это результат задержек RTP в IP сети, но к сожалению, не могу придумать как это может повлиять. :))
Что же, будем копать дальше…
Апрель 27th, 2010 | 13:19
[...] Оригинал статьи http://aoz.com.ua/2008/12/26/echo/ [...]