Ты правильно сказал если внутри сетки. А тут такая вот ерунда у меня внешнее подключения и получается так что они типа потрешали между собой договорились и * дал порты которые у меня не пробрешы и все писец голоса нет. Как тут быть как жестко прописать порты на девайсах или на * что бы все было в шоколаде?
iStory ( 2011-12-05 17:39:26 +0400 )редактироватьну так это зиависит от вашего роутера. никто конкретно ничего не скажет. вообще сип какправило работает нормально и пробрасывать надо только один сип порт.
meral ( 2011-12-05 19:04:11 +0400 )редактироватьтогда стоит копать в сторону правильной настройки случая asterisk сидит за nat: проброс портов, nat=yes, externip= в sip.conf..
Zavr2008 ( 2011-12-05 19:07:47 +0400 )редактироватьmeral тут правильно говорит, пробрасывать нужно в данном случае только порт сигнализации. Голосовой порт на стороне железки может быть любым. это её дело. А на стороне астериска сервер открывает именно те порты , которые указаны ему . То есть железка откроет порт 5004 и будет принимать UDP на этот порт , а астериск откроет порт, например , 13456 и будет работать с ним. Задача роутера только транслировать адреса, так как rtp порты какникак динамически могут меняться.
zzuz ( 2011-12-05 19:43:56 +0400 )редактироватьПолучается так:
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 ( 2011-12-06 13:16:18 +0400 )редактироватьТакой порт назначает роутер, а астериск с этим согласен , потому что в настройках стоит nat=yes
zzuz ( 2011-12-06 13:50:41 +0400 )редактироватьне забыть поставить externip= или externhost= !!!!
Zavr2008 ( 2011-12-06 14:27:05 +0400 )редактироватьexternip= указан externhost= !!!! в FreePBX не нашел где указывать, лезть конфиг файлы пока нет возможности. На сколько критично что не указан externhost? Стоит ли добавить на девайсах STUN и на Asteriske? И как можно научить роутер работать с теми портами которые прописаны rtp.conf.
iStory ( 2011-12-06 14:32:51 +0400 )редактироватьПо мне так 'externip=' не так уж критично, но это когда понимаешь собственную топологию .В вашем случае видимо обязательно. Советую почитать книжек чтоль , так как тут видится полное непонимание предмета вопроса.
zzuz ( 2011-12-06 14:46:49 +0400 )редактироватьЧто тут понимать externip говорит астеру какой у него внешний айпи. externhost=какой у астера домен но это при условии если где то на девайсах прописан домен тот же хост.
iStory ( 2011-12-06 14:57:59 +0400 )редактироватьсмотрите, для 1.6 externip работает - если на статике - не надо externhost, для 1.8 - уже нет, устарел, там только externhost!!
Zavr2008 ( 2011-12-06 15:44:03 +0400 )редактироватьВо FreePBX все просто в меню закладка "Tools" далее пункт "Asterisk SIP Settings" где указываем топологию сети. Я так же не понимал по какому принципу используются RTP порты и только недавно понял что если указать обычный проброс RTP портов то каждая из железок будет использовать рандомно порт согласно своему диапазону) но если наш роутер умеет SIP ALG то при звонке устройства договариваются об одном и том же RTP порте) почитав что такое SIP ALG я понял что это позволяет использовать соеднинеию одну tcp сессию и так получилось реализовать тот же проброс на фаирволе но с флагом static port
DJs3000 ( 2011-12-06 17:05:44 +0400 )редактироватьпо сути SIP ALG это ничто иное как нат только делает трансляцию без изменения порта.
DJs3000 ( 2011-12-06 17:15:55 +0400 )редактировать"я понял что это позволяет использовать соеднинеию одну tcp сессию"
Разговор всё еще про RTP ?
zzuz ( 2011-12-06 17:45:39 +0400 )редактировать