From 19d182b05e0c7feb1d143a936220b98c817b20bf Mon Sep 17 00:00:00 2001 From: karl anderson Date: Tue, 12 Sep 2017 13:49:31 -0700 Subject: [PATCH] associate using the username and source as a more reliable key --- kamailio/default.cfg | 6 +++--- kamailio/dispatcher-role.cfg | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kamailio/default.cfg b/kamailio/default.cfg index 10a6f39..dc22a5f 100644 --- a/kamailio/default.cfg +++ b/kamailio/default.cfg @@ -835,9 +835,9 @@ route[INTERNAL_REDIRECT] onsend_route { if (isflagset(FLAG_ASSOCIATE_USER)) { - $var(contact_uri) = $(ct{tobody.user}) + "@" + $(ct{tobody.host}); - xlog("L_INFO", "$ci|log|associate user $var(contact_uri) with media server sip:$sndto(ip):$sndto(port)\n"); - $sht(associations=>$var(contact_uri))= "sip:" + $sndto(ip) + ":" + $sndto(port); + $var(user_source) = $(ct{tobody.user}) + "@" + $si + ":" + $sp; + xlog("L_INFO", "$ci|log|associate traffic from $var(user_source) with media server sip:$sndto(ip):$sndto(port)\n"); + $sht(associations=>$var(user_source))= "sip:" + $sndto(ip) + ":" + $sndto(port); } xlog("L_INFO", "$ci|pass|$sndfrom(ip):$sndfrom(port) -> $sndto(ip):$sndto(port)\n"); diff --git a/kamailio/dispatcher-role.cfg b/kamailio/dispatcher-role.cfg index bb662b1..6a95c3c 100644 --- a/kamailio/dispatcher-role.cfg +++ b/kamailio/dispatcher-role.cfg @@ -92,7 +92,7 @@ route[DISPATCHER_FIND_ROUTES] } } - $var(contact_uri) = $(ct{tobody.user}) + "@" + $(ct{tobody.host}); + $var(user_source) = $(ct{tobody.user}) + "@" + $si + ":" + $sp; $var(redirect) = @from.uri.user + "@" + @from.uri.host + "->" + @ruri.user + "@" + @ruri.host; if ($sht(redirects=>$var(redirect)) != $null) { @@ -101,9 +101,9 @@ route[DISPATCHER_FIND_ROUTES] if (route(DISPATCHER_REORDER_ROUTES)) { $avp(AVP_REDIRECT_KEY) = $var(redirect); } - } else if ($sht(associations=>$var(contact_uri)) != $null) { - $var(prefered_route) = $sht(associations=>$var(contact_uri)); - xlog("L_INFO", "$ci|log|found association for contact uri $var(contact_uri)\n"); + } else if ($sht(associations=>$var(user_source)) != $null) { + $var(prefered_route) = $sht(associations=>$var(user_source)); + xlog("L_INFO", "$ci|log|found association for contact uri $var(user_source)\n"); if (!route(DISPATCHER_REORDER_ROUTES)) { $sht(associations=>$var(association)) = $null; }