diff options
author | Michiel van Baak <michiel@vanbaak.info> | 2008-04-24 22:16:48 +0000 |
---|---|---|
committer | Michiel van Baak <michiel@vanbaak.info> | 2008-04-24 22:16:48 +0000 |
commit | 08e674bce0e7ce47068f495ff437549d7e20496c (patch) | |
tree | 2c247ba7f500b9bdc0fa9867d833b6af194d7139 /apps/app_externalivr.c | |
parent | a50b48dacd3754b09aa228ba137af5c2e324e8ce (diff) |
Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_externalivr.c')
-rw-r--r-- | apps/app_externalivr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c index 101237680..6d3e86830 100644 --- a/apps/app_externalivr.c +++ b/apps/app_externalivr.c @@ -560,6 +560,9 @@ static int eivr_comm(struct ast_channel *chan, struct ivr_localuser *u, } else if ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_HANGUP)) { ast_chan_log(LOG_NOTICE, chan, "Got AST_CONTROL_HANGUP\n"); send_eivr_event(eivr_events, 'H', NULL, chan); + if (f->seqno) { + chan->hangupcause = f->seqno; + } ast_frfree(f); res = -1; break; |