[SR-Users] nathelper without usrloc

Sergiu Pojoga pojogas at gmail.com
Wed Apr 1 02:54:36 CEST 2020


Oh and almost forgot - try *add_path_received()* instead of add_path()

Good luck!

On Tue, Mar 31, 2020 at 8:48 PM Sergiu Pojoga <pojogas at gmail.com> wrote:

> A lot of things may not be 'right' here, unfortunately your question is
> too broad to answer and too little info, the topology is indeed non-default
> and I doubt someone will present you with a final solution (there's
> business support, if you're looking for that).
>
> Otherwise, if I were to just throw a guess:
> - try fix_nated_register() (instead of set_contact_alias) just for
> Register method on the way to the registrar
> - in the Registrar, make sure the Contact's Path address is correct
>
> Cheers,
> --Sergiu
>
> On Tue, Mar 31, 2020 at 7:34 PM Daniel W. Graham <dan at cmsinter.net> wrote:
>
>> It did help, I read that a couple times already but something is still
>> not right, and its only because of the decoupling of the registrar. I need
>> to do more debugging and see if Im loosing the flag value. Hoping something
>> sticks out that someone sees and can point me in the right direction.
>>
>> -dan
>>
>> On Mar 31, 2020, at 7:15 PM, Alex Balashov <abalashov at evaristesys.com>
>> wrote:
>> >
>> > Daniel,
>> >
>> > Might this article be of aid?
>> >
>> >
>> http://www.evaristesys.com/blog/server-side-nat-traversal-with-kamailio-the-definitive-guide/
>> >
>> > -- Alex
>> >
>> >> On Tue, Mar 31, 2020 at 11:12:23PM +0000, Daniel W. Graham wrote:
>> >>
>> >> It does but doesn't work as well as kamailio, and since the proxy is
>> the entry point.
>> >>
>> >> The biggest issue here isnt the keepalive, as I did have that working.
>> The main issue is the routing of messages, utilizing set_contact_alias and
>> handle_ruri_alias, as Ive been unable to get ack and bye messages to make
>> it past the proxy. I’m assuming these functions are not being used at the
>> right locations or I need to rely on another mechanism to accomplish it. I
>> also question my use of the PBX flag and the natmanage logic.
>> >>
>> >> -dan
>> >>
>> >> On Mar 31, 2020, at 7:01 PM, Sergiu Pojoga <pojogas at gmail.com> wrote:
>> >>
>> >> 
>> >> Hi Daniel,
>> >>
>> >> From what you are describing, my understanding is that the Registrar
>> is the PBX, kamailio is acting as an edge proxy. If so, doesn't the
>> PBX/registrar have NAT traversal/keepalive mechanisms of its own?
>> >>
>> >> Regards,
>> >> --Sergiu
>> >>
>> >> On Tue, Mar 31, 2020 at 1:55 PM Daniel W. Graham <dan at cmsinter.net
>> <mailto:dan at cmsinter.net>> wrote:
>> >> 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
>> >>
>> >> _______________________________________________
>> >> Kamailio (SER) - Users Mailing List
>> >> sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>
>> >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> >> _______________________________________________
>> >> Kamailio (SER) - Users Mailing List
>> >> sr-users at lists.kamailio.org
>> >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> >
>> >> _______________________________________________
>> >> Kamailio (SER) - Users Mailing List
>> >> sr-users at lists.kamailio.org
>> >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> >
>> >
>> > --
>> > Alex Balashov | Principal | Evariste Systems LLC
>> >
>> > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
>> > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>> >
>> > _______________________________________________
>> > Kamailio (SER) - Users Mailing List
>> > sr-users at lists.kamailio.org
>> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200331/704f20be/attachment.html>


More information about the sr-users mailing list