LINUX.ORG.RU
решено ФорумAdmin

[Asterisk][nat] Проблемы с RTP-трафиком.


0

0

Доброго времени суток.

Начинаю изучать * и требуется тестовая конфигурация. Стоит версия 1.6.2.10 внутри сети, с IP=192.168.1.205.

Проброшены порты как изнутри во внешний, так и обратно:

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
287 64342 ACCEPT     udp  --  eth1   eth2    192.168.1.205        0.0.0.0/0           multiport ports 5060,10000:10005 state NEW 
    0     0 ACCEPT     udp  --  eth2   *       0.0.0.0/0            192.168.1.205       multiport dports 5060,10000:10005 state NEW
+
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
0     0 DNAT       udp  --  *      *       0.0.0.0/0            213.33.214.174      multiport dports 5060,10000:10005 to:192.168.1.205

где eth1 — интерфейс внутренней сети, eth2 — внешней.

Ради теста, с такого IP соединялись софтофоном на зарегистрированный заранее аккаунт на sipnet.ru. Всё работает без проблем, внешние городские номера доступны.

Для *-box были сделаны вот такие конфиги: sip.conf

[general]
context=default
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
localnet=192.168.1.0/24
externip=re.al.ad.dr

register=sipnetID:pass@sipnet.ru/sipnetID


[1000]
type=friend
context=phones
host=dynamic
defaultuser=1000
secret=qwerty


;;; SIPNET
[sipnet1]
type=friend
defaultuser=sipnetID
secret=pass
host=sipnet.ru
nat=yes
fromuser=sipnetID
fromdomain=sipnet.ru
dtmfmode=rfc2833
disallow = all
allow = alaw
allow = ulaw
allow = g729
insecure=invite
context=incomig_calls

и extensions.conf

[globals]


[general]
autofalltrough=yes


[default]
exten => s,1,Verbose(1,Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hungup()


[incomig_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1000)


[outgoing_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/sipnet1/${EXTEN})

[internal]
exten => 500,1,Verbose(1,Echo test application)
exten =>> 500,n,Echo()
exten => 500,n,Hangup()


[phones]
include => internal
include=outgoing_calls

Изнутри сети пытаюсь подключиться к этому, внутреннему, *-box, всё проходит замечательно. Тестовый звонок на номер 500 отрабатывается, всё слышно и тд и тп. Помимо прочего, сам * регистрируется на sipnet.ru и в списке подключенного оборудования он там появляется.

Теперь, пытаюсь сделать звонок с софтофона на внешние номера, через sipnet1, соответственно. Набираю нужный номер вида 7495ХХХХХХХ и… получаю отлуп.

Проблема, как оказалось, кроется в том, что несмотря на то, что соединения по порту 5060 проходят через *-box, RTP-трафик почему-то не через него направляется, а пытается напрямую выйти:

firewall/drop.log:Aug 10 15:21:31 gate kernel: [8282327.254331] DROP IN=eth1 OUT=eth2 SRC=192.168.1.10 DST=212.53.35.244 LEN=200 TOS=0x00 PREC=0x00 TTL=127 ID=42313 PROTO=UDP SPT=10002 DPT=47320 LEN=180 
firewall/drop.log:Aug 10 15:21:31 gate kernel: [8282327.267756] DROP IN=eth1 OUT=eth2 SRC=192.168.1.10 DST=212.53.35.244 LEN=188 TOS=0x00 PREC=0x00 TTL=127 ID=42315 PROTO=UDP SPT=10003 DPT=47321 LEN=168
, тут SRC=192.168.1.10 — адрес хоста с софтофоном.

Поскольку, у меня политика по умолчанию для неотмеченных специально пакетов — DROP, то, соответственно, пакеты от 192.168.1.10 дропаются.

Пробовал в софтофоне использовать в качестве прокси *, не помогло.

У меня вопрос: как заставить не только SIP-трафик по порту 5060, но и RTP-трафик ходить через *-box?

Ответ на: комментарий от dimon555

На шлюзе был загружен. Не помогло. *-box и шлюз — разные компьютеры. Впрочем, поглядел: надо ещё nf_conntrack_sip с портом 5060 в виде параметра загрузить.

Я так понимаю, что в этом случае достаточно форвардить только 5060? Остальные порты будут открываться автоматически?

HolyBoy ()
Ответ на: комментарий от HolyBoy

Ещё раз повторю: с настроенного IP для *-box всё работает, даже без nf_*_sip. Проблемы появляются, когда делается звонок с софтофона изнутри сети, зарегистрированного на этом *-box, через него же, во внешний мир.

HolyBoy ()

Проблема решилась сменой софтофона.

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