From a1999ad62a31ff8d4bb0a651fea761c6d3e17203 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Thu, 4 Apr 2013 13:46:46 -0500
Subject: [PATCH] flush on answer for inbound only

---
 src/switch_channel.c | 4 ++++
 1 file changed, 4 insertions(+)

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);
 	}