Jain sip return 481 для полученного запроса на прощание

Я пытаюсь использовать Jain Sip для создания пользовательского агента sip, который может получать INVITE/ACK/BYE и при необходимости отправлять ответ с помощью SDP.

Он может получить INVITE, отправить ответ OK, получить ACK, а затем выполнить передачу пакетов RTP. Но когда он получит BYE с другой стороны, 481 будет отправлен самим Jain Sip.

Я отправлял ответ без сохранения состояния, используя SipProvider.sendResponse(response). И получается, если я перехожу на stateful (получить NewServerTransaction из входящего запроса, потом использовать SipServerTransaction.sendResponse), то все работает. Вот мне и интересно, в чем между ними разница? Могу ли я сделать это без гражданства?


person hardier    schedule 10.06.2015    source источник


Ответы (1)


По сути, при сохранении состояния стек JAIN-SIP выделяет свои собственные ресурсы для запуска конечных автоматов SIP для транзакций и диалогов. Как вы можете себе представить, если вы сделаете это только частично для звонка, это выйдет из-под контроля. Я предполагаю, что у вас включена поддержка автоматического диалога, и вы каким-то образом смешиваете режим с сохранением состояния и без сохранения состояния. Если вы хотите остаться без гражданства, убедитесь, что нет автоматического диалога. Лучший способ отладки — просмотреть журналы и код DEBUG.

person Vladimir Ralev    schedule 10.06.2015
comment
Большое спасибо! Это все объясняет. - person hardier; 10.06.2015