Ensure Asterisk sends a BYE when pending on the final response to a re-INVITE
authorMatthew Jordan <mjordan@digium.com>
Wed, 21 Mar 2012 13:31:09 +0000 (13:31 +0000)
committerMatthew Jordan <mjordan@digium.com>
Wed, 21 Mar 2012 13:31:09 +0000 (13:31 +0000)
commitc88d1c8337a17d3a2eada556708bc5bd87b2639b
treeb2c325f99babb6081fa3fde8e23daf5a2601ad7b
parent6ff8f14865a47a031a537b4686b23cf4554d0d69
Ensure Asterisk sends a BYE when pending on the final response to a re-INVITE

When Asterisk detects a hangup and cannot send a BYE due to a pending
INVITE, it sets the pendingbye flag and waits for the final response to that
INVITE.  When the response is received, it transmits the BYE.  If, however,
that INVITE request is a pending re-INVITE, it needs to first send a CANCEL
request to terminate the pending re-INVITE.  In that circumstance, Asterisk
was, in some scenarios, clearing the pendingbye flag after processing the
CANCEL request and not checking for a pending BYE when receiving the final
487 response to the INVITE.

This patch ensures that if the pendingbye flag is set, it is honored
regardless of the nature of the INVITE request currently in flight.

(closes issue ASTERISK-19365)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
Patches:
  bugASTERISK-19365_2012_03_08.patch uploaded by mjordan (license 6283)

Review: https://reviewboard.asterisk.org/r/1807
........

Merged revisions 360086 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 360088 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c