[asterisk-bugs] [Asterisk 0012322]: SIP reinvite record-route problem after hangup
noreply at bugs.digium.com
noreply at bugs.digium.com
Fri Apr 18 01:59:42 CDT 2008
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=12322
======================================================================
Reported By: rolek
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 12322
Category: Channels/chan_sip/Interoperability
Reproducibility: always
Severity: minor
Priority: normal
Status: new
Asterisk Version: 1.4.18
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Disclaimer on File?: N/A
Request Review:
======================================================================
Date Submitted: 03-28-2008 06:10 CDT
Last Modified: 04-18-2008 01:59 CDT
======================================================================
Summary: SIP reinvite record-route problem after hangup
Description:
Situation: phone1 - *a - *b - provider - phone2
When making a call from phone2 to phone1, both *b and provider use
re-invites to get out of the RTP stream. After phone1 hangs up, *b tries to
send BYE directly to the RTP server of the provider instead of its SIP
peer. The result is that phone2 does not see that the call has ended.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0006240 [branch] Errors in support for SIP stri...
======================================================================
----------------------------------------------------------------------
rolek - 04-18-08 01:59
----------------------------------------------------------------------
When doing reinvites, after a hangeup, we get the following exchange:
INVITE ---->
<-------- OK
ACK ------->
However, after the INVITE, sip_hangup() is called, which sets the call
owner to NULL, causing the test for reinvite in handle_response_invite() to
incorrectly state it is not a reinvite.
To ensure the ACK is sent correctly, we have to avoid calling
build_route(). The attached patch fixes this just before calling
build_route() from handle_response_invite() [but I don't know if there are
other situations which would by caught by this test, so this might not be a
good way]. Perhaps it is better to improve the test for reinvite so it
works even after sip_hangup() is called.
Issue History
Date Modified Username Field Change
======================================================================
04-18-08 01:59 rolek Note Added: 0085681
======================================================================
More information about the asterisk-bugs
mailing list