From 46c5268e097283abc66a8051eb546775620ab579 Mon Sep 17 00:00:00 2001
From: Anthony Minessale <anthm@freeswitch.org>
Date: Fri, 7 Mar 2014 06:35:02 +0500
Subject: [PATCH] FS-6319

---
 src/switch_core_media.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/switch_core_media.c b/src/switch_core_media.c
index 0b8b66747c..51fb558b89 100644
--- a/src/switch_core_media.c
+++ b/src/switch_core_media.c
@@ -6059,11 +6059,6 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 		}
 		switch_core_session_parse_crypto_prefs(session);
 		switch_core_session_check_outgoing_crypto(session);
-
-	} else {
-		if (switch_channel_test_flag(smh->session->channel, CF_DTLS)) {
-			a_engine->no_crypto = 1;
-		}
 	}
 
 	fmtp_out = a_engine->cur_payload_map->fmtp_out;
@@ -6240,12 +6235,12 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 
 
 	if (a_engine->codec_negotiated) {
-
 		switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "m=audio %d %s", port, 
-						get_media_profile_name(session, 
-											   ((!a_engine->no_crypto || switch_channel_test_flag(session->channel, CF_DTLS)) &&
-												a_engine->crypto_type != CRYPTO_INVALID
-												)));
+						get_media_profile_name(session, !a_engine->no_crypto && 
+											   (switch_channel_test_flag(session->channel, CF_DTLS) || a_engine->crypto_type != CRYPTO_INVALID)));
+		
+												
+												
 		
 		
 		switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), " %d", a_engine->cur_payload_map->pt);
@@ -6555,7 +6550,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 								get_media_profile_name(session, 
 													   (loops == 0 && switch_channel_test_flag(session->channel, CF_SECURE) 
 														&& switch_channel_direction(session->channel) == SWITCH_CALL_DIRECTION_OUTBOUND) || 
-													   a_engine->crypto_type != CRYPTO_INVALID));
+													   a_engine->crypto_type != CRYPTO_INVALID || switch_channel_test_flag(session->channel, CF_DTLS)));