From 63cad645523eee5f3ecca6b2b1cec749819a5974 Mon Sep 17 00:00:00 2001 From: lazedo Date: Thu, 17 Sep 2020 10:27:30 +0000 Subject: [PATCH] check ice in sdp for requests * ip replacement only if sdp doesn't have ice candidates * don't do ip replacement from internal by default (cherry picked from commit 1ff059c573598e4ec1b6bf2279b99dfec473c569) --- kamailio/nat-traversal-role.cfg | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/kamailio/nat-traversal-role.cfg b/kamailio/nat-traversal-role.cfg index 7ee40d0..6d12da2 100644 --- a/kamailio/nat-traversal-role.cfg +++ b/kamailio/nat-traversal-role.cfg @@ -15,13 +15,15 @@ modparam("nathelper", "sipping_from", "sip:registrar@MY_HOSTNAME") #!trydef KZ_NAT_FIX_SDP_REQUEST 1 #!trydef KZ_NAT_FIX_SDP_REPLY 1 #!trydef KZ_NAT_FIX_INTERNAL_SDP_REPLY 0 +#!trydef KZ_NAT_FIX_INTERNAL_SDP_REQUEST 0 #!trydef KZ_NAT_SDP_TEST 8 #!trydef KZ_NAT_SDP_FIX 10 kazoo.nat_fix_sdp_request = KZ_NAT_FIX_SDP_REQUEST descr "performs request sdp replacement of private addresses" kazoo.nat_fix_sdp_reply = KZ_NAT_FIX_SDP_REPLY descr "performs reply sdp replacement of private addresses" -kazoo.nat_fix_internal_sdp_reply = KZ_NAT_FIX_INTERNAL_SDP_REPLY descr "performs reply sdp replacement of private addresses" +kazoo.nat_fix_internal_sdp_request = KZ_NAT_FIX_INTERNAL_SDP_REQUEST descr "performs internal request sdp replacement of private addresses" +kazoo.nat_fix_internal_sdp_reply = KZ_NAT_FIX_INTERNAL_SDP_REPLY descr "performs internal reply sdp replacement of private addresses" ####### NAT Traversal Logic ######## route[NAT_SDP] @@ -41,8 +43,19 @@ route[NAT_SDP] route[NAT_DETECT] { - if($sel(cfg_get.kazoo.nat_fix_sdp_request) == 1) { - route(NAT_SDP); + + if(isflagset(FLAG_INTERNALLY_SOURCED)) { + if(is_request() && $sel(cfg_get.kazoo.nat_fix_internal_sdp_request) == 1) { + if(!sdp_with_ice()) { + route(NAT_SDP); + } + } + } else { + if(is_request() && $sel(cfg_get.kazoo.nat_fix_sdp_request) == 1) { + if(!sdp_with_ice()) { + route(NAT_SDP); + } + } } if ($Rp == "5080") {