media proxy and helper troubles

От: Anton Golubev <CGatePro_at_mx_ru>
Дата: Sat 01 Apr 2006 - 13:29:53 MSD


Привет коллеги,

Зная, что здесь перманентно присутствуют очень светлые головы, хотел бы прояснить два момента. Первый из них состоит в том, что сильно падает качество звука, когда медиа-поток проксируется коммунигейтом. Референтная схема такая:

  LAN FW
<X-ten> -- <ASA> -- <SIPNET>

Где X-ten - одноименный софт-телефон, ASA - а-ля PIX, делает NAT, и SIPNET - одноименный оператор VoIP. Качество связи на G.711 не отличимо от фиксированной связи, на G.723 и G.729 - вполне приличное. Дефекты звука отсутствуют.

Тестируемая схема такая:

<X-ten> -- <ASA> -- <SIPNET>

             |
             |
           <CGP>
            DMZ

где CGP - расположен в сегменте с реальной адресацией. В нем настроен шлюз SIPNET с проксированием медиа и маскированием "From". При этом на всех кодеках слышны искажения звука, захлебывания. Причем на "зажатых" 729 и 723 кодеках качество звука совсем неудовлетворительное.

Не понятно, чего такого мог этот лишний хоп сделать с 7кбайтным потоком, что звук так испортился? ASA, мне кажется, не должна тут играть какую-то особую роль. Эффект устойчивый, не зависит от версии Коммунигейта (проверял с бет 5-ки до 5.0.7), ни от софт-телефона (Cisco 7192, Windows Messenger, eyeBeam). Загрузки на сервере нет (0.01), трафика тоже (80кбайт/сек), файрвола нет, ОС - Linux SMP 2.4.32. Что такое может быть? CGP ведь для кодека прозрачный, он только рефлектор UDP-пакетов медиа, без их рекодинга. По звуку - как будто задержку вставили jitter или случайно теряется х% пакетов.

Вторая проблема состоит в том, что с завидной регулярностью "залипают" хелперы с ошибкой external helper timed out. Причем автоматический они не перезапускается, процессы висят в состоянии зомби. Сам CGP после одного такого зависшего хелпера, перезапускается только через kill -9. От хелпера не зависит, зависают периодически все три (kaspersky - cgpav, spamtest , spamasassin - sa-cgp). Частота зависаний положительно коррелирует с почтовым трафиком. Отладка показывает, что CGP отправляет таки сигнал TERM процессу, но дело заканчивается зомби, второй процесс при этом не запускается. Выглядит, как будь-то не вызывается функция, вычищающая "мертвых детей". Проблема есть и с 4.2.х, и с 4.3.х и с 5.х. Тут уже кто-то советовал апгрейдить ядро (сейчас linux 2.4.хх), но хотелось бы услышать глас общественности - может ли быть принципиально с 2.6.х легче? А есть ли ОС, где такой проблемы гарантированно не бывает?

-- 
С уважением,
Антон
Получено Sat Apr 01 09:29:56 2006

Этот архив был сгенерирован hypermail 2.1.8 : Sat 01 Apr 2006 - 14:12:21 MSD