summaryrefslogtreecommitdiff
path: root/apps/app_externalivr.c
diff options
context:
space:
mode:
authorMichiel van Baak <michiel@vanbaak.info>2008-04-24 22:16:48 +0000
committerMichiel van Baak <michiel@vanbaak.info>2008-04-24 22:16:48 +0000
commit08e674bce0e7ce47068f495ff437549d7e20496c (patch)
tree2c247ba7f500b9bdc0fa9867d833b6af194d7139 /apps/app_externalivr.c
parenta50b48dacd3754b09aa228ba137af5c2e324e8ce (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.c3
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;