Как работает буферизация в цепочке серверов 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 на ближайшем сервере не может этого сделать?

1 ответ

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

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

Другие вопросы по тегам