[SR-Users] Double port in TO header
Noah Mehl
noahmehl at gmail.com
Fri Oct 30 16:56:57 CET 2020
Daniel,
Thank you for the writeup. I tried the following:
tcp_reuse_port=yes
It did not seem to make any difference, in terms of using port 5060. I built and am running on kernel: 4.19.0-12. Do I need to do something special when I build kamailio for this feature?
It’s definitely my preference that Kamailio send requests from tcp port 5060 if that’s a listen port (I am also looking into the issue with Freeswitch separately).
I’m not entirely sure how Kamailio is supposed to *pick* 5060, as I have 3 tcp ports in my config (TCP on 5060, TLS on 5061, and TLS on 443).
Thanks!
~Noah
> On Oct 29, 2020, at 6:22 PM, Alex Balashov <abalashov at evaristesys.com> wrote:
>
> Hello,
>
> confirming what Henning said that dispatcher is not using uac module,
> not to be any doubt about that. Actually, uac modules uses some of the
> TM-UAC functions as dispatcher module, but between dispatcher and uac
> module is no relation, no dependency. Sockets can be enforced in
> dispatcher via socket attribute (I think is also a modparam for a global
> need), however see next remarks about what can happen.
>
> Besides that, I am writing to add on the original topic related to tcp
> local ports. Tipically they have nothing to do with the listen port
> (5060), the force socket for TCP is mainly a best-effort to use at least
> the same network interface, but the OS/kernel may use a different one,
> based on IP routing rules and priorities. The local ports are selected
> from ephemeral ports range, searching the web should reveal more details
> about, for example:
>
> *
> https://superuser.com/questions/1118735/how-are-source-ports-determined-and-how-can-i-force-it-to-use-a-specific-port
>
> On newer kernels there is an option to try to reuse ports even for tcp
> (which was possible for UDP before, but not for TCP), kamailio has a
> core parameter to enable it. See if enabling that gives what is wanted.
> But if one thinks of firewall rules, for tcp it should allow based on IP
> and eventually the ephemeral ports range of the source (which is hard to
> figure out if it is not another fully managed system).
>
> Olle added relevant details, adding a bit more: the port in Via header
> is for "connect back here if the connection of the request is no longer
> available", otherwise the connection is reused and Via address is more
> for aesthetic purposes (e.g., think also about a device behind nat that
> has via with private ip address, in such case is not possible to connect
> back at all).
>
> Cheers,
> Daniel
>
> On 30.10.20 09:05, Henning Westerholt wrote:
>> Hi Alex,
>>
>> this is not correct. The dispatcher module uses the uac function from TM module for the generation and sending out of OPTIONS requests.
>>
>> So setting the mentioned function from the uac module will probably not help.
>>
>> Cheers,
>>
>> Henning
>>
>> --
>> Henning Westerholt – https://skalatan.de/blog/
>> Kamailio services – https://gilawa.com
>>
>> -----Original Message-----
>> From: sr-users <sr-users-bounces at lists.kamailio.org> On Behalf Of Alex Balashov
>> Sent: Thursday, October 29, 2020 9:11 PM
>> To: sr-users at lists.kamailio.org
>> Subject: Re: [SR-Users] Confusion about TCP worker ports
>>
>> On 10/29/20 3:57 PM, Noah Mehl wrote:
>>
>>> Is there no way to send the requests from the listen port?
>> The OPTIONS pinging dispatcher does internally is opaque, so I'm not sure.
>>
>> However, the source shows that dispatcher uses the UAC module for its internally generated OPTIONS pings, which is sensible:
>>
>> https://github.com/kamailio/kamailio/blob/master/src/modules/dispatcher/dispatch.c#L3445
>>
>> If so, it stands to reason that loading 'uac' and setting this modparam may have some effect:
>>
>> https://kamailio.org/docs/modules/5.4.x/modules/uac.html#uac.p.default_socket
>>
>> I am not sure if it applies only to requests synthesised within the config script and sent using uac_req_send(), or to any requests constructed by the UAC module, though.
>>
>>> And if they’re not going to come from the listen port, can you please
>>> help me with the a way to update the message for the worker chosen
>>> rport?
>> Try the above and see if it does anything.
>>
>> -- Alex
>>
>> --
>> Alex Balashov | Principal | Evariste Systems LLC
>>
>> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
>> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> --
> Daniel-Constantin Mierla -- www.asipto.com
> www.twitter.com/miconda -- www.linkedin.com/in/miconda
> Funding: https://www.paypal.me/dcmierla
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
More information about the sr-users
mailing list