VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Звук с перерывами

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
vgo
Сообщения: 122
Зарегистрирован: 23 апр 2015, 17:58

Звук с перерывами

Сообщение vgo »

Здравствуйте!
Имеется Астериск и SIP-телефон (программный), разнесенные далеко один от другого.
Сначала работало удовлетворительно, последние несколько дней звук от телефона на Астериск идет с перебоями.
В другую сторону звук идет нормально.
Со стороны Астериска ничего не менялось.
Померял пинги - они порядка 40 мс.

Это уже критично или на таких пингах SIP и RTP должны работать нормально?

Никаких специальных средств для работы по медленным каналам на Астериск я не применял, сейчас начал разбираться с этим вопросом.
ded
Сообщения: 15648
Зарегистрирован: 26 авг 2010, 19:00

Re: Звук с перерывами

Сообщение ded »

Скорее всего у вас домашнее подключение, где софтфон, и это несимметричное подключение. К вам download полоса больше, чем upload от вас. Пинг не показывает полноту картины. Лучше запустить mtr с котмпа где софтфонн (для винды - WinMTR), и смотреть изменения по столбику Last.
Если значения прыгают от маленких до значительно больших, по всему маршруту, а принципиально даже - на первом скачке (который есть ваш домашний роутер), то это джиттер. Пытаться бороться можно включив и настроив джиттер-буфер.
vgo
Сообщения: 122
Зарегистрирован: 23 апр 2015, 17:58

Re: Звук с перерывами

Сообщение vgo »

Спасибо.

Прежде всего - за программу, она очень понравилась.

Но трассировку я делал, только tracert, она четко показывала, что основная задержка стабильно добавлялась в звене междугородной связи.
Сегодня WInMTR показал аналогичную картину, только 39-миллисекундная задержка возникла между двумя IP как бы в Москве.

Сегодня эффект прошел по не вполне понятной причине.
Но в целом нельзя сказать уверенно, что сегодня задержка заметно меньше вчерашней.

По поводу джиттер-буфера я читаю, но тексты несколько туманные и более чем странные. Если проблема возникнет снова, буду экспериментировать.

Да, интернет домашний, но это Ростелеком чуть не по оптике, а времена ADSL вроде как ушли в прошлое.
ded
Сообщения: 15648
Зарегистрирован: 26 авг 2010, 19:00

Re: Звук с перерывами

Сообщение ded »

vgo писал(а):По поводу джиттер-буфера я читаю, но тексты несколько туманные и более чем странные.
Надо для себя выснить наконец - что такое этот джиттер.
Это разница между минимальным откликом и максимальным,
ded писал(а):значения прыгают от маленких до значительно больших,
то это он и есть.
Как он образуется? Даже при наличии толстых каналов, оптики, могут быть джиттер-образованные хосты как на домашнем роутере, так и между, по трассе. Дома, если на компе оставлен торрент трекер, он может забить на upload всю полосу. Хорошо бы мониторить это как-то графически на роутере, например по SNMP.
На промежуточных узлах тоже может быть вследствие временных неравномерностей в каналах. Современные железки имеют огромные буфера на интерфейсах, позволяющие не терять пакеты, которые не успевают обработаться. Мгновенное накопление и отдача этих буферов даёт тот самый эффект джиттера. Для вэб- мэйл трафика это хорошо, не критично, а для real time video streaming / audio - плохо. Против этого всякие плейеры ТВ трансляций имеют свой буфер, в котором накапливают UDP пакеты, следят за их порядком (секвенсирование). Вот и джиттер буффер в RTP делает то же самое, динамически или статически. Динамически - сначала замерит максимальную задержку, и выставит размер буфера = этой величине, и будет подстраивать по ходу действия. Статический - просто размер побольше, и собирает в него пакеты, отдаёт с задержкой в размер буффера, обычно эту разницу человек не слышит.
vgo
Сообщения: 122
Зарегистрирован: 23 апр 2015, 17:58

Re: Звук с перерывами

Сообщение vgo »

Нет, что такое джиттер, я понимаю, что делает буфер - тоже.
Меня смущают рекомендации по применению, типа
JB можно применить и для sip-канала. Но это возможно только на исходящем канале и только с применением опции jbforce=yes. Это объясняется тем, что бридж будет «смотреть», что входящий де-джиттированный трафик снова возвращается в канал, в котором есть вероятность появления джиттера. Поэтому, в идеале применять JB в каналах с пакетной коммутацией необходимо в конечной точке, т.е. в ip-телефоне.
(https://asterisk-pbx.ru/wiki/orphans/jitter)
Вероятно, надо больше вчитываться.
vgo
Сообщения: 122
Зарегистрирован: 23 апр 2015, 17:58

Re: Звук с перерывами

Сообщение vgo »

Попробую сформулировать мои затруднения в использовании jitter buffer конкретнее.

Я исхожу из предположения, что нужные мне средства управляются jb-параметрами в sip.conf. К сожалению, во многих описаниях sip.conf эти параметры даже не упоминаются, а там, где упомянуты, описываются лаконично и одними и теми же словами, а хотелось бы более пространных комментариев.

Первое, что я не понял: jb - параметры, глобальные в модуле sip, работающие для всех абонентов, или можно указать для конкретного абонента? Вроде, упоминаются только как глобальные, но все так лаконично, что могу и неправильно понять.

Мне хочется убрать перебои в звуке в направлении от SIP-абонента к Астериск.
jbenable - Вкл. поддержку RTP jitter buffer на принимающей стороне канала SIP. По умолчанию 'no'. Будет работать, только если удаленная сторона поддерживает эту функцию.
Гм... я не очень понимаю, кто тут принимающая сторона, но мне кажется, что речь идет не о включении jitter-буфера на приемнике Астериска, а о включении его на удаленном абоненте (в моем случае - SIP телефона). Но тогда он будет корректировать поток звука от Астериска к телефону, а не наоборот. Так?

Описание jbforce тоже как бы склоняет к такому пониманию.

С другой стороны, описание jbimpl и jbmaxsize естественнее применить к работе jitter buffer на самом Астериске.
jbresyncthreshold
Джиттер буфер порог синхронизации. По умолчанию 1000
Это как-то совсем непонятно. Нет, в общем ясно, что оно управляет как-то адаптивностью jitter buffer, но чтобы осознанно его использовать, такого описания не хватает.
jbtargetextra
Этот параметр влияет только на jb, когда задан параметр ‘jbimpl=adaptive’ Опция определяет количество миллисекунд, через которое новый jitter буфер будет заполнять свой размер. По-умолчанию 40.
Еще одно описание, понятное, кажется, только тому, кто и так владеет предметом. К тому же, этот параметр вообще редко упоминается.

Или я вообще копаю не там, и надо разбираться с функцией JITTERBUFFER()?

Кстати, кое-где вообще встречается утверждение, что при задержках до 400 мс вообще не надо дергаться, система сама все решит. Поэтому я и начал с вопроса: 40 мс - это уже может вызывать проблемы с передачей голоса или вполне приемлемо?
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH