From 56872ee052b6a67d94e052e35b3f81be0db87aa2 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 9 Nov 2016 17:22:07 -0600 Subject: [PATCH] FS-9721 #resolve [Add media_reneg_after_broadcast] --- src/switch_core_media.c | 7 +++---- src/switch_ivr.c | 10 ++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 933cdddcd0..41f9c36d50 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -11560,13 +11560,12 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_receive_message(switch_core_se if (msg->string_arg) { switch_channel_set_variable(session->channel, "absolute_codec_string", NULL); + if (*msg->string_arg == '=') { switch_channel_set_variable(session->channel, "codec_string", msg->string_arg); } else { - switch_channel_set_variable_printf(session->channel, "codec_string", "=%s%s%s,%s", - v_engine->cur_payload_map->rm_encoding ? v_engine->cur_payload_map->rm_encoding : "", - v_engine->cur_payload_map->rm_encoding ? "," : "", - a_engine->cur_payload_map->rm_encoding, msg->string_arg); + switch_channel_set_variable_printf(session->channel, + "codec_string", "=%s", switch_channel_get_variable(session->channel, "ep_codec_string")); } diff --git a/src/switch_ivr.c b/src/switch_ivr.c index bed71c97c6..ad58de7ee2 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -664,6 +664,16 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_event(switch_core_session_t *se } switch_channel_audio_sync(channel); + + if (switch_channel_var_true(channel, "media_reneg_after_broadcast")) { + switch_core_session_message_t msg = { 0 }; + + msg.message_id = SWITCH_MESSAGE_INDICATE_MEDIA_RENEG; + msg.from = __FILE__; + + switch_core_session_receive_message(session, &msg); + } + } } else if (cmd_hash == CMD_UNICAST) { char *local_ip = switch_event_get_header(event, "local-ip");