aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-03 21:03:26 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2011-02-03 21:03:26 +0000
commit23d1ce9b7bf84e4d1c6623c035f726e4017b1d76 (patch)
tree44b8d5764d32eec332c417583f9e787105013a9a
parent8b93c335b8280c2c89724a3e220e0c76081b6d42 (diff)
Merged revisions 306126 via svnmerge from
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: http://svn.digium.com/svn/asterisk/branches/1.8@306127 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_local.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/channels/chan_local.c b/channels/chan_local.c
index e80722c23..edf2a8ad2 100644
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -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);
}