See inline

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS eBootcamp 23rd May - 3rd June 2022
  https://opensips.org/training/OpenSIPS_eBootcamp_2022/

On 5/3/22 11:40 AM, Yury Kirsanov wrote:
Hi Bogdan,
Will fix_nated_register() overwrite results of a fix_nated_contact()?
no, use either one, either the other, but not both in the same time - see the docs for the nathelper module for details.

Second question - for 'OPTIONS' where Contact is available - should fix_nated_contact() replace it with the correct one?
yes, if you relay the OPTIONS
Where exactly does this function take the value to replace Contact with - from '$avp(received)' param?
no, it is taken from the network level, the src IP and port.
So it won't do anything if, for example, OPTIONS packet comes from my LAN Asterisk server and reaches the OpenSIPS LAN interface?
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.
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?

Thanks a lot for your help!

Best regards,
Yury.

On Tue, May 3, 2022 at 6:25 PM Bogdan-Andrei Iancu <bog...@opensips.org <mailto:bog...@opensips.org>> wrote:

    Hi Yury,

    For a REGISTER you should use the fix_nated_register() function.

    Regards,

    Bogdan-Andrei Iancu

    OpenSIPS Founder and Developer
       https://www.opensips-solutions.com  <https://www.opensips-solutions.com>
    OpenSIPS eBootcamp 23rd May - 3rd June 2022
       https://opensips.org/training/OpenSIPS_eBootcamp_2022/  
<https://opensips.org/training/OpenSIPS_eBootcamp_2022/>

    On 5/2/22 8:07 PM, Yury Kirsanov wrote:
    Hi Bogdan,
    No, nothing in OpenSIPS logs, unfortunately.

    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.

    May  3 03:00:48 [REGISTER]      [123456->123456] Forwarding
    REGISTER from sip:123...@domain.com:5060
    <http://sip:123...@domain.com:5060>, requested Expries: 60 to
    main registrar at sip:172.16.4.22:5060 <http://172.16.4.22:5060>
    (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [REPLY]         [123456->123456] REGISTER 401
    Unauthorized FROM 172.16.4.22:5060 <http://172.16.4.22:5060>
    (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [REGISTER]      [123456->123456] Request from
    1XX.1XX.1XX.1XX:8001, domain domain.com <http://domain.com>
    (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [REGISTER]      [123456->123456] Forwarding
    REGISTER from sip:123...@domain.com:5060
    <http://sip:123...@domain.com:5060>, requested Expries: 60 to
    main registrar at sip:172.16.4.22:5060 <http://172.16.4.22:5060>
    (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [REPLY]         [123456->123456] REGISTER 200 OK
    FROM 172.16.4.22:5060 <http://172.16.4.22:5060>
    (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [REGREPLY]      [123456->123456] Reply from
    172.16.4.22:5060 <http://172.16.4.22:5060>, code is 200 - OK,
    saving contact (84327f479c5d50e1634422f72a0b7619)
    May  3 03:00:48 [EVENT] Inserting contact
    sip:123456@192.168.1.36:8001
    <http://sip:123456@192.168.1.36:8001>
    (569f6c324981335e0b33daf8fc88ed77)
    May  3 03:00:51 [OPTIONS]       OPTIONS request from
    172.16.4.22:5060 <http://172.16.4.22:5060> to
    sip:123456@172.16.4.254:5060
    <http://sip:123456@172.16.4.254:5060>, fu is
    sip:123456@1XX.1XX.1XX.1XX
    May  3 03:00:51 [OPTIONS]       [123456->123456] SIP device
    sip:123456@172.16.4.254 <mailto:sip%3A123456@172.16.4.254> found,
    relaying to sip:1XX.1XX.1XX.1XX:8001
    (76f4319976c85e45b2ff916581912550)

    No errors in OpenSIPS logs. Here's output of 'opensips-cli -x mi
    fifo ul_dump':

                "AORs": [
                    {
                        "AOR": "123456",
                        "Contacts": [
                            {
                                "Contact":
    "sip:123456@192.168.1.36:8001 <http://sip:123456@192.168.1.36:8001>",
                                "ContactID": "3713509073413807284",
                                "Expires": 47,
                                "Q": "",
                                "Callid": "6_3941098626",
                                "Cseq": 2,
                                "User-agent": "Yealink SIP-T46G
    28.83.0.120",
                                "Received": "sip:1XX.1XX.1XX.1XX:8001",
                                "State": "CS_SYNC",
                                "Flags": 0,
                                "Cflags": "",
                                "Socket": "udp:1XX.1XX.1XX.1XX:5060",
                                "Methods": 16383
                            }
                        ]
                    }

    Thanks and best regards,
    Yury.

    On Tue, May 3, 2022 at 12:29 AM Bogdan-Andrei Iancu
    <bog...@opensips.org <mailto:bog...@opensips.org>> wrote:

        Hi,

        Are there any errors when the "fixing" is done? The presence
        of a param should not impact here.

        Regards,
        Bogdan

        Bogdan-Andrei Iancu

        OpenSIPS Founder and Developer
           https://www.opensips-solutions.com  
<https://www.opensips-solutions.com>
        OpenSIPS eBootcamp 23rd May - 3rd June 2022
           https://opensips.org/training/OpenSIPS_eBootcamp_2022/  
<https://opensips.org/training/OpenSIPS_eBootcamp_2022/>

        On 4/29/22 1:43 PM, Yury Kirsanov wrote:
        Hi,
        I'm using OpenSIPS 3.2.4 and recently run into following issue:

        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.

        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 'sip:7777777@192.168.29.106:65033
        <http://sip:7777777@192.168.29.106:65033>'.

        But if following Contact comes in OpenSIPS doesn't change it
        leaving private IP in the contact:

        'Contact:
        sip:7777777@192.168.29.106:65033;rinstance=2f59b175103f1088'

        Can you please let me know why is that happening? Thanks!

        Best regards,
        Yury.

        _______________________________________________
        Users mailing list
        Users@lists.opensips.org  <mailto:Users@lists.opensips.org>
        http://lists.opensips.org/cgi-bin/mailman/listinfo/users  
<http://lists.opensips.org/cgi-bin/mailman/listinfo/users>



_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to