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
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@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
*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@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
*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@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- 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