Index: channels/chan_local.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_local.c,v retrieving revision 1.32.2.3 diff -u -r1.32.2.3 chan_local.c --- channels/chan_local.c 10 May 2005 03:28:01 -0000 1.32.2.3 +++ channels/chan_local.c 18 Jul 2005 16:39:27 -0000 @@ -177,12 +177,17 @@ int res = -1; int isoutbound; - /* Just queue for delivery to the other side */ ast_mutex_lock(&p->lock); isoutbound = IS_OUTBOUND(ast, p); - res = local_queue_frame(p, isoutbound, f, ast); - check_bridge(p, isoutbound); + if (f && (f->frametype == AST_FRAME_VOICE)) + check_bridge(p, isoutbound); + if (!p->alreadymasqed) + res = local_queue_frame(p, isoutbound, f, ast); + else { + ast_log(LOG_DEBUG, "Not posting to queue since already masked on '%s'\n", ast->name); + res = 0; + } ast_mutex_unlock(&p->lock); return res; }