[SR-Users] nathelper without usrloc
Daniel-Constantin Mierla
miconda at gmail.com
Fri Apr 3 22:03:10 CEST 2020
OK, so there were some messages I still missed in the middle of the
discussion...
Can you get all log messages with debug=3 when the keepalive is
attempted to be sent?
Cheers,
Daniel
On 03.04.20 21:51, Daniel W. Graham wrote:
>
> I resolved all of the routing issues. Only issue I’ve got now is
> nat_keepalive not working when used with set/add_contact_alias().
>
>
>
> -dan
>
>
>
>
>
> *From: *"miconda at gmail.com" <miconda at gmail.com>
> *Reply-To: *"miconda at gmail.com" <miconda at gmail.com>
> *Date: *Friday, April 3, 2020 at 1:43 PM
> *To: *Daniel Graham <dan at cmsinter.net>, "Kamailio (SER) - Users
> Mailing List" <sr-users at lists.kamailio.org>
> *Subject: *Re: [SR-Users] nathelper without usrloc
>
>
>
> Somehow I thought that the keepalive is not working and you look for
> fixing it. Now I read the full thread and actually the routing of
> requests within dialog doesn't work.
>
> Can you send a pcap with such a call taken on Kamailio system? ACK and
> BYE should be routed based on Contact of INVITE/200ok and record-route
> headers, no longer related to REGISTER (only initial INVITE should
> rely on registration data).
>
> Cheers,
> Daniel
>
> On 02.04.20 22:11, Daniel W. Graham wrote:
>
> Same behavior with add_contact_alias()
>
>
>
> -dan
>
>
>
>
>
> *From: *"miconda at gmail.com" <mailto:miconda at gmail.com>
> <miconda at gmail.com> <mailto:miconda at gmail.com>
> *Reply-To: *"miconda at gmail.com" <mailto:miconda at gmail.com>
> <miconda at gmail.com> <mailto:miconda at gmail.com>
> *Date: *Thursday, April 2, 2020 at 2:59 PM
> *To: *"Kamailio (SER) - Users Mailing List"
> <sr-users at lists.kamailio.org>
> <mailto:sr-users at lists.kamailio.org>, Daniel Graham
> <dan at cmsinter.net> <mailto:dan at cmsinter.net>
> *Subject: *Re: [SR-Users] nathelper without usrloc
>
>
>
> Hello,
>
> can you try with add_contact_alias() instead of
> set_contact_alias()? The second one updates the contact URI in a
> way that is visible for the couple of local modules immediately,
> typically needed when having dialog/presence module in that
> instance (still no changes to the header itself, it uses some
> internal mechanism to signal contact value should be taken from a
> special field). The first one uses the lumps system that makes the
> changes over the contact URI not visible immediately (unless
> msg_apply_changes() is used).
>
> Maybe nat_keepalive() needs the original contact URI, not the one
> updated by set_contact_alias().
>
> Cheers,
> Daniel
>
> On 02.04.20 18:45, Daniel W. Graham wrote:
>
> I was able to fix all issues, but have one partially lingering.
>
>
>
> For register only, if I apply: set_contact_alias() with
> nat_keepalive(), keepalives are not sent. Removing
> set_contact_alias() fixes this.
>
>
>
> I *shouldn’t need this if the pbx was saving received and
> rport params as a result of add_path_received().
>
>
>
> Can anyone explain why these two functions conflict?
>
>
>
> Test scenario -
>
> # Doesn’t result in register keepalive –
>
>
>
> route[NATDETECT] {
>
> force_rport();
> set_contact_alias(); # removal of this enables keepalive
> nat_keepalive();
> return;
> }
>
>
>
> I’ve tested this with and without calls to handle_ruri_alias()
> elsewhere in cfg script with same result.
>
>
>
> -dan
>
>
>
> *From: *sr-users <sr-users-bounces at lists.kamailio.org>
> <mailto:sr-users-bounces at lists.kamailio.org> on behalf of
> Sergiu Pojoga <pojogas at gmail.com> <mailto:pojogas at gmail.com>
> *Reply-To: *"Kamailio (SER) - Users Mailing List"
> <sr-users at lists.kamailio.org> <mailto:sr-users at lists.kamailio.org>
> *Date: *Wednesday, April 1, 2020 at 8:58 AM
> *To: *"Kamailio (SER) - Users Mailing List"
> <sr-users at lists.kamailio.org> <mailto:sr-users at lists.kamailio.org>
> *Subject: *Re: [SR-Users] nathelper without usrloc
>
>
>
> Nothing else comes to mind based on info provided. May be you
> can send some sip traffic captures and elaborate?
>
>
>
> Regards,
>
> --Sergiu
>
>
>
> On Tue, Mar 31, 2020 at 10:29 PM Daniel W. Graham
> <dan at cmsinter.net <mailto:dan at cmsinter.net>> wrote:
>
> Thanks, yeah I had already changed that, but registration
> works with either. I’m not asking for a solution, just
> looking for suggestions on anything that needs attention,
> so I appreciate your pointers.
>
>
>
> -dan
>
> On Mar 31, 2020, at 8:55 PM, Sergiu Pojoga
> <pojogas at gmail.com <mailto:pojogas at gmail.com>> wrote:
>
>
>
> 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 <mailto: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 <mailto: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
> <mailto: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 <mailto: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><mailto: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><mailto: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
> <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
> <mailto: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
> <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
> <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
> <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
> <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 <mailto:sr-users at lists.kamailio.org>
>
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> --
>
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>
> --
> Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
> www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200403/d1a3a033/attachment.html>
More information about the sr-users
mailing list