Особенность работы Сisco IOS при звонке из телефонной сети в SIP сеть.

При данной схеме Cisco использует для передачи и приема разные UDP порты. Так называемая ассиметричная сигнализация. Пакеты отправляются обычно с очень высокого порта, а слушает на стандартном 5060 или том, что указан в параметре sip-server.

U 2009/07/31 15:01:21.567483 192.168.1.21:51883 -> 192.168.1.13:5060
INVITE sip:[email protected]:5060 SIP/2.0..Via: SIP/2.0/UDP 192.168.1.21:5060..

Причем каждый следующий пакет начинает следующую Seqence и посылается с другого порта

U 2009/07/31 15:01:21.653034 192.168.1.21:51416 -> 192.168.1.13:5060
PRACK sip:192.168.1.13:5060;lr=on;ftag=137D6378-B73 SIP/2.0..Via: SIP/2.0/UDP 192.168.1.21:5060

Интелектуальные SIP proxy (SER, Openser, Kamalio) сравнивают реальный порт передачи и значение порта в верхнем Via. На основании этого они принимают решение находится ли данный SIP клиент за NAT. И в дальнейшем посылают ответные SIP пакеты не на порт из верхнего VIA либо из поля Contact, а на порт откуда пришел последний пакет. А свою очередь Cisco закрывает порт передачи по только ей известному алгоритму. Отсюда огромное количество trouble в интернете по потере BYE пакета из SIP сети в сторону PSTN шлюза на Сisco.

Рекомендации по клонам SER, осторожно использовать 16 параметр в функции nat_uac_test, означающий принятие решения о нахождении UAC за NAT

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong