[OpenSIPS-Devel] [opensips] Allow TCP without transport=tcp header (#420)

Bogdan Andrei IANCU notifications at github.com
Thu Mar 5 12:51:33 CET 2015


Hi, let me explain first how things do work, and then we can see how to change :) - I agree that things may be simpler (for user understanding/usage) and may be improved.

So, right now the outgoing protocol is determined based on next hop URI and the set network socket. What @oteren said is correct - the "transport=TCP" does not have anything to do with the received proto, but it indicates the proto to be used to reach that URI (so it is not about the inbound proto, but about outbound proto).
OpenSIPS looks for the "transport" param in target URI to see if there is any special protocol requested for the next hop URI. This is correlated withe the protocol from the requested net socket (via force_send_socket) -> if they conflict, the proto URI has priority; if one in NONE, the other one will win.
No proto explicitly requested -> UDP will be used.
So, the outbound protocol can be right now controlled via the transport URI param (this actually makes that protocol a must and gives no fallback posibility) or via the used netowork interface ( you can do force_send_socket("tcp:.....") - if the URI does not forces another proto, the socket proto will be used). I would say this force_send_socket() is closest to what you need (setting a preferred transport proto without messing with the sip message), but has no fallback to another proto.

Maybe adding a new function like set_preferred_proto(tcp, tls) - this will set the outbound protocol if none is forced by the target URI (via the transport param). It will allow you to change the default (which now is hardcoded to UDP) and to have a fallback. If TCP is not available, TLS will be used (like in your case when the DNS based proto selection did not return anything usable).

Looking forward for input and comments :)

Regards,
Bogdan
 

---
Reply to this email directly or view it on GitHub:
https://github.com/OpenSIPS/opensips/issues/420#issuecomment-77351332
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20150305/37c9cdb5/attachment.htm>


More information about the Devel mailing list