diff --git a/src/switch_core_media.c b/src/switch_core_media.c
index 336c47b768..4f036881dd 100644
--- a/src/switch_core_media.c
+++ b/src/switch_core_media.c
@@ -5485,7 +5485,6 @@ static void generate_m(switch_core_session_t *session, char *buf, size_t buflen,
 			already_did[smh->ianacodes[i]] = 1;
 		}
 
-		
 		rate = imp->samples_per_second;
 
 		if (map) {
@@ -5853,6 +5852,10 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 
 		smh->payload_space = 98;
 
+		for (i = 0; i < smh->mparams->num_codecs; i++) {
+			smh->ianacodes[i] = smh->codecs[i]->ianacode;
+		}
+		
 		if (sdp_type == SDP_TYPE_REQUEST) {
 			switch_core_session_t *orig_session = NULL;
 
@@ -5863,7 +5866,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 				switch_payload_t orig_pt = 0;
 				char *orig_fmtp = NULL;
 
-				smh->ianacodes[i] = imp->ianacode;
+				//smh->ianacodes[i] = imp->ianacode;
 				
 				if (smh->ianacodes[i] > 64) {
 					if (smh->mparams->dtmf_type == DTMF_2833 && smh->mparams->te > 95 && smh->mparams->te == smh->payload_space) {
@@ -5911,7 +5914,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess
 		fmtp_out = fmtp_out_var;
 	}
 
-	if ((val = switch_channel_get_variable(session->channel, "verbose_sdp")) && switch_true(val)) {
+	val = switch_channel_get_variable(session->channel, "verbose_sdp");
+
+	if (!val || switch_true(val)) {
 		switch_channel_set_flag(session->channel, CF_VERBOSE_SDP);
 	}