]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
skip rtcp addr when mux is set
authorAnthony Minessale <anthm@freeswitch.org>
Wed, 27 May 2015 06:13:27 +0000 (01:13 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Wed, 27 May 2015 11:14:08 +0000 (06:14 -0500)
src/switch_core_media.c

index 5ac1b60eeb21a3e171f818f0014e2973af5063b5..48ea843cfe333e07f3819371481bb0e2271d8eaa 100644 (file)
@@ -2975,13 +2975,19 @@ static void check_ice(switch_media_handle_t *smh, switch_media_type_t type, sdp_
        }
 
        if (engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port) {
-               switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(smh->session), SWITCH_LOG_NOTICE,
-                                                 "setting remote rtcp %s addr to %s:%d based on candidate\n", type2str(type),
-                                                 engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_addr, engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port);
-               engine->remote_rtcp_ice_port = engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port;
-               engine->remote_rtcp_ice_addr = switch_core_session_strdup(smh->session, engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_addr);
-
-               engine->remote_rtcp_port = engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port;
+               if (engine->rtcp_mux) {
+                       switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(smh->session), SWITCH_LOG_NOTICE,
+                                                         "Asked by candidate to set remote rtcp %s addr to %s:%d but this is rtcp-mux so no thanks\n", type2str(type),
+                                                         engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_addr, engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port);
+               } else {
+                       switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(smh->session), SWITCH_LOG_NOTICE,
+                                                         "Setting remote rtcp %s addr to %s:%d based on candidate\n", type2str(type),
+                                                         engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_addr, engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port);
+                       engine->remote_rtcp_ice_port = engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port;
+                       engine->remote_rtcp_ice_addr = switch_core_session_strdup(smh->session, engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_addr);
+                       
+                       engine->remote_rtcp_port = engine->ice_in.cands[engine->ice_in.chosen[1]][1].con_port;
+               }
        }