Ты правильно сказал если внутри сетки. А тут такая вот ерунда у меня внешнее подключения и получается так что они типа потрешали между собой договорились и * дал порты которые у меня не пробрешы и все писец голоса нет. Как тут быть как жестко прописать порты на девайсах или на * что бы все было в шоколаде?
iStory (Dec 5 '11)editmeral тут правильно говорит, пробрасывать нужно в данном случае только порт сигнализации. Голосовой порт на стороне железки может быть любым. это её дело. А на стороне астериска сервер открывает именно те порты , которые указаны ему . То есть железка откроет порт 5004 и будет принимать UDP на этот порт , а астериск откроет порт, например , 13456 и будет работать с ним. Задача роутера только транслировать адреса, так как rtp порты какникак динамически могут меняться.
zzuz (Dec 5 '11)editПолучается так:
Divace(SIP5060)=>Firewall=>Internet <=Firewall=<Asterisk(5060) - Договорились как и кому что слать. SIP 5060.
[Выполняем звонок на Asterisk через SIP Divace на Эхо-тест]
Divace(RTP Local 5040)=>Firewall(5060 Open)=>Internet <=(SIP5060 Open)Firewall=<(RTP9000-20000)Asterisk - Все хорошо голос ходит туда и обратно.
Выполняем команду asterisk cli> sip show peers и видим картину
100/100 Внешний IP Divace D N A 55820 OK (41 ms)
Так вот, кто дал такой порт 55820 Divac-у, asterisk или сама железка сделала Port string из диапазона UDP и заняла его либо этот порт появился в результате обмена информации через 5060?
И второй вопрос зачем тогда открывать и пробрасывать порты RTP на Firewall если они открываться с обоих сторон автоматически одна сторона инициатор другая ответчик?
iStory (Dec 6 '11)editexternip= указан externhost= !!!! в FreePBX не нашел где указывать, лезть конфиг файлы пока нет возможности. На сколько критично что не указан externhost? Стоит ли добавить на девайсах STUN и на Asteriske? И как можно научить роутер работать с теми портами которые прописаны rtp.conf.
iStory (Dec 6 '11)editВо FreePBX все просто в меню закладка "Tools" далее пункт "Asterisk SIP Settings" где указываем топологию сети. Я так же не понимал по какому принципу используются RTP порты и только недавно понял что если указать обычный проброс RTP портов то каждая из железок будет использовать рандомно порт согласно своему диапазону) но если наш роутер умеет SIP ALG то при звонке устройства договариваются об одном и том же RTP порте) почитав что такое SIP ALG я понял что это позволяет использовать соеднинеию одну tcp сессию и так получилось реализовать тот же проброс на фаирволе но с флагом static port
DJs3000 (Dec 6 '11)edit