Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 129493) +++ channels/chan_sip.c (working copy) @@ -17449,6 +17449,8 @@ /* If we are performing an attended transfer and we have two channels involved then copy sound file information to play upon attended transfer completion */ if (target.chan2) { + ast_channel_lock(target.chan1); + ast_channel_lock(target.chan2); const char *chan1_attended_sound = pbx_builtin_getvar_helper(target.chan1, "ATTENDED_TRANSFER_COMPLETE_SOUND"), *chan2_attended_sound = pbx_builtin_getvar_helper(target.chan2, "ATTENDED_TRANSFER_COMPLETE_SOUND"); if (!ast_strlen_zero(chan1_attended_sound)) { pbx_builtin_setvar_helper(target.chan1, "BRIDGE_PLAY_SOUND", chan1_attended_sound); @@ -17456,6 +17458,8 @@ if (!ast_strlen_zero(chan2_attended_sound)) { pbx_builtin_setvar_helper(target.chan2, "BRIDGE_PLAY_SOUND", chan2_attended_sound); } + ast_channel_unlock(target.chan1); + ast_channel_unlock(target.chan2); } /* Perform the transfer */