app_bridge: return to the next dialplan priority
authorScott Griepentrog <sgriepentrog@digium.com>
Fri, 9 Jan 2015 21:45:10 +0000 (21:45 +0000)
committerScott Griepentrog <sgriepentrog@digium.com>
Fri, 9 Jan 2015 21:45:10 +0000 (21:45 +0000)
When app_bridge grabs a channel and puts it into
a bridge, the channel should then continue where
it left off in the dialplan after the bridge has
ended.   Although it stores the current dialplan
location as an after bridge goto on the channel,
it was executing the same priority again instead
of going to the next priority.   By swapping the
"specific" version of bridge_set_after_goto with
bridge_set_after_go_on, the next priority in the
dialplan is executed instead.

ASTERISK-24637 #close
Review: https://reviewboard.asterisk.org/r/4322/
Reported by: John Bigelow
........

Merged revisions 430467 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@430468 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/features.c

index 6944e10..870c57f 100644 (file)
@@ -1099,7 +1099,7 @@ static int bridge_exec(struct ast_channel *chan, const char *data)
                extension = ast_strdupa(ast_channel_exten(current_dest_chan));
                priority = ast_channel_priority(current_dest_chan);
                ast_channel_unlock(current_dest_chan);
-               ast_bridge_set_after_goto(current_dest_chan, context, extension, priority);
+               ast_bridge_set_after_go_on(current_dest_chan, context, extension, priority, NULL);
        }
 
        if (ast_bridge_features_init(&chan_features)) {