[OpenSIPS-Users] Port changes

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Feb 14 04:24:26 EST 2018


Hi Schneur,

I see at initial INVITE you have the same issue - the contact advertises 
the 34063 port, but the source IP is 1090; and you do 
fix_nated_contact(). So, based on the initial contact, you learned that 
the caller device is behind a NAT (or with a bogus ALG). The idea is to 
remember this (caller requires help) during the whole dialog (maybe 
using some dialog flags) and each time you receive a request / reply 
from it -> do the fix_nated_contact(). This will trigger the fix on the 
200 OK and to get a routable URI there.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Summit 2018
   http://www.opensips.org/events/Summit-2018Amsterdam

On 02/13/2018 12:16 PM, Schneur Rosenberg wrote:
> Bogdan its only happening when the clients SIP ALG fixes the contact,
> when the contact is broken I'm already using fix_nated_contact, do you
> think I should use fix_nated_contact even when the contact was already
> fixed by the SIP ALG?
>
> The clients router does not support disabling SIP ALG, I can try using
> a non standard port, I've sen some routers ALG ignoring the packets
> when sent to alternative port.
>
> On Tue, Feb 13, 2018 at 12:04 PM, Bogdan-Andrei Iancu
> <bogdan at opensips.org> wrote:
>> Hi Schneur,
>>
>> The ACK is routed back via the Route set (the Record Route headers from the
>> initial Invite) and the Contact received in the final reply (in the 200 OK
>> in your case). This is called in-dialog routing and is exclusively based on
>> Route set (RR headers + Contact).
>>
>> The rport as part of via is used only for routing back the replies for a
>> requests (in transaction routing) and has no impact on the in-dialog
>> routing.
>>
>> So, if the RURI in ACK (which should be the Contact in the received 200 OK)
>> is broken, maybe you should do a fix_nated_contact() for the Contact when
>> handling the 200 OK reply.
>>
>> Best regards,
>>
>> Bogdan-Andrei Iancu
>>
>> OpenSIPS Founder and Developer
>>    http://www.opensips-solutions.com
>> OpenSIPS Summit 2018
>>    http://www.opensips.org/events/Summit-2018Amsterdam
>>
>>
>> On 02/12/2018 05:05 PM, Schneur Rosenberg wrote:
>>> I have this interesting scenario, caller sends call to our OpenSIPS
>>> who actsd as a loadbalancer which sends the call to a gateway for
>>> termination and the gateway sets Session-Expires: 1800;refresher=uas,
>>> the caller sends call the call through port 1090 and the rport in the
>>> Via shows rport=1090 and so far everything is ok, but after 15 minutes
>>> the gateway sends a reinvite,  OpenSIPS sends it to the client and the
>>> client sends a OK and OpenSIPS properly sends the OK to the gateway,
>>> the gateway sends a ACK to OpenSIPS, but here the problem starts
>>> OpenSIPS sends the ACK to the port in the Contact header which is not
>>> the same port as the rport, the clients router does not recognize the
>>> packet and blocks it, the client sends multiple OK's to OpenSIPS who
>>> ignores it because he has already moved on, as far as OpenSIPS is
>>> concerned the ACK has already been sent to the next hop, and after
>>> approx 30 seconds the client does not receive the ACK and sends a BYE
>>> and the call terminates.
>>>
>>> Why is OpenSIPS changing the port to the Contact port? and what can I
>>> do to fix it?<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
>>> <table style="border-top: 1px solid #D3D4DE;">
>>>          <tr>
>>>           <td style="width: 55px; padding-top: 13px;"><a
>>>
>>> href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
>>> target="_blank"><img
>>>
>>> src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png"
>>> alt="" width="46" height="29" style="width: 46px; height: 29px;"
>>> /></a></td>
>>>                  <td style="width: 470px; padding-top: 12px; color:
>>> #41424e;
>>> font-size: 13px; font-family: Arial, Helvetica, sans-serif;
>>> line-height: 18px;">Virus-free. <a
>>>
>>> href="http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail"
>>> target="_blank" style="color: #4453ea;">www.avg.com</a>
>>>                  </td>
>>>          </tr>
>>> </table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1"
>>> height="1"></a></div>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>




More information about the Users mailing list