[SR-Users] nat_uac_test not recognized command in onreply_route

Daniel-Constantin Mierla miconda at gmail.com
Mon Jan 7 15:06:16 CET 2019


Hello,

there seems to be something wrong in your config with loading the
nathelper module, can you check if you have proper #!ifdef ... #!endif
blocks?

Try to run it with debug=3 and see if you can spot more hints via the
DEBUG messages printed in the logs...

Cheers,
Daniel

On 07.01.19 14:44, Andrew Chen wrote:
> Hi Daniel,
>
> Here is all of it:
>
> Jan  3 18:33:01 sjomainkama55 systemd[1]: Stopped Kamailio (OpenSER) -
> the Open Source SIP Server.
> Jan  3 18:33:01 sjomainkama55 systemd[1]: Starting Kamailio (OpenSER)
> - the Open Source SIP Server...
> Jan  3 18:33:01 sjomainkama55 kamailio: ERROR: <core>
> [core/cfg.y:3309]: yyparse(): cfg. parser: failed to find command
> nat_uac_test (params 1)
> Jan  3 18:33:01 sjomainkama55 kamailio: CRITICAL: <core>
> [core/cfg.y:3449]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1093, column 28: unknown command,
> missing loadmodule?
> Jan  3 18:33:01 sjomainkama55 kamailio: ERROR: <core>
> [core/cfg.y:3309]: yyparse(): cfg. parser: failed to find command
> add_contact_alias (params 0)
> Jan  3 18:33:01 sjomainkama55 kamailio: CRITICAL: <core>
> [core/cfg.y:3449]: yyerror_at(): parse error in config file
> /etc/kamailio/kamailio.cfg, line 1098, column 35: unknown command,
> missing loadmodule?
> Jan  3 18:33:01 sjomainkama55 kamailio[12334]: ERROR: bad config file
> (2 errors)
>
> I just realized it missed the add_contact_alias as well.   This is the
> config in the Websocket module page which I copy and pasted:
> onreply_route[WS_REPLY] {
>         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();
>         }
> }
>
>
> On Mon, Jan 7, 2019 at 3:42 AM Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Hello,
>
>     nat_uac_test(...) is allowed in the reply route block. The error
>     is not about using the function in an invalid route block, but 
>     that the function is not found by name and 1 parameter.
>
>     Were there other error messages before the one you pasted in your
>     message?
>
>     Cheers,
>     Daniel
>
>     On 04.01.19 01:28, Andrew Chen wrote:
>>     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.
>>
>>     On Thu, Jan 3, 2019 at 5:39 PM Sergey Okhapkin
>>     <sos at sokhapkin.dyndns.org <mailto: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@ <mailto:achen at thinkingphones.com>fuze.com
>>         <http://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.*
>>
>>
>>
>>         _______________________________________________
>>         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
>>
>>
>>
>>     -- 
>>     Andy Chen
>>     Sr. Telephony Lead Engineer
>>     415 516 5535 (M)
>>     achen@ <mailto:achen at thinkingphones.com>fuze.com <http://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.*
>>
>>     _______________________________________________
>>     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>
>     Kamailio World Conference - May 6-8, 2019 -- www.kamailioworld.com <http://www.kamailioworld.com>
>     Kamailio Advanced Training - Mar 4-6, 2019 in Berlin; Mar 25-27, 2019, in Washington, DC, USA -- www.asipto.com <http://www.asipto.com>
>
>
>
> -- 
> Andy Chen
> Sr. Telephony Lead Engineer
> 415 516 5535 (M)
> achen@ <mailto:achen at thinkingphones.com>fuze.com <http://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.* 

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - May 6-8, 2019 -- www.kamailioworld.com
Kamailio Advanced Training - Mar 4-6, 2019 in Berlin; Mar 25-27, 2019, in Washington, DC, USA -- www.asipto.com

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


More information about the sr-users mailing list