]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 306126 via svnmerge from
authorTerry Wilson <twilson@digium.com>
Thu, 3 Feb 2011 21:03:26 +0000 (21:03 +0000)
committerTerry Wilson <twilson@digium.com>
Thu, 3 Feb 2011 21:03:26 +0000 (21:03 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r306126 | twilson | 2011-02-03 12:56:00 -0800 (Thu, 03 Feb 2011) | 16 lines

  Merged revisions 306119 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r306119 | twilson | 2011-02-03 12:36:34 -0800 (Thu, 03 Feb 2011) | 9 lines

    Set hangup cause in local_hangup

    When a call involves a local channel (like SIP -> Local -> SIP), the hangup
    cause was not being set. This resulted in SIP channels sometimes getting a
    503 error instead of a 486 when the far side sent a busy. In Asterisk 1.8+
    this also can cause issues with CCSS that involve a local channel. This patch
    sets the hangupcause for one side of the local channel to the other in
    local_hangup for outbound calls.
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@306127 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_local.c

index e80722c239e7a20c94b9ea7d3f107e56b2764bb1..edf2a8ad2742df24c7e2a48b41891646c2a41483 100644 (file)
@@ -880,6 +880,7 @@ static int local_hangup(struct ast_channel *ast)
                                ao2_lock(p);
                        }
                        if (p->owner) {
+                               p->owner->hangupcause = p->chan->hangupcause;
                                pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status);
                                ast_channel_unlock(p->owner);
                        }