diff --git a/src/switch_core_media.c b/src/switch_core_media.c index bfaff77289..340d9c2924 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -13101,15 +13101,15 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_receive_message(switch_core_se goto end; case SWITCH_MESSAGE_INDICATE_AUDIO_SYNC: if (switch_rtp_ready(a_engine->rtp_session)) { + switch_rtp_reset_jb(a_engine->rtp_session); rtp_flush_read_buffer(a_engine->rtp_session, SWITCH_RTP_FLUSH_ONCE); - //switch_rtp_reset_jb(a_engine->rtp_session); } goto end; case SWITCH_MESSAGE_INDICATE_VIDEO_SYNC: if (switch_rtp_ready(v_engine->rtp_session)) { + switch_rtp_reset_jb(v_engine->rtp_session); switch_rtp_flush(v_engine->rtp_session); - //switch_rtp_reset_jb(v_engine->rtp_session); } goto end; case SWITCH_MESSAGE_INDICATE_3P_MEDIA: diff --git a/src/switch_core_state_machine.c b/src/switch_core_state_machine.c index 7a8e2e5ab7..ce47a6cd68 100644 --- a/src/switch_core_state_machine.c +++ b/src/switch_core_state_machine.c @@ -334,7 +334,9 @@ static void switch_core_standard_on_execute(switch_core_session_t *session) switch_channel_clear_flag(session->channel, CF_RESET); switch_core_session_video_reset(session); - + switch_channel_audio_sync(session->channel); + switch_channel_video_sync(session->channel); + if ((extension = switch_channel_get_caller_extension(session->channel)) == 0) { switch_channel_hangup(session->channel, SWITCH_CAUSE_NORMAL_CLEARING); return;