Страница 1 из 1

ip телефония и Freebsd

Добавлено: 2013-10-30 7:26:49
CTOPMbI4
Доброго времени суток.
и так имеем тел шлюз dlink dvg 7044
машина на фряхе.
Вообщем потребовалось убрать тел шлюз за сервер на фряхе. До этого на тел шлюзе был белый ип и все работало.
Перевесил белый ип на шлюз с фряхой. Настроил ядерный нат.
7044 подцепил к фряхе с локальным ип 192.168.0.2
на фряхе 192.168.0.1
по мануалу от длинка пробросил порты udp 37979 и порты udp с 9000-9007 на фряхе это для RTP как я понял.
далее ничего не заработало. точнее звонки приходят на трубку поднимаешь трубку тишина. при исходящем звонке тишина.
решил посмотреть трафик.
При tcpdump видно что сначала проходит запрос на 37979 ответ с другой стороны есть. далее идет запрос от 7044 с порта 9006 на 9000 на внешний ип тел.шлюза который находится на другом адресе. до туда пакет так же доходит. Но ответа нет. посмотрев структуру ip пакета телефонии понял что в пакете фигурирует локальные адреса шлюза dvg-7044 но не в заголовке а в самом пакете.
Читал что можно сделать либо через UPNP либо с помощью STUN сервера
Вопрос к гуру как на фряхе это все дело реализовать?

Re: ip телефония и Freebsd

Добавлено: 2013-10-30 8:19:47
Bayerische
STUN как раз для работы за NAT, без отношения к фряхе.

Re: ip телефония и Freebsd

Добавлено: 2013-10-30 13:57:05
johny87
В настройках dlink можно указать публичный stun сервер.

Re: ip телефония и Freebsd

Добавлено: 2013-10-30 20:00:50
lazhu
Не скажу про д-линк, но * за натом работает на ура безо всяких стунов.
Вот кусок ipfw (там правда еще natd, старенький роутер):

Код: Выделить всё

${fwcmd} add 051 divert natd udp from any to me dst-port 5060-5070,10000-10100 in recv ${ext_if}
${fwcmd} add 052 divert natd udp from any to me src-port 5060-5070,10000-10100 in recv ${ext_if}
${fwcmd} add 053 divert natd udp from ${pbx} to any dst-port 5060-5070,10000-10100 out xmit ${ext_if}
${fwcmd} add 054 divert natd udp from ${pbx} to any src-port 5060-5070,10000-10100 out xmit ${ext_if}
${fwcmd} add 055 pass udp from any to ${pbx} dst-port 5060-5070,10000-10100 via any
${fwcmd} add 056 pass udp from any to ${pbx} src-port 5060-5070,10000-10100 via any
${fwcmd} add 057 pass udp from ${pbx} to any dst-port 5060-5070,10000-10100 via any
${fwcmd} add 058 pass udp from ${pbx} to any src-port 5060-5070,10000-10100 via any
${fwcmd} add 059 pass udp from me to any src-port 5060-5070,10000-10100 out via ${ext_if}
${fwcmd} add 060 pass udp from me to any dst-port 5060-5070,10000-10100 out via ${ext_if}
Порты sip, rtp соответственно.
Кроме того, в настройках sip надо указать, что он за натом.

Re: ip телефония и Freebsd

Добавлено: 2013-10-31 5:51:27
CTOPMbI4
Все решил уже без всяких стунов. все прекрасно работает.
всем кто ответил респект)