> Допустим корпоративный отдельный Aster (впринципе так и нужно делать, кроме него там
> ничего не должно быть), тогда пришедший от него udp тегируем и
> на внешнем интерфейсе маршрутизатора отправляем к пиру. Весь остальной udp с
> BPX просто рубим, ну кроме ДНС ессно.вообще, держать на роутере какие-либо сервисы - моветон :)
а с directmedia=yes ваш вариант не рабочий.
> А вообще вы одни вопросы задаете, а каково ваше предложение?
а я аккуратно подвожу к тому, что существуют межсетевые экраны, умеющие разглядывать payload пакета и правильно строить трансляции.
ненавидимый многими вышеупомянутый netfilter умеет анализировать SDP в SIP INVITE и добавлять в state table записи для корректного прохождения/трансляции RTP.
аналогично с FTP/H.323/PPTP.
могли взять ipfw и не иметь подобных проблем.
Кстати, вы в качестве workaround'а пытаетесь использовать тот факт, что заведомо известен адрес одного из пиров. как я уже упоминал, с directmedia/canreinvite=yes работать оно не будет.
есть ещё один вариант, при котором будут проблемы: asterisk стоит в локальной сети за nat.
при входящем звонке из внешнего мира у вас, скорее всего, будет односторонняя слышимость.
Решая вашу задачу я бы отталкивался от разделения трафика на "короткий" и "долгоиграющий" + приоритеты + классификация.
короткоживущим tcp-соединениям я бы давал чуть больший приоритет и полосу. "долгоиграющий", наоборот, уходил бы в низкий приоритет.
это позволит поднять субъективную скорость интернет-соединения + закачки не будут мешать всему остальному трафику.