Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / IPфоны и Софтфоны / Cisco 7941 и NAT

Cisco 7941 и NAT

1 2>
Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Cisco 7941 и NAT

Здравствуйте, коллеги.
Есть Cisco 7941g и Asterisk. Бизнес-логика такова, что для каждого пользователя стоит nat=yes. Это работает для всех известных мне телефонов, но почему-то не работает с 7941g.
Если переключить nat=no, все прекрасно. 7941g регистрируется, делает и принимает звонки. Стоит сделать nat=yes, регистрация уже не проходит. В конфиге телефона <natEnabled>0</natEnabled>.
Смотрел tcpdump'ом что происходит.

1. От Ц приходит REGISTER с сорс портом 49423:
<--- SIP read from x.x.44.250:49423 --->
REGISTER sip:x.x.44.202 SIP/2.0

2. Asterisk как порядочный шлет Trying и потом Unauthorized на x.x.44.250:49423! Вот 2 пакета подряд:
14:53:48.070237 IP x.x.44.158.5060 > x.x.44.250.49423: SIP, length: 451
14:53:48.070422 IP x.x.44.158.5060 > x.x.44.250.49423: SIP, length: 516
14:53:48.070905 IP x.x.44.250 > x.x.44.158: ICMP x.x.44.250 udp port 49423 unreachable, length 36

Ц их игнорирует, и через пару секунд снова шлет REGISTER, уже с портом 49424, и так по кругу.

При nat=no Asterisk не смотрит на source ip:port, а шлет ответ по тому, что указано в contact. А там порт 5060, поэтому все работает.
Мысли возникают такие:
1) Все другие телефоны открывают один UDP порт, 5060 или любой другой, который подставляют в contact. Это порт,на котором они готовы ПРИНИМАТЬ ответ по всем мотивам жанра TCP/IP. А циско типа самая умная, открывает несколько UDP портов. Один для отправки, другой для приемки. Зачем!?
2) Как эту дурь обойти?

P.S. Прошивка SIP 8.3.0-50.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-12-19 15:13

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: Cisco 7941 и NAT

я справился с причудами циски (7906 в основном) двумя способами:
1) где не надо, отключал NAT
2) не использовал циску в проектах (дорого, а толку нету)
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2008-12-19 15:29

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Cisco 7941 и NAT

Цискофон оказался самым тупым по работе с NAT и, по-ходу, стеком SIP девайсом. Вот так номер. Мне интересно, кто сможет аргументировать обратное? Я утверждаю, что нет никакого смысла принимать все пакеты на 5060, а для отправки выбирать произвольный порт.
Это связано только с тем, что программистам прошивки SIP так удобнее, так как девайс сложный, явно многопоточный, и если писать в сокет из многих потоков, то надо позаботиться об обработке ситуаций одновременной записи в сокет. А это оказалось не по плечу программистам Cisco. Хаха.

P.S. Это не Asterisk, где на все-все используется один UDP порт. IAX2 должен покорить мир! :-)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-12-19 15:35

Откуда: Kiev
Сообщений: 801

Re: Cisco 7941 и NAT

А может трабл в том, что в Астериске вариантов NAT'а немерянно?

;nat=no ; Global NAT settings (Affects all peers and users)
; yes = Always ignore info and assume NAT
; no = Use NAT mode only according to RFC3581 (;rport)
; never = Never attempt NAT mode or RFC3581 support
; route = Assume NAT, don't send rport
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
2008-12-19 15:44

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Cisco 7941 и NAT

да нет, все меряно :-)
Поставь цискофон за нат и подключи его к астериску...
Тебе надо будет все заворачивать на порт 5060. Если это не домашний роутер, это не "юзабильно".
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-12-19 15:49

Avatara of simax
Откуда: Нижний Новгород
Сообщений: 277

Re: Cisco 7941 и NAT

Гы. похоже цископрограммеры юзают отдельный сокет с auto-assigned source портом для отправки пакетов
2008-12-19 17:26

Сообщений: 6521

Re: Cisco 7941 и NAT

litnimax:

IAX2 должен покорить мир! :-)
Нет, IAX2 лишь должен подготовить мир к приходу мессии - IAX3, который то и покорит уже мир.
В нём будет ZRTP+MPEG4, с крптографией AES, фик послушаешь!
2008-12-19 17:57

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Cisco 7941 и NAT

simax:

Гы. похоже цископрограммеры юзают отдельный сокет с auto-assigned source портом для отправки пакетов
Ну да! Тогда проще, каждый поток открыл временный сокет, послал датаграмму и тут же его закрыл и уничтожил дескриптор.
Заметь, ICMP отвечает Unreachable, следовательно, на уровне UDP об этом порте уже все забыли!
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-12-19 18:19

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: Cisco 7941 и NAT

ded:

litnimax:

IAX2 должен покорить мир! :-)
Нет, IAX2 лишь должен подготовить мир к приходу мессии - IAX3, который то и покорит уже мир.
В нём будет ZRTP+MPEG4, с крптографией AES, фик послушаешь!
Ded! Точно!
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-12-19 18:19

Сообщений: 243

Re: Cisco 7941 и NAT

Думаю, cisco использует чей-то коммерческий стек протоколов SIP типа sofia-sip, и косяк в нем. Не верится, что они на низком уровне сокеты программируют :-)
2008-12-19 21:58

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru