mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-29 23:39:35 +00:00
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.4@306119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -660,6 +660,7 @@ static int local_hangup(struct ast_channel *ast)
|
|||||||
ao2_lock(p);
|
ao2_lock(p);
|
||||||
}
|
}
|
||||||
if (p->owner) {
|
if (p->owner) {
|
||||||
|
p->owner->hangupcause = p->chan->hangupcause;
|
||||||
pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status);
|
pbx_builtin_setvar_helper(p->owner, "CHANLOCALSTATUS", status);
|
||||||
ast_channel_unlock(p->owner);
|
ast_channel_unlock(p->owner);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user