Index: apps/app_channelredirect.c =================================================================== --- apps/app_channelredirect.c (revision 264112) +++ apps/app_channelredirect.c (working copy) @@ -86,12 +86,14 @@ return -1; } +do { /* DELAY TO MAXIMISE RACE LIKELIHOOD !!!!!! */ chan2 = ast_get_channel_by_name_locked(args.channel); if (!chan2) { ast_log(LOG_WARNING, "No such channel: %s\n", args.channel); pbx_builtin_setvar_helper(chan, "CHANNELREDIRECT_STATUS", "NOCHANNEL"); return 0; } +} while ((!chan2->masq) && (ast_channel_unlock(chan2) || 1)); if (chan2->pbx) { ast_set_flag(chan2, AST_FLAG_BRIDGE_HANGUP_DONT); /* don't let the after-bridge code run the h-exten */