I'm returning to this thread, since after some more testing, I found that loose_route() does not (at least always) detect that a pair of route headers denotes itself.
In config I have defined:
listen=tls:192.x.x.x:8005 name "ext_tls" modparam("rr", "sockname_mode", 1)
and Route header looks like this:
ROUTE: sip:tenantX.teams.tutpro.com:8005;transport=tls;r2=on;sn=ext_tls;lr;n1;avp=savp;pm=0,sip:192.x.x.x:5070;transport=tcp;r2=on;lr;n1;avp=savp;pm=0
Then this code:
loose_route(); if ($du != "") { xinfo("Routing in-dialog $rm <$ru> from <$fu> to <$du> based on route uri\n"); }
produces to syslog:
INFO: Routing in-dialog ACK <...> from <...> to <...> based on route uri
-- Juha
Just to add that loose_route() works OK if I add to config
alias=tenantX.teams.tutpro.com:8005
So that sort of proves that ;ns=ext_tls param in the first Route URI has no effect.
-- Juha
-------------------------------------------------------
I'm returning to this thread, since after some more testing, I found that loose_route() does not (at least always) detect that a pair of route headers denotes itself.
In config I have defined:
listen=tls:192.x.x.x:8005 name "ext_tls" modparam("rr", "sockname_mode", 1)
and Route header looks like this:
ROUTE: sip:tenantX.teams.tutpro.com:8005;transport=tls;r2=on;sn=ext_tls;lr;n1;avp=savp;pm=0,sip:192.x.x.x:5070;transport=tcp;r2=on;lr;n1;avp=savp;pm=0
Then this code:
loose_route(); if ($du != "") { xinfo("Routing in-dialog $rm <$ru> from <$fu> to <$du> based on route uri\n"); }
produces to syslog:
INFO: Routing in-dialog ACK <...> from <...> to <...> based on route uri
-- Juha
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Looks like loose.c is_myself() function only uses host/port of the first Route URI to determine if Route URI denotes the proxy itself thus ignoring ;sn parameter.
-- Juha