diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-04-22 02:30:36 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-04-22 02:30:36 +0000 |
commit | 4eea4687ba7cfdccc2ae157b004d82041130840e (patch) | |
tree | 8352a5d4ade1459c41a8f52244bfcd11ff8a8abc /channels/chan_iax2.c | |
parent | 609a841788684da7857674deed3580d72f5a17e8 (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-x | channels/chan_iax2.c | 5 |
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 */ |