[SR-Users] nat_uac_test not recognized command in onreply_route

Andrew Chen achen at fuze.com
Sat Jan 5 04:01:52 CET 2019


That's what I did.  I commented out the whole onreply_route[WS_REPLY] and
moved the if statement inside the route block.  when I restarted, no
errors.  This onreply_route block is a direct copy and paste from the wiki
page.

On Fri, Jan 4, 2019 at 5:05 PM Henning Westerholt <hw at kamailio.org> wrote:

> Am Freitag, 4. Januar 2019, 01:28:23 CET schrieb Andrew Chen:
> > Yup.  The default configuaration already have the nathelper.so loaded.
> > Plus, there are other places in the config where nat_uac_test was called
> > but never error out.
>
> Hi Andrew,
>
> sounds strange. I would suggest to minimize the configuration step by step
> to
> find out the issue. Maybe it is some other error nearby that confuses the
> cfg
> parser (just guessing).
>
> Best regards,
>
> Henning
>
> > On Thu, Jan 3, 2019 at 5:39 PM Sergey Okhapkin <sos at sokhapkin.dyndns.org
> >
> >
> > wrote:
> > > Did you load the module?
> > >
> > > On Thursday, January 3, 2019 5:27:12 PM EST Andrew Chen wrote:
> > >
> > > Hey it's me again.
> > >
> > >
> > > So I'm following the instructions in the Kamailio 5.1.x wiki module
> page
> > > for websocket configuration and it specifically mention to set this
> block:
> > >
> > >
> > > onreply_route[WS_REPLY] {
> > >
> > >         xlog("L_INFO", "[CSeq $cs] Is in WS_REPLY.");
> > >
> > >         xlog("L_INFO", "[CSeq $cs] Sending $rs $rr to $sel(via[2].host)
> > >
> > > via $sel(via[2].transport) len: $ml");
> > >
> > >         xlog("L_INFO", "[CSeq $cs] \n$mb \n");
> > >
> > >
> > >         if(nat_uac_test("64")) {
> > >
> > >                 # Do NAT traversal stuff for replies to a WebSocket
> > >
> > > connection
> > >
> > >                 # - even if it is not behind a NAT!
> > >
> > >                 # This won't be needed in the future if Kamailio and
> the
> > >
> > >                 # WebSocket client support Outbound and Path.
> > >
> > >                 add_contact_alias();
> > >
> > >         }
> > >
> > > }
> > >
> > >
> > > When I did this and started up Kamailio, it gave me an error:
> > >
> > >
> > > Jan  3 22:19:43 sjomainkama55 kamailio: ERROR: <core>
> [core/cfg.y:3309]:
> > > yyparse(): cfg. parser: failed to find command nat_uac_test (params 1)
> > >
> > >
> > > I moved that if statement to a route block and I was able to start it
> up.
> > >
> > >
> > > The wiki page for nathelper module specify this function can be run in
> > > onreply_route as well:
> > >
> > >
> > >
> > > 5.5.  nat_uac_test(flags)
> > >
> > > Tries to guess if client's request originated behind a nat. The
> parameter
> > > determines what heuristics is used.
> > >
> > > Meaning of the flags is as follows:
> > >    - 1 - The “Contact” header field is searched for occurrence of
> RFC1918
> > >    or RFC6598 addresses.
> > >    - 2 - the "received" test is used: address in the “Via” header is
> > >    compared against source IP address of signaling
> > >    - 4 - The Top Most “Via” is searched for occurrence of RFC1918 or
> > >    RFC6598 addresses
> > >    - 8 - The SDP is searched for occurrence of RFC1918 or RFC6598
> > >    addresses
> > >    - 16 - Test if the source port is different from the port in
> > >    the “Via” header
> > >    - 32 - Test if the source IP address of signaling is a RFC1918 or
> > >    RFC6598 address
> > >    - 64 - Test if the source connection of signaling is a WebSocket
> > >    - 128 - Test if the “Contact” header URI port differs from the
> source
> > >    port of the request (Warning: this is might be legal or even
> intended
> > >    combination in non NATted scenarios)
> > >
> > > All flags can be bitwise combined, the test returns true if any of the
> > > tests identified a NAT.
> > >
> > > This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
> > > FAILURE_ROUTE, BRANCH_ROUTE.
> > >
> > >
> > > is this some known bug in 5.1.x?
> > >
> > > Thanks
> > >
> > >
> > > --
> > >
> > > Andy Chen
> > >
> > > achen@ <achen at thinkingphones.com>fuze.com
>
>
> --
> Henning Westerholt - https://skalatan.de/blog/
> Kamailio services - https://skalatan.de/services
> Kamailio security assessment - https://skalatan.de/de/assessment
>


-- 
Andy Chen
Sr. Telephony Lead Engineer
415 516 5535 (M)
achen@ <achen at thinkingphones.com>fuze.com

-- 
*Confidentiality Notice: The information contained in this e-mail and any

attachments may be confidential. If you are not an intended recipient, you

are hereby notified that any dissemination, distribution or copying of this

e-mail is strictly prohibited. If you have received this e-mail in error,

please notify the sender and permanently delete the e-mail and any

attachments immediately. You should not retain, copy or use this e-mail or

any attachment for any purpose, nor disclose all or any part of the

contents to any other person. Thank you.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190104/4d5b0cc3/attachment.html>


More information about the sr-users mailing list