Вечный вопрос, RTP за NAT
Проблема хождения rtp трафика за NAT
Откуда: Обнинск
Сообщений: 17
|
Вечный вопрос, RTP за NAT
Всем доброго времени суток!
Прошу помочь разобраться в проблеме, если есть немного времени:
Есть астериск, работает на белом IP, есть два клиента, один на белом IP другой за НАТ.
Один клиент - Cisco 1751, регистрируется под экстеншном 2000, входящие звонки при дозвоне из города по одному из sipnet IVR работают нормально, исходящая связь также в порядке.
Второй клиент - что за НАТ, регистрируется под экстеншном 1000 и представляет собой Cisco IP Phone 7912 с SIP прошивкой. При входящем звонке с экстеншна 2000 связь работает отлично, rtp ходит в обе стороны. При исходящем звонке на экстеншн 2000 - сигнализация проходит, соединение устанавливается, но rtp не ходит, в трубке тишина. Абоненты не слышат друг-друга.
Пока еще не пробовал указать клиенту с экстеншном 1000 outbound proxy, поможет ли это ходить rtp трафику через Asterisk принудительно?
Подскажите, пожалуйста, куда копать?
Смущает то, что ожидались проблемы со звонками от клиента с белым IP (2000) к клиенту за НАТ (2000), т.к. от 2000 до 1000 нет прямой маршрутизации, а получилось с точностью до наоборот.
Прилагаю sip.conf:
[root@softswitch asterisk]# cat sip.conf | grep -v ";"
[general]
allow=alaw
register => SIP_ID:SIP_PASSWD@sipnet.ru/2000
[authentication]
[sipnet1]
type=friend
username=SIP_ID
secret=SIP_PASSWD
callerid=SIP_CALLER_ID
host=sipnet.ru
nat=no
fromuser=SIP_USER
fromdomain=sipnet.ru
dtmfmode=rfc2833
insecure=very
context=default
disallow=all
allow=alaw
allow=gsm
allow=g729
[1000]
type=peer
regexten=1000
callerid="Home" <1000>
host=dynamic
secret=1000_PASSWD
nat=route
qualify=yes
canreinvite=no
disallow=all
allow=g729
allow=alaw
allow=ulaw
contect=default
[2000]
type=peer
regexten=2000
callerid="Cisco" <2000>
host=dynamic
secret=CISCO_PASSWD
nat=no
canreinvite=yes
disallow=all
allow=g729
allow=alaw
allow=ulaw
contect=default
|
Откуда: SPb
Сообщений: 1307
|
Re: Вечный вопрос, RTP за NAT
qulify можно и отключить
nat поставить в yes
настроить корректно маршрутизатор и с утками использовать поиск.
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
Большое спасибо за ответ!
А что Вы имеете ввиду под "настроить корректно маршрутизатор"?
Где нат поставить в yes? в клиенте 1000 или 2000 ?
На 2000 нет необходимости ставить нат в yes, он на белом айпи.
softswitch*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
2000/2000 212.106.59.183 D 5060 Unmonitored
1000/1000 95.167.107.3 D N 62502 OK (52 ms)
sipnet1/home48153 212.53.40.40 5060 Unmonitored
|
Откуда: саранск
Сообщений: 273
|
Re: Вечный вопрос, RTP за NAT
contect=default?..
[sipnet1]
type=friend
???
[1000]
type=peer
???
[2000]
type=peer
???
Вы хотите, чтобы сипнет и звонил, и принимал, а клиенты 1000 и 2000 только звонили? И все это в каком-то contect`e ))) Тут и без NAT проблемы могут быть.
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
Update:
Входящие звонки из городов по sipnet.ru IVR нормально проходят на оба экстеншна и на 1000 и на 2000, независимо от НАТ-а.
Проблема заключается только в звонках от клиента за НАТ-ом клиенту на белом IP.
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
esveka: contect=default?..
[sipnet1]
type=friend
???
[1000]
type=peer
???
[2000]
type=peer
???
Вы хотите, чтобы сипнет и звонил, и принимал, а клиенты 1000 и 2000 только звонили? И все это в каком-то contect`e ))) Тут и без NAT проблемы могут быть.
Предлагаете 1000 и 2000 сделать friend?
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
Исправил ошибки, стало так:
[sipnet1]
type=friend
username=XXXX
secret=XXX
callerid=sipnet1_XXX
host=XXX
nat=no
fromuser=XXX
fromdomain=sipnet.ru
dtmfmode=rfc2833
insecure=very
context=default
disallow=all
allow=alaw
allow=gsm
allow=g729
[1000]
type=friend
regexten=1000
callerid="Home" <1000>
host=dynamic
secret=XXX
nat=route
qualify=yes
canreinvite=no
disallow=all
allow=g729
allow=alaw
allow=ulaw
context=default
[2000]
type=friend
regexten=2000
callerid="Cisco" <2000>
host=dynamic
secret=XXX
nat=no
canreinvite=yes
disallow=all
allow=g729
allow=alaw
allow=ulaw
context=default
Сипнет отсюда вообще можно исключить, пока проблема в вызовах между зарегистрированными на * экстеншнами.
|
Откуда: саранск
Сообщений: 273
|
Re: Вечный вопрос, RTP за NAT
2000/2000 212.106.59.183 D 5060 Unmonitored
Это к "зарегистрированным".
Звонки через NAT бегают без проблем. Голос вот бывает не бегает)
Кстати, а sip reload делали?
[1000]
nat=yes
Если все у Вас все в порядке в sip.conf и диалпланы верные, и настройки клиентов верные, то на маршрутизаторе пробросьте порты udp 5060 и udp в диапазоне 10000-20000
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
esveka: 2000/2000 212.106.59.183 D 5060 Unmonitored
Это к "зарегистрированным".
Звонки через NAT бегают без проблем. Голос вот бывает не бегает)
Кстати, а sip reload делали?
[1000]
nat=yes
Если все у Вас все в порядке в sip.conf и диалпланы верные, и настройки клиентов верные, то на маршрутизаторе пробросьте порты udp 5060 и udp в диапазоне 10000-20000
Проблема именно в голосе.
Я же написал, что с сигнализацией проблем не наблюдается.
Поставил qualify=yes на 2000 экстеншн:
softswitch*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
2000/2000 212.106.59.183 D 5060 OK (37 ms)
1000/1000 95.167.107.3 D N 62502 OK (123 ms)
sipnet1/home48153 212.53.40.40 5060 Unmonitored
Со стороны экстеншна 2000 все тоже ОК:
VoIP_GW#sh sip-ua register status
Line peer expires(sec) registered
============ ============= ============ ===========
2000 2 487 yes
|
Откуда: Обнинск
Сообщений: 17
|
Re: Вечный вопрос, RTP за NAT
Увы, не могу пробросить ничего на маршрутизаторе, ибо сделал бы это в первую очередь.
Роутер находится в зоне действия домашнего провайдера, и врят-ли они будут со мной сотрудничать..
Я думаю, что именно регистрация экстеншнов на Астериск и должна выполнять задачу разруливания трафика между end-devices.
Как заставить rtp трафик гулять нормально при звонках от одного экстеншна к другому - ума не приложу..
|
|