Jump to content

Recommended Posts

Posted

Добрый день.

схемка такая:

sip ua -> SER ->(sip trunk)-> CCM5 -> AS5350->PSTN

 

при исходящем звонке с sip ua после 16 мин 3 сек в трубке тишина.

другой конец (PSTN) получает дисконнект.

в АТАшке тишина, RTP она шлет все также, как будто все в норме.

tcpdump на sip транке показывает следующую картину.

после 16:03, когда реально PSTN уже отвалилось, CCM не шлет никаких sip сообщений.

когда жмакаешь отбой у себя на ua видим такую картину:

АТАшка шлет BYE, а в ответ получает 481 Call Leg/Transaction Does Not Exist

 

то есть CCM втихаря рвет сессию и привет.

на звонках меньше 16 минут проблем нет. на входящих с PSTN тоже проблемы нет.

Posted

В адпаках есть такая настройка как

timeout tterm 1800

Вроде как устанавливаем макс.длительность разговора в секундах. Мож и на кошке что-то похожее в конфиг затесалось?

Posted

кошкорулитель говорит, что нет.

и на других sip транках нет проблемы.

sip ua пробовал разные, эффект тот же.

даже не знаю, где копать :(

Posted

Надо смотреть что происходит на сети непосредственно ПЕРЕД обрывом. Обычно подобный обрыв происходит (если ограничение длины сессии не задано явно) из-за того что некоторые софтсвитчи-pbx (например broadsoft и еще некоторые) имеют свойство проверять живо ли еще ли соединение посылая reinvite но почему-то с пустым body (это запрещено). Девайс на такой запрос отвечает естественно ошибкой 488, а свитч-pbx воспринимает ее как фатальную (что неправильно) и соединение рассыпается. На более сложной связке из CCM и OpenSER оно может рассыпаться и "наполовину" до истечения таймаута. Вобщем снифать надо.

Posted

а ничего не происходит. просто заканчивается RTP поток от CCM и все.

попробуем убить транк и сделать заново.

CCM пока не разрешают перегружать.

Posted (edited)

Итак, виртуальное пиво отпроавляется ram_scan, г. Новосибирск.

cisco CCM через 16 минут шлет INVITE в обратную сторону с тем же Call-ID.

Но почемуто в конкретно моей конфигурации оно его шлет на LAN IP sip ua, а не на ip SER-а. ну и соответственно этот INVITE улетает в трубу по чужой IP маршрутизации.

проблема решилась переносом регистрации sip ua на внешний интерфейс ser.

не очень так хотелось. зато работает.

Edited by denzz
Posted (edited)

denzz, а это надо смотреть уже в конфиг OpenSer. Выдвигаю версию что в процессе маршрутизации звонка между интерфейсами некорректно заменяется поле Via. Точнее оно должно меняться на адрес интерфейса OpenSer, а оно пролетает дальше немодифицированым. В итоге мы имеем то что rtp поток стартует корректно, так как поле Contact указано верно, и указывает на ip SIP UA, а вот один их прокси-серверов (SER) из цепи сигнализации выпадает, так как CCM по стандарту обязан отвечать на адрес указаный в Via. В итоге когда CCM реинвайтит сессию чтобы проверить что оно еще ладом живо и не залипло он получает от SIP UA call leg transaction does not exists (так как branch таки не совпадает несмотря на совпадение по call-id), и со своей стороны рвет соединение. SIP UA этот реквест игнорирует, а соответственно ОpenSer вообще ни о чем не подозревает. То есть тут скорее всего ошибка в конфигурационном скрипте OpenSer.

Edited by ram_scan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...