LINUX.ORG.RU
ФорумAdmin

SIP телефония и NAT


0

0

Добрый день! Есть сервер ALTLinux 4.0 Server. (192.168.2.1) Есть локалка, куда подключены все пользователи: 192.168.2.0/24 Есть ADSL-модем, который подключается к серверу и через pppoe клиента подключается к интернет.

На сервере стоит маскарад, который всех пользователей пускает в интернет (iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -d 0/0 -j MASQUERADE).

В сети есть IPPhone Grandstream с адресом 192.168.2.15. На нём шлюзом прописан сервер 192.168.2.1. При включении телефон подхватывает настройки от СИП-сервера типа даты и подобных. При попытке звонка кому-либо - ни звука, ни видео.

Если на телефоне настроить прямое подключение через модем через встроенного пппое-клиента, то всё работает (т.к. реальный ИП-адрес).

По идее вся проблема заключается в невозможности прохождения пакетом через НАТ.

Может кто-нибудь сталкивался? Что можно поправить?


Если клиент один - можно попробовать пробросить порты. Если клиент "теряет" связь через какой-то период времени, можно уменьшить время перерегистрации на клиенте. Если SIP-сервер не Ваш, то решение STUN - aptitude install stun

vladislav ★★
()
Ответ на: комментарий от BusTeR

> а не подскажите реализации под Linux?

STUN может реализовать только SIP-провайдер.

Root-msk ★★★★★
()
Ответ на: комментарий от vladislav

клиент один. У него вообще не работает связь т.е. нет даже гудка. Т.е. Вы имеете ввиду DNAT на этот телефон?

BusTeR
() автор топика

modprobe nf_nat_sip, не?

nnz ★★★★
()
Ответ на: комментарий от BusTeR

А по мне так нат тут совсем не причем... если было в нем что то тогда бы минуту работао все бы на ура.... пока не упадет запись.... Есть есть подозрение на то что порты не открыты. Для сигнализации СИП требуется УДП 5060. если сигнализация проходит то звонки могут совершатся, но может так получится звонок есть а голоса нет, этому причина: не проходит мултимедийный трафик, опять же смотреть на каких потах он ходит.

Советую смотреть в сторону: tcpdump

naehi8sh
()

Хз что такое IPPhone Grandstream, но в asterisk даже опция была "nat". Всё работало нормально.

true_admin ★★★★★
()

modprobe nf_nat_sip

поможет
больше ничего не надо

dimon555 ★★★★★
()

Попробуй ip_conntrack_sip, должен помочь по идее. При старте модуля, кажется, надо указать порт сигнализации (обычно 5060, реже 5068), после чего модуль будет расковыривать пакеты и разрешать собственно прохождение аудио и видео потоков (насчет видео не уверен).

oxumorron
()

Значит так :-) Я делал двумя способами (оба работали):

1. Проброс через маскарад:

modprobe nf_conntrack_sip ;
modprobe nf_nat_sip ;
iptables -I FORWARD -j ACCEPT --state related,established ;
iptables -A FORWARD -f 192.168.1.21 -j ACCEPT ;
iptables -A FORWARD -d 192.168.1.21 -j ACCEPT;
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE -s 192.168.1.21;
sysctl -w net.ipv4.ip_forward = 1

ppp0 = внешний интерфейс
192.168.1.21 - SIP-устройство

2. Собрать, инсталировать и запустить siproxd, и настроить SIP-клиентов на него

Обе схемы работали.

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.