diff options
Diffstat (limited to 'res/res_features.c')
-rw-r--r-- | res/res_features.c | 8 |
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; |