diff options
author | Joshua Colp <jcolp@digium.com> | 2013-12-14 17:19:41 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2013-12-14 17:19:41 +0000 |
commit | 3a5cc054ed3efb0733a70a6945880b71506b5757 (patch) | |
tree | 2435f375316c92c0009d51bb9ee1bc12e7ea0810 /apps | |
parent | 661ac149115dd23c421c1445a1d07f92249db243 (diff) |
res_stasis: Expose event for call forwarding and follow forwarded channel.
This change adds an event for when an originated call is redirected to
another target. This event contains the original channel and the newly
created channel. If a stasis subscription exists on the original originated
channel for a stasis application then a new subscription will also be
created on the stasis application to the redirected channel. This allows
the application to follow the call path completely.
(closes issue ASTERISK-22719)
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/3054/
........
Merged revisions 403808 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_dial.c | 2 | ||||
-rw-r--r-- | apps/app_queue.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index c9bee19b0..fdbe05692 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1007,7 +1007,7 @@ static void do_forward(struct chanlist *o, struct cause_args *num, ast_channel_unlock(c); ast_channel_lock_both(original, in); - ast_channel_publish_dial_forward(in, original, NULL, "CANCEL", + ast_channel_publish_dial_forward(in, original, c, NULL, "CANCEL", ast_channel_call_forward(c)); ast_channel_unlock(in); ast_channel_unlock(original); diff --git a/apps/app_queue.c b/apps/app_queue.c index 906dff15f..d9f0f85d3 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -4666,7 +4666,7 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte ast_channel_unlock(qe->chan); ast_channel_lock_both(qe->chan, original); - ast_channel_publish_dial_forward(qe->chan, original, NULL, "CANCEL", + ast_channel_publish_dial_forward(qe->chan, original, o->chan, NULL, "CANCEL", ast_channel_call_forward(original)); ast_channel_unlock(original); ast_channel_unlock(qe->chan); |