aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_features.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/res_features.c')
-rw-r--r--res/res_features.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/res/res_features.c b/res/res_features.c
index f5aca846f..235d46ea1 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -1445,7 +1445,13 @@ static struct ast_channel *ast_feature_request_and_dial(struct ast_channel *call
if (!active_channel)
continue;
- if (chan && (chan == active_channel)){
+ if (chan && (chan == active_channel)) {
+ if (!ast_strlen_zero(chan->call_forward)) {
+ if (!(chan = ast_call_forward(caller, chan, &to, format, NULL, outstate))) {
+ return NULL;
+ }
+ continue;
+ }
f = ast_read(chan);
if (f == NULL) { /*doh! where'd he go?*/
state = AST_CONTROL_HANGUP;