[SR-Users] nathelper without usrloc

Daniel W. Graham dan at cmsinter.net
Tue Mar 31 19:53:59 CEST 2020


I’ve been missing with this for a while and seem to be missing something. Any suggestions on what is missing here?

Trying to use set_contact_alias() and handle_ruri_alias() from nathelper module and nat_keepalive from nat_traversal module, without registrar.

I had register keepalive working, that has since broke. When register keepalive was working, I was able to place call in either direction but ACK and BYE was not being routed past kamailio.

Registrations are forwarded to the PBX using add_path() and is working.

Also not included below is the routing to the PBX, that is just setting $du and t_relay, and is also working.

Topology is: UA1 -> NAT -> kamailio -> PBX -> UA2

Using default config file as the example, modified with above changes. I also removed RTP config as that is a non-issue.

request_route {
    ……
    # FLAG MESSAGES FROM PBX
        setflag(FLT_PBX);
    route(NATDETECT);
    ……

route[NATDETECT] {
            if (nat_uac_test("19")) {
force_rport();
                        set_contact_alias();
                        nat_keepalive();
            }
            return;
}

route[WITHINDLG] {
            if (!has_totag()) return;
                        if (loose_route()) {
                                    route(DLGURI);
                        } else if ( is_method("ACK") ) {
                                    route(NATMANAGE);
                        } else if ( is_method("NOTIFY") ) {
                                    record_route();
                        }
            route(RELAY);
            exit;
            }

            if (is_method("SUBSCRIBE") && uri == myself) {
                        route(PRESENCE);
                        exit;
            }
            if ( is_method("ACK") ) {
                        if ( t_check_trans() ) {
                                    route(RELAY);
                                    exit;
                        } else {
                                    exit;
                        }
            }
            sl_send_reply("404","Not here");
            exit;
}

route[NATMANAGE] {
        if(isflagset(FLT_PBX)) {
            handle_ruri_alias();
    }
    if(!isflagset(FLT_PBX)) {
        set_contact_alias();
    }       return;
}

route[DLGURI] {
            if(!isdsturiset()) {
                        handle_ruri_alias();
            }
            return;
}

branch_route[MANAGE_BRANCH] {
            route(NATMANAGE);
}

onreply_route[MANAGE_REPLY] {
            if(status=~"[12][0-9][0-9]") {
                        route(NATMANAGE);
            }
}
failure_route[MANAGE_FAILURE] {
            route(NATMANAGE);

            if (t_is_canceled()) exit;


-dan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200331/df0b8395/attachment.html>


More information about the sr-users mailing list