If you just strip the incoming ;transport=tcp attribute, I think all should be 
well when t_relay() consumes the modified RURI.

> On 7 Mar 2024, at 12:48, Alberto Diez via sr-users 
> <sr-users@lists.kamailio.org> wrote:
> 
> Hi Sergiu,
> yes I am pretty sure something is going wrong.
> I do have kamailio listening udp sockets and also the dispatcher is on UDP 
> doing SIP OPTIONS over UDP all the time without any problem.
> I have not tried forcing the socket I tried to find out why kamailio is 
> trying to use TCP with the targets even when I use t_relay_to_udp and that's 
> how I ended up finding that function which claims not to do something if 
> next_hop is 0 but doing it nevertheless (which I guess is something going 
> wrong in general in Kamailio not in particular in my setup).
> I will try forcing the socket, but that crazy tm module function rewrites the 
> socket was already given as a destination (yes I already checked that in the 
> C code before!)
> Best regards
> alberto
> El 07/03/2024 a las 17:43, Sergiu Pojoga escribió:
>> You must be doing something essentially wrong if it came down to checking C 
>> functions for something as trivial as transport conversion..
>> 
>> Are you sure you have a UDP listening socket?
>> kamcmd corex.list_sockets
>> 
>> Result of:
>> kamcmd dispatcher.list
>> 
>> Have you tried forcing the send socket?
>> https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#fs_-_forced_send_socket
>> 
>> Cheers
>> 
>> On Thu, Mar 7, 2024 at 11:27 AM Alberto Diez via sr-users 
>> <sr-users@lists.kamailio.org> wrote:
>> Hi kamailio community,
>> 
>> I have an issue with a Kamailio 5.7. It's listening both in TCP and 
>> UDP.  In my scenario requests arrive from devices on TCP, but I want to 
>> forward to the next hops on UDP.  I am avoiding using any type of DNS 
>> resolution; since I am always forwarding to predefined next hops I am 
>> using the dispatcher module (defined with the IP addresses and 
>> transport=udp) or I wrote config files using t_relay_to_udp or 
>> t_relay_to with a udp:  followed by IP address. I never set up FQDNS 
>> only IP addresses and in all of them I explicitly mention UDP.
>> 
>> In all of these scenarios I have tried Kamailio insists in trying to use 
>> TCP  with the next hop and failing because the next_hop is only UDP. I 
>> guess because the message arrived using TCP Kamilio does that but I find 
>> the behavior very confusing.
>> 
>> I nailed down that in my situation its the tm module function 
>> prepare_new_uac (in  file src/modules/tm/t_fwd.c line 119) being the one 
>> that missbehaves. The documentation of the function says literraly :
>> 
>> "* t->uac[branch].request.dst will be filled if next_hop !=0 with the result
>>   * of the DNS resolution (next_hop, fproto and fsocket).
>>   * If next_hop is 0 all the dst members except the send_flags are read-only
>>   * (send_flags it's updated) and are supposed to be pre-filled."
>> 
>> I found out that even when next_hop is 0  the function changes the 
>> t->uac[branch].request.dst  proto, socket etc.  its there that the 
>> kamailio takes the wrong decision, until that function is called within 
>> add_auc,  the destination proto or the fproto etc is always 1 (UDP) 
>> which is what I am trying to force from the config file or the 
>> dispatcher definition (I tried both ways).  But after calling that 
>> function then it comes as a 2 (TCP)
>> 
>> The problematic function is a monster of 500 lines and I would like to 
>> avoid having to understand it. Since I think the scenario is not so 
>> unusual I just want to ask if maybe I am missing something that I should 
>> do to avoid the Kamailio to select TCP and in order to have the tm 
>> module respecting my preference for UDP (either with dispatcher module 
>> and the transport param or with t_relay_to or t_relay_to_udp  I don't 
>> care the way).
>> 
>> Any hints are welcome.
>> 
>> Best regards
>> 
>> alberto
>> 
>> __________________________________________________________
>> Kamailio - Users Mailing List - Non Commercial Discussions
>> To unsubscribe send an email to sr-users-le...@lists.kamailio.org
>> Important: keep the mailing list in the recipients, do not reply only to the 
>> sender!
>> Edit mailing list options or unsubscribe:
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
> To unsubscribe send an email to sr-users-le...@lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the 
> sender!
> Edit mailing list options or unsubscribe:

-- 
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:

Reply via email to