]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Properly send a 487 on an INVITE we have not responded to if we receive a BYE.
authorMark Michelson <mmichelson@digium.com>
Thu, 12 Mar 2009 18:29:48 +0000 (18:29 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 12 Mar 2009 18:29:48 +0000 (18:29 +0000)
commit8dbfea83ceb7be5f08fa1bccf70f3e375eb41e01
tree06fe95c8ae0cc3aff608445dbfe39125ca60c2e0
parent1813d4a281944662efad0cc8d310fef4a924f274
Properly send a 487 on an INVITE we have not responded to if we receive a BYE.

If we receive an INVITE from an endpoint and then later receive a BYE from that
same endpoint before we have sent a final response for the INVITE, then we need
to respond to the INVITE with a 487.

There was logic in the code prior to this commit which seemed to exist solely to
handle this situation, but there was one condition in an if statement which
was incorrect. The only way we would send a 487 was if the sip_pvt had no owner
channel. This made no sense since we created the owner channel when we received
the INVITE, meaning that the majority of the time we would never send the 487.
The 487 being sent should not rely on whether we have created a channel. Its
delivery should be dependent on the current state of the initial INVITE transaction.
With this commit, that logic is now correctly in place.

(closes issue #14149)
Reported by: legranjl
Patches:
      14149.patch uploaded by mmichelson (license 60)
Tested by: legranjl

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