From: Mark Michelson Date: Fri, 24 Jul 2009 18:32:25 +0000 (+0000) Subject: Merged revisions 208588 via svnmerge from X-Git-Tag: 1.6.1.3-rc1~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=623e055a283e95d76a2da6c0bbe338243c45e217;p=thirdparty%2Fasterisk.git Merged revisions 208588 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r208588 | mmichelson | 2009-07-24 13:31:04 -0500 (Fri, 24 Jul 2009) | 16 lines Merged revisions 208587 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r208587 | mmichelson | 2009-07-24 13:26:50 -0500 (Fri, 24 Jul 2009) | 10 lines Only send a BYE when hanging up a channel that is up. For cases where Asterisk sends an INVITE and receives a non 2XX final response, Asterisk would follow the INVITE transaction by immediately sending a BYE, which was unnecessary. (closes issue #14575) Reported by: chris-mac ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@208590 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d5dabe19f6..2ac7045cfc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -5360,7 +5360,9 @@ static int sip_hangup(struct ast_channel *ast) if (p->trtp) textqos = ast_rtp_get_quality(p->trtp, NULL, RTPQOS_SUMMARY); /* Send a hangup */ - transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1); + if (oldowner->_state == AST_STATE_UP) { + transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1); + } /* Get RTCP quality before end of call */ if (p->do_history) {