On Wed, May 23, 2018 at 10:58:16PM +0200, Daniel-Constantin Mierla wrote:
> From the excerpts you present, there is an unexpected Record-Route with
> the proxy address in the 200ok towards endpoint. Is it so or just a
> mistake in what you pasted here? Because there should be no record-route
> with proxy address if proxy does topos.

The Record-Route is no mistake. It is added on the proxy.

> > backend:5060 -> proxy:5060
> > SIP/2.0 200 OK
> > Via: SIP/2.0/UDP proxy;branch=...
> > Contact: <sip:atpsh-5af19bf0-9f94-7@backend>
> >
> > proxy:5060 -> endpoint:5060
> > SIP/2.0 200 OK
> > Contact: <sip:atpsh-5af19bf0-9f94-7@backend>
> > Via: SIP/2.0/UDP endpoint:5060;received=endpoint;rport=5060;branch=...
> > Record-Route: <sip:proxy;lr>

I have no idea where this is added since there are only 3 record_route()
calls in the config:

------------------------------------------------
# Main SIP request routing logic
# - processing of any incoming SIP request starts with this route
# - note: this is the same as route { ... }
request_route {
#       xlog("L_ALERT","REQUESTROUTE: $rm from $fu (IP:$si:$sp) to $ru via 
$du\n");

        if(t_precheck_trans())
        {
                t_check_trans();
                exit;
        }
        else
        {
                if(is_method("INVITE") && !has_totag())
                {
                        t_newtran();
                        t_reply("100","Trying");
                }
        }

        route(REQINIT);

        route(NATDETECT);
        route(WITHINDLG);

        if (is_method("INVITE|SUBSCRIBE"))
        {
                record_route();
        }


------------------------------------------------
route[REQINIT] {
....
//some custom mangling for OPTIONS from the backends
        if(is_method("OPTIONS") && $fU=="pinger" && is_in_subnet($si, 
"185.61.68.104/30")) {
                record_route();
                remove_hf("Route");

------------------------------------------------
# Handle requests within SIP dialogs
route[WITHINDLG] {
        if (!has_totag()) return;

        # sequential request withing a dialog should
        # take the path determined by record-routing
        if (loose_route()) {
                route(DLGURI);
                if ( is_method("ACK") ) {
                        # ACK is forwarded statelessy
                        route(NATMANAGE);
                }
                else if ( is_method("NOTIFY") ) {
                        # Add Record-Route for in-dialog NOTIFY as per RFC 6665.
                        record_route();
 

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to