I pushed a commit to master branch trying to catch the use of
add_local_rport() in the event route and trigger a rebuild of via. If
you have time to test with master branch, let us know if works or not.
Your solution is ok as well.
Cheers,
Daniel
On 11.11.20 21:28, Jetse Verschuren wrote:
Thanks for your quick response,
Unfortunately add_local_rport() didn't work, but
event_route[tm:loal-request] did work. In the end I manually changed
the header (see below), not the prettiest solution, but it works.
event_route [tm:local-request] {
xlog("L_INFO", "Routing locally generated $rm to $ru\n");
if (is_method("REGISTER")) {
xlog("L_INFO", "Adding rhost parameter to REGISTER
request\n");
# Add rport parameter to Via header
assign_hf_value("Via", "$hdr(Via);rport");
}
}
Thanks again,
Jetse
On Wed, Nov 11, 2020 at 9:42 AM Daniel-Constantin Mierla
<miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
Hello,
try to catch uac registrations requests inside
event_route[tm:local-requests] and use add_local_rport() for them
-- not sure it works because I haven't tracked in the code, given
that add_local_rport() was intended for forwarding incoming
requests, but it is a chance it does.
Cheers,
Daniel
On 11.11.20 08:38, Jetse Verschuren wrote:
Hi,
I'm currently trying to connect Kamailio, running in docker, to
my FritzBox. The FritzBox is the modem provided by my ISP, with a
builtin voip server which I can use to dial out (basically a PSTN
gateway). In my setup I have a custom router/firewall/NAT between
the FritzBox and the server.
When I connect LinPhone to the FritzBox, from behind the NAT, it
works fine. But when I use the Kamailio uac remote registration,
I don't get a response. After some investigation with wireshark,
I found that the the SIP response from the FritzBox comes on the
wrong port, and gets rejected by the NAT. The request comes from
port 1025, but the response is sent to port 5060. I compared the
requests from LinPhone and Kamailio, and combined with some
research, found it probably was the rport option in the VIA
header. From what I read, it basically signals the uas to use the
source port to reply to, instead of the port indicated in the
request, which would be necessary to effectively go through a NAT.
After reading a lot of documentation (and even parts of the
source), I wasn't able to find an option to enable this option.
Is there some option I completely missed, or is it not possible?
Or am I completely wrong in my "diagnosis"?
Thanks in advance,
Jetse
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org <mailto:sr-users@lists.kamailio.org>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
<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>
Funding:
https://www.paypal.me/dcmierla <https://www.paypal.me/dcmierla>