[SR-Users] nat_uac_test not recognized command in onreply_route

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


Welcome, good it was figured out!

Daniel

On 07.01.19 15:18, Andrew Chen wrote:
> Ah you are right.  I did somehow not define WITH_NAT for some reason. 
> thanks!
>
> On Mon, Jan 7, 2019 at 9:06 AM Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     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 <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/2bef023e/attachment.html>


More information about the sr-users mailing list