Index: channels/chan_local.c =================================================================== --- channels/chan_local.c (revision 180082) +++ channels/chan_local.c (working copy) @@ -372,7 +372,9 @@ ast_moh_stop(ast); } else { /* Queue up a frame representing the indication as a control frame */ - ast_mutex_lock(&p->lock); + while (ast_mutex_trylock(&p->lock)) { + DEADLOCK_AVOIDANCE(&ast->lock); + } isoutbound = IS_OUTBOUND(ast, p); f.subclass = condition; f.data = (void*)data;