]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9380: switch_core_media.c , fix_ext-rtip-ip_not_used_when_originating
authorGiovanni Maruzzelli <gmaruzz@opentelecom.it>
Wed, 3 Aug 2016 20:44:38 +0000 (16:44 -0400)
committerGiovanni Maruzzelli <gmaruzz@opentelecom.it>
Wed, 3 Aug 2016 20:44:38 +0000 (16:44 -0400)
src/switch_core_media.c

index cc4026fc1181ee84d6d787beee523279ff04d96f..8b2dab05debe9642ac7e2b7ee7dd8498413016bd 100644 (file)
@@ -6102,6 +6102,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_choose_port(switch_core_sessio
                use_ip = smh->mparams->rtpip;
        }
 
+       if (zstr(smh->mparams->remote_ip)) { /* no remote_ip, we're originating */
+               if (!zstr(smh->mparams->extrtpip)) { /* and we've got an ext-rtp-ip, eg, from verto config */
+                       use_ip = smh->mparams->extrtpip; /* let's use it for composing local sdp to send to client */
+                       switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, 
+                                               "%s will use %s instead of %s in SDP, because we're originating and we have an ext-rtp-ip setting\n", 
+                                               switch_channel_get_name(smh->session->channel), smh->mparams->extrtpip, smh->mparams->rtpip);
+               }
+       }
        engine->adv_sdp_port = sdp_port;
        engine->adv_sdp_ip = smh->mparams->adv_sdp_audio_ip = smh->mparams->extrtpip = switch_core_session_strdup(session, use_ip);