diff options
author | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-02-03 20:56:00 +0000 |
---|---|---|
committer | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-02-03 20:56:00 +0000 |
commit | 33528cce2f7a08139e943b4b04df7aae76957c6f (patch) | |
tree | f830e1fa1709e9067b1a5a044704ef6f4ca22cf4 /channels | |
parent | 548744813f09d5a2d5c2b90020b815f56b47b3c2 (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.6.2@306126 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_local.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c index 9181af08d..6f7d23275 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -760,6 +760,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); } |