]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 208588 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Fri, 24 Jul 2009 18:32:25 +0000 (18:32 +0000)
committerMark Michelson <mmichelson@digium.com>
Fri, 24 Jul 2009 18:32:25 +0000 (18:32 +0000)
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

channels/chan_sip.c

index d5dabe19f6f8cb5254614c325ccb5d39e95ea591..2ac7045cfc6f7b6d86ecfacab89bcf2bcc65024f 100644 (file)
@@ -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) {