diff --git a/src/switch_channel.c b/src/switch_channel.c index 60e69d083c..cea7d43c0d 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -3263,6 +3263,7 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_pre_answer(switch_channel if (status == SWITCH_STATUS_SUCCESS) { switch_channel_perform_mark_pre_answered(channel, file, func, line); + switch_channel_audio_sync(channel); } else { switch_channel_hangup(channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); } @@ -3535,6 +3536,9 @@ SWITCH_DECLARE(switch_status_t) switch_channel_perform_answer(switch_channel_t * if (status == SWITCH_STATUS_SUCCESS) { switch_channel_perform_mark_answered(channel, file, func, line); + if (!switch_channel_test_flag(channel, CF_EARLY_MEDIA)) { + switch_channel_audio_sync(channel); + } } else { switch_channel_hangup(channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); }