I discussed this with Alex Balashov off-line, and he
answered my
questions:
1. A flag of 3, I don’t understand. I read the documentation
<http://kamailio.org/docs/modules/4.4.x/modules/nathelper.html#nathelper.f.nat_uac_test>,
and there is a 1,2,4,8,etc… So, I’m guessing that a flag of 3,
means 1+2?
Yes, apparently this is a bit
array:
https://en.wikipedia.org/wiki/Bit_array and a value of 3 = 1+2.
2. If #1 is true, then "the
"received" test is used: address in
the “Via” header is compared against source IP address of signaling”
1. I don’t understand this test, as I’m pretty sure that the
200OK that’s getting re-written is properly constructed. I
guess I’m trying to understand when one would want to use
this test?
Although we weren’t able to come up with an example for this test, it
does not seem to apply to my environment. Updating the flag to 1
solves my issue.
This is when the sip message was sent from a.b.c.d and the Via
header
has x.y.z.w. if you get a pcap with the request, we can check and see if
the test is true for it.
On the other hand, you should use
set_contact_alias()/handle_ruri_alias() instead of fix_nated_contact()
(see how default kamailio.cfg does it) -- it is safer for such cases and
avoids getting in troubles with devices that are strict in checking if
the r-uri is the contact they set previously.
Cheers,
Daniel
--
Daniel-Constantin Mierla