aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-04-22 02:30:36 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-04-22 02:30:36 +0000
commit4eea4687ba7cfdccc2ae157b004d82041130840e (patch)
tree8352a5d4ade1459c41a8f52244bfcd11ff8a8abc /channels/chan_iax2.c
parent609a841788684da7857674deed3580d72f5a17e8 (diff)
ensure cause code supplied by IAX2 peer is passed up to caller properly (bug #4064)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5494 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_iax2.c')
-rwxr-xr-xchannels/chan_iax2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index b4b14c8b0..7b0536128 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -6751,6 +6751,11 @@ retryowner:
memset(&f, 0, sizeof(f));
f.frametype = AST_FRAME_CONTROL;
f.subclass = AST_CONTROL_CONGESTION;
+
+ /* Set hangup cause according to remote */
+ if (ies.causecode && iaxs[fr.callno]->owner)
+ iaxs[fr.callno]->owner->hangupcause = ies.causecode;
+
iax2_queue_frame(fr.callno, &f);
if (ast_test_flag(iaxs[fr.callno], IAX_PROVISION)) {
/* Send ack immediately, before we destroy */