Re: Отсуствие звука при использование h.323
Mike_A, проблема с 0.0.0.0 - это не проблема реализации chan_h323. Всё гораздо глубже и сложнее.
Так, H.323 по определению поддерживает 3 типа вызовов, которые могут сочетаться в произвольной форме:
1) end-to-end, когда два H.323 устройства говорят напрямую, RTP между ними бегает тоже напрямую;
2) gatekeeper-routed, когда сигнализация ходит через гейткипер, а RTP - напрямую;
3) gatekeeper-proxied, когда и сигнализация, и RTP бегают через гейткипер.
Плюс бывают различного рода NAT'ы (в любой из вышеприведенных схем) и т.д.
Далее, мы с адреса X получаем запрос на открытие RTP канала с адресом Y. Вопрос - какой локальный адрес при этом мы должны использовать? Правильно, а фиг бы его знал, особенно с учетом того, что Asterisk (почему-то) до сих пор не имеет никакого API для того, чтобы сходить в системную таблицу маршрутизации и посмотреть, с какого интерфейса уйдет пакет на адрес Y. Отсюда вся и беда.
Если кто не поленится и откроет баг на bugs.digium.com, то я может сделаю какую-нить доп. опцию для user/peer типа mediaaddr, который и будет использоваться в качестве локального адреса при создании RTP-каналов.
(подсказка - скоро в Астериске будет свой собственный гейткипер!).
WBR,
Paul.
|