Opened 4 months ago

Closed 4 months ago

#435 closed баг (fixed)

Настройка "Режим буферизации" не применяется сразу.

Reported by: san Owned by: alx
Priority: низкий Milestone: 1 очередь
Component: any Keywords:
Cc:

Description

Проводя эксперименты по определению задержки передаваемого через IP сигнала я случайно заметил, что на плате VE-02 настройка "Режим буферизации" не применяется сразу после нажатия "Применить", а применяется только после "пересоздания" потока.
Эксперимент был примерно такой:

  1. Я создавал RTP-поток PCM с "Режим буферизации" = фикс. 200 мс.

С другой стороны на этой-же или другой плате VE был настроен ответный RTP поток
На осцилографе я одним лучём фиксировал начало передачи определённого сигнала в порт ТЧ соответствующий ответному RTP потоку а вторым лучём начало приёма сигнала из ТЧ порта соответствующего тестируему RTP потоку.
Осциллографом я наблюдал задержку передачи сигнала 220+ мс. При этом в "статистике" наблюдал текущую Задержку IP→TDM ~ 225 мс.

  1. Изменяю настройку "Режим буферизации" = фикс. 20 мс., Применяю.

В статистике и на осциллографе не вижу никаких изменений задержки.

  1. В настройках потока изменяю порт назначения на любой другой, Применяю, затем возвращаю порт обратно, Применяю.

В "статистике" наблюдаю текущую Задержку IP→TDM ~ 45 мс. и осциллографом наблюдаю задержку передачи сигнала 30+ мс.

Настройка "Режим буферизации" применилась только после того как я изменил порт, хотя я ожидал что она изменится на шаге 2.

Для проверки этого эффекта достаточно наблюдать "текущую Задержку IP→TDM", в своих экспериментах я убедился что её значение кореллирует с измеренной осциллографом задержкой.
Я сейчас повторил эксперимент с те мже результатом(но без осциллографа) на плате VE-01 в демоблоке, ревизия ПО VE-01 86

Change History (2)

in reply to:  description comment:1 by alx, 4 months ago

Включил вывод в лог всех передаваемых каналу команд, выполнил описанные в п. 1 и п. 2 действия и вижу, что настройки джиттер-буфера действительно отправляется, и с правильными параметрами:

JBOPT: 0014 0200 8090 0000 0014 0014 0014 2710 0000 01f4 - это я установил фикс. 20 мс

JBOPT: 0014 0200 8090 0000 00c8 00c8 00c8 2710 0000 01f4 - это я вернул фикс. 200 мс.

Видимо, этого почему-то недостаточно...

В JBOPT есть бит, предписывающий принудительно скорректировать буфер вверх. И он работает. Но это половинчатое решение. :)

Методом тыка удалось выяснить, что для того чтобы новые настройки джиттер-буфера подействовали, после отправки JBOPT помогает отправка VOPENA.

comment:2 by alx, 4 months ago

Resolution: fixed
Status: newclosed

In 2412/sip_ua:

После изменения параметров JBOPT отправляется VOPENA.
Без этого новые настройки почему-то не применялись.
Closes #435.

Note: See TracTickets for help on using tickets.