Назад | Перейти на главную страницу

Как работает буферизация в цепочке серверов Asterisk?

У меня есть два сервера Asterisk в такой цепочке:

SIP-клиент (G.729) <-SIP-> Asterisk 1 (преобразование G.729 в ​​G.711) <-IAX2-> Asterisk 2 -> подключенный к аналоговой линии.

Когда на одной из звездочек не была настроена буферизация, звук был ужасным при приеме по аналоговой линии (в другом направлении все было нормально - я предполагаю, что у SIP-клиента включена буферизация для приема).

Поскольку два сервера Asterisk находятся в локальной сети, я подумал, что буферизация будет иметь наибольший смысл на Asterisk 1, обращенном к удаленному SIP-клиенту.

Однако включение буферизации в Asterisk 1 не повлияло на качество звука. Включение буферизации в Asterisk 2 как-то сделал трюк.

Просмотр статистики на Asterisk 2 подтверждает это:

CLI> iax2 show netstats
                           -------- LOCAL ---------------------  -------- REMOTE --------------------
Channel               RTT  Jit  Del  Lost   %  Drop  OOO  Kpkts  Jit  Del  Lost   %  Drop  OOO  Kpkts FirstMsg    LastMsg
IAX2/ast1-5936       1   60  140    79   0    43 16712     64    0   40     0   0     0    0      0 Rx:NEW      Rx:ACK    

Как вы можете видеть, около 25% полученных пакетов являются Out-of-Order (OOO), что, как я полагаю, исправлено настроенным буфером джиттера.

Итак, мой вопрос:

  1. Как может неправильный порядок пакетов пережить трансляцию кодека на Asterisk 1 и дойти до Asterisk 2? и
  2. Как jitterbuffer может исправить ошибки, вызванные прыжком (я уверен, что виноват SIP-клиент - CsipSimple - поскольку другие клиенты SIP без буферизации звучат намного лучше, чем этот) и почему jitterbuffer на более близком сервере не может этого сделать?

Информация, которую вы разместили, звучит неправильно. Первый сервер со звездочкой (обращенный снаружи), принимающий пакеты, скорее всего, будет страдать от высокой задержки пакетов, неправильных пакетов и т. Д. Именно там вы обычно добавляете буфер дрожания.

Если второй сервер показывает трафик с высокой задержкой или неупорядоченными пакетами, и эти два хоста находятся в одном сегменте локальной сети, в вашей локальной сети что-то не так. Понюхайте свою локальную сеть, чтобы увидеть, что там происходит (используйте wirehark). Если вы видите много повторных передач, возможно, у вас плохие соединения / проводка / сетевой адаптер / и т. Д.