<div dir="ltr">Hi Bogdan,<div>Thanks for clarification, I'll try to monitor this and analyze it further!</div><div><br></div><div>In regards to 'it simply replace the host:port part of the contact with the src IP and port from network level' for example if request is coming from <a href="http://172.16.22.4:5060">172.16.22.4:5060</a> and Contact is set to 'sip:<a href="http://172.167.22.4:5060">172.167.22.4:5060</a>', would fix_nated_contact() just replace Contact with the same values? As it doesn't have any 'received' parameter to replace this Contact with? Thanks!</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, May 3, 2022 at 6:55 PM Bogdan-Andrei Iancu <<a href="mailto:bogdan@opensips.org">bogdan@opensips.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<font face="monospace">See inline</font><br>
<pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="https://www.opensips-solutions.com" target="_blank">https://www.opensips-solutions.com</a>
OpenSIPS eBootcamp 23rd May - 3rd June 2022
<a href="https://opensips.org/training/OpenSIPS_eBootcamp_2022/" target="_blank">https://opensips.org/training/OpenSIPS_eBootcamp_2022/</a></pre>
<div>On 5/3/22 11:40 AM, Yury Kirsanov
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Bogdan,
<div>Will fix_nated_register() overwrite results of a
fix_nated_contact()?</div>
</div>
</blockquote>
no, use either one, either the other, but not both in the same time
- see the docs for the nathelper module for details.<br>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div>Second question - for 'OPTIONS' where Contact is available
- should fix_nated_contact() replace it with the correct one?</div>
</div>
</blockquote>
yes, if you relay the OPTIONS<br>
<blockquote type="cite">
<div dir="ltr">
<div> Where exactly does this function take the value to replace
Contact with - from '$avp(received)' param?</div>
</div>
</blockquote>
no, it is taken from the network level, the src IP and port.<br>
<blockquote type="cite">
<div dir="ltr">
<div> So it won't do anything if, for example, OPTIONS packet
comes from my LAN Asterisk server and reaches the OpenSIPS LAN
interface?</div>
</div>
</blockquote>
the fix_nated_xxxX() does not do any testing, it simply replace the
host:port part of the contact with the src IP and port from network
level.<br>
<blockquote type="cite">
<div dir="ltr">
<div> Even though nat_uac_test(7) would confirm a RFC1918
private address fix_nated_contact() can't do much in this
case, is that correct? </div>
<div><br>
</div>
<div>Thanks a lot for your help!</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Yury.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, May 3, 2022 at 6:25 PM
Bogdan-Andrei Iancu <<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <font face="monospace">Hi Yury,<br>
<br>
For a REGISTER you should use the fix_nated_register()
function.<br>
<br>
Regards,<br>
</font>
<pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="https://www.opensips-solutions.com" target="_blank">https://www.opensips-solutions.com</a>
OpenSIPS eBootcamp 23rd May - 3rd June 2022
<a href="https://opensips.org/training/OpenSIPS_eBootcamp_2022/" target="_blank">https://opensips.org/training/OpenSIPS_eBootcamp_2022/</a></pre>
<div>On 5/2/22 8:07 PM, Yury Kirsanov wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Bogdan,
<div>No, nothing in OpenSIPS logs, unfortunately.</div>
<div><br>
</div>
<div>Here's another log, I'm doing 'fix_nated_register'
in this case at the REGISTER route and doing
'fix_nated_contact()' at the very beginning of my
script, just for the testing purpose.<br>
<br>
May 3 03:00:48 [REGISTER] [123456->123456]
Forwarding REGISTER from <a href="http://sip:123456@domain.com:5060" target="_blank">sip:123456@domain.com:5060</a>,
requested Expries: 60 to main registrar at sip:<a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a>
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [REPLY] [123456->123456]
REGISTER 401 Unauthorized FROM <a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a>
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [REGISTER] [123456->123456]
Request from 1XX.1XX.1XX.1XX:8001, domain <a href="http://domain.com" target="_blank">domain.com</a>
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [REGISTER] [123456->123456]
Forwarding REGISTER from <a href="http://sip:123456@domain.com:5060" target="_blank">sip:123456@domain.com:5060</a>,
requested Expries: 60 to main registrar at sip:<a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a>
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [REPLY] [123456->123456]
REGISTER 200 OK FROM <a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a>
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [REGREPLY] [123456->123456]
Reply from <a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a>,
code is 200 - OK, saving contact
(84327f479c5d50e1634422f72a0b7619)<br>
May 3 03:00:48 [EVENT] Inserting contact <a href="http://sip:123456@192.168.1.36:8001" target="_blank">sip:123456@192.168.1.36:8001</a>
(569f6c324981335e0b33daf8fc88ed77)<br>
May 3 03:00:51 [OPTIONS] OPTIONS request from <a href="http://172.16.4.22:5060" target="_blank">172.16.4.22:5060</a> to <a href="http://sip:123456@172.16.4.254:5060" target="_blank">sip:123456@172.16.4.254:5060</a>,
fu is <a>sip:123456@1XX.1XX.1XX.1XX</a><br>
May 3 03:00:51 [OPTIONS] [123456->123456]
SIP device <a href="mailto:sip%3A123456@172.16.4.254" target="_blank">sip:123456@172.16.4.254</a>
found, relaying to <a>sip:1XX.1XX.1XX.1XX:8001</a>
(76f4319976c85e45b2ff916581912550)<br>
</div>
<div><br>
</div>
<div>No errors in OpenSIPS logs. Here's output of
'opensips-cli -x mi fifo ul_dump':</div>
<div><br>
"AORs": [<br>
{<br>
"AOR": "123456",<br>
"Contacts": [<br>
{<br>
"Contact": "<a href="http://sip:123456@192.168.1.36:8001" target="_blank">sip:123456@192.168.1.36:8001</a>",<br>
"ContactID":
"3713509073413807284",<br>
"Expires": 47,<br>
"Q": "",<br>
"Callid": "6_3941098626",<br>
"Cseq": 2,<br>
"User-agent": "Yealink
SIP-T46G 28.83.0.120",<br>
"Received": <a>"sip:1XX.1XX.1XX.1XX:8001"</a>,<br>
"State": "CS_SYNC",<br>
"Flags": 0,<br>
"Cflags": "",<br>
"Socket":
"udp:1XX.1XX.1XX.1XX:5060",<br>
"Methods": 16383<br>
}<br>
]<br>
}<br>
</div>
<div><br>
</div>
<div>Thanks and best regards,</div>
<div>Yury.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, May 3, 2022 at
12:29 AM Bogdan-Andrei Iancu <<a href="mailto:bogdan@opensips.org" target="_blank">bogdan@opensips.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <font face="monospace">Hi,<br>
<br>
Are there any errors when the "fixing" is done?
The presence of a param should not impact here.<br>
<br>
Regards,<br>
Bogdan<br>
</font>
<pre cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a href="https://www.opensips-solutions.com" target="_blank">https://www.opensips-solutions.com</a>
OpenSIPS eBootcamp 23rd May - 3rd June 2022
<a href="https://opensips.org/training/OpenSIPS_eBootcamp_2022/" target="_blank">https://opensips.org/training/OpenSIPS_eBootcamp_2022/</a></pre>
<div>On 4/29/22 1:43 PM, Yury Kirsanov wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div>I'm using OpenSIPS 3.2.4 and recently run
into following issue:</div>
<div><br>
</div>
<div>Imagine simplest proxy setup - OpenSIPS
just accepts new packet, for example INVITE,
changes destination using 'sethostport(....)'
and then issues 't_relay()' to forward the
packet. Let's ignore replies and so on.</div>
<div><br>
</div>
<div>If I'm doing a 'fix_nated_contact()' before
sending this packet I'm expecting Contact:
field to be replaced with a source IP:port as
per manual. And this works if the Contact is
in simple form like '<a href="http://sip:7777777@192.168.29.106:65033" target="_blank">sip:7777777@192.168.29.106:65033</a>'.</div>
<div><br>
</div>
<div>But if following Contact comes in OpenSIPS
doesn't change it leaving private IP in the
contact:</div>
<div><br>
</div>
<div>'Contact: <a>sip:7777777@192.168.29.106:65033;rinstance=2f59b175103f1088</a>'<br>
</div>
<div><br>
</div>
<div>Can you please let me know why is that
happening? Thanks!<br>
</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Yury.</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote></div>